我有一个功能齐全的 xenserver 6.5 池,有两个节点。它由 Dell MD3600i SAN 上的 iscsi 共享支持,运行良好。它是在我之前设置的。
我们已向池中添加了三个节点。然而,这三个新节点不会连接到存储。
这是原始节点之一,运行良好:
[root@node1 ~]# iscsiadm -m session
tcp: [2] 10.19.3.11:3260,1 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [3] 10.19.3.14:3260,2 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [4] 10.19.3.12:3260,1 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [5] 10.19.3.13:3260,2 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
这是新节点之一。注意到地址中的损坏了吗?
[root@vnode3 ~]# iscsiadm -m session
tcp: [1] []:-1,2 ▒A<g▒▒▒-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [2] 10.19.3.12:3260,1 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [3] 10.19.3.11:3260,1 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [4] 10.19.3.14:3260,2 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
缺失的 IP 地址是 .13,但另一个节点缺少 .12
评论:
我在现有节点上实时运行生产虚拟机,但没有地方移动它们,因此重新启动 SAN 不是一个选择。
尽管 san 有 4 个接口,但原始节点上的多路径功能已禁用。这似乎不是最佳选择,因此我在新节点上启用了多路径功能。
三个新节点的系统负载非常高。原始机器的平均负载为 0.5 到 1,三个新节点的负载约为 11.1,没有运行任何虚拟机。top 显示没有高 CPU 进程,所以这与内核有关?没有进程锁定在状态 D(不可中断睡眠)
如果我告诉 Xencenter“修复”这些存储库,它会一直等待几个小时,直到我点击取消。消息是Plugging PDB for node5
问题:如何让我的新 xenserver 池成员看到池存储并按预期工作?
编辑更多信息
- 所有新节点都无法进行干净重启 - 它们在重启时卡在“停止 iSCSI”中,我必须使用 drac 来远程重新启动它们。
- Xencenter 坚持认为节点处于维护模式并且尚未完成启动。
好池节点:
[root@node1 ~]# multipath -ll
36f01faf000eaf7f90000076255c4a0f3 dm-36 DELL,MD36xxi
size=3.3T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=12 status=enabled
| |- 14:0:0:6 sdg 8:96 active ready running
| `- 15:0:0:6 sdi 8:128 active ready running
`-+- policy='round-robin 0' prio=11 status=enabled
|- 12:0:0:6 sdc 8:32 active ready running
`- 13:0:0:6 sdh 8:112 active ready running
36f01faf000eaf6fd0000098155ad077f dm-35 DELL,MD36xxi
size=917G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=enabled
| |- 12:0:0:5 sdb 8:16 active ready running
| `- 13:0:0:5 sdd 8:48 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
|- 14:0:0:5 sde 8:64 active ready running
`- 15:0:0:5 sdf 8:80 active ready running
坏节点
[root@vnode3 ~]# multipath
Dec 24 02:56:44 | 3614187703d4a1c001e0582691d5d6902: ignoring map
[root@vnode3 ~]# multipath -ll
[root@vnode3 ~]# (ie no response at all, exit code was 0)
坏节点
[root@vnode3 ~]# iscsiadm -m session
tcp: [1] []:-1,2 ▒A<g▒▒▒-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [2] 10.19.3.12:3260,1 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [3] 10.19.3.11:3260,1 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
tcp: [4] 10.19.3.14:3260,2 iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb (non-flash)
[root@vnode3 ~]# iscsiadm -m node --loginall=all
Logging in to [iface: default, target: iqn.1984-05.com.dell:powervault.md3600i.6f01faf000eaf7f900000000531ae9bb, portal: 10.19.3.13,3260] (multiple)
^C iscsiadm: caught SIGINT, exiting...
因此,它尝试登录 SAN 上的 IP,但却旋转了几个小时直到我点击 ^C。
答案1
如果 iSCSI 发现不起作用,则可能是 XenSerever 主机、MD3600i 或两者上的 IQN 无法相互识别。使用 Dell 的 MDSM 实用程序确保允许 MD3600i 从所有 XenServer 主机上的所有 IQN 进行访问,然后尝试重新进行 iSCSI 发现:
iscsiadm -m discovery -t st -p (MD3600i-主控制器-IP 地址)
iscsiadm -m 节点 --loginall=all
iscsiadm -m 会话
如果您有网络访问权限,您至少应该能够从 XenServers ping MD3600i 的主 IP 地址。
还要注意,您需要首先在与每个新 XenServer 关联的 NIC 上设置单独的 iSCSI 接口,并为这些接口分配唯一的静态 IP 地址,并且这些地址与其他主机的 iSCSI 连接位于同一子网中。
希望这些能有所帮助,--Tobias
答案2
最后,发现有多个地方出了问题。
- 主机配置为 1500 字节 MTU,而存储 SAN 使用 9216 字节 MTU。
- 其中一台主机的 IQN 与实际情况略有不同 - SAN 将正确的 IQN 列为“未分配”,即使它看起来与正在使用的 IQN 相同。
- 我原来的两个节点在其板载 1 Gbit 卡上配置了管理 IP。三个新节点在绑定接口(位于 VLAN 中)上配置了可接受的管理 IP。这太不一样了,并且基本上阻止了新主机在启动后退出维护模式。
多路径似乎与这个问题根本没有关系。
删除并摆弄 xenserver 节点上的 /var/lib/iscsi/* 中的文件对问题没有影响。
我不得不使用其他方法来重新启动这些较新的盒子 - 它们会卡住并试图停止 iscsi 服务。
最后,可见的 IQN 名称损坏iscsiadm -m session
已完全消失。这可能与 MTU 不匹配有关。
对于未来的互联网搜索者来说 - 祝你好运!
编辑:2021 年 9 月,我遇到了完全相同的问题,使用的是戴尔 MD3800 SAN 和一些 xcp-ng 服务器。同样,这是由 MTU 不匹配引起的。而谷歌恰好提出了这个问题,我完全忘记了。这说明为未来的读者提供结局是多么重要……那个读者可能就是你。