Одним из главных нововведений в гипервизоре Windows Server 2012 R2 – возможность создавать виртуальные машины второго поколения (Generation 2). Какова же цель разработки второго поколения виртуальных машин Hyper-V, в чем их преимущества и в каких случаях предпочтительно их использовать? В этой статье мы попробуем ответить на все эти вопросы.
В Hyper-V на Windows Server 2012 R2 теперь поддерживаются два поколения виртуальных машин: поколение 1 (Generation 1) и поколение 2 (Generation 2). Виртуальные машины первого поколения (Generation 1) являлись единственным типом виртуальных машин, доступных в предыдущих версиях Hyper-V. В Hyper-V на базе Windows Server 2012 R2 при создании новой виртуальной машины теперь можно указать к какому поколению будет относиться создаваемая виртуальная машина.

Содержание
Исторические предпосылки разработки второго поколения виртуальных машин
Новое поколение виртуальных машин отличается от предыдущего одним главным принципом – оно разработано специально для оптимизации работы ОС исключительно (и только) в виртуальном окружении Hyper-V. Поколение виртуальной машины определяет набор виртуального «железа» и функционал виртуальной машины. И если предыдущее поколение содержало в себе эволюционные анахронизмы, вытекающие из изначально «физической» архитектуры компьютеров, то виртуальные машины Gen 2 избавлены от этой необходимости, что дает ряд преимуществ.
Главная задача при создании любой виртуальной машины – создание надежной программной эмуляции физического оборудования, которое изначально проектировалось и разрабатывалось без учета возможностей виртуализации. Со временем в архитектуру ОС и аппаратного обеспечения компьютеров вносилось все больше и больше изменений. В результате разработчикам виртуальных платформ для того, чтобы запустить ОС в среде виртуализации, приходилось прибегать к эмуляции различного (в том числе морально устаревшего) оборудования: это BIOS, стандартные порты ввода-вывода (COM, LPT, PS/2), IDE-контроллеры, контроллеры флоппи дисков, контроллеры прерываний, мосты PCI-to-ISA и многое другое.
Эмуляция различного оборудования приводит к увеличению накладных расходов процессорного времени, необходимости поддержки довольного сложного кода и, как следствие этого факта, повышенной поверхности для атак злоумышленников.
Современные ОС, которые проектируются с учетом возможностей работы в виртуальной среде, и уже на этапе загрузки могут понять, что работают внутри ВМ, и не ожидать появления контроллера прерываний или чипсета определенного типа, а напрямую общаться с гипервизором через шину VMBus. Основываясь на этих концепциях, Microsoft решила рискнуть и отказаться от необходимости эмуляции унаследованных устройств и создать для эмуляции оборудования новую платформу с минимальным набором компонентов.
Вот каким образом могут выглядеть списки эмулируемых устройств в Device Manager на ВМ Hyper-V:
1 поколения виртуальных машин Hyper-V:

2 поколения виртуальных машин Hyper-V: 
Возможности виртуальных машин Hyper-V второго поколения
Какие же базовые изменения внесены в виртуальные машины Hyper-V Generation 2:
- Поддержка UEFI— стандартный BIOS замен на firmware на базе UEFI
- Secure Boot – как следствие первого пункта, поддержка технологии безопасной загрузки (Secure Boot), позволяющий защитить систему от руткитов и буткитов в процессе загрузки (по умолчанию, Secure Boot активна)

