Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Глава 7. Виртуализация

7.1. KVM

Оптимизация масштабируемости KVM

Основные изменения масштабируемости KVM:

  • Максимально допустимое число виртуальных процессоров для гостевых машин увеличено с 64 до 160.
  • Максимальный объем поддерживаемой памяти гостей KVM увеличен с 512 ГБ до 2 ТБ ( BZ#748946 ).
Поддержка KVM для новых процессоров Intel и AMD

KVM в Red Hat Enterprise Linux 6.3 включает поддержку:

  • Intel Core i3, i5, i7 и других процессоров, которые раньше объединялись под кодовым названием «Sandy Bridge»;
  • AMD 15h (под кодовым названием «Bulldozer»).
В KVM добавлены определения новых моделей процессоров, что позволяет воспользоваться возможностями оптимизации производительности и открывает доступ к их инструкциям (BZ#760953, BZ#767302 ).
Время ожидания KVM

Это время, на протяжении которого виртуальный процессор ожидает реальный, в то время как гипервизор обслуживает другой виртуальный процессор. Виртуальные машины KVM могут оценить время ожидания, а результат оценки можно получить с помощью top и vmstat.

Это помогает определить, как это скажется на производительности гостя и предпринять действия по оптимизации его работы. Длительные простои можно сократить за счет уменьшения числа гостей на хосте или увеличения приоритета процессора гостя (BZ#612320 ).
Доступ к образам qcow2

Улучшен доступ к образам qcow2 (этот формат используется по умолчанию) за счет обхода задержек виртуальных процессоров и прочих улучшений производительности дискового ввода-вывода (BZ#783950 ).

qemu-guest-agent

Пакет qemu-kvm теперь включает qemu-guest-agent. Если этот пакет установлен в гостевой системе Red Hat Enterprise Linux 6.3, хост Red Hat Enterprise Linux 6.3 сможет отправлять гостю команды guest-sync, guest-ping, guest-info, guest-shutdown, guest-suspend-*.

http://lists.nongnu.org/archive/html/qemu-devel/2011-07/msg00370.html содержит пример настройки взаимодействия хоста с агентом гостя.
Контроль производительности гостей KVM

KVM теперь может использовать модуль vPMU (virtualize performance monitoring unit), что позволяет виртуальным машинам осуществлять оценку производительности. Также добавлена поддержка Intel «PMU», который может быть развернут на разных версиях процессоров хоста при онлайн-миграции с помощью флага -cpu.

Эта возможность значительно облегчает мониторинг гостей KVM. Виртуальные машины смогут идентифицировать причины снижения производительности с помощью инструментов, которые могут работать и на хосте, и в гостевой системе.
Функции мониторинга производительности предоставляются в виде экспериментальной версии (BZ#645365 ).
Динамическое выделение виртуальных процессоров

KVM теперь поддерживает динамическое выделение виртуальных процессоров, что гарантирует своевременное реагирование на непредвиденный рост нагрузки.

Так как выделение ресурсов осуществляется динамически, в отключении гостя нет необходимости и, как следствие, степень его готовности значительно возрастает.
Эта возможность предоставляется в качестве экспериментальной версии. В настоящее время поддерживается динамическое добавление виртуальных процессоров, но не удаление (BZ#562886 ).
Virtio-SCSI

Оптимизация стека хранения виртуализации KVM включает поддержку virtio-SCSI (для KVM со SCSI). Virtio-SCSI позволяет напрямую подключиться к SCSI LUN и значительно улучшает масштабируемость по сравнению с virtio-blk. Так, virtio-SCSI поддерживает сотни устройств, в то время как virtio-blk поддерживает максимум 28 устройств.

Возможности virtio-SCSI включают:
  • подсоединение виртуального жесткого диска или CD через контроллер virtio-scsi;
  • подключение физического SCSI-устройства хоста к гостю через блочное SCSI-устройство QEMU;
  • использование сотен устройств для одного гостя.
Эти функции предоставляются в качестве экспериментальной версии (BZ#782029 ).
Поддержка состояний S3 и S4

Функции управления питанием KVM теперь поддерживают состояния S4 (приостановка с использованием диска) и S3 (приостановка с использованием памяти), что ускоряет восстановление гостей при возобновлении работы. Раньше гости сохранялись на внешних ресурсах, вызывая тем самым задержку при сохранении и восстановлении.

Теперь вывод гостей из состояния S3 можно осуществлять с удаленной клавиатуры с помощью SPICE.
Эти возможности предоставляются в качестве экспериментальной версии и по умолчанию отключены. Чтобы их включить, для BIOS виртуальной машины выберите файл /usr/share/seabios/bios-pm.bin вместо /usr/share/seabios/bios.bin.
Теперь функции S3 и S4 поддерживаются на уровне гостей, тем самым сокращая необходимое для возобновления работы время. Как следствие, отпадает необходимость во внешнем файле, где раньше хранилась информация о состоянии памяти. Эти возможности поддерживаются для гостей Red Hat Enterprise Linux 6.3 и Windows при условии, что их гипервизор поддерживет S3 и S4 (BZ#809797 ).
Поддержка SR-IOV для NIC

Добавлена поддержка SR-IOV для сетевых интерфейсов. Это допускает совместное использование сетевого интерфейса хоста его гостями. Подробную информацию можно найти в главе 13: SR-IOV в руководстве по установке виртуальных гостей и настройке хоста. Глава 2, Драйверы содержит информацию функциях SR-IOV в драйвере be2net.

Масштабирование TSC для AMD-V

Red Hat Enterprise Linux 6.3 поддерживает масштабирование счетчика тактов TSC (Time Stamp Counter) для AMD-V (AMD Virtualization). Это позволяет эмулировать выбранную частоту счетчика для гостя KVM (BZ#634293 ).

Поддержка perf-kvm

Добавлена поддержка программы perf-kvm, которая позволяет осуществлять мониторинг производительности гостей с хоста. Подробную информацию можно найти на справочной странице perf-kvm (BZ#632768 ).

7.2. SPICE

Поддержка перенаправления USB 2.0

Spice включает поддержку эмуляции адаптеров USB 2.0 и разрешает удаленное перенаправление USB, что позволяет работающим на сервере виртуальным машинам использовать на стороне клиента удаленно подключенные устройства USB (BZ#758104 ).

7.3. libvirt

Управление состоянием интерфейсов

libvirt теперь может управлять состоянием сетевых интерфейсов виртуальных машин. Это позволяет осуществлять тестирование и эмуляцию операций отключения и подключения сетевого кабеля (BZ#643373 ).

Поддержка последних моделей процессоров Intel и AMD

libvirt теперь поддерживает последние модели процессоров Intel Core i3, i5, i7 и AMD 15h (BZ#767364, BZ#761005 ).