Product SiteDocumentation Site

5.3. Virtualization

Виртуализация в Fedora  12 включает важные изменения и новые возможности, продолжающие поддержку KVM, Xen и многих других платформ виртуальных машин.
В этом выпуске KVM и QEMU получили ряд новых свойств. В гостевой системе KVM улучшено использование памяти и производительность благодаря добавлению технологий KSM и KVM Huge Page Backed Memory. Значительно увеличена производительность при использовании образа в формате qcow2. Добавлена поддержка для "горячего" подключения SR-IOV и сетевых карт. Наконец, теперь используется gPXE вместо etherboot для сетевой загрузки (PXE) гостевых систем.
Со стороны libvirt добавлены API для управления устройствами хранения и сетевыми интерфейсами. Теперь libvirt также запускает процессы QEMU в непривелигированном режиме.
Теперь есть новая библиотека (libguestfs) и интерактивный инструмент (guestfish) для доступа и редактирования дисковых образов виртуальных машин.

5.3.1. Kernel Same Page Merging и уменьшение использования памяти гостевыми системами

Kernel SamePage Merging (KSM) allows identical memory pages to be merged by the kernel into a single page shared between one or more processes. This feature is leveraged by KVM to allow multiple, similar, guest virtual machines to have a reduced memory footprint. Because memory is shared, the combined memory usage of the guests is reduced.

5.3.2. KVM Huge Page Backed Memory

Дает возможность гостевым системам KVM использовать большие страницы буферной памяти для того, чтобы уменьшить потребление памяти и повысить производительность за счет снижения нагрузки процессора на кэш. Пользователи гостевых систем KVM, в которых используется huge page backed memory должны почувствовать повышение производительности и некоторую экономию памяти компьютера. Выигрыш в производительности зависит от степени загрузки. У использования больших страниц для гостевой памяти есть и недостаток - нельзя подкачивать или перераспределять гостевую память.

5.3.3. Оперативное подключение сетевых интерфейсов в KVM

Network interfaces may now be added to a running KVM guest using libvirt/virt-manager without the need to restart the guest.

5.3.4. Производительность KVM qcow2

The native disk image file format of qemu is qcow2. Qcow2 provides enhanced features over raw images, including: base images, snapshots, compression, and encryption.
Пользователи, которые хотят защитить данные гостевых машин от отказов главной системы, обычно выключают кеширование записи в ней . Раньше это вело к сильному снижению производительности в гостевых системах на образах в формате qcow2.
Производительность операций ввода-вывода дисковых образов в формате qcow2 в значительной степени увеличена. Пользователи, которые не использовали qcow2 из-за низкой производительности, теперь, возможно, решат на него перейти и воспользоваться преимуществами дополнительных возможностей, которые этот формат предоставляет по сравнению с неформатированными образами дисков.

5.3.5. Стабильное ABI гостевых систем KVM

Гостевым системам KVM представлена эмулированная аппаратная платформа или двоичный интерфейс приложения (ABI), куда входят, например, модель процессора, APIC, PIT, таблицы ACPI, контроллеры IDE/USB/VGA, сетевые интерфейсы и так далее. Когда QEMU обновляется до новой версии, некоторые части этой платформы могут измениться, так как добавляются новые аппаратные возможности. Это проблематично для гостевых систем с Windows, где изменение гостевого ABI может потребовать повторной активации установки.
Гостевым виртуальным машинам теперь будет представлен одинаковый ABI при обновлениях QEMU.

5.3.6. Библиотека libguestfs для управления виртуальными машинами

Added very late in the Fedora 11 development cycle, libguestfs is now an official feature in Fedora 12. libguestfs is a library for accessing and modifying guest disk images. Using Linux kernel and qemu code, libguestfs can access any type of guest filesystem that Linux and QEMU can.
Следующие средства предоставляются или усиливаются libguestfs:
  • Привязки к языкам программирования OCaml, Perl, Python, Ruby и Java.
  • guestfish - Предоставляет интерактивную оболочку для редактирования файловых систем виртуальных машин и выполнения команд в контексте гостевой системы.
  • virt-df - Показывает свободное пространство на файловых системах виртуальных машин
  • virt-inspector - Показывает версию ОС, ядро, драйвера, точки монтирования, приложения и т.д. в виртуальной машине.
  • virt-cat - "Cat" out any file from inside a virtual machine.
