不用重启让内核识别新加入的设备, 通过传给内核参数 echo “scsi add-single-device x y z u” > /proc/scsi/scsi

x –> scsi 控制器号

y –> scsi 通道号

z –> scsi ID号,就是对应硬盘插槽号

u –> 硬盘lun号(Logical Unit Number)

先在CentOS 5.8的系统上看一下:

先执行 cat /proc/scsi/scsi 可以看到已经注册到内核的scsi设备信息,现在已经挂了3块硬盘,都在控制器0,通道0上,id分别为00,01,02,lun都是0

Redhat系 在线添加移除硬盘_控制器

Redhat系 在线添加移除硬盘_在线_02

在vmware上增加一块50G的硬盘,不重启的话系统是不会自动识别到的。

Redhat系 在线添加移除硬盘_控制器_03  Redhat系 在线添加移除硬盘_信息_04

echo "scsi add-single-device 0 0 3 0" > /proc/scsi/scsi (注意这里因为0 1 2 已经被原来3块硬盘占用了,所以这里scsi id 应该改成对应的插槽号。)

Redhat系 在线添加移除硬盘_在线_05

在线移除: echo “scsi remove-single-device 0 0 3 0” > /proc/scsi/scsi

Redhat系 在线添加移除硬盘_信息_06

在CentOS 6系列系统上稍微有点不同,他会识别出多个scsi控制器,

Redhat系 在线添加移除硬盘_在线_07

应该要注意给参数时把第一个控制器号改成对应的控制器号,比如这里加一块硬盘到原来的硬盘那个控制器上,就写2

echo “scsi add-single-device 2 0 1 0” > /proc/scsi/scsi

Redhat系 在线添加移除硬盘_控制器_08