PXEBootInstall

Předmluva

Instalace pomocí síťového bootování nesmí být zaměňována s DebianNetworkInstall. V síti install, začnete s CD (nebo USB flash paměti nebo podobné) nainstalovat minimální systém Linux, než budete pokračovat ke stažení dalších balíčků po síti.

Instalace pomocí zavádění ze sítě se také liší od použití sítě pro spouštění již nainstalovaného systému: v takovém případě, klient stroj zůstává závislá na server je nahoru a běží na všechny budoucí boot. Takto funguje například projekt Linux Terminal Server Project (LTSP).

Tato stránka popisuje instalaci nového systému Debianu bez CD, DVD, USB. Na konci procesu instalace je nový stroj schopen běžet bez podpory serveru. Během instalace budete potřebovat síťový spouštěcí server.

protože ve volné přírodě nejsou žádné fiduciální spouštěcí servery, musíte si nastavit vlastní. To je podstatně složitější než instalace Debianu z CD (zkratka pro CD nebo USB nebo …). Normálně se zavádění do sítě používá pouze v případě, že skutečně neexistuje způsob, jak zavést systém z disku CD. Pokud se bootování z CD nezdaří, může to být způsobeno problémy systému BIOS, které stejně zabrání zavádění do sítě (typické pokusy o řešení problémů zahrnují vypnutí bezpečného zavádění, přepnutí z UEFI do staršího spouštěcího režimu a podobně).

na webu lze nalézt několik článků, které více či méně podrobně popisují, jak nastavit síťový spouštěcí server. Všichni mají stejnou slabost: při pokusu o spuštění musíte provést dlouhý seznam pokynů, aniž byste dostali zpětnou vazbu před samotným koncem postupu. Pokud to funguje, fajn. Pokud ne, ladění bude velmi obtížné. Proto v následujícím textu rozdělíme postup na kroky, které lze odladit Samostatně.

http://www.debian.org/releases/stable/amd64/ch04s05 – Instalační příručka Debianu-4.5. Příprava souborů pro TFTP Net bootování

Poznámka: Pokud váš systém podporuje iPXE, pak pomocí netboot.xyz bude pravděpodobně mnohem jednodušší.

předpoklady

počítač, do kterého chcete nainstalovat, se bude jmenovat klient.

počítač, ze kterého instalujete, se bude jmenovat Server. Předpokládáme, že na serveru běží Debian.

abychom byli konkrétní, předpokládáme, že klient a Server jsou součástí LAN s následujícími IP adresami:

hodnotu x zjistíte později.

Všimněte si, že mnoho směrovačů také poskytuje server DHCP: budete jej muset vypnout, protože v dané síti LAN může běžet pouze jeden server DHCP. Pokud můžete nakonfigurovat router, DHCP server, aby v souladu s ISC DHCP server konfigurace níže, ale to je mimo rozsah tohoto dokumentu.

je také možné, že router a server jsou stejný stroj, tj. že váš Debian server je výchozí bránou pro tuto LAN. To bude fungovat dobře.

následující instrukce byly testovány s Debianem 8.2 (Jessie) v září 2015.

aktivujte PXE boot

nastavte nabídku BIOS boot klienta pro spuštění ze sítě.

restart. Ve většině systémů to vytváří výstup, který obsahuje MAC adresu klienta. Poté selže s

 PXE-E53: no boot filename received.

poznamenejte si MAC adresu; bude užitečné pro interpretaci zpráv protokolu.

na mnoha serverech je také možné dočasně přepnout na boot PXE bez trvalé změny nastavení systému BIOS. Tam bude nějaký druh stisknutí klávesy zasáhnout během BIOS POST. Na serverech Dell bude F12 dělat trik (nebo Esc pak @ ze sériové nebo IPMI konzole).

nastavte DHCP server

Na serveru musíme nastavit DHCP server.

současnou nejlepší praxí se zdá být použití balíčku isc-dhcp-server, který poskytuje démona dhcpd.

jeho konfigurační soubor je / etc/dhcp / dhcpd.conf. Upravit tento soubor tak, aby obsahoval o následující; přizpůsobit IP a MAC adresy místních potřeb:

Po každé změně výše uvedených skutečností, restartujte DHCP server s

 # /etc/init.d/isc-dhcp-server restart

nebo se systemd ekvivalentní

 # systemctl restart isc-dhcp-server

ujistěte se, že je ve skutečnosti běží:

 # pgrep -lf dhcpd 32277 /usr/sbin/dhcpd -q

