Diskless
Diskless technologie je v našem kontextu technologie, co umožňuje provoz linuxového operačního systému aniž by byl na blokovém zařízení fyzického či virtuálního stroje nainstalovaný.
Výše uvedené schéma demonstruje základní terminologické rozdíly se kterými pracuji. První dva stroje – A a B – jsou typu Non-Diskless, liší se od sebe mimo jiné tím, že stroj A komunikuke bezdrátem přes Wi-Fi, kdežto B prostřednictvím ethernetu. Rozdílné podbarvení schematických obrázků těchto strojů naznačují fakt, že u Non-Diskless strojů je velmi problematické udržovat identickou sadu dostupného software a dostupných dat. Všimněte si, že je u nich rozdílná i barva blokového zařízení.
Naopak u disklessové infrastruktury lze velice jednoduše zajistit, aby na každém stroji byla k dispozici stejná sada dostupných dat i software – bez ohledu na to, zda-li ten stroj běží jako Full-Diskless (stroje C, E) nebo jako Half-Diskless (stroj D) – proto mají na schémetu všechny stejnou barvu podbarvení.
Hardwarové prostředky, které mají k dispozici, se pochopitelně mohou lišit. Např. stroj E nemá k dispozici žádné blokové zařízení, proto si musí vystačit pouze s RAM. A stroj C, který nějaké blokové zařízení k dispozici má, ho stejně nepoužívá, protože neobsahuje ani swapovací oddíl který by mohl využít k rozšíření RAM jako stroj D, ani diskový oddíl, který by měl label "data", kam by si mohl nějaké soubory nakešovat.
Zato stroj D, který komunikuje pouze přes Wi-Fi, musí fungovat jako Half-Diskless, aby si mohl na diskový oddíl "system", uložit soubory vmlinuz
(jádro) a initrd.img
(ramdisk), které se u Full-Disklessu stahují přes PXE. V jeho případě je spouští lokálně nainstalovaný zavaděč. A musí je mít k dispozici, protože bez nich by nemohl nahodit Wi-Fi, přes kterou nefunguje žádné PXE. Pak už to jede jako u ostatních strojů. Stáhne se konfigurace, kterou zpracuje a nahodí systém.
A je-li k dispozici lokální blokové zařízení, proč ho nevyužít ke zlepšení výkonu? Sendvič sestavený z nakešovaných kryptovaných blobů nezatěžuje síť požadavky na NFS server, které by mohly snadno zahltit Wi-Fi připojení, které nemá tak velkou propustnost jako ethernet. A připojením swapu lze ošálit aplikace, závislé na velikosti RAM.
Typologie
- Non-Diskless
- Je systém nainstalovaný na lokálním blokovém zařízení, který je technicky možné provozovat bez závislosti na připojení k externí infrastruktuře. Od Half-Disklessu se liší tím, že má všechny soubory (tedy nejenom zavaděč a jádro) uložené na lokálním blokovém zařízení. Pro vzdálený přístup k těmto souborům musí být zapnutý, připojený k síti, se spuštěnou službou, která ten vzdálený přístup umožní. Nejsou-li splněny všechny uvedené podmínky, jsou jeho data nedostupné.
- Údržba většího počtu takových strojů je komplikovaná a časově náročná, pokud administrátor nemá možnost využít disklessovou infrastrukturu.
- Full-Diskless
- Nevyžaduje žádné blokové zařízení, i když ho umí využít, ale je závislý na přístupu k DHCP, TFTP a NFS serveru
- Je rychlý, protože veškeré IO operace probíhají po síti nebo v RAM.
- Je bezpečný, protože používá systémové soubory, které se sdílejí přes NFS v režimu READ-ONLY (jen pro čtení), takže ani po získání superuživatelského přístupu do spuštěného systému nelze modifikovat soubory na straně NFS serveru. Veškeré lokální změny jsou za běhu uloženy jen do RAM, která se během restartu zahodí.
- A výhodný pro administrátory, protože se nic nemusí instalovat a vše se spravuje na jednom místě. Není potřeba řešit přístupy na více strojů. Není potřeba si lámat hlavu zabezpečením, protože je vše jako na dlani – ale jen pro admina. A zálohování je stupidně snadné.
Má ovšem své limity:
|
- Half-Diskless
- Využívá blokové zařízení jako úložiště (storage) a to umožňuje obejít omezení Full-Disklessu, takže je závislý pouze na přístupu k NFS serveru. QEMU totiž umožňuje virtuálnímu stroji podstrčit virtuální blokové zařízení, nasdílené přes NFS. A pokud je na něm nainstalován zavaděč, který linuxovému jádru rovnou nastaví IP adresu rozhraní, přes které si pak připojí zbytek systému nasdíleného přes NFS, nepotřebuje funkční DHCP server. Proto se klíčové stroje disklessové infrastruktury spouští jako Half-Diskless. Vše ostatní jako Full-Diskless
- Autonomní diskless
- Je ve své podstatě Half-Diskless, který využívá lokální blokové zařízení (je-li na to připravené) nejenom k instalaci lokálního zavaděče, který je schopen zavést jádro s podporou konektivity přes Wi-Fi v případě, že nelze využít síťového rozhraní které má PXE, ale také jako:
- swap (pokud obsahuje swapovací diskový oddíl), který umožňuje obsadit větší množství RAM, než kolik jí skutečně je, a ..
- persistentní keš, do které si uloží při spuštění soubory stažené ze sítě, aby je nemusel po restartu stahovat znova.
- Využití blokového zařízení pro kešování velkých souborů je zcela zásadní funkcionalita, bez které nelze dosáhnout autonomie. Jedině díky tomu je schopen fungovat po startu i bez síťové konektivity, podobně jako Non-Diskless, od kterého se ale zcela zásadě liší tím že:
- neobsahuje žádnou instalaci, jenom stažené soubory, které mohou být navíc kryptované,
- .. a to je důvod proč vyžaduje při startu funkční síťové připojení. Jedině tak se totiž dostane ke své konfiguraci a získá klíče, kterými se dají nakešované soubory odemknout.
- Bez přístupu k síti zůstane viset v ramdisku, který neobsahuje žádné informace, které by umožnily nakešované soubory odemknout a použít k sestavení sendviče. Všechno běží v RAM, jakmile tedy autonomní systém zkolabuje a ztratí obsah RAM, zůstanou na lokálním disku jen bezcenné kryptované bloby dat.
Po spuštění už je na připojení nezávislý a může existovat i bez něj, pokud dostane při startu do sendviče vrstvu, která obsahuje instrukce, jimiž se má řídit. |
Sandwich
Disklessové stroje obvykle používají pouze jeden datový zdroj, který jim poskytuje datový server. Může to být adresář sdílený přes NFS, nebo blokové zařízení poskytované přes iSCSI. A pokud nevyužívají RAM, musí mít každá instance svůj datový zdroj oddělený, aby si ty disklessové stroje navzájem nepřepisovaly data na disku.
Diskless, který využívá překrytím sdíleného NFS adresáře
- Je klíčová featura disklessové infrastruktury DC a DCE ČVUT, implementovaná od roku 2016.
Obsah manuálu
(Vpravo je uveden aktuální stav zpracování kapitoly)
- Disklessová infrastruktura
- Postupy a manuály
- Disklessová pracovní stanice
- VMware Player v prostředí bezdiskového linuxu
- Virtualizovaný cluster
- VMware Player v prostředí bezdiskového linuxu
Doplňky