我有一个通过光纤通道连接到Linux机顶盒的SAN存储阵列出现严重问题。这是配置:
- 带有普通香草Linux 2.6.27.25的Debian
- 光纤控制器QLogic 4Gb双端口(基于ISP2432)
基本上问题是:如何获得此#?@ !! FC控制器/驱动程序可以正确识别存储阵列的配置更改(新的或已删除的LUN)?
- 当我在阵列上创建新的LUN(通常是一些现有LUN的快照)并将其映射到我的HBA时,我无法正确识别它:
rescan-scsi-bus -l -w -r
实际检测到某物(通用的/ dev / sgXX设备),但是没有块设备已创建(/ dev / sdXX)。 发出LIP并手动重新扫描时也是如此:
回声1> / sys / class / fc_host / host6 / issue_lip
回声“---”> / sys / class / scsi_host / host6 / scan
如果删除现有LUN,则发出LIP和重新扫描或rescan-scsi-bus均无效。以前的设备在那里,并且当然不起作用(“文件-s / dev / sdXX-> I / O错误”)。
- 重新加载qla2xxx驱动程序。但是,在生产环境中完全不可行。
显然,这是QLogic的一个非常普遍的问题。存在某种解决方案,该解决方案仅在使用仅适用于RedHat和Suse企业发行版的QLogic发行的驱动程序时有效:请参阅以下说明。
附加信息 :
这是LIP和重新扫描之前的scsi设备:
# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 6 0 0 0 0 /dev/sdc
/dev/sg4 6 0 0 1 0 /dev/sdd
/dev/sg5 6 0 0 2 3
经过LIP并重新扫描后,我有一个新的sg设备,但没有匹配的驱动器。如果重新加载驱动程序,则会出现驱动器:
# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 6 0 0 0 0 /dev/sdc
/dev/sg4 6 0 0 1 0 /dev/sdd
/dev/sg5 6 0 0 2 3
/dev/sg6 6 0 0 3 3
~# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 8 0 0 0 0 /dev/sdc
/dev/sg4 8 0 0 1 0 /dev/sdd
/dev/sg5 8 0 0 2 0 /dev/sde
/dev/sg6 8 0 0 3 3
编辑:好的,显然这是一个难以克服的难题。我将询问LKML并在此处报告。