PXE зареждане

PXE зареждане

В този кратък пост ще ви кажа за практическите примери, без твърди устройства чрез PXE. Нека просто кажем, че до определен момент, аз не се интересува от този въпрос и за PXE имаше много посредствен спектакъл, а може би и харесва най-много. Т.е. Всички ние знаем, че в днешните компютри имат възможност да стартира през мрежата, всеки вижда в BIOS собствен компютър тази възможност (PXE Boot, LAN Boot), но много малко хора го използват на практика. Реализация на тази възможност, ние ще направим на практика, както и помислете за практическо приложение в "дома" може да има мрежа багажника.







Нашата "изпитателна лаборатория" включва:

  • Път Mikrotik 951G-2HnD с RouterOS v6.39 (стабилна)
  • Network Storage Western Digital My Cloud EX2

За изпълнение на PXE зареждане не е задължително наличието на такива устройства, т.е. В действителност, ние се нуждаем DHCP сървър, TFTP сървър, NFS и / или HTTP за организацията на съхранение и предаване на изображения върху тежки за мрежата. Всички тези компоненти може да се инсталира например на един нормален компютър, работещ с Windows, или да се сложи една и съща Ubuntu на отделна машина в локалната мрежа и конфигуриране на всички тези услуги са там, добро ръководство на нетната достатъчно. Но след като това се случи, че ние имаме Mikrotik'ovsky рутер и NAS - на DHCP + TFTP логически функции, възложени на Mikrotik и NFS / HTTP на НСС.

PXE зареждане
PXE зареждане

Също така, ние се нуждаем от най-често срещаните USB Flash'ka, независимо от размера, който ще се постави в Mikrotik да предостави за съхранение на файловете, които ще бъдат дадени от TFTP. Ако вече имате подобна конфигурация (DHCP + TFTP + NFS + HTTP), а след това можете да започнете.

Тук ще представим начина, по който аз отидох. Първоначално бях заинтересовани да го бездискова обувка LiveCD дистрибуция Ubuntu, т.е. за всеки компютър в мрежата, с или без HDD може да се включи и да получите на екрана работещо Ubuntu, а ла седне в мрежата / четете пощата и т.н. Такова решение може да бъде удобен и в места за обществен достъп до интернет организациите, като например различни компютърни клубове, библиотеки и т.н. Плюс факта, че когато машината не разполага с HDD и заредени с едно изображение в мрежата, за да "пробие" или развали нещо случайно или умишлено - потребителите едва ли може. Т.е. След една сесия на опита на потребителите в интернет, можете просто да рестартирате компютъра си и всичко ще бъде "като нов". Но преди да се пристъпи към изпълнението на тази идея, реших да се чете "това, което те пишат в Интернет" на Ubuntu първоначално зареждане в мрежата и т.н. Членове току-що са намерени много, но конкретни работещи приложения, които описват всички нюанси на конфигурацията - това е просто не е достатъчно. За да ви на една сцена е точно същото количество знания, които имам, ето няколко връзки към статии, които аз имам интерес към:

PXE зареждане
След това изтеглете подготвената предварително архив PXE-MikroTik-disk1.rar и извличане на съдържанието му до корена на пръчката. Това може да стане както в менюто файлове в уеб-интерфейса Mikrotik'a или чрез FTP в Mikrotik, добре, или просто да поставите форматиран USB Flash към компютъра и да извлича съдържанието на основата на архива. В резултат на това, той трябва да се появи следното файлове структура (виж снимки в дясно).

Някои файлове, като kolibri.iso (изображение Колибри OS) не е в архива, защото те могат лесно да бъдат открити и изтеглени от интернет, като в архива няма да е съдържание WinPE папка (защото всички тези файлове имат всяка инсталация CD с Windows и да ги включи в архива, аз не виждам смисъл). Но от друга страна, да обсъдим по-подробно.

pxelinux.0 - е основният зареждане на ОС, които са изпратени до всички клиенти DHCP сървър натоварването на мрежата, която е част от пакета за Syslinux. Всичко, свързано с тази ОС, библиотеки, използвана от (* .c32) могат да бъдат предприети в следните опаковки:

Това, което успешно се. Може би това не е съвсем правилно да се направи "тюрлюгювеч" на зареждане от мрежата и Syslinux различни версии, но, например, завършен двоичен memdisk, използван в някои случаи, да изтеглят намерих само във всеки един от тези пакети. С багажника файлове, ядра и т.н. повече или по-малко ясно. Т.е. имате набор, който ме превърна PXE-MikroTik-disk1.rar и набор от източници, от които са направени.







ipxe.lkrn тук - това е буутлоудъра Open Source Boot Firmware iPXE. съставена от източник с поддръжка на HTTP, NFS (!) и някои други функции. Но ние ще се върнем към него по-късно, тъй като не ми казвай за това, че не може, защото на неговата обширна функционалност (в достатъчно добро само ipxe, т.е. PXELinux той изглежда не се изисква, тъй ipxe разполага с широка функционалност и удобна конфигурация, но просто така се случи, че аз първоначално започна да я персонализирате PXELinux, както и способността да изтеглите iPXE добавих само по-късно).

След като се разархивира всички файлове от архива PXE-MikroTik-disk1.rar на флаш устройство, отидете на Mikrotik в менюто IP -> TFTP и създаде следната кореспонденция в него: Req. Име на файл -> Реал Име на файл:

PXE зареждане

За удобство на всички тези правила под формата на скрипт:


Кои са те? След зареждане PXELinux на устройството, за да започне да търси допълнителни файлове и библиотеки, т.е. устройството се опитва да се свърже със сървъра на TFTP е посочено в опциите, дадени на сървър DHCP и да го помоля да, например, ldlinux.c32 файл, така че тук е сървър, TFTP трябва да знае истинската местоположението на файла, за да го изпратите, например в нашия случай, тя е в disk1 / tftpboot /ldlinux.c32. Честно казано, аз не експериментирате, можете да укажете дали мачът не е на отделни файлове и папки или файлове с маски, така че за всеки случай, правя това, което е точно за всички файлове на сървъра на TFTP. След като сте се регистрирали нашите правила, трябва да конфигурирате DHCP сървър.

Отидете в раздела IP -> DHCP сървър -> Мрежи в Mikrotik, избираме подмрежа и да направи следните настройки в нея:

PXE зареждане

В тази връзка с подготовката за изстрелването на първия свърши. Можете да вземете всеки компютър и да се опита да зареди по мрежата. За мен, най-лесното решение е да се създаде отделна виртуална машина в VirtualBox и да го настроите да зареди от мрежата. В резултат на това, ако се прави правилно, ще видите точно такова меню, което е доста PXELinux:

PXE зареждане


Самата конфигурация на това меню е в disk1 / tftpboot / Ubuntu инсталатор / amd64 / зареждане екрани / menu.cfg файла. Ако се опитаме да зареди Колибри OS например, ние отбелязваме, че прехвърлянето щеше да изглежда малък (само 66.5 Mb) kolibri.iso изображение чрез ППФТ, дори и на гигабитови мрежи ще отнеме доста дълго време:

PXE зареждане


Това се дължи на факта, че протоколът за ППФТ не е проектиран да прехвърля големи файлове, и в тази връзка работи изключително бавно (плюс, както знаете, USB порт Mikrotik'e и високоскоростен USB флаш устройство не е), така че се държи на тази игра, която -Това тежки изображения, например една и съща Hirens Boot CD, което отнема

650 Mb и дават на своите TFTP устройства - се превръща в истинско брашно. Т.е. Грузия - да, но oChChen бавно. Първата мисъл, която ми идва на ум - какво ще стане ако като средство за доставяне на съдържание на тежки не използва TFTP и HTTP или NFS? И да, наистина, има такава възможност.

Виж както реализира в конфигурация (menu.cfg) зареждане на същото Ubuntu LiveCD:

Тук на ядрото и Ramdisk vmlinuz.efi initrd.lz натоварихме на ППФТ, но съдържанието на rootfs Предприетите с NFS ресурс (така Ubuntu могат да се възползват). Редът на създаване ubuntu16.04_live_amd64 папки на акции NFS е описан тук.

Или накратко, създадох папка на WDMyCloud EX2, разрешен достъп до него за NFS:

PXE зареждане


След това се монтира на една машина с Ubuntu в

/ Nfs и просто да копирате файловете от LiveCD с Ubuntu него:

В резултат на това съдържанието на папката ubuntu16.04_live_amd64 ние напълно идентична LiveCD корен с Ubuntu:


Просто? Точно. Сега се опитайте да стартирате от PXE избор в менюто LiveCD:

PXE зареждане


С гигабитова мрежа Всичко се случи много бързо. През повечето време е наистина похарчени свалянето vmlinuz.efi (7 Mb) и initrd.lz (27 Mb) на ППФТ. И тук стигаме до основната? възможно по някакъв начин е да заредите тези файлове, също с NFS или HTTP ресурс? Вие можете! И отговорът тук е да се използва вместо PXELinux (което за съжаление не мога така), iPXE товарач. Ние силно препоръчваме да се запознаете с тях и да се учат от примера, и т.н. на официалния сайт. Архив PXE-MikroTik-disk1.rar вече е включена ipxe.lkrn. ми, събрани от източник с възможност за HTTP, NFS и др.:

PXE зареждане

Е, последното нещо, което искам да ви кажа - това е за изтеглянето * .wim WinPE изображения чрез PXE. За да направите това, в моя пример, тя се използва iPXE и ​​wimboot. Примерна конфигурация може да се види в menu.cfg PXELinux от опцията в менюто "Заредете iPXE [Вим-boot.ipxe]". В действителност, има зареден ipxe.lkrn, който гласи Вим-boot.ipxe конфигурационния файл. Просто поставете wimboot файлове, Bootmgr, BCD, boot.sdi и boot.wim вашата дистрибуция WinPE навсякъде в мрежата (на HTTP, NFS ресурси) и зареден всичко е страхотно. Примери отново, вижте Вим-boot.ipxe.

Между другото, в менюто iPXE SuperBoot има елемент от bradgillap Външни Linux инсталирания. В действителност, това е външна (т.е., разположен на Интернет) обувка меню, което ви позволява да зададете някои от Linux-базирана операционна система, и изтегляне на някои опции LiveCD онлайн. Т.е. да се инсталира на същия Ubuntu, в действителност е достатъчно само правилно конфигуриран DHCP. Всичко останало, дори и на етапа на менюто за зареждане може да бъде взето от мрежата.