nebo

 # systemctl status isc-dhcp-server

, která poskytuje o něco více informací.

před restartováním klienta můžete spustit

 # journalctl -fu isc-dhcp-server

který zobrazuje posledních několik řádků protokolu serveru DHCP a poté aktualizuje obrazovku s každou novou položkou protokolu. (Pokud nechcete, aby „následovat“ protokolu, jen vynech „f“)

 PXE-E32: TFTP open timeout

a ve stejnou dobu, uvidíte zprávy protokolu na server, obrazovka zobrazující DHCP požadavky a nabízí podobný následující výstup alternativní příkaz níže

Pokud nechcete používat systemd, nebo chcete porovnat tradiční log výstup pro diagnostické účely, můžete se podívat do /var/log/syslog, například pomocí tohoto příkazu

 # grep DHCP /var/log/syslog
  • , kde byste měli vidět něco jako:

(Všimněte si, že dřívější verze Debianu používaly /var / log / daemon.log namísto syslog)

Pokud se v protokolu neobjeví nic s žádným příkazem, zkontrolujte síťové Odkazy mezi serverem a klientem. Všimněte si, že některé síťové přepínače mohou uložit přísná omezení provozu DHCP; pro Cisco, použijte ‚portfast‘, pokud je to možné (viz http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800b1500.shtml).

nastavení TFTP serveru

dále musíme nastavit TFTP server na serveru.

opět existuje několik balíčků, které poskytují TFTP (triviální FTP, nebezpečné, které mají být použity pouze v LAN). Zdá se, že nejlepší praxe používat balíček tftpd-hpa. Při instalaci je položeno několik otázek. Odpověď na tyto otázky přejde do konfiguračního souboru, / etc / default / tftpd-hpa. Nemělo by být nutné upravit následující výchozí obsah:

 TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure"

Ignorovat starší Webové stránky, které vás poučí, vložit něco jako ‚RUN_DAEMON=“yes“.

Po každé změně výše uvedený konfigurační soubor, restartujte TFTP server s

 # /etc/init.d/tftpd-hpa restart

nebo

 # systemctl restart tftpd-hpa

Na Jessie, adresář /srv/tftp bude automaticky vytvořen. To znamená, že další dva kroky nejsou nutné, pokud používáte Jessie.

Zpočátku, na pre-Jessie verze, restartování TFTP server může nezdaří a zobrazí se zpráva

 Restarting HPA's tftpd: in.tftpd/srv/tftp missing, aborting.

Proto, jako root vytvořte adresář /srv/tftp. Restartujte démona TFTP. Zkontrolujte, zda je skutečně spuštěn:

 # pgrep -lf tftpd 12555 /usr/sbin/in.tftpd

nebo

 # systemctl status tftpd-hpa

což opět dává pár řádků z protokolu, spíše než jen to, že úkol je (není) běží.

je užitečné pro testování své TFTP server TFTP klient; můžete jednoduše použít tftp-hpa balíček pro tento účel:

 # cd /tmp # uname -a >/srv/tftp/test # tftp 192.168.0.2 tftp> get test tftp> quit # diff test /srv/tftp/test (nothing, they are identical)

To je také užitečné vidět, jaké položky protokolu dostanete, když si stáhnete soubor, který existuje, a při pokusu o stažení jeden, který není. Při použití tftp otestovat tftpd server, zkuste sledovat své experimenty se starými a novými formami příkazu protokolu, zatímco používáte TFTP klienta stahovat soubory, které dělají, stejně jako soubory, které neexistují, existují.

tradiční příkaz na Jessie

 # tail -f /var/log/syslog

(Všimněte si, opět, že dříve ejší vydání používán /var/log/daemon.log místo syslog.)

na systemd

 # journalctl -fu tftpd-hpa

bohužel se zdá, že od ledna 2017 dávají různé výsledky. Příkaz systemd nezobrazuje požadavky na soubory, které neexistují.

je docela užitečné vědět, co klient požaduje, protože vám pomůže přesunout soubory na očekávané umístění, pokud uděláte chyby později. V současné době se pak pravděpodobně vyplatí použít tradiční způsob sledování protokolu pro TFTPD.

restartujte klienta. Měli byste vidět chybové zprávy na obrazovce klienta počínaje

 PXE-T01: File not found

což je docela správné, protože jsme ještě nestanovila žádné soubory. Na obrazovce serveru uvidíte přesně to, co klient požadoval.

Poskytněte zaváděcí obrázek

