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


21

Linuxサーバーには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、1/4が100 MBから4 GBの間。現在、ext4パーティションが数日間完全に破壊されているため、ファイルの統計を取得できません)
  • 読み取りは多いが書き込みは少ない
  • フォールトトレランスが必要です(ディスク全体で1つのエラーが発生するのが好きではないため、mdadm RAIDの使用を停止しました。ディスクに障害が発生している場合があり、できるだけ早く交換しますが、破損したデータを取得できることを意味します私のファイルシステム)

主な問題は、ディスクの故障です。一部のファイルを失うことはできますが、すべてを同時に失うわけにはいきません。

ext4を使い続けている場合、より小さなファイルシステムを作成し、何らかの方法でそれらを「マージ」するのが最善であると聞きましたが、その方法はわかりません。

私はbtrfsがいいと聞いたが、データが複製されていない場合(mkfs.btrfs -d single?)、ディスクの一部(またはディスク全体)を失うことを管理する方法についての手がかりを見つけることができません。

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


1
正確にどのディスクエラーが発生するか。それは手掛かり与えるべき
ソーハムチャクラ

不良セクタ、多くの場合、ディスク全体で1つまたは2つの不良セクタのみです
。– alphatiger

それはあなたのディスクが悪くなっていることを意味します。ファイルシステムとはほとんど関係ありません。ディスクが不良な場合は、どのfsを使用しても便利です。他の人が述べたように、RAIDディスクを購入するか、エンタープライズディスクを購入します。また、品質管理者も探してください。
ソハムチャクラボルティ

ええ、私は知っている、それが私が悪くなっているディスクを交換する理由です。質問が明確でない場合は申し訳ありません。しかし、それでも、一部のファイルシステムは破損したデータの方が適切に動作すると思っていました
...-alphatiger

あなたは本当にあなたのハードウェアの欠陥部分を交換するべきです。これは、車が壁に200 km / hで走った後の衝突テストダミーを見ているようなものです。「ああ、見て!彼の左足はほとんど大丈夫!テストは成功した!」...基盤となるハードウェアが腐敗した場合に役立つファイルシステムはありません。XFSにはext *よりも高速なfsckがあり、十分な時間が経過してファイルシステムがもう少し成熟すると、おそらくbtrfsも動作するでしょう。次に、ZFSがありますが、Linuxではその状態は少し悲しいです。
ジャンヌピッカライネン

回答:


22

ファイルシステムの問題ではなく、ディスクの物理的な制限です。データは次のとおりです。

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

この意味は RAIDがなければ、ドライブが故障しなくてもデータが失わをます-RAIDが唯一のオプションです。

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

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

これを読む:http : //www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162


3
待ちは、UREは回復不能意味読み取りエラーが、これは、ディスクが実際にあることを意味するものではありませんHASエラー。次の読み取りは、正しいビットを返す可能性があります(おそらくそうなります)。OSは、おそらくセクターを再読み取りし、正しいデータを取得します。また、SMARTについて話すのを忘れていました。セクターが永久に損傷する前に、SMARTはそこからデータを読み書きしようとします。あまりにも多くの障害を検出した場合、SMARTは単にセクターの内容を別の場所に移動し、セクターをBADとしてマークするだけで、誰も再び書き込むことができなくなります。
Avio

だから、あなたは単に彼のディスクがとても不良である理由を尋ねることなく、大量のディスクを購入することを提案しています。熱の問題、故障したSATAコントローラーの問題、SATAコネクタの不良などの問題などです
。– Avio

@Avio 10TBのデータでは、すべてのディスク、SATAコントローラー、SATAコネクターなどが完璧な状態で仕様どおりに機能していても、ハードディスクの制限により読み取りエラーが発生します。また、ディスク容量+ UREによってRAID5でさえも信頼性が低下するため、RAIDを使用して軽減するためにRAID6を使用することにした場合でも、私は言っています。RAID5で1つのドライブに障害が発生しても、データ損失の可能性は高くなります(50%FFS!)。
c2h5oh

1
UREの@Avio Uは、回復不能を意味します。
c2h5oh

ファイルシステムの問題である可能性があります。btrfsやxfsのような書き込みファイルシステムのコピーを使用する場合、ファイルの以前のバージョンを回復できる可能性が非常に高いため、最後の変更のみが失われます。(変更された場合)
イェンスティマーマン

