„Diskless kliens létrehozása Ubuntu 20.04 környezeben” változatai közötti eltérés
| 42. sor: | 42. sor: | ||
</syntaxhighlight>Ezután a bootloadert kell konfigurálni, hogy a megfelelő Diskless kliens(ek)nek a megfelelő Initial ramdisk-et és kernelt szolgáltassa, a kívánt nfsroot és egyéb paraméterekkel . Ez a bootloader típusától és a Diskless Infrastruktúra összetettségétől függ. Lsd.: todo | </syntaxhighlight>Ezután a bootloadert kell konfigurálni, hogy a megfelelő Diskless kliens(ek)nek a megfelelő Initial ramdisk-et és kernelt szolgáltassa, a kívánt nfsroot és egyéb paraméterekkel . Ez a bootloader típusától és a Diskless Infrastruktúra összetettségétől függ. Lsd.: todo | ||
=== Diskless kliens módosítások === | ===Diskless kliens módosítások=== | ||
Hogy a Diskless kliens megfelelően működjön kell, illetve lehet pár módosítást végezni a felmásolt operációs rendszeren. | Hogy a Diskless kliens megfelelően működjön kell, illetve lehet pár módosítást végezni a felmásolt operációs rendszeren. | ||
==== Fstab ==== | ====Fstab==== | ||
Az /etc/fstab-ban a következő beállításokat cseréljük / hozzuk létre. A fizikai eszközökre vonatkozó beállítások csak akkor maradjanak, ha azok valóban léteznek a Diskless kliensben (pl. CD ROM). A swap beállításokat szüntessük meg.<syntaxhighlight lang="ini"> | Az /etc/fstab-ban a következő beállításokat cseréljük / hozzuk létre. A fizikai eszközökre vonatkozó beállítások csak akkor maradjanak, ha azok valóban léteznek a Diskless kliensben (pl. CD ROM). A swap beállításokat szüntessük meg.<syntaxhighlight lang="ini"> | ||
# <file system> <mount point> <type> <options> <dump> <pass> | # <file system> <mount point> <type> <options> <dump> <pass> | ||
| 56. sor: | 56. sor: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Grub kiiktatása ==== | ====Grub kiiktatása==== | ||
Az Ubuntu repositoryban a grub függőségi viszonyban van a kernel-el, ezért egy egyszerű módszert választottunk a kiiktatására. Ha nem létezik a grub.cfg akkor a grub frissítés mechanizmusok nem működnek.<syntaxhighlight lang="bash"> | Az Ubuntu repositoryban a grub függőségi viszonyban van a kernel-el, ezért egy egyszerű módszert választottunk a kiiktatására. Ha nem létezik a grub.cfg akkor a grub frissítés mechanizmusok nem működnek.<syntaxhighlight lang="bash"> | ||
mv /mnt/boot/grub/grub.cfg /mnt/boot/grub/grub.cfg.bak | mv /mnt/boot/grub/grub.cfg /mnt/boot/grub/grub.cfg.bak | ||
</syntaxhighlight>Mindez és a Diskless Infrastruktúra helyes beállítása után, a Diskless kliensek képesek hálózatról bootolni és működni. | </syntaxhighlight>Mindez és a Diskless Infrastruktúra helyes beállítása után, a Diskless kliensek képesek hálózatról bootolni és működni. A prototípust megszüntethetjük vagy archiválhatjuk. | ||
=== Diskless kliensek egyediesítése === | Az további beállítások már a Diskless kliensen értendőek. | ||
===Diskless kliensek egyediesítése=== | |||
Annak ellenére, hogy a Diskless Infrastruktúraegyik előnye a központ operációs rendszer management és disztribúció, szükség lehet, hogy a kliensek bizonyos szempontból különbözőek legyenek. | Annak ellenére, hogy a Diskless Infrastruktúraegyik előnye a központ operációs rendszer management és disztribúció, szükség lehet, hogy a kliensek bizonyos szempontból különbözőek legyenek. | ||
==== Hostname ==== | ====Hostname==== | ||
Az egyedi hostname konfigurálható kernel parancsori paraméterrel (todo) vagy DHCP konfigurációval. (todo) De előtte a "helyi" konfigurációt meg kell szüntetni.<syntaxhighlight lang="bash"> | Az egyedi hostname konfigurálható kernel parancsori paraméterrel (todo) vagy DHCP konfigurációval. (todo) De előtte a "helyi" konfigurációt meg kell szüntetni.<syntaxhighlight lang="bash"> | ||
mv /etc/hostname /etc/hostname.bak | mv /etc/hostname /etc/hostname.bak | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Temp és swap ==== | ====Temp és swap==== | ||
A fenti fstab konfigurációban az ideiglenes állományokat tartalmazó könyvtárak [https://www.kernel.org/doc/html/latest/filesystems/tmpfs.html tmpfs]-két vannak csatolva, így az állományok a memóriába kerülnek. Továbbá nem használunk swap-et. A Diskless infrastruktúra kialakításakor az egy egyik elsődleges szembont a költséghatékonyság, így általában a kliensek hardver erőforrásai szerények. Nagyobb temp méret vagy memória igényű alkalmazásoknál a tmpfs nem elég, illetve szükség lehet swap-re. | A fenti fstab konfigurációban az ideiglenes állományokat tartalmazó könyvtárak [https://www.kernel.org/doc/html/latest/filesystems/tmpfs.html tmpfs]-két vannak csatolva, így az állományok a memóriába kerülnek. Továbbá nem használunk swap-et. A Diskless infrastruktúra kialakításakor az egy egyik elsődleges szembont a költséghatékonyság, így általában a kliensek hardver erőforrásai szerények. Nagyobb temp méret vagy memória igényű alkalmazásoknál a tmpfs nem elég, illetve szükség lehet swap-re. | ||
A lap 2020. szeptember 13., 09:31-kori változata
Összefoglalás
A leírás Ubuntu 20.04.1 Desktop x64 operációs rendszeren készült.
A parancsok root jogot feltételeznek. (állandó root jog: sudo -i)
A szükséges csomagokat az operációs rendszer tárolójából telepítjük.
A példában a kliens környezet VMware ESX 7.0 virtuális gép volt.
A Diskless Infrastruktúrát adottnak tekintjük. (Diskless Infrastruktúra todo)
Diskless kliens prototípus telepítése
Az operációs rendszert telepítsük a megszokott módon a tervezett Diskless kliens hardverre egy ideiglenes fizikai diszk behegyezésével. Ha a hardvert biztosan támogatja az operációs rendszer, és telepítéskor nem szükséges a hardverrel kapcsolatos konfiguráció, akkor telepíthetjük virtuális gépre is, mit a jelenlegi példában.
A tervezett felhasználókat, szoftvereket, beállításokat megtehetjük most, vagy a már a kész Diskless kliensen.
Ha a telepítés kész, indítsunk egy root jogú terminált, és kezdőzhet a Dikless kliens konfigurálása.
Diskless kliens konfigurálása
Előfeltételek
Telepítsük az nfs és tftp klienseket, majd csatoljuk fel ideiglenesen a Diskless kliens nfsroot könyvtárát.
apt -y install nfs-common tftp
mount <nfsserver>:/<nfsroot> /mnt
Az Initial ramdisk -et fel kell készíteni a hálózati boot-ra. Szerkesszük az /etc/initramfs-tools/initramfs.conf fájlt és helyezzük el / módosítsuk benne a következő beállításokat.(ha a telepített példányt használni szeretnénk tovább hagyományos kliensként, akkor a beállításokat a konfigurálás után állítsuk vissza)
BOOT=nfs
MODULES=netboot
Prototípus másolása az nfsroot -ra
A telepített példány teljes / könyvtárát másoljuk fel az nfsroot -ra.
cp -ax /. /mnt/.
cp -ax /dev/. /mnt/dev/.
Bootloader beállítása
A módosított initramfs beállításokkal készítsük el az image-t egy ideiglenes helyre, pl a /root könyvtárba.
mkinitramfs -o ~/initrd.img-`uname -r`
Másoljuk fel a TFTP szerverre az aktuális kernelt és az elkészített Initial ramdisk image-t. Ez esetben TFTP szervernek írhatónak kell lenni az aktuális IP címről. (Ha ez nem megoldható, akkor egyéb módon másoljuk át a fájlokat.)
tftp <TFTP szerver> <<< "put ~/initrd.img-`uname -r` initrd.img-`uname -r`"
tftp <TFTP szerver> <<< "put /boot/vmlinuz-`uname -r` vmlinuz-`uname -r`"
Ezután a bootloadert kell konfigurálni, hogy a megfelelő Diskless kliens(ek)nek a megfelelő Initial ramdisk-et és kernelt szolgáltassa, a kívánt nfsroot és egyéb paraméterekkel . Ez a bootloader típusától és a Diskless Infrastruktúra összetettségétől függ. Lsd.: todo
Diskless kliens módosítások
Hogy a Diskless kliens megfelelően működjön kell, illetve lehet pár módosítást végezni a felmásolt operációs rendszeren.
Fstab
Az /etc/fstab-ban a következő beállításokat cseréljük / hozzuk létre. A fizikai eszközökre vonatkozó beállítások csak akkor maradjanak, ha azok valóban léteznek a Diskless kliensben (pl. CD ROM). A swap beállításokat szüntessük meg.
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/nfs / nfs defaults 1 1
none /tmp tmpfs defaults 0 0
none /var/run tmpfs defaults 0 0
none /var/lock tmpfs defaults 0 0
none /var/tmp tmpfs defaults 0 0
Grub kiiktatása
Az Ubuntu repositoryban a grub függőségi viszonyban van a kernel-el, ezért egy egyszerű módszert választottunk a kiiktatására. Ha nem létezik a grub.cfg akkor a grub frissítés mechanizmusok nem működnek.
mv /mnt/boot/grub/grub.cfg /mnt/boot/grub/grub.cfg.bak
Mindez és a Diskless Infrastruktúra helyes beállítása után, a Diskless kliensek képesek hálózatról bootolni és működni. A prototípust megszüntethetjük vagy archiválhatjuk.
Az további beállítások már a Diskless kliensen értendőek.
Diskless kliensek egyediesítése
Annak ellenére, hogy a Diskless Infrastruktúraegyik előnye a központ operációs rendszer management és disztribúció, szükség lehet, hogy a kliensek bizonyos szempontból különbözőek legyenek.
Hostname
Az egyedi hostname konfigurálható kernel parancsori paraméterrel (todo) vagy DHCP konfigurációval. (todo) De előtte a "helyi" konfigurációt meg kell szüntetni.
mv /etc/hostname /etc/hostname.bak
Temp és swap
A fenti fstab konfigurációban az ideiglenes állományokat tartalmazó könyvtárak tmpfs-két vannak csatolva, így az állományok a memóriába kerülnek. Továbbá nem használunk swap-et. A Diskless infrastruktúra kialakításakor az egy egyik elsődleges szembont a költséghatékonyság, így általában a kliensek hardver erőforrásai szerények. Nagyobb temp méret vagy memória igényű alkalmazásoknál a tmpfs nem elég, illetve szükség lehet swap-re.
Ha az nfsroot megfelelő könyvtárait (/tmp, /tmp/var, /swapfile) használjuk, az Diskless infrastruktúra esetén problémát okoz. Hiszen gyakran előfordul, hogy két kliens ugyanazon nevű fájt akar használni ideiglenes állományként, illetve a swapfile-nak is közös használatúnak kellene lenni, de ez nem lehetséges.