- Отказ от эмуляции >Совет. За данный функционал отвечает опция Enhanced Session Mode в настройках виртуальной машины Hyper-V.
За счет отказа от эмуляции устаревших типов оборудования существенно увеличилась скорость загрузки виртуальной машины и уменьшилось время на установку гостевой ОС. В различных тестах разница в скорости загрузки и развертывания ВМ 1 и 2 поколения достигает 20% и 50% соответственно, что особенно интересно в различных VDI сценариях.
Требования и ограничения виртуальных машин 2 поколения
В качестве гостевых ОС в виртуальных машинах Hyper-V второго поколения поддерживаются:
- Windows Server 2012
- Windows Server 2012 R2
- Windows 8 x64
- Windows 8.1 x64
Судя по всему данное ограничение связано с тем, что именно эти версии ОС поддерживают спецификацию UEFI 2.3.1 с Secure Boot.
2-ое поколение виртуальных машин Hyper-V в Windows Server 2012 R2 обеспечивает прирост производительности виртуальных машин, особенно на этапах установки и загрузки, обладает повышенной безопасностью, работает на UEFI и освобождено от необходимости поддержки эмуляции устаревшего оборудования.
Нужна помощь консультанта?
Целью написания данной статьи является исследование производительности работы программы 1С на виртуальных машинах платформ ESXi и HyperV. Для наглядности оценки в тесты добавлен аппаратный сервер, в качестве эталонного образца.
Идея данного исследования возникла в результате наблюдения проблем с производительностью конфигураций 1С, использующих управляемые формы, в виртуальной среде. Если, к примеру, конфигурация УТ 10.3 работала в виртуальной среде отлично, то уже УТ 11.0 начинала резко тормозить и вызывать недовольство пользователей, причем каких-либо провисаний по ресурсам не наблюдалось – 1С просто работала медленно. Единственное решение, которое помогало в большинстве случаев – это перенос ролей СУБД и сервера 1С предприятия на физический сервер, а это, естественно, тянет за собой большие затраты, снижение отказоустойчивости и т.д. В данный момент большинство компаний все-таки продолжает работать с 1С в виртуальной среде, многие из них жалуются на плохую производительность, но средства на физические сервера не выделяют – надеются, что компания 1С оптимизирует продукт под виртуализацию либо сама виртуализация станет лучше.
Второй предпосылкой к проведению данного исследования стало объявление Майкрософт о поддержке в гипервизоре на базе операционной системы Windows Server 2012R2 виртуальных машин 2-го поколения. Соответственно стало интересно, как эти новые машины будут работать в целом и с 1С в частности, поскольку описание их достаточно интересное: они избавлены от эмуляции устаревших устройств, таких как IDE, BIOS, порты ввода/вывода, контролеры прерываний и т.д. ОС гостевой виртуальной машины при загрузке определяет, что она работает в виртуальной среде и обменивается данными с гипервизором напрямую. Установка операционной системы, ее загрузка и перезагрузка происходят в разы быстрее по сравнения с машинами первого поколения.
Для проведения исследования было выбрано четыре различные конфигурации на базе платформы 1С:Предприятие 8.3 (8.3.5.1186):
| № | Конфигурация | Редакция | Объем базы | Примечание |
| 1 | Управление производственным предприятием | 1.3.57.1 | 16,3 Гб | Рабочая |
| 2 | ERP Управление предприятием | 2.0.9.38 | 676 Мб | Демонстрационная |
| 3 | Управление торговлей | 11.1.9.44 | 16,6 Гб | Рабочая |
| 4 | Бухгалтерия предприятия | 3.0.22.14 | 820 Мб | Рабочая |
И четыре платформы, на которых выполнялись замеры их производительности:
- VMware ESXi 5.1;
- физический сервер;
- Windows Server 2012R2 HyperV (1Gen);
- Windows Server 2012R2 HyperV (2Gen).
Ресурсы аппаратного сервера были выделены следующие:
- центральный процессор – Intel Core i5 3330 (3.0 Ghz);
- оперативная память (ОЗУ) – 16 GB DDD3;
- жесткий диск – SSD 240 Gb Intel.
Гипервизоры были развернуты на этой же аппаратной платформе с выделением 8 Гб оперативной памяти и 4-х виртуальных процессоров. Все базы кроме ERP 2.0 являются настоящими базами, с которыми работает компания, заполнены они реальными данными. В качестве СУБД использовался MSSQL 2012. Операционная система на физическом сервере и виртуальных машинах использовалась Windows Server 2012R2. Сервер приложений 1С предприятия и СУБД устанавливались на один сервер и работали в режиме shared memory.
Практическое тестирование и результаты тестов
| Управление торговлей 11 | ||||
| Типовые операции | Hyper-V 2012. VM 1-st generation | Hyper-V 2012. VM 2-d generation | VMware ESXi | Аппаратный компьютер |
| Время запуска конфигурации, сек | 58 | 61 | 20 | 18 |
| Отчет по финансам – анализ движений денежных средств (за год) ,сек | 9 | 5 | 2,5 | 5 |
| Маркетинг – отчеты по маркетингу и планированию – АБС/XYZ анализ номенклатуры, сек | 30 | 41 | 20 | 27 |
| Продажи – Отчеты по продажам – Выручки и себестоимость продаж, сек | 20 | 15 | 7,5 | 7 |
| Закупки – отчеты по запасам и закупкам – Ведомости по остаткам на складе, сек | 14 | 8 | 7 | 10 |
| Склад – отчеты по складу – ведомость по товарам на складах, сек | 24 | 3 | 1 | 2 |
| Склад – перемещение товара, сек | 9 | 15 | 6 | 3 |
| Перепроведение квартала 3 квартал 2014г. 3381 документ, сек | 3252 | 2987 | 1436 | 2003 |

