Linux磁盘热插拔命令

对于支持热插拔SCSI技术的服务器,SCSI硬盘和磁带机可以在Linux下实现在线添加和移除,有两种方法实现,先说麻烦的

具体方法如下:
一、 添加或者删除硬盘/磁带机:

# echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi // 添加硬盘
# echo "scsi remove-single-device 0 0 1 0" > /proc/scsi/scsi // 删除硬盘

下面具体演示如何给一台服务添加硬盘

1 首先将硬盘或者磁带机连接到服务器上

2 确定硬盘的Host 号、Channel号、ID号和LUN号

SCSI硬盘的信息存储在/proc/scsi/scsi文件中,查看当前文件的内容cat /proc/scsi/scsi

testupgrade:/ # cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel:  Id:  Lun:
  Vendor: VMware   Model: Virtual disk     Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision:
Host: scsi0 Channel:  Id:  Lun:
  Vendor: VMware   Model: Virtual disk     Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision:
Host: scsi0 Channel:  Id:  Lun:
  Vendor: VMware   Model: Virtual disk     Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision:
Host: scsi2 Channel:  Id:  Lun:
  Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00
  Type:   CD-ROM                           ANSI  SCSI revision: 

通过上面文件,我们可以知道,如果添加了新的硬盘,它的Host号是0,Channel号是0 ,ID号如果按顺序的话应该是3,LUN号是0

3 执行添加

echo “scsi add-single-device x y z u"”> /proc/scsi/scsi

其中:

x是硬盘或者磁带机所在SCSI控制器号;
y是硬盘或者磁带机所在SCSI通道的编号;
z是硬盘或者磁带机的SCSI ID号;
u是硬盘或者磁带机的lun号默认情况都是0
如果x y z参数不正确,系统是不能识别添加的硬盘和磁带机的可以通过 cat /proc/scsi/scsi命令来核实是否添加成功。

#根据上面的分析实际执行的内容是

   "”> /proc/scsi/scsi

4 添加成功后

通过fdisk -l查看新增的磁盘 ,并划分分区

如果想删除,则可以按照上面的顺序执行下面的命令

# echo "scsi remove-single-device 0 0 3 0" > /proc/scsi/scsi // 删除硬盘

二、重新扫描硬盘

当然,也可以不用这么麻烦,直接使用下面命令可以让系统自动发现新加的磁盘

echo "- - -" >  /sys/class/scsi_host/host0/scan

然后再运行fdisk -l 就能发现新添加的硬盘已经被系统识别了,查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描。需要注意的是echo的三个- – -号之间有空隔。

参考:

SCSI总线驱动的初始化

Linux不重启识别新添加的磁盘

上一篇:理解node模块的exports和module.exports


下一篇:【CSS3】rgba与opacity