Run Cloud Virtual Machines Securely and Efficiently

Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) implemented in Rust that focuses on running modern, cloud workloads, with minimal hardware emulation.

Get Started

Get the source on GitHub

Secure 🔒

Minimal emulated devices and implemented in Rust to avoid many common security issues

Fast ⚡️

Boot to userspace in less than 100ms with direct kernel boot

🪟 & 🐧

Supports running modern Linux and Windows guests

Kata Containers

Supported by Kata Containers for running secure containerised workloads

Powerful REST API

Programmatically control the lifecyle of the VM using an HTTP API

Slim

Minimal memory overhead for dense deployments

Cross platform

Runs on both x86-64 and aarch64

Broad device support

Support for wide range of paravirtualised devices and physical device passthrough

Live migration

Migrate VMs from one host to another without interruption

Get Involved:

Cloud Hypervisor is governed openly as part of the Linux Foundation and supported by multiple organisations:

  • Alibaba
  • ARM
  • ByteDance
  • Intel
  • Microsoft

Join our Slack community: Invite

Check out and participate in our roadmap on GitHub

For full details of our governance model please see our community repository on GitHub and our founding charter.

Latest news from Cloud Hypervisor project:

Cloud Hypervisor v26.0 Released!

Posted August 17, 2022 by Cloud Hypervisor Team ‐ 2 min read

This release has been tracked through the v26.0 project.

SMBIOS Improvements via --platform

--platform and the appropriate API structure has gained support for supplying OEM strings (primarily used to communicate metadata to systemd in the guest) (#4319, #4446) and support for specifying the UUID (#4389.)

Unified Binary MSHV and KVM Support

Support for both the MSHV and KVM hypervisors can be compiled into the same binary with the detection of the hypervisor to use made at runtime.

Notable Bug Fixes

  • The prefetchable flag is preserved on BARs for VFIO devices (#4353, #4454)
  • PCI Express capabilties for functionality we do not support are now filtered out (#4456)
  • GDB breakpoint support is more reliable (#4354, #4363)
  • SIGINT and SIGTERM signals are now handled before the VM has booted (#4269, #4293)
  • Multiple API event loop handling bug fixes (#4309, #4362)
  • Incorrect assumptions in virtio queue numbering were addressed, allowing thevirtio-fs driver in OVMF to be used (#4341, #4314)
  • VHDX file format header fix (#4291)
  • The same VFIO device cannot be added twice (#4453, #4463)
  • SMBIOS tables were being incorrectly generated (#4442)

Deprecations

Deprecated features will be removed in a subsequent release and users should plan to use alternatives.

  • The top-level kernel and initramfs members on the VmConfig have been moved inside a PayloadConfig as the payload member. The OpenAPI document has been updated to reflect the change and the old API members continue to function and are mapped to the new version. The expectation is that these old versions will be removed in the v28.0 release.

Removals

The following functionality has been removed:

  • The unused poll_queue parameter has been removed from --disk and equivalent. This was residual from the removal of the vhost-user-block spawning feature (#4402.)

Contributors

Many thanks to everyone who has contributed to our release:

Download

See the GitHub Release for the release assets.