PXEBootInstall

Előszó

telepítés hálózati indítás nem tévesztendő össze DebianNetworkInstall. A network install alkalmazásban CD-vel (vagy USB flash memóriával vagy hasonlóval) kezd el telepíteni egy minimális Linux rendszert, mielőtt további csomagokat töltene le a hálózaton keresztül.

a hálózati rendszerindítással történő telepítés szintén különbözik attól, hogy a hálózatot már telepített rendszer indítására használja: ebben az esetben az ügyfélgép attól függ, hogy a kiszolgáló minden jövőbeli indításkor működik-e. A Linux Terminal Server Project (LTSP) például így működik.

Ez az oldal egy új Debian rendszer telepítését írja le CD, DVD, USB nélkül. A telepítési folyamat végére az új gép a kiszolgáló támogatása nélkül is futtatható. A telepítés során hálózati rendszerindító kiszolgálóra lesz szüksége.

mivel nincsenek fiducial boot szerverek a vadonban, be kell állítania a sajátját. Ez lényegesen bonyolultabb, mint a Debian telepítése CD-ről (rövidítés CD-re vagy USB-re vagy …). Általában a hálózati indítást csak akkor használják, ha valóban nincs mód a CD-ről történő indításra. Ha a CD-ről történő indítás sikertelen, ennek oka lehet A BIOS-problémák, amelyek ugyanúgy megakadályozzák a hálózat indítását (a tipikus hibaelhárítási kísérletek közé tartozik a Biztonságos indítás kikapcsolása, az UEFI-ről a régi rendszerindítási módra való váltás stb.).

az interneten számos cikk található, amelyek többé-kevésbé részletesen leírják a hálózati rendszerindító kiszolgáló beállítását. Mindegyiknek ugyanaz a gyengesége van: az utasítások hosszú listáját végre kell hajtania anélkül, hogy visszajelzést kapna az eljárás befejezése előtt, amikor megpróbálja elindítani. Ha működik, rendben. Ha nem, a hibakeresés nagyon nehéz lesz. Ezért a következőkben az eljárást olyan lépésekre bontjuk, amelyek külön hibakereshetők.

http://www.debian.org/releases/stable/amd64/ch04s05 – Debian telepítési útmutató – 4.5. Fájlok előkészítése TFTP Net Booting

Megjegyzés: Ha a rendszer támogatja az iPXE-t, akkor a netboot használatával.xyz valószínűleg sokkal egyszerűbb.

előfeltételek

a telepíteni kívánt számítógépet kliensnek hívják.

a telepített számítógépet kiszolgálónak hívják. Feltételezzük,hogy a szerver fut Debian.

ahhoz, hogy konkrét legyen, feltételezzük, hogy az ügyfél és a kiszolgáló egy LAN része a következő IP-címekkel:

később megtudhatja az X értékét.

vegye figyelembe, hogy sok útválasztó DHCP-kiszolgálót is biztosít: ki kell kapcsolnia, mivel csak egy DHCP-kiszolgáló futhat egy adott LAN-on. Hacsak nem konfigurálhatja az útválasztó DHCP-kiszolgálóját úgy, hogy megfeleljen az alábbi ISC DHCP-kiszolgáló konfigurációjának, de ez kívül esik a dokumentum hatókörén.

az is lehetséges, hogy az útválasztó és a kiszolgáló ugyanaz a gép, azaz a Debian szerver Az alapértelmezett átjáró erre a LAN-ra. Ez jól fog működni.

a következő utasításokat tesztelték a Debian 8.2 (Jessie) segítségével 2015 szeptemberében.

aktiválja a PXE boot

beállítja az ügyfél BIOS boot menüjét a hálózatról történő indításhoz.

újraindítás. A legtöbb rendszeren ez olyan kimenetet eredményez, amely tartalmazza az ügyfél MAC-címét. Ezután a

 PXE-E53: no boot filename received.

vegye figyelembe a MAC címet; hasznos lesz a naplóüzenetek értelmezéséhez.

sok szerveren ideiglenes váltás is lehetséges PXE boot-ra a BIOS-beállítások végleges megváltoztatása nélkül. Lesz valamilyen billentyűleütés, hogy elérje a BIOS POST alatt. Dell szervereken az F12 elvégzi a trükköt (vagy Esc, majd @ soros vagy IPMI konzolról).

állítsa be a DHCP szervert

a kiszolgálón, létre kell hoznunk egy DHCP szervert.

a jelenlegi legjobb gyakorlat úgy tűnik, hogy az ISC-dhcp-server csomagot használja, amely daemon dhcpd-t biztosít.

konfigurációs fájlja az /etc/dhcp/dhcpd.conf. Módosítsa ezt a fájlt úgy, hogy tartalmazza a következő; alkalmazkodni IP vagy MAC-címeket a helyi igények:

