Новое в Hyper-V 3.0

Вместе с новой версией серверной ОС Windows Server 2012 был представлен гипервизор Hyper-V 3.0, уже в бете превосходивший по всем возможностям своего предшественника. К окончательному релизу стало понятно, что MS желает серьезно подвинуть своих конкурентов, предложив удобный инструмент для создания динамичных платформ, удовлетворяющих современным требованиям. Усовершенствований не просто много, а очень много. В первую очередь бросаются в глаза количественные изменения: гостевая ОС может иметь ОЗУ 1 Тб (ранее 64 Гб) и 64 виртуальных vCPU (ранее 4), хост-сервер - ОЗУ 4 Тб и 320 логических CPU, в Failover Cluster можно объединить до 64 систем с 4000 работающими VM (ранее 1000). Вероятно, не во всех случаях понадобятся такие мощности, тем не менее задел создан неплохой. В списке официально поддерживаемых гостевых ОС значатся также Linux (Red Hat / CentOS, SUSE, Ubuntu) и FreeBSD.
В настоящее время многие ищут широкоформатные обои для рабочего стола, из-за того, что этот формат является наиболее распространенным среди пользователей персональных компьютеров.
Формат виртуальных дисков VHD, используемый в решениях виртуализации еще со времен VirtualPC, поддерживает максимальный размер до 2 Тб, чего в современных условиях бывает недостаточно. В Win2012 анонсирован новый открытый формат VHDX, при котором максимальный размер диска увеличен до 64 Тб, а журнал снижает риск получить нечитаемый образ в случае сбоя. В Windows-версиях до 2012 поддерживались харды, кластер которых не превышает 2 Кб, теперь можно использовать жесткие диски с размером сектора 4 Кб и поддерживающие стандарт эмуляции 512е.
Формат VHDX позволяет использовать технологию Offloaded Data Transfer (ODX), аналогичную vStorage API for Array Integration от VMware. Обмен данными ускоряется за счет того, что копирование блоков идет внутри самой СХД, не нагружая SAN. Но для этого оборудование должно быть подключено к VM как virtual SCSI или физический диск, IDE не поддерживается.
Очень многое сделано для обеспечения высокого уровня доступности сервисов. В частности, новая роль Scale-Out File Server позволяет хранить на сетевых ресурсах образы VM, обеспечивая высокую доступность, прозрачное переподключение на другой сервер и живую миграцию. При работе в кластере Hyper-V, если один из хостов выходит из строя, виртуальная машина автоматически перезапускается на другом хосте.
С кластером все понятно, а как быть, если он не используется? В Hyper-V 3.0 появилась технология Replica, позволяющая регглицировать файлы виртуальной машины на другой сервер и в случае сбоя быстро запустить VM. Причем реализовано несколько сценариев: наличие SAN, геораспределенная архитектура или локальная сеть. Схема работает просто: хосты связываются между собой, синхронизируют копии VM и затем обмениваются лишь измененными данными (Delta Replication). То есть копия будет «отставать» не более чем на время между репликациями, которое настраивает сам админ (с учетом того, что состояние ОЗУ не передается). Используется технология Volume Shadow Copy (VSS), поэтому реплики позволяют, в том числе, откатить состояние VM.
В Hyper-V Replica несколько компонентов: ядро Replication Engine, модуль, отслеживающий операции чтения Change Tracking, сетевой модуль Network Module, который обеспечивает безопасный HTTP/HTTPS-канал, и модули управления Management Experience. При размещении VM на кластерных узлах также используется роль HVR Broker role.
Количество одновременных «живых миграций» сейчас ограничивается лишь возможностями сетевой подсистемы, при необходимости администратор может вручную задать очередность, a VM будут перенесены по мере освобождения ресурсов в выбранном порядке. Еще одно полезное нововведение - Live Storage Migration позволяет выполнить миграцию хранилища без прерывания работы ОС и будет функционировать при отсутствии общего хранилища (Live Migration Without Shared Storage). Ранее в этой ситуации приходилось останавливать сервер, переносить его и запускать. Например, возможна живая миграция в случае переноса VM с локальных дисков (и даже USB-накопителей) одного хоста на другой или локального диска на shared storage. Функция будет полезной для небольших компаний, использующих несколько серверов без единой системы хранения данных. Достаточно просто указать, куда нужно переместить VM, и пользователь даже не заметит, что работает уже с другим сервером. Перенос возможен и на сервер с CPU, отличным оттекущего. Дедупликация данных позволяет сократить место, занимаемое VM, без существенной потери производительности и уменьшить время на резервирование.
Поддержка технологии SR-IOV (Single Root I/O Virtualization) для подключения устройств в VM дает возможность использовать специфические функции, ранее доступные только с нативными драйверами, и повысить производительность. С SR-IOV сетевые карты разделяются на некие виртуальные функции, которые передаются VM как физические устройства. Еще одна новинка - технология NUMA (Non-Uniform Memory Access) повышает производительность виртуальной машины за счет того, что каждый CPU обращается к «своей» части ОЗУ и тем самым уменьшаются накладные расходы на адресацию. При запуске VM она привязывается к определенному узлу NUMA, с которым и работает, если ресурсов достаточно.
Предугадать, сколько потребуется ОЗУ, довольно сложно, поэтому обычно устанавливают рекомендуемое или большее значение, «чтобы не тормозило», в итоге часть ресурсов простаивает. Теперь можно задать минимальное и максимальное значение выделяемой памяти, после запуска VM освободит лишнюю память, если в ней нет необходимости. Причем установить эти значения можно буквально движением мышки на лету. Ранее для этого приходилось прибегать к PowerShell, а то и останавливать машину.
При использовании большого количества VM возможна ситуация, когда для перезагрузки одной из них потребуется выделить стартовое значение памяти, которое всегда выше минимального. Если на узле нет дополнительной памяти для перезапуска машины, задействуется функция Hyper-V Smart Paging, обеспечивающая нужный объем за счет файла подкачки узла виртуализации.
В связи с всевозрастающей нагрузкой изменена и сетевая подсистема. Так, стало возможным объединить до 32 физических сетевых адаптеров (NIC Teaming), повысив производительность и доступность. Но главное, появился полноценный виртуальный сетевой коммутатор (Layer 2) - Hyper-V Extensible Switch, предоставляющий следующие возможности: изоляцию виртуальных машин через создание частных VLAN (Private VLAN), ограничение пропускной способности, установление прав доступа для портов через ACL, VLAN Trunking (работа с несколькими VLAN), мониторинг, защиту от ARP Spoofing и DHCP Snooping атак. Управление возможно через PowerShell и WMI. Получить список командлетов PowerShell просто:
PS> Get-Command-CommandType Cmdlet *VMNetworkAdapter*
PS> Get-Command-CommandType Cmdlet *VMSwitch*
Представлен открытый API, поэтому можно ожидать разработок третьих фирм. Добавлена поддержка виртуальных адаптеров Virtual Fibre Channel для VM, через которые они могут получить прямой доступ к LUN посредством МРIO (Multipath I/O).
Так как Win2012 продвигается в том числе как платформа для частных и публичных облаков, появилась возможность сбора биллинговой информации при помощи функции Нурег-V Resource Metering, предоставляющей метрики по значению загрузки CPU и RAM, объему дискового пространства, входящему/исходящему трафику. По умолчанию эта функция выключена, для активации следует использовать командлет Enable-VMResourceMetering. Интервал сбора по умолчанию установлен в один час, изменить его можно с точностью до минуты при помощи командлета ResourceMeteringSavelnterval.