如何使用 Proxmox 为生产集群提供可靠的可用性 (HA)?
发射 HA 与 Proxmox 其目标是减少服务停机时间,并确保在硬件或软件故障的情况下虚拟机和容器的可用性。本指南面向服务器管理员、DevOps工程师、云服务提供商和技术团队,涵盖基础知识、先决条件、实用配置和安全技巧。指南提供了真实的Linux示例和命令,并涉及存储共享(Ceph/NFS/iSCSI)、网络、隔离(STONITH)以及各种实用解决方案等主题。.
Proxmox HA 的需求和总体架构
要在 Proxmox 上实现稳定的 HA,您需要以下条件:
- 至少 3 个物理节点 为确保正常模式下达到法定人数,在只有两个节点的情况下,您必须 QDevice 或者请第三方调解人介入。.
- 单层 共享存储 对于虚拟机: 头孢菌素 RBD 这是实现高可用性和实时迁移的最佳选择。. 极品飞车, iSCSI 或者 DRBD 还有其他选择。.
- 集群流量的独立管理网络 同步 低带宽和低延迟。.
- 机制 击剑/STONITH 为了避免脑裂。.
- 备份计划和监控。.
拟建架构:
- 管理网络(集群网络):2x10Gb 或 1Gb + LACP,私有地址(例如 10.10.0.0/24)。.
- 存储网络(Ceph):独立的接口 MTU 9000(巨型).
- 服务网络:公共/VLAN,用于客户和服务访问。.
- 至少 3 个 Proxmox 节点,配备 Ceph MON 和 OSD,或者配备 UPS 和 NAS HA 的 NFS 存储层。.
我们为什么推荐 Ceph?
提出 Ceph 的主要原因:
- RBD 作为一种分布式块存储,它允许实时迁移而无需移动磁盘文件。.
- 缺席 单点故障垂直和水平可扩展性。.
- 通过原生方式与 Proxmox 集成 pveceph.
实际步骤:从安装到HA激活
在本示例中,我们将搭建一个包含 3 个节点的 Ceph 集群,并为虚拟机配置高可用性 (HA)。主要步骤如下:
1)在每个节点上安装 Proxmox 基础版
可安装在任何 Proxmox VE 服务器(兼容 6/7/8 版本)。安装完成后,设置管理地址和 SSH 地址,并更新系统:
sudo apt update && sudo apt dist-upgrade -y2)创建集群(在第一个节点上)
在第一个节点上创建集群并检查状态:
sudo pvecm create my-cluster
pvecm status3)向集群添加节点
在每个辅助节点上运行以下命令,然后检查集群状态:
sudo pvecm add <IP-نود-اول>
pvecm nodes
pvecm status4) CoreSync 网络和 MTU
请确保 bindnetaddr 已开启 /etc/pve/corosync.conf 您的网络配置正确且延迟低。对于 Ceph,请使用 MTU 9000 请在网卡和交换机上启用并使用它。.
5) 安装和设置 Ceph(简单示例)
在每个节点上安装和配置 Ceph 的基本命令:
pveceph install
pveceph init --mon-ip <IP-نود>
pveceph createosd /dev/sdb
ceph -s6) 激活 HA 管理器并将虚拟机添加到 HA
在 Web 界面中:数据中心 → HA → 添加 → 选择资源(例如 vm:100 或 ct:101)并指定策略(重启、迁移)。.
您也可以使用 pvesh 从 CLI 添加资源:
pvesh create /cluster/ha/resources -resource vm:100 -state started -max_restart 3
ha-manager status
pvesh get /cluster/ha/status7)故障转移测试
模拟节点断电并检查虚拟机是否能在其他节点上启动:
ssh root@node1 "shutdown -h now"
ha-manager status
qm list
推荐的网络设置
网络设计建议:
- 两个独立的物理网络 管理 和 贮存. VLAN用于流量隔离。.
- 采用链路聚合控制协议 (LACP) 实现冗余并提高带宽。配置示例:
auto bond0
iface bond0 inet manual
bond-slaves eth0 eth1
bond-mode 802.3ad
bond-miimon 100对于 Ceph,建议将 MTU 设置为 9000,并且网络交换机支持巨型帧。.
击剑(STONITH)和预防裂脑
隔离是隔离故障节点所必需的。Proxmox 支持隔离代理。.
apt install fence-agents用于隔离的 IPMI 命令示例:
fence_ipmilan -a <IP> -l <USER> -p <PASS> -o poweroff在云或数据中心环境中,您可以使用 IPMI/BMC 或基于网络的隔离(例如, 虚拟围栏已使用。如果是两个节点,请务必使用以下命令创建 QDevice。 pvecm qdevice 设置 或者找第三位证人。.
适用于各种应用场景(交易、游戏、AI/GPU、渲染)的技巧
用于交易的VPS: 选择靠近证券交易所(例如伦敦、法兰克福、纽约)的地点,使用低延迟和防 DDoS 服务器,以及具有快速重启策略的高可用性。.
游戏VPS: 低延迟和高带宽至关重要。高可用性(HA)对联赛/持续运行的服务器很有用;但对于竞技比赛而言,通常会在赛前进行数据复制和快照。.
GPU云(人工智能和渲染): 对于 GPU 而言,实现高可用性 (HA) 是一项挑战,因为 GPU 故障转移到另一个节点需要虚拟 GPU (vGPU) 支持或重新连接。建议:使用作业级管理(例如 Kubernetes + GPU 调度)在节点故障时重新调度作业。.
该服务提供商提供图形处理单元 (GPU)、防 DDoS 服务器以及可用于交易和游戏的 VPS,这些服务可以与 Ceph 和低延迟网络集成。.
安全、备份和监控
- 验证: 为网页界面启用双因素身份验证,管理 SSH 密钥,并限制访问。.
- 防火墙: 使用 Proxmox 防火墙和严格的协议(SSH、corosync、ceph)规则。.
- 备份: 定义 RTO 和 RPO,将快照和定期备份备份到其他位置(例如集群外或 S3 兼容存储)。.
vzdump --compress lzo 100 --storage backup-storage 101监测: 建议使用 Prometheus + Grafana 或 Zabbix 来监控节点、corosync、ceph 和虚拟机的运行状况。.
前期制作清单
- 在投入生产环境之前,先在测试环境中进行故障转移测试。.
- 使用 Ceph RBD 和 I/O 测试验证实时迁移性能。.
- 配置和测试隔离(断开节点连接并检查其是否已关闭或断开连接)。.
- 指定高可用性策略:重启 vs 迁移、最大重启次数、超时时间。.
- 备份和归档日志程序。.
位置比较和选择建议
根据申请情况选择地点的一般建议:
- 欧洲(法兰克福、伦敦): 适用于欧洲网站和交易;对欧洲金融市场延迟低。.
- 美国(纽约州阿什本): 适用于与美国市场进行交易、CDN 和内容分发。.
- 亚洲(东京、新加坡): 适用于面向亚洲用户的游戏和服务,以及需要在亚洲地区进行处理的应用程序。.
执行摘要和最佳推荐配置
- 至少 3 个 Proxmox 节点 集群和存储采用独立的网络。.
- 头孢菌素 RBD 作为高可用性和实时迁移的共享存储。.
- 基于 IPMI 的围栏或围栏代理及其定期测试。.
- 网络采用绑定机制,Ceph 的 MTU 为 9000,VLAN 用于隔离。.
- 实施定期监控和备份。.
联系技术和支持团队
如果您想构建生产环境的 Proxmox 高可用性集群,或者需要有关选择位置(全球 85 多个位置)、图形服务器 (GPU)、防 DDoS 服务器、交易或游戏 VPS 或存储建议 (Ceph/NFS/iSCSI) 的建议——我们的技术团队随时准备为您设计、实施和测试高可用性方案。.









