KVM 冷迁移

Linux KVM

冷迁移:

 

 

----step1:

查看当前要迁移的虚拟机Name

virsh list --all

Eg:

[root@localhost]#virsh list --all

Id   Name                          State

----------------------------------------------------

-    machine1610              shut off

 

 

 

----step2:

查看该虚拟机的磁盘镜像文件所在位置

virsh domblklistmachine1610

Eg:

[root@localhost]#virsh domblklist machine1610

Target    Source

------------------------------------------------

vda       /mnt/sdb/KVM/libvirt/machine1610.img

hda       -

 

 

----step3

使用qemu-imageconvert命令缩小需迁移的虚拟机的磁盘的大小 [注意-O选项根据KVM虚拟机实际磁盘格式选择]

[此命应用场景:KVM 上创建的虚拟机分配磁盘为256GB,运行后至需要迁移时,仅使用约10GB的空间。du -h显示确实为10GB。但ls -hl看到的结果则为257G]

[scp至目标host机时,实际所传大小为257GB,执行此命令后,镜像文件缩小至约10GB。]

[局限:仅能缩小未曾分配的空间,若虚拟机曾经使用过50G的空间,则此命令执行后只能缩小至50GB左右,若要完全释放,可使用dd命令将虚拟机的磁盘空间用0写满.然后删除该文件后关闭虚拟机,再重新执行step3,可获得10GB的镜像文件。若网络带宽资源不紧张,则dd命令使用意义不大]

Eg:

qemu-img convert-O qcow2 machine1610.img machine1610.new.img

mvmachine1610.new.img machine1610.img

 

 

----step4:

获取需迁移虚拟机的xml文件

Eg:

virsh dumpxmlmachine1610 > machine1610.xml

 

 

----step5:

将虚拟机的xml文件和经过qemu-image的img文件一同复制至目标host机上:

 

 

----step6:

若目标img文件位于目标host机的路径与源host机的路径不同,请修改目标host机上的xml文件

修改位置<source file='/mnt/sdb/KVM/libvirt/machine1610.img'/>

Eg:

vimmachine1610.img

   <disk type='file' device='disk'>

     <driver name='qemu' type='qcow2' cache='writeback'/>

     <source file='/mnt/sdb/KVM/libvirt/machine1610.img'/>

     <backingStore/>

     <target dev='vda' bus='virtio'/>

     <alias name='virtio-disk0'/>

     <address type='pci' domain='0x0000' bus='0x00' slot='0x08'function='0x0'/>

   </disk>

 

 

----step7:

使用virshdefine命令依据xml文件在目标host上创建虚拟机

Eg:

virsh definemachine1610.xml

 

 

----step8:

确定虚拟机使用的网络确实存在.若不存在,创建或更换

 

----step9

启动虚拟机

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值