- smartdで「SMART error」の通知があった(まだmd的にはfailしていない)場合、
HDDにFAILを付けて、mdのspareへのrecoveryを開始させる(md判断でfailを付けていれば、自動でrecoveryは始まっている)。
$ sudo mdadm --manage /dev/md0 --fail /dev/sdb1
$ sudo mdadm --manage /dev/md1 --fail /dev/sdb5
$ sudo mdadm --manage /dev/md2 --fail /dev/sdb6
- MDからremoveし、swapもOFFする。
$ sudo mdadm --manage /dev/md0 --remove /dev/sdb1
$ sudo mdadm --manage /dev/md1 --remove /dev/sdb5
$ sudo mdadm --manage /dev/md2 --remove /dev/sdb6
$ sudo swapoff /dev/sdb2
- HDDのオフライン化
まず、lsscsiで番号を確認
$ lsscsi -v
[0:0:0:0] disk ATA TOSHIBA MQ01ABD1 1U /dev/sda
dir: /sys/bus/scsi/devices/0:0:0:0 [/sys/devices/pci0000:00/0000:00:11.0/ata1/host0/target0:0:0/0:0:0:0]
[1:0:0:0] disk ATA TOSHIBA MQ01ABD1 1U /dev/sdb
dir: /sys/bus/scsi/devices/1:0:0:0 [/sys/devices/pci0000:00/0000:00:11.0/ata2/host1/target1:0:0/1:0:0:0]
[2:0:0:0] disk ATA TOSHIBA MQ01ABD1 1U /dev/sdc
dir: /sys/bus/scsi/devices/2:0:0:0 [/sys/devices/pci0000:00/0000:00:11.0/ata3/host2/target2:0:0/2:0:0:0]
$ su
# echo 1 > /sys/class/scsi_device/X:0:0:0/device/delete
(Xの値は、上記lsscsiのsd[a-c]の値を見て確認)
すると、下記のようなlogが出ます(下記のYは、Y=X+1)。
sd X:0:0:0: [sdb] Synchronizing SCSI cache
sd X:0:0:0: [sdb] Stopping disk
ataY.00: disabled
- HDD抜く!
電源入ったまま抜くのは怖いが、やる!すると、以下のようなsyslog...「complete」?
ataY: exception Emask 0x10 SAct 0x0 SErr 0x90202 action 0xe frozen
ataY: irq_stat 0x00400000, PHY RDY changed
ataY: SError: { RecovComm Persist PHYRdyChg 10B8B }
ataY: hard resetting link
ataY: SATA link down (SStatus 0 SControl 300)
ataY: EH complete
- 新しいHDDを入れる!
電源入ったまま入れるのも怖いが、やる!すると、以下のようなsyslog...。
ataY: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ataY.00: ATA-8: TOSHIBA MQ01ABD100M, AX101U, max UDMA/100
ataY.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
ataY.00: configured for UDMA/100
ataY: EH complete
scsi X:0:0:0: Direct-Access ATA TOSHIBA MQ01ABD1 1U PQ: 0 ANSI: 5
sd X:0:0:0: Attached scsi generic sg1 type 0
sd X:0:0:0: [sde] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
sd X:0:0:0: [sde] 4096-byte physical blocks
sd X:0:0:0: [sde] Write Protect is off
sd X:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd X:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sde: unknown partition table
sd X:0:0:0: [sde] Attached SCSI disk
以下のように手動でhostXをscanするよう促すのかと思いきや、自動で認識した。
scsiアドレスは抜いたものと同じ'X:0:0:0'だが、デバイス名は/dev/sdeとなった...。
$ su
# echo "- - -" > /sys/class/scsi_host/hostX/scan
- HDDのパーエィション分け
fdiskで、他のHDDと同じパーティション構成を作成する。
$ sudo fdisk /dev/sde
- HDDをADDする
$ sudo mdadm --manage /dev/md0 --add /dev/sde1
$ sudo mdadm --manage /dev/md1 --add /dev/sde5
$ sudo mdadm --manage /dev/md2 --add /dev/sde6
- SWAPを追加
$ sudo mkswap /dev/sde2
$ sudo vi /etc/fstab
/dev/disk/by-uuid/を確認して、UUIDにて記載
# swap was on /dev/sde2 during installation
UUID=********-****-****-****-************ none swap sw,nofail 0 0
$ sudo swapon -a
- smartdの再起動(監視デバイスの再設定)
$ sudo /etc/init.d/smartmontools restart
- MD設定に記載のオマジナイを行なう。