web-dev-qa-db-ja.com

新しいSSDを手に入れたので、使いたくないのですが、古いSSDと一緒にデータファイルを保存するためにそれを使用したいです

ラップトップ用に新しい250GB Samsung 850 EVOを購入しました。これをプライマリストレージデバイスとして使用し、古い-まだかなり機能している-以前のDVDベイにアダプターを取り付けた250GB 7500 RPM HDDキャディー。

現在、HDDには1つの大きなext4 OS、アプリケーション、データファイルを含むパーティション、私がしたいのはデータのためだけにHDDを使用することですが、SDDの速度向上を得る機会を逃したくありませんそう。

私が探しているのは、SDD上の1つの小さなパーティション、たとえば50GB以下のパーティションと、mergeをパーティション上のパーティションと結合するソリューションですHDD最も変更されていない最もアクセスされたファイルが自動的にSSDに移動しました。

私は EnancheIOBcache のようなキャッシュを見てきましたが、それらは私が望むものとは思えません。 ):

  • キャッシュパーティションが占有するスペースは、使用可能なスペースの量から差し引かれます。
  • キャッシュは、最も頻繁にアクセスされるファイルへのアクセスを高速化しますに関係なく、それらは最も頻繁に変更されない、SSDを使い果たしたくないという点を無視します。

上記は正しいのですか、それともキャッシュ(この2つのうちの1つですか?)で目標を達成できますか?上記が正しい場合、他の実行可能なソリューションを知っていますか?

ここでは、 OverlayFS のようなunionファイルシステムが役立ちますか?最もアクセス頻度の高いファイルのHDDを監視し(atimeを毎日追跡)、それらの中で最も変更の少ないファイルを特定したとしましょう(それらのmtime)を追跡すると、理論上はこれらのファイルをSDDに移動し、HDD上のスペースを解放できますが、union filesystemは、そのすべてをユーザーに対して透過的にすることができます。

これは機能しますか?

8
Fabio A.

達成しようとしていることに応じて、いくつかのオプションがあります。

  • bcacheを使用しますケーキを食べることはできますが、保管することはできません。

    はい、キャッシュ用に予約するスペースの量は、スワップファイルの反対のようにになります:指定した量は、ディスクスペースの総量から「奪われます」他のハードドライブのバッファとして使用されるメモリサブシステムに与えられます。
    キャッシュするファイルを制御するには、 vmtouch のようなものを使用してbcacheキャッシングを微調整します。

  • LVMを使用します:あなたはケーキを手に入れますが、食べません。

    Logical Volume Managerを使用して、SSDとHDDの両方を含むボリュームを作成し、両方のスペースを含む大きな/homeボリュームを作成できますが、

    1. どのファイルがSSDに保存され、どのファイルがHDDに保存されるかを制御することはできません。
    2. 2つのドライブのうち1つを失うと、すべてのデータが失われるため、バックアップから復元!!!
  • 手動システムを使用します:ケーキを保管して食べることができます。

    ドライブを個別のファイルシステムにパーティション分割します。/をSSDに、/homeをHDDに配置します。これに加えて、高速にしたいすべてのファイルを/media/FastDataに入れ、元のファイルを/media/FastData内のファイルにシンボリックリンクする必要があります。 /home(そうでなければ、とにかくSSDに既に存在します)

注1:小さいSSDと大きいHDDがあるので、さらに別のシステムを使用します:SSD上の//home HDD上で、さらに最適化することを気にしないでください...
注2:ユニオンファイルシステムは手動システムよりも役に立ちません...
注3:SSDを摩耗させないためのヒントを次に示します 箇条書き4以降

2
Fabby