BTRFSプールで一緒に実行されているディスクの束を持つファイルサーバーがあり、キャッシュ用にSSDを追加したいと考えています。私は主に物事を高速化した後ではありませんが、頻繁に使用していないときはほとんどの時間、ハードディスクをシャットダウンできるように定期的な小さなアクセスをキャッチしたいと考えていますディスクが長持ちします)。
私の知る限り、現在Linuxにはdm-cacheとbcacheの2つのSSDキャッシングテクニックが実装されています。dm-cacheは依然としてより効率的であると言われていますが、両方の開発が進んでおり、絶対的な最大効率を調整する必要はありません。
bcacheのドキュメントを読んで、私はこれらのオプションに出くわしました:
writeback_delay:ダーティデータがキャッシュに書き込まれ、以前は何も含まれていなかった場合、ライトバックを開始する前に数秒待機します。デフォルトは30です。
writeback_percent:ゼロ以外の場合、bcacheはバックグラウンドの書き戻しを抑制し、PDコントローラーを使用して速度をスムーズに調整することで、ダーティなキャッシュの割合を維持しようとします。
writeback_running:オフの場合、ダーティデータの書き戻しはまったく行われません。ダーティデータは、大部分がいっぱいになるまでキャッシュに追加されます。ベンチマークのみを目的としています。デフォルトはオンです。
に十分な大きさの値を設定するとwriteback_delay
、私にとってはうまくいくようです。1時間に1回だけ書き戻すか、または(これが起こると思います)キャッシュがいっぱいになっている場合。
これは妥当な設定ですか、そしてディスクのスピンダウンに成功するために他に何か考慮すべきことがありますか?私の要件を満たしていれば、まったく別のルートに進んでも問題ありません。
@gorkyplが同様の問題について別の解決策を探しているようですが、要件と環境が異なり、回答もまだ得られていません。
bcache
してください。