ハードウエアRAIDでは、writeキャッシュ、readキャッシュなどがRAIDコントローラで設定でき、書き込みであれば、ファイルキャッシュ→RAIDコントローラのキャッシュ→DISKといった順序で書き込みがおこなわれていると考えています。

ライトバックにするとファイルキャッシュ→RAIDコントローラのキャッシュまでで処理が完了するので性能向上ができるようになると認識しています。

一方、ソフトウエアRAIDでは、ハードウエアRAIDであるようなキャッシュというものは存在しないのでしょうか?
ソフトウエアRAIDのキャッシュはファイルキャッシュをつかっているのでしょうか?
つまり、ファイルキャッシュ→DISKの流れのみでしょうか?
ソフトウエアRAIDで書き込み性能を向上させる方法はあるのでしょうか。

カーネル2.6系Linuxです。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2009/06/02 16:21:53
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:randk No.1

回答回数77ベストアンサー獲得回数4

ポイント30pt

一般論ですが・・・。

ライトキャッシュは、キャッシュされた内容がディスクに書き出される前に消えてしまうと、データロストしてしまうので、不意の故障に耐えられるようにバッテリバックアップなどの保護機構が必要になります。

そのため、特殊な機器なしの純粋なS/W RAIDでライトキャッシュは困難です。

#ディスク書き込み性能を増すための遅延書き込みの仕組みなどはありますが、それはまたちょっと別のお話・・・。

ただし、S/W RAIDでもライトキャッシュを持つものもあります。

たとえば、SolarisのZFSというファイルシステムはライトキャッシュにSSD等の高速な不揮発デバイスを割り当ててファイルの読み書きを高速化することが可能です(まあこれもSSDなどのハードが必要です)。

http://jp.sun.com/communities/0612/feature01.html

Linuxのファイルシステムでは・・・寡聞にして聞いたことがないです・・・すいません。

消えてもいいデータ(作業用のデータなど)なら、ramfsでメモリ上ファイルシステムを作れば超高速になりますけど・・・。

id:user2864

回答ありがとうございます。

>Linuxのファイルシステムでは・・・寡聞にして聞いたことがないです・・・すいません。

なるほど・・・

>消えてもいいデータ(作業用のデータなど)なら、ramfsでメモリ上ファイルシステムを作れば超高速になりますけど・・・

それはそうですけど・・・^^;

2009/05/27 23:04:01
id:morethanjustase No.2

回答回数35ベストアンサー獲得回数5

ポイント40pt

> 一方、ソフトウエアRAIDでは、ハードウエアRAIDであるようなキャッシュというものは存在しないのでしょうか?

> ソフトウエアRAIDのキャッシュはファイルキャッシュをつかっているのでしょうか?

ソフトウェアRAIDの機能自体はキャッシュを持っていないと思います。

書き込み性能に効くキャッシュは、OSのバッファキャッシュでしょう。


> ソフトウエアRAIDで書き込み性能を向上させる方法はあるのでしょうか。

RAID5をお使いであれば、RAID1、RAID0、RAID1+0への変更で書き込み性能を向上できます。

他にはちょっと思いつきませんね。。。


RAIDレベルによる性能差については次のページが参考になります。

1つ目で紹介されている計測結果は、ハードウェアRAIDのRAIDレベルによる性能差ですが、

ソフトウェアRAIDでも同様の傾向になります。


HDDベンチマーク手順+性能測定結果一覧

http://plaza18.mbn.or.jp/~moriban/linux/HardDiskPerformance.html


HDDの実効速度測定

http://www.hpc.co.jp/hit/Bench/bench-HDD-2.htm

id:user2864

回答ありがとうございます。

>ソフトウェアRAIDの機能自体はキャッシュを持っていないと思います。

なるほど、そうなのですね。

>書き込み性能に効くキャッシュは、OSのバッファキャッシュでしょう。

カーネル2.6では,バッファ・キャッシュを完全に廃止され、

ディスク・キャッシュは全てページ・キャッシュに統合されているようです。

ページキャッシュ=ファイルキャッシュという認識でファイルキャッシュと書きました。

>RAID5をお使いであれば、RAID1、RAID0、RAID1+0への変更で書き込み性能を向上できます。

>他にはちょっと思いつきませんね。。。

そうですね・・・

ソフトウエアRAIDのキャッシュの仕組みが知りたかったという意図で質問を投げたので

RAIDレベルは別の話になりますが、普通に考えてRAID5はwriteペナルティがあるので書き込みは遅くなりますね。RAID1はミラーリングだけなので(DISKを分散できないので)読み書き合わせたRAIDによる性能向上をさせたいと考えている場合は対象外になりそうですね。

2009/05/28 10:38:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません