Linux系统中SCSI硬盘的热拔插

Linux系统中SCSI硬盘的热拔插

服务器用SCSI硬盘, 开机时可能出现系统检测不到的问题. 在 2.4 和  2.6 的内核都会出现, 尤其是在一些旧机器上. 利用 /proc/scsi/scsi 可以让系统自动识别新插入的SCSI磁盘.
要求使用的SCSI硬盘支持热拔插,也就是80PIN接口的那种.
增加SCSI 硬盘:
第一步:将新硬盘做好物理连接;
第二步:在Linux系统中以root用户运行命令:
echo "scsi add-single-device x y z u" > /proc/scsi/scsi
其中:
x是硬盘或者磁带机所在SCSI控制器号
y是硬盘或者磁带机所在SCSI通道的编号
z是硬盘或者磁带机的SCSI ID号
u是硬盘或者磁带机的lun号默认情况是0

样例:
[root@db7 /]#  cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: SEAGATE  Model: ST336607LC       Rev: 0007
  Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: MAXTOR   Model: ATLAS10K4_146SCA Rev: DFM0
  Type:   Direct-Access                    ANSI SCSI revision: 03
X 对应着 scsi0, y对应着 Channel: 00, z 对应着 Id: 00, 后面的 Lun: 00 就是 u 了.

如果x y z参数不正确,系统是不能识别添加的硬盘和磁带机的可以通过 cat /proc/scsi/scsi 命令或者系统日志 /var/log/messages 来确认是否添加成功. /proc/scsi/scsi 将返回系统中识别到的所有SCSI设备的详细信息,报错厂商、型号容量、介质访问类型等.

如果 x y z u 写错, 系统日志中会有以下错误提示:
Nov  5 14:26:39 db7 kernel: scsi singledevice 0 0 6 0
Nov  5 14:26:39 db7 kernel: blk: queue cf7c1e18, I/O limit 1048575Mb (mask 0xffffffffff)


移除硬盘:
第一步: 在Linux系统中以root用户运行命令:
echo "scsi remove-single-device x y z u" > /proc/scsi/scsi
x y z u 的内容同上.
第二步: 物理上断开硬盘或者磁带机连接.      
linux服务器的存储提深啦      
能热插拔我也不这么干。

我都怀疑这帮做服务器的,找了几个木匠做的那个硬盘盒子......

插几次口都对不上了。