On 07/23/2014 08:25 AM, Yang Hongyang wrote: > Virtual machine (VM) replication is a well known technique for > providing application-agnostic software-implemented hardware fault > tolerance "non-stop service". COLO 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. > Please also refer to previous posted RFC proposal: > http://lists.nongnu.org/archive/html/qemu-devel/2014-06/msg05567.html > > The patchset is also hosted on github: > https://github.com/macrosheep/qemu/tree/colo_v0.1 > > This patchset is RFC, implements the frame of colo, without > failover and nic/disk replication. But it is ready for demo > the COLO idea above QEMU-Kvm. > Steps using this patchset to get an overview of COLO: > 1. configure the source with --enable-colo option Code that has to be opt-in tends to bitrot, because people don't configure their build-bots to opt in. What sort of penalties does opting in cause to the code if colo is not used? I'd much rather make the default to compile colo unless configured --disable-colo. Are there any pre-req libraries required for it to work? That would be the only reason to make the default of on or off conditional, rather than defaulting to on. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature