abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 2
    včera 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 6
    včera 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 34
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    25.4. 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (74%)
     (8%)
     (2%)
     (16%)
    Celkem 817 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Jak nabootovat Linux po síti - 2 (praxe)

    25. 11. 2005 | Ondřej Valoušek | Sítě | 12467×

    V předchozím díle našeho seriálu jsme si ukázali technické základy nutné pro boot Linuxu po síti. Nyní, když už máme vše připraveno, si ukážeme, k čemu to lze v praxi použít.

    Příprava jádra

    Pokud máme všechny služby potřebné k doručení jádra správně nakonfigurovány, měl by stroj v začít bez problémů začít zavádět operační systém - jádro nikterak nepozná, jestli bylo spuštěno z disku, diskety, CD nebo ze sítě. Žádné speciální úpravy jádra tudíž nejsou potřeba.

    Problém přichází v okamžiku, kdy jádro ukončilo svůj vlastní inicializační proces a je hotovo k připojení rootu a spuštění startovacích skriptů dané distribuce. Zde jsou v zásadě možné dva přístupy:

    Přímý boot OS

    V tomto případě se jádro okamžitě po své inicializaci pokouší připojit root a zahájit start OS. Všechny potřebné údaje k tomuto kroku musí mít připraveny prostřednictvím parametrů - tedy například takto:

    vmlinuz NFSSERVER=192.168.1.1 NFSROOT=/ext3/boot/Rhel3 ETHERNET=eth0 IPADDRESS=192.168.1.10 NETWORK=255.255.255.0

    Vidíme, že kromě popisu umístění OS na NFS serveru je třeba také předat kompletní informace nutné ke správné inicializaci síťové karty - jádro samotné totiž DHCP nerozumí. Dále je třeba mít na paměti, že podpora dané síťové karty, NFS a NFSROOT musí být zakompilována přímo do samotného jádra (tedy žádné moduly).

    Právě kvůli těžkopádnosti a neohrabanosti tohoto řešení se tohoto postupu prakticky vůbec neužívá. Bezkonkurenčně nejčastější je tedy druhá metoda.

    Dvoustupňový boot pomocí inicializačního RAMdisku (initrd)

    V tomto případě jádro po dokončení své vlastní inicializace předá řízení initrd - to je v podstatě mikrodistribuce obsahující vše potřebné k detekci a startu vlastního OS. Obvykle obsahuje moduly a skripty pro inicializaci síťového rozhraní, DHCP, DNS klienta a startovací skript, který to všechno spojí dohromady.

    Initrd je sestaven a zakomprimován do jednoho souboru, který je přes TFTP předán vlastnímu jádru jako parametr:

    vmlinuz initrd=rhel3-ws-boot/initrd.new init=disklessrc

    Takové řešení je podstatně inteligentnější protože:

    • Už při bootu máme podporu pro DNS a DHCP.
    • Pomocí volitelných DHCP parametrů můžeme start OS elegantně nakonfigurovat a dynamicky řídit.
    • Je-li třeba, je možno (a často se s tím také setkáme) chybějící parametry pro boot OS obstarat interaktivním způsobem.

    Praktické využití

    1. Instalace OS

    Asi nejjednodušším příkladem využití je instalace OS na lokální disk z balíčků, které se nacházejí někde na síti, ke které je počítač připojen. V tomto případě jádru předáme initrd s obrazem instalátoru, který instalaci provede.

    Jak už jsem zmínil v předchozím díle (Jak nabootovat Linux po síti), naprostá většina distribucí je na tento způsob instalace připravena a příslušně vyladěný kernel i s initrd ramdiskem najdeme hned na prvním CD - zbývá jen někam na dostupné místo uložit všechny balíčky, nainstalovat jádro s initrd a je vyhráno.

    Nejčastěji se s tímto způsobem instalace setkáme, pokud potřebujeme nainstalovat OS na více strojů automaticky - v tomto případě ještě instalátoru prostřednictvím kernel parametrů jako bonus předhodíme soubor s odpověďmi na jeho dotazy:

    vmlinuz initrd=rhel3-ws-install/initrd ks=rhel3-ws-install/answer.cfg

    ... necháme stroj nabootovat přes síť a za pár minut jej máme nainstalován, nakonfigurován a připraven k práci (můj osobní rekord je 9 minut :-).

    2. Tenký klient

    Tenkým klientem rozumíme nějakou minimalistickou distribuci, která bezdiskově nabootuje a připojí počítač (v tomto případě vlastně jen terminál) ke vzdálenému serveru, na kterém umožní uživateli práci. Taková distribuce obvykle běžně rozumí následujícím protokolům:

    • telnet, ssh - pro textové připojení
    • xdmcp - pro vzdálené přípojení X serveru k pracovní relaci
    • vnc - pro připojení k VNC relaci běžící na Windows nebo Unixu
    • rdp - pro připojení k Windows terminálovému serveru nebo WindowsXP
    • nx - pro připojení k relaci NX (ještě o kus sofistikovanější než protokoly VNC a RDP)

    Uveďme zde za všechny alespoň dva příklady distribucích pro tenké klienty:

    Linux Terminal Server Project - LTSP

    Tato distribuce bootuje po síti a kořenový filesystém připojuje pomocí NFS. Má podporu všech výše uvedených protokolů ale žádné vlastní prostředí - po bootu je uživatel okamžitě připojen ke vzdálenému pracovnímu serveru. Viz Linux Terminal Server Project.

    Thinstation

    Tato distribuce má také podporu všech protokolů, ale od LTSP se liší ve 2 faktech:

    • nepřipojuje root, vše je obsaženo v initrd (takže ji můžete rozběhat i v čistě Windowsové síti)
    • má vlastní volitelné prostředí s možností běhu některých aplikací lokálně (Firefox)

    Poznámka: Na některé distribuce lze sehnat i komerční podporu (například pro Thinstation). Docela by mě zajímalo, co by podpora udělala, kdyby si někdo začal stěžovat na bug snad ve všech verzích Xorg/XFree86, kdy samotný Firefox či Mozilla puštěný na nějaké nešťastně napsané webové stránce způsobí postupné "užírání" volné paměti na klientu, což nakonec vyústí v dosti nepříjemný pád X serveru a s ním i všech aplikací na něm závislých :-(. V LTSP se ještě dá zprovoznit swap over NFS - tuto možnost Thinstation bohužel nemá.

    3. Bezdisková stanice

    Poslední možností využití síťového bootu Linuxu po síti, kterou jsem si nechal pro svoji největší zajímavost na konec, je bezdisková stanice. Bezdisková stanice funguje úplně stejně jako počítač s nějakou normální distribucí, co zrovna provozujete, s tím rozdílem, že (jak už sám název napovídá) nemá disk. Jak to funguje?

    Dovolím si zde popsat futuristické plány Red Hatu a jeho "stateless Linuxu". Bohužel nevím, jak daleko sahají plány ostatních distribucí (snad čtenáři tohoto článku poví), ale jsem přesvědčen, že alespoň v základech se budou shodovat. Tedy jak na to:

    1. Nainstalujete Red Hat klasickým způsobem lokálně na disk do jednoho oddílu, SELinux nechte vypnut.
    2. Instalaci vezmete a celý filesystem zkopírujete na nějaký připravený NFS server pomocí rsync nebo cp -a.
    3. Na NFS server, kam jste instalaci zkopírovali, nainstalujete balíček system-config-netboot a spustíte.
    4. Postupujete podle příkazů.

    - Pokud jste měli drobet štěstí, pak balík system-config-netboot správně nakonfiguroval váš NFS server, opatchoval obraz nainstalovaného OS a jako speciální bonus vám vytvořil initrd se zavaděčem, který i s kernelem nainstaloval na příslušné místo v /tftpboot.

    - Pokud jste měli víc štěstí, pak se vám podaří nějaký jiný počítač pomocí PXE a TFTP přimět nabootovat připravené jádro i s vytvořeným ramdiskem a spustit zavaděč obsažený v ramdisku.

    - Pokud jste měli opravdu hodně moc štěstí, tak se zavaděči podaří připojit root z obrazu na vašem NFS serveru, kde řízení přidá startovacím skriptům OS.

    - No a pokud jste vysloveně našlápnutí klikaři, tak to celé v pohodě naběhne, jako by se nechumelilo - s rootem připojeném vzdáleně přes NFS a read-only.

    Poznámky:

    • Samozřejmě, že ne vše může být připojeno read-only. Red Hat tuto situaci řeší tím, že ty adresáře, kde je třeba mít R/W přístup (typicky /var), jsou z NFS serveru připojeny přes tzv. snapshot, což je adresář (pro každou stanici jeden), kam má stanice povolen zápis.
    • Popsaný postup byl vyzkoušen pro Fedora Core 4 a system-config-netboot verze 0.2.33. Každopádně to nebyla bezbolestná záležitost a jelikož je to celé ve stádiu vývoje, vyplatí se vyhledat poslední verzi výše zmiňovaného balíku.
    • Na Fedoře 4 jsou plány RedHatu opravdu znát, takže lze říci, že tuto distribuci nabootujete po síti dosti snadno.

    Závěr

    Osobně vkládám do síťového bootu velké naděje a největším archaickým přežitkem do dnešní moderní doby mi připadají právě velké, křehké a neustále rachotící pevné disky, které je třeba zálohovat.

    Neříkám, že síťový boot všechno řeší, ale rozhodně má něco do sebe a v dnešní době, kdy mít počítač automaticky znamená mít počítačovou síť (nebo alespoň síťku :-)), se rozhodně vyplatí vzít tuto možnost v potaz.

    Trochu škoda, že něco podobného není možno vykouzlit (alespoň podle mých informací) s nejužívanějším operačním systémem a velkým rivalem Linuxu - Microsoft Windows.

           

    Hodnocení: 81 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    25.11.2005 08:32 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Zdravim

    I s woknama to jd,e staci si koupit MS Terminal Server. Jako klienti mohou byt tenci klienti od HP (s konfiguraci prevysujici muj pracovni pocitac) nebo postavit vedle Linuxovej server, na klienty nacpat LTSP a nakonfigurovat je aby se konektily na wokna.

    Ale proc se hrabat nosem v zadku, ze....

    Jinak je clanek dobrej, az na jeden detail. Bezne jadro nelze primo bootovat pres sit (tftp, rom-o-matic). Nekde v dokumentaci k LTSP je psano, ze jadro se musi nejak upravit a jen tam navod. S PXE zkusenost nemam, ale myslim ze tam to nutne neni.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    25.11.2005 10:07 WR
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Neco podobneho jde s Windows9X (nevim jak 2000/XP). Bezi nam to na jedne siti, stanice stahne floppy image ze serveru, ten floppy image obsahuje prikazy na stazeni archivu s obrazem win95, ktery se rozbali do ramdisku a ostatni aplikace jsou na serverovem disku. Mrknete na http://www.bootix.com/
    25.11.2005 14:54 Viky
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    V jedne ucebne na Pedagogicke fakulte UK v Praze jeste loni fungovalo kombo Windows 98 bootovanych po siti skrze Novell. Nebyt tam Internet Explorer 5, ktery neumel ani poradne zobrazit webove rozhrani emailu na Seznamu a stary balik Office602, tak to bylo docela dobre reseni, ale to byla jen otazka konfigurace. Osobne si myslim, ze i NT systemy by teoreticky na podobnem principu mohly s trochou fantazie fungovat.
    27.11.2005 13:59 petris
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Na FELu se po siti da nabootovat dos, win98, winXP nebo debian, takze to nejspis pujde delat s jakymkoliv OS, otazka je, jak slozite.
    25.11.2005 10:45 spectrum | skóre: 29 | blog: spectrumblog
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Jen bych doplnil, že MS Terminal Server je drahej jak zlatá kráva. Takže pokud nemáte peněz jako želez tak na to ani nemyslete :-(
    25.11.2005 16:19 Ondar | skóre: 25 | blog: Linux_blog
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Tak to jistě, ale to nemá nic společného s bootem Windows po síti, to je jen OS nabízející terminálové služby (a je to skutečně drahé jako peklo).
    29.11.2005 17:24 venca
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Upravovani jadra pro etherboot obstara sada utilit mknbi - zabali jadro a initrd do jednoho NBI souboru, ktery se pak posila etherbootu po siti.

    PXE samotne linux nenabootuje, nebot je prilis velky (uz vubec ne s initrd), proto se nejprve natahne pxelinux.0 (jakysi zavadec postaveny na linuxovem jadre), ktery teprve stahne samotne soubory k nabootovani, aspon myslim. Rozhode se pres PXE da stahnout a spustit etherboot, ktery pak stahne skutecne jadro - akorat se DHCP serveru musi rict, ze PXE klientovi ma poslat etherboot a etherbootu uz ostre NBI.
    hajma avatar 25.11.2005 09:23 hajma | skóre: 27 | blog: hajma | Říčany
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    To co s RedHatem se dá udělat i s Mandrivou, myslím, že se to opírá o clusternfs? prostě klienti mají k dispozici soubory serveru s určitou možností zápisu.
    21 promarněných znaků
    25.11.2005 09:27 GeBu | skóre: 27 | blog: zápisky
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Dovolím si uvést jednu nevýhodu těchto věcí: v případě pádu sítě nepoběží vůbec nic nikde. Osobně mám obavu, že časem se staneme závislí na nějakých centrech a bez nich nebude nic fungovat. Pokud na tom budeme existenčně závislí tak se opravdu moc těším :(.
    25.11.2005 10:45 magla | skóre: 10 | blog: Info | Brno
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)

    stejne jako na elektrice

    Linux BFU
    25.11.2005 16:14 Ondar | skóre: 25 | blog: Linux_blog
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Ano, to je skutečně pravda. Padne server a celá firma může jít naproti na pivo - nedávno se mi to stalo. Ale když člověk alespoň na to serveru nešetří, tak se to prakticky nemůže stát. Kromě toho, klasická disková stanice se bez jistých služeb taky neobejde.
    25.11.2005 21:34 pzad | skóre: 30 | blog: pzad
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Ak pada server treba vymenit software, hardware alebo admina. Server nema co padat.
    25.11.2005 09:56 Daniel Smolik | skóre: 15 | blog: marvin
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Ohledne upravy jadra je to nutne jen pokud bootujete pres BOOTP z bootrom kterou si vyrobite pres neboot nebo etherboot. Jinak IMHO hezky ma tohle vyresene debian. Ma to to spec. balicek diskless a ten vyrobi RO root pro vsehchny spolecny pres ktery se po bootu pipoji /etc /var ktere je RW pro danou stanici. Tazke najdenou upgradnete vsechny stroje a setri to misto.
    25.11.2005 22:44 lizard
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    Vidíme, že kromě popisu umístění OS na NFS serveru je třeba také předat kompletní informace nutné ke správné inicializaci síťové karty - jádro samotné totiž DHCP nerozumí.

    ale jadro to umi :) viz:
    Networking  --->
     Networking options  --->
         [*] IP: kernel level autoconfiguration
            [*] IP: DHCP support (NEW)
    
    tohle je z jadra 2.6.14 ale mam dojem ze jsem to videl a provozoval i na kernelech rady 2.4. a provozoval jsem to uspesne :)
    29.11.2005 17:26 venca
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    V dev jadru 2.5 se to vyhodilo, protoze vyvojari (spravne) usoudili, ze cpat DHCP klienta do jadra je blbost, kdyz muze byt na initrd. No, zpatky je to mozna kvuli tomu, ze posledni dobou se do jadra cpe uplne vsechno, vcetne ovladacu vsech klavesnic, scanneru a buhvi ceho, coz by vsechno nejak snad slo i v userspace.
    the.max avatar 28.11.2005 01:01 the.max | skóre: 46 | blog: Smetiště
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    muzete sem nekdo please pastnout obsah souboru disklessrc a kde presne ma byt umisten? Nemam RedHat like linux:-(

    diky david
    KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
    29.11.2005 17:31 venca
    Rozbalit Rozbalit vše firefox a X OOM
    v PXES (http://pxes.sf.net) pouzivame lokalni swap na disk, v thinstation to jde taky udelat, staci pripsat skriptik. Disk ma nastaveno hdparm -S2 /dev/hda, takze se po 10s vypne a nehluci, dokud pripadne neni treba vice pameti pro X server. Videl jsem nekde na osnews clanek o mozille, uklada ty pixmapy do xserveru nekomprimovane, takze zaberou opravdu hodne mista.

    Predpokladam ze nejaky jednoduchy skriptik by poslala i podpora thinstation. Udelat swap na NFS neni tak tezke, jeste jednodussi je primountit rw adresar pres NFS a na nem udelat swapsoubor.

    Mimochodem, abych si prihral polivcicku (resp. kdyby to nekdo potreboval), jde bootovat i pres bezdratovou sit, dokonce i kryptovanou, k cemuz je treba initrd s wpa_supplicantem atd, ale funguje to. Viz http://www.arcig.cz/~eudoxos/eb-linux/ . Tenky klient s NX pres to slape fajn.
    the.max avatar 2.12.2005 00:44 the.max | skóre: 46 | blog: Smetiště
    Rozbalit Rozbalit vše Re: Jak nabootovat Linux po síti - 2 (praxe)
    taakze konecne se mi podarilo nabootovat gentoo po siti.. bohuzel tento navod mi nepomohl, pomohlo mi az http://www.gentoo.org/doc/en/diskless-howto.xml nicmene resim problem se startem site. Pokud v initscriptech nastartuji rozhrani eth0 ze ktereho to bootovalo, tak se to odpoji, pritom IP, maska broadcast i brana je shodna s tim co mi to prideli prez dhcp. Pokud si necham adresu pridelit prez dhcp, je to stejne. Jde o to, ze nektere sluzby co spoustim vyzaduji aby byla spustena sit. nepoznaji ze sit uz bezi, kdyz nenastartovala z init scriptu. Dali vec je ta, ze mam v pci dalsi sitovku (Atheros) a potrebuju eth0 a ath0 (atheros) dat do bridge..

    Jak to mam resit?
    KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.