07 集群管理
从带删除节点移除(迁移)所有虚拟机,并确保您没有要保留的本地数据或备份(或对其做相应地保存)。
1、登录除hp4之外的其他节点,进行查看节点信息
hp1# pvecm nodes
Membership information
~~~~~~~~~~~~~~~~~~~~~~
Nodeid Votes Name
1 1 hp1 (local)
2 1 hp2
3 1 hp3
4 1 hp4
2、必须关闭hp4的电源,并确保它不会在此现有的集群网络中再次原样打开。如果按原样打开节点电源,则群集将被破坏,可能很难恢复干净的群集状态。
3、关闭节点hp4的电源后,我们可以安全地将其从集群中删除。
hp1# pvecm delnode hp4
Killing node 4
4、使用pvecm nodes或pvecm status再次检查节点列表。它看起来应该像这样:
hp1# pvecm status
Quorum information
~~~~~~~~~~~~~~~~~~
Date: Mon Apr 20 12:44:28 2015
Quorum provider: corosync_votequorum
Nodes: 3
Node ID: 0x00000001
Ring ID: 1/8
Quorate: Yes
Votequorum information
~~~~~~~~~~~~~~~~~~~~~~
Expected votes: 3
Highest expected: 3
Total votes: 3
Quorum: 2
Flags: Quorate
Membership information
~~~~~~~~~~~~~~~~~~~~~~
Nodeid Votes Name
0x00000001 1 192.168.15.90 (local)
0x00000002 1 192.168.15.91
0x00000003 1 192.168.15.92
如果出于某种原因希望该服务器再次加入同一群集,则必须:从头开始在上面重新安装Proxmox VE,然后再加入它(加入方法同集群创建时一样)。
删除节点后,其SSH指纹仍将驻留在其他节点的known_hosts中。如果在重新加入具有相同IP(或主机名)的节点后收到SSH错误,请在重新添加的节点上运行一次
pvecm updatecerts以更新其整个指纹群集。
1、删除被分离节点(hp4)上的共享存储
您还可以从群集中分离节点,而无需从头开始重新安装PVE。但是,从群集中删除节点后,它仍然可以访问共享存储!在开始从群集中删除节点之前,必须先解决此问题。 Proxmox VE群集无法与另一个群集共享完全相同的存储,因为存储锁定无法在群集边界上进行。此外,它还可能导致VMID冲突。
如果被分离的节点上需要使用存储来存放虚拟机文件,建议为该节点创建一个其自己使用的新存储,设置此存储后,将所有数据从节点及其虚拟机移至该节点。然后,您就可以将节点与集群分离了。
2、停止节点上的corosync和pve-cluster服务
#hp4
systemctl stop pve-cluster
systemctl stop corosync
3、在本地模式下再次启动集群文件系统:
#hp4
pmxcfs -l
4、删除corosync配置文件:
#hp4
rm /etc/pve/corosync.conf
rm -r /etc/corosync/*
5、现在,您可以再次以正常服务方式启动文件系统:
#hp4
killall pmxcfs # 终止上面执行的 pmxcfs -l
systemctl start pve-cluster
6、现在,该节点已从群集中分离出来。您可以使用以下方法将其从群集的其余节点中删除:
#hp1 注意不是hp4节点
pvecm delnode oldnode
如果该命令失败,则由于退出当前分离的节点时群集中的其余节点失去了仲裁,您可以将期望的票数设置为1作为解决方法:
pvecm expected 1,然后重复pvecm delnode oldnode命令。
7、现在切换回被分离的节点,删除旧集群中剩余的所有剩余文件。这样可以确保将节点再次添加到另一个群集中而不会出现问题。
#hp4
rm /var/lib/corosync/*
8、由于其他节点的配置文件仍位于群集文件系统中,因此您可能也需要清理这些文件。从/etc/pve/nodes/hp4中仅删除整个目录的递归,但是在删除之前,请检查三遍是否使用了正确的目录。
#hp1 注意不是hp4节点
rm -rf /etc/pve/nodes/hp4