From: Hongyang Yang <yanghy@cn.fujitsu.com>
To: qemu-devel@nongnu.org
Cc: FNST-Gui Jianfeng <GuiJianfeng@cn.fujitsu.com>,
Dong Eddie <eddie.dong@intel.com>,
kvm@vger.kernel.org
Subject: [Qemu-devel] [RFC] COLO HA Project proposal
Date: Tue, 24 Jun 2014 10:08:00 +0800 [thread overview]
Message-ID: <53A8DD80.7070905@cn.fujitsu.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1648 bytes --]
Background:
COLO HA project is a high availability solution. Both primary
VM (PVM) and secondary VM (SVM) run in parallel. They receive the
same request from client, and generate response in parallel too.
If the response packets from PVM and SVM are identical, they are
released immediately. Otherwise, a VM checkpoint (on demand) is
conducted. The idea is presented in Xen summit 2012, and 2013,
and academia paper in SOCC 2013. It's also presented in KVM forum
2013:
http://www.linux-kvm.org/wiki/images/1/1d/Kvm-forum-2013-COLO.pdf
Please refer to above document for detailed information.
The attached was the architecture of kvm-COLO we proposed.
- COLO Manager: Requires modifications of qemu
- COLO Controller
COLO Controller includes modifications of save/restore
flow just like MC(macrocheckpoint), a memory cache on
secondary VM which cache the dirty pages of primary VM
and a failover module which provides APIs to communicate
with external heartbead module.
- COLO Disk Manager
When pvm writes data into image, the colo disk manger
captures this data and send it to the colo disk manger
which makes sure the context of svm's image is consentient
with the context of pvm's image.
- COLO Agent("Proxy module" in the arch picture)
We need an agent to compare the packets returned by
Primary VM and Secondary VM, and decide whether to start a
checkpoint according to some rules. It is a linux kernel
module for host.
- Other minor modifications
We may need other modifications for better performance.
--
Thanks,
Yang.
[-- Attachment #2: kvm-colo-arch.jpg --]
[-- Type: image/jpeg, Size: 78793 bytes --]
next reply other threads:[~2014-06-24 2:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-24 2:08 Hongyang Yang [this message]
2014-07-01 12:12 ` [Qemu-devel] [RFC] COLO HA Project proposal Dr. David Alan Gilbert
2014-07-03 3:42 ` Hongyang Yang
2014-07-04 8:31 ` Dong, Eddie
2014-07-04 8:35 ` Dr. David Alan Gilbert
2014-07-04 8:54 ` Dong, Eddie
2014-07-04 12:22 ` Dr. David Alan Gilbert
2014-07-04 15:55 ` Dong, Eddie
2014-07-08 6:06 ` Michael R. Hines
2014-07-08 6:26 ` Hongyang Yang
2014-07-04 11:22 ` Andreas Färber
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=53A8DD80.7070905@cn.fujitsu.com \
--to=yanghy@cn.fujitsu.com \
--cc=GuiJianfeng@cn.fujitsu.com \
--cc=eddie.dong@intel.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
/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).