FAQ-T系列存储挂接Linux系统时不重启识别LUN

发布时间:  2015-07-17 浏览次数:  375 下载次数:  13
问题描述

在目前广泛使用的操作系统中,Linux缺乏像Windows中的重新扫描磁盘、AIX中的cfgmgr、hp-ux中的iocsan等允许动态scsi通道重配的命令,这就导致存储挂接Linux系统时往往需要重启服务器才能识别到新增的LUN。而交付中在某些情况下并不能随意的重启客户处的Linux服务器,甚至某些老旧Linux服务器一经重启往往发生故障。在这里分享两个不重启就能在Linux下识别LUN的方法。

 

解决方案

方法1

通过卸载并重新加载HBA模块驱动的方式识别LUN

#modprobe -r lpfc  (卸载HBA驱动)
#modprobe lpfc    (重新加载HBA驱动) 
#fdisk -l 检查结果

方法2

通过echo命令配置/proc下的scsi设备列表

手工增加磁盘的命令为# echo "scsi add-single-device w x y z" > /proc/scsi/scsi,其中:“w” 是主机适配器标识,第一个适配器为零,“x” 是主机适配器上的 SCSI 通道,第一个通道为零,“y” 是设备的 SCSI 标识,“z” 是 LUN 号,第一个 LUN 为零。下面举个例子说明:

执行命令前,检查/proc/scsi/scsi文件,确定新磁盘的id

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0 
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0 
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0 
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 03 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0 
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0 
Type: Direct-Access ANSI SCSI revision: 02


可以看到最大的id号为04,新增磁盘的ID应该确定为5.先执行fdisk -l命令查看当前磁盘情况

root@soadb scsi]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
......

Disk /dev/sde: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sde doesn't contain a valid partition table


执行#echo "scsi add-single-device 0 0 5 0" >/proc/scsi/scsi,之后再fdisk -l检查结果

[root@soadb scsi]# fdisk -l
......

Disk /dev/sde: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sde doesn't contain a valid partition table

Disk /dev/sdf: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdf doesn't contain a valid partition table


可以看到,已经成功识别到新增的磁盘/dev/sdf。

END