Natrag na blog

Upravljanje pohranom s automatskim periodičnim snimkama

Upravljanje pohranom s automatskim periodičnim snimkama

Prije nekog vremena uveli smo mogućnost izrade snimki diska. Ovo je vrlo korisna značajka koja vam omogućuje brzo i učinkovito spremanje stanja diska čak i na aktivnim sustavima.

Zahvaljujući ZFS, automatske snimke trošit će samo deltu između trenutnog stanja i trenutka kada je snimka napravljena. To znači da ako je vaš originalni disk bio 15 GB, a samo se 1 MB podataka promijenio između snimke i trenutnog stanja, veličina snimke bit će 1 MB. Ako na disk zapišete još jedan megabajt, snimka će narasti za još jedan megabajt.

Još jedna ljepota ovog sustava je u tome što se svaka snimka može promovirati (klonirati) u puni disk. To znači da možete stvoriti neovisnu kopiju koja se može montirati na poslužitelj, potencijalno na potpuno drugom sustavu za pohranu. Kao takvo, ovo čini temelj strategije upravljanja pohranom (ovisno o vašem opterećenju).

Riječ upozorenja

Iako korištenje periodičkih snimki može biti dio vaše strategije sigurnosnog kopiranja, nerazumno je oslanjati se na snimke kao jedinu strategiju.

Također postoje brojne situacije u kojima korištenje ovih snimki neće raditi, poput stvaranja snimke aktivnog poslužitelja baze podataka. Funkcionalnost snimanja i dalje može biti korisna na zaustavljenim poslužiteljima baza podataka (za stvaranje obnove u određenom trenutku), ali opet, to ne bi trebala biti vaša jedina strategija sigurnosnog kopiranja.

Stvaranje automatskih snimki

Korištenjem naše Python knjižnice, automatizacija snimki je stvarno jednostavna. Međutim, s obzirom na to da moramo pohraniti CloudSigma vjerodajnice na sustavu koji pokreće snimke, izričito vam savjetujemo da ne izlažete vjerodajnice produkcijskih usluga na nesiguran način. Ako ovo želite pokrenuti na poslužitelju u oblaku, na primjer, provjerite je li zaštićen od ostatka infrastrukture (kao što je korištenje naše značajke mrežnih pravila) i da je potpuno zaključan.

Nakon instaliranja Python knjižnice, možete preuzeti i pokrenuti skriptu na sljedeći način:

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

snapshot.py prima dva argumenta:

  • UUID diska čiju snimku želite napraviti
  • Prepoznatljivo ime za snimku

Nakon što ste ručno izradili snimku i potvrdili da radi (to možete vidjeti u odjeljku ‘snapshot’ diska), sada to možemo automatizirati.

Najprikladniji i najstandardiziraniji način pokretanja ovakvog zadatka bio bi putem crontab-a (pod pretpostavkom da ste na Linuxu ili Mac OS X-u).

S istim korisnikom s kojim ste stvorili gornju snimku pokrenite:
[bash light=”true”] $ crontab -e
[/bash]

Ako želite napraviti snimku svake noći u 1 sat ujutro, dodajte sljedeći redak:

Također ćete primijetiti da će skripta bilježiti podatke u datoteku pod nazivom snapshot.log u matičnom direktoriju korisnika koji pokreće skriptu.

Automatsko brisanje snimki

Budući da snimke s vremenom rastu, vjerojatno ćete ih htjeti izbrisati nakon nekog vremena. Kako bismo riješili ovaj problem, stvorili smo još jednu skriptu koja to može učiniti umjesto vas. Skripta se zove snapshot_purge.py i prima dva argumenta:

  • UUID diska
  • Broj dana za koje želite zadržati snimke

Na primjer, ako želite zadržati snimke za zadnjih 30 dana, možete jednostavno pokrenuti:
[bash light=”true”] $ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot_purge.py
$ python snapshot_purge.py drive-uuid 30
[/bash]

Naravno, i ovo možete automatizirati. Na primjer, ako želimo obrisati snimke starije od 30 dana, možemo dodati sljedeće u naš crontab (koji će se pokrenuti u 1:30 ujutro):

Zaključak

To je to, ljudi. Koristeći ove dvije skripte, moći ćete automatizirati snimke svojih pogona. Ako trebate napraviti snimke više pogona, jednostavno dodajte više redaka snapshot.py u svoj crontab s različitim UUID-ovima.

Naravno, ovime smo samo zagrebali po površini onoga što možemo učiniti sa snimkama, ali se nadam da će ovo poslužiti kao brzi tečaj o korištenju snimki za vaše rutine upravljanja pohranom.

Ako imate sofisticiranije potrebe za zadržavanjem podataka, nadamo se da možete ponovno iskoristiti dio koda iz gornjih skripti.

author

Viktor Petersson

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.