SQimage.sh
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 - L
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
; 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.
- sdílená vrstva, např.
Aktualizace vrstvy - C
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 MD5 kontrolní součet stahovaného souboru
- <old>
- je název (MD5 kontrolní součet) původního souboru
Pokud crypto takový záznam najde a soubor <old> v lokálním úložišti existuje, tak ho rovnou odstraní.
Se stejným záznamem může pracovat také v případě, že je stažená vrstva kryptovaná, protože zaheslovaný soubor, ve kterém je hlavička kryptovaného souboru může být adresována několika způsoby. Mimo jiné MD5 součtem původního plain sqimage za kterým následuje suffix .7z
. Pointa téhle opičárny tkví v tom, že z MD5 součtu nelze poznat, co se má použít. Admnistrátor má k dispozici pomocný stroj, se skriptem SQcrypto.sh, kde může jednoduchým způsobem ověřit co se má použít.
SQimage.sh vkládá záznam o aktualizaci vrstvy po vygenerování nového snapshotu. A SQcrypto.sh po odeslání zakryptované verze plain sqimage do HTTP úložiště.