SSDをキャッシュに使用して、ハードディスクがスピンダウンできるようにするにはどうすればよいですか?


9

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してください。
mikeserv 2015年

回答:


1

あなたのアプローチは複雑すぎると思います。

読み取りキャッシュ:ここでは何もしません。十分なRAMがある場合、これはLinuxで自動的に行われます。

書き込みキャッシュ基本的にはこれが必要です。しかし、書き込みが最後にディスクに移動すると、ウェイクアップも発生します。

そのため、影響を受けるファイルシステムをram-disk / dev / shmまたはssdに直接置くことができます。

省電力:頻繁なスピンダウン/アップが電力を節約するとは思いません。逆に、ディスクが早く死ぬ可能性があるため、生産プロセスのために追加のエネルギー消費があります。また、スピンアップは非常に電力を消費します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.