目录

工欲善其事

实践出真知

活跃标签: linux java mysql 待分类 js springboot win10 电路 vue macOS nginx esp32 windows git docker idea maven esp8266 python Arduino

存档:

X

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