Live-Updating Xen

From Xen
Revision as of 13:44, 10 July 2019 by Varad (talk | contribs) (Current State)

Live-Updating Xen

Current State

  • kexec work merged for v2.0.20
  • PV domU serialization work ongoing
Initial proof-of-concept (no kexec):

Save a PV domain state, leave guest memory in the RAM:
# xl save -s domU domU.img 

Restore domain state reusing magic mfns. The shared_info page contents are preserved:
# xl restore -T domain.img <l3tab_mfn> <l2tab_mfn> <shared_info_mfn>

TODO: Restore console, reconstruct guest pagetables from shared_info.

TODO

This list will move to the JIRA instance

  • Devel milestone: PV domU persists across domain destroy/create
  • Dom0 persists across kexec
  • HVM guests persist across kexec
  • PV guests persist across kexec
  • One guest persists across kexec
  • Multiple guests persist across kexec
  • Guests exercise workloads
  • Update to same Xen binary as the Target Xen
  • Update to a Xen binary with a minor change, like a new printk
  • Update to a Xen binary with a fix for an XSA
  • Update to a new minor version
  • Update to a new major version

More information

  • Slides from Xen Summit 2019
  • Video recording of the Xen Summit 2019 talk
  • Development trees:

http://git.infradead.org/users/dwmw2/xen.git/shortlog/refs/heads/bootcleanup

https://github.com/varadgautam/xen/tree/liveupdate-devel