| ERP 2.0 | ||||
| Типовые операции | Hyper-V 2012. VM 1-st generation | Hyper-V 2012. VM 2-d generation | VMware ESXi | Аппаратный компьютер |
| Показатель теста Гилева 8.3 | 17,12 | 17,12 | 25 | 24,15 |
| Время запуска конфигурации | 64 | 65 | 36 | 40 |
| Маркетинг и планирование – отчеты по маркетингу и планированию | 1 | 1 | 2 | 1 |
| Маркетинг и планирование – отчеты по маркетингу и планированию – Анализ зависимостей от клиентов (АБС) | 1 | 1 | 1 | 1 |
| Продажи-состояние обеспечения заказов | 1 | 2 | 1 | 2 |
| Закупки – отчеты по запасам и закупкам – остатки товаров принятых на комиссию. (год) | 2 | 6 | 1 | 2 |
| Склад – отчеты по складу – ведомость по товарам на складе (год) | 2 | 2 | 1 | 2 |
| Склад – заказ на внутреннее потребление | 1,5 | 1,5 | 1 | 2 |
| Производство – Отчету по производству – состояние объектов эксплуатации | 1 | 1 | 1 | 2 |
| Зарплата – отчет по зарплате – расчетный листок по сотрудникам за год | 21 | 22 | 16,5 | 22 |
| Финансы – отчеты по финансам – Анализ движений денежных средств (год) | 1,5 | 1,5 | 1 | 2 |
| Финансы – финансовый результат – Закрытие результатов месяца | 135 | 140 | 121 | 158 |
| Бюджетирование – отчеты по бюджетированию – оборотная ведомость по статьям бюджета (год) | 22 | 9 | 6 | 7 |
| Международный финансовый учет – отчет по Международному финансовый учету – Анализ Субконто (год) | 2 | 5 | 1 | 2 |

