
私は月に一度 ZFS スクラブを実行しますが、72TB の場合は約 24 時間かかります。スクラブの頻度については、次の情報を参照してください。
- 非常に混雑するプール、週に1回
- あまり混雑していないプール、月に1回
またはスクラブを実行し、時間を測定して、それに応じて調整します。
しかし、オンラインでのデフラグはどうでしょうか?
質問
オンラインでのデフラグは、スクラブのように良い方法だと考えられていますか? また、そうであれば、どのくらいの頻度でデフラグを実行すべきですか?
答え1
これは、それほど頻繁に行う必要はありません。主な理由は、ZFS にはオンライン デフラグの概念がないためです。これは、プール データを別のプールにコピーするか、新しいストレージに書き直すことによってのみ可能です。代わりに、zpool の使用率を 70% 未満に保つように努めてください。
答え2
これは古い質問だとはわかっていますが、私と同じように今日これに遭遇した場合、もう少し追加できると感じました。
ZFS にはデフラグの組み込みオプションがありません。ブロックの割り当て方法、ZFS の Copy On Write の方法、およびブロックをロックするスナップショットにより、実際にはデータをデフラグすることはできません。私が知っている唯一の解決策は、同等のサイズのプールを作成し、ZFS でデータを送受信し、古いプールを破棄して、再度プールを作成することです。
また、スクラブが逆になっていることも言及する価値があります。頻繁に使用するデータは、チェックサムが常に検証されますが、静止データは、ブロック/ポインターのチェックサムを検証せずにそのまま放置され、腐敗します。
一般的に、ほとんどの人は、使用頻度の高いデータセットの場合は少なくとも 1 か月はかかります (Web サーバーのようにデータの 90% 以上が使用されることがわかっている場合は、さらに短くなります)。
あまり使用されないデータについては、月に 2 回または週に 1 回のスクラブが推奨されます (ディスクの数、データの量、ドライブの古さなどによって異なります)。結果は人によって異なります。