对于支持热插拔SCSI技术的服务器,SCSI硬盘和磁带机可以在Linux下实现在线添加和移除。
添加或者删除硬盘:
echo "scsi add-single-device a b c d" > /proc/scsi/scsi # 添加硬盘
echo "scsi remove-single-device a b c d" > /proc/scsi/scsi # 删除硬盘
其中:
a是硬盘或者磁带机所在SCSI控制器号;
b是硬盘或者磁带机所在SCSI通道的编号;
c是硬盘或者磁带机的SCSI ID号;
d是硬盘或者磁带机的lun号默认情况都是0
如果a b c参数不正确,系统是不能识别添加的硬盘和磁带机的可以通过以下命令来核实是否添加成功:
cat /proc/scsi/scsi
实例:
root@pve:~# cat /proc/scsi/scsi
Attached devices:
Host: scsi6 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD6003VRYZ-0 Rev: 1H01
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi9 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WUH721816ALE6L4 Rev: W232
Type: Direct-Access ANSI SCSI revision: 05
现在删除“Host: scsi9 Channel: 00 Id: 00 Lun: 00”这个硬盘:
root@pve:~# echo "scsi remove-single-device 9 0 0 0" > /proc/scsi/scsi
root@pve:~# cat /proc/scsi/scsi
Attached devices:
Host: scsi6 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD6003VRYZ-0 Rev: 1H01
Type: Direct-Access ANSI SCSI revision: 05
root@pve:~#
指定硬盘已经删除,现在添加回来:
root@pve:~# echo "scsi add-single-device 9 0 0 0" > /proc/scsi/scsi
root@pve:~# cat /proc/scsi/scsi
Attached devices:
Host: scsi6 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD6003VRYZ-0 Rev: 1H01
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi9 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WUH721816ALE6L4 Rev: W232
Type: Direct-Access ANSI SCSI revision: 05
root@pve:~#
重新添加硬盘也可以不用这么麻烦,直接使用下面命令可以让系统自动发现新加的磁盘:
echo "- - -" > /sys/class/scsi_host/host9/scan
其中的host9后面的9是上面的“a是硬盘或者磁带机所在SCSI控制器号”,实例:
root@pve:~# echo "scsi remove-single-device 9 0 0 0" > /proc/scsi/scsi
root@pve:~# cat /proc/scsi/scsi
Attached devices:
Host: scsi6 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD6003VRYZ-0 Rev: 1H01
Type: Direct-Access ANSI SCSI revision: 05
root@pve:~# echo "- - -" > /sys/class/scsi_host/host9/scan
root@pve:~# cat /proc/scsi/scsi
Attached devices:
Host: scsi6 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD6003VRYZ-0 Rev: 1H01
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi9 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WUH721816ALE6L4 Rev: W232
Type: Direct-Access ANSI SCSI revision: 05
root@pve:~#
然后再运行fdisk -l 就能发现新添加的硬盘已经被系统识别了,查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描。需要注意的是echo的三个- – -号之间有空隔。