web-dev-qa-db-ja.com

空のドライブでのmdadmRAID高速セットアップ?

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アレイを含む既存のディスクセットからアレイを再構築しています。私は、正しくストライプ化されているとは見なされず、空であると見なされるべき配列について話しています。

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

9
Paul

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

7
psusi

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

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

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

2
Anders