Table of Contents

Мережеве завантаження (PXE)

В нашому датацентрі для фізичних серверів доступне мережеве завантаження за протоколом PXE. Можна інсталювати таким чином операційні системи або виконувати відновлювальні роботи. Пропонується такий набір розповсюджених серверних операційних систем:

PXE-завантаження доступне як в режмиі BIOS (Legacy), так і в режимі UEFI (за умови підтримки UEFI апаратною частиною сервера).

Зауважте, що в нашому датацентрі PXE функціонує тільки в мережевому стеку IPv4. Параметри мережі отримуються по DHCP на локальних (LAN, «cірих») IP-адресах. Після того, як завантаження відбулося, ви за потреби можете налаштувати вручну публічні (WAN, «білі») адреси, закріплені за вашою послугою, і вони при цьому будуть працювати паралельно з LAN-адресами.

Ввімкнення PXE-завантаження

Для ввімкнення завантаження по PXE потрібно виконати налаштування в двох місцях:

1) в панелі керування послугою ввімкнення та вимкнення PXE-завантаження доступне за кнопкою PXE. Воно не має додаткових налаштувань і автоматично вимкнеться за тиждень, якщо не вимкнути його вручну.

2) в налаштуваннях BIOS/UEFI фізичного сервера.

Далі в окремих статтях наведено процедури налаштування для різних апаратних платформ, які надаються в оренду в нашому датацентрі – Supermicro X11, X10, X9 та X8. Зауважте, що платформа X8 не мала підтримки режиму UEFI.

Як визначити апаратну платформу сервера?

Визначити апаратну платформу сервера можна за моделлю материнської плати.

Для материнських плат SuperMicro, які фактичним стандартом де факто для наших серверів, маркування моделі завжди починається з платформи (X11, X10, X9, тощо). Наприклад, материнська плата X9DRi-LN4+ належить до платформи X9.

Для материнських плат ASRock потрібно: 1) дізнатися, на якому чіпсеті побудована модель материнської плати; 2) дізнатися, до якої платформи належать аналогічні плати SuperMicro на даному чіпсеті – всі налаштування у них будуть аналогічні. Наприклад, материнська плата ASRock EP2C621D16-4LP базується на чіпсеті Intel C621, і на ньому ж базується лінійка материнських плат SuperMicro X11 – отже, для цієї материнської плати ASRock налаштування виконуються за процедурою для платформи X11.

Як визначити модель материнської плати?

1) Зсередини вашої операційної системи: в Windows модель материнської плати відображується в Диспетчері пристроїв, в Linux та BSD-системах найбільш стандартною утилітою для цієї задачі є dmidecode — однак існують і інші, наприклад lshw в Linux-системах.

2) В IPMI-інтерфейсі вашого сервера (куди вам так чи інакше знадобиться зайти, щоб виконати налаштування материнської плати для PXE-завантаження).

У незрозумілих ситуаціях завжди можна звернутися до нашої технічної підтримки.

Особливості роботи операційних систем при PXE-завантаженні

Windows

При інсталяції Windows з фізичних носіїв (DVD/USB) або їхніх образів (підключених через відповідний функціонал IPMI) запуск інсталятора ОС відбувається автоматично, а для того, щоб потрапити в середовище Windows PE (в якому відбувається виконання інсталятора), треба натиснути певну клавішу. При завантаженні з PXE все навпаки – спочатку завантажується середовище Windows PE (Windows Preboot Environment), а вже з нього потрібно запустити виконання інсталятора.

В нашому датацентрі при PXE-завантаженні Windows PE для зручності автоматично запускає скрипт, що дозволяє обрати й запустити інсталятор потрібної версії Windows з інтерактивного меню. Якщо є потреба скористатися командним рядком Windows, запущений скрипт інтерактивного меню можна перервати натисканням комбінації клавіш Ctrl+C. За потреби запустити скрипт вибору інсталятора знову – потрібно ввести в командному рядку команду winsetup.cmd (про що там є підказка).

Також при PXE-завантаженні середовище Windows PE автоматично монтує мережевий диск W:, на якому, крім інсталяторів Windows, доступна директорія drivers, де містяться добірка драйверів обладнання, що використовується в серверах, які наш датацентр надає в оренду. Зауважте, що інсталятор Windows не завжди підвантажує зовнішні драйвери – зокрема, в тих випадках, коли вони випущені для старіших версій Windows. В тих випадках, якщо драйвер необхідний для інсталяції Windows (наприклад, драйвер RAID-контролера, який є єдиним накопичувачем у сервері), але інсталятор з певних причин його не підвантажує, рекомендованим методом буде інтеграція драйверу в інсталяційний образ (наприклад, за допомогою програми nLite) й інсталяція з цього образу.

