将多个单独的 Proxmox VE 服务器集成到一个集群中,以实现资源共享、集中管理和高可用性等功能。以下是一个简要的指南,说明如何将两台独立的 Proxmox 服务器整合成一个集群:
前提条件
- 版本一致:确保两台 Proxmox 服务器运行相同版本的 Proxmox VE,以避免兼容性问题。可以通过以下命令检查版本:
pveversion
如有需要,更新到最新版本:
apt update && apt dist-upgrade
- 网络配置:两台服务器需在同一网络中,能够通过静态 IP 地址相互通信。建议为集群通信规划一个独立的网段,并确保网络延迟低、带宽充足。
- 时间同步:所有服务器必须通过 NTP 进行时间同步,以避免认证或迁移问题。配置方法:
- 编辑
/etc/chrony/chrony.conf
或/etc/ntp.conf
,添加时间服务器地址,例如:server ntp.aliyun.com iburst
- 重启 NTP 服务:
bash systemctl restart chronyd
- 主机名和 hosts 文件:确保每台服务器的主机名和
/etc/hosts
文件配置正确。例如:
- 在第一台服务器(假设 IP 为 192.168.1.10,主机名为 pve1):
bash hostnamectl set-hostname pve1 echo "192.168.1.10 pve1" >> /etc/hosts echo "192.168.1.11 pve2" >> /etc/hosts
- 在第二台服务器(假设 IP 为 192.168.1.11,主机名为 pve2):
bash hostnamectl set-hostname pve2 echo "192.168.1.10 pve1" >> /etc/hosts echo "192.168.1.11 pve2" >> /etc/hosts
- 存储准备:如果计划启用高可用性(HA),需要配置共享存储(如 NFS、Ceph 或 GlusterFS),以确保虚拟机和容器数据在节点间可访问。
集成步骤
- 在第一台服务器上创建集群:
- 登录第一台服务器的 Web 管理界面(默认端口:8006)。
- 导航到 Datacenter > Cluster > Create Cluster。
- 输入集群名称(例如
my-cluster
),点击 Create。 - 命令行方式(可选):
bash pvecm create my-cluster
- 获取加入集群的信息:
- 在第一台服务器的 Web 界面中,点击 Datacenter > Cluster > Join Information,然后点击 Copy Information,获取加入集群所需的配置信息和密钥。
- 或者通过命令行查看:
bash pvecm status
- 将第二台服务器加入集群:
- 登录第二台服务器的 Web 界面,导航到 Datacenter > Cluster > Join Cluster。
- 粘贴从第一台服务器复制的 Join Information,并输入第一台服务器的 root 密码。
- 确认后点击 Join。
- 命令行方式(假设第一台服务器 IP 为 192.168.1.10):
bash pvecm add 192.168.1.10
- 输入第一台服务器的 root 密码,等待加入完成。
- 验证集群状态:
- 在任意节点上运行以下命令,检查集群状态:
bash pvecm status
- 输出应显示两个节点,且状态为 Quorate: Yes,表示集群正常运行。
- 也可以通过 Web 界面查看 Datacenter > Cluster,确认两个节点都列出。
- 配置共享存储(可选):
- 如果需要高可用性,添加共享存储(如 NFS 或 Ceph)。在 Datacenter > Storage > Add 中选择存储类型,配置相关参数。
- 确保所有节点都能访问该存储。
- 启用高可用性(HA,可选):
- 在 Datacenter > HA 中添加需要高可用性的虚拟机或容器。
- 配置完成后,若某节点故障,虚拟机将自动迁移到其他节点。
注意事项
- 节点数量:Proxmox 集群基于 quorum 机制,建议至少 3 个节点以避免脑裂(split-brain)问题。如果只有两节点,需特殊配置(如在
/etc/pve/corosync.conf
中设置two_node: 1
和expected_votes: 1
),但稳定性稍差。 - 网络稳定性:集群通信对网络要求较高,避免修改主网络接口(vmbr0)的 IP 地址,否则可能导致集群异常。
- 备份虚拟机:在整合前,备份所有虚拟机和容器,以防配置错误导致数据丢失。
- Ceph 或 GlusterFS:若两台服务器已使用 Ceph 或 GlusterFS,可考虑合并存储池。需重新安装 Proxmox 并加入现有集群,或迁移存储数据。
- 重新安装的可能性:如果两台服务器的配置差异较大(如存储或网络设置),可能需要在一台服务器上重新安装 Proxmox,并将其作为新节点加入另一台服务器的集群。
合并现有集群的情况
如果两台服务器各自运行独立的 Proxmox 集群(而非单机),直接合并两个集群较为复杂,通常需要:
- 备份所有虚拟机和容器。
- 解散一个集群(通过
pvecm delnode
移除节点)。 - 将解散集群的节点重新安装 Proxmox 或清空配置后,加入另一个集群。
- 恢复备份的虚拟机和容器。
总结
通过以上步骤,你可以将两台独立的 Proxmox 服务器整合成一个集群,实现资源共享和管理集中化。如果需要高可用性,建议配置共享存储并至少使用 3 个节点以提高稳定性。更多详细信息可参考 Proxmox 官方文档或相关教程。