„Diskless kliens létrehozása Ubuntu 20.04 környezeben” változatai közötti eltérés

Innen: IT documentation
 
(Egy közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva)
8. sor: 8. sor:
A példában a kliens környezet VMware ESX 7.0 virtuális gép volt.
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)
A Diskless Infrastruktúrát adottnak tekintjük. ([[Linux Diskless Infrastruktúra|Diskless Infrastruktúra]])


==Diskless kliens prototípus telepítése==
==Diskless kliens prototípus telepítése==
64. sor: 64. sor:


===Diskless kliensek egyediesítése===
===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úra egyik 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====
72. sor: 72. sor:


====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. Egy Diskless infrastruktúra kialakításakor az 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.
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.

A lap jelenlegi, 2020. szeptember 13., 12:41-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)

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úra egyik 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. Egy Diskless infrastruktúra kialakításakor az 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.