Що таке мережеве завантаження (PXE) і як його використовувати?

Вам коли-небудь доводилося усувати неполадки або діагностувати проблемний комп'ютер, і ви забули, де знаходиться компакт-диск з утилітою? Ми покажемо вам, як використовувати мережеве завантаження (PXE) з FOG, щоб ця проблема пішла в минуле.

Зображення h.koppdelaney

Огляд PXE

PXE (Pre eXecution Environment), ласкаво вимовляється Pixie (як у казковому пилу), це метод завантаження кінцевого комп'ютера (клієнта) з використанням тільки його мережевої карти. Цей метод завантаження був створений ще в 1999 році, і, поки комп'ютер підключений до мережі (і підтримує цей стандарт), можна обійти звичайну процедуру завантаження (IE Power on - > BIOS - > HD/Компакт-диск) і зробіть деякі витончені речі, починаючи з пошуку несправностей, закінчуючи використанням lceOS і навіть перезаписуючи комп'ютер.... але ми випереджаємо себе, давайте повернемося до початку.

При використанні PXE процес завантаження змінюється зі звичайного порядку на:

Включення - > BIOS - > PXE-стек мережевої карти - > Мережеве завантаження (NBP), завантажене за допомогою TFTP з сервера в оперативну пам'ять клієнта - > Відповідальність за виконання наступного кроку (також званого завантаженням 2-го етапу).

Використовуючи NBP «PXElinux», ви можете налаштувати сервер для більш ніж однієї завантажувальної програми PXE для наших клієнтів. У певному сенсі, це секретний компонент, який дозволяє нам виконувати все перераховане вище, а потім і деякі. Для більш докладного пояснення всього процесу, його історії та деяких опцій інфраструктури, які він і gPXE (який є більш розвиненим кузеном), дивіться цю лекцію на YouTube від їх розробників. Крім того, нижче наведено відео установки 2008 року, в якій швидко розглядаються деякі можливості завантаження.


Примітка. У цьому відео застарілий проект UDA використовується як основа для сервера, а анотації були спрямовані на те, щоб пояснити другу (в той час) останні додавання, зроблені в нього.

Мета

Це керівництво буде першим із серії посібників про PXEing. У цьому керівництві ми закладемо основи, на яких ґрунтуватимемося в майбутніх статтях.

Рекомендації, припущення та передумови

  • Клієнтський комп'ютер, з яким ви тестуєте, підтримує завантаження PXE, і ви знаєте, як його увімкнути.
  • Це керівництво було написано і протестовано з використанням Debian Squeeze, Ubuntu server 9.10 і Linux Mint10. Тому передбачається, що у вас також є система на основі Debian для роботи.
  • Можливо, ви захочете подивитися на «Як налаштувати програмний RAID для простого файлового сервера» і «Як налаштувати агрегацію мережевих посилань (802.3ad)», тому що вимоги до пропускної здатності диска і мережі для цього типу серверів можуть бути дуже високими і дуже швидкими. Рекомендується використовувати основу сервера з високою відмовою для його мережевої та дискової підсистем.
  • Ви побачите, що я використовую VIM в якості програми-редактора, просто тому, що я до цього звик... ви можете використовувати будь-який інший редактор, який вам подобається.

Установка - Підняття тяжкостей за допомогою FOG

FOG - це безкоштовне рішення для клонування комп'ютерів з відкритим вихідним кодом, створене * Chuck Syperski і Jian Zhang. FOG використовує регулярно доступне програмне забезпечення (наприклад, Apache, MySQL і tftpd-hpa) і упаковує їх в безкоштовне і продуктивне рішення для управління життєвим циклом ПК (PCLM). Використовуючи цю безкоштовну PCLM, можна створювати резервні копії стану комп'ютерів, створюючи їх зображення, розгортати програми і налаштування (IE Firefox, Office, принтери тощо) І політики конфігурації (налаштування автоматичного виходу з системи IE і заставки), а також кілька інших. Центральний веб-інтерфейс. Примітка
: інтерв'ю з Чаком і Цзянем про FOG доступно в Tightwad Tech.

Використання FOG в якості основи для вашого PXE-сервера - відмінний спосіб отримати всі необхідні компоненти, такі як TFTP і, при необхідності, DHCP на місці без необхідності встановлювати і налаштовувати їх вручну, надаючи вам всі функції FOG в якості бонусу.

