Linux 下关于热插拔硬盘的命令(必须要主板支持!)
在线系统添加热插拔的SCSI硬盘不需要关机
添加硬盘
echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi
删除硬盘
echo "scsi remove-single-device 1 0 0 0" > /proc/scsi/scsi
对于指令中的四个数字分别表示scsi号、Channel号、Id号和LUN号
我们可以通过下述指令查看系统内SCSI硬盘的这些信息
[mnt]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST1000DM010-2EP1 Rev: CC43
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD10EZEX-60W Rev: 1A01
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Hitachi HUS72403 Rev: A5F0
Type: Direct-Access ANSI SCSI revision: 05
对于支持热插拔SCSI技术的服务器,SCSI硬盘和磁带机可以在Linux下实现在线添加和移除,具体方法如下,添加硬盘或者磁带机。
第一步:将新硬盘或者磁带机做好物理连接;
第二步:在Linux系统中以root用户运行命令:
echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi
其中:
1是硬盘或者磁带机所在SCSI控制器号(这边应该是主板上对应的STAT[0~x]的那个编号);
0是硬盘或者磁带机所在SCSI通道的编号;
0是硬盘或者磁带机的SCSI ID号;
0是硬盘或者磁带机的lun号默认情况都是0
如果参数不正确,系统是不能识别添加的硬盘和磁带机的可以通过 cat /proc/scsi/scsi命令来核实是否添加成功。
此命令将返回系统中识别到的所有SCSI设备的详细信息,报错厂商、型号容量、介质访问类型等;
移除硬盘或者磁带机:
第一步:在Linux系统中以root用户运行命令:
echo "scsi remove-single-device 1 0 0 0" > /proc/scsi/scsi
第二步:物理上断开硬盘或者磁带机连接。
注意!因热插拔会造成磁盘的盘符偏移,可根据插槽对应的 Model
值来确定盘符,如下:
[~]# echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi
[~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST1000DM010-2EP1 Rev: CC43
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Hitachi HUS72403 Rev: A5F0
Type: Direct-Access ANSI SCSI revision: 05
[~]# ll /dev/disk/by-id/*HUS72403*
lrwxrwxrwx 1 root root 9 2021-02-16 13:09:38 /dev/disk/by-id/ata-Hitachi_HUS724030ALE641_P8G2DELP -> ../../sdb
lrwxrwxrwx 1 root root 10 2021-02-16 13:09:38 /dev/disk/by-id/ata-Hitachi_HUS724030ALE641_P8G2DELP-part1 -> ../../sdb1
所以`/dev/sdb1就是刚才挂载硬盘的第一个分区
标题:Linux 下关于热插拔硬盘的命令(必须要主板支持!)
作者:llilei
地址:http://solo.llilei.work/articles/2021/02/15/1613384949633.html