首页 > 代码库 > kvm_虚拟机迁移
kvm_虚拟机迁移
virsh domblklist 虚拟机名称 #查看虚拟磁盘文件
一、kvm虚拟机静态迁移
1.静态迁移就是虚拟机在关机状态下,拷贝虚拟机虚拟磁盘文件与配置文件到目标虚拟主机中,实现的迁移。
(1)虚拟主机各自使用本地存储存放虚拟机磁盘文件
本文实现基于本地磁盘存储虚拟机磁盘文件的迁移方式,
(2)虚拟主机之间使用共享存储存放虚拟机磁盘文件
该方式只是在目标虚拟主机上重新定义虚拟机就可以了。
2.静态迁移过程如下
(1)确定虚拟机关闭状态
virsh list --all #查看虚拟机状态
2)准备迁移oeltest02虚拟机,查看该虚拟机配置的磁盘文件
virsh domblklist #虚拟机名称 #查看虚拟磁盘文件
(3)导入虚拟机配置文件
virsh dumpxml oeltest02 > /root/oeltest02.xml
4)拷贝配置文件到目标虚拟主机上。
(5)查看虚拟机磁盘文件并拷贝到目标虚拟主机。
3.目标虚拟主机上
上面已经将虚拟机磁盘文件与配置文件都已经复制到目标虚拟主机上了。下面开始配置与启动。
(1)查看目标虚拟主机环境。
查看虚拟机磁盘文件,目录结构与源虚拟主机一致。
(2)定义注册虚拟主机
(3)启动虚拟主机并确认
至此虚拟机静态迁移完成。
二、kvm虚拟机动态迁移
相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移。KVM动态迁移目前有两种,一种是基于共享存储的动态迁移,一种是基于基于数据块的动态迁移,需要qemu-kvm-0.12.2以上版本支持,OEL6.3版本是qemu-kvm-0.12.1.2,其它发行版可能有支持。
1.虚拟化平台架构
2.虚拟化环境介绍
(1)KVM虚拟化服务器node1
操作系统版本:OEL6.3x64
KVM虚拟化:自带版本
桥接IP地址1:192.168.159.150
测试虚拟机:oeltest01
虚拟机IP地址:192.168.159.132
虚拟磁盘文件1:/data/test01.qcow2
虚拟磁盘文件2:/data/test01_add01.qcow2
nfs挂载目录:/data
(2)KVM虚拟化服务器node2
操作系统版本:OEL6.3x64
KVM虚拟化:自带版本
桥接IP地址1:192.168.159.160
nfs挂载目录:/data
(3)nfs服务器(nfs配置略)
操作系统版本:OEL5.8x64
桥接IP地址1:192.168.169.180
nfs服务目录:/mnt/vg/nfs/abc
3.kvm虚拟主机配置准备
(1)节点1挂载nfs目录
(2)节点2挂载nfs目录
确保两节点都有相同的虚拟机磁盘文件存储目录。
4.kvm虚拟机迁移
(1)节点1虚拟机状态,oeltest01虚拟机开机状态
(2)节点2虚拟机状态,无虚拟机运行
(3)在主机1上执行迁移命令
1
2
3
|
[root@node1~]#virsh migrate --live --verbose oeltest01 qemu+ssh: //192.168.159.160/system tcp://192.168.159.160 root@ 192.168 . 159.160 ‘spassword: Migration:[ 100 %] |
过程有一个暂停与关闭的过程。
(4)客户机一直ping查看迁移,可以看到中间有两个包的中断,基本上没有太大影响。
(5)虚拟主机2上,可以看到虚拟机oeltest01已经启动了。
虽然oeltest01虚拟机已经在节点2上启动了,但是虚拟主机上还没有oeltest01虚拟机的配置文件。所以需要创建配置文件并定义虚拟机。
(6)虚拟主机2上,通过迁移过来的虚拟机内存状态创建虚拟机配置文件,并通过xml配置文件定义虚拟机。
在虚拟主机2上进入虚拟机没有问题。
到此,kvm虚拟机动态迁移成功。
kvm_虚拟机迁移