ミラーリングされたRAID(RAID 1など)のディスクは、他のディスクの正確なミラーリングされたコピーであることがよくあります。
それでは、システムをシャットダウンして2つのハードドライブケーブルを簡単に交換できますか?
2つのディスクのいずれかがクラッシュして永遠に動作しない場合は、単にシステムをシャットダウンし、死んだハードドライブの代わりに3番目(新しい)ハードドライブを挿入してLive CDから起動し、ディスクの内容全体を「dd」できますか? ?新しいディスクを使用してRAID 1で再起動して実行できますか?
そんなに簡単ではないとしたら、なぜこれができないのでしょうか?
答え1
同じデータコピーが各ディスクに保存されます(アレイが「ダーティ」でない場合、たとえばディスク0に書き込んだ後、ディスク1に書き込む前に電源が切れた場合)。ただし、メタデータは異なります。これにより、mdadmとmdは2つのディスクを区別できます。
ケーブルを交換できますか?
あなたできる両方のディスクのケーブルを交換してください。ユーザー(または展開の起動スクリプト)がアレイ上でタスクをmdadm --assemble
実行すると、mdadmは各ディスクのメタデータを表示し、ディスク1とディスク2を識別します。
実際、これは非常に柔軟性があり、たとえばディスクの1つを取り外してUSB-SATAエンクロージャに挿入し、USBポートに接続すると、mdraidはまだ完全に機能します。
を使用して劣化したアレイを回復できますかdd
?
いいえ。これにより、ディスク1が2つ、ディスク2が2つになり、mdadmは混乱します(そしてこれをテストしていませんが、アレイの組み立てを拒否すると思います)。
通常、すべてのアレイ管理はmdraidを介して行われ、mdadm
mdraidをバイパスするのは良い考えではありません。アレイを復元するには、アレイに新しいディスク/パーティションを追加します。このようにsdb1
ディスクのパーティションを交換するとします。
mdadm --add /dev/md0 /dev/sdb1
その後、mdraidはデータをコピーし、mdraidを使用してステータスを表示できますcat /proc/mdstat
。再同期中でもアレイを使用できます。 Live CDや同様のデバイスから起動する必要はありません(パフォーマンスが低下したアレイから起動できる必要があります)。実際にシステムにホットスワップ可能なトレイがある場合は、次のように失敗したsdbを交換できます。
mdadm -r /dev/md0 /dev/sdb1
- ドライブの取り外し
- 新しいドライブに入れる
- 新しいドライブを分割します(常にそうではありませんが、通常はsdbに戻ります)。
mdadm -a /dev/md0 /dev/sdb1
ダウンタイムは不要です。
また、ミラーから起動する場合は、ブートローダ(grubなど)が両方のディスクにインストールされていることを確認する必要があります。これを行う方法はディストリビューションによって異なります。
他に何もない?
はい。mdadm --create
回復段階ではありません。これは新しい、空の配列の場合、次のステップは通常またはpvcreate
ですmkfs
。すでに存在するアレイが使用され始めましたmdadm --assemble
。 (これは非常に一般的なエラーに見え、データを破損する可能性があります。)
最後のコメント
おそらくmdraidドキュメントに慣れるのに時間を費やす必要があります。はい結局のところ、あなたのデータを信頼してください。)特にmdadm
マニュアルページ、ディストリビューションで公開されているすべてのRAIDドキュメント、およびDocumentation / md.txt(カーネルバージョンに対応するカーネルソースコードから)を読んでください。これはわかりやすい文書ではありませんが、通常は最新の文書です。
まだ一つあります。Linuxレイドウィキただし、すべてのコンテンツが最新ではありません。
他のページもありますが、歴史的記録以外のmkraid
内容に言及するときは特に注意してください/etc/raidtab
。これらのツールは10年が過ぎたからです。
答え2
このディスクは100%同じではありません。各Linux Softraidデバイスには、独自のGUIDを持つメタデータブロックが含まれています。したがって、ddが機能しない可能性があります。
しかし、ポートは重要ではありません。ドライブを外付けUSBボックスに挿入しても動作し続けます。もちろん、ハードウェア攻撃には適していません。