创建PVE集群

在任意一个节点创建集群作为主节点,创建集群可以在web创建也可以使用命令创建。
Web端创建集群:
步骤:数据中心 ➡️ 集群 ➡️ 创建集群 ➡️ 设置集群名称 ➡️ 选择网络 ➡️ 创建集群

Shell下创建集群:

# 格式:
pvecm create <集群名称>
# 例如:
pvecm create Cluster

加入PVE集群

加入集群需要确保节点下没有虚拟机/LXC 容器才可以正常加入集群。在需要加入的节点,在 Web点击加入集群
Web端加入集群:
步骤:数据中心 ➡️ 集群 ➡️ 加入集群 ➡️ 粘贴集群加入信息 ➡️ 输入集群 root 密码 ➡️ 选择网络确认加入集群

Shell下加入集群:

# 格式:
pvecm add <现有集群节点的IP地址> -force
# 例如:
pvecm add 192.168.20.201 -force
需要输入集群root密码,即可加入集群

对于节点下已经有虚拟机和 LXC 容器,需要先将虚拟机/LXC 容器配置文件移走再加入集群,加入集群后再将配置文件还原回去即可。(需要注意虚拟机/LXC 容器的 ID 不能与集群里面现有虚拟机 ID 重复,重复的话需要修改 ID 再移入)

# 虚拟机配置文件路径
/etc/pve/nodes/<节点名称>/qemu-server/
# LXC容器配置文件路径
/etc/pve/nodes/<节点名称>/lxc/

退出PVE集群

在需要退出集群的节点执行以下指令:

# 停止集群服务
systemctl stop pve-cluster.service
# 停止集群同步服务
systemctl stop corosync.service
# 切换本地模式
pmxcfs -l
# 删除集群同步配置文件
rm /etc/pve/corosync.conf
# 删除所有集群同步信息
rm -rf /etc/corosync/*
# 终止集群所有服务
killall pmxcfs
# 启动集群服务
systemctl start pve-cluster.service

之后在主节点删除需要移除的节点即可

# 删除退出的节点
pvecm delnode <节点名称>
# 例如
pvecm delnode pve8
# 强制移除(当节点无法正常退出时)
pvecm delnode <节点名称> -force

PVE集群常用命令

# 重启 PVE 集群服务
systemctl restart corosync pve-cluster
# 停止集群服务
systemctl stop corosync pve-cluster
# 启动集群服务
systemctl start corosync pve-cluster
# 查看集群服务状态
systemctl status corosync pve-cluster
# 修改集群网络配置
nano /etc/corosync/corosync.conf
# 检查集群通信
corosync-cfgtool -s
# 检查quorum状态
pvecm status
# 查看集群日志
journalctl -u corosync -u pve-cluster -f

重启PVE所有服务

当遇到PVE管理界面异常,或者节点通信加载异常,可以在不重启节点下把PVE的所有服务重启,执行以下指令:

killall -9 corosync
systemctl restart pve-cluster
systemctl restart pvedaemon
systemctl restart pveproxy
systemctl restart pvestatd

修改集群法定人数

当集群因节点离线无法达成要求时,PVE会进入只读模式。解决步骤:
1)在存活的节点上重置 Quorum 规则

# 查看当前 Quorum 状态
pvecm status
# 如果确认其他节点已无法恢复,强制忽略 Quorum(单节点模式)
pvecm expected 1

此命令将当前节点设为“唯一有效节点”,允许集群恢复读写。

2) 重启集群服务

systemctl restart pve-cluster

3)节点恢复后重新把法定人数修改回来

pvecm expected 3
广告位招租3
最后修改:2025 年 07 月 27 日
如果觉得我的文章对你有用,请随意赞赏