qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: Jason Wang <jasowang@redhat.com>,
	"Dong, Eddie" <eddie.dong@intel.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Li Zhijian <lizhijian@cn.fujitsu.com>
Cc: zhanghailiang <zhang.zhanghailiang@huawei.com>,
	"jan.kiszka@siemens.com" <jan.kiszka@siemens.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"peter.huangpeng" <peter.huangpeng@huawei.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	"stefanha@redhat.com" <stefanha@redhat.com>,
	"dgilbert@redhat.com" <dgilbert@redhat.com>
Subject: Re: [Qemu-devel] [POC] colo-proxy in qemu
Date: Fri, 24 Jul 2015 16:04:38 +0800	[thread overview]
Message-ID: <55B1F196.2000008@cn.fujitsu.com> (raw)
In-Reply-To: <55B19F25.10905@redhat.com>

Hi Jason,

On 07/24/2015 10:12 AM, Jason Wang wrote:
>
>
> On 07/24/2015 10:04 AM, Dong, Eddie wrote:
>> Hi Stefan:
>> 	Thanks for your comments!
>>
>>> On Mon, Jul 20, 2015 at 02:42:33PM +0800, Li Zhijian wrote:
>>>> We are planning to implement colo-proxy in qemu to cache and compare
>>> packets.
>>>
>>> I thought there is a kernel module to do that?
>> 	Yes, that is the previous solution the COLO sub-community choose to go, but we realized it might be not the best choices, and thus we want to bring discussion back here :)  More comments are welcome.
>>
>
> Hi:
>
> Could you pls describe more details on this decision? What's the reason
> that you realize it was not the best choice?

Below is my opinion:

We realized that there're disadvantages do it in kernel spaces:
1. We need to recompile kernel: the colo-proxy kernel module is
    implemented as a nf conntrack extension. Adding a extension need to
    modify the extension struct in-kernel, so recompile kernel is needed.
2. We need to recompile iptables/nftables to use together with the colo-proxy
    kernel module.
3. Need to configure primary host to forward input packets to secondary as
    well as configure secondary to forward output packets to primary host, the
    network topology and configuration is too complex for a regular user.

You can refer to http://wiki.qemu.org/Features/COLO
to see the network topology and the steps to setup an env.

Setup a test env is too complex. The usability is so important to a feature
like COLO which provide VM FT solution, if fewer people can/willing to
setup the env, the feature is useless. So we decide to develop user space
colo-proxy.

The advantage is obvious,
1. we do not need to recompile kernel.
2. No need to recompile iptables/nftables.
3. we do not need to deal with the network configuration, we just using a
    socket connection between 2 QEMUs to forward packets.
4. A complete VM FT solution in one go, we have already developed the block
    replication in QEMU, so with the network replication in QEMU, all
    components we needed are within QEMU, this is very important, it greatly
    improves the usability of COLO feature! We hope it will gain more testers,
    users and developers.
5. QEMU will gain a complete VM FT solution and the most advantage FT solution
    so far!

Overall, usability is the most important factor that impact our choice.


>
> Thanks
> .
>

-- 
Thanks,
Yang.

  reply	other threads:[~2015-07-24  8:05 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-20  6:42 [Qemu-devel] [POC] colo-proxy in qemu Li Zhijian
2015-07-20 10:32 ` Stefan Hajnoczi
2015-07-20 11:55   ` zhanghailiang
2015-07-20 13:12     ` Vasiliy Tolstov
2015-07-20 15:01       ` Stefan Hajnoczi
2015-07-21  1:59         ` zhanghailiang
2015-07-28 22:13           ` Samuel Thibault
2015-07-21  6:13         ` Jan Kiszka
2015-07-21  9:49           ` Stefan Hajnoczi
2015-07-27 10:13             ` Stefan Hajnoczi
2015-07-27 11:24               ` zhanghailiang
2015-07-27 11:31                 ` Samuel Thibault
2015-07-27 13:33               ` Jan Kiszka
2015-07-28 22:12                 ` Samuel Thibault
2015-07-29  7:36                   ` Jan Kiszka
2015-07-29  9:33                     ` [Qemu-devel] [PATCH] MAINTAINERS: Add Samuel Thibault as slirp maintainer Samuel Thibault
2015-08-06 10:10                       ` Stefan Hajnoczi
2015-08-06 12:29                         ` Fam Zheng
2015-08-07 10:19                           ` Stefan Hajnoczi
2015-08-07 10:34                             ` Fam Zheng
2015-07-20 12:02   ` [Qemu-devel] [POC] colo-proxy in qemu Li Zhijian
2015-07-24  2:04   ` Dong, Eddie
2015-07-24  2:12     ` Jason Wang
2015-07-24  8:04       ` Yang Hongyang [this message]
2015-07-27  3:24         ` Jason Wang
2015-07-27  3:54           ` Yang Hongyang
2015-07-27  4:49             ` Jason Wang
2015-07-27  5:51               ` Yang Hongyang
2015-07-27  7:37                 ` Jason Wang
2015-07-27  7:49                   ` Yang Hongyang
2015-07-27  8:06                     ` Jason Wang
2015-07-27  8:22                       ` Yang Hongyang
2015-07-27  7:53                 ` Jason Wang
2015-07-27  8:17                   ` Yang Hongyang
2015-07-27 18:33                   ` Dr. David Alan Gilbert
2015-07-27 10:40         ` Dr. David Alan Gilbert
2015-07-27 13:39           ` Yang Hongyang
2015-07-24  2:05 ` Dong, Eddie
2015-07-30  4:23 ` Jason Wang
2015-07-30  7:16   ` Gonglei
2015-07-30  7:47     ` Dong, Eddie
2015-07-30  8:03       ` Dr. David Alan Gilbert
2015-07-30  8:15         ` Jason Wang
2015-07-30 11:56           ` Dr. David Alan Gilbert
2015-07-30 12:10             ` Gonglei
2015-07-30 12:30               ` Dr. David Alan Gilbert
2015-07-30 12:42                 ` zhanghailiang
2015-07-30 13:59                   ` Dr. David Alan Gilbert
2015-07-30 15:17                     ` Yang Hongyang
2015-07-30 17:53                       ` Dr. David Alan Gilbert
2015-07-31  1:08                         ` Yang Hongyang
2015-07-31  1:28                           ` zhanghailiang
2015-07-31  1:31                             ` Yang Hongyang
2015-07-31  1:26                         ` zhanghailiang
  -- strict thread matches above, loose matches on Subject: below --
2015-11-10  5:26 [Qemu-devel] [POC]colo-proxy " Tkid
2015-11-10  7:35 ` Jason Wang
2015-11-10  8:30   ` zhanghailiang
2015-11-11  2:28     ` Jason Wang
2015-11-10  9:35   ` Tkid
2015-11-11  3:04     ` Jason Wang
2015-11-10  9:41   ` Dr. David Alan Gilbert
2015-11-11  3:09     ` Jason Wang
2015-11-11  9:03       ` Dr. David Alan Gilbert
2015-11-11  1:23   ` Dong, Eddie
2015-11-11  3:26     ` Jason Wang
2015-11-10 10:54 ` Dr. David Alan Gilbert
2015-11-11  2:46   ` Zhang Chen
2015-11-13 12:33     ` Dr. David Alan Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55B1F196.2000008@cn.fujitsu.com \
    --to=yanghy@cn.fujitsu.com \
    --cc=arei.gonglei@huawei.com \
    --cc=dgilbert@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=jan.kiszka@siemens.com \
    --cc=jasowang@redhat.com \
    --cc=lizhijian@cn.fujitsu.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=stefanha@redhat.com \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).