| Бухгалтерия предприятия | ||||
| Типовые операции | Hyper-V 2012. VM 1-st generation | Hyper-V 2012. VM 2-d generation | VMware ESXi | Аппаратный компьютер |
| Время запуска конфигурации | 8 | 19 | 9,4 | 11 |
| Учет,налоги, отчетность – Отчет по проводкам (год) | 3 | 8 | 3 | 5 |
| Справочники и настройки учета – Обороты счета (год) | 10 | 3 | 1 | 2 |
| Справочники и настройки учета – Анализ счетов за год | 2 | 2 | 1 | 2 |
| Справочники и настройки учета – Оборотно-сальдовая ведомость (год, все показатели) | 2 | 2 | 1 | 2 |
| УПП | ||||
| Типовые операции | Hyper-V 2012. VM 1-st generation | Hyper-V 2012. VM 2-d generation | VMware ESXi | Аппаратный компьютер |
| Время запуска конфигурации | 44 | 30 | 20,9 | 30 |
| Отчет по финансам – анализ движений денежных средств (за год) | 3 | 2 | 0,5 | 1 |
| Отчёты – продажи – Анализ (XYZАБС) (год) | 76 | 92 | 73 | 80 |
| Отчеты – Затраты – анализ распределения затрат (год) | 27 | 31 | 16 | 22 |
| Отчеты – Закупки – План-фактный анализ закупок (год) | 6 | 8 | 5,3 | 10 |
| Отчеты – Запасы – Товары на складах (год) | 2 | 1 | 1 | 1 |
| Заказ покупателя | 1 | 1 | 1 | 1 |
| Восстановление последовательности налогового учета УСН | 5 | 4 | 1 | 1 |

Выводы
- Виртуальные машины первого и второго поколения Hyper-V практически не отличаются друг от друга. Их производительность в ряде тестов отличалась, но нельзя с уверенностью сказать, какое поколение работает с 1C лучше, так как попеременно то одно, то другое поколение показывало результат лучше. Выполнять переход на машины нового поколения с надеждой повысить производительность 1С не стоит.
- Неожиданными были замеры производительности на VMware. 1C на виртуальной машине в большинстве случаев работала быстрее, чем на аппаратной платформе. Иногда показывая просто невероятное превосходство – например, перепроведение квартала в конфигурации УТ 11 заняло на 40% меньше времени, чем на аппаратном компьютере. Отставание виртуальных машин на HyperV было более 108% и 126% для 2-го и 1-го поколения соответственно. Скорее всего, данный феномен происходит по причине лучшей работы с железом драйверов от VMWare, против аналогичных от Microsoft. Также, возможно, ESXi формирует кэш для хранения данных, и таким образом, обрабатывает информацию быстрее.
Следующим этапом исследования планируем развернуть рабочие базы 1С на виртуальных машинах гипервизора ESXi и спустя некоторое время собрать отзывы пользователей. Это будет самый весомый показатель, по которому можно будет делать вывод, действительно ли этот гипервизор так хорош, для работы 1С в виртуальной среде.
Применимо к:Windows Server 2012 R2
Виртуальное оборудование и функциональные возможности виртуальной машины определяются ее поколением. Hyper-V поддерживает два поколения виртуальных машин: поколение 1 и поколение 2. Виртуальные машины поколения 2 отличаются упрощенной моделью виртуального оборудования и вместо встроенного ПО на основе BIOS поддерживают единый интерфейс UEFI. Виртуальные машины поколения 2 уже избавлены от большинства устаревших устройств.
В этой статье рассматриваются различные преимущества и требования виртуальных машин поколения 2. Для Hyper-V на Windows Server 2016 Technical Preview или Windows 10 см. раздел Следует ли создавать виртуальные машины поколения 1 или 2 в Hyper-V?
Предыдущие версии Hyper-V включали только одно поколение виртуальных машин. В Windows Server 2012 R2 предлагаются два поколения виртуальных машин на выбор при создании новой виртуальной машины:
Поколение 1. Предоставляет виртуальной машине такое же виртуальное оборудование, как в предыдущих версиях Hyper-V.
Поколение 2. Предоставляет виртуальной машине следующие новые функциональные возможности:
PXE-загрузка с помощью стандартного сетевого адаптера;
загрузка с виртуального жесткого диска SCSI;
загрузка с виртуального DVD-диска SCSI;
безопасная загрузка (включена по умолчанию);
поддержка встроенного ПО UEFI.
Примечание |
|---|
Предупреждение |
|---|
Внимание |
|---|
Примечание |
|---|
Примечание |
|---|


Примечание
Предупреждение
Внимание


