2.2. Настройка параметров эмуляции оборудования

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

  • Тип прошивки
  • Дисковый контроллер
  • Сетевой интерфейс

2.2.1. Тип прошивки

На обеих используемых у нас платформах виртуализации (OpenStack и VMWare) доступны два типа прошивки виртуальной материнськой платы — BIOS и UEFI.

BIOS — классический/устаревающий тип прошивки, совместимый с любыми операционными системами, в частности устаревшими.

Недостатки:

  • Для всех операционных систем: загрузчики требуют специальных, весьма сложных процедур установки в определённую область диска (MBR — главная загрузочная запись), и соответственно, не менее сложных процедур восстановления в тех случаях, когда загрузка ОС ломается. При этих манипуляциях всегда подвергается риску таблица разделов диска.
  • Для ОС семейства Windows: не поддерживается использование таблицы разделов GPT. По этой причине вы не сможете создать дисковый раздел размером более 2 терабайт.

UEFI — новый/современный тип прошивки. В целом поддерживается практически всеми распространёнными операционными системами, выпущенными в 2010 годах.

Преимущества:

  • Для всех операционных систем: загрузчики не требуют специальных процедур установки/восстановления, а также никак не связаны с таблицей разделов диска. В большинстве случаев для работы загрузчика достаточно наличия его файлов на специальном разделе диска.
  • Для ОС семейства Windows: используется таблица разделов GPT, которая даёт возможность создавать и использовать дисковые разделы размером более 2 терабайт.
  • Для ОС семейства Windows в среде OpenStack: при работе с VNC/noVNC-консолью доступны бо́льшие разрешения экрана.

2.2.2. Дисковые контроллеры

2.2.2.1. OpenStack

Для платформы OpenStack доступны три дисковых контролера: virtio-scsi, virtio, ide. Для быстрого выбора драйвера рекомендуем нижеприведённую таблицу; далее приведена более подробная информация о каждом из контроллеров.

контроллер быстродействие поддержка инсталляторами Windows поддержка инсталляторами Linux поддержка инсталляторами FreeBSD
virtio-scsi оптимальное нет (все) – требует драйвер да (все) да (с версии 10)
virtio среднее нет (все) – требует драйвер да (все) да (с версии 9)
ide низкое да (не рекомендуется) да (не рекомендуется) да (не рекомендуется)

virtio-scsi — новая реализация дискового контроллера VirtIO с расширенными возможностями. По умолчанию при создании виртуальной машины устанавливается именно этот дисковый контроллер.

Virtio-SCSI поддерживается «из коробки» современными дистрибутивами Linux (практически всеми, выпущеными начиная с 2011—2012 годов) и FreeBSD, но не поддерживаются в инсталляционных и восстановительных образах Windows. Однако именно использование этого контроллера даёт максимальное быстродействие дисковой подсистемы. Поэтому, если необходимо установить на виртуальный сервер ОС семейства Windows с вашего инсталляционного образа, мы рекомендуем предварительно интегрировать драйверы VirtIO в образ при помощи утилиты NTLite. Существует также процедура перехода на VirtIO для уже установленной системы Windows, но она более сложная в исполнении.

virtio — более старая реализация дискового контроллера VirtIO. В сравнении с VirtIO-SCSI быстродействие имеет тенденцию несколько отставать.

Virtio поддерживается дистрибутивами Linux начиная с 2008—2009 годов выпуска и FreeBSD начиная с версии 8.1 (через сторонние пакеты) или 9.0 («из коробки»). Так же НЕ поддерживается в инсталляционных и восстановительных образах Windows и требует установки дополнительного драйвера для использования.

ide — эмуляция классического дискового контроллера из 90х годов прошлого века. Поддерживается абсолютно любыми операционными системами, но демонстрирует очень низкие показатели быстродействия. Рекомендуется при необходимости установки очень старых ОС (выпущенных до середины 2000х годов) или для восстановительных работ.

2.2.2.2. VMWare

Для платформы VMWare доступны шесть дисковых контроллеров: nvme, para_virtual, lsi_logic_sas, lsi_logic, sata, ide. Для быстрого выбора контроллера рекомендуем нижеприведённую таблицу; далее приведена более подробная информация о каждом из контроллеров.

