> Debian与普通的vanilla linux 2.6.27.25
>光纤控制器QLogic 4Gb双端口(基于ISP2432)
基本上问题是:如何获得这个#?@ !! FC控制器/驱动程序能够正确识别存储阵列的配置更改(新LUN还是已删除的LUN)?
>当我在我的阵列上创建一个新LUN(通常是某个现有LUN的快照)并将其映射到我的HBA时,我无法正确识别它:rescan-scsi-bus -l -w -r实际检测到某些内容(通用/ dev / sgXX设备)但是没有创建块设备(/ dev / sdXX).
>发布LIP并手动重新扫描时也是如此:
echo 1> / SYS /班/ fc_host /主机6 / issue_lip
echo“ – – – ”> / SYS /班/ scsi_host /主机6 /扫描
>如果我删除现有LUN,则不会发出LIP和rescans或rescan-scsi-bus.以前的设备仍然存在,当然不起作用(“file -s / dev / sdXX – > I / O错误”).
>重装qla2xxx驱动程序有效.然而,它在生产环境中完全不可行.
显然这是a very common problem with QLogic.某种解决方案只有在使用仅适用于RedHat和Suse企业发行版的QLogic发布驱动程序时才有效:见this explanation.
附加信息 :
以下是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并在这里报告.
解决方法
# mknod /dev/sdg4 104 17
但是,我感觉到你的痛苦. QLogic为RHEL和SUSE提供驱动程序下载,但似乎没有其他发行版. OpenSUSE可能只有QLogic品牌的驱动程序,但我不能确定它.我上班的时候会仔细检查.
编辑:我正在工作,似乎我的SLES盒子上的QLogic驱动程序都是QLogic提供的驱动程序.他们的OS支持网格:
http://filedownloads.qlogic.com/files/Driver/71098/readme_driver_80223.html#os_support
然而,当我下载bog标准的2.6.27.25内核并查看./drivers/scsi/qla2xxx/qla_version.h文件时,它与我在Novell发行版上的版本号几乎相同(包括SLES和免费openSUSE).这表明您为SLES / RHEL找到的解决方案实际上可以使用标准的2.6.27.25内核.