web-dev-qa-db-ja.com

書き込みキャッシュZFSのサイズ

Nexentaに書き込みキャッシュを追加したいと思います。ミラーで2つのSSDを使用し、予備の3つ目のディスクを使用することを考えました。問題は、投資を最大化するためにアレイのサイズをどのように計算するかです(もちろん、適切に使用されていないSSDスペースに多くのお金を費やしたくありません)。方法はありますか?この計算は、データストアで使用されるスペースとピークワークロード、書き込みのキューの長さなどの関数だと思います。しかし、これをギガバイトに変換して購入するにはどうすればよいですか?

現在、ストレージSATA 4x3TBを使用しており、数年以内に2倍にすることができます。読み取りキャッシュ専用の256GB SSDもありますが、そのサイズはほぼランダムに選択されました。

どうもありがとうございました

3
CSG

私はおそらく「ZILはnot書き込みキャッシュ」から始める必要があります。これは同期書き込み要求のZFSインテントログです。つまり、特定の状況(主に同期書き込み)でのみ使用され、実際のストレージアレイへの書き込みがZILへの書き込みよりも時間がかかる状況でのみ速度が向上します。実際には書き込みが速くなることはなく、同期書き込み要求から返されるだけです(したがって、アプリケーションはディスクへの書き込みが速くなると考えますが、実際の書き込みスループットは全体的に向上しません)。

ZILはそれほど大きくする必要はありません。アレイ内で最速のディスクの転送速度を見つけ、10の倍数にします。これは、ZILの大きさです。エラーの余地が必要な場合は、これを2倍にすることができますが、それ以上は無駄です。最近の高速プラッタードライブは200Mb/sをわずかに超える可能性があるため、そのドライブから作成されたアレイのZILは約2〜4GBである必要があります。

3
Chris S

書き込みキャッシュ(ZIL)は大きくする必要はありません。サイズ設定は、実際には、アレイへの予想される書き込み速度の関数です。

ZILの目的について考えてみてください...低遅延ストレージへのランダムな書き込みを吸収し、それらを合体させてディスクプールに順番にフラッシュします。 Nexentaでは、基本的に、最大30秒相当の書き込みを処理するのに十分な大きさのZILが必要です...私が使用するデバイスはかなり小さいです。 1つは4GBデバイスです。私がお勧めするもう1つは、8GBの容量です。

ZILで実行する必要があると感じた場合は、高品質のSSDを入手してみてください。 ZILをミラーリングできます。予備のZILは必要ありません。

ああ、そしてより包括的なZILの読み方はここにあります: http://nex7.blogspot.com/2013/04/zfs-intent-log.html

3
ewwhite