LinuxでHDDをhot swapするよということ

うちのlsscsi

$ lsscsi
[0:0:0:0] disk ATA ST2000DM001-1CH1 CC27 /dev/sda
[0:0:1:0] cd/dvd ATAPI iHBS112 2 PL02 /dev/sr0
[1:0:0:0] disk ATA WDC WD30EZRX-00D 80.0 /dev/sdb
[1:0:1:0] disk ATA WDC WD30EZRX-00D 80.0 /dev/sdc
[2:0:0:0] disk ATA INTEL SSDSA2CW12 4PC1 /dev/sdd
[3:0:0:0] disk ATA ST2000DM001-1CH1 CC24 /dev/sde
[6:0:0:0] cd/dvd CDEmu Virt. CD/DVD-ROM 1.10 /dev/sr1

今回はこの中のsdaを交換する。 pvsとbtrfs fi showでsdaを使っていないことを確認。

$ echo 1 |sudo tee /sys/block/sda/device/delete

これでdmesgが

[378124.970346] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[378124.970640] sd 0:0:0:0: [sda] Stopping disk
[378125.974277] ata1.00: disabled

となって、diskが外れる。lsscsiして確認

$ lsscsi
[0:0:1:0] cd/dvd ATAPI iHBS112 2 PL02 /dev/sr0
[1:0:0:0] disk ATA WDC WD30EZRX-00D 80.0 /dev/sdb
[1:0:1:0] disk ATA WDC WD30EZRX-00D 80.0 /dev/sdc
[2:0:0:0] disk ATA INTEL SSDSA2CW12 4PC1 /dev/sdd
[3:0:0:0] disk ATA ST2000DM001-1CH1 CC24 /dev/sde
[6:0:0:0] cd/dvd CDEmu Virt. CD/DVD-ROM 1.10 /dev/sr1

ディスクをejectして、新しいのをつけてさしこんで認識させる。 rescan-scsi-bus を使う

sudo /usr/sbin/rescan-scsi-bus --hosts=0 --channels=0 --ids=0 --luns=0
Host adapter 0 (ata_piix) found.
Host adapter 1 (ata_piix) found.
Host adapter 2 (ata_piix) found.
Host adapter 3 (ata_piix) found.
Host adapter 4 (pata_via) found.
Host adapter 5 (pata_via) found.
Host adapter 6 (vhba) found.
Scanning SCSI subsystem for new devices
Scanning host 0 channels 0 for SCSI target IDs 0, LUNs 0
Scanning for device 0 0 0 0 ...
NEW: /usr/sbin/rescan-scsi-bus: line 374: usleep: command not found
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD40EZRX-00S Rev: 80.0
Type: Direct-Access ANSI SCSI revision: 05
1 new device(s) found.
0 device(s) removed.

lsscsiするとちゃんと認識されてる。よかった!

$ lsscsi
[0:0:0:0] disk ATA WDC WD40EZRX-00S 80.0 /dev/sda
[0:0:1:0] cd/dvd ATAPI iHBS112 2 PL02 /dev/sr0
[1:0:0:0] disk ATA WDC WD30EZRX-00D 80.0 /dev/sdb
[1:0:1:0] disk ATA WDC WD30EZRX-00D 80.0 /dev/sdc
[2:0:0:0] disk ATA INTEL SSDSA2CW12 4PC1 /dev/sdd
[3:0:0:0] disk ATA ST2000DM001-1CH1 CC24 /dev/sde
[6:0:0:0] cd/dvd CDEmu Virt. CD/DVD-ROM 1.10 /dev/sr1