空のドライブでのmdadm RAID Fast Setup?


9

mdadmを使用して、一部のRAID5ディスクをRAID6として再作成しています。気になるドライブのデータはありません。

RAIDのセットアップには形状のセットアップに時間がかかります-ストライプ化およびパリティー計算が必要なデータがある場合は受け入れますが、これらのドライブでは空であるか、少なくとも空であると見なします。

パリティの計算をスキップして、スーパーブロックを設定して実行するようにmdadmに指示する方法はありますか。それ以外の場合、移動するデータがないときに、この時間を正確に何に費やしているのでしょうか。

md3 : active raid6 sdf3[5] sde3[4] sdd3[3] sdc7[2] sdb3[1] sda3[0]
      1953114112 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  1.3% (6790144/488278528) finish=409.3min speed=19604K/sec

--assume-clean正しいとわかっているRAIDアレイを含む既存のディスクのセットからアレイを再構築している場所については話していません。空と見なされるべき配列、正しくストライプされていないと見なされるべき配列について話している。

したがって、この質問のために、デバイスにゼロが事前に入力されているとしましょう。

回答:


8

使用でき--assume-cleanますが、raid5(raid6ではなく)を使用していて、実際にディスクがゼロでいっぱいでない限り、初めてパリティチェックを実行するときに、修正が必要なエラーが発生するため、これを実行しないでください。アレイの使用を開始する前に再同期が完了するのを待つ必要はありません。完了するまでバックグラウンドで動きます。


ありがとうpsusi-これは質問に対処していません。
ポール

2
@Paul、うーん..はい、そうです。同期しているだけ、または同期していない「空」のようなものはありません。
psusi

それは私が尋ねている質問を扱っていません。ゼロのブロックのxorはゼロです。したがって、スペースを空と見なすことができることをmdadmに伝えることができれば、パリティを非常に迅速に作成できます。パリティは、特定のブロックが書き込まれた場合にのみ適切に計算する必要があります。その時点で、以前に「間違っていた」ことは問題ではありません。実際にディスクをゼロにすることもできました。
ポール

2
@Paul、繰り返しますが、「空」のようなものはありません。一般的にはい、書き込まれたことがないストライプのパリティが間違っていても問題ありません。そのため、ディスクがゼロでいっぱいになっていなくても、-assume-cleanで回避できますが、間違ったパリティはmdadmがパリティチェックを行うときに検出および修正されます。
psusi

2
@Paul、「空」の意味は明確に定義されていません。ほとんどの人はこれを使用して、デバイスにファイルまたはファイルシステムを配置しておらず、現在何が含まれているかを知りません。ディスクがすべてゼロでいっぱいであることがわかっている場合は、-assume-cleanが必要です。ディスクがすべてゼロであり、パリティが再計算されないというのはあなたの言葉です。そして、あなたが言及するように、ゼロのパリティは、少なくともraid5(raid6ではなく)のすべてのゼロのデータディスクに対して正しいでしょう。
psusi

2

これは、ソフトウェアまたはハードウェアRAIDでは実行できません。すべてのチェックサムをディスクに書き込む必要があるため、時間がかかります。後でそれを行うことはできますが、書き込まれていないディスクの部分は、使用する前に行う必要があります。

これは基本的に、RAIDシステムとファイルシステムがお互いについて知らないためです。ZFSにはこれに対する解決策がありますが、RAIDパーツはファイルシステムと深く統合されています。そのため、RAIDサブシステムは実際に、ディスクのどの部分がデータを格納するために使用され、後で使用できるかをチェックサムに書き込むことができます。

ソフトウェアRAIDにスループット速度を追加するか、すべてのチェックサムが書き込まれる前にRAIDの使用を開始して、後でソフトウェアRAIDに処理を任せることができます。魔女は@psusiが書いたものです。


RAIDの仕組みを理解しています。空のディスクのチェックサムで何が起こるかを理解しようとしています。チェックサムは、何かがディスクに書き込まれるたびに計算する必要があるため、データが存在する前に計算するのはあまり意味がありません。何もない場合は、「後で実行する」のが賢明です。このシナリオで検討するファイルシステムはありません。
Paul

6
あります、常にデータの存在が。それは重要または意味がないかもしれませんが、すべてのセクターには常に価値があります。(ゼロも価値です!)RAIDの実装では、どのセクターに重要なデータが含まれているかがわからないため、すべてのセクターを重要なものとして扱い、パリティを計算する必要があります。
ウィザード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.