本文配套脚本开源在 GitHub gists,部署一个家用 3 节点集群实测 1.5 小时以内。脚本做了幂等,重跑不会破坏已有集群。
目录结构
~/pve-bootstrap/
├── inventory.yaml
├── bootstrap.sh # 装机后的初始化
├── replace-sources.sh # 换源 + 去订阅
├── join-cluster.yaml # Ansible 加入集群
└── README.md
bootstrap.sh 要点
- 判断是否安装 PVE(/etc/pve 目录)
- 关闭企业源,添加 tuna 镜像
- 关闭 ceph ISO 警告
- 设置 timezone / locale
- 建立 /root/.ssh/authorized_keys 互通
加入集群
在第一台主机执行 pvecm create 拿到 cluster info。其他两台用 pvecm add <master-ip> 即可。Ansible playbook 把"加入集群 + 启动 corosync"封装为单条 task。
验收清单
pvecm status # quorate 一致
ha-manager status
ceph -s # HEALTH_OK
# 在 Web 界面看到 3 个节点是绿色
脚本不处理"证书与 SSH 主机名漂移",所以请先固化 /etc/hosts 与 /etc/hostname 一致后再跑。