ZFSのL2ARCについての考察

ZFSでL2ARCについての議論と実際の運用視点からの考察。 SATAのAHCIでの挙動の怪しさなど、情報としてあまりでていない部分があったので有意義なものだと思います。 ZFSのintent log(ZIL)についての考察 http://togetter.com/li/24240 続きを読む
8
TAKI, Yasushi (瀧 康史) @kohju

@mayn_lum 最近、DASの実験をずっと、@tomocha とやってるけど、そこはまだ未調査。

2010-05-26 21:24:50
TAKI, Yasushi (瀧 康史) @kohju

@mayn_lum どっちかというと異常時の避難訓練ですがねw

2010-05-26 21:25:14
らむ @mayn_lum

@ipv6labs ZPOOLから読んだデータはARCに一旦格納され、ARCの空きが足りなくなったときにARCに読み込んだデータをL2ARCにWriteして再度のReadに備えます。それがL2ARCの動きです。そのためにはARCの読み込み頻度が高い必要があります。

2010-05-26 21:25:40
@ipv6labs

ZPOOLが某SAN装置のロジカルデバイスなんだけど・・・ ZIL・SSDなNFSで幸せになれるかなぁ。 cXtXdX が1個しかない件

2010-05-26 21:25:52
らむ @mayn_lum

@kohju L2ARCはあくまでキャッシュ。キャッシュにミラーの必要性は低い。だって正しいデータが別のところに有るから。

2010-05-26 21:28:25
@ipv6labs

やはりメモリを盛りまくる

2010-05-26 21:29:04
らむ @mayn_lum

@ipv6labs そう。メモリを大量に確保するのがパフォーマンスを向上させるためには必要。L2ARCはメモリより大きいデータセットを処理するならそれが入る分有った方がいい。

2010-05-26 21:31:06
@ipv6labs

@mayn_lum ZIL mirrorはエンプラでは推奨ですか?

2010-05-26 21:32:15
Fumiaki Tokuyama @tokuhy

@mayn_lum L2ARCってストライプで設定されてて1枚壊れた場合、L2ARC自体が無効になるでいいんでしたっけ?片方のキャッシュだけ無効になってもう片方に残ってる分からは拾えるみたいなことはないですよね?まあストライプだと当然そうだろうとは思うんですが。

2010-05-26 21:32:39
らむ @mayn_lum

@ipv6labs ZILは同期書き込みのパフォーマンス向上に必要なので、ZPOOLに書かれるまでの寿命を考えるとミラーの方がいいでしょう。

2010-05-26 21:34:16
らむ @mayn_lum

@tokuhy 片方だけ落ち穂拾いするより無い物とした方が実装が楽な気がします。 (これ以上読めないと下から情報があがってきた方いいし)。どうせ読めないならさっさとリトライしないであきらめて欲しいのがRAID用のディスク

2010-05-26 21:36:49
Fumiaki Tokuyama @tokuhy

@mayn_lum L2ARC載せても、物理メモリ少ないと意味ないんですよね?たしか。L2ARCの5%ぐらいの容量のメタデータがARCに乗るからL2ARCだけ大きくてもダメとかホットトピックセミナーでいわれてたかと思いますが

2010-05-26 21:39:15
らむ @mayn_lum

@tokuhy ZFS自体主記憶が4GB以下のマシンでは動作が違いますが。L2ARC乗せるようなマシンは32GBとか欲しいですね。

2010-05-26 21:41:37
Fumiaki Tokuyama @tokuhy

@mayn_lum 4GB以下で違うっての知らなかったです。read cacheの部分ですか?

2010-05-26 21:46:58
らむ @mayn_lum

@tokuhy ARCの割当てアルゴリズムで主記憶の7/8か512MB残して全部というのがあります。これから逆算すると4GBでルールが変わるのです。

2010-05-26 21:49:30
Fumiaki Tokuyama @tokuhy

@mayn_lum 512MBですか?1GBじゃなかったでしたっけ?変更されました?

2010-05-26 21:54:52
@ipv6labs

@mayn_lum 4GBルール 最近のモデルは8GBオーバなので気にしない

2010-05-26 21:56:45
らむ @mayn_lum

@tokuhy 確認する。ちょっとまって。

2010-05-26 21:58:13
らむ @mayn_lum

@tokuhy @ipv6labs set max to 3/4 of all memory, or all but 1GB

2010-05-26 21:59:00
@ipv6labs

@mayn_lum 768MBが最小構成のはず

2010-05-26 22:00:05
らむ @mayn_lum

@ipv6labs 正確な値は、usr/src/uts/common/fs/zfs/arc.cにかいてあるのですが、1GB残した値が最大値です。

2010-05-26 22:05:39
らむ @mayn_lum

@tokuhy @ipv6labs 現状の値を知るには、echo ::arc | mdb -k して c_min/c_maxです。

2010-05-26 22:07:51
Fumiaki Tokuyama @tokuhy

@mayn_lum 今メモリ8192MBのマシンで echo ::arc | pfexec mdb -k したらc_min=894 MB c_max=7158 MBとか出たんですが、MAX7/8になってるってことですか?パラメータ変更した記憶ないんですがなにかしたのかな。。。

2010-05-26 22:25:34
らむ @mayn_lum

@tokuhy 1GB残して全部なので、7GBは正しい値です。

2010-05-26 22:27:55
@tokuhy

@mayn_lum ああ。。勘違いしてました。。。大きい方の値になるんでしたね。

2010-05-26 22:30:41