kvm异地克隆windows虚拟机

发布时间 2023-08-25 17:09:44作者: 坚强的小蚂蚁

参考:http://www.manongjc.com/detail/64-kpxrbceryhbitsu.html

1.查找原先虚拟机磁盘位置

virsh dumpxml nccc-jumphost 查看配置文件,找到磁盘位置/home/kvm/images

2.复制磁盘

复制磁盘
cp nccc-jumphost.qcow2 nccc-jumphost_clone1.qcow2

拷贝到异地服务器
scp nccc-jumphost_clone1.xml root@10.253.100.81:/opt/images/

默认存储位置是/var/lib/libvirt/images

3.复制xml配置文件

virsh dumpxml --domain nccc-jumphost > /etc/libvirt/qemu/nccc-jumphost_clone1.xml

4.修改xml文件,将原始机器的唯一性配置删除

#修改虚拟机名字
#删除UUID
#删除mac地址
#修改磁盘路径

5.导入虚拟机

virsh define --file /opt/images/nccc-jumphost_clone1.xml 

6.启动虚拟机

virsh start nccc-jumphost-clone1
启动会报错
operation failed: guest CPU doesn't match specification: extra features: hypervisor, missing features: pclmuldq,fma,movbe,aes,xsave,avx,f16c,rdrand,arat,fsgsbase,bmi1,hle,avx2,smep,bmi2,erms,invpcid,rtm,mpx,avx512f,avx512dq,rdseed,adx,smap,clwb,avx512cd,avx512bw,avx512vl,xsaveopt,xsavec,xgetbv1,abm,3dnowprefetch 

解决方法
需要在xml的cpu配置部分添加禁止上面的参数,参考https://blog.csdn.net/xufuangchao/article/details/106127756

例如:<feature policy='disable' name='fma'/>

7.删除虚拟机,重新定义

virsh undefine nccc-jumphost-clone1
virsh define --file /opt/images/nccc-jumphost_clone1.xml 

8.virsh 参考命令

virsh list                                                 #显示本地活动虚拟机

virsh list --all                                       #显示本地所有的虚拟机(活动的+不活动的)

virsh define ubuntu.xml                     #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)

virsh start ubuntu                                #启动名字为ubuntu的非活动虚拟机

virsh create ubuntu.xml                     # 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)

virsh suspend ubuntu                         # 暂停虚拟机

virsh resume ubuntu                           # 启动暂停的虚拟机

virsh shutdown ubuntu                      # 正常关闭虚拟机

virsh destroy ubuntu                           # 强制关闭虚拟机

virsh dominfo ubuntu                         #显示虚拟机的基本信息

virsh domname 2                                 # 显示id号为2的虚拟机名

virsh domid ubuntu                             # 显示虚拟机id号

virsh domuuid ubuntu                        # 显示虚拟机的uuid

virsh domstate ubuntu                       # 显示虚拟机的当前状态

virsh dumpxml ubuntu                       # 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)

virsh setmem ubuntu 512000           #给不活动虚拟机设置内存大小
·
virsh setvcpus ubuntu 4                     # 给不活动虚拟机设置cpu个数

virsh edit ubuntu                                 # 编辑配置文件(一般是在刚定义完虚拟机之后)

virsh vcpuinfo sles11sp3                     #显示vcpu信息

virsh domstate  ubuntu --reason
————————————————
原文链接:https://blog.csdn.net/qiongtianliuyun/article/details/123774445