Виртуализация в 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) позволяет ядру объединять одинаковые страницы памяти в одну для совместного использования одним или несколькими процессами. Эта возможность используется KVM для того, чтобы несколько аналогичных гостевых виртуальных машин могли занимать меньше памяти. Поскольку память используется совместно, общее использование памяти гостевыми системами снижается.
5.3.2. KVM Huge Page Backed Memory
Дает возможность гостевым системам KVM использовать большие страницы буферной памяти для того, чтобы уменьшить потребление памяти и повысить производительность за счет снижения нагрузки процессора на кэш. Пользователи гостевых систем KVM, в которых используется huge page backed memory должны почувствовать повышение производительности и некоторую экономию памяти компьютера. Выигрыш в производительности зависит от степени загрузки. У использования больших страниц для гостевой памяти есть и недостаток - нельзя подкачивать или перераспределять гостевую память.
5.3.3. Оперативное подключение сетевых интерфейсов в KVM
Сетевые интерфейсы теперь могут добавляться в работающую гостевую систему KVM с помощью
libvirt/
virt-manager без необходимости перезапуска гостевой системы.
5.3.4. Производительность KVM qcow2
Собственный формат файла образа дисков для
qemu -
qcow2
. Qcow2 предоставляет расширенные возможности по сравнению с неформатированными (raw) образами, в том числе: базовые образы, снимки, сжатие и шифрование.
Пользователи, которые хотят защитить данные гостевых машин от отказов главной системы, обычно выключают кеширование записи в ней . Раньше это вело к сильному снижению производительности в гостевых системах на образах в формате 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 для управления виртуальными машинами
Добавленная в самом конце цикла разработки Fedora 11,
libguestfs теперь официально входит в Fedora 12.
libguestfs - это библиотека для доступа и изменения дисковых образов гостевых систем. Используя ядро Linux и программные тексты
qemu,
libguestfs может получать доступ к любому типу гостевой файловой системы, к которым могут получить доступ Linux и QEMU.
Следующие средства предоставляются или усиливаются libguestfs:
Привязки к языкам программирования OCaml, Perl, Python, Ruby и Java.
guestfish - Предоставляет интерактивную оболочку для редактирования файловых систем виртуальных машин и выполнения команд в контексте гостевой системы.
virt-df - Показывает свободное пространство на файловых системах виртуальных машин
virt-inspector - Показывает версию ОС, ядро, драйвера, точки монтирования, приложения и т.д. в виртуальной машине.
virt-cat - Выводит содержимое файла из виртуальной машины.
За дополнительной информацией обращайтесь к:
5.3.7. Управление сетевыми интерфейсами
Широко используемые главной системой конфигурации сети, как, например, мосты, связи, виртуальные локальные сети и их разумные комбинации теперь могут быть созданы с помощью библиотеки настройки сети общего назначения, netcf. Расширение API
libvirt предоставляет эту новую функциональность главным системам с удаленным управлением с помощью
libvirtd
За дополнительной информацией обращайтесь к:
5.3.8. Single Root I/O Virtualizaton
Single Root I/O Virtualization - это особенность PCI, которая позволяет создавать виртуальные функции (VF), разделяющие ресурсы физической функции (PF). VF-устройства назначаются гостевым виртуальным машинам и выглядят как физические PCI-устройства в гостевой системе. Поскольку гостевая ОС эффективно работает непосредственно с аппаратными средствами, производительность ввода-вывода оказывается наравне с производительностью на голом "железе".
За дополнительной информацией обращайтесь к:
5.3.9. Теперь gPXE стандартно используется для гостевых систем
Гостевые системы QEMU теперь используют более современный и поддерживаемый в настоящее время
gpxe вместо устаревшего инструмента etherboot для сетевой (PXE) загрузки.
За дополнительной информацией обращайтесь к:
5.3.10. Виртуальные привилегии
Были введены изменения для виртуальных машин QEMU/KVM для повышения безопасности главной системы в случае появления слабых мест в исполняемом файле QEMU.
Обновлены права доступа к /dev/kvm, чтобы позволить непривелигированным пользователям использовать аппаратное ускорение KVM.
Процессы QEMU, запущенные virt-manager'ом на локальной машине, работают теперь от имени пользователя этой машины.
Процессы QEMU, запущенные привилегированным демоном libvirtd, теперь работают от имени непривелигированной учетной записи, пользователь 'qemu', группа 'qemu'.
libvirtd изменит владельца любых дисков, назначенных виртуальной машине при запуске, на пользователя 'qemu', группу 'qemu', за исключением дисков только для чтения и дисков в совместном использовании .
Чтобы вернуться к прежнему подходу - запуску всех экземпляров QEMU от имени 'root' - в /etc/libvirt/qemu.conf добавлены два параметра. Не рекомендуется их изменять.
За дополнительной информацией обращайтесь к:
5.3.11. Управление виртуальными устройствами хранения
Fibre Channel N_Port ID Virtualization или NPIV дает возможность создавать несколько виртуальных портов N_Port на одном адаптере шины физической машины. API узловых устройств libvirt были расширены, что позволяет создавать и удалять виртуальные адаптеры с помощью NPIV.
API, позволяющие находить устройства хранения данных и создавать пул, были расширены, чтобы обнаруживать и перепроверять устройства хранения на каждом компьютере со SCSI-устройствами. Администраторы теперь могут обнаруживать, настраивать и предоставлять средства хранения для виртуальных машин, не испытывая необходимости в нескольких инструментах.
За дополнительной информацией обращайтесь к:
5.3.12.1. Комплект для проверки совместимости технологии libvirt
В Fedora теперь входит комплект libvirt Technology Compatibility Kit (TCK). TCK - это набор средств для проверки функциональности, предоставляющий подробные отчеты о функциональности, имеющейся для каждого драйвера libvirt, и он может использоваться для быстрого распознавания отказов или ухудшений при разработке функций виртуализации Fedora.
За дополнительной информацией обращайтесь к:
5.3.12.2. Репозиторий для предварительного просмотра технологии виртуализации
Создан репозиторий предварительной проверки виртуализации для тех людей, которые хотели бы проверить самые последние пакеты, относящиеся к виртуализации. Этот репозиторий предназначен главным образом для оказания помощи при тестировании и раннего экспериментирования. Он не предназначен для внедрения в 'производство'.
За дополнительной информацией обращайтесь к:
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.
За дополнительной информацией обращайтесь к: