company_banner

Второе поколение виртуальных машин в Windows Server 2012 R2

    Сегодня я хотел бы подробнее остановиться на одной из новых возможностей Hyper-V в Windows Server 2012 R2, упомянутой мною в обзорном посте, а именно, обсудить второе поколение виртуальных машин (ВМ). Тема становится особенно актуальной с доступностью RTM Windows Server 2012 R2 для подписчиков TechNet и MSDN и скорым выпуском финальной версии System Center 2012 R2


    Почему появилось второе поколение ВМ?


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

    Но помимо этого вы можете теперь создавать ВМ второго поколения. Это поколение отражает изменения, которые произошли и продолжают происходить как в архитектуре ОС, так и в аппаратном обеспечении современных компьютеров. На рубеже Windows 2000, Windows XP, Windows Server 2003 операционные системы проектировались без учета технологий виртуализации, тогда еще только набиравших обороты. Чтобы нормально запустить такие ОС внутри виртуальной машины необходимо было создать для них иллюзию запуска на физическом компьютере. Как следствие, приходилось эмулировать различное оборудование, как то: BIOS, контроллер прерываний, IDE-контроллер, стандартные порты ввода-вывода и пр. Вы легко увидите перечень эмулируемых устройств, если загляните в Device Manager на ВМ первого поколения.

    image

    Эмуляция, с одной стороны, приводит к дополнительным накладным расходам, прежде всего, к лишним тактам процессора, с другой стороны, каждое эмулируемой устройство – дополнительный довольно сложный код, потенциально расширяющий поверхность для атак.

    С течением времени ОС стали проектироваться с учетом того, что система может, или даже скорее всего будет работать в виртуальной среде. Такая ОС «знает», что запускается внутри ВМ и, как на этапе загрузки, так и в ходе своей работы, опирается на ресурсы, предоставляемые родительским разделом (хостовой ОС). Иными словами, ОС уже при старте общается с гипервизором через шину VMBus, а не рассчитывает обнаружить контроллер прерываний или чипсет определенного типа. Следовательно, для таких ОС можно отказаться от унаследованных эмулируемых устройств и повысить производительность ВМ. Действительно, в Deviсe Manager ВМ второго поколения картина будет иной.

    image


    В чем преимущества ВМ второго поколения?


    Отказ от эмуляции устаревших устройств изменяет «начинку» ВМ второго поколения. В свойствах таких ВМ вы увидите примерно следующее:

    image

    Отсюда можно выделить следующие преимущества ВМ второго поколения:
    1. Безопасная загрузка (Secure Boot) ВМ. Вместо стандартного BIOS используется firmware на основе спецификации UEFI и как часть этой спецификации поддерживается безопасная загрузка ВМ, что предотвращает возможность поражения ОС при запуске. Secure Boot может быть отключена.
    2. Загрузка с виртуального SCSI-диска или SCSI-DVD. Виртуальный IDE-контроллер вообще отсутствует в машинах второго поколения.
    3. «Горячее» изменение размера загрузочного раздела. «Горячее» добавление, а также изменение размера (в том числе, уменьшение) виртуальных SCSI-дисков возможно и для ВМ первого поколения. Но поскольку именно ВМ второго поколения умеют грузиться со SCSI, то для них вы можете изменить размер в том числе загрузочного раздела «на лету».
    4. Загрузка по сети с использованием синтетического сетевого адаптера проходит быстрее, чем при использовании Legacy Network Adapter в ВМ первого поколения.

    Таблица ниже подытоживает «аппаратные» изменения в ВМ второго поколения.
    Legacy Devices Removed Replacement Devices Enhancements
    IDE Controller Virtual SCSI Controller Boot from VHDx (64TB max size, online resize)
    IDE CD-ROM Virtual SCSI CD-ROM Hot add/remove
    Legacy BIOS UEFI firmware Secure Boot
    Legacy NIC Synthetic NIC Network boot with IPv4 & IPv6
    Floppy & DMA Controller No floppy support
    UART (COM Ports) Optional UART for debugging Faster and more reliable
    i8042 keyboard controller Software based input No emulation – reduced resources
    PS/2 keyboard Software based keyboard No emulation – reduced resources
    PS/2 mouse Software based mouse No emulation – reduced resources
    S3 video Software based video No emulation – reduced resources
    PCI Bus VMBus
    Programmable Interrupt Controller (PIC) No longer required
    Programmable Interrupt Timer (PIT) No longer required
    Super I/O device No longer required

    Возникает резонный вопрос, отличается ли скорость работы ВМ первого и второго поколений? Когда ОС загрузилась, какую-то разницу в скорости работы вы, скорее всего, не заметите. Интеграционные компоненты внутри гостевой ОС позволяют работать ВМ максимально эффективно. Но есть две ситуации, в которых разница может быть очень ощутимой – это установка гостевой ОС и загрузка ВМ. Именно на этих этапах эмуляция оборудования сказывается весьма существенно.

    В качестве иллюстрации я провел следующий эксперимент: создал две ВМ, первого и второго поколения соответственно, обеим ВМ выделил одинаковое количество оперативной памяти и виртуальных процессоров и одновременно запустил установку Windows Server 2012 R2 внутри созданных ВМ с одного и того же ISO-образа. Вот так выглядела картина в начальной фазе установки (ВМ второго поколения внизу):

    image
    image

    И вот такую разницу можно было наблюдать позже:

    image
    image

    Таким образом, при развертывании ВМ, а также при старте ВМ, что, например, особенно важно в сценариях VDI, разница в производительности ВМ второго поколения может достигать 50% и более.


    Особенности использования ВМ второго поколения


    Необходимо помнить несколько принципиальных моментов, относящихся к эксплуатации ВМ второго поколения.

    В качестве гостевых ОС в ВМ второго поколения могут использоваться только:
    • Windows Server 2012
    • Windows Server 2012 R2
    • 64-битная версия Windows 8
    • 64-битная версия Windows 8.1

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

    Вы можете создать ВМ второго поколения в консоли Hyper-V,

    image

    либо с помощью командлета PowerShell New-VM, указав ключ –Generation 2.

    При этом надо иметь в виду, что поколение указывается только на этапе создания ВМ. В дальнейшем конвертировать ВМ из одного поколения в другое невозможно как раз в силу того, что в одном случае используется BIOS, в другом – UEFI.

    Последний аспект, который хотелось бы отметить, связан с управлением. Управление хостами с Windows Server 2012 R2 возможно с помощью System Center 2012 R2 Virtual Machine Manager. В доступной сейчас preview-версии System Center 2012 R2 поддержка второго поколения ВМ отсутствует. Но в RTM-версии System Center 2012 R2 (а она уже не за горами) эта поддержка будет добавлена.

    Итак, новое поколение ВМ в Windows Server 2012 R2 лишено устаревших эмулируемых устройств, поддерживает ряд новых возможностей и обеспечивает прирост производительности, особенно на этапах установки и загрузки гостевых ОС. Применение машин второго поколения сейчас сужает перечень поддерживаемых гостевых ОС, однако для остальных систем можно по-прежнему применять ВМ первого поколения, которые прекрасно сосуществуют с ВМ второго поколения на одном хосте виртуализации.

    Дополнительную информацию о новых технологиях Windows Server 2012 R2 вы сможете найти на портале MVA в курсе “Jump Start: Все о Windows Server 2012 R2”.

    Надеюсь, материал был полезен!
    Microsoft
    779.62
    Microsoft — мировой лидер в области ПО и ИТ-услуг
    Share post

    Similar posts

    Comments 13

      +2
      Поддержка Gen2 виртуалок в SC 2012 R2. Хорошие новости. Спасибо!
        0
        Del
        0
        Скажу от себя то же спасибо. В частности и за замечательные курсы.

        Второй момент, на сколько будет проблемно переползти на R2 с 2012?
        На текущий момент мы уже разворачиваем системы на 2012, так как образ еще не появился (хотя ключи уже доступны)

        Спрашиваю так, так как я больше linux системный администратор, хотя теперь приходится изучать и windows :]
        • UFO just landed and posted this here
            +4
            Вы знаете у меня на этот счет очень сложное свое мнение которое может не совпасть с вашим :)
            Если коротко то:

            Мне все равно что администрировать. Если вам платить деньги и хорошие (а если еще и интересно) можно иногда заглядывать на другую сторону. Этот расширяет ваш кругозор и поднимает вашу квалификацию как минимум до опытного инженер интегратора — а там и до архитектора.
            Надо четко понимать, что для вашей компании/организации будет более выгодно.
            • UFO just landed and posted this here
            +2
            С Windows Server 2012 на Windows Server 2012 R2 должно все переползти безболезненно. Я проделал процедуру in-place upgrade на нескольких серверах, все прошло без проблем. А вообще поддерживаемые варианты перечислены здесь в разделе «Supported upgrade paths»
              0
              Спасибо почитаю.
            0
            Скоро появится поддержка в Linux?
              0
              Пока не могу сказать, нет информации.
                0
                Жаль, думал идёт активная разработка, так как драйвер клавиатуры недавно появился.
              0
              Александр — скажите, а вы сами курсы ведёте? Если да, то можно где то посмотреть график.
              Если нет, то жаль. Ждем онлайн семинаров.
                0
                Редко, но бывает. Здесь расписание мероприятий IT Camps. Все мероприятия в Питере веду я. А так да, в основном online.

              Only users with full accounts can post comments. Log in, please.