Difference between revisions of "Live-Updating Xen"

From Xen
(Add link to slides)
Line 40: Line 40:
 
== More information ==
 
== More information ==
   
* Slides from Xen Summit 2019
+
* [https://static.sched.com/hosted_files/xensummit19/1f/20190710-xensummit-live-updating-xen.pdf Slides from Xen Summit 2019]
 
* Video recording of the Xen Summit 2019 talk
 
* Video recording of the Xen Summit 2019 talk

Revision as of 19:15, 10 July 2019

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 domU.img <l3tab_mfn> <l2tab_mfn> <shared_info_mfn>

TODO: Restore console, reconstruct guest pagetables from shared_info.

Development trees

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

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

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