容量を組み合わせながら、高速ストレージと低速ストレージ全体にわたって多層ファイルシステムを構成する方法は?

容量を組み合わせながら、高速ストレージと低速ストレージ全体にわたって多層ファイルシステムを構成する方法は?

低速500GB磁気HDDと高速500GB SSDを同時に使用する方法を探しています。

容量面で2つを合わせた合理的な割合で終わりたいのですが(800GB以上であればいいです)どのファイルをどのディスクに保存するかを決定するのは難しく、ディレクトリの境界を越えることはほとんど不可能です。

多段階収納形態でも同様のことを考慮したものと見られる。しかし、これまで私が見つけた唯一のメカニズムは、高速ボリュームを遅いボリュームのキャッシュとして使用することです。 500GB HDDのスロードライブで500GB SSDキャッシュで終わるので、これは私にはうまくいきません。単に遅いHDDに入れてSSDを使うよりも良いことはありません。

2つのボリュームにまたがって1つのボリュームから別のボリュームに動的に複製するシステムを考えてみましょう。これはキャッシュと似ていますが、ボリュームを完全に一貫して維持する必要はなく、単一ボリュームよりも多くの容量を提供できます。

これまでに検索した内容はすべて空です。キャッシュをサポートするLVMとXFSへの複数の参照が見つかりました。しかし、両方のデバイスよりも高い容量を達成できることは明らかではありません。

したがって、これが可能であると仮定しましたが、実装方法が見つかりませんでした。


この問題のトリッキーな部分は、1つの最終ファイルシステムのみを使用してソリューションを実装することです。私にとっては、ディレクトリごとに配置するファイルを手動で選択することはできません。

ベストアンサー1

以下の回答は個人的な経験に基づくものではないので、実際に効果があるかどうかは確かに言うことはできませんが、試してみることができるアイデアだけです。

LVMキャッシュ

キャッシュ論理ボリュームタイプは、小型で高速なLVを使用して、大型で低速なLVのパフォーマンスを向上させます。頻繁に使用されるブロックをより高速なLVに保存してこれを行います。

私が正しく理解した場合は、高速ディスクのキャッシュサイズを制限してから、遅いディスクと残りの高速ディスクの別の論理ボリュームを作成できます。

ブロックキャッシュ

もう一つの可能​​な解決策は隠れ家:

Bcache(ブロックキャッシュ)を使用すると、SSDを他のブロックデバイス(通常は回転するHDDまたはアレイ)の読み取り/書き込みキャッシュ(後書きモード)または読み取りキャッシュ(連続書き込みまたは後書き)として使用できます。

サポートデバイスとキャッシュデバイスの両方が可能です。「フルデバイス、パーティション、またはその他の標準ブロックデバイス。」

理論的には、SSDを200 + 300 GBの2つのパーティションに分割できます。 200GBがキャッシュデバイスとして使用されます。

その後、SSDの残りの300 GBパーティションと遅いディスクを1つの800 GB論理ボリュームにまとめることができます(LVMまたは使用)。ソフトウェアRAID)キャッシュデバイスを使用してキャッシュします。

繰り返しますが、私はこれらのどれも試したことがありません。lvmcacheあなたの目的に適しているようです。両方を試してパフォーマンスを比較することで、どのソリューションが優れているかを判断できます。

おすすめ記事