だから、私は知りたいのですが、mdadmで次のことをすることが可能です:
sda
およびsdb
。sdc
を追加し、すべてのデータをsdb
からそのディスクに移動したいと思います。sdb
を切断します。現在、オプションは1つしか表示されません-アレイを停止し、sdb
をsdc
にdd
または他のブロックコピーツールでコピーして、アレイを再び開始します。
私は何かを逃していますか? mdadmでこれを行うことは可能ですか?
まず、「RAID0にはホットスペアがない」とまだ信じている人たちへ。 RAIDレベルとmdadmを理解している人間が手動でスペアを用意することもできます。 mdadmはソフトウェアRAIDなので、多くの興味深いことができます。
アイデアのクレジット Zoredache !
ダウンタイムが許容できる場合は、いつでもddを使用してディスクのブロックコピーを作成し、アレイを再構成するだけで、mdadmは問題なく動作します。
RAID0-> RAID4-> RAID0
したがって、RAID4を覚えていない場合、それは簡単です。パリティブロックがありますが、RAID5とは異なり、アレイ全体に分散されるのではなく、1つのディスク上に存在します。これがポイントです。これは重要であり、これがRAID5が機能しない理由です。
必要なもの:交換するディスクと同じサイズのディスクがさらに2つ。
Sudo mdadm -C /dev/md0 -l 0 -n 2 /dev/sd[bc]
md0 : active raid0 sdc[1] sdb[0]
2096128 blocks super 1.2 512k chunks
Raid0配列を作成しました。見栄えが良いです。
Sudo md5sum /dev/md0
b422ba644a3c83cdf28adfa94cb658f3 /dev/md0
これがチェックポイントです。1ビットでも結果が異なる場合は/dev/md0
-失敗しました。
Sudo mdadm /dev/md0 --grow --level=4
md0 : active raid4 sdc[1] sdb[0]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
そのため、アレイをRAID4に拡張しました。パリティディスクはまだ追加していません。追加しましょう。成長は瞬時に行われます-再計算または再計算するものはありません。
Sudo mdadm /dev/md0 -a /dev/sdd
md0 : active raid4 sdd[3] sdc[1] sdb[0]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
[===>.................] recovery = 19.7% (207784/1048064) finish=0.2min speed=51946K/sec
パリティディスクとしてsdd
を追加しました。これは覚えておくことが重要です-最初の行のディスクの順序は2番目の行の画像と同期されていません! [UU_]
sdd
が最初に表示されますが、実際には最後に表示され、データではなくパリティが保持されます。
Sudo mdadm /dev/md0 -f /dev/sdb
md0 : active raid4 sdd[3] sdc[1] sdb[0](F)
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
次の手順でディスクを削除するために、ディスクsdbに障害を発生させました。
Sudo mdadm --detail /dev/md0
State : clean, degraded
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
3 8 48 2 active sync /dev/sdd
0 8 16 - faulty spare /dev/sdb
詳細には、最初のディスクの取り外しが示されています。ここでは、アレイ内のディスクの実際の順序を確認できます。パリティ付きでディスクを追跡することが重要です。RAID0に戻るときに、ディスクをアレイに残さないでください。
Sudo mdadm /dev/md0 -r /dev/sdb
md0 : active raid4 sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
sdb
は完全に削除され、削除される可能性があります。
Sudo mdadm /dev/md0 -a /dev/sde
md0 : active raid4 sde[4] sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [_UU]
[==>..................] recovery = 14.8% (156648/1048064) finish=0.2min speed=52216K/sec
Sdbディスクの代わりを追加しました。そして、ここに行きます:sdbのデータは、パリティを使用して回復されています。 Sweeeeet。
md0 : active raid4 sde[4] sdd[3] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/3] [UUU]
できました。現在、私たちは完全に安全です-sdbからのすべてのデータが回復され、sddを削除する必要があります(パリティを保持していることを忘れないでください)。
Sudo mdadm /dev/md0 -f /dev/sdd
md0 : active raid4 sde[4] sdd[3](F) sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
Sddを不良にしました。
Sudo mdadm /dev/md0 -r /dev/sdd
md0 : active raid4 sde[4] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
アレイからsddを削除しました。再びRAID0になる準備が整いました。
Sudo mdadm /dev/md0 --grow --level=0 --backup-file=backup
md0 : active raid4 sde[4] sdc[1]
2096128 blocks super 1.2 level 4, 512k chunk, algorithm 5 [3/2] [UU_]
[=>...................] reshape = 7.0% (73728/1048064) finish=1.5min speed=10532K/sec
あぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
md0 : active raid0 sde[4] sdc[1]
2096128 blocks super 1.2 512k chunks
できました。 md5チェックサムを見てみましょう。
Sudo md5sum /dev/md0
b422ba644a3c83cdf28adfa94cb658f3 /dev/md0
他に質問は?したがって、RAID0はホットスペアを持つことができます。 「ユーザー」と呼ばれます;)
私が知る限り、一度RAID0をセットアップすると、ディスクの1つを変更することはできません。バックアップを取り、ディスクを切り替えて、バックアップを復元できます。私はあなたが持っているそれらの3つのディスクをちょうどRAID5にします。そうすれば、将来的にはディスクを削除して再構築することができます。
RAID 0は冗長性を提供しません。
したがって、ホットドライブの交換はサポートされていません。