Disklessová pracovní stanice

From DCEwiki
Revision as of 17:49, 18 September 2019 by Keny (talk | contribs)
Jump to: navigation, search

Výsledný operační systém disklessové pracovní stanice je výsledkem sloučení několika vrstev do jednoho sendviče.

Anatomie vrstev

Především si musíme si uvědomit že pořadí, v jakém se vrstvy sestaví do sendviče[1], je důležité.

Specifika sendviče překrytého overlayem

Lokální kešování

/etc/fstab

Soubor /etc/fstab nemá žádný obsah, protože full-diskless ke své existenci lokální blokové zařízení nepotřebuje a připojení tmpfs na adresář /tmp je zbytečné, protože stejně všechno překrývá overlay, který už v paměti je.

Připojení tmpfs

U disklessového stroje který nemá overlay, se pracuje přímo s obsahem adresáře nasdíleného z NFS serveru – např. disklessové servery. V takovém případě je naopak vysoce žádoucí tmpfs na adresář /tmp připojit – bez toho by se dočasně vytvořené soubory zbytečně honily po síti sem a tam a zatěžovaly NFS server (zamykání, odemykání, rušení, …). V takovém případě se hodí do souboru /etc/fstab přidat následující řádek:

tmpfs           /tmp            tmpfs   nodev,nosuid    0       0

Do adresáře /tmp může zapisovat každý. Parametrem nosuid zabráníte tomu, aby někdo zneužil tento adresář k tomu, aby spuštěním aplikace, která má nastaven tzv. suid bit získal práva uživatele root. A nodev pro mu pro změnu zabrání v …

Připojení lokálního diskového oddílu

Nicméně se za určitých okolností je připojení lokálního blokového zařízení potřeba. Kupř. u half-disklessových serverů, co startují kompletně z NFS, bez komunikace s DHCP je na virtuálním blokovém zařízení umístěn GRUB s linuxovým jádrem včetně ramdisku a pokud chceme, nebo potřebujeme udělat jeho aktualizaci, potřebujeme, aby byl jeho obsah dostupný.

Jsou to virtuály, do kterých se propaguje virtuální disk jako blokové zařízení /dev/sda. Protože firmware QEMU při zavádění nepočítá s UEFI, je zbytečné aby na něm byla GPT tabulka a víc než jeden diskový oddíl. Navíc jde o velmi malý virtuální disk, bohatě stačí max. velikost kolem 200MB, proto je na něm MS-DOS tabulka, s jedním primárním diskovým oddílem, formátovaným na ext4. GRUB se instaluje do MBR sektoru, a na jeho přečtení diskového oddílu mu stačí relativně malé moduly part_msdos a ext2.

LABEL=boot      /boot   ext4    noauto  0       0

Parametr noauto v tomto případě preventivně brání neúmyslnému poškození ramdisku. Pokud chceme hrabat na konfigurační soubor grub.cfg, nebo aktualizovat ramdisk, musíme si tento virtuální disk na adresář /boot připojit.

Poznámka Je lepší mountovat zařízení přes návěští souborového systému (LABEL) než přes cestu k blokovému zařízení, protože tím pádem nemusíme řešit další bloková zařízení ani jiné diskové oddíly.

V laboratořích Katedry kybernetiky se – na rozdíl od laboratoří Katedry řídící techniky – lokálně instalované MS Windows nepoužívají. Ale diskless SSD disky s nimiž byly stroje dodány využívá automaticky, pokud na nich najde swapovací oddíl.

Kromě toho se ale využívají také jako lokální úložiště pro velké soubory virtuálních strojů, s nimiž se pracuje přes VMWare. Proto /etc/fstab u laboratorního disklessu Katedry kybernetiky obsahuje následující záznam:

LABEL=local /local ext4 defaults,noauto,users 0 2

Pokud diskless, na lokálním disku stroje kde byl spuštěn, nalezne diskový oddíl formátovaný na ext4 s názvem 'local', tak ho má přihlášený uživatel možnost připojit. Aby se o to nesnažil automaticky je uvedena volba noauto – bez ní by totiž zůstal při zavádění systém viset v ramdisku, pokud by takový diskový oddíl na stroji při startu nenašel.

A bez volby users, by to mohl pro změnu udělat pouze uživatel root.

Menu

~/.config/menus/xfce-applications.menu

Odkud se berou položky v menu?

$ env | grep XDG_CONFIG_DIRS

Kontejnerová virtualizace