2.2. Налаштування параметрів емуляції обладнання

В середовищах віртуалізації підтримується емуляція різних віртуальних пристроїв. Ці параметри впливають на швидкодію вашого віртуального сервера та його сумісність з різними операційними системами. Кнопка Емуляція обладнання в панелі керування послугою веде на сторінку, де можна налаштувати відповідні параметри:

  • Тип прошивки
  • Драйвер диска
  • Мережевий інтерфейс

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

На обох платформах віртуалізації, що використовуються у нас (OpenStack та VMWare), доступні два типи прошивки віртуальної материнської плати — BIOS або UEFI.

BIOS — класичний тип прошивки, сумісний з будь-якими операційними системами, зокрема застарілими системами.

Недоліки:

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

UEFI — новий/сучасний тип прошивки. Загалом підтримується практично всіма розповсюдженими операційними системами, випущеними у 2010 роках.

Переваги:

  • Для всіх операційних систем: завантажувачі не потребують спеціальних процедур встановлення/відновлення, а також ніяк не пов'язані з таблицею розділів диску. В більшості випадків досить копії завантажувача на спеціальному розділі диску.
  • Для ОС сімейства Windows: використовується таблиця розділів GPT, яка дає змогу створення й використання дискових розділів, більших за 2 терабайти.

2.2.2. Драйвер диска

2.2.2.1. Для платформи OpenStack

Для платформи OpenStack доступні три дискові контролери: virtio-scsi, virtio, 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

Для платформи OpenStack доступні шєсть дискові контролерів: para_virtual, lsi_logic_sas, lsi_logic, sata, nvme, ide.

para_virtual (або Paravirtual SCSI, або PVSCSI) — найкращий контролер за критерієм швидкодії. За замовчуванням при створенні віртуальної машини встановлюється саме цей дисковий контролер. Підтримується сучасними дистрибутивами Linux та FreeBSD. Не підтримуються в інсталяційних та відновлювальних образах Windows.

lsi_logic_sas (LSI Logic SAS) — не набагато відстає за середніми показниками швидкодії від PVSCSI, але підтримується більшою кількістю операційних систем, зокрема, сімейства Windows. Оберіть цей контролер, якщо потрібно встановити ОС Windows з вашого інсталяційного образу.

lsi_logic (LSI Logic Parallel, або просто LSI Logic) — контролер з часів старих версій VMWare. Підтримується головним чином для забезпечення сумісності й не має широкого використання в наш час.

**sata** — емуляція SATA контролера. Рекомендується як найбільш сумісний з усіма сучасними ОС і досить швидкий.

**nvme** — емуляція NVMe накопичувача. Може не підтримуватись застарілими ОС.

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

2.2.3. Мережеві драйвери

2.2.3.1. Для платформи OpenStack

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

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

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

2.2.3.2. Для платформи VMWare

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

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

vmxnet2 — контролер з часів старих версій VMWare. Підтримується головним чином для забезпечення сумісності й не має широкого використання в наш час. Не рекомендується до використання.

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