web-dev-qa-db-ja.com

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

ファイルシステムに複雑な読み取り専用データがあります。これには、svnリポジトリの特定のリビジョンの何千ものスナップショットと回帰テストの出力が含まれています。スナップショット間の同一のファイルは、ハードリンクを使用してすでに重複排除されています。このように、ストレージ容量を大きくする必要はありませんが、それでも多くのiノードを消費するため、メインファイルシステムのfsckが非常に長くなります。

これらのデータを別のファイルシステムに移動して、メインファイルシステムにあまり影響を与えないようにします。提案はありますか? Squashfsは可能な選択肢のようですが、ハードリンクを効率的に処理できるかどうかを確認する必要があります。

10
Wei-Yin

Fsckの速度が遅い場合は、ext4を試しましたか?彼らはそれにfsckを本当に速くするいくつかの機能を追加しました 未使用のiノードを見ないことによって

Fsckは非常に遅い操作であり、特に最初のステップであるファイルシステム内のすべてのiノードをチェックします。 Ext4では、各グループのiノードテーブルの最後に未使用のiノードのリストが格納されるため(安全のためにチェックサム付き)、fsckはそれらのiノードをチェックしません。その結果、使用されているiノードの数に応じて、合計fsck時間が2倍から20倍に向上します(http://kerneltrap.org/Linux/Improving_fsck_Speeds_in_Ext4)。未使用のiノードのリストを作成するのはExt4ではなくfsckであることに注意する必要があります。つまり、未使用のiノードのリストを作成するにはfsckを実行する必要があり、次のfsckの実行のみが高速になります(とにかくExt3ファイルシステムをExt4に変換するにはfsckを渡す必要があります)。このfsckの高速化に参加する機能(「柔軟なブロックグループ」)もあり、ファイルシステムの操作も高速化します。

5
tante

Btrfsはスナップショットをネイティブでサポートしているため、重複排除にハードリンクを使用する必要はありません。現在のセットアップを再作成するには、btrfsファイルシステムを作成し、必要な最も古いリビジョンをロードしてスナップショットを作成し、次に、スナップショットが必要な各時点にリポジトリを改訂して、それぞれのスナップショットを作成します。ステップ。これは、ハードリンクよりも効率的で、セットアップも簡単なはずです。

また、squashfsはファイルを透過的に重複排除するので、ハードリンクを処理しなくても、メリットが見られると思います(これについては確信が持てませんが)。ファイルシステムのデータを変更する必要がない場合は、fsckをmd5sumに置き換えることができるため、squashfsがおそらく最適な方法です;)

7
p-static

私はこのファイルシステムで非常に良い経験をしているので、 [〜#〜] xfs [〜#〜] を好みます。しかし、私は本当にお勧めします、あなたはあなたのデータと提案されたすべてのファイルシステムでテストをすることをお勧めします。

6
ddeimeke

DataDomain をまさにその目的で使用しているショップをいくつか知っています。

アーカイブスクリプトは非常に単純である可能性があり(たとえば、tarまたはrsyncとcron)、ハードリンクやほとんどのファイルシステムでハードリンクできないディレクトリの管理について心配する必要はありません。帯域幅を節約する場合を除いて、増分コピーは必要ありません。すべての魔法はブロックレイヤー内で発生します。 1〜2 TB相当の実ディスク容量のみを使用しながら、15〜20TB相当の仮想データをホストすることは珍しいことではありません。ディスクバックアップ用にまだたくさん残っています。

データはNFSまたはiSCSI経由で提供されますが、それが問題かどうかはわかりません

FreeBSDがZFSv23を入手すると、残りの人は重複排除を利用できるようになります。

0