ZFS

ZFS-i hetktõmmiste õpetus

ZFS-i hetktõmmiste õpetus

Hetkepildid on olulised olenemata sellest, kas kasutate koduarvutis lihtsat virtuaalset masinat või kui tegemist on ettevõtte andmebaasiga, mida pidevalt värskendatakse ja muudetakse. Oluline on hetktõmmiste olemasolu, see tähendab kogu failisüsteemi koopia, nagu see oli teatud ajaperioodil.

Inimesed kaotavad sageli aru, kus asjad valesti läksid, fail kustutati ja keegi ei märganud, et see oleks kadunud. Mitu varukoopiat on möödunud ja nüüd mõistate, et kõigist viimase 5 nädala saadaolevatest varukoopiatest puudub oluline fail. Selles õpetuses näeme, kuidas kasutada ZFS-i hetktõmmiseid ja puudutada mitmesuguseid optimeeritult töötavaid hetkepildistamispõhimõtteid nii ressursside kasutamise kui ka taastatavuse osas.

Kopeeri-kirjuta-mehhanism

ZFS omab nii kõrgetasemelist ülevaadet failidest kui ka kataloogidest ja saab aru, kuidas andmed kettale kirjutatakse. Andmete füüsiliselt kettale kirjutamisel tehakse seda diskreetsete plokkidena. Tavaliselt võib ploki suurus ulatuda 1 MB-ni, kuid vaikimisi on see tavaliselt 128 KB. Nüüd tähendab see, et iga modifikatsioon (lugemine, kirjutamine või kustutamine) toimub diskreetsetes plokkides.

Kopeerimise kirjutamise mehhanism tagab, et alati, kui plokki muudetakse, teeb see selle asemel, et vahetult plokki muuta, sellest plokist koopia koos uuel plokil tehtud vajalike muudatustega.

See on eriti kasulik juhtudel, kui näiteks voolukatkestus on olemas ja teie süsteem jookseb kokku, kui kettale kirjutatakse uusi andmeid. Kui see juhtub traditsioonilises failisüsteemis, siis teie failid rikutakse või jäävad aukudesse. Kuid kui kasutate ZFS-i, võite käimasoleva tehingu kaotada, kuna see toimus, kuid teie failide viimane kehtiv olek jääb siiski puutumata.

Ka hetktõmmised toetuvad sellele funktsionaalsusele ja tegelikult üsna tugevalt. Antud andmekogumi hetktõmmise tegemisel ('andmekogum' on failisüsteemi ZFS-i termin), salvestab ZFS lihtsalt ajapildi, millal hetktõmmis tehti. See on kõik! Andmeid ei kopeerita ja täiendavat salvestusruumi ei tarbita.

Alles siis, kui failisüsteem muutub ja selles olevad andmed erinevad hetkepildist, hakkab hetktõmmis tarbima täiendavat salvestusruumi. See, mis kapoti all juhtub, on järgmine - ZFS hoiab neid vanade plokkide aja jooksul ümbertöötlemise asemel. See parandab ka salvestusruumi kasutamist. Kui teete 20 GB andmekogumi hetktõmmise ja muudate siin-seal vaid mõnda tekstifaili, võib hetktõmmis võtta ainult paar MB ruumi.


Piltide loomine

Hetkepiltide kasutamise demonstreerimiseks alustame andmete kogumiga, millel on palju tekstifaile, et asi oleks lihtne. Virtuaalmasin, mida demo jaoks kasutan, töötab FreeBSD 11-ga.1-RELEASE-p3, mis on uusim stabiilne väljaanne, mis selle kirjutamise ajal saadaval on. Juurfailisüsteem on paigaldatud null vaikimisi bassein ja paljud tuttavad kataloogid meeldivad / usr / src, / home jne on kõik nende enda ühendatud andmekogumid null. Kui te ei tea, mida bassein (või bassein) tähendab, tasuks ZFS-i rahvakeeles enne selle jätkamist sellest lugeda.

Üks paljudest failisüsteemidest või andmekogumitest, mis on FreeBSD-s vaikimisi saadaval, on: zroot / usr / src

Selle omaduste vaatamiseks käivitage järgmine käsk.

[meiliga kaitstud]: ~ $ zfs loend zroot / usr / src

Nagu näete, kasutab see 633 MB salvestusruumi. See sisaldab kogu operatsioonisüsteemi lähtepuud.

Teeme hetktõmmise zroot / usr / src

[meiliga kaitstud]: ~ $ zfs hetktõmmis zroot / usr / [meiliga kaitstud]

@ Sümbol toimib eraldajana andmekogumi ja hetktõmmise nime vahel, mis meie puhul on hetktõmmis1.

Vaatame nüüd hetktõmmise olekut selle loomisel.

Käivitades käsu:

zfs list -rt kõik zroot / usr / src

Näete, et hetktõmmis ei kasuta sündides lisaruumi. Samuti pole vaba ruumi, kuna see on rangelt loetav andmekogum, hetktõmmis ise ei saa kasvada, muuta ega kahaneda. Lõpuks pole seda kuhugi paigaldatud, mis muudab selle antud failisüsteemi hierarhiast täielikult eraldatuks.

Nüüd eemaldame sbin kataloogi / usr / src /

[meiliga kaitstud]: $ rm / usr / src / sbin

Pilti vaadates näete nüüd, et see on kasvanud,

See on eeldatav, kuna siin töötab kopeerimise-kirjutamise mehhanism ja failide kustutamine (või muutmine) on viinud selleni, et rohkem andmeid seostatakse ainult hetktõmmisega, mitte tegelikult kasutatava andmekogumiga.

Pange tähele ülaltoodud väljundis olevat veergu REFER. See annab teile andmekogumis ligipääsetavate andmete hulga, samas kui veerg KASUTATUD näitab lihtsalt, kui palju ruumi on füüsilisel kettal hõivatud.

ZFS-i kirjutamise-kopeerimise mehhanism annab sageli need vastuolulised tulemused, kus faili kustutades näib, nagu oleks praegu rohkem ruumi kasutatud kui varem. Olles aga seni lugenud, teate, mis tegelikult toimub!

Enne lõpetamist taastame sbin alates hetktõmmis1. Selleks lihtsalt käivitage:

[meiliga kaitstud]: / usr / src $ zfs tagasipöördumine zroot / usr / [meiliga kaitstud]

Snapshotting-poliitika

Järgmine küsimus on - kui tihti soovite pilte teha? Ehkki see võib ettevõttes erineda, võtame näite väga dünaamilisest andmebaasist, mis muutub nii sageli.

Alustuseks hakkaksite pilte tegema umbes iga 6 tunni tagant, kuid kuna andmebaas muutub nii palju, oleks peagi võimatu salvestada kõiki loodud arvukaid pilte. Nii et järgmine samm oleks puhastada hetkepilte, mis on vanemad kui näiteks 48 tundi.

Nüüd oleks probleem taastada midagi, mis on kadunud 49 tundi tagasi. Selle probleemi vältimiseks võite hoida ühe või kaks hetktõmmist sellest 48 tunni ajaloost ja hoida neid nädala jooksul. Puhastage nad, kui nad sellest vanemaks saavad.

Ja kui suudate seda teed jätkata, võiksite pildistada kuni süsteemi alguseni, vähenevas sageduse järjekorras. Lõpuks tahaksin märkida, et need hetktõmmised on AINULT LUGEMISEKS, mis tähendab, et kui nakatute lunavara abil ja kõik teie andmed krüptitakse (muudetud). Need hetktõmmised oleksid tõenäoliselt endiselt terved.

Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...
Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...