所以在升级到CentOS 6.2之后,我似乎不再能够login到我的iSCSI目标。 我在系统上的不同子网上有多个接口,我首先想到的是,它可能不会绑定正确的接口,这在看netstat的时候似乎是这样的,因为这显然是错误的:
[root]⌘ netstat -na|grep .90 tcp 0 1 10.10.100.60:42354 10.10.8.90:3260 SYN_SENT tcp 0 1 10.10.100.60:40777 10.10.9.90:3260 SYN_SENT
然后我继续并禁用了除一个接口外的所有内容,因此netstat看起来是正确的,但login问题依然存在。 我肯定目标永远不会看到一个数据包,因为我没有看到SYN_SENT。 我知道问题出在我的客户端上,因为目标服务于多个系统,其中没有一个是CentOS 6.2。 在这一点上,我相当确信CentOS 6.0 / 6.1和6.2之间有些变化。 所以,如果有人有什么想法,或者碰到这个,我很想听听你的想法。
[root]⌘ iscsiadm --mode node --targetname iqn.2011-12.dom.homer:01:lab-centos-servers-00001 --portal 10.10.8.90:3260,2 --interface=sw-iscsi-0 --login Logging in to [iface: sw-iscsi-0, target: iqn.2011-12.dom.homer:01:lab-centos-servers-00001, portal: 10.10.8.90,3260] (multiple) iscsiadm: Could not login to [iface: sw-iscsi-0, target: iqn.2011-12.dom.homer:01:lab-centos-servers-00001, portal: 10.10.8.90,3260]. iscsiadm: initiator reported error (8 - connection timed out) iscsiadm: Could not log into all portals [root]⌘ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.10.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2.7 10.10.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3.7 10.10.100.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth3 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2.7 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth3.7 0.0.0.0 10.10.100.1 0.0.0.0 UG 0 0 0 eth0
ip addr show输出ip addr show ,涉及两个接口:
[root]⌘ for i in 2.7 3.7; do ip addr show eth$i; done 6: eth2.7@eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:0c:29:94:5b:8d brd ff:ff:ff:ff:ff:ff inet 10.10.8.60/24 brd 10.10.8.255 scope global eth2.7 inet6 fe80::20c:29ff:fe94:5b8d/64 scope link valid_lft forever preferred_lft forever 7: eth3.7@eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:0c:29:94:5b:97 brd ff:ff:ff:ff:ff:ff inet 10.10.9.60/24 brd 10.10.9.255 scope global eth3.7 inet6 fe80::20c:29ff:fe94:5b97/64 scope link valid_lft forever preferred_lft forever
2012年6月1日更新:
这个问题似乎越来越有趣了。 我几个星期前从升级到6.2之前就抓住了这个系统的快照。 我从快照中创build了一个新系统,并重新configuration了接口信息和主机密钥,以及iSCSI启动器和iscsi接口信息以匹配新的MAC。 没有别的改变。
然后,我试图连接到我的目标,没有任何问题。 我不能说这是意想不到的。 然后我继续比较两个系统的sysctl设置,升级后有差异,但没有任何与iSCSI或IP相关的东西可能有助于此。 我还注意到,默认情况下,升级后每个连接都会启用两个会话,但我在/etc/iscsi/iscsid.conf中将其更改回为1个会话。
在有问题的系统上,我们可以看到源接口似乎是错误的,但是即使当我禁用10.10.100接口,问题仍然存在。 所以,虽然这可能是相关的,但我无法确定。 不用说,进一步的研究是必要的。 版本之间有明显的不同。 工作系统为6.1,非工作系统为6.2。
::Working System:: tcp 0 0 10.10.8.210:39566 10.10.8.90:3260 ESTABLISHED tcp 0 0 10.10.9.210:46518 10.10.9.90:3260 ESTABLISHED [root]⌘ ip route show 10.10.8.0/24 dev eth2.6 proto kernel scope link src 10.10.8.210 10.10.9.0/24 dev eth3.7 proto kernel scope link src 10.10.9.210 10.10.100.0/22 dev eth0 proto kernel scope link src 10.10.100.210 169.254.0.0/16 dev eth0 scope link metric 1002 169.254.0.0/16 dev eth2.6 scope link metric 1006 169.254.0.0/16 dev eth3.7 scope link metric 1007 default via 10.10.100.1 dev eth0 ::Non-working System:: tcp 0 1 10.10.100.60:44737 10.10.9.90:3260 SYN_SENT tcp 0 1 10.10.100.60:55479 10.10.8.90:3260 SYN_SENT [root]⌘ ip route show 10.10.8.0/24 dev eth2.6 proto kernel scope link src 10.10.8.60 10.10.9.0/24 dev eth3.7 proto kernel scope link src 10.10.9.60 10.10.100.0/22 dev eth0 proto kernel scope link src 10.10.100.60 169.254.0.0/16 dev eth0 scope link metric 1002 169.254.0.0/16 dev eth2.6 scope link metric 1006 169.254.0.0/16 dev eth3.7 scope link metric 1007 default via 10.10.100.1 dev eth0 And the result is still same: [root]⌘ iscsiadm: Could not login to [iface: sw-iscsi-0, target: iqn.2011-12.dom.homer:01:lab-centos-servers-00001, portal: 10.10.8.90,3260]. iscsiadm: initiator reported error (8 - connection timed out) iscsiadm: Could not login to [iface: sw-iscsi-1, target: iqn.2011-12.dom.homer:02:lab-centos-servers-00001, portal: 10.10.9.90,3260]. iscsiadm: initiator reported error (8 - connection timed out) iscsiadm: Could not log into all portals
2012年8月1日更新:
我相信我已经能够找出我的问题的答案。 这是相当模糊的,我怀疑这会发生在任何其他人很快。 事实certificate,在接口configuration文件中设置iface.iscsi_ifacename和iface.hwaddress是不合法的。 当手动添加iscsi目标(如下图)时,接口configuration文件中的所有设置都会复制到由以下命令创build的节点configuration文件中。 结果是参数iface.iscsi_ifacename和iface.hwaddress在同一个configuration文件中。 这些参数似乎是相互排斥的,这不完全合理,或者在代码path中可能存在疏漏。 也许我会进一步调查。
# iscsiadm -m node --op new -T iqn.2011-12.dom.homer:01:lab-centos-servers-00001 -p 10.10.8.90,3260,2 -I sw-iscsi-0 # iscsiadm -m node --op new -T iqn.2011-12.dom.homer:02:lab-centos-servers-00001 -p 10.10.9.90,3260,2 -I sw-iscsi-1
注意,下面我注释了iface.hwaddress和iface.ipaddress ,之后我重新添加目标,使用和上面相同的命令。 所有的作品都很好。
[root]⌘ cat * # BEGIN RECORD 2.0-872.33.el6 iface.iscsi_ifacename = sw-iscsi-0 iface.net_ifacename = eth2.6 #iface.hwaddress = XX:XX:XX:XX:XX:XX #iface.ipaddress = 10.10.8.60 iface.transport_name = tcp iface.vlan_id = 6 iface.vlan_priority = 0 iface.iface_num = 0 iface.mtu = 0 iface.port = 0 # END RECORD # BEGIN RECORD 2.0-872.33.el6 iface.iscsi_ifacename = sw-iscsi-1 iface.net_ifacename = eth3.7 #iface.hwaddress = XX:XX:XX:XX:XX:XX #iface.ipaddress = 10.10.9.60 iface.transport_name = tcp iface.vlan_id = 7 iface.vlan_priority = 0 iface.iface_num = 0 iface.mtu = 0 iface.port = 0 # END RECORD
再次,这种情况发生在别人身上的机会很less,所以很可能浪费时间打字。 但是,如果有人遇到这个问题,我希望这个post会有所帮助。
发现了同样的问题,但在CentOS 6.2新安装。 在通过以太网适配器为KVM创build桥之后,iSCSIlogin超时。 在此之前(没有创build网桥),iSCSIlogin没有问题。
看起来iscsiadm尝试连接到定义的iface.hwaddress(但有两个:我的设置中的eth1和br1接口)并使用eth1。 连接超时。
删除iface.hwaddress并添加iface.net_ifacename(如build议)设置为正确的接口名称(br1),是诀窍。 问题解决了。