Оскільки наша мета полягає в тому, щоб додати функціональність в цю і без того чудову систему, ми не будемо детально розповідати про те, як використовувати сам FOG, і про процедуру його встановлення. Вікі FOG, з їх письмовими та відео практичними рекомендаціями, досить надійні, щоб отримати докладну інформацію, якщо ви хочете розібратися в ній. Узагальнені кроки:

  • sudo mkdir -p /opt/fog-setup
    cd /opt/fog-setup
  • Завантажте останній пакунок FOG з sourceforge до каталогу, створеного на попередньому кроці.
  • Розпакуйте пакет і почніть встановлення.

sudo tar -xvzf fog*
cd fog*
cd bin
sudo./installfog.sh

  • Програма встановлення запропонує вам кілька разів:
    Для якої версії Linux ви хочете запустити установку? - 2 (знову ж таки, за умови, що використовується система на основі Debian)
    2. Який тип встановлення ви хотіли б зробити? [N] - введіте3
    . Яка IP-адреса використовуватиметься цим сервером FOG? [server-IP-виявлено-on-eth0] - введите.4
    . Чи хотіли б ви налаштувати адресу маршрутизатора для сервера DHCP? [Y/n] - введіте.5.
    Чи хотіли б ви налаштувати DNS-адресу для DHCP-сервера і завантажувального образу клієнта? [Y/n] - введіте.6. Хочете
    змінити типовий інтерфейс мережі з eth0? Якщо ви не впевнені, виберіть Ні. [Y / N] — Enter.7. Чи бажаєте
    ви використовувати сервер FOG для dhcp? [Y / n] — * Enter8. Ця
    версія FOG має підтримку інтернаціоналізації, ви хочете встановити додаткові мовні пакети? [Так/Ні] - нет.9. Ви впевнені
    , що хочете продовжити (Y/N) - Y.10. Підтвердіть
    та дотримуйтесь інструкцій на екрані для MySQL .11. Залиште
    пароль MySQL порожнім для облікового запису root.12. Хотіли
    б ви повідомити групу FOG про цю установку? - Y (рекомендується):Зображення

    з віки FOG.
  • У переглядачі перейдіть на адресу Fog і дотримуйтеся інструкцій на екрані.

* Примітка. Передбачається, що у вас немає іншого DHCP або що він не налаштований для обробки PXE. Якщо ви хочете налаштувати існуючий DHCP, див. параметри DHCP для PXE.

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

Якщо все гаразд, ви зможете запустити PXE на своїй клієнтській машині (зазвичай F12) і отримати доступ до стандартного меню FOG.
:
Зображення знято Hotfortech.

Як швидкий «смак попереду» ви можете вибрати опцію «Запустити Memtest86 +» і отримати привіт від програми Memtest, про яку ми розповіли в нашому керівництві «Діагностика апаратних проблем ПК з Ubuntu Live CD».

Структури файлів і каталогів

Як зазначалося раніше, наша мета - розширити можливості FOG, і для цього нам потрібно додати кілька файлів і каталогів.

Створіть структуру підкаталога:

sudo mkdir -p /tftpboot//menus
sudo mkdir -p /tftpboot//linux
sudo mkdir -p /tftpboot//pics
sudo mkdir -p /tftpboot//utils

Ці підкаталоги будуть бути шаблонами для всіх зображень, програм і конфігурацій, які ми будемо використовувати для розширення FOG.

Налаштування файла налаштування за замовчуванням

Ми створимо нове головне меню і помістимо всі функції FOG в своє підменю.

Скопіюйте файл налаштувань/tftpboot/pxelinux.cfg/default до файла/menus/fog.cfg.

sudo cp /tftpboot/pxelinux.cfg/default /tftpboot//menus/fog.cfg

Тепер відредагуйте вміст вихідного файлу «за замовчуванням»:

sudo vim /tftpboot/pxelinux.cfg/default

Зробіть так, щоб його вміст виглядав так:

DEFAULT vesamenu.c32
MENU TITLE FOG 0.32 + 's enhancements
MENU INCLUDE /pxelinux.cfg/master.cfg
menu color title 1;36;44 #ff8c00 #00000000 std
LABEL FOG
MENU LABEL Manual FOG
MENU DEFAULT
KERNEL vesamenu.c32
APPEND /menus/fog.cfg

LABEL Utils MENU
LABEL Utilities
KERNEL vesamenu.c32
APPEND /menus/utils.cfg

LABEL Linux
MENU LABEL Linux stuff
KERNEL vesamenu.c32
APPEND /menus/linux.cfg
LABEL fog.local
localboot 0
MENU LABEL Boot from hard disk
TEXT HELP Boot from the local hard drive. If you are unsure, select this option.
ENDTEXT
PROMPT 0 TIMEOUT 300
ONTIMEOUT fog.local

Коли ми закінчимо, ця конфігурація надасть вам 3 підменю: «Utilities», «Manual FOGing», «Linux stuff».