Stáhněte si netboot/netboot.dehet.gz ze zrcadla Debianu (viz http://www.debian.org/distrib/netinst#netboot).

Volitelné: Chcete-li ověřit digitální podpis, zadejte tyto příkazy:

rozbalte netboot.dehet.gz to / srv / tftp, který by nyní měl obsahovat

 debian-installer/ pxelinux.0@ pxelinux.cfg@ version.info

může být nutné chmod-R a + r *, aby byly všechny soubory v tomto adresáři čitelné pro démona TFTP.

možná budete muset upravit grub / grub.cfg pro nastavení sériové konzole, v případě potřeby (nahradil jsem část o grafickém terminálu):

serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1terminal_input console serialterminal_output console serial

stejně jako sériová konzole pro debian-installer připojením tohoto jádra příkazového řádku:

console=ttyS1,115200n8r console=tty1

Restartujte TFTP daemona, a opět můžete sledovat položky protokolu, jak se objevují,

 # tail -f /var/log/syslog

restartujte Klienta. Měli byste se dostat na obrazovku instalace Debianu.

pokud vyhledáte /var / log / syslog, uvidíte, co bylo staženo ze serveru TFTP zavaděčem PXE a poté SYSLINUXEM. Můžete také vidět některé odpovědi „NAK“, když SYSLINUX požádal o soubory, které neexistují (zkouší několik umístění pro některé důležité soubory).

zavaděč PXE (firmware v BIOSu nebo síťový řadič klienta) se pokusí načíst v tomto pořadí:

  • pxelinux.0 (nebo více přesně, co jste řekl, je ke stažení v „název souboru“ pole DHCP odpověď)

Pak SYSLINUX/PXELINUX se bude snažit hledat svou konfiguraci na různé cesty, od nejkonkrétnější k nejméně:

  • pxelinux.cfg/GUID
  • pxelinux.cfg/MAC
  • pxelinux.cfg / default

a pokud konfigurační nabídka závisí na jiných konfiguračních položkách, jsou také staženy. Debian bude potřebovat alespoň ‚ bootmenu.soubor txt, který je hlavní nabídkou.

ve výchozím nastavení se dostanete na grafickou obrazovku Debian install start menu. Stisknutím tlačítka „enter“ spusťte instalaci. Buďte trpěliví: může trvat více než minutu, než se objeví další obrazovka („Vyberte jazyk“).

alternativní způsob získání zaváděcího obrazu

Pokud máte systém Debianu se stejnou verzí, jakou chcete nainstalovat, můžete jej nainstalovat pomocí apt.

nyní nasměrujte tftp server na /usr / lib / debian-installer/images/$VERSION/$ARCH / $INTERFACE, kde INTERFACE=text pro instalátor textového režimu nebo INTERFACE=gtk pro grafický instalátor. Jednoduchý způsob, jak toho dosáhnout, je přeměnit / srv / tftp na symbolický odkaz.

Další Způsob, jak – použít Dnsmasq

dnsmasq je lehký, snadno konfigurovat DNS a DHCP server, BOOTP/TFTP/PXE funkčnost. To znamená, že můžete nahradit isc-dhcp-server a tftpd-hpa Dnsmasq.

následuje /etc / dnsmasq.conf poskytuje stejnou funkčnost jako způsob instalace a konfigurace isc-dhcpd-server a tftpd-hpa popsané výše.

Stáhněte si netboot.dehet.gz a extrahujte jej v /srv / tftp jako předchozí popis.

Potenciální Problémy

Když se jádro v netboot obraz dostane ven synchronizace s kernel module packages, pak moduly nenačte a instalace se nezdaří, obvyklé příznaky jsou, že zprávy o „chybějící symboly“ se objeví v ctrl-alt-f4 konzole.

Chcete-li to opravit, aktualizujte jádro a initrd na serveru netboot.

pravděpodobně je pro tento problém otevřen Debian BTS, ale nyní ho nemohu najít.

Viz také

  • http://www.debian.org/releases/stable/amd64/ch04s05 – Instalační příručka Debianu-4.5 . Příprava Souborů pro Zavedení ze Sítě pomocí TFTP

  • di-netboot-asistent automatizuje většinu z výše popsaných kroků: DebianInstaller/NetbootAssistant

  • Lenny installer v netboot.dehet.gz nyní ve výchozím nastavení nepodporuje instalaci pomocí sériové konzoly. Více informací o tomto problému a oprava umožňující přístup k sériové konzoli naleznete v 309223.

  • https://networkboot.org/

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *