Flashcacheは、これまで見たことがない人のために、SSDドライブでLinuxブロックキャッシュを拡張する方法です。キャッシュのためだけに半TBのRAMを搭載したサーバーを実行するよりも安価です。
これでも機能しますか?
そうすべき。Linuxのブロックキャッシュは、ファイルではなく、アクセスしたブロックをキャッシュすることで機能します。KVMマシンにブロックデバイスへの直接アクセスを許可しない限り(許可しない場合)、Linux Block Cacheが機能します。あなたはしかし、もしされている KVMマシンに直接ブロック・デバイスへのアクセスを与える答えはそれほど明確であります。
ファイルでバックアップされた仮想ディスクを使用している場合、間違いなく機能します。
LV-backed仮想ディスクを使用している場合、私にはわかりません。
パフォーマンスはどれくらい向上すると予想されますか?
それは答えられないことです。それはさまざまなものに依存します。要約すると、SSDのサイズをアクティブセットのブロックより大きくするための最高のパフォーマンスが得られます。完璧なキャッシングが得られる場合、パフォーマンスはSSDでシステム全体を実行するのと同様になります。あなたが効果的にやっているでしょう。
SSDの大きさはどれくらい必要ですか?
あなたが必要とする正確なサイズを見つけることは、私たちが助けられないものです。もちろん、多ければ多いほど良いのですが、キャッシュSSDとプライマリストレージの正確な比率を見つけるのは簡単なことではありません。
これを複雑にしているのは、特定のファイルシステム操作や一部のデータベース構成など、すぐにフラッシュするように設定された書き込みです。これらの書き込みは簡単にキャッシュされるだけであり、フラッシュキャッシュの有無によってパフォーマンスが影響を受けることはありません。
SSDが死んだ場合はどうなりますか?
Linuxにキャッシュをドロップするように指示すると、同じことが起こりますが、ひねりがあります。ドロップキャッシュを使用すると、ブロックキャッシュにあるフラッシュされていない書き込みはすべてディスクにフラッシュされます。SSDが消えたときに何が起こるかは、キャッシュモードによって異なります。
ライトスルー:すべての書き込みはキャッシュとプライマリストレージに並行して書き込まれるため、SSDが突然失われてVMでエラーが発生する可能性は非常に低くなります。
ライトアラウンド:すべての書き込みはプライマリストレージに書き込まれ、読み取り時にのみキャッシュされます。VMでエラーが発生する可能性はありません。
ライトバック:すべての書き込みは最初にキャッシュに送られ、バックグラウンドでプライマリストレージに書き込まれます。SSDに障害が発生した場合、VMでエラーが発生する可能性が最も高く、本番環境ではこのモードを使用しません。
ライトスルーとライトアラウンドと比較して、ライトバックはどれくらい高速ですか?
書いている量に依存します。書き込みが定期的にプライマリストレージを飽和させる場合、パフォーマンスの向上はかなり大きくなる可能性があります。書き込みを主に読んでいる場合、改善に気付かないでしょう。
また、書き戻しはあなたがしていることにとって悪いポリシーなので、使用しないでください。