web-dev-qa-db-ja.com

mdadmでRAID1をRAID10に変換します

現在のUbuntuサーバーでは、mdadmを使用してRAID1に2x2TB Western DigitalREDハードドライブがあります。 2TB REDドライブをさらに2つ追加して、RAID 10に変換したいと思います。データをワイプする必要がある可能性が高いと思いますが、必要のない方法はありますか? 2TBのボリュームがほぼ完全にいっぱいになっています

4
Canadian Luke

これにはある程度の戦略が必要でしたが、残念ながら少し前のことでしたので、ご容赦ください。私は記憶で行きます。

基本的に、サーバーをシャットダウンし、2つの新しいドライブをインストールしました。念のため、事前に外付け4TB HDDにバックアップしました(USB3を搭載しているのではるかに高速です!)。ありがたいことに使う必要はありませんでしたが、少なくとも持っていて良かったです。ディスク上のパーティションサイズ(ブロックサイズ別)と、各ディスクのサイズに注意しました。当時、sdasdbは、現在のアレイがロードされたドライブでした。 sdcsddが新しいドライブでした。 fdiskをrootとして使用して、パーティションレイアウトを2つの新しいディスクにコピーしました。次に、2つのメンバーが欠落している新しい配列を作成しました。

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sdc1 missing /dev/sdd2 missing

このコマンドは、/dev/md1と呼ばれるアレイを作成し、RAIDタイプを10に設定し、完璧な世界には4つのデバイスが必要であることを示します。追加したデバイスは、最初のパーティションの/dev/sdc1/dev/sdd1でした。起動したら、アレイを(/mnt/raidとして)マウントし、rsync -avP /mnt/data/ /mnt/raid/を実行して、すべてがコピーされるのを1日待ちました。

コピーしたら、アレイ内のハードドライブに障害が発生し、それらを削除する必要があります:mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1。次に、そのハードドライブを新しいアレイに追加し、再構築されるのを待ちます。次に、最後のドライブをアレイから削除し(代わりに、/deb/sdbを使用)、追加し直します(mdadm /dev/md1 --add /dev/sda1)。

最後に、古いアレイを起動または警告から削除するには、mdadm --stop /dev/md0を実行します。この時点で、古いアレイはなくなりました。ブートローダーがアレイ(または、スキームによっては、ハードドライブのブートセクター)に正しくインストールされていることを再確認することをお勧めします。テストリブートしてください。すべてがうまくいったら、素晴らしいです!そうでない場合は、それがバックアップがある理由です!

ボーナスとして、ドライブの再構築ステータスで2秒ごとに画面を自動的に更新する新しい便利なコマンドwatch cat /proc/mdstatを学びました。私も ブログエントリを書いた 写真を含む私の経験について。

9
Canadian Luke

RAIDコントローラーがRAID1-> RAID 10の再構築をサポートしている場合、はい、データが失われる可能性があります。

ソフトウェアRAID.。

空のネットRAID1を2台の新しいHDDに追加します。データを失うリスクなしに、同様の信頼性をレイドします。

0
STTR