контроллер быстродействие поддержка инсталляторами Windows поддержка инсталляторами Linux поддержка инсталляторами FreeBSD
nvme максимальное да (все актуальные) да (с 2012 – с версии ядра 3.3) да (с версии 10)
para_virtual высокое нет (все) – требует драйвер да (с 2009) да (с версии 13)
lsi_logic_sas высокое да да да
lsi_logic среднее да (не рекомендуется) да (не рекомендуется) да (не рекомендуется)
sata среднее да да да
ide низкое да (не рекомендуется) да (не рекомендуется) да (не рекомендуется)

nvme – эмуляция NVMe-накопителя. Самый быстрый из доступных в VMWare контроллеров. При этом он будет работать и в том случае, если ваш сервер не имеет накопителей данного типа – просто быстродействие в таком случае будет стандартным для вашего типа накопителя (SSD или HDD). Может не поддерживаться устаревшими ОС (старше 2012 года, например, Windows Server 2008).

para_virtual (он же Paravirtual SCSI, он же PVSCSI) — до появления NVMe был наилучшим с точки зрения быстродействия. Поддерживается современными дистрибутивами Linux и FreeBSD включительно с инсталляторами. Не поддерживается в инсталляционных и восстановительных образах Windows, т.к. требует установки стороннего драйвера, который доступен в составе пакета vmware-tools, необходимого для нормальной эксплуатации Windows-систем в среде VMWare.

lsi_logic_sas (LSI Logic SAS) — несколько (ненамного) отстаёт по средним показателям быстродействия от PVSCSI, но широко поддерживается разнообразными операционными системами (в частности, семейства Windows).

lsi_logic (LSI Logic Parallel, или просто LSI Logic) — контроллер из более старых версий VMWare. Поддерживается для обеспечения совместимости, вышел из широкого употребления и не рекомендуется к использованию с современными операционными системами. Быстродействие довольно заметно отстаёт от современной реализации LSI Logic SAS.

sata — эмуляция SATA контроллера. Наиболее универсальный в плане совместимости со всеми современными ОС. Быстродействие среднее.

ide — эмуляция классического дискового контроллера из 90х годов прошлого века. Поддерживается абсолютно любыми операционными системами, но демонстрирует очень низкие показатели быстродействия. Рекомендуется только при необходимости установки очень старых ОС (выпущенных до середины 2000х годов) или для восстановительных работ.

2.2.3. Сетевые контроллеры

2.2.3.1. OpenStack

Для платформы OpenStack доступны три сетевых контроллера: virtio, rtl8139, e1000.

virtio — наилучший с точки зрения быстродействия и стабильности сетевой контроллер. Поддерживается «из коробки» современными дистрибутивами Linux (практически всеми, выпущеными начиная с 2011—2012 годов) и FreeBSD (начиная с версии 8.1 — через сторонние пакеты, с версии 9.0 — «из коробки»). В ОС семейства Windows поддерживаются через установку сторонних драйверов VirtIO. Рекомендуется использовать именно этот контроллер.

rtl8139 и e1000 — эмуляция очень распространённых сетевых контроллеров соответственно от Realtek и Intel. Поддерживаются практически всеми операциоными системами уже очень долгое время. e1000 — более новый контроллер, приобрёл широкое распространение в начале 2000х годов (приблизительно во времена Windows Server 2003; в Linux поддерживается начиная с версии ядра 2.4.19). Realtek RTL8139 — более старый, соответственно, поддерживается ещё более старыми операционными системами. С точки зрения быстродействия из этих двух контроллеров предпочтителен e1000 (Intel).

2.2.3.2. VMWare

Для платформы VMWare доступны четыре сетевых контроллера: vmxnet3, vmxnet2, e1000e, e1000.

vmxnet3 — наилучший с точки зрения быстродействия и стабильности сетевой контроллер. Поддерживается современными дистрибутивами Linux. В ОС семейства Windows поддерживаются через установку сторонних драйверов. Рекомендуется использовать именно этот контроллер.

vmxnet2 — к настоящему времени вышел из употребления и поддерживается исключительно для обеспечения совместимости со старыми версиями VMWare.

e1000 и e1000e — эмуляция распространённых сетевых контроллеров производства Intel (из них e1000e — более поздний и демонстрирует лучшие показатели быстродействия). Поддерживаются практически всеми операционными системами с начала 2000х годов. Рекомендуются для устаревших ОС либо в тех случаях, когда необходимо иметь доступ к сети в процессе установки ОС, не имеющей поддержки VMXNet. Однако если есть возможность установить драйверы VMXNet3 — следует их установить и переключиться на VMXNet3.