その場でMDADM RAID 5/6にディスクを追加する

今日は、アレイを再構築せずに(既存のRAID 5/6にディスクを追加する方法(4〜10 TBのデータをバックアップすることはしばしば非現実的です)、1〜2日間サーバーを停止しない方法について簡単に説明します。 この命令は、mdadmを介したLinuxソフトトレード用に書かれており、ハードウェアコントローラー/ Windowsとの会話は特別で、多くの場合非常に短い(それだけです)



それでは、始めましょう(システムはUbuntu 10.04ですが、ほとんどどこでも動作するはずです)。



まず最初に、ディスクを接続し、1〜2日(まあ、少なくとも1回は完全に書き換える)負荷の下でドライブし、ファイルを読み書きします。 これは、ディスク、コントローラー、ケーブルの問題をすぐに検出するために必要です。 これを行わず、アレイに「不良」ディスクを追加するのは非常に楽しい場合があります(実際、これは私に起こりました。SATA6ディスクはSATA1コントローラーとあまり互換性がないことが判明しました。



0. mdadmのバージョンを確認します -最新の安定バージョンを使用することをお勧めします。 (上記のプライバシーでは、このガイドの執筆中に、障害の後も動作し続けている間にバグが見つかりました-stripe_cache_sizeはインストールされませんでしたが、これは既に修正されているはずです)



1.書き込みインテントビットマップがある場合は、 書き込みインテントビットマップを無効にします(失敗した場合にアレイの再アセンブリを高速化するために使用されます)。



mdadm --grow --bitmap=none /dev/md0







2.ディスクをホットスペア(ホットスペア)としてアレイに追加します -この段階では、ディスクへの書き込みは開始されませんが、障害が発生したり、アレイのサイズが変更された場合にディスクが使用されます。



mdadm /dev/md0 -a /dev/sda1

mdadm /dev/md0 -a /dev/sdb1







cat / proc / mdstatを作成し、ディスクがホットスペア(S)として追加されたことを確認します



Personalities : [raid6] [raid5] [raid4]

md0 : active raid6 sdb1[7](S) sda1[6](S) sdd1[2] sdc1[4] sdh1[0] sdg1[5] sdf1[1]

2929683456 blocks super 1.2 level 6, 1024k chunk, algorithm 2 [5/5] [UUUUU]









3. 壁からコンセントを引き、 コンセントからプラグを引いてUPSを確認します (ただし、コンセントも可能です)。 バッテリーは、おっと、気づかないうちに硫酸塩が好きで、数秒で突然死ぬ可能性があります。



UPSの存在は安全なサイズ変更のために必要ではないという事実にもかかわらず、それはより穏やかです。 カーネルのRAIDアレイドライバーは、サイズ変更の進行を常に保存し、どこかで障害が発生しても問題なく続行できます。



4.最も重要なチーム



mdadm --grow /dev/md0 --raid-disk=8 --backup-file=/var/backup







backup-file-アレイのサイズ変更の最初の段階で障害が発生した場合に、アレイに関するデータのバックアップコピーを保存するために必要です。 もちろん、ファイルをレイド自体に置く必要はありません 。 同様に、-level = 6を指定することにより、RAID-5からRAID-6を作成できます(大規模なRAID-5のリカバリには最大10-20時間かかるため、RAID-6は2台のディスクの死に耐えることができます。この時点で何かが起こる可能性があります...)



平均的なサイズ変更操作は、最も遅いディスクの速度で行われます。 つまり 最も遅いディスクが60Mb / sを押すと、mdadmはその速度でアレイを1回通過する必要があります。 テラバイトディスクの場合、これはプロセッサが間に合う場合は約5時間、そうでない場合は遅くなります。 速度が低すぎる場合-行う



echo "200000" > /sys/block/md0/md/sync_speed_max







配列を拡張するプロセスでは、データは利用可能なままで、/ proc / mdstatを介して進行状況を監視できます。



5.サイズ変更が完了したら、 ファイルシステム展開します 。 最初に確認する



e2fsck -f /dev/md0







次に、拡張機能自体:



resize2fs /dev/md0







6.書き込みインテントビットマップを追加し直します。

mdadm -G / dev / md0 --force -b / var / md0_intent --bitmap-chunk = 65536



7. mdadm.conf configを再生成します。 実施します



mdadm --detail --scan –verbose









そして、結果を/etc/mdadm/mdadm.confに貼り付けます



8.再起動後に正しいmdadm設定が使用されるように、 ramfsを再生成します。



update-initramfs -k all –u









完了



これで、より大きなRAIDアレイができ、この機会を得るために狂ったお金を払う必要がなくなりました。 監視を忘れないでください-ディスクが多ければ多いほど、ディスクの1つが過熱するリスクが高くなります。



PP たとえば、1TBのディスクのアレイがあり、突然2から500のディスクがある場合、それらをRAID-0に結合してメインアレイに追加できます。 これらの2つのディスクに100 MBの空き領域が残っている場合-個別のパーティションとしてこれを行い、RAID-1にマージし、そこにマウント/起動/起動できます-そして、システムをRAIDに完全に転送し、補助手段なしで起動できます(フラッシュドライブ、古いほうきなど)。



PPS 自宅のファイルサーバーの右側のディスクの数を見ると、子供の頃はおそらくハードドライブが少なすぎると思うようになりました...しかし、それはもっと悪い可能性があります



コメント/質問-スタジオで。



All Articles