Miután minden módosítás a fenti, indítsa újra a DHCP szerver

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

vagy a systemd egyenértékű

 # systemctl restart isc-dhcp-server

Ellenőrizze, hogy valóban működik:

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

vagy

 # systemctl status isc-dhcp-server

amely valamivel több információt.

az ügyfél újraindítása előtt érdemes futtatni

 # journalctl -fu isc-dhcp-server

amely megmutatja a DHCP szervernapló utolsó néhány sorát, majd frissíti a képernyőt minden új naplóbejegyzéssel. (Ha nem akarod, hogy “kövesse” a napló, csak hagyja ki az “f”)

 PXE-E32: TFTP open timeout

ugyanakkor, látni fogja a napló üzenetek a szerveren megjelenik a DHCP kérések kínál hasonló a kimeneti alatt az alternatív parancsot

Ha nem szeretné használni systemd, vagy szeretné összehasonlítani a hagyományos napló kimeneti diagnosztikai célokra, meg a /var/log/syslog, például ezzel a paranccsal

 # grep DHCP /var/log/syslog
  • , ahol ilyesmit kell látnod:

(vegye figyelembe, hogy a korábbi Debian kiadások /var/log/daemon.log helyett syslog)

Ha a naplóban egyik paranccsal sem jelenik meg semmi, ellenőrizze a szerver és az ügyfél közötti hálózati kapcsolatokat. Vegye figyelembe, hogy egyes hálózati kapcsolók súlyos korlátozásokat írhatnak elő a DHCP-forgalomra; a Cisco esetében lehetőség szerint használja a”portfast” – ot (lásd http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800b1500.shtml).

állítsa be a TFTP kiszolgálót

ezután be kell állítanunk egy TFTP szervert a kiszolgálón.

ismét több csomag van, amelyek TFTP-t biztosítanak (triviális FTP, nem biztonságos, csak LAN-ban használható). Úgy tűnik, a legjobb gyakorlat a tftpd-hpa csomag használata. A telepítés során néhány kérdést feltesznek. A válasz ezekre a kérdésekre egy konfigurációs fájlba kerül, / etc / default / tftpd-hpa. Nem szükséges módosítani a következő alapértelmezett tartalmat:

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

figyelmen kívül hagyja azokat a régebbi webhelyeket, amelyek arra utasítják Önt, hogy helyezzen be valamit, mint a”RUN_DAEMON= “igen””.

a fenti konfigurációs fájl minden módosítása után indítsa újra a TFTP szervert

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

vagy

 # systemctl restart tftpd-hpa

Jessie-N A /srv/tftp könyvtár automatikusan létrejön. Ez azt jelenti, hogy a következő két lépés nem szükséges, ha Jessie-t használja.

kezdetben a pre-Jessie verziókban a TFTP szerver újraindítása sikertelen lehet olyan üzenettel, mint a

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

ezért gyökérként hozza létre a /srv/tftp könyvtárat. Indítsa újra a TFTP démont. Ellenőrizze, hogy valóban fut-e:

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

vagy

 # systemctl status tftpd-hpa

amely ismét néhány sort ad a naplóból, nem csak azt a tényt, hogy a feladat (nem) fut.

hasznos tesztelni a TFTP-kiszolgálót egy TFTP-klienssel; erre a célra egyszerűen használhatja a tftp-hpa csomagot:

 # 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)

hasznos látni, hogy milyen naplóbejegyzéseket kap, amikor letölt egy létező fájlt, és amikor megpróbál letölteni egyet, ami nem. Miközben a TFTP-t használja a tftpd szerver tesztelésére, próbálja meg nyomon követni a kísérleteket a log parancs régi és új formáival, miközben a TFTP klienst használja olyan fájlok letöltéséhez, amelyek nem léteznek, valamint olyan fájlok, amelyek nem léteznek.

a hagyományos parancs Jessie

 # tail -f /var/log/syslog

(vegye figyelembe, hogy a korábbi Debian kiadások használt /var/log/daemon.napló helyett syslog.)

on systemd

 # journalctl -fu tftpd-hpa

sajnos ezek 2017 januárjától eltérő eredményeket adnak. A systemd parancs nem jeleníti meg a nem létező fájlok fájlkérelmeit.

nagyon hasznos tudni, hogy mit kér az ügyfél, mivel segít a fájlok áthelyezésében a várt helyre, ha később hibákat követ el. Jelenleg akkor valószínűleg érdemes a tftpd hagyományos naplókövetési módját használni.

indítsa újra az ügyfelet. Hibaüzeneteket kell látnia az ügyfél képernyőjén, kezdve a

 PXE-T01: File not found

