Домашня » як » Як налаштувати диски для завантажувальних пристроїв мережі за допомогою PXE

    Як налаштувати диски для завантажувальних пристроїв мережі за допомогою PXE

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

    Примітка: ця стаття не орієнтована на початківців, хоча ви можете продовжувати читати!

    Зображення Стіва Jurvetson

    Огляд

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

    Як згадувалося в посібнику Ubuntu LiveCD "Як завантажувати мережу (PXE), якщо ви ще не використовуєте Ubuntu як номер один" перейти до "для усунення несправностей, інструментів діагностики та порятунку, що ви чекаєте?

    При цьому слід визнати, що є речі, які просто не можуть бути зроблені в Ubuntu LiveCD (наприклад, оновлення BIOS), або що ви вже використовуєте інший інструмент, який вам подобається, і воліли б продовжувати використовувати з будь-якої причини.

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

    • Передбачається, що ви вже налаштували сервер FOG, як описано в нашому посібнику "Що таке мережеве завантаження (PXE) і як його використовувати?".
    • Ви побачите, що програма "VIM" використовується як редактор, це головним чином тому, що вона широко доступна на платформах Linux. Ви можете використовувати будь-який інший редактор, який хочете.
    • В якості прикладу використовується Ultimate Boot CD (UBCD), який, на відміну від деяких інших колекцій утиліти, можна завантажити безкоштовно, а програми, які він містить, можуть вільно використовувати.

    Чому б не просто використовувати ISO над PXE?

    Часто це перше запитання, коли мова йде про PXEing. Коротка відповідь полягає в тому, що хоча технічно можливо взяти образ ISO і PXE до клієнтських машин, майже завжди зміст зазначеного ISO, буде очікувати, що фізичний прояв себе доступний у фізичному приводі CDROM. Тому, який вміст згаданого ISO може бути, він намагатиметься шукати файли "поштового завантажувального сектора" на фізичному диску CDROM клієнтської машини, не знайде їх і збій завантажувати.

    Два шляхи подолання цієї проблеми:

    • Записуємо ISO і ставимо його в привід CDROM клієнтської машини - Хоча просто, Ні використовуючи компакт-диски, саме це ми намагаємося уникнути…
    • Відкрийте ISO і змініть спосіб роботи програми в ньому, щоб він використовував CD-ROM водій що знає, як шукати ISO в ОЗУ - Досить складний, і відрізняється для кожного типу завантажувальної програми. I.E. Не одна і та ж процедура для Linux, WinPE або UBCD, щоб згадати декілька.

    Оскільки обидва перераховані вище поразки від мети "просто використовувати ISO", саме тому ми не рекомендуємо проводити цю діяльність.

    Метод ядра

    Хоча дуже рідко, інколи програмі, яку ви намагаєтеся завантажити, знадобиться лише ядро ​​для функціонування. Типовим прикладом цього є “memtest86 +”. Memtest поставляється в комплекті з більшістю інсталяційних компакт-дисків Linux і з FOG. Оскільки Memtest потребує лише можливості спілкування з основними можливостями апаратного тестування, I.E. пам'яті (RAM), і може працювати просто відмінно, навіть не повністю підтримуючи апаратне забезпечення, на якому він працює (IE це перевірить пам'ять, навіть якщо він не знає, що це тип, швидкість і т.д. ') і може працювати повністю автономно.

    Пункт меню PXE для memtest може виглядати так само просто:

    LABEL Запустіть Memtest86+
    туман ядра / memtest / memtest
    додати -

    У цьому прикладі "LABEL Run Memtest86 +" встановлює ім'я запису, "ядро fog / memtest / memtest" повідомляє PXElinux, куди взяти ядро, яке буде надіслано клієнту, і "append -" повідомляє PXElinux про ігнорування додаткові параметри завантаження з * успадкування.

    * Примітка: залежно від налаштувань, це може навіть не знадобитися і фактично в FOG не використовується.

    Метод ядра + Initrd

    Цей метод є найпоширенішим і широко поширеним з декількох причин:

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

    Дозволяє використовувати утиліту CPUstress UBCD як приклад.

    У структурі файлів UBCD ця утиліта розташована в каталозі “ubcd / boot / cpustress”. Файли, які ми шукаємо, називаються "bzImage", що є "ядром", і "initrd.gz", що є "початковим диском". Якщо ви використовуєте налаштування FOG, ми створили, рекомендуємо скопіювати каталог у розділі "/ tftpboot / howtogeek / utils". Після цього відредагуйте файл "/tftpboot/howtogeek/menus/utils.cfg" і додайте до нього запис завантаження, знайдений в пунктах меню UBCD. це можна знайти у розділі “ubcd / menus / syslinux / cpu.cfg”. З налаштуваннями для налаштування FOG пункт меню повинен виглядати так:

    МЕНЮ-ЕТИКЕТ StressCPU V2.0 (вимагає CPU з SSE)
    TEXT HELP
    Випробовуйте процесор, щоб переконатися, що у вас немає перегріву
    проблеми. Потрібні SSE-оснащені процесори x86. Виконує спеціальну версію
    Gromacs innerloops, що змішує SSE і звичайні інструкції з монтажу до тепла
    процесору максимально.
    ENDTEXT
    KERNEL howtogeek / utils / cpustress / bzImage
    INITRD howtogeek / utils / cpustress / initrd.gz
    APPEND root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2

    Де:

    • LABEL МЕНЮ - встановлює назву запису
    • TEXT HELP - Ця необов'язкова директива, надає довідковий текст, який буде показано в меню для надання інформації про вибраний запис.
    • KERNEL - Вказує розташування файлу "kernel" у каталозі TFTPD.
    • INITRD - те ж, що й вище, тільки для файлу “initrd”.
    • APPEND - Вказує додаткові параметри, які повинні бути передані завантаженій програмі.

    Кілька речей, які варто відзначити:

    • Hardcore geeks помітить, що ми замінили оригінальну директиву “LINUX” на “KERNEL”. Це пояснюється тим, що: А. це робить приклад легшим для читання. B. У цьому прикладі це не має значення.
      З урахуванням цього, як правило, коли використовується директива "LINUX", краще залишити її таким чином, оскільки вона говорить pxelinux / syslinux, що ми не використовуємо тільки ядро, а одне Linux.
    • Ми навмисно взяли “тиху” директиву з прикладених параметрів. Це пов'язано зі зміною того, як Syslinux обробляє "тихий" параметр у останніх версіях.
    • Можна змінити роботу програми «StressCPU», просто змінивши доданий параметр «ubcdcmd». Тому для того, щоб використовувати інші функції, потрібно лише скопіювати запис і замінити "stresscpu2" на: cpuinfo, cpuburn або mprime24.

    Хоча це дуже простий приклад, він повинен бути достатнім для того, щоб ви йшли.

    Метод Kernel + Initrd + NFS

    Цей метод є тим, який ми використовували в посібнику Ubuntu LiveCD "Як мережеве завантаження (PXE)". Цей метод грунтується на попередньому і використовує той факт, що деякі дистрибутиви Linux підтримують свою кореневу файлову систему, встановлену з NFS. Керівництво Ubuntu є чудовим прикладом, але будьте впевнені, що ми вже маємо ще один, запланований на найближче майбутнє. "Відкривайте очі для чорного гриба".

    Метод MEMDISK

    MEMDISK - це утиліта, яка поширюється з пакетом Syslinux. Мета цієї утиліти - дозволити вам емулювати «диск» (в основному посилаючись на дискети), використовуючи його зображення. Як ця утиліта працює, це підключення до місця розташування в ОЗУ, яке вказує, як спілкуватися з дисководом дискети (A.K.A. Обробник переривання) і вказує на нове місце, яке обробляється програмою MEMDISK. За допомогою цього методу "ядро" є утилітою MEMDISK, а файл "initrd" є файлом дискети (.img).

    Зауважимо, що FOG поставляється з версією “memdisk”, сумісної з версією pxelinux.0, яку він використовує. Тому рекомендується не копіювати файл “memdisk”, що додається до файлу “img”, з їхнього джерела.

    Оскільки цей метод вже дико використовується, навіть для звичайних утиліт і BootCD, більшу частину часу це просто пошук файлу “IMG” на BootCD, копіювання його в каталог TFTPD сервера PXE і копіювання пункту меню ISOlinux в меню PXElinux.
    Вони кажуть, що «розмова дешева», так що давайте подивимося, як ми можемо адаптувати одну з утиліт, які використовують метод MEMDISK від UBCD, для роботи з PXE.

    Утиліта TestMemIV може бути знайдена у файловій структурі UBCD на “ubcd / images / testmem4.img.gz”. Оскільки у нас вже є утиліта диска memdisk, потрібно лише скопіювати файл “img” до каталогу “howtogeek / utils /”. З налаштуваннями для налаштування FOG пункт меню повинен виглядати так:

    ЕТИКЕТКА МЕНЮ TestMemIV
    TEXT HELP
    Перевіряє системну пам'ять і пам'ять на відеокартах Nvidia.
    ENDTEXT
    LINUX memdisk
    INITRD howtogeek / utils / testmem4.img.gz

    Незважаючи на те, що це приклад автономного файлу дискети з UBCD, більшість інших програм UBCD, використовуйте одне й те ж базове зображення для початку роботи (fdubcd.img.gz) і використовуйте параметр "ubcdcmd", доданий для автозапуску програми з завантажувальний диск CDROM. Це означає, що ви не зможете перетворити більшість своїх утиліт, щоб бути завантажуваними в мережу, не маючи великої зворотної інженерії. Хоча таке зворотне проектування можливе (як це можна побачити тут) і є відмінним вправою виродка, це виходить за рамки цього посібника..

    З урахуванням вище сказаного, тепер у вас є інструменти для виконання цієї процедури для цієї езотеричної OEM діагностики або утиліти оновлення BIOS.


    І так, замкнувшись за воротами крові і минувши Зал Вогню, доблесть чекає, щоб Герой Світла пробудився ...