Cloud Hypervisor v0.8.0 Released!
Posted June 11, 2020 by Cloud Hypervisor Team ‐ 3 min read
v0.8.0
This release has been tracked through the 0.8.0 project.
Highlights for 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.
Currently only 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
With virtio-net
and 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.
vhost_user_fs
Improvements
The implementation in Cloud Hypervisor of the VirtioFS server now supports sandboxing itself with seccomp
.
Notable Bug Fixes
- VMs that have not yet been booted can now be deleted (#1110).
- By creating the
tap
device ahead of creating the VM it is not required to run thecloud-hypervisor
binary withCAP_NET_ADMIN
(#1273). - Block I/O via
virtio-block
orvhost-user-block
now 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 theacpi
feature theMPTABLE
will 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
mmio
builds (#751).
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
socket
rather thansock
in some cases. - The
ch-remote
tool now shows any error message generated by the VMM - The
wce
parameter has been removed from--disk
as the feature is always offered for negotiation. --net
has gained ahost_mac
option that allows the setting of the MAC address for thetap
device on the host.
Contributors
Many thanks to everyone who has contributed to our 0.8.0 release including some new faces.
- Anatol Belski ab@php.net
- Arron Wang arron.wang@intel.com
- Bo Chen chen.bo@intel.com
- Dr. David Alan Gilbert dgilbert@redhat.com
- Henry Wang Henry.Wang@arm.com
- Hui Zhu teawater@antfin.com
- LiYa’nan oliverliyn@gmail.com
- Michael Zhao michael.zhao@arm.com
- Rob Bradford robert.bradford@intel.com
- Samuel Ortiz sameo@linux.intel.com
- Sebastien Boeuf sebastien.boeuf@intel.com
- Sergio Lopez slp@redhat.com
Download
See the GitHub Release for the release assets.