ami nagyon helyes, mivel még nem nyújtottunk semmilyen fájlt. A szerver képernyőjén pontosan látni fogja, hogy mit kért az ügyfél.

adja meg a rendszerindító képet

töltse le a netboot/netboot programot.kátrány.GZ egy Debian tükörből (lásd http://www.debian.org/distrib/netinst#netboot).

Opcionális: a digitális aláírás ellenőrzéséhez írja be ezeket a parancsokat:

csomagolja ki a netboot-ot.kátrány.gz a / srv / tftp – hez, amelynek most tartalmaznia kell a

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

szükség lehet A chmod-R a+r * – ra, hogy az összes fájl ebben a könyvtárban olvasható legyen a TFTP démon számára.

lehet, hogy szerkesztenie kell a grub/grubot is.cfg a soros konzol beállításához, ha szükséges (kicseréltem a grafikus terminálról szóló részt):

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

valamint a debian-installer soros konzolja a kernel parancssorához csatolva:

console=ttyS1,115200n8r console=tty1

indítsa újra a TFTP démont, és ismét érdemes követni a naplóbejegyzéseket, mivel azok

 # tail -f /var/log/syslog

ezután indítsa újra az ügyfelet. El kell jutnod egy Debian telepítési képernyőre.

Ha a /var/log/syslog-ra keres, látni fogja, hogy mit töltött le a TFTP szerverről a PXE rendszerbetöltő, majd a SYSLINUX. Előfordulhat, hogy néhány “NAK” választ is lát, amikor a SYSLINUX nem létező fájlokat kért (néhány fontos fájlhoz több helyet próbál meg).

a PXE betöltő (a BIOS firmware-je vagy az ügyfél hálózati vezérlője) megpróbálja betölteni ebben a sorrendben:

  • pxelinux.0 (vagy pontosabban, amit azt mondtad, hogy töltse le a DHCP válasz “fájlnév” mezőjében)

akkor a SYSLINUX / PXELINUX megpróbálja a konfigurációját különböző útvonalakon keresni, a legspecifikusabbtól a legkevésbé:

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

és ha a konfigurációs menü más konfigurációs elemektől függ, azokat is letöltik. A debiannak legalább szüksége lesz a ‘bootmenu’ – ra.TXT ‘ fájl, amely a főmenü.

alapértelmezés szerint a grafikus Debian install start menü képernyőjére érkezik. A telepítés megkezdéséhez nyomja meg az “enter” gombot. Légy türelmes: több mint egy percet vehet igénybe, mielőtt megjelenik a következő képernyő (“Válasszon egy nyelvet”).

alternatív módja annak, hogy a boot kép

Ha van egy Debian rendszer azonos kiadás, mint telepíteni szeretné, akkor telepítse a boot kép apt.

most pont a TFTP szerver /usr / lib / debian-installer/images / $VERSION / $ARCH / $felület, ahol interfész = szöveg a text mode installer vagy INTERFACE = GTK a grafikus telepítő. Ennek egyszerű módja az /srv/tftp szimbolikus hivatkozássá alakítása.

más módon-használja Dnsmasq

dnsmasq egy könnyű, könnyen konfigurálható DNS szállítmányozó, DHCP szerver BOOTP/TFTP / PXE funkciót. Ez azt jelenti, hogy az isc-dhcp-server, a tftpd-hpa-t Dnsmasq-ra cserélheti.

A következő az /etc/dnsmasq.conf, amely ugyanazt a funkciót, mint a módszer telepítése és konfigurálása isc-dhcpd-server és tftpd-hpa fent leírt.

töltse le a netboot-ot.kátrány.gz és bontsa ki a /srv/tftp mint korábbi leírás.

az Esetleges Kérdések

Ha a kernel a netboot kép lesz szinkronban a kernel modul csomagot, akkor a modul nem töltődik be, valamint a telepítés sikertelen lesz, a szokásos tünetek üzenetek a “hiányzó jelek” jelenik meg a ctrl-alt-f4 konzol.

ennek javításához frissítse a kernelt és az initrd-t a netboot szerveren.

valószínűleg van egy Debian BTS probléma erre nyitva, de most nem találom.

Lásd még:

  • http://www.debian.org/releases/stable/amd64/ch04s05 – Debian telepítési útmutató – 4.5. Fájlok előkészítése TFTP Net Booting

  • di-netboot-assistant automatizálja a legtöbb fent leírt lépéseket: DebianInstaller / NetbootAssistant

  • a Lenny telepítő netboot.kátrány.a GZ alapértelmezés szerint nem támogatja a soros konzol használatával történő telepítést. További információ erről a kérdésről, valamint egy javítás, amely lehetővé teszi a Soros konzolhoz való hozzáférést, megtalálható a 309223-ban.

  • https://networkboot.org/

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük