アーカイブ用ファイルシステム

アーカイブ用ファイルシステム

私のファイルシステムには複雑な読み取り専用データがあります。これには、svnリポジトリの特定のリビジョンの数千のスナップショットと回帰テストの結果が含まれています。スナップショット間の同じファイルは、ハードリンクを使用して重複排除されます。これにより、ストレージ容量を増やす必要はありませんが、まだ多くのinodeを消費するため、基本ファイルシステムのfsckは非常に長くなります。

このデータを別のファイルシステムに移動して、基本ファイルシステムにあまり影響を与えないようにしたいと思います。おすすめメニューとは何ですか? Squashfsは可能なオプションのように見えますが、ハードリンクを効率的に処理できることを確認する必要があります。

答え1

Btrfsはデフォルトでスナップショットをサポートしているため、重複排除にハードリンクを使用する必要はありません。 btrfsファイルシステムを作成し、必要な最速バージョンにロードして現在の設定を再作成し、スナップショットを撮り、スナップショットを必要とする各時点にリポジトリをプッシュし、各時点でスナップショットを撮ることができます。 。これはハードリンクよりも効率的で設定が簡単です。

私はまた、squashfsが重複ファイルを透過的に削除できるため、ハードリンクを処理しなくてもまだ利点を見ることができると思います(ただし、これについてはわかりませんが)。ファイルシステムのデータを変更する必要がない場合は、fsckをmd5sumに置き換えることができるので、squashfsはおそらく最良の選択でしょう。

答え2

私が好むXFSなぜなら、私はこのファイルシステムに良い経験を持っているからです。ただし、データと提案されたすべてのファイルシステムをテストしてください。

答え3

fsckが遅い場合はext4を試しましたか? fsckを非常に迅速にするためにいくつかの機能を追加しました。未使用のinodeを見ないでください:

Fsckは非常に遅い作業であり、特に最初のステップであるファイルシステムのすべてのinodeをチェックする作業です。 Ext4では、未使用のinodeリスト(安全のためのチェックサムを含む)が各グループのinodeテーブルの末尾に格納されるため、fsckはこれらのinodeをチェックしません。その結果、使用された inode の数によって fsck の合計時間が 2 倍から 20 倍に短縮されます (http://kerneltrap.org/Linux/Improving_fsck_Speeds_in_Ext4)。 Ext4以外のfsckが未使用のinodeリストを作成することに注意することが重要です。つまり、未使用のinodeリストを取得するにはfsckを実行する必要があり、次のfsckの実行のみが高速になります(とにかくExt3ファイルシステムをExt4に変換するにはfsckを渡す必要があります)。 fsckアクセラレーションに参加する機能(「柔軟なブロックグループ」)もあります。これはファイルシステムの作業速度を向上させることもできます。

答え4

私はそれを使用するいくつかの店を知っています。データフィールドこの目的のためです。

アーカイブスクリプトは非常に単純な場合があります(たとえば、tar、rsync、cronなど)、ほとんどのファイルシステムでハードリンクできないハードリンクやディレクトリ管理について心配する必要はありません。帯域幅を節約することに加えて、増分コピーは必要ありません。すべての魔法はブロック層の下で起こります。 1〜2 TBの物理ディスク領域のみを使用しながら、15〜20 TBの仮想データをホストすることはまれではありません。ディスクバックアップのための残りのスペースはまだ十分です。

データはNFSまたはiSCSIを介して提供されますが、これが問題かどうかはわかりません。

FreeBSDにZFS v23があると、残りの人は重複排除を使用できるようになります。

関連情報