За дополнительной информацией обращайтесь к:

5.3.7. Управление сетевыми интерфейсами

Commonly used host network configurations, like bridges, bonds, VLAN's and sensible combinations thereof may now be created using the general-purpose network configuration library, netcf. Enhancements to the libvirt API expose this new functionality to remote managment hosts with libvirtd
За дополнительной информацией обращайтесь к:

5.3.8. Single Root I/O Virtualizaton

Single Root I/O Virtualization - это особенность PCI, которая позволяет создавать виртуальные функции (VF), разделяющие ресурсы физической функции (PF). VF-устройства назначаются гостевым виртуальным машинам и выглядят как физические PCI-устройства в гостевой системе. Поскольку гостевая ОС эффективно работает непосредственно с аппаратными средствами, производительность ввода-вывода оказывается наравне с производительностью на голом "железе".

5.3.9. Теперь gPXE стандартно используется для гостевых систем

QEMU guests now make use of the more modern and currently maintained gpxe rather than the deprecated etherboot tool for PXE booting.
За дополнительной информацией обращайтесь к:

5.3.10. Виртуальные привилегии

Были введены изменения для виртуальных машин QEMU/KVM для повышения безопасности главной системы в случае появления слабых мест в исполняемом файле QEMU.
  • Обновлены права доступа к /dev/kvm, чтобы позволить непривелигированным пользователям использовать аппаратное ускорение KVM.
  • Процессы QEMU, запущенные virt-manager'ом на локальной машине, работают теперь от имени пользователя этой машины.
  • QEMU processes spawned by the privileged libvirtd daemon now run as an unprivileged account, user 'qemu', group 'qemu'.
  • libvirtd will change ownership of any disks assigned to a virtual machine at startup, to user 'qemu', group 'qemu', except for readonly/shared disks.
  • To revert to previous Fedora behaviour of running all QEMU instances as 'root', two config parameters are introduced in /etc/libvirt/qemu.conf. It is not recommended to change these.
За дополнительной информацией обращайтесь к:

5.3.11. Управление виртуальными устройствами хранения

Fibre Channel N_Port ID Virtualization или NPIV дает возможность создавать несколько виртуальных портов N_Port на одном адаптере шины физической машины. API узловых устройств libvirt были расширены, что позволяет создавать и удалять виртуальные адаптеры с помощью NPIV.
API, позволяющие находить устройства хранения данных и создавать пул, были расширены, чтобы обнаруживать и перепроверять устройства хранения на каждом компьютере со SCSI-устройствами. Администраторы теперь могут обнаруживать, настраивать и предоставлять средства хранения для виртуальных машин, не испытывая необходимости в нескольких инструментах.
За дополнительной информацией обращайтесь к:

5.3.12. Другие улучшения

5.3.12.1. Комплект для проверки совместимости технологии libvirt
Fedora now includes the libvirt Technology Compatibility Kit (TCK). The TCK is a functional test suite which provides detailed reports on functionality available for each libvirt driver and can be used to quickly identify failures or regressions in the development of Fedora's virtualization features.
За дополнительной информацией обращайтесь к:
5.3.12.2. Репозиторий для предварительного просмотра технологии виртуализации
The Virtualization Preview Repository has been created for people who would like to test the very latest virtualization related packages. This repo is intended primarily as an aid to testing and early experimentation. It is not intended for 'production' deployment.
За дополнительной информацией обращайтесь к:
5.3.12.3. Поддержка Xen в ядре
Пакет kernel в Fedora 12 поддерживает загрузку гостевой системы в domU, но не будет функционировать в качестве dom0, пока такая поддержка не будет предоставлена в главной ветке. Работа продолжается и есть большая вероятность, что эта поддержка будет включена в ядро 2.6.33 и Fedora 13.
Самый последний выпуск Fedora c поддержкой dom0 - это Fedora 8.
Для загрузки гостевого домена Xen domU на системе с Fedora 12 требуется основанный на KVM xenner. Xenner запускает вместе гостевое ядро и небольшой Xen- эмулятор как гостевой KVM.

KVM требует наличия возможностей аппаратной виртуализации в основной системе.

Системы, не имеющие возможностей аппаратной виртуализации, теперь не поддерживают гостевые домены Xen.