相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移。
KVM动态迁移目前有两种,一种是基于共享存储的动态迁移,一种是基于基于数据块的动态迁移,需要qemu-kvm-0.12.2以上版本支持,OEL6.3版本是qemu-kvm-0.12.1.2,其它发行版可能有支持。
kvm虚拟化学习笔记系列文章列表
kvm虚拟化学习笔记(一)之kvm虚拟化环境安装
<a href="http://koumm.blog.51cto.com/703525/1288795" target="_blank">http://koumm.blog.51cto.com/703525/1288795</a>
kvm虚拟化学习笔记(二)之linuxkvm虚拟机安装
<a href="http://koumm.blog.51cto.com/703525/1289627" target="_blank">http://koumm.blog.51cto.com/703525/1289627</a>
kvm虚拟化学习笔记(三)之windowskvm虚拟机安装
<a href="http://koumm.blog.51cto.com/703525/1290191" target="_blank">http://koumm.blog.51cto.com/703525/1290191</a>
kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
<a href="http://koumm.blog.51cto.com/703525/1290269" target="_blank">http://koumm.blog.51cto.com/703525/1290269</a>
kvm虚拟化学习笔记(五)之windows虚拟机性能调整
<a href="http://koumm.blog.51cto.com/703525/1290682" target="_blank">http://koumm.blog.51cto.com/703525/1290682</a>
kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置
<a href="http://koumm.blog.51cto.com/703525/1290996" target="_blank">http://koumm.blog.51cto.com/703525/1290996</a>
kvm虚拟化学习笔记(七)之kvm虚拟机克隆
<a href="http://koumm.blog.51cto.com/703525/1291793" target="_blank">http://koumm.blog.51cto.com/703525/1291793</a>
kvm虚拟化学习笔记(八)之kvm虚拟机vnc配置
<a href="http://koumm.blog.51cto.com/703525/1291803" target="_blank">http://koumm.blog.51cto.com/703525/1291803</a>
kvm虚拟化学习笔记(九)之kvm虚拟机时间配置
<a href="http://koumm.blog.51cto.com/703525/1291862" target="_blank">http://koumm.blog.51cto.com/703525/1291862</a>
kvm虚拟化学习笔记(十)之kvm虚拟机快照备份
<a href="http://koumm.blog.51cto.com/703525/1291893" target="_blank">http://koumm.blog.51cto.com/703525/1291893</a>
kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间
<a href="http://koumm.blog.51cto.com/703525/1292146" target="_blank">http://koumm.blog.51cto.com/703525/1292146</a>
kvm虚拟化学习笔记(十二)之kvmlinux虚拟机在线扩展磁盘
<a href="http://koumm.blog.51cto.com/703525/1295296" target="_blank">http://koumm.blog.51cto.com/703525/1295296</a>
kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结
<a href="http://koumm.blog.51cto.com/703525/1298845" target="_blank">http://koumm.blog.51cto.com/703525/1298845</a>
kvm虚拟化学习笔记(十四)之kvm虚拟机静态迁移
<a href="http://koumm.blog.51cto.com/703525/1298852" target="_blank">http://koumm.blog.51cto.com/703525/1298852</a>
kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移
<a href="http://koumm.blog.51cto.com/703525/1300783" target="_blank">http://koumm.blog.51cto.com/703525/1300783</a>
kvm虚拟化学习笔记(十六)之kvm虚拟化存储池配置
<a href="http://koumm.blog.51cto.com/703525/1304196" target="_blank">http://koumm.blog.51cto.com/703525/1304196</a>
kvm虚拟化学习笔记(十七)之KVM到KVM之v2v迁移
<a href="http://koumm.blog.51cto.com/703525/1304271" target="_blank">http://koumm.blog.51cto.com/703525/1304271</a>
kvm虚拟化学习笔记(十八)之ESXi到KVM之v2v迁移
<a href="http://koumm.blog.51cto.com/703525/1304461" target="_blank">http://koumm.blog.51cto.com/703525/1304461</a>
kvm虚拟化学习笔记(十九)之convirt集中管理平台搭建
<a href="http://koumm.blog.51cto.com/703525/1305553" target="_blank">http://koumm.blog.51cto.com/703525/1305553</a>
kvm虚拟化学习笔记(二十)之convirt安装linux系统
<a href="http://koumm.blog.51cto.com/703525/1306526" target="_blank">http://koumm.blog.51cto.com/703525/1306526</a>
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939654eUcl.png" target="_blank"></a>
(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
桥接IP地址1:192.168.159.160
(3)nfs服务器(nfs配置略)
操作系统版本:OEL5.8x64
桥接IP地址1:192.168.169.180
nfs服务目录:/mnt/vg/nfs/abc
(1)节点1挂载nfs目录
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939657W5xo.png" target="_blank"></a>
(2)节点2挂载nfs目录
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939662kbpl.png" target="_blank"></a>
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939666IhoT.png" target="_blank"></a>
确保两节点都有相同的虚拟机磁盘文件存储目录。
(1)节点1虚拟机状态,oeltest01虚拟机开机状态
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939668wpsa.png" target="_blank"></a>
(2)节点2虚拟机状态,无虚拟机运行
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939671eSYm.png" target="_blank"></a>
(3)在主机1上执行迁移命令
1
2
3
<code>[root@node1~]#virsh migrate --live --verbose oeltest01 qemu+ssh:</code><code>//192.168.159.160/system tcp://192.168.159.160</code>
<code>root@</code><code>192.168</code><code>.</code><code>159.160</code><code>'spassword:</code>
<code>Migration:[</code><code>100</code><code>%]</code>
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939673jAce.png" target="_blank"></a>
过程有一个暂停与关闭的过程。
(4)客户机一直ping查看迁移,可以看到中间有两个包的中断,基本上没有太大影响。
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939679BwWw.png" target="_blank"></a>
(5)虚拟主机2上,可以看到虚拟机oeltest01已经启动了。
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939684A7fk.png" target="_blank"></a>
虽然oeltest01虚拟机已经在节点2上启动了,但是虚拟主机上还没有oeltest01虚拟机的配置文件。所以需要创建配置文件并定义虚拟机。
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939686fZY1.png" target="_blank"></a>
(6)虚拟主机2上,通过迁移过来的虚拟机内存状态创建虚拟机配置文件,并通过xml配置文件定义虚拟机。
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_1379939690Uwt8.png" target="_blank"></a>
在虚拟主机2上进入虚拟机没有问题。
<a href="http://koumm.blog.51cto.com/attachment/201309/23/703525_13799396997oOr.png" target="_blank"></a>
到此,kvm虚拟机动态迁移成功。
本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1300783,如需转载请自行联系原作者