Portál AbcLinuxu, 12. května 2025 11:23

Dotaz: Boot po siti pres grub

29.2.2008 01:41 ajax
Boot po siti pres grub
Přečteno: 524×
Odpovědět | Admin
Nasel jsem nekolik clanku jak bootovat linux pres grub(treba http://gentoo-wiki.com/HOWTO_Gentoo_Diskless_Install#Setup_GRUB), ale nepopisuje se zde, jak separovat nektere adresare. Napr. /dev prece nemuze byt sdileny. Jak to tedy udelat aby vse nepotebne nebylo sdilene(napr. /dev /proc ..)?
Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.2.2008 10:33 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Boot po siti pres grub
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přílohy:
Ten popisovanej zpusob mi prijde hloupy, protoze pozaduje jadro na lokalnim mediu. Navic v tom navodu se pocita jen s jednim klientem na jeden sdileny adresar na serveru, v adresari /diskless/eta, proto tam neresi sdileni adresaru mezi vice instancemi systemu.

Ja to resim takhle:

Na disku (jsou tam i wokna, proto disk) je grub a malej linuxovej oddil. Na tom oddilu jsou soubory grubu a etherboot soubor (www.etherboot.org). Pomoci grubu se zvoli nastartovani etherbootu a ten je nastavenej ze bez ptani zacne stahovat jadro (presneji nbi image jadra a ramdisku) z tftp serveru. Diki tomu muzu jadro na klientech upgradovat. Na serveru je potreba vyrobit univerzalni initramdisk (pouzivam arch, takze to je velice jednoduche) a spolu s jadrem se programkem mknbi vytvori nbi image, ktery se pak taha pres sit.

Jadro se stahne a zacne bootovat. Nbi image ma ulozene parametry jadra, tak jak je to ukazany v tom gentoo navodu. Takze jadro bootuje a pak ziska adresu z DHCP, pripoji si pres NFS souboriovy system ze serveru (ja pripojuju primo / - mam na klientech to stejny co na serveru).

A ted nastava problem ze nektere adresare muzou byt sdilene a nektere musi byt pro kazdou instanci linuxu zvlast. Ja to ted resim vytvorenim ramdisku a v nem jeste vytvarim nejaky adresare a nezbytny prazdny soubory. Byl zde napad pouzit squashfs a pro kazdeho klienta mit na serveru ulozeny soubor se zmenami filesystemu oproti serveru. Prijde mi to jako dobry napad.

V priloze je skript, ktery se spousti skoro jako prvni po nabehnuti jadra (rc.conf: DAEMONS=(syslog-ng network thickscripts portmap nfslock netfs nfsd crond dbus hal avahi-daemon ypbind cups lisa sshd ) )

Soucasti jsou pak jeste dalsi skripty. Nejdrive se spousti "thickscript". Odtamtud se spousti nejprve skript "all" a potom se kontroluje zda je pritomny soubor pojmenovany jako IP adresa toho kompu. Pokud existuje, tak se spusti, v opacnem pripade se spusti skript "default". Ten prilozen neni protoze je prazdny.

Pokud by jsi to chjtel implementovat, vklidu se ozvi.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
29.2.2008 11:38 ajax
Rozbalit Rozbalit vše Re: Boot po siti pres grub
Diky moc, toto je presne to co potrebuju.
29.2.2008 13:46 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Boot po siti pres grub
Jeste dodam, ze pokud je potreba na klientovi proverst nejake specificke nastaveni,. tak od toho je tam ten skript pojmenovany jako IP adresa. Pokud mame skupiny stejnych pocitacu, samozrejme to muzou byt symlinky na jeden jinej skript.

Typicky tam davam modprobe floppy modulu, nakopirovani spravneho xorg.conf ze sdileneho sitoveho disku do lokalniho ramdisku, cimz se diky symlinku ukaze i v /etc/X11/.

Resil jsem takhle sdileni tiskarny. Na NFS disku byla konfigurace CUPSu a skript ji nabindoval do /etc cimz prebil vychozi konfiguraci ze serveru. Potom distribuce standardnim zpusobem nastartovala cups a ejhle, printserver byl na svete.

Mimochodem jsem tim nahradil sdileni tiskarny na win, protoze to neustale kravilo. Ted uz to je zase jinak..
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
29.2.2008 11:54 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Boot po siti pres grub
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zajímá vás boot po síti přes Grub, nebo sdílení adresářů přes NFS? Adresář /dev sdílený být nemůže, a v aktuálních distribucích ani sdílený nebude – /dev bude v moderních distribucích skoro prázdný, a naplní jej teprve udev. podobně je to s /proc – to je virtuální souborový systém. Na serveru tedy budete mít nasdílený adresář /dev jen se základním minimem, /proc bude úplně prázdný a jenom do něj lokálně namountujete souborový systém proc. Jenom musíte zařídit, aby se do /dev mohlo lokálně zapisovat a změny se nepřenášely na server, takže pokud nemáte / v ramdisku, musíte si v ramdisku udělat disk pro /dev a ten následně připojit do /dev.
29.2.2008 12:06 ajax
Rozbalit Rozbalit vše Re: Boot po siti pres grub
Zajimalo me oboje. Chtel bych totiz na pc mit i windows a v grubu si vybirat co bootovat. Jeste by me zajimalo, zda se neda nejak vypozorovat(nejaky programek), ktere adresare se casto meni a neni vhodne je exportovat. U nekterych je to jasny, ale mohou tam byt nejake "skryte".
29.2.2008 13:29 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Boot po siti pres grub
Pozorování, co se časo mění, podle mne není ta správná cesta. Rozdělil bych si to na následující tři druhy adresářů:
  • systémové a aplikační adresáře, které mají být všude stejné – tam budou knihovny, aplikace atd. Bude jedna kopie na serveru, klient si je namountuje pouze pro čtení.
  • adresáře lokálního počítače – /dev, /proc, asi něco z /etc. Obsahují informace o aktuálním počítači, vytvoří se buď automaticky nebo podle nějaké šablony, po ukončení práce je možné je zahodit. Na /etc můžete zkusit buď unionfs, nebo při startu okopírujete vzorové /etc a přepíšete je specifickým nastavením, nebo specifické nastavení budou symbolické odkazy do části, která bude mountována pro každý počítač extra
  • uživatelská data – /home, umístěný na síti, přístupný i pro zápis.
Původní určení adresáře /usr je pro lokální instalaci programů – pokud chcete nějaké programy mít dostupné jen na jedné stanici, můžete zvolit tenhle způsob, jinak se asi vyplatí i /usr zahrnout do síťového read-only obrazu. /var bych umístil do ramdisku (nebo na lokální disk, pokud je dostupný), je to dobré míso, kam nalinkovat ty soubory závislé na konkrétní stanici z /etc.
29.2.2008 13:36 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Boot po siti pres grub
/proc je prazdny i na serveru a "mount -t proc none /proc" co kazda distribuce dela pri startu to prebije, takze to resit netreba.

V /dev je fyzicky nekolik malo souboru. Ty jsou potreba pro spusteni init konzole a nasledne spusteni udev to prebije, takze opet netreba nic resit.

Spis jde o veci ve /var, jako treba /var/run apod. Podivej na muj skript "all", tam je seznam co je potreba mit nesdilene a rw. Je to samozrejme na miru Arch Linuxu a programum co se tady pouzivaj, takze u kazdeho to muze vypadat jinak. To by prave elegantne resil ten squashfs. Klient bude moci cist vse co je na serveru, ale zapis bude zvlast do souboru pro kazdeho klienta samostatne.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.