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 // 删除硬盘
对于指令中的四个数字分别表示scsi号、Channel号、Id号和LUN号
今天换磁带机。原来都是换好后重启机器,今天心血来潮,打算试试不重启机器能否使用新的磁带机。
1.
man proc
看了关于 /proc/scsi/scsi 的内容。
我们来看一下/proc/scsi/scsi的内容。
cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: SEAGATE Model: ST336607LSUN36G Rev: 0507
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 01 Lun: 00
Vendor: SEAGATE Model: ST373307LC Rev: 0004
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 06 Lun: 00
Vendor: ESG-SHV Model: SCA HSBP M18 Rev: 0.07
Type: Processor ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: HP Model: C5683A Rev: C111
Type: Sequential-Access
2.
echo 'scsi remove-single-device a b c d' > /proc/scsi/scsi
删除原来的SCSI的设备。
a 表示 SCSI的设备号。
b 表示 CHANNEL号
c 表示 ID号
d 是LUN号 一般都为0
我现在要把原来的HP磁带机去掉。
echo 'scsi remove-single-device 0 0 4 0' > /proc/scsi/scsi 就可以了
cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: SEAGATE Model: ST336607LSUN36G Rev: 0507
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 01 Lun: 00
Vendor: SEAGATE Model: ST373307LC Rev: 0004
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 06 Lun: 00
Vendor: ESG-SHV Model: SCA HSBP M18 Rev: 0.07
Type: Processor ANSI SCSI revision: 02
把新的设备加上去。
echo 'scsi add-single-device 0 0 5 0' > /proc/scsi/scsi
cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: SEAGATE Model: ST336607LSUN36G Rev: 0507
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 01 Lun: 00
Vendor: SEAGATE Model: ST373307LC Rev: 0004
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 06 Lun: 00
Vendor: ESG-SHV Model: SCA HSBP M18 Rev: 0.07
Type: Processor ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 05 Lun: 00
Vendor: HP Model: C5683A Rev: C111
Type: Sequential-Access
完成。