LINUX.ORG.RU

Вышел Cloud Hypervisor 0.11.0

 , ,


2

4

Cloud Hypervisor (облачный гипервизор) — это монитор виртуальных машин, который работает поверх KVM и оптимизирован для решения задач, свойственных для облачных систем. Cloud Hypervisor написан на Rust и базируется на rust-vmm crates.

Новое в этой версии:

  • добавлена поддержка гостевой ОС Windows
  • добавлена поддержка по умолчанию io_uring для virtio-block
  • прекращена поддержка vhost-user
  • удалена поддержка использования транспорта virtio-mmio вместо PCI
  • добавлена поддержка снапшотов для ARM64
  • улучшено время загрузки Linux
  • изменён уровень ведения журнала по умолчанию
  • добавлен новый параметр –balloon для настройки virtio-balloon

>>> Подробности

★★

Проверено: Shaman007 ()

Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM. The project focuses on exclusively running modern, cloud workloads, on top of a limited set of hardware architectures and platforms. Cloud workloads refers to those that are usually run by customers inside a cloud provider. For our purposes this means modern operating systems with most I/O handled by paravirtualised devices (i.e. virtio), no requirement for legacy devices, and 64-bit CPUs.
AnDoR ★★★★★ ()
Ответ на: комментарий от kmeaw

KVM это просто ядерный модуль. Он без qemu ничего не может. И судя по использованной строго qemu-терминологии, это просто обертка над qemu-kvm.

pekmop1024 ★★★★★ ()
Последнее исправление: pekmop1024 (всего исправлений: 1)
Ответ на: комментарий от pekmop1024

Нет, это именно не обёртка над qemu-kvm, а юзерспейсная программа, которая открывает /dev/kvm и просит ядерный модуль запустить VM. Прямо как qemu-kvm.

Пример запуска на машине, где нет qemu:

$ echo /bin /lib /bin/busybox /lib/ld-musl-x86_64.so.1 | tr ' ' $'\n' | cpio -o -H newc | gzip > test.gz
$ ./cloud-hypervisor-static --kernel /boot/vmlinuz-lts --cmdline 'console=ttyS0 quiet rdinit=/bin/busybox sh' --serial tty --console null --initramfs test.gz
Cloud Hypervisor Guest
        API server: /run/user/1000/cloud-hypervisor.21162
        vCPUs: 1                                                                      
        Memory: 512 MB                                                                
        Kernel: Some(KernelConfig { path: "vmlinuz" })                
        Initramfs: Some(InitramfsConfig { path: "test.gz" })
        Kernel cmdline: console=ttyS0 quiet rdinit=/bin/busybox sh
        Disk(s): None
[    0.000000] ACPI BIOS Error (bug): A valid RSDP was not found (20170728/tbxfroot-244)
[    0.035654] kvm: already loaded the other module
[    0.701567] i8042: Can't read CTR while initializing i8042
sh: can't access tty; job control turned off
/ # /bin/busybox mkdir -p /bin /sbin /usr/bin /usr/sbin /sys /proc /dev
/ # /bin/busybox --install -s
/ # mount -t proc proc /proc
/ # mount -t sysfs sysfs /sys
/ # mount -t devtmpfs devtmpfs /dev
/ # mkdir /dev/pts
/ # mount -t devpts devpts /dev/pts
/ # cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 76
model name      : Intel(R) Celeron(R) CPU  N3150  @ 1.60GHz
stepping        : 3
microcode       : 0x1
cpu MHz         : 1600.000
cache size      : 1024 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl tsc_reliable nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes rdrand hypervisor lahf_lm 3dnowprefetch cpuid_fault tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms arat
bugs            :
bogomips        : 3200.00
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

/ # dmesg | grep -i virt
[    0.000000] Booting paravirtualized kernel on KVM
[    0.052274] virtio-pci 0000:00:01.0: enabling device (0000 -> 0002)
[    0.053695] virtio-pci 0000:00:02.0: enabling device (0000 -> 0002)
kmeaw ★★ ()
Последнее исправление: kmeaw (всего исправлений: 1)
Ответ на: комментарий от Legioner

Затем же, зачем и QEmu — чтобы запускать виртуальные машины. Этот гипервизор проще и компактнее, у него нет переусложнённого QMP и HMP, есть поддержка проброса SGX, нет поддержки графики (но есть PCI passthrough), единственная machine/device model, нет эмуляторов и трансляторов CPU, поддерживается только KVM (соответственно работает только на Linux-хостах с аппаратной виртуализацией), нет ROM (ни BIOS, ни UEFI) — он сразу грузит гостевое ядро в память VM (но есть внешний костыль в виде rust-hypervisor-firmware для запуска ОС, которые зависят от UEFI, который подкладывается вместо ядра). То есть он предназначен не для непосредственного использования конечным пользователем (но и это тоже возможно, см. пример выше), а для работы под управлением более высокоуровневого механизма на вычислительных узлах облака.

kmeaw ★★ ()
Ответ на: комментарий от Nastishka

А в чём сходство Xen? Ведь Xen является Type-1 гипервизором, а что QEMU, что этот Cloud Hypervisor являются скорее Type-2 гипервизорами. Да и модель устройств у Xen совсем другая.

Cloud Hypervisor скорее уж тогда стоит сравнивать с Амазоновским firecracker, они на одном языке написаны и используют один и тот же компонент для обеспечения интерфейса с KVM: rust-vmm.

kmeaw ★★ ()