qemu的不断网动态迁移的试验

[b]需求:[/b]
目前有两台服务器
192.168.139.117
192.168.139.83

把117上的一台vm动态迁移到83上,中间不断网,不影响用户使用
假设vm的网络也是一个网段的192.168.139.66,使用相同的dhcp服务
[b]服务器上配置网络:[/b]
两台机器都要

systemctl stop NetworkManager
systemctl disable NetworkManager


网络配置为
[b]192.168.139.117:[/b]
[code="java"]
# cat ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.139.117
NETMASK=255.255.240.0
GATEWAY=192.168.128.1
DNS1=114.114.114.114
# cat ifcfg-eth0
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
#
[/code]
##################
[b]192.168.139.83:[/b]
[code="java"]
# cat ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.139.83
NETMASK=255.255.240.0
GATEWAY=192.168.128.1
DNS1=114.114.114.114
# cat ifcfg-eth0
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
#
[/code]
[b]准备[/b]
kernel文件 :bzImage
系统镜像:hda.qcow2 迁移的必须是qcow2等格式,raw不行
如果是raw的hda.img需要转一下:
qemu-img convert -f raw -O qcow2 hda.img hda.qcow2


[b]qemu的启动的网络脚本:[/b]
if-up:

#!/bin/sh
ip link set tap1 up
brctl addif br0 tap1

关闭的脚本:
if-down:

#!/bin/sh
ip link set tap1 down
brctl delif br0 tap1


在117上qemu启动vm:

/usr/libexec/qemu-kvm -kernel bzImage -drive file=hda.qcow2,if=ide,cache=none -append "console=ttyS0 root=/dev/sda rw rdinit=/sbin/init notsc=1" -boot order=dc,menu=on -net nic,vlan=0,macaddr=52:54:00:12:34:22,model=e1000,addr=08 -net tap,ifname=tap1,script=./if-up,downscript=./if-down -vnc 0.0.0.0:1


脚本和hda.qcow,bzImage都复制到83上

#####################
进入刚起的vm,执行dhclient获取ip为192.168.139.66
设置一些变量(为了观察内存迁移后是否同步)
export haohao=ning
修改一个文件(为了观察硬盘迁移后是否同步)
echo 117 > /hello.txt


####################################
在83上启动

/usr/libexec/qemu-kvm -kernel bzImage -drive file=hda.qcow2,if=ide,cache=none -append "console=ttyS0 root=/dev/sda rw rdinit=/sbin/init notsc=1" -boot order=dc,menu=on -net nic,vlan=0,macaddr=52:54:00:12:34:22,model=e1000,addr=08 -net tap,ifname=tap1,script=./if-up,downscript=./if-down -vnc 0.0.0.0:1 -incoming tcp:0:6666


注意多了一个[color=red]-incoming tcp:0:6666[/color],其他都一样,准备接受,执行后,vm并没有开始运行

######################################
切换到117上起的vm,ip为192.168.139.66的vm上
[b]ctl+alt 2 [/b]切换到monitor模式
(qemu)migrate tcp:192.168.139.83:6666


这个过程观察一直观察网络ping的状况

#############################
发现ping没有明显变化
83上启动的vm
ctl+alt 3 或ctl+alt 1切换到运行的vm上
内存硬盘网络已经为66了

117上的vm已经不可用
达到不影响用户使用的情况把
vm从117迁移到了83上,
好了,117服务器可以下架了

如图:
[img]http://dl2.iteye.com/upload/attachment/0118/2944/8b013490-4190-3001-8a09-8561fc68ae36.png[/img]


####################################
需要的基础知识:
vm的网络桥接参考:
[url]http://haoningabc.iteye.com/blog/2306736[/url]
基本的动态迁移参考
[url]http://haoningabc.iteye.com/blog/2307304[/url]
用qemu建立vm参考:
[url]http://haoningabc.iteye.com/blog/2306941[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值