Linux系统下实现SCSI硬盘热插拔及在线识别

;在向服务器添加SCSI硬盘时,可以在服务器不停机的情况下,让系统识别出新插入的硬盘,具体步骤如下: 第一步:将新硬盘插到机器上; 第二步:以root用户运行命令: echo "scsi add-single-device x y z u" > /proc/scsi/scsi 其中: x是硬盘所在SCSI控制器号(一般机器就一个SCSI控制器,所以就是0); y是硬盘所在SCSI通道的编号(一般单通道的就是0,多通道的要看是哪个通道了); z是硬盘的SCSI ID号(可以通过具体插入的硬盘插槽来判断); u是硬盘的lun号(默认情况都是0) 由于我是插入第三块硬盘,所以我运行的命令是: echo "scsi add-single-device 0 0 2 0" > /proc/scsi/scsi 如果x y z参数不正确,系统是不能识别添加的硬盘的,可以通过查看/proc/scsi/scsi文件的内容来判断是否添加成功 。添加好之后,这个文件中会多出一个设备 。这个文件中包含系统识别到的所有SCSI设备的详细信息,包括厂商、型号、介质访问类型等 。我在运行上面的命令后查看文件/proc/scsi/scsi,发现多了一个设备(最后一个): Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: MAXTOR Model: ATLASU320_18_SCA Rev: B120 Type: Direct-Access ANSI SCSI revision: 03 Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: IBM Model: IC35L036UCDY10-0 Rev: S28F Type: Direct-Access ANSI SCSI revision: 03 Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: ESG-SHV Model: SCA HSBP M17 Rev: 1.15 Type: Processor ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 02 Lun: 00 Vendor: IBM Model: IC35L146UCDY10-0 Rev: S26B Type: Direct-Access ANSI SCSI revision: 03 然后再看/proc/partition文件,发现已经识别出硬盘了!接下来就可以分区、格式化、使用了,由于使用parted分区工具不需要重新引导系统,所以整个添加硬盘的过程是不需要重启系统的 。如果要移除硬盘,那么可以这样操作: 第一步:以root用户运行命令: echo "scsi remove-single-device x y z u" > /proc/scsi/scsi x y z u的定义同上 第二步:物理上断开硬盘的连接 。

    推荐阅读