QEMU 5.2 уже выпущен и в этой новой версии в процессе подготовки более 3200 изменений внесли 216 разработчиков из которых мы можем найти поддержку живой миграции для RISC-V, а также экспериментальную поддержку гипервизора RISC-V, поддержку большего количества плат и многое другое.
Тем, кто не знаком с QEMU, следует знать, что это эмулятор, позволяет запускать программу, созданную для аппаратной платформы, в системе с совершенно другой архитектуройНапример, запуск приложения ARM на компьютере, совместимом с x86.
В режиме виртуализации в QEMU производительность выполнения кода в изолированной среде близка к производительности аппаратной системы из-за прямого выполнения инструкций на ЦП и использования гипервизора Xen или модуля KVM.
Основные нововведения QEMU 5.2
Изменилась система компиляции, для компиляции QEMU теперь требуется установить набор инструментов ninja.
Добавлена поддержка для драйвер блочного устройства для использования процесса qemu-storage-daemon в фоновом режиме как бэкэнд для vhost-user-blk, а также новую команду QMP 'block-export-add', которая заменяет команду 'nbd-server-add' и обеспечивает поддержку 'qemu-storage-daemon'.
Для образов qcow2 добавлена поддержка расширенных регистров L2, что позволяет распределять пространство по неполным группам (подкластерам). Чтобы включить L2 при создании образа, необходимо указать параметр «extended_l2 = on».
Так же улучшена поддержка использования qemu в качестве клиента NBD, поскольку количество ситуаций, приводящих к времени ожидания при обмене данными по сети, уменьшилось, что вызывает гостевую блокировку. Qemu-nbd предоставляет возможность указать несколько параметров «-B имя» для одновременного указания нескольких грязных растровых изображений.
Еще одно важное изменение - новый высокопроизводительный режим миграции с шифрованной передачей данных по TLS и мультифд. Предел пропускной способности миграции по умолчанию был увеличен до 1 Гбит / с.
Добавлен параметр миграции 'block-bitmap-mapping', который позволяет более детально контролировать, какие растровые изображения будут передаваться во время миграции. Параметр работает, даже если имена хостов отличаются от исходных на принимающей стороне.
Также добавлены новые звонки «calc-dirty-rate» и «query-dirty-rate» для прогнозирования скорости обновлений во время миграции с учетом нагрузки, связанной с операциями в ОЗУ.
Кроме того, мы можем найти опору для тарелок mp2-an386, mp2-an500, raspi3ap (Raspberry Pi 3 модель A +), raspi0 (Raspberry Pi Zero), raspi1ap (Raspberry Pi A +) и npcm750-evb / Quanta-gsj.
Для архитектуры AArch32 реализована поддержка расширений ARMv8.2 FEAT_FP16 (плавающая точка средней точности).
Наконец, n также упоминаютсяНовые параметры virtiofsd для управления отображением имен атрибутов xattr расширен в гостевой системе, раздельное соединение разделов с разными точками монтирования в хост-системе, а также для указания механизма изоляции песочницы, который является альтернативой pivot_root.
Y поддержка живой миграции в эмулятор архитектуры RISC-V, а также экспериментальная поддержка гипервизора для RISC-V обновлена до версии 0.6.1. Добавлена поддержка сокетов NUMA в системах virt / Spike.
Из других изменений, которые выделяются этой новой версии:
- Команды guest-get-devices, guest-get-disks и guest-ssh- {get, add-remove} -authorized-keys были добавлены в гостевой агент QEMU (qemu-ga).
- Добавлена поддержка учета по времени kvm-steal.
- Эмулятор архитектуры HPPA поддерживает загрузку NetBSD и очень старых дистрибутивов Linux, таких как Debian 0.5 и 0.6.1.
- В эмуляторе архитектуры PowerPC улучшена поддержка определяемого пользователем интервала для топологии NUMA.
- Эмулятор архитектуры s390 для KVM добавил поддержку диагностических инструкций 0x318.
- Классический генератор кода TCG (Tiny Code Generator) реализует поддержку дополнительных инструкций z14.
- На устройствах vfio-pci вместо эмулируемых функций предоставляется информация о фактических функциональных возможностях компьютера.
- Эмулятор архитектуры Xtensa добавляет поддержку сопроцессора DFPU с кодами операций с плавающей запятой одинарной и двойной точности.