码迷,mamicode.com
首页 > 其他好文 > 详细

kvm(九)客户机vm的迁移

时间:2015-08-27 19:23:05      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:nfs   migrate   virsh   

本文系统:centos 6.5 x64

静态迁移:将vm的配置文件及磁盘文件进行copy到另外一台kvm主机即可

动态迁移:基于nfs的动态迁移和基于gfs的动态迁移


一、静态迁移:

我们将Aries主机的vm(vm2 )迁移到 lansgg主机上;

思路就是将 vm2 的配置文件及磁盘文件 copy 到对端主机,重新define 即可

技术分享

copy文件

技术分享

因为磁盘目录和配置文件一致,所以直接进行define即可

技术分享

可以看到启动成功、迁移完成。

二、动态迁移:基于nfs的动态迁移

相比静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目 录结构虚拟机磁盘文件,这里使用nfs来实验,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移。

KVM动态迁移目前有两种,一种是基于共享存储的动态迁移,一种是基于基于数据块的动态迁移,需要qemu-kvm-0.12.2以上版本支持。

技术分享

主机A:

hostname:Aries

ip:192.168.100.128

主机B:

hostname:daf

ip:192.168.100.141

NFS主机:

hostname:nfs

ip:192.168.100.140

实验目的:将主机A的虚拟机 vmTest 迁移到 主机B 上

1、将nfs主机的上存储 sdb1 进行nfs共享:

[root@nfs ~]# yum install rpcbind nfs-utils* -y
[root@nfs /]# cat /etc/exports 
/nfs         192.168.100.0/24(rw,sync,no_root_squash) 
[root@nfs /]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /nfs type ext4 (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
[root@nfs /]# /etc/init.d/rpcbind start
[root@nfs /]# /etc/init.d/nfs start
[root@nfs /]# /etc/init.d/rpcidmapd start



2、分别在其他两台主机挂载nfs

[root@Aries ~]# mkdir /nfs/Data
[root@Aries ~]# showmount -e 192.168.100.140
Export list for 192.168.100.140:
/nfs 192.168.100.0/24
[root@Aries ~]# mount -t nfs 192.168.100.140:/nfs /nfsData
[root@Aries ~]# mkdir /nfsData/kvm
[root@daf kvm]# mkdir /nfsData
[root@daf kvm]# showmount -e 192.168.100.140
Export list for 192.168.100.140:
/nfs 192.168.100.0/24
[root@daf kvm]# mount -t nfs 192.168.100.140:/nfs /nfsData
[root@daf kvm~]# mkdir /nfsData/kvm

3、在Aries上创建虚拟机 vmTest

[root@Aries ~]#  virt-install --name=vmTest --ram 512 --vcpus=1 --disk path=/nfsData/kvm/vmTest.img,size=7,bus=virtio --accelerate --cdrom=/iso/CentOS-6.5-x86_64-bin-DVD1.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
[root@Aries ~]# virsh list 
 Id    名称                         状态
----------------------------------------------------
 2     vmTest                         running

[root@Aries ~]# virsh domblklist vmTest
Target     Source
------------------------------------------------
vda        /nfsData/kvm/vmTest.img
hdc        -

技术分享

4、虚拟机迁移:

Ps:确保两节点都有相同的虚拟机磁盘文件存储目录,我们这里是 /nfsData/kvm

[root@Aries ~]# virsh migrate --live --verbose vmTest  qemu+ssh://192.168.100.141/system tcp://192.168.100.141

技术分享
在原主机的vm已经停机,查看目标主机的vm状态

技术分享

已经转移到目标主机,中间会有间断的不可用。

Ps:虽然vm在目标主机成功启动,可是还是没有配置文件,需要生成配置文件

技术分享

5、生成配置文件,重新进来define

[root@daf qemu]# virsh dumpxml vmTest > /etc/libvirt/qemu/vmTest.xml
[root@daf qemu]# virsh define /etc/libvirt/qemu/vmTest.xml

技术分享

本文出自 “大風” 博客,请务必保留此出处http://lansgg.blog.51cto.com/5675165/1688760

kvm(九)客户机vm的迁移

标签:nfs   migrate   virsh   

原文地址:http://lansgg.blog.51cto.com/5675165/1688760

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!