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. Для швидкого вибору контролера рекомендуємо наведену нижче таблицю; далі наведено докладніші відомості про кожен контролер.
| контролер | продуктивність | підтримка інсталяторами Windows | підтримка інсталяторами Linux | підтримка інсталяторами FreeBSD |
|---|---|---|---|---|
| virtio-scsi | швидкий | ні (всі) – потребує драйвер | так (всі) | так (від версії 10) |
| virtio | середній | ні (всі) – потребує драйвер | так (всі) | так (від версії 9) |
| ide | повільний | так (не рекомендується) | так (не рекомендується) | так (не рекомендується) |
virtio-scsi — нова реалізація дискового контролеру VirtIO з розширеними можливостями. За замовчуванням при створенні віртуальної машини встановлюється саме цей дисковий контролер.
Virtio-SCSI підтримується «з коробки» сучасними дистрибутивами Linux (практично всіма, випущеними починаючи з 2011—2012 років) та FreeBSD (від версії 10), але НЕ підтримуються в інсталяційних та відновлювальних образах 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) – за продуктивністю більш-менш на рівні para_virtual (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 (випущеними починаючи приблизно з 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 підтримуються через встановлення сторонніх драйверів, що доступні в складі пакету vmware-tools, необхідного для нормальної експлуатації Windows-систем в середовищі VMWare. Рекомендується використовувати саме цей контролер.
vmxnet2 — контролер з часів старих версій VMWare. Підтримується для забезпечення сумісності й не має широкого використання в наш час. Не рекомендується до використання з сучасними операційними системами.
e1000 та e1000e — емуляція розповсюджених мережевих контролерів виробництва Intel (з них e1000e — більш пізній і кращий за швидкодією). Підтримуються практично всіма операційними системами дуже довгий час (з початку 2000х років). Рекомендуються для застарілих ОС або в тих випадках, коли потрібно мати доступ до мережі при встановленні ОС, що не має підтримки VMXNet. Однак якщо є можливість встановити драйвери VMXNet3 — слід їх встановити й перемкнутися на VMXNet3.