15. Виртуализация

15. Виртуализация

15.1. KVM

Red Hat Enterprise Linux 6 поддерживает гипервизор KVM (Kernel-based Virtual Machine) для AMD64 и Intel 64. Он интегрирован в ядро Linux и предоставляет платформу виртуализации, которая обеспечивает стабильность, поддержку оборудования и широкие возможности, свойственные Red Hat Enterprise Linux.

15.1.1. Улучшенные возможности памяти

  • Прозрачные страницы HugePages увеличивают размер страницы с 4 килобайт до 2 мегабайт и повышают производительность в системах с большой нагрузкой памяти и ресурсов. Red Hat Enterprise Linux 6 также включает поддержку использования этих страниц с KSM.
  • Использование битов времени существования EPT (Extended Page Table) облегчает выбор памяти для подкачки при высокой нагрузке и допускает подкачку прозрачных страниц HugePages за счет разбиения страниц на страницы меньшего размера.

15.1.2. Виртуализация процессоров

  • Red Hat Enterprise Linux 6 допускает использование до 64 виртуализированных процессоров в одной виртуальной системе.
  • Расширения процессора хоста теперь могут использоваться гостями. Это позволяет виртуальным машинам воспользоваться преимуществами наборов инструкций и аппаратных возможностей современных процессоров.
  • Новый контроллер прерываний x2apic повышает производительность гостей x86_64, разрешая прямой доступ и исключая издержки эмуляции доступа.
  • Новые уведомители пространства пользователя допускают кэширование регистров процессора, избегая действий сохранения состояния регистров неиспользуемых компонентов при изменении контекста, так как подобные действия требуют больших вычислительных затрат.
  • Механизм блокирования RCU (Read Copy Update) теперь использует симметричную многопроцессорную обработку и улучшает производительность сетевых функций и многопроцессорных систем.

15.1.3. Хранение данных

  • Драйвер QEMU поддерживает полностью асинхронный ввод-вывод и функции preadv, pwritev, которые повышают производительность устройств хранения данных.
  • Протокол QMP (QEMU Monitor Protocol) обеспечивает корректное взаимодействие приложений с управляющей консолью QEMU. QEMU поддерживает текстовый формат вывода, асинхронные сообщения и согласование функций.
  • Использование примитивов spinlock для паравиртуализированного драйвера (virtio) позволяет увеличить число одновременных операций ввода-вывода и в целом улучшает производительность блочного ввода-вывода.
  • Виртуализированные устройства хранения теперь могут быть динамически добавлены и удалены из гостевых систем.
  • Прозрачность топологии блочных накопителей: гостям доступна аппаратная структура устройств хранения и размеры физических секторов (например, 4 КБ). Для этого требуется обеспечить совместимость команд и и данных устройств хранения. Такая прозрачность позволяет гостям оптимизировать структуру файловой системы и повысить производительность приложений, использующих оптимизацию ввода-вывода.
  • Расширения производительности для формата qcow2.

15.1.4. Сеть

  • vhost-net переносит многие сетевые функции из пространства пользователя QEMU в ядро. Уменьшено число переключений контекста и вызовов vmexit, что положительно сказывается на производительности устройств SR-IOV и других сетевых устройств.
  • Поддерживаются возможности MSI-X, увеличивающие число прерываний, доступных сетевым устройствам. Также улучшена производительность совместимого оборудования.
  • Виртуализированные сетевые устройства теперь могут подключаться и отключаться динамически от работающих гостевых систем. Для сетевой загрузки используется gPXE.

15.1.5. Совместное использование страниц

Гипервизор KVM в Red Hat Enterprise Linux 6 включает возможности KSM (Kernel SamePage Merging), что позволяет гостям KVM совместно использовать идентичные страницы памяти. Это уменьшает излишнее дублирование страниц и повышает эффективность выполнения аналогичных гостевых систем на заданном хосте.

15.1.6. Прямое назначение устройств PCI

Поддерживается динамическое подключение и отключение устройств ввода-вывода (механизм PCI passthrough).

15.1.7. SR-IOV

SR-IOV теперь поддерживает режим сокетов прямого доступа. Раньше сетевые прерывания обрабатывались на программном уровне. Теперь SR-IOV позволяет сопоставить гостям логические сетевые интерфейсы.
Раньше виртуализация SR-IOV не поддерживала миграцию. Миграция разных систем стала возможна с помощью vhost-net.

15.1.8. virtio-serial

Интерфейс virtio-serial обеспечивает взаимодействие пространства пользователя хоста с пространством пользователя гостя и обычно используется, если сетевое подключение недоступно.

15.1.9. sVirt

Возможности sVirt впервые добавлены в Red Hat Enterprise Linux 6.0 с целью интеграции виртуализации в SELinux. sVirt использует принудительный контроль доступа для усиления защиты при использовании виртуализированных гостей и повышает иммунитет системы против ошибок гипервизора, которые могли служить инструментом вторжения.

15.1.10. Миграция

  • После миграции номера устройств PCI гостевой системы останутся неизменными.
  • При миграции учитывается модель процессора, что позволяет использовать наборы инструкций новых моделей. Гостевые системы могут быть перенесены на компьютер, модель процессора которого совместима с моделью исходного хоста.
  • vhost-net позволяет осуществлять миграцию гостей, использующих SR-IOV, на узел с другой конфигурацией, также использующий устройства SR-IOV.
  • Расширение возможностей протокола миграции.

15.1.11. Стабильность ABI гостевых устройств

Гарантируется стабильность ABI в гостевых системах в составе новой модели qdev. Устройства будут сохранять постоянство после обновлений. Это поможет решить проблемы активации некоторых операционных систем.

Примечание

Red Hat Enterprise Linux 6 включает компоненты, обеспечивающие функциональность протокола SPICE (Simple Protocol for Independent Computing Environments). Они поддерживаются только в комбинации с продуктами Red Hat Enterprise Virtualization (RHEV). Стабильность их ABI не гарантируется. Компоненты будут обновляться в соответствии с требованиями RHEV, но не исключено, что миграция может потребовать дополнительной ручной настройки.

15.2. Xen

Red Hat Enterprise Linux 6 может выступать в роли гостевой системы Xen на компьютерах x86, AMD 64 и Intel 64. Паравиртуализированные операции включены в ядро Red Hat Enterprise Linux 6. Стандартное ядро Red Hat Enterprise Linux 6 может использоваться в качестве как паравиртуализированного, так и полностью виртуализированного гостя Xen на хосте Red Hat Enterprise Linux 5. В комплект Red Hat Enterprise Linux 6 входят паравиртуализированные драйверы для установки полностью виртуализированных гостей Xen.
Red Hat Enterprise Linux 6 не может выступать в качестве хоста Xen.

Дополнительно

Руководство по виртуализации содержит подробную информацию об установке и настройке виртуализации в Red Hat Enterprise Linux 6.

15.3. virt-v2v

В Red Hat Enterprise Linux 6 впервые включена утилита virt-v2v, позволяющая конвертировать и импортировать виртуальные машины, созданные в других системах (например, Xen или VMware ESX). virt-v2v определяет путь миграции для гостевых систем Xen с гипервизором Red Hat Enterprise Linux 5 (BZ#566169 ).