Второе поколение виртуальных машин Hyper-V | Windows для системных администраторов

Второе поколение виртуальных машин Hyper-V

Одним из главных нововведений в гипервизоре 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 при создании новой виртуальной машины теперь можно указать к какому поколению будет относиться создаваемая виртуальная машина.

Второе поколение (Generation 2) виртуальных машин 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:

устройства 1 поколения виртуальных машин Hyper-V

2 поколения виртуальных машин Hyper-V: устройства в device manager 2 -го поколения виртуальных машин Hyper-V

Возможности виртуальных машин Hyper-V второго поколения


Какие же базовые изменения внесены в виртуальные машины Hyper-V Generation 2:

  • Поддержка UEFI- стандартный BIOS замен на firmware на базе UEFI
  • Secure Boot – как следствие первого пункта, поддержка технологии безопасной загрузки (Secure Boot), позволяющий защитить систему от руткитов и буткитов в процессе загрузки (по умолчанию, Secure Boot активна) Поддержка uefi на hyper-v в windows server 2012 r2
  • Отказ от эмуляции IDE контроллеров – взаимодействие с файлами виртуальных машин VHDX осуществляется с помощью нативных команд SCSI, что приводит к значительному увеличению производительности виртуальных машин.
  • Загрузка с виртуального SCSI или SCSI-DVD диска – виртуальный IDE-контроллер полностью «выпилен».
  • Возможность сетевой PXE загрузки с использованием синтетического сетевого адаптера, которая происходит быстрее чем при использовании  Legacy Network Adapter в первом поколении виртуальных машин
  • Отсутствие Legacy устройств – остались только синтетические устройства
  • Enhanced Session Mode – новый функционал консоли управления Hyper-V, позволяющий подключаться к рабочему столу виртуальной машины непосредственно из консоли через шину VMBus (даже без наличия подключения виртуальной машины к сети). При этом администратор получает в свое распоряжение все преимущества  RDP-сеанса: возможность выбора разрешения экрана, поддержку буфера обмена, смарт-карт, перенаправления USB-устройств (подробности есть тут).hyper v enhanced session mode - rdp возможности
Совет. За данный функционал отвечает опция  Enhanced Session Mode в настройках виртуальной машины Hyper-V.

За счет отказа от эмуляции устаревших типов оборудования существенно увеличилась скорость загрузки виртуальной машины и уменьшилось время на установку гостевой ОС. В различных тестах разница в скорости загрузки и развертывания ВМ 1 и 2 поколения достигает 20% и 50% соответственно, что особенно интересно в различных VDI сценариях.

Примечание. В процесс работы ВМ повышение скорости работы виртуальной машины малозаметно, т.к. интеграционные компоненты Hyper-V позволяют виртуальной машины работать на максимально эффективном уровне.

Требования и ограничения виртуальных машин 2 поколения

В качестве гостевых ОС в виртуальных машинах Hyper-V второго поколения поддерживаются:

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows 8 x64
  • Windows 8.1 x64

Судя по всему данное ограничение связано с тем, что именно эти версии ОС поддерживают спецификацию UEFI 2.3.1 с Secure Boot.

Важно. После создания виртуальной машины сменить поколение напрямую невозможно, что не удивительно, т.к. в одном случае используется BIOS, а в другом – UEFI  (однако существуют косвенные методы миграции  с помощью сторонних утилит или конвертацию V2V).

2-ое поколение виртуальных машин Hyper-V в Windows Server 2012 R2 обеспечивает прирост производительности виртуальных машин, особенно на этапах установки и загрузки, обладает повышенной безопасностью, работает на UEFI и освобождено от необходимости поддержки эмуляции устаревшего оборудования.

Еще записи по теме: Windows Server 2012 R2
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 13

Оставить комментарий
  1. Игорь | 07.10.2013

    Прекрасный обзор отличной новости. Спасибо

    Ответить
  2. sdd | 08.10.2013

    Автор жжет :) «Новое поколение виртуальных машин отличается от предыдущего одним главным принципом – оно разработано специально для виртуальных машин»
    Виртуальные машины разработаны для виртуальных машин  ))))

    Ответить
    • itpro | 08.10.2013

      Ну да, как-то кривовато… немного поправил текст.

      Ответить
  3. sasha-maza | 06.12.2013

    Ребята… спасите.. мне надо вирт.машинку из Hyper-V под 2008 виндой перенести в Hyper-V под 2012 (( обычный импорт не катит, как я понимаю…

    Ответить
    • itpro | 23.12.2013

      А чем нативный импорт виртуальных не устраивает? По-моему в редакциях Standard и Datacenter он работает на ура.
      Или вы в обоихслучаях используете бесплатный сервер Hyper-V?

      Ответить
      • sasha-maza | 24.12.2013

        Справился )) Оказалось все очень просто. Создал новую машину на 2012, Gen 1 и просто прицепил VHD

        Ответить
  4. djrust | 01.03.2015

    Подскажите:
    Какое количество виртуальных процессоров поддерживает windows 2003 server R2 standard?

    Есть
    windows 2012 R2 standard(Хост)
    + windows 2003 server R2 standard (виртуальная машина)
    Сервер двух-процессорный на Intel X5570

    При назначении 16 процессоров ,виртуалка видит только 8

    Говорят надо настроить NUMA(А я там чего только не ставил,все равно 8).
    Это ограничение именно на первое поколение виртуальных машин или ограничение для 2003 server.
    Или все таки можно заставить видеть все процессоры?

    Ответить
    • djrust | 01.03.2015

      на сайте ms пишут,что 1 или 2 виртуальных процессора
      Как тогда 8 получается?

      Ответить
    • itpro | 03.03.2015

      В первую очередь смотрите на ограничения гостевой ОС:
      Windows Server 2003 Standard поддерживает до 4 CPU
      Windows Server 2003 Enterprise — до 8 CPU

      Ответить
      • djrust | 03.03.2015

        Теперь поясните пожалуйста!
        Одно ядро — это один виртуальный процессор?так?
        Если ограничения гостевой ОС 4,то получается что он должен видеть только 4 процессора?У меня видит 8
        Ставил даже Enterprise и DATACENTER видит только 8

        Ответить
        • itpro | 11.03.2015

          Под логическим (виртуальным) процессором может понимается все доступные яжра физического процессора с учетом Hyper-Threading. Т.е. для сервера с двумя шестиядерными процессорами Xeon, с учетом Hyper-threading будет доступно 24 виртуальных процессора.
          В вашем примере для 2 ядерного Intel X5570 — имеется 16 виртуальных процессоров.
          Т.е. гостевая ОС (виртуальная) Win 2003 x86 standart у вас видит (работает) на 8 процессорах?

          Ответить
          • djrust | 11.03.2015

            Извините у меня был Ent(а я думал Standatd,это был — факап).
            В заблуждение меня вводил DataCenter который больше 8 не видел и не виит!

            Ответить
  5. djrust | 01.03.2015

    на сайте ms пишут,что 1 или 2 виртуальных процессора
    Как тогда 8 получается?

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.26MB/0.00173 sec