ZFS

Vodič za ZFS kratke snimke

Vodič za ZFS kratke snimke

Snimke su važne bez obzira imate li pokretanje jednostavnog virtualnog stroja na kućnom računalu ili se radi o poslovnoj bazi podataka koja se neprestano ažurira i modificira. Važno je imati snimke, odnosno kopiju cijelog datotečnog sustava kakav je bio u određenom vremenskom razdoblju.

Ljudi često izgube pojam o tome gdje su stvari krenule po zlu, datoteka je izbrisana i nitko nije primijetio da je nestala. Prošlo je nekoliko sigurnosnih kopija i sada shvaćate da važna datoteka nedostaje svim dostupnim sigurnosnim kopijama u zadnjih 5 tjedana. U ovom uputstvu vidjet ćemo kako koristiti ZFS snimke i dotaknuti se različitih politika snimanja koje bi radile optimalno, kako u pogledu korištenja resursa, tako i mogućnosti obnove.

Kopiraj-na -piši mehanizam

ZFS ima i pregled datoteka i direktorija na visokoj razini i razumije kako se podaci zapisuju na disk. Kada se fizički zapisuju podaci na disk, to se čini u diskretnim blokovima. Tipično, veličina bloka može doseći i 1 MB, ali zadana vrijednost je obično 128 KB. To znači da će se svaka modifikacija (čitanje, pisanje ili brisanje) dogoditi u diskretnim blokovima.

Mehanizam copy-on-write osigurava da kad god se blok izmijeni, umjesto da izravno modificira blok, napravi kopiju bloka sa potrebnim izmjenama učinjenim na novom bloku.

To je posebno korisno u slučajevima kada, recimo, dođe do nestanka struje i pada vam sustav dok su se novi podaci upisivali na disk. Ako se to dogodi u tradicionalnom datotečnom sustavu, vaše će se datoteke oštetiti ili ostati rupe u njima. Ali ako koristite ZFS, možda ćete izgubiti tekuću transakciju jer se to događalo, ali posljednje važeće stanje datoteka i dalje će ostati netaknuto.

Snimke se također oslanjaju na ovu funkcionalnost, i to u velikoj mjeri u stvari. Kada napravite snimku zadanog skupa podataka ('skup podataka' je ZFS izraz za datotečni sustav), ZFS samo bilježi vremensku oznaku kada je snimka napravljena. To je to! Podaci se ne kopiraju i ne troši se dodatna pohrana.

Tek kad se datotečni sustav promijeni i podaci u njemu odstupe od snimke, snimka počinje trošiti dodatnu pohranu. Ono što se događa ispod haube je sljedeće - Umjesto da stare blokove s vremenom reciklira, ZFS ih zadržava u blizini. Ovo također poboljšava iskorištenost pohrane. Ako snimite skup podataka od 20 GB i tu i tamo izmijenite samo nekoliko tekstualnih datoteka, snimka može zauzeti samo nekoliko MB prostora.


Izrada snimaka

Da bismo demonstrirali upotrebu snimaka, krenimo sa skupom podataka koji sadrži puno tekstualnih datoteka, samo da stvar bude jednostavna. Na virtualnom stroju koji ću koristiti za demonstraciju radi FreeBSD 11.1-RELEASE-p3 što je najnovije stabilno izdanje dostupno u vrijeme pisanja ovog članka. Korijenski datotečni sustav montiran je na zroot pool prema zadanim postavkama i mnoštvo poznatih direktorija poput / usr / src, / home, / itd su svi njihovi vlastiti skupovi podataka montirani na zroot. Ako ne znate što znači bazen (ili zpool), u ZFS narodnom jeziku bilo bi dobro pročitati ga prije nego što nastavite.

Jedan od mnogih datotečnih sustava ili skupova podataka koji se prema zadanim postavkama isporučuju na FreeBSD-u je: zroot / usr / src

Da biste pogledali njegova svojstva, pokrenite sljedeću naredbu.

