私のDebianマシンでは、3台のHDDをアクティブに使用して、健全で機能するソフトウェアベースのRAID1を使用しています。
ディスクの1つをスペアとしてマークして、2つのアクティブ+ 1つのスペアになるようにしたいのですが。
のようなもの:
mdadm --manage --raid-devices=2 --spare-devices=1 /dev/md0
同様に、いずれかのオプションが現在のオプションモードでサポートされていないか、単に失敗したと言って失敗します。
Billy@localhost~#: mdadm -G --raid-devices=2 /dev/md0
mdadm: failed to set raid disks
unfreeze
または
Billy@localhost~#: mdadm --manage --raid-devices=2 --spare-devices=1 /dev/md0
mdadm: :option --raid-devices not valid in manage mode
または類似。わからない。助けてください?
cat /proc/mdstat
を使用して、アレイの現在の状態を確認できます。この例では、そこからデータが取得されます。
それでは、raid1に3つのディスクがあるmd127
があるとします。ここでは、それらは1つのディスクのパーティションにすぎませんが、問題ではありません
md127 : active raid1 vdb3[2] vdb2[1] vdb1[0]
102272 blocks super 1.2 [3/3] [UUU]
削除する前に、ディスクの1つをオフラインにする必要があります。
$ Sudo mdadm --manage /dev/md127 --fail /dev/vdb2
mdadm: set /dev/vdb2 faulty in /dev/md127
そしてステータスは今それが悪いことを示しています
md127 : active raid1 vdb3[2] vdb2[1](F) vdb1[0]
102272 blocks super 1.2 [3/2] [U_U]
これで、このディスクを削除できます。
$ Sudo mdadm --manage /dev/md127 --remove /dev/vdb2
mdadm: hot removed /dev/vdb2 from /dev/md127
md127 : active raid1 vdb3[2] vdb1[0]
102272 blocks super 1.2 [3/2] [U_U]
そして今、サイズを変更します:
$ Sudo mdadm --grow /dev/md127 --raid-devices=2
raid_disks for /dev/md127 set to 2
unfreeze
この時点で、アレイを2つのディスクに正常に削減できました。
md127 : active raid1 vdb3[2] vdb1[0]
102272 blocks super 1.2 [2/2] [UU]
したがって、新しいディスクをホットスペアとして再度追加できます。
$ Sudo mdadm -a /dev/md127 /dev/vdb2
mdadm: added /dev/vdb2
md127 : active raid1 vdb2[3](S) vdb3[2] vdb1[0]
102272 blocks super 1.2 [2/2] [UU]
(S)
は、それがホットスペアであることを示しています。
既存のディスクに障害が発生し、スペアで再構築が行われることに気づくことで、これが期待どおりに機能することを確認できます。
$ Sudo mdadm --manage /dev/md127 --fail /dev/vdb1
mdadm: set /dev/vdb1 faulty in /dev/md127
md127 : active raid1 vdb2[3] vdb3[2] vdb1[0](F)
102272 blocks super 1.2 [2/1] [_U]
[=======>.............] recovery = 37.5% (38400/102272) finish=0.0min speed=38400K/sec
vdb2
はホットスペアではないため、(S)
としてマークされなくなりました。
不良ディスクが再度追加された後itがホットスペアとしてマークされるようになりました
md127 : active raid1 vdb1[4](S) vdb2[3] vdb3[2]
102272 blocks super 1.2 [2/2] [UU]