Btrfs:3以上のデバイスでのRAID 1


10

現在、3つの3 TBドライブと4 TBドライブの4つのデバイスを持つBtrfsパーティションがあります。データとメタデータはRAID 10なので、6 TBの使用可能なスペースがあり、ほぼいっぱいです。ストレージがいっぱいになるまでに、BtrfsでのRAID 5のサポートが成熟すると予想していましたが、明らかに優先順位ではありません。

私の質問は、RAID 1よりもRAID 10を好む理由はありますか?現在のハードウェアで実際のRAID 1を使用すると、各ブロックの4つのコピーで3 TBの使用可能なスペースが得られるはずですが、Btrfsは明らかにこのように動作しません。Btrfs FAQから:

btrfsはすべてのデバイスを最初にストレージプールに結合し、次にファイルデータが作成されるときにチャンクを複製します。RAID-1は現在「異なるデバイス上のすべてのデータの2つのコピー」として定義されています。これは、n個のデバイスに対してn個のコピーを作成するという点で、MD-RAIDおよびdmraidとは異なります。3つの1 TBデバイス上のbtrfs RAID-1では、1.5 TBの使用可能なデータを取得します。各ブロックは2つのデバイスにのみコピーされるため、特定のブロックを書き込むには、正確に2つのデバイスに書き込む必要があります。片方からしか読めません。

そして、スタックオーバーフローのイェンスエラトから:

Btrfsはデータ(およびそのRAID 1コピー)をブロックごとに分散するため、さまざまなサイズのハードディスクを非常にうまく処理します。すべてのハードディスクの合計を2で割ったものを受け取ります。同様のサイズのペアにまとめる方法を考える必要はありません。

複数のディスクに障害が発生すると、常にデータを失う危険があります。RAID1は、同時に2つのディスクを失うことには対処できません。上記の例では、間違った2つのディスクが停止すると、常にデータが失われます。

これは、4 TBのドライブが原因で、RAID 10からRAID 1にリバランスすると、500 GBのデータ(6 TBではなく6.5 TB)が増えることを意味しますか?また、RAID 10を使用する理由はありますか?


1
BTRFS RAID-5は(まだ実験的ですが)実際にはかなり安定しており、多くの典型的なデータ回復シナリオでさえ現在のバージョンで(クラッシュすることなく)機能します。データがまだ正しいことを確認するために時々スクラブする必要がありますが、一見の価値があるかもしれません。RAID-1(0)からRAID-5に変換することが可能です。
基本6 2015年

@ basic6知っておくと良い、ありがとう。私は少し前のことを研究していたと見たscrubreplaceサポートは、3.19のとして追加されていたが、人々はまだ機器の故障の警告の欠如に不満ました。私は毎週のスクラブと毎週/毎月のSMARTセルフテスト用にcronを設定しているので、これらの問題を検出できるはずです。やってみます。
ミッケル、2015年

定期的(毎週または毎月)のスクラブは重要です。ドライブから読み取ることができないためにスクラブが検出してエラーが発生すると、エラー数が増加します。を使用してエラー数を確認します。dev statsこれは別のcronjobの場合もあります
基本6 2015年

回答:


5

はい、追加の500 GBを取得します。btrfsで使用可能なスペースを決定することは依然として困難であることに注意してください。また、btrfsのディスク使用量計算ツールもご覧ください。

2番目の質問について:アレイのパフォーマンスが低下する可能性があります。当然、データは両方のRAID構成で等しく安全です。:パフォーマンスを考慮するとき、あなたはおそらく、これらのベンチマークを見て持つことができkernel.orgphoronix.comを

RAID 1への変換をすでに試したことがありますか?もしそうなら:あなたの発見は何ですか?


1
これは質問に対する答えを提供しません。批評したり、著者に説明を求めたりするには、投稿の下にコメントを残します。いつでも自分の投稿にコメントできます。十分な評判得られれ、どの投稿にもコメントできます。
DavidPostill

しかし、あなたの質問に答えるために、私は変換しました、そして結果は私の期待と一致しているようです。Btrfsは実際の利用可能なディスク容量を示すという不十分な仕事をしますが、4 TBドライブの追加の容量が利用されていること、および(2.83 + 1.93 + 1.93 + 1.95)/2~=4.30 の出力を見ることができますbtrfs fi sh予想通り。私は最近ドライブ障害に耐え、データの損失なしに正常に再構築したので、冗長性が損なわれていないことを直接確認できます。
ミッケル2015年

@davidの返信が不明瞭だったのは残念です。元の投稿の最後の2行にある2つの質問に答えようとしました。さらに、(btrfsに固有のように見える)不確実性の範囲を示し、参照用にソースを提供しました。確かに私は著者にも質問をしたので、他の人が彼の発見からおそらく学ぶことができました。あなたがすでに説明した理由により、私は答えの中でこれを行いました。次にスタック交換に関する質問に答えるときに、あなたのコメントを検討します。
ローラ

それは最も確実な答えではないかもしれませんが、私の結果はあなたの仮定が正しいことを示しているので、私はそれを受け入れています。ただし、パフォーマンスの違いについてのコメントはわかりません。ハードウェアRAID 1と10には確かに当てはまりますが、BtrfsがRAID 10からパフォーマンスを向上させるかどうかはわかりません。さらに、RAID 1と呼ばれるものは、ここでも複数のデバイスにストライプ化されているため、RAID 10に似ています。実際のRAID 1.変換前に返信を読んだ場合は、ベンチマークの前後に行っていたはずですが、アレイをRAID 10に変換したり、戻ったりするのにもう1週間費やしていません。
Mikkel 2015年

まあ、このページがあります。これは、RAID 1よりもRAID 10の方がわずかなメリットがあることを示しています。
Mikkel 2015年

0

btrfs raid 5または6を使用しないでください。実装にはバグが多く、必要に応じてzfsを実行してください。

raid10を使用すると、速度が向上します。

最適な方法は、4 TBドライブに3 TBのパーティションを作成し(3つすべてがまったく同じサイズであることを確認します)、それらを組み合わせて6 TBの空き領域を持つRAID10にします。/ bootに4 TBドライブの追加の1 TBを使用します(efistubを使用し、GRUBまたはブートを少し高速にする他のブートローダーを使用しない場合は、とにかくこれはvfatでなければなりません)。スワップします(使用できるのはかなり大きなもの、最適なのは小さなzramスワップです(4 GBは32 GB RAMで正常に動作し、2 GBは16 GBで問題ありません。価値がある場合、IDKが16未満であれば、とにかくアップグレードする必要があります)。コア/スレッドと同じ数のzstdと圧縮ストリームを使用して(優先度を最高に設定して)最初に使用します...

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