KVM云服务器迁移分为冷迁移和热迁移两种方式,具体操作如下:
### 一、冷迁移(虚拟机关机状态)
1. 关闭虚拟机
在源宿主机执行:virsh shutdown <虚拟机名称>(优雅关机)
若无法关机,可使用强制关机:virsh destroy <虚拟机名称>。
2. 导出配置文件virsh dumpxml <虚拟机名称> > /path/to/backup/<虚拟机名称>.xml。
3. 复制磁盘文件与配置文件
- 若为本地存储,使用scp或rsync复制磁盘文件(如.qcow2)和配置文件到目标宿主机对应目录。
- 若为共享存储(如NFS),只需确保目标宿主机挂载共享存储并访问磁盘文件。
4. 在目标宿主机注册虚拟机virsh define /path/to/backup/<虚拟机名称>.xml。
5. 启动虚拟机并验证virsh start <虚拟机名称>,通过virsh console或IP连接验证运行状态。
### 二、热迁移(虚拟机在线状态,需共享存储)
1. 前提条件
- 源/目标宿主机CPU架构一致,安装相同KVM版本及libvirt。
- 配置共享存储(如NFS),并确保两台宿主机挂载到同一路径。
- 开放防火墙端口(TCP 16509)并配置SSH免密登录。
2. 执行迁移命令virsh migrate --live <虚拟机名称> qemu+ssh://<目标宿主机IP>/system。
3. 验证迁移结果
在目标宿主机通过virsh list --all查看虚拟机状态,确认为running。
### 三、注意事项
- 存储兼容性:确保磁盘格式(如qcow2)在源/目标宿主机均支持。
- 网络配置:迁移后需检查网桥(如br0)是否一致,必要时修改XML配置。
- 大内存虚拟机:若内存修改频繁,建议选择冷迁移或优化共享存储性能。
参考来源:[1,3,4,5,6,7,8,9,10,11]