Створіть «головний» файл

Головний файл дозволяє нам вносити глобальні зміни у вигляд меню, не вводячи їх повторно окремо знову і знову. Такі речі, як типове фонове зображення, стиль рамки, положення Etc ", будуть об'єднані в цьому файлі master.cfg.

Створіть файл:

sudo vim /tftpboot/pxelinux.cfg/master.cfg

Зробити його вміст схожим на:

ФОН меню fog/genie.pngкольоровий
екран меню 37; 40 # 80fffff # 00000000 stdцвіт
межі меню 30; 44 # 9370db # 00000000 stdназвання
кольору меню 1; 36; 44 # ff8c00 # 00000000 stdцвіт
меню unsel 37; 44 # fffffff # 00000000 stdцвіт
меню гаряча клавіша 1; 37; 44 # fffffff # 00000000 stdцвіт
меню sel 7; 37; 40 # 4eee94 # 9370db цілком
меню hotsel 1; 7; 37; 40 # e0400000 # 20ff8000 Колір
меню вимкнено 1; 30; 44 # 60ccccc # 00000000 stdкольорова
смуга прокрутки меню 30; 44 # 40000000 # 00000000 stdцвіт
меню tabmsg 31; 40 # 90ffff00 # 00000000 stdцвіт
меню cmdmark 1; 36; 40 # c000fff # 00000000 stdцвіт
меню cmdline 37; 40 # c0fffff # 00000000 stdцвіт
меню pwdborder 30; 47 # 80fffff # 20fffff stdцвіт
меню pwdheader 31; 47 # 80ff8080 # 20fffff stdцвіт
меню pwdentry 30; 47 # 80fffff # 20ffffff stdцвіт меню
timeout_msg 37; 40 # 80fffff # 00000000 std
тайм-аут кольору меню 1; 37; 40 # c0fffff # 00000000 stdдовідка
за кольором меню 37; 40 # c0fffff # 00000000 stdцвіт
меню msg07 37; 40 # 90ffffff # 00000000 std

МЕНЮ МАРГІНА 0
ПАРОЛЬ меню меню меню 3Рядки меню
15
MENU TABMSGROW 21
МЕНЮ CMDLINEROW 20
ПАРОЛЬ МЕНЮ 11
ВРЕМЯ У МЕНЮ 20
МЕНЮ HSHIFT 0
МЕНЮ VSHIFT 0

Наведена вище конфігурація створить фіолетові межі і підсвічування, якщо ви хочете змінити вигляд, просто змініть значення.
Щоб встановити фонове зображення, помістіть зображення в каталог «/tftproot »і вкажіть« MENU BACKGROUND »на відносний шлях зображення (ми рекомендуємо використовувати зображення з роздільною здатністю 640 * 480). Наприклад, повний шлях для вищезгаданої сконфігурованої картинки буде: « /tftproot/fog/bg.png «.

З'єднайте підменю FOG до головного меню

Оскільки ми зробили просту копію вихідного файла налаштування в підкаталозі меню (зберігаючи його колірну схему, час очікування тощо не зможе повернутися в головне меню без перезавантаження машини.

Тому відредагуйте файл/tftpboot//menus/fog.cfg:

sudo vim /tftpboot//menus/fog.cfg

Додайте цей запис після запису «заголовок кольору меню» і перед функціями FOG:

LABEL back
MENU LABEL..
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

Створіть скелети підменю

Ми створили 4 підменю, три з яких повинні заповнити. Для цього давайте створимо шаблон, на якому ми будемо будувати.

Створіть файл шаблону:

sudo vim /tftpboot//menus/template.cfg

Зробіть це своїм змістом:

MENU INCLUDE /pxelinux.cfg/master.cfg
#MENU BACKGROUND /pics/fog-sub.jpg
LABEL back MENU LABEL..
KERNEL vesamenu.c32
APPEND pxelinux.cfg/default

Надає вам змогу встановити основу для додаткових підменю, які буде розглянуто у майбутніх підручниках:

cd /tftpboot//menus/
sudo cp template.cfg./utils.cfg
sudo cp template.cfg./linux.cfg

Ось і все, базова схема вже готова, і тепер нам потрібно тільки спиратися на неї, що ми і зробимо в майбутніх керівництвах. До тих пір, поки не з'являться ці майбутні гіди, вам рекомендується ознайомитися з FOG, оскільки це захоплююча поїздка на себе.

Оновлення: майбутнє тут 🙂

Як завантажити за мережею (PXE) LceCD UbuntuЯк
завантажити аварійний компакт-диск BitDefender (PXE)
Як налаштувати мережеві завантажувальні диски за допомогою PXE

Йди сам: