こんにちは、コミュニティのみなさん。
QTS hero には「SSDキャッシュ」オプションがあります。内部的には、これは一般的に ZFS の L2arc と呼ばれるしくみを利用しています。
ここでは、HDDプールを1台のSSDでリードキャッシュとしてサポートしているイメージです。
「全てのI/O」か「ランダムI/O」を選択できます。「ランダムI/O」を選ぶと、しきい値が発生します。要求サイズがあるkB数を超えるとHDDから読み取り、そうでない場合はSSDから読み取ります。
なぜZFSの「メタデータのみ」フラグを活用できるオプションがないのでしょうか?
メタデータのみキャッシュの仕組み:
ファイルの全内容をキャッシュするのではなく、ZFSやファイルのメタデータだけをキャッシュします。例えばフォルダ構造の閲覧はSSDだけで高速に行えます。ファイルを開く場合、SSDにはHDD上のデータ位置情報があり、HDDは実際のデータのみを配信します。
メタデータの検索は小さなランダムI/Oなので、メタデータキャッシュによる効果はかなり高いです。
実際のデータをキャッシュしないことで、ストレージディスクの容量を大幅に節約できます。SSDキャッシュは、プール全体サイズの100分の1程度でも十分です。それでもプールの全メタデータは保持できます。また、データを書き込まないためSSDの消耗も下がります。SSDがいっぱいになることがないため、「古い」けれどまだ有効なキャッシュが失われることもありません。長期間アクセスしていないディレクトリでも、素早く閲覧できます。
この機能はすでにシステムで動作しており、手動でL2ARCをメタデータのみモードに切り替えれば普通に使えます。
みなさんのご意見をお聞かせください。
BR
Florian Aigner