web-dev-qa-db-ja.com

大きなLVMのディスク(8 TB)用のファイルシステムはどれですか?

多くの2 TBディスク、現在すべてLVM内にあるため、約10 TBの領域が生じます。ext4でこのすべての領域を使用します。パーティション、現在約8,8 TBのデータがあります。

問題は、ディスクでエラーが頻繁に発生することです。エラーが発生するとすぐに、ディスクを交換しても(つまり、古いディスクをddを使用して新しいディスクにコピーし、新しいディスクをサーバーに挿入します)、その上に破損したデータが約100 MBもよくあります。そのため、e2fsckは毎回狂ってしまい、ext4ファイルシステムを正常な状態に戻すのに1週間かかることがよくあります。

だから質問は次のとおりです:LVMでファイルシステムとして使用することをお勧めしますか?または代わりに何をお勧めしますか(実際にはLVMは必要ありません)。

私のファイルシステムのプロファイル:

  • 合計サイズが異なる多数のフォルダ(合計で2 TB、合計で100 MB)
  • サイズが異なるほぼ200,000個のファイル(そのうちの3/4は約10 MB、100 MBと4 GBの間は1 /4。ext4パーティションが数日間完全に破壊されているため、現在のところ、ファイルに関する統計を取得できません)
  • 読み取りは多いが書き込みは少ない
  • フォールトトレランスが必要です(ディスク全体で1つのエラーが発生するのが好きではないため、mdadm RAIDの使用を停止しました。障害のあるディスクがあり、できるだけ早く交換しますが、破損したデータが私のファイルシステム)

主な問題はディスクの障害です。一部のファイルは失われる可能性がありますが、すべてを同時に失うわけにはいきません。

Ext4を使い続けると、小さいファイルシステムを作成して、なんとかして "マージ"するのが最善だと聞きましたが、方法がわかりません。

Btrfsはいいと聞きましたが、データがレプリケートされていない場合に、ディスクの一部(またはディスク全体)がどのように失われるかについての手がかりはありません(mkfs.btrfs -d single?)。

質問に対するアドバイスは歓迎します、事前に感謝します!

21
alphatiger

これはファイルシステムの問題ではなく、ディスクの物理的な制限です。ここにいくつかのデータがあります:

SATAドライブは通常、10 ^ 14の回復不可能な読み取りエラー率(URE)で指定されています。つまり、ディスクが正常に動作しても、12 TBあたり1バイトが回復不能に失われます

つまり、RAIDがないと、ドライブが故障していなくてもデータが失われます-RAIDが唯一のオプションです。

RAID5(総容量n-1、n =ディスク数)を選択しても、それでも十分ではありません。 6 TBの2 TB HDDで構成される10 TB RAID5を使用すると、1つのドライブが故障する確率が20%になり、単一のディスクが故障すると、UREにより50%の確率で正常に故障するRAID5を再構築し、データの100%を回復します。

基本的に、大容量のディスクと比較的高いUREを使用する場合、単一のディスク障害が発生しても、RAID6を保護する必要があります。

これを読んでください: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162

22
c2h5oh

自分の都合で、ディスクにRAIDを使用してください。mdadmを使用したソフトウェアRAIDも可能です。また、「ディスクでエラーが発生することが多い」理由についても考えてください。RAIDグレードのディスクの代わりに安価なデスクトップクラスのSATAドライブを使用する場合を除いて、これは正常ではありません。

その後、ファイルシステムはそれほど重要ではなくなりました。ext4、xfsはどちらも優れた選択肢です。

13
Sven

私はZFSで幸運を祈っています。使用しているディストリビューションで使用できるかどうかを確認できます。公正な警告、それはおそらくシステム全体を再構築することを意味しますが、それは本当に良いパフォーマンスとフォールトトレランスを提供します。

8
TMN

より大きなサイズの新しいディスクを徐々に追加します

LVMの使用に興味があり、複数のドライブを処理したい場合、簡単な答えは、LVMの一部であるミラー機能を使用することです。すべての物理ボリュームをLVMに追加するだけです。論理ボリュームを作成するときは、--mirrorsオプション。これはデータを複製します。

別のオプションは、いくつかのRAID1ペアをセットアップすることです。次に、すべてのRAID1ボリュームをPVとしてVGに追加します。その後、ストレージを拡張したい場合は、ディスクのペアを購入するだけです。

8
Zoredache

実際にはRAID 5、6、10、50、または60を使用している必要があります。ここに、始めるためのリソースをいくつか示します。

RAIDに関する背景情報

howto's&setup

その他のRAIDリンクについては、おいしいリンクを確認してください。 http://delicious.com/slmingol/raid

7
slm

データの破損が本当に心配な場合は、zfsやbtrfsなどのチェックサムファイルシステムをお勧めします。ただし、btrfsはまだin-development本番環境ではありません。

ディスクから読み取られたデータ(正常に読み取られた場合でも)が正しいという保証はありません。ブロックにはチェックサムがありますが、それらは常にエラーをキャッチするわけではない単純なチェックサムです。 ZFSのような新しいファイルシステムは、より機能的なチェックサムをファイルに添付し、ハードディスクやRAIDコントローラーでは気付かれないデータエラーをキャッチして修復できます(報告されています)。

4
tylerl

@ c2h5ohが言う のように、Unrecoverableは重要です-これは、ディスクがすでにセクターを再試行し、再読み取りに失敗したことを意味します。

私の経験では、ディスクが回復不可能な読み取りエラー(URE)を生成し始めると、一部のデータは永久に失われ、あなたの唯一の望みは GNU ddrescue を使用してすべてのデータをすぐにバックアップすることです。回復不可能なものはスキップしてください。

バックアップがあると仮定すると、UREが原因で失敗した可能性があり、ファイルが破損している可能性があるため、同じファイルシステムのさまざまなバックアップからデータの完全なセットをつなぎ合わせる必要があります。

ZFSを推奨するその他の回答は、継続的なデータスクラブとRAID機能が将来のデータの安全性を維持するのに役立つため、一読に値します。ただし、ユーザーや管理者のエラーから保護するバックアップの代わりにはなりません。

私はLVMを使用するのは、スナップショットが必要ない場合のみです。RAIDとはあまり統合されておらず、データスクラブ/データチェックサムが含まれておらず、それでもバックアップが必要なので、ZFSのようなものがおそらくより良いオプションです。詳細は LVMの問題とリスクに関するこの回答 を参照してください。

1
RichVel