Zpět na blog

Správa úložiště s automatickými periodickými snímky

Správa úložiště s automatickými periodickými snímky

Před nějakou dobou jsme představili možnost vytvářet snímky disku. Jedná se o velmi užitečnou funkci, která vám umožní rychle a efektivně ukládat stavy disků i na běžících systémech.

Díky ZFS, automatické snímky budou spotřebovávat pouze deltu mezi aktuálním stavem a stavem, kdy byl snímek pořízen. To znamená, že pokud byl váš původní disk velký 15 GB a mezi snímkem a aktuálním stavem se změnil pouze 1 MB dat, velikost snímku bude 1 MB. Pokud na disk zapíšete další megabajt, snímek se rozroste o další megabajt.

Další krásou tohoto systému je, že jakýkoli snímek lze povýšit (naklonovat) na plnohodnotný diskový oddíl. To znamená, že můžete vytvořit nezávislou kopii, kterou lze připojit k serveru, a to potenciálně na zcela jiném úložném systému. Jako takový tvoří základ strategie správy úložiště (v závislosti na vaší pracovní zátěži).

Slovo varování

Ačkoli používání pravidelných snímků může být součástí vaší strategie zálohování, je nerozumné spoléhat se na snímky jako na jedinou strategii.

Existuje také řada situací, kdy použití těchto snímků nebude fungovat, například vytváření snímků běžícího databázového serveru. Funkce snímků může být stále užitečná na zastavených databázových serverech (pro vytvoření obnovy k určitému časovému okamžiku), ale opět by to neměla být vaše jediná strategie zálohování.

Vytváření automatických snímků

S využitím naší Python knihovny je automatizace snímků opravdu jednoduchá. Vzhledem k tomu, že však potřebujeme uložit přihlašovací údaje k CloudSigma v systému, který spouští snímky, důrazně vám nedoporučujeme vystavovat přihlašovací údaje k produkčním službám nezabezpečeným způsobem. Pokud to chcete spustit například na cloudovém serveru, ujistěte se, že je odstíněn od zbytku infrastruktury (například pomocí naší funkce síťových pravidel) a že je plně zabezpečen.

Po instalaci Python knihovny můžete stáhnout a spustit skript následovně:

[bash light=”true”] $ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot.py
$ python snapshot.py drive-uuid my-snapshot
[/bash]

snapshot.py přijímá dva argumenty:

  • UUID disku, jehož snímek chcete vytvořit
  • Srozumitelný název pro snímek

Poté, co jste ručně vytvořili snímek a ověřili, že funguje (můžete to vidět v sekci ‘snapshot’ disku), můžeme to nyní automatizovat.

Nejvhodnějším a nejstandardnějším způsobem spuštění takové úlohy by bylo použití crontab (za předpokladu, že používáte Linux nebo Mac OS X).

Pod stejným uživatelem, pod kterým jste vytvořili snímek výše, spusťte:
[bash light=”true”] $ crontab -e
[/bash]

Pokud chcete pořizovat snímek každou noc v 1:00, přidejte následující řádek:

Také si všimnete, že skript bude zapisovat protokoly do souboru s názvem snapshot.log v domovském adresáři uživatele, který skript spouští.

Automatické promazávání snímků

Vzhledem k tomu, že snímky postupem času rostou, budete je pravděpodobně chtít po nějaké době smazat. K vyřešení tohoto problému jsme vytvořili další skript, který to udělá za vás. Skript se nazývá snapshot_purge.py a přijímá dva argumenty:

  • UUID disku
  • Počet dní, po které chcete snímky uchovávat

Pokud například chcete uchovávat snímky za posledních 30 dní, můžete jednoduše spustit:
[bash light=”true”] $ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot_purge.py
$ python snapshot_purge.py drive-uuid 30
[/bash]

To samozřejmě můžete také automatizovat. Pokud například chceme promazat snímky starší než 30 dní, můžeme do našeho crontabu přidat následující (který se spustí v 1:30):

Shrnutí

To je vše, přátelé. Pomocí těchto dvou skriptů budete moci automatizovat snímky svých disků. Pokud potřebujete vytvářet snímky více disků, jednoduše přidejte do svého crontabu další řádky se snapshot.py s různými UUID.

Samozřejmě se dotýkáme pouze povrchu toho, co lze se snímky dělat, ale doufám, že to poslouží jako rychlý rychlokurz používání snímků pro vaše postupy správy úložiště.

Pokud máte sofistikovanější potřeby uchovávání dat, snad budete moci znovu použít část kódu z výše uvedených skriptů.

author

Viktor Petersson

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.