Також при необхідності пересвідчитися, що сервер завантажено в потрібному режимі (UEFI чи BIOS), для зручності в Windows PE доступна команда chkuefi.cmd.

В нашому датацентрі використовується немодифікований вміст інсталяційних образів Windows з MSDN. Таким чином, після інсталяції ви отримуєте НЕАКТИВОВАНУ копію Windows з усіма обмеженнями, що застосовуються для неактивованих копій.

Linux

Деякі інсталятори Linux розраховані на те, що в процесі інсталяції вони завантажують останні актуальні версії всіх пакетів з репозиторіїв в інтернеті (тобто на інсталяційному образі їх взагалі нема). Такі інсталятори можуть називатися Boot ISO (CentOS), Netboot (Debian), тощо, і також до цієї категорії відноситься інсталятор Ubuntu Server починаючи з версії 20.04 (Focal Fossa).

Зауважте, що для коректної роботи таких інсталяторів вам необхідно в процесі інсталяції налаштувати публічну («білу») IP-адресу на вашому сервері, інакше завантаження пакетів з інтернету не працюватиме. Підказки про необхідність налаштування публічних IP для певних інсталяторів є в меню вибору інсталяторів.

У тих випадках, коли налаштування публічного IP в процесі інсталяції з різних причин неможливо, користуйтесь інсталяторами, які є образами CD/DVD дисків (це також зазначено в меню вибору інсталяторів).

mfsBSD (спеціальна збірка FreeBSD)

mfsBSD – це мінімалістична збірка FreeBSD, розрахована зокрема на коректну роботу за протоколом PXE, позаяк підтримка PXE в офіційних образах FreeBSD має ряд суттєвих обмежень, що роблять їх використання для PXE-завантаження винятково проблемним.

Після завантаження mfsBSD використовуйте для авторизації логін root i пароль mfsroot (нагадування про це є в меню вибору інсталяторів).

Щоб запустити утиліту інсталяції FreeBSD, виконайте команду bsdinstall. В процесі інсталяції пересвідчіться, що ви інсталюєте систему на фізичний диск сервера, а не на RAM-диск, що створюється в оперативній пам'яті при завантаженні mfsBSD.

Образ mfsBSD, що використовується в нашому датацентрі, також містить файли base.txz та kernel.txz від звичайного (офіційного) інсталятора.

Також зауважте, що підтримка режиму UEFI при використанні мережевого PXE-завантаження з'явилася у FreeBSD/mfsBSD починаючи від релізу 13.1. Якщо вам з якихось причин необхідно скористатися старішими релізами – PXE-завантаження в режимі UEFI для них технічно неможливе.

Чи будь-який інсталяційний образ може завантажуватись за протоколом PXE?

Коротка відповідь: НІ, не будь-який.

Розгорнута відповідь: для того, щоб інсталяційний образ успішно функціонував при завантаженні за протоколом PXE, він повинен містити підтримку такого способу завантаження. Цей функціонал – зона відповідальності розробників ОС, що збирають інсталяційні образи, і якщо такого функціоналу там нема – то ми ніяким чином не можемо його додати.

Будь-який образ технічно можливо з використанням протоколу PXE завантажити в оперативну пам'ять як RAM-диск. Однак якщо образ було створено з розрахунком на використання саме як блочного пристою певного типу (CD/DVD/USB), то його функціонування зупиниться на невдалій спробі змонтувати блочний пристрій.

Це ж стосується підтримки режиму UEFI при PXE-завантаженні. В деяких образах її нема, хоча при цьому може бути наявною підтримка режиму UEFI для блочних пристроїв. В такій ситуації інсталяція системи має відбуватися з блочного пристрою.

Як перевірити, що сервер завантажено в потрібному режимі (UEFI чи BIOS)?

В деяких ситуаціях можуть виникати сумніви щодо того, в якому саме режимі – BIOS чи UEFI – завантажено сервер. Тут ми наводимо способи перевірки для різних операційних систем.

Windows

Запустіть командний рядок (cmd).

В командному рядку виконайте:

reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType

Якщо у відповідь команда поверне значення 0x1 – система завантажена в режимі BIOS, якщо 0x2 – система завантажена в режимі UEFI.

В нашому датацентрі Windows PE має скрипт chkuefi.cmd, що звільняє вас від необхідності ручного введення довгої команди.

Linux

Перевірте наявність директорії /sys/firmware/efi. Якщо така директорія існує – система завантажена в режимі UEFI, якщо ні – відповідно, в режимі BIOS.

FreeBSD

Виконайте команду

sysctl machdep.bootmethod

Команда повертає значення UEFI для режиму UEFI й BIOS для режиму BIOS.__