[zaštićena e-poštom]: ~ $ zfs list zroot / usr / src

Kao što vidite, koristi 633 MB prostora za pohranu. Sadrži cijelo stablo izvora za operativni sustav.

Napravimo snimku zroot / usr / src

[zaštićena e-poštom]: ~ $ zfs snapshot zroot / usr / [zaštićena e-poštom]

Simbol @ djeluje kao graničnik između skupa podataka i naziva snimke, što je u našem slučaju snimka1.

Pogledajmo sada stanje snimke dok je stvorena.

Izvođenjem naredbe:

zfs list -rt sve zroot / usr / src

Možete vidjeti da snimka ne koristi dodatni prostor kad se rodi. Nema ni dostupnog prostora, jer je riječ o strogo čitanom skupu podataka, sama snimka ne može rasti, mijenjati ili smanjivati. Na kraju, nije nigdje montiran što ga čini potpuno izoliranim od zadane hijerarhije datotečnog sustava.

Uklonimo sada sbin imenik u / usr / src /

[zaštićena e-poštom]: $ rm / usr / src / sbin

Gledajući snimak vidjet ćete da je narastao,

To se očekuje jer ovdje djeluje mehanizam kopiranja i pisanja, a brisanje (ili modificiranje) datoteka dovelo je do toga da je veći broj podataka pridružen samo snimci, a ne i skupu podataka koji se stvarno koristi.

Primijetite stupac REFER u gornjem izlazu. Daje vam količinu dostupnih podataka na skupu podataka, dok USED stupac samo pokazuje koliko je prostora zauzeto na fizičkom disku.

ZFS-ov mehanizam Copy-On-Write često daje ove kontraintuitivne rezultate gdje bi brisanjem datoteke izgledalo kao da se sada koristi više prostora nego prije. Međutim, pročitavši dosad, znate što se zapravo događa!

Prije završetka, vratimo sbin iz snimka1. Da biste to učinili, jednostavno pokrenite:

[e-pošta zaštićena]: / usr / src $ zfs vraćanje zroot / usr / [e-pošta zaštićena]

Pravila snimanja

Sljedeće pitanje koje treba postaviti je - Koliko često želite napraviti snimke? Iako se to može razlikovati od jednog poduzeća do drugog, uzmimo primjer vrlo dinamične baze podataka koja se mijenja svako toliko.

Za početak biste počeli snimati snimke svakih 6 sati ili tako nekako, ali budući da se baza podataka toliko mijenja, ubrzo bi postalo neizvedivo pohraniti sve brojne snimke koji su stvoreni. Dakle, sljedeći bi korak bio uklanjanje snimaka starijih od, recimo, 48 sati.

Sada bi problem bio oporaviti nešto što je izgubljeno prije 49 sati. Da biste zaobišli ovaj problem, možete sačuvati jedan ili dva snimka iz te 48-satne povijesti i zadržati ih tjedan dana. Očistite ih kad postanu stariji od toga.

I ako možete nastaviti ovim putem, mogli biste strpati snimke do same geneze sustava, samo u opadajućem redoslijedu učestalosti. Na kraju, želio bih naglasiti da su ove snimke SAMO ZA ČITANJE, što znači ako se zarazi ransomwareom i ako svi vaši podaci budu šifrirani (modificirani). Ti bi snimci, najvjerojatnije, još uvijek bili netaknuti.

Vodič za bitku za Wesnoth
Bitka za Wesnoth jedna je od najpopularnijih strateških igara otvorenog koda koje trenutno možete igrati. Ne samo da se ova igra razvija već jako dugo...
0 A.D. Vodič
Od mnogih strateških igara tamo, 0 A.D. uspijeva se istaknuti kao sveobuhvatan naslov i vrlo duboka, taktička igra unatoč tome što je otvoren izvor. R...
Vodič za Unity3D
Uvod u Unity 3D Unity 3D moćan je motor za razvoj igara. Cross platforma je to što vam omogućuje stvaranje igara za mobilne uređaje, web, stolne račun...