Show Table of Contents
Глава 9. Виртуализация
9.1. Виртуализация на уровне ядра
virtio-blk-data-plane
Red Hat Enterprise Linux 7.0 предлагает экспериментальный вариант
virtio-blk-data-plane, что позволяет QEMU осуществлять дисковый ввод-вывод в отдельно выделенном потоке, тем самым улучшая общую производительность ввода-вывода.
Мост PCI
QEMU раньше поддерживал до 32 слотов PCI. Мост PCI в Red Hat Enterprise Linux 7.0 позволяет настроить больше 32 PCI-устройств, но без поддержки горячей замены.
Песочница QEMU
В Red Hat Enterprise Linux 7.0 усилена защита виртуализации KVM за счет фильтрования системных вызовов ядра, что облегчает изоляцию хоста от гостевых систем.
Добавление виртуальных процессоров
QEMU в Red Hat Enterprise Linux 7.0 поддерживает возможность добавления виртуальных процессоров к работающим виртуальным машинам типа
pc-i440fx-rhel7.0.0 (стандартный тип для Red Hat Enterprise Linux 7.0).
Очереди в virtio_net
virtio_net допускает использование отдельных очередей отправки и получения пакетов для виртуальных процессоров. Производительность возрастает, так как виртуальный процессор работает независимо от других.
Очереди в virtio_scsi
virtio_scsi допускает использование отдельных очередей и прерываний для виртуальных процессоров. Производительность возрастает, так как виртуальный процессор работает независимо от других.
Сжатие страниц при динамической миграции
Скорость онлайн-миграции в KVM значительно улучшена за счет сжатия страниц памяти переносимой виртуальной машины.
HyperV в KVM
KVM поддерживает некоторые функции Microsoft Hyper-V, включая устройство управления памятью (MMU, Memory Management Unit) и виртуальный контроллер прерываний (Virtual Interrupt Controller). Microsoft предоставляет паравиртуализированный API для взаимодействия гостевых систем с хостом, и частичная реализация функций на хосте помогает улучшить производительность.
Ускорение обработки операций EOI
Red Hat Enterprise Linux 7.0 эффективно использует дополнительные функции APIC Intel и AMD по оптимизации операций завершения прерываний (EOI, End of Interrupt). Для старых микросхем доступны паравиртуальные функции оптимизации EOI.
Поддержка USB 3.0
Поддержка USB в Red Hat Enterprise Linux 7.0 улучшена за счет эмуляции интерфейса xHCI USB 3.0 (экспериментальная версия).
Виртуальные системы Windows 8 и Windows Server 2012
Red Hat Enterprise Linux 7.0 поддерживает создание гостевых систем Microsoft Windows 8 и Windows Server 2012 в виртуальных машинах KVM.
Регулирование ввода-вывода гостей QEMU
Ввод-вывод блочных устройств в гостевых системах QEMU может регулироваться с целью снижения вероятности сбоев (за исключением регулирования в плоскости передачи данных сети).
Интеграция динамического выделения памяти и прозрачных страниц hugepages
Улучшена интеграция механизмов динамического выделения памяти и прозрачных страниц (THP, Transparent Huge Pages) в Red Hat Enterprise Linux 7.0. Динамически выделенные страницы могут быть преобразованы в страницы THP.
Определение энтропии с хоста
Новое устройство
virtio-rng позволяет определить энтропию гостевых систем с хоста. По умолчанию эти сведения извлекаются из /dev/random, но в качестве источника могут также выступать аппаратные генераторы случайных чисел хоста.
Передача данных через сетевой мост
Эффективность обработки больших сообщений повышается за счет того, что процессор не дожидается выполнения операций копирования памяти (методика, известная как zero copy, то есть процессор не осуществляет копирование). Это улучшает производительность при передаче данных из гостевой системы через сетевой мост.
Динамическая миграция
Разрешается динамическая миграция гостевых систем с хоста Red Hat Enterprise Linux 6.5 на Red Hat Enterprise Linux 7.0.
TRIM в qemu-kvm
discard='unmap' в секции <driver> в XML-определении домена разрешает выполнение команд fstrim и mount -o discard в гостевых системах.
<disk type='file' device='disk'> <driver name='qemu' type='raw' discard='unmap'/> <source file='/var/lib/libvirt/images/vm1.img'> ... </disk>
Устройства NVIDIA
Red Hat Enterprise Linux 7.0 поддерживает использование NVIDIA GRID и Quadro в качестве дополнительных устройств для эмулированных адаптеров VGA.
Паравиртуальная реализация ticket lock
Red Hat Enterprise Linux 7.0 поддерживает паравиртуальную реализацию упорядоченного спинлока (pvticketlocks), что повышает производительность гостевых систем Red Hat Enterprise Linux 7.0 на хостах Red Hat Enterprise Linux 7.0 с превышенным процессорным лимитом.
Обработка ошибок PCIe
Если выделенное гостевой системе устройство PCIe с функциями AER (Advanced Error Reporting) столкнулось с ошибками, система будет остановлена. После решения конфликта на уровне драйвера хоста работу гостя можно будет возобновить. Другие гостевые системы не будут затронуты.
Эмуляция михросхем Q35, шин PCI Express и AHCI
Red Hat Enterprise Linux 7.0 теперь предлагает выбрать тип Q35 для виртуальных машин KVM, что необходимо для поддержки шин PCI Express и AHCI. Эта функциональность предлагается в качестве предварительной версии.
Назначение PCI-устройств
Драйвер VFIO (Virtual Function I/O) облегчает предоставление PCI-устройств виртуальным машинам KVM. VFIO характеризуется возможностью изоляции устройств на уровне ядра, улучшенной защитой доступа к устройствам и совместимостью с безопасной загрузкой. VFIO заменил механизм выделения устройств KVM, используемый в Red Hat Enterprise Linux 6.
Большие страницы Intel VT-d
При назначении устройств VFIO (Virtual Function I/O) виртуальным машинам KVM блок управления памятью для операций ввода-вывода (IOMMU, Input/Output Memory Management Unit) использует страницы размером 2 МБ, тем самым снижая издержки операций ввода-вывода буфера TLB (Translation Lookaside Buffer). Поддержка страниц размером 1 ГБ будет позднее добавлена в Red Hat Enterprise Linux 7.0.
Определение времени в KVM
В Red Hat Enterprise Linux 7.0 механизм
vsyscall улучшен механизм чтения времени из пространства пользователя гостями KVM. Как следствие, будет отмечен рост производительности приложений, регулярно запрашивающих текущее время, в виртуальных системах Red Hat Enterprise Linux 7.0 на хостах Red Hat Enterprise Linux 7.0.
QCOW2 версии 3
Red Hat Enterprise Linux 7.0 поддерживает формат QCOW2 версии 3 .
Статистика миграции
Анализ статистики динамической миграции поможет принять решение по ее оптимизации. Статистика была улучшена и теперь включает ожидаемое время простоя и скорость изменения страниц памяти.
Поточная миграция
Динамическая миграция KVM теперь поддерживает поточную обработку.
Горячее подключение символьных устройств и последовательных портов
Red Hat Enterprise Linux 7.0 поддерживает возможность горячего подключения новых символьных устройств через последовательный порт.
Эмуляция AMD Opteron G5
KVM допускает эмуляцию процессоров AMD Opteron G5.
Инструкции Intel для гостей KVM
Гости KVM могут использовать новые инструкции процессоров Intel 22nm, включая:
- умножение чисел с плавающей точкой с последующим сложением и округлением,
- 256-разрядные целые векторы,
- инструкции MOVBE (Big Endian Move Instruction),
- HLE/HLE+.
Форматы файлов VPC и VHDX
KVM в Red Hat Enterprise Linux 7.0 поддерживает файловые форматы Microsoft Virtual PC (VPC) и Microsoft Hyper-V virtual hard disk (VHDX).
libguestfs
libguestfs предоставляет набор инструментов для управления образами дисков виртуальных машин. Основные характеристики libguestfs в Red Hat Enterprise Linux 7.0:
- sVirt — безопасная виртуализация с использованием SELinux.
- Управление удаленными дисками (чтение и изменение), используя NBD (Network Block Device).
- Горячая замена дисков помогает улучшить производительность некоторых приложений.
Драйверы virtio-win
Red Hat Enterprise Linux 7.0 предоставляет WHQL-сертифицированные драйверы
virtio-win для последних версий Microsoft Windows (8, 8.1, 2012 и 2012 R2).

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.