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
L - 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
S - sendvič (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.
- sdílená vrstva, např.
C - záznam pro aktualizaci vrstvy
Když crypto během zavádění zjistí, že jde o kryptovaný soubor, pokusí se získat jeho dekapitovanou, zaheslovanou hlavičku. A při tom kontroluje changelog
, který může obsahovat záznam, že jde o aktualizovanou vrstvu. V takovém případě, pokud najde soubor <old>
v úložišti, ví co může odstranit.
SQimage.sh vkládá takový záznam při aktualizaci vrstvy, po vygenerování nového snapshotu. A SQcrypto.sh po odeslání souborů do úložiště sdíleného přes HTTP.
; C <new> <old>
- <new>
- je MD5 kontrolní součet stahovaného souboru
- <old>
- je název (MD5 kontrolní součet) nahrazovaného souboru
V konfiguraci stroje máme následující řádek:
setlayer c32af4db4aaea650590ba379a3385424 Pro skript crypto je to signál, že má zkontrolovat lokální úložiště, jestli obsahuje soubor setlayer c32af4db4aaea650590ba379a3385424:9e43748722e47242db40d03cf5a8f881 Řetězec za dvojtečkou je MD5 součet původní plain sqimage vrstvy a dekapitovaná hlavička kontejneru se během kryptování pojmenuje podle něj.
Teprve při odeslání do HTTP úložiště SQcrypto.sh hlavičku přejmenuje a do souboru ; C c32af4db4aaea650590ba379a3385424 9e43748722e47242db40d03cf5a8f881 Tenhle záznam je primárně určen pro aktualizaci, protože během zavádění z něm crypto zjistí, který soubor z lokálního úložiště může odstranit.
A pokud bude soubor kryptovaný a soubor Pointa je v tom, že konfigurace přes 'setlayer' umožňuje použít hlavičku pojmenovanou podle jiné, nekryptované či již nepoužívané starší vrstvy. |