0
0

qemu新特性—基于micro checkpoint的FT

boh.ricky 发表于 2013年11月04日 23:56 | Hits: 4206
Tag: 云计算 | FT | kemari | MC | qemu | 开源

qemu一直没有提供FT特性。从前有个kemari的FT项目,一直游离于主干之外。而且似乎已经废弃很久。曾经试图联络过作者,也袅无音讯。
最近社区邮件列表又出现了一个新的FT项目,似乎很有进入主干的趋势。

实际感受了下,在普通负荷TCP方式下FT的速度还是挺快的。 RDMA方式下速度应该更好。

下边先写下操作的过程,关于原理和代码分析后续再写。

编译

这里是从github上取得的该项目分支。
[root@localhost qemu-mc]# ./configure –target-list=x86_64-softmmu –enable-kvm –enable-rdma –enable-vnc –enable-mc –disable-rbd –disable-xen –disable-fdt –disable-slirp –disable-strip –disable-libusb
[root@localhost qemu-mc]# make clean
[root@localhost qemu-mc]# make -j5

编译问题:
migration-rdma.c缺少头文件”#include <sys/resources.h>”

运行MC方式的FT

  1. NFS配置
    [root@localhost qemu-mc]# mount 186.100.8.170:/data/test/img /data/test/img2
  2. 运行
    从端虚拟机运行
    qemu-mc_patch_v1/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -M pc -m 1024 -smp 2 -monitor stdio -localtime -boot c -drive file=/data/test/img/winxp.qcow2,if=virtio,index=0,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:05:11:12 -net tap,ifname=tap1,script=no -vnc :2 -incoming tcp:0:4444
    主端虚拟机运行
    qemu-mc_patch_v1/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -M pc -m 1024 -smp 2 -monitor stdio -localtime -boot c -drive file=/data/test/img2/winxp.qcow2,if=virtio,index=0,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:05:11:11 -net tap,ifname=tap0,script=no -vnc :1
  3. 配置IFB(这里需要关联主端虚拟机的网络设备)
    $ modprobe ifb numifbs=100 # (or some large number)
    $ ip link set up ifb0 # <= corresponds to tap device ‘tap0’
    $ tc qdisc add dev tap0 ingress
    $ tc filter add dev tap0 parent ffff: proto ip pref 10 u32 match u32 0 0 action mirred egress redirect dev ifb0
  4. 主端monitor上进行各种FT的设置
    打开mc
    $ migrate_set_capability x-mc on # disabled by default
    关闭net设备的buffer(用于测试,可以在无网络设备的环境下用,一般不必打开)
    $ migrate_set_capability mc-net-disable on # buffering activated by default
    利用多cpu并行处理ft(建议打开)
    $ migrate_set_capability bitworkers on # disabled by default
    rdma相关设置:(除非是rdma方式的FT,不必打开)
    $ migrate_set_capability rdma-keepalive on # disabled by default
    $ migrate_set_capability mc-rdma-copy on # disabled by default
  5. 启动FT
    $ migrate -d tcp:127.0.0.1:4444 然后可以在monitor上看到不停地在checkpoint同步
  6. 手动停止主端,从端很快接管并开始运行

参考资料

http://wiki.qemu.org/Features/MicroCheckpointing

本博客欢迎转发,但请保留原作者(新浪微博:@薄海Ricky;博客地址:http://www.bhgeek.com)信息! 内容系本人学习、研究和总结,如有雷同,实属荣幸!

原文链接: http://bhgeek.com/2013/11/04/qemu%e6%96%b0%e7%89%b9%e6%80%a7-%e5%9f%ba%e4%ba%8emicro-checkpoint%e7%9a%84ft/

0     0

我要给这篇文章打分:

可以不填写评论, 而只是打分. 如果发表评论, 你可以给的分值是-5到+5, 否则, 你只能评-1, +1两种分数. 你的评论可能需要审核.

评价列表(0)