kvm(九)客户机vm的迁移

简介:

本文系统:centos 6.5 x64

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

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


一、静态迁移:

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

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

wKioL1W3TZ-DEReeAADlgJm9DUE210.jpg

copy文件

wKioL1W3T_aDU9JmAAKTWDdDxao280.jpg

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

wKiom1W3T_miJzZXAAFpv9827U4411.jpg

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

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

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

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

wKiom1XdaWaAH6PVAAGsw1PJzZA227.jpg

主机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共享:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[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

1
2
3
4
5
6
[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
1
2
3
4
5
6
[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

1
[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
1
2
3
4
5
6
7
8
9
10
[root@Aries ~] # virsh list 
  Id    名称                         状态
----------------------------------------------------
  2     vmTest                         running
 
[root@Aries ~] # virsh domblklist vmTest
Target     Source
------------------------------------------------
vda         /nfsData/kvm/vmTest .img
hdc        -

wKiom1XdbVzj_tiAAADitwayOy8889.jpg

4、虚拟机迁移:

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

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

wKioL1XeeuuCp0pNAAD81Q3eqb4842.jpg
在原主机的vm已经停机,查看目标主机的vm状态

wKiom1XeePzS6xXRAACQ9R-E52s402.jpg

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

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

wKiom1XeeXPRLQdqAACNEk3sbKI536.jpg

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

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

wKiom1XeeffACmekAAF5X6oxy0Q946.jpg


本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1688760


相关文章
|
文件存储 虚拟化 数据安全/隐私保护
使用VM workstation安装部署ESXi 6.5主机(详细操作)
使用VM workstation安装部署ESXi 6.5主机(详细操作)
516 0
|
Linux Windows
在 VM 虚拟机中 Linux 动态网络配置
在 VM 虚拟机中 Linux 动态网络配置
194 0
在 VM 虚拟机中 Linux 动态网络配置
|
存储 KVM 数据安全/隐私保护