qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-discuss] Fail to run QEMU microcheckpointing


From: Le Tan
Subject: Re: [Qemu-discuss] Fail to run QEMU microcheckpointing
Date: Fri, 4 Mar 2016 19:25:45 +0800

Hi,

2016-03-04 16:11 GMT+08:00 Le Tan <address@hidden>:
Hi,
I am testing QEMU microcheckpointing feature described here [QEMU Wiki](http://wiki.qemu.org/Features/MicroCheckpointing) but I can't make it work. I can't find a description for setup in detail.So I will illustrate my configuration step by step and please, help me to find out what's wrong with it. :)

1. I am using Ubuntu 14.04.4 for hosts. I manually downgraded the libnl to version 3.2.16.
2. I configured QEMU by `./configure --enable-kvm --target-list=x86_64-softmmu --enable-virtfs --enable-mc`.
3. S is the source host, D is the destination host and N is the host for NFS server. They are under the same subnet over 100mbps TCP.
4. I mounted the NFS on both S and D with the same path `/home/tamlok/share/`.
5. I started guest on D to listen to port 4444:
```
/usr/local/bin/qemu-system-x86_64 -nographic -vnc :1 -drive file=/home/tamlok/share/ubuntu-rr.img,cache=none,media=disk -m 128 --enable-kvm -smp 2 -netdev tap,id=net0,script=no,ifname=tap0 -device e1000,netdev=net0,mac=DE:AD:BE:EF:AC:02 -incoming tcp:0:4444
```
6. Then I started guest on S with the same command:
```
/usr/local/bin/qemu-system-x86_64 -nographic -vnc :1 -drive file=/home/tamlok/share/ubuntu-rr.img,cache=none,media=disk -m 128 --enable-kvm -smp 2 -netdev tap,id=net0,script=no,ifname=tap0 -device e1000,netdev=net0,mac=DE:AD:BE:EF:AC:01
```
7. On the S, exec the QEMU Monitor Command:
```
migrate_set_capability mc on
migrate_set_capability mc-disk-disable on
```
8. Setup the IFB device only on S:
```
modprobe ifb numifbs=100
ip link set up ifb0
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
```
9. On the S, exec the QEMU Monitor Command to start microcheckpointing:
```
migrate -d tcp:ip_of_D:4444
```

After a while, D would display "mc: MC is requested" and S would said "mc: Buffering suspended" and QEMU on both D and S are stuck. The screenshot:
内嵌图片 1

If I set `migrate_set_capability mc-net-disable on`, QEMU could forward a bit with some checkpoints and then stuck. The screenshot:
内嵌图片 2

I just added a bridge to /etc/network/interfaces and did not provide a script for the tap.

What's wrong with my configuration? Has anyone ever run it successfully? Any help is appreciated!

Thanks very much!

Regards,
Le Tan

It seems that I have found the reason. The checkpoint frequency may seem too large for a 100mbps network link. If I use `migrate-set-mc-delay 500` to set it to 500 milliseconds, it seems to work fine. I will test it using RDMA with a higher frequency in a few days. :)

Thanks very much!

Regards,
Le

reply via email to

[Prev in Thread] Current Thread [Next in Thread]