===============================
一、项目背景
- 公司类型:半导体初创企业
- 核心痛点:原有 VMware vSphere 商用授权成本高,每年需支付数万元软件费用,且扩容受限;同时核心业务(ERP、AI 知识库)对虚拟化层的高可用要求高,单点故障会导致业务中断。
- 技术选型:Proxmox VE(开源免费、支持 KVM/LXC 双虚拟化、高可用方案成熟、社区活跃),作为 VMware 的替代方案。
二、集群架构设计
1. 硬件配置
| 节点 | 角色 | 硬件配置 |
|---|---|---|
| pve-node1 | 控制节点 + 计算节点 | CentOS 7.9、16 核 CPU、32G 内存、500G SSD |
| pve-node2 | 计算节点 | CentOS 7.9、16 核 CPU、32G 内存、500G SSD |
2. 核心技术栈
虚拟化引擎:KVM(高性能,原生支持 Linux/Windows 虚拟机)
高可用组件:Corosync + Pacemaker(节点故障自动检测与切换)
共享存储:NFS(保障虚拟机磁盘一致性,支持热迁移)
网络规划:
管理网:
192.168.1.0/24(集群心跳、WebUI 访问)业务网:
192.168.2.0/24(虚拟机对外服务)
三、核心实施步骤
步骤 1:系统环境初始化
# 关闭防火墙与 SELINUX(测试阶段简化,生产环境可精细化规则)
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 配置主机名与 hosts 解析
hostnamectl set-hostname pve-node1
echo -e "192.168.1.101 pve-node1\n192.168.1.102 pve-node2" >> /etc/hosts
步骤 2:Proxmox VE 安装与集群组建
从 Proxmox 官网下载 ISO 镜像,装机完成后,配置节点间免密登录:
ssh-copy-id root@pve-node2在控制节点(pve-node1)创建集群:
pvecm create pve-cluster将计算节点(pve-node2)加入集群:
pvecm add pve-node1验证集群状态:
pvecm status
输出显示两个节点均为 members,说明集群组建成功。
步骤 3:配置 NFS 共享存储
在 NFS 服务器(
192.168.1.200)配置共享目录:
mkdir -p /data/proxmox-shared
echo “/data/proxmox-shared 192.168.1.0/24(rw,sync,no_root_squash)” >> /etc/exports
systemctl restart nfs-server && exportfs -rv在 Proxmox 节点挂载 NFS 存储:
mount -t nfs 192.168.1.200:/data/proxmox-shared /mnt/pve/shared在 Proxmox WebUI 中添加 NFS 存储:
- 路径:
数据中心 → 存储 → 添加 → NFS - ID:
shared-nfs - 服务器:
192.168.1.200 - 导出路径:
/data/proxmox-shared - 内容:勾选
Disk image、ISO image
步骤 4:配置高可用(HA)
- 在 Proxmox WebUI 中,为核心虚拟机(如 ERP、AI 知识库)启用 HA:
- 选中虚拟机 → 更多 → 管理 HA → 添加到 HA 组
- 配置故障切换策略:
优先级:pve-node1 为主,pve-node2 为备
迁移策略:自动迁移到可用节点
- 测试故障切换:
- 关闭 pve-node1,观察核心虚拟机是否自动迁移到 pve-node2
四、项目踩坑记录(面试高频考点)
问题 1:Corosync 启动失败,集群无法组建
现象:
systemctl status corosync显示“connection timed out”排查思路:
检查节点间网络互通性(
ping pve-node2);检查 Corosync 配置文件
/etc/pve/corosync.conf中的bindnetaddr是否为内网 IP;
- 解决方案:修改
bindnetaddr为节点内网 IP(192.168.1.101),重启corosync服务。
问题 2:虚拟机热迁移失败,提示“存储不可用”
- 现象:迁移时报错“no valid shared storage found”
- 解决方案:确认 NFS 存储在所有节点挂载成功,且 Proxmox 已将 NFS 添加为“共享存储”(WebUI → 存储 → 添加 → NFS)。
问题 3:HA 切换后,虚拟机网络不通
- 现象:节点故障切换后,虚拟机无法访问业务网
- 解决方案:在所有 Proxmox 节点上配置相同的网桥(
vmbr0对应管理网,vmbr1对应业务网),确保虚拟机网络配置一致。
五、项目成果
- 成本优化:替换 VMware 后,每年节省软件授权成本约 5 万元;
- 高可用保障:节点故障时,虚拟机自动切换到备用节点,业务中断时间 < 30 秒;
- 扩展性:集群支持横向扩容,后续新增 3 个计算节点,支撑 20+ 业务虚拟机运行;
- 运维效率:通过 Proxmox WebUI 实现虚拟机全生命周期管理,运维效率提升 40%。
六、后续优化方向
- 性能调优:启用 KVM 嵌套虚拟化、优化 I/O 调度器;
- 备份策略:配置 Proxmox Backup Server(PBS),实现虚拟机增量备份;
- 监控告警:集成 Prometheus + Grafana,监控集群节点与虚拟机性能;
- 安全加固:精细化防火墙规则,启用 HTTPS 访问 WebUI。