だから、私は知りたいのですが、mdadmで次のことをすることが可能です:
- 私は2枚のディスク上のRAID0構成で起動します
sda
とsdb
。 - もう1つのディスクをアレイに追加
sdc
しsdb
、そこからすべてのデータを移動したいと思います。 - 切断
sdb
。
現在、オプションは1つしか表示されません。アレイを停止sdb
しsdc
、dd
または他のブロックコピーツールでコピーして、アレイを再び開始します。
私は何かを逃していますか?mdadmでこれを行うことは可能ですか?
だから、私は知りたいのですが、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のデータはパリティを使用して回復されています。スウィート。
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にするでしょう そうすれば、将来的にはディスクを削除して再構築することができます。