Ubuntu 12.10 Server の Software RAID(ディスク3台構成の RAID 5 )にスペアディスクを追加して、起動中にディスクを削除した時、ホットスペアするか確認した。
VirtualBox のVM(Ubuntu Server)に、スペアとなる仮想ディスク1台を追加して計4台にした。
起動して、追加したディスクにパーティションを作成した。、
fdisk /dev/sdd
n –> p –> default 1 –> default –> default –> w
追加したディスクをスペアにする。正常な RIAD にディスクを追加すると、スペアになるようだ。
mdadm –a /dev/md0 /dev/sdd1
mdstat で状況を確認した。sdd1 がスペアとなった。
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdb1[1] sdc1[2] sda1[3] sdd1[4](S)
6282240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
続いて、RAID 5 を構成するディスクの1台を止めてみた。Ubuntu は起動中である。
echo 1 > /sys/class/scsi_disk/0:0:0:0/device/delete
/dev/sda が無効になると、すぐにホットスペアが自動実行され、リカバリが開始された。
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd1[3] sdc1[2] sdb1[1]
6282240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
dmesg には、以下のとおり記録されていた。
[ 767.988624] sd 0:0:0:0: >[sda] Synchronizing SCSI cache
[ 768.001358] sd 0:0:0:0: >[sda] Stopping disk
[ 768.001613] ata1.00: disabled
[ 768.005060] md/raid:md0: Disk failure on sda1, disabling device.
[ 768.005060] md/raid:md0: Operation continuing on 2 devices.
[ 768.048038] RAID conf printout:
[ 768.048045] --- level:5 rd:3 wd:2
[ 768.048049] disk 0, o:0, dev:sda1
[ 768.048052] disk 1, o:1, dev:sdb1
[ 768.048054] disk 2, o:1, dev:sdc1
[ 768.048056] RAID conf printout:
[ 768.048057] --- level:5 rd:3 wd:2
[ 768.048059] disk 1, o:1, dev:sdb1
[ 768.048061] disk 2, o:1, dev:sdc1
[ 768.048071] RAID conf printout:
[ 768.048073] --- level:5 rd:3 wd:2
[ 768.048075] disk 0, o:1, dev:sdd1
[ 768.048077] disk 1, o:1, dev:sdb1
[ 768.048079] disk 2, o:1, dev:sdc1
[ 768.048255] md: recovery of RAID array md0
[ 768.048258] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
[ 768.048260] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
[ 768.048264] md: using 128k window, over a total of 3141120k.
[ 768.148067] md: unbind<sda1>
[ 768.148074] md: export_rdev(sda1)
ディスクがディセーブルになると、RAID がディスク2台の縮退動作に移行している。そのあと自動的にスペアディスクが追加され リカバリを実行している。
(おわり)