QEMU 5.2 er blevet udgivet , og denne nye version indeholder over 3200 ændringer fra 216 udviklere , herunder live migreringsunderstøttelse af RISC-V, eksperimentel understøttelse af RISC-V hypervisoren, understøttelse af flere boards og meget mere.
For dem der ikke er bekendt med QEMU, er det en emulator, der giver dig mulighed for at køre et program, der er oprettet til én hardwareplatform, på et system med en helt anden arkitektur , for eksempel at køre en ARM-applikation på en x86-kompatibel pc.
I virtualiseringstilstand i QEMU er ydeevnen for kørsel af kode i et isoleret miljø tæt på hardwaresystemet på grund af direkte udførelse af instruktioner om CPU'en og brugen af Xen hypervisor eller KVM-modulet.
Vigtigste nyheder om QEMU 5.2
Byggesystemet er ændret; kompilering af QEMU kræver nu, at ninja-værktøjskassen installeres.
Der blev tilføjet understøttelse af blok-enhedsdriveren til at bruge qemu-storage-daemon-processen i baggrunden som backend for vhost-user-blk, samt en ny QMP-kommando 'block-export-add', som erstatter kommandoen 'nbd-server-add' og yder understøttelse af 'qemu-storage-daemon'.
For qcow2-billeder er der tilføjet understøttelse af udvidede L2-registre, hvilket gør det muligt at allokere plads af ufuldstændige grupper (underklynger). For at aktivere L2, når du opretter et billede, skal du angive indstillingen "extended_l2 = on".
Det er også værd at bemærke den forbedrede understøttelse af brugen af qemu som en NBD-klient, da det reducerer antallet af situationer, der fører til timeouts ved udveksling af data over netværket, hvilket forårsager gæsteblokering. Qemu-nbd giver mulighed for at angive flere '-B navn'-indstillinger for at angive flere dirty bitmaps på én gang.
En anden vigtig ændring er den nye højtydende migreringstilstand med krypteret dataoverførsel ved hjælp af TLS og multifd. Standardgrænsen for migreringsbåndbredde er blevet øget til 1 Gbps.
Migreringsparameteren 'block-bitmap-mapping' er blevet tilføjet, hvilket giver mere detaljeret kontrol over, hvilke bitmaps der overføres under migreringen. Denne parameter fungerer, selvom værtsnavnene er forskellige fra kilden hos modtageren.
Derudover blev der tilføjet nye 'calc-dirty-rate'- og 'query-dirty-rate'-kald for at forudsige opdateringshastigheden under migreringen, idet der tages højde for belastningen forbundet med operationer i RAM.
Vi finder også understøttelse af kortene mp2-an386, mp2-an500, raspi3ap (Raspberry Pi 3 model A+), raspi0 (Raspberry Pi Zero), raspi1ap (Raspberry Pi A+) og npcm750-evb/quanta-gsj.
Til AArch32-arkitekturen implementeres understøttelse af ARMv8.2 FEAT_FP16 (medium præcision flaoting point) udvidelser.
Endelig nævnes også nye muligheder for virtiofsd til at kontrollere gengivelsen af udvidede xattr-attributnavne på gæstesystemet, den separate forbindelse af partitioner med forskellige monteringspunkter på værtssystemet og også til at specificere en sandkasse-isoleringsmekanisme, der er et alternativ til pivot_root.
Og live migreringsunderstøttelse til RISC-V-arkitekturemulatoren, samt eksperimentel hypervisor-understøttelse af RISC-V opdateret til version 0.6.1. Tilføjet understøttelse af NUMA-sockets på virt/Spike-systemer.
Andre bemærkelsesværdige ændringer i denne nye version inkluderer:
- Kommandoerne for gæst-få-enheder, gæst-get-diske og gæst-ssh- {get, add-remove} -autoriserede-nøgler er blevet føjet til QEMU-gæsteagenten (qemu-ga).
- Tilføjet support til kvm-stjæletidsbaseret regnskab.
- HPPA-arkitekturemulatoren understøtter opstart af NetBSD og meget gamle Linux-distributioner såsom Debian 0.5 og 0.6.1.
- PowerPC-arkitekturemulatoren har forbedret understøttelse af brugerdefineret afstand til NUMA-topologien.
- S390-arkitekturemulatoren til KVM tilføjede understøttelse af diagnostiske instruktioner 0x318.
- Den klassiske kodegenerator TCG (Tiny Code Generator) implementerer understøttelse af yderligere z14-instruktioner.
- På vfio-pci-enheder gives oplysninger om den faktiske computerfunktionalitet i stedet for de emulerede funktioner.
- Xtensa-arkitekturemulatoren tilføjer understøttelse af DFPU-coprocessoren med enkelt og dobbelt præcision med flydende punkt-opkoder.