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
).