静态迁移又称为离线迁移(Offline Migration)。在虚拟机关机或暂停的情况下从一台宿主机迁移到另一台宿主机。
静态迁移虚拟机在关机状态下,拷贝虚拟机虚拟磁盘文件和配置文件到目标宿主机中,实现迁移。静态迁移大致分为:
- 宿主机使用本地存储存放虚拟机磁盘文件(本文基于本地磁盘存储虚拟机磁盘文件)
- 宿主机之间使用共享存储存放虚拟机磁盘文件(目标虚拟主机上重新定义虚拟机即可)
1:开始操作前我们需要先关闭虚拟机
virsh shutdown vm-001
virsh domstate vm-001
2:查看虚拟机数据盘位置
[root@server ~]# virsh domblklist vm-001
Target Source
------------------------------------------------
vda /data/kvm/images/vm-001.qcow2
3:迁移虚拟机数据盘及虚拟机配置到目标服务器
[root@server ~]# scp /var/lib/libvirt/images/vm-001.qcow2 root@192.168.100.100:/data/kvm/images
root@192.168.100.100's password:
vm-001.qcow2 100% 237GB 110.0MB/s 36:48
[root@server ~]# scp /etc/libvirt/qemu/vm-001.xml root@192.168.100.100:/etc/libvirt/qemu/
root@192.168.100.100's password:
vm-001.xml 100% 4409 3.9MB/s 00:00
4:查看迁移完成的虚拟机数据
[root@server ~]# ll /etc/libvirt/qemu/vm-001.xml
-rw-------. 1 root root 4406 Nov 17 01:49 /etc/libvirt/qemu/vm-001.xml
[root@server ~]# ll /data/kvm/images/vm-001.qcow2
-rw-r--r--. 1 qemu qemu 254764777472 Nov 17 02:48 /data/kvm/images/vm-001.qcow2
5:在新的服务器中根据配置文件重新注册虚拟机
[root@server ~]# virsh define /etc/libvirt/qemu/vm-001.xml
Domain vm-001 defined from /etc/libvirt/qemu/vm-001.xml
6:启动迁移之后的虚拟机
[root@server ~]# virsh start vm-001
Domain vm-001 started
到此为止一个虚拟机的迁移工作就到此为止了。
但是会有一种意外情况,当目标服务器和原来的服务器硬件配置不一样时,启动会报CPU错误:
[root@server ~]# virsh start vm-001
error: Failed to start domain vm-001
error: the CPU is incompatible with host CPU: Host CPU does not provide required features: hle, rtm
这是因为两台宿主机的CPU类型不一致导致的,解决方法也很简单,将虚拟机XML文件中的CPU类型改为与当前宿主机一致即可。
解决办法也很简单,请按照如下步骤操作~
1:查看当前宿主机的CPU架构类型
[root@server ~]# virsh capabilities |grep model
<model>Broadwell-noTSX-IBRS</model>
<secmodel>
<model>selinux</model>
</secmodel>
<secmodel>
<model>dac</model>
</secmodel>
2:修改虚拟机XML文件中的CPU类型(可以自己创建一个新的虚拟机,看配置文件取替换最为稳妥)

3:重新注册并启动虚拟机
[root@server ~]# virsh undefine vm-001
Domain vm-001 has been undefined
[root@server ~]# virsh define /etc/libvirt/qemu/vm-001.xml
Domain vm-001 defined from /etc/libvirt/qemu/vm-001.xml
[root@server ~]# virsh start vm-001
Domain vm-001 started
Comments NOTHING