13

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

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


1
私はそうすべきであることに同意します;)しかし、私は多くの理由でRAIDを使用しません。主なものは価格です。価格は2〜3倍高く、私にはそれを買う余裕はありません。2つ目の理由は、前回RAID 5を使用したとき、新しいディスクを接続して再同期する前に2つの不良ディスクを取得できたのは幸運だった(その時点でスペアディスクがなかったため、新しいもの; RAIDクラスのディスクでは、この問題が発生することに同意します)。3番目の理由は、保存しなければならないデータが増加するにつれて、サイズの大きい新しいディスクを徐々に追加することです。これは、RAID構成ではできません。
alphatiger

だから私は誰かが私が破損していないデータに頼ることができない構成で使用することをお勧めするファイルシステムが存在するかどうかを確認しようとしています。それでも、あなたの答えをありがとう!
alphatiger

4
それで、あなたはあなたのデータが追加費用の価値がないと言っているのですか?データのコピーを少なくとも2つ持つ余裕がない場合は、データの損失を考慮する必要があります。RAID5はおそらく良い選択ではないというのは正しいことです。おそらくRAID6またはRAID10を検討する必要があります。
ゾレダチェ

@alphatiger:時間とデータが安すぎる場合にのみ、ディスクは高すぎます。
モニカの復活-M.シュレーダー

8

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


現在、私はDebian GNU / Linuxを使用しています。FUSEの実装はあるようですが、パッケージはありません(ライセンスの問題のため)。おそらく試してみます(ソースからコンパイルした後、FUSEを使用して高出力にはあまり適していません)。ファイルシステム全体を再構築する必要はありません。ありがとう!
alphatiger

ZFSの場合は+1。従来のRAIDは、ブロックがいつ間違っているか、またはそれらを修復する方法を知るのに十分なインテリジェントではないため、データを静かに破損します。一方、ZFSは破損したブロックを(チェックサムを介して)検出し、既知の正常なミラーコピーから修復します。FUSEでZFSを実行することは理想的ではありませんが、多くのワークロードで十分に機能します。そうは言っても、実稼働環境でこれを使用する前に、アプリケーションをロードテストする必要があります。
バハマ

1
ZFSの別の+1。ここのほとんどすべてのサーバーはLinuxを実行しており、私は大ファンですが、過去3年以上にわたってZFSが非常に有用であることが証明されたため、実際にライセンスやパフォーマンスの問題なしにZFSを使用できる大きなストレージマシン。
ssc

古いSunワークステーション上のSolarisで実行していますが、ハードウェア(3Gのメモリと250G SATAドライブのペアを備えたシングルコアOpteron @ 2.2GHz)を考慮すると、パフォーマンスは驚くほど素晴らしいものです。
TMN

8

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

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

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


7

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

RAIDに関する背景情報

使い方とセットアップ

追加のRAIDリンクについては、私のおいしいリンクをチェックしてください:http : //delicious.com/slmingol/raid


SvenWの答えに対する私のコメントを見て、なぜRAIDが本当に必要ないのかを見てください。(実際、私はすでにそれを買う余裕のある会社で複数のソフトウェアRAIDをセットアップしました...)それでも、ありがとう!
alphatiger

私はいつもRAIDにコモディティドライブを使用してきましたが、RAIDの使用に適したものを使用したことはありません。RAID 6を使用するには、偶数が必要です。既存のメンバーをより大きなディスクに置き換えてから、新しいディスクのスペースに拡大することにより、RAIDをかなり簡単に拡大できます。
-slm

4

データの破損が本当に心配な場合は、zfsやbtrfsなどのチェックサムファイルシステムをお勧めします。ただし、btrfsはまだ開発段階であり、本番環境ではないことに注意してください。

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


1

として @ C2H5OHは言う回復不能は重大である-それはディスクがすでにしようとした部門を再読み込みに失敗したことを意味します。

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

バックアップがあると仮定すると、それらはUREによって失敗した可能性があり、確かにいくつかの破損ファイルがあるため、同じファイルシステムのさまざまなバックアップから完全なデータセットをまとめる必要があります。

ZFSを推奨する他の回答は読む価値があります。継続的なデータスクラビングとRAID機能は、将来のデータの安全性を維持するのに役立つためです。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.