操作环境
Proxmox VE: V8.1.3 多节点集群部署
homepve
: 本次重装/迁移的节点,使用lvm作为启动磁盘
node-rest
: 集群中的其他节点
预期效果
- 保留
homepve
节点的所有宿主机设置与集群关系 - 保留所有运行于
homepve
的虚拟机配置 homepve
的启动引导磁盘由lvm变更为zfs mirror
操作步骤
0. 建议的前置步骤
- 将
node0
中的所有虚拟机迁移至node-rest
或停机备份至你的备份磁盘中 - 备份以下目录:
/etc/pve
/etc/corosync
/root/ssh
/etc/network
1. 重新安装Proxmox VE
Warning
如果你没有完成步骤0
你必须保证homepve
节点当前的启动磁盘不会在你的安装过程中格式化
安装前不要将homepve从集群中移除
使用官方镜像,直接重新安装homepve
节点,
安装过程使用一组新的磁盘配置zfs mirror作为新的引导磁盘。
直到迁移结束前都建议保持节点离线,不要接入到集群网络中,
安装过程使用与之前相同的主机名,无其余特殊事项。
2. 完成配置迁移
Info
将
homepve
启动至新安装的系统,以root身份登入终端
此步骤的全部流程都在该环境下完成
挂载旧系统的pve/root逻辑卷
此步骤用于获取旧系统中的配置信息,
如果你完成了步骤0,你也可以跳过此步骤并直接使用备份的配置
定位逻辑卷路径
如果没有特殊设置,一般会是/dev/pve/root
创建临时文件夹并挂载旧系统的pve root卷
迁移配置
停止全部pve服务
killall -9 corosync
systemctl stop pve-cluster
systemctl stop pvedaemon
systemctl stop pvestatd
systemctl stop pveproxy
迁移主机和集群配置
导入所有zfs存储池
如果你的旧节点没有使用zfs,无需进行此步骤
重新激活ceph
如果你的旧节点没有使用ceph,无需进行此步骤
ceph-volume lvm activate --all
重启网络和pve服务
systemctl restart networking
systemctl restart pve-cluster
systemctl restart pvedaemon
systemctl restart pvestatd
systemctl restart pveproxy
3. 验证效果
Info
虚拟机可能不会自动启动,建议确认homepve在线后,重启homepve节点
登入集群中任意节点webui
- 确认旧节点已上线
- 确认ceph状态正常
4. 后续步骤
迁移其他配置文件:
如果你通过宿主机配置了其他服务
你可以根据自己的需要从步骤2中挂载的旧系统卷中提取配置
例如nfs配置/etc/exports
等,覆盖到新系统中
个人建议: 不要直接操作PVE宿主机、不要直接在宿主机上直接运行业务负载
清理旧系统盘
旧系统盘仍然带有引导分区和完整的系统文件,
如果bios设置不当,可能你会重启至旧系统中
因此建议在迁移验证完成后,移除旧系统盘或完全格式化磁盘