Cloud Hypervisor v0.8.0 Released!
Posted June 11, 2020 by Cloud Hypervisor Team ‐ 3 min read
This release has been tracked through the 0.8.0 project.
cloud-hypervisor version 0.8.0 include:
Experimental Snapshot and Restore Support
This release includes the first version of the snapshot and restore feature. This allows a VM to be paused and then subsequently snapshotted. At a later point that snapshot may be restored into a new running VM identical to the original VM at the point it was paused.
This feature can be used for offline migration from one VM host to another, to allow the upgrading or rebooting of the host machine transparently to the guest or for templating the VM. This is an experimental feature and cannot be used on a VM using passthrough (VFIO) devices. Issues with SMP have also been observed (#1176).
Experimental ARM64 Support
Included in this release is experimental support for running on ARM64.
virtio-mmio devices and a serial port are supported. Full
details can be found in the ARM64 documentation.
Support for Using 5-level Paging in Guests
If the host supports it the guest is now enabled for 5-level paging (aka LA57).
This works when booting the Linux kernel with a vmlinux, bzImage or firmware
based boot. However booting an ELF kernel built with
CONFIG_PVH=y does not
work due to current limitations in the PVH boot process.
Virtio Device Interrupt Suppression for Network Devices
vhost-user-net devices the guest can suppress
interrupts from the VMM by using the
VIRTIO_RING_F_EVENT_IDX feature. This
can lead to an improvement in performance by reducing the number of interrupts
the guest must service.
The implementation in Cloud Hypervisor of the VirtioFS server now supports sandboxing itself with
Notable Bug Fixes
- VMs that have not yet been booted can now be deleted (#1110).
- By creating the
tapdevice ahead of creating the VM it is not required to run the
- Block I/O via
vhost-user-blocknow correctly adheres to the specification and synchronizes to the underlying filesystem as required based on guest feature negotiation. This avoids potential data loss (#399, #1216).
- When booting with a large number of vCPUs then the ACPI table would be
overwritten by the SMP
MPTABLE. When compiled with the
MPTABLEwill no longer be generated (#1132).
- Shutting down VMs that have been paused is now supported (#816).
- Created socket files are deleted on shutdown (#1083).
- Trying to use passthrough devices (VFIO) will be rejected on
Command Line and API Changes
This is non exhaustive list of HTTP API and command line changes:
- All user visible socket parameters are now consistently called
sockin some cases.
ch-remotetool now shows any error message generated by the VMM
wceparameter has been removed from
--diskas the feature is always offered for negotiation.
--nethas gained a
host_macoption that allows the setting of the MAC address for the
tapdevice on the host.
Many thanks to everyone who has contributed to our 0.8.0 release including some new faces.
- Anatol Belski firstname.lastname@example.org
- Arron Wang email@example.com
- Bo Chen firstname.lastname@example.org
- Dr. David Alan Gilbert email@example.com
- Henry Wang Henry.Wang@arm.com
- Hui Zhu firstname.lastname@example.org
- LiYa’nan email@example.com
- Michael Zhao firstname.lastname@example.org
- Rob Bradford email@example.com
- Samuel Ortiz firstname.lastname@example.org
- Sebastien Boeuf email@example.com
- Sergio Lopez firstname.lastname@example.org
See the GitHub Release for the release assets.