SQimage.sh

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

SQimage.sh je obslužný skript pro zálohování disklessové infrastruktury a generování obrazů snapshotovaných vrstev (plain sqimage), s nimiž pracuje autonomní Half-Diskless.

Popis

Skript SQimage.sh pracuje stejně jako SQcrypto.sh a skript crypto se souborem changelog, publikovaným přes HTTP.

changelog

Snapshot vrstvy

Po vytvoření snapshotu vygeneruje SQimage.sh tzv. plain sqimage, který umístí do úložiště sdíleného přes HTTP a zapíše do souboru changelog záznam s informací, z čeho tenhle soubor vytvořil.

; L <md5sum> <vrstva> <snapshot>

Layer – Signalizuje, že jde o snapshot jedné vrstvy

<md5sum>
je název (MD5 kontrolní součet) nového souboru
<vrstva>
je identifikátor vrstvy, např. 1111/crypto
<snapshot>
je název snapshotu, např. crypto_2023-12-23_19.18

Sloučené vrstvy

; S <md5sum> <zdroj_A> <zdroj_B> ...
<md5sum>
je název (MD5 kontrolní součet) nového souboru
<zdroj_X>
jsou identifikátory vrstev, použitých k vytvoření sendviče. Identifikátory mohou vypadat takto:
sdílená vrstva, např. 1111/crypto
sdílená vrstva připojená přes NFS, např. 172.0.0.1:/srv/1111/crypto (použitá IPv4 adresa stroje musí přístupná)
snapshot, např. crypto_2023-12-23_19.18
sqimage je MD5 sqimage souboru z úložiště (ZATÍM NEIMPLEMENTOVÁNO), přičemž nehraje roli, jde-li o kryptovaný sqimage, nebo jeho plain verzi.
Poznámka I když je možné generovat sendvič z několika různých zdrojů, je doporučeno využívat snapshoty. Ostatní varianty umožňují sestavení plain image ze zdrojů, které nejsou lokálně k dispozici – např. adresářů sdílených z jiného NFS serveru.

Aktualizace vrstvy

Pokud crypto během zavádění zjistí, že jde o kryptovaný soubor, stáhne dekapitovanou, zaheslovanou hlavičku a pokud se mount podaří, zkontroluje zda-li changelog neobsahuje záznam s informací, který soubor nahradil:

; C <new> <old>
C
Signalizuje, že byl soubor <old> nahrazen souborem <new>
<new>
je název (MD5 kontrolní součet) nového souboru
<old>
je název (MD5 kontrolní součet) původního souboru

A pokud takový záznam najde a soubor <old> v lokálním úložišti existuje, tak ho rovnou odstraní.

Záznam o aktualizaci vrstvy vkládá SQimage.sh, po vygenerování nového snapshotu. A SQcrypto.sh po odeslání zakryptované verze plain sqimage do HTTP úložiště.