ZFS-特にRAIDZにおけるZILの役割と有用性について
- sawanoboly
- 15921
- 2
- 3
- 0
すいません、興味深いお話しだっのでtogetterさせていただきました。 RT @hasegaw: まさかのtogetterられ http://togetter.com/li/27526
2010-06-07 22:16:35@hasegaw 実はあまりわかってないのです。。 > ZIL効果。 ZFSのデバイスがNFSの先にあれば効果あるのでしょうが、そういうことではないんですよね? 普通にraidz + sharenfs で使った時に効果大、と解釈してますが。
2010-06-07 22:28:22@sawanoboly NFSの場合に効果が出やすいのは、たとえばtarでNFS領域にファイルを展開するときtcpdumpで眺めてみるとわかりますがNFSクライアントがファイル一つ一つクローズする際に静止化完了まで待つFSYNCフラグを建てるのです。
2010-06-07 22:32:17@sawanoboly 結果的に、たとえば数キロバイトのファイルを書き込むたびにディスクへのトランザクションを完了させないといけないわけです。ZFSをNFSエクスポートしてそこにapacheのtarballなり展開するとそのへん体感できるかと。
2010-06-07 22:34:12@sawanoboly RAID-Zを組むと、それらのデータを各ディスクにストライプするわけですが、そこで5kbのファイル書くたびにトランザクションをコミットするとなると、RAID-Zを構成するディスク全てにその証を書き込みにいくことになるわけですね。これは負荷が高い。
2010-06-07 22:35:42@hasegaw この場合はLOGに個別の十分に早いデバイスを指定している、という前提で良いのでしょうか、DATA用といっしょくたでなく。
2010-06-07 22:36:23@sawanoboly そこでZILがあると何がおきるか。ZILがある場合は、まずZILに「これからやること」を記録して、それが完了した時点で書き込み完了の返事を返すので、ディスク全てにコミットするよりもコストが低いわけです。
2010-06-07 22:37:43@sawanoboly ZIL上に溜まったデータは後でまとめてプールに反映されます。仮にここで電源断があってもZILが残っているのでトランザクションは再生可能です。
2010-06-07 22:39:16@sawanoboly 手元の評価ベースだと 7200rpm 3.5inch HDDのZILなしRAID-Zより、それに7200rpm 2.5inch HDDの一部をZILとして加えたほうがパフォーマンスは明らかに上でした。
2010-06-07 22:40:35@sawanoboly 結論から言えばRAID-Zの場合、ZILは独立したブロックデバイスであれば、同じディスク上だとしても分けて作ったほうがマシかもしれません。その構成は試してないので。
2010-06-07 22:43:55手元のZFSストレージはBaraccuda ES.2 7200rpm 1GB ×3、ZIL用に利用したのはHITACHI IBMの2.5inch 7200rpm
2010-06-07 22:45:04@hasegaw LOG独立前のパフォーマンス低下する印象が残っていたのですが、ZILの役割を十分に研究していなかった。ありがとうございます。
2010-06-07 22:47:14ソフトウェアベースのRAID-5を使うぐらいならZFSのトランザクション保護されたRAID-Zのほうがよい。
2010-06-07 22:47:22@hasegaw ちなみにZILを独立させないと、やっぱりRAIDZ上のすべてのデバイスにストライピングするのでしょうか。
2010-06-07 22:49:13@sawanoboly SPARCマシンって必ずしもRAIDカードやBBキャッシュないですからね。そこでSVMを使ってRAIDを組むと最低3つのレプリカをもって多数決しながらRAIDするわけです。ZFSはRAIDカードのBBキャッシュのかわりにNVRAMをZILとして使う発想。
2010-06-07 22:50:34@sawanoboly おそらく全てのディスクにストライピングするか、それに近い状態になります。プールの先頭と最後(!!)に2個ずつメタデータ領域があり、そこ全てに最終的なトランザクション番号を書き込むことによってコミット完了とするはずなので。つまりヘッドを2回ふりまわす必要も
2010-06-07 22:52:40@sawanoboly コード解析などではなく私の経験・理解ベースでの話なので、必要であればOpenSolaris界隈の人に相談してください。
2010-06-07 22:53:53@hasegaw どうもありがとうございます! 環境はあるのでためしてみます。 ところでこちら折角なので再度Toggeterさせていただいても?
2010-06-07 22:58:05