一、pvecm简介
Proxmox VE 集群管理工具 pvecm 用于创建一个由多个物理服务器节点构成的“组”。这样的一组服务器称为一个“集群”。Proxmox VE使用 Corosync Cluster Engine 来确保集群通信的稳定可靠,目前一个集群最多可拥有 32 个物理节点(也可以更多,关键在于网络时延,要求延时小于2ms)。使用 pvecm 可以创建新的集群,可以向集群新增节点,可以从集群删除节点,可以查看集群状态信息,也可以完成其他各种集群管理操作。Proxmox VE 集群文件系统(pmxcfs)用于确保配置信息透明地发送到集群中所有节点,并保持一致。
二、集群部署要求
- 所有节点必须在同一子网,以便各个节点使用 corosync 多播通信(详情可查看Corosync Cluster Engine)。Corosync 使用 UDP 5404 和 5405 端口进行集群通信。
- 各节点日期和时间需要保持同步。
- 各节点之间要能够在 TCP 22 端口建立 SSH 通信。
- 如果你需要配置 HA,则最少需要 3 个物理服务器节点,以保证集群多数票机制生效。此外,还需要保证所有节点使用同一版本的 Proxmox VE。
- 建议为集群通信分配专用网卡,特别是在配置共享存储的情况下,分配专用网卡能确保集群通信的稳定可靠。
三、集群创建步骤
1、创建集群
root@s130:/etc/ssh# pvecm create mycluster
#集群名称一旦创建将不允许修改,所以创建前请规划好名称。
2、查看集群状态
root@s130:/etc/ssh# pvecm status
3、新增集群节点
#为避免虚拟机 ID 冲突,Proxmox VE 规定新节点加入集群前不能配置有任何虚拟机。此外,新加入节点/etc/pve 目录下的原有配置信息将被集群配置全部覆盖。
root@s129:~# pvecm add 192.168.0.130
4、再次查看集群状态
root@s129:~# pvecm status
5、检查集群节点
root@s129:~# pvecm nodes
6、删除集群节点
#移除只能在集群的其他节点进行,首先将待删除节点上所有虚拟机都迁移到其他节点。确保待删除节点上没有任何你需要保留的数据和备份,或者相关数据已经被妥善备份。必须在执行删除命令前先关闭待删除节点,并且确保被删除点不再启动。如果节点上已有虚拟机,可以首先使用 vzdump 将所有虚拟机备份,然后删除节点上的虚拟机,待加入集群后再用新的虚拟机 ID 恢复原有虚拟机。
root@s130:/etc/ssh# pvecm delnode s129
Killing node 2
#删除节点后重新加入会报错(除了重装还没有找到重新加入的办法,知道如何重新加入的请告知,谢谢!)请谨慎操作:
7、获取命令帮助
root@s129:~# pvecm help
四、隔离节点步骤
1、首先在待隔离节点上停止 pve-cluster 服务
#systemctl stop pve-cluster.service
#systemctl stop corosync.service
2、然后将待隔离节点的集群文件系统设置为本地模式
#pmxcfs -l
3、接下来删除 corosync 配置文件
#rm /etc/pve/corosync.conf
#rm -rf /etc/corosync/*
4、最后重新启动集群文件系统服务
#killall pmxcfs
#systemctl start pve-cluster.service