用命令重建vSAN主机的单播列表

虚拟化2年前 (2023)发布 刘丰源
241 0 0

用命令重建vSAN主机的单播列表
vSAN集群出现和分区,可以看到01主机的集群UUID和02及03主机的集群UUID是一致的,但是在主机列表中却是现实01不在和02及03在一个集群中了,此时通过esxcli vsan cluster leave把01主机离开后,可以正常离开,但是再通过esxcli vsan cluster join加入时,又变成了图上的情况。
用命令重建vSAN主机的单播列表
此时查看主机的单播表发现3台主机的表中全部缺失。
同时如果在自己表中发现了自己的IP地址会有出现PSOD的风险。
可以按照一下步骤手动重建单播代理表

第一步 确认群集中每台主机用于 vSAN 的 VMkernel 端口、IP 地址、节点的 UUID。

以 root 用户身份通过 SSH 登录到群集中的每个 ESXi 主机。
运行以下命确认用于 vSAN 的 VMkernel 端口,并复制输出供之后使用:
esxcli vsan network list
用命令重建vSAN主机的单播列表

注意:记下 VmkNic 名称,在上述输出中,它是 “vmk2”

使用以下命令查找 “vmk2” 的 IP 地址。
esxcli network ip interface ipv4 get | grep vmk2
用命令重建vSAN主机的单播列表

注意:此主机上的 vmk2 的 IP 地址是:172.16.15.11

使用以下命令查找主机节点 UUID:
cmmds-tool whoami
用命令重建vSAN主机的单播列表
使用群集中所有主机的主机 UUID 和 vSAN VMkernel 端口 IP 地址,开始重建单播代理列表。
3 节点群集示例:

rs-esxi1 | UUID: 60ad8769-41d0-e464-c951-0050562a1fb0 | vSAN IP: 172.16.15.11
rs-esxi2 | UUID: 601c6560-a4b0-4ff3-845f-0050562a1db7 | vSAN IP: 172.16.15.12
rs-esxi3 | UUID: 60b124b4-9d9e-4ea4-ffaf-0050562a35d4 | vSAN IP: 172.16.15.13

第二步,创建单播代理列表

对单播代理列表进行更改之前,在群集中的所有节点上运行以下命令,以暂时将每个主机配置为忽略来自 vCenter 的“群集成员列表更新“”。
esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListupdates
用命令重建vSAN主机的单播列表
有时,主机的单播代理列表中可能存在不正确的条目,例如:对于某一主机 “Supports Unicast” 设置为 False、不正确的 IP 地址、不正确的节点 UUID、或者非 Stretched Cluster 见证主机被错误地标记为“IsWitness”为 True。
无法修改现有条目。 必须删除并重新添加。
运行如下命令检查当前的单播代理列表:
esxcli vsan cluster unicastagent list
用命令重建vSAN主机的单播列表

注意:在上面的输出中,第二个条目的 IP 地址不正确,两个条目的“支持单播”标志都设置为“false”。

要解决此问题,请运行以下命令删除错误条目。还可以使用该命令来删除所有条目并从头开始重建单播代理列表。
esxcli vsan cluster unicastagent remove -a <Host_VSAN_IP>
用命令重建vSAN主机的单播列表

注意:在上面的输出中,单播代理列表已被清除。

向单播代理列表添加条目。

请注意 在 ESXi 主机上构建单播代理列表时,请添加所有其他主机的条目,但切勿添加正在配置表的主机的 IP。
如果 ESXi 主机在单播代理列表中具有自己的 IP 地址,可能会发生许多网络连接问题并导致主机 PSOD。

以三节点为例,每个主机将具有两个条目。
esxcli vsan cluster unicastagent add -t node -u <Host_UUID> -U true -a <Host_VSAN_IP> -p 12321
主机 1 上的示例,
用命令重建vSAN主机的单播列表

注意:运行命令后,检查单播代理列表以确认条目已正确添加,如上面的输出所示。
注意:在延伸群集中,您必须将见证主机条目的“IsWitness”设置为“True”。

见证节点条目:
esxcli vsan cluster unicastagent add -t witness -u <Host_UUID> -U true -a <Host_VSAN_IP> -p 12321
对其余主机重复以上步骤,并确保不包含正在配置表的主机的 IP。

第三步,最后步骤

假定物理网络没有任何问题,则 vSAN 群集应会立即构建。如果每台主机都进行了正确的重建,则运行如下命令会显示群集成员的准确数量:
esxcli vsan cluster get
用命令重建vSAN主机的单播列表
成功完成所有过程后,请确保在群集中所有节点上再次启用“群集成员列表更新”。运行如下命令:
esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListupdates
用命令重建vSAN主机的单播列表

© 版权声明

相关文章

暂无评论

暂无评论...