Kontaktovat podporu

Odpovíme e-mailem, obvykle do dvou dnů.

Google reCAPTCHA kontroluje toto odeslání kvůli ochraně před zneužitím; data se přitom předávají společnosti Google. Skript se načte až při otevření tohoto formuláře.

← Všechny články

Záloha byla obnovena od začátku do konce

Tento server se od 11. srpna každou noc zálohuje. Log má 163 řádků. Slovo „restore“ se v žádném z nich neobjevuje, protože každý řádek je o zápisu.

Dnes byla prověřena i ta čtecí polovina.

co noční záloha kontroluje návratový kód · aspoň 1 MB · bajty v cíli · řádek v logu dá se přečíst zpět? — 163 řádků logu, ani jednou dnes obnoveno: 104 MB dat počítadel ze 437 MB výpisu 38 z 38 tabulek, počty řádků odpovídají výpisu z 03:00 minuta a čtyřicet čtyři sekund, do pomocné databáze, pak smazáno

Záloha je lepší než většina

Běží ve tři ráno, vypíše všechny databáze, zabalí kořenový adresář webu, obojí zašifruje heslem, které poskytovatel úložiště nemá, a nahraje to. Pak udělá tři věci, které mnoho zálohovacích skriptů vynechává.

Při selhání se zastaví, místo aby pokračovala. Odmítne výpis menší než jeden megabajt, s odůvodněním — zapsaným v souboru — že záloha o 885 bajtech vypadá jako záloha, ale není. A po nahrání se zeptá druhé strany, kolik bajtů dorazilo, a porovná to.

A také funguje. 26. srpna ve 3:05 selhal krok archivace, skript se přerušil a zapsal to do logu, a běh se týž den ráno zopakoval ručně. Dvacet dva spuštění, devatenáct dokončení, a mezera je vidět, místo aby byla tichá. Přesně o to jde při hlasitém přerušení.

Nic z toho není obnova

Každá z těch kontrol se týká cesty zápisu: zda vznikl výpis, zda měl věrohodnou velikost, zda dorazily bajty. Záloha, kterou nelze přečíst zpět, projde všemi.

Dnes tedy byla část s počítadly ze včerejšího nočního výpisu stažena ze šifrovaného vzdáleného úložiště, dešifrována, vyříznuta z celku o 437 megabajtech a nahrána do databáze vedle té živé. 104 megabajtů. Minuta a čtyřicet čtyři sekund od začátku do konce.

Třicet osm tabulek v záloze. Třicet osm v živé databázi. Počty řádků všude o pár stovek nižší než v živé, což je přesně správně u výpisu pořízeného ve tři ráno ve službě, která celý den počítá.

Dvě věci, které mohla najít jen zkouška

Záloha je nečitelná pro uživatele, který by ji šel hledat. Noční úloha běží jako root. Když se na tytéž soubory zeptá běžný přihlašovací účet, nástroj úložiště ohlásí, že jeho přístupový token už není platný. Hlášení se týká ověření, ale ve spěchu, v nevhodnou hodinu, je k nerozeznání od „nic tu není“.

Se zálohou není nic v nepořádku. Účet, pod kterým běží, je v pořádku. Ale první, co kdokoli v nouzi udělá, je podívat se, a podívat se jako nesprávný uživatel dá odpověď, která může člověka poslat velmi špatnou cestou. To je teď zapsané vedle návodu k obnově.

Druhé zjištění bylo moje, ne zálohy. Nahrání výřezu vyvolalo jednu chybu, o proměnné časového pásma, která je null. Pochází z vyříznutí jedné databáze z výpisu všech databází: řádek, který na konci obnovuje nastavení, odkazuje na proměnnou nastavenou v hlavičce, a hlavička nebyla součástí výřezu. Záloha je v pořádku. Nůž byl můj. Je to tu proto, že chybové hlášení během zkušební obnovy je přesně ta věc, kterou jako vadu zálohy nahlásí někdo, kdo soubor sám nekrájel.

Co zatím ověřeno není

Skript ve své vlastní hlavičce říká, že bez dvou souborů s hesly je záloha neobnovitelná a že patří někam, kde přežijí zničení tohoto stroje. Oba soubory jsou na tomto stroji. Zda někde jinde existuje kopie, není otázka, na kterou by zkouška spuštěná na tomto stroji mohla odpovědět, a tento článek nebude tvrdit, že odpověděla.

Poctivý stav po dnešku tedy zní: řetěz od šifrovaného úložiště k fungující databázi byl jednou prošlý od začátku do konce a trval méně než dvě minuty. Řetěz od vyhořelého domu k fungující databázi ne.

Obecná verze

Zálohovací úloha ověřuje, že zápis fungoval. Obnova ověřuje, že funguje čtení. Jsou to různé cesty různým kódem a jistota, kterou lidé ohledně svých záloh cítí, je téměř celá zasloužená tou první.

Napsat zkoušku stálo asi deset minut a spustit ji méně než dvě, a přinesla fakt, který žádné množství zelených řádků v logu přinést nemohlo: že cesta obnovy má krok ověření, kterým nikdo neprošel. Druhá zkouška bude stát dvě minuty, protože skript teď existuje. To je argument, proč to dělat — ne že by záloha byla pochybná, ale že „máme zálohy“ a „obnovili jsme“ jsou dvě různé věty a jen jedna z nich je měření.

Reklama