Btrfs

Kako se koriste Btrfs snimke

Kako se koriste Btrfs snimke
Datotečni sustav Btrfs ima ugrađenu podršku za snimke na razini datotečnog sustava. Možete stvoriti subvolumen u svom datotečnom sustavu Btrfs i napraviti snimke datoteka / direktorija u tom subvolumu. Snimkom potzvuka spremit ćete stanje datoteka / direktorija u tom podvolumenu. Iz snimke možete oporaviti bilo koju datoteku / direktorij potzvuka u slučaju da vam zatreba.

Značajka snimke Btrfs datotečnog sustava koristi načelo Copy-on-Write (CoW). Dakle, ne zauzima puno prostora na disku i možete odmah snimiti snimke subvoluma.

Datotečni sustav Btrfs podržava 2 vrste snimki.

  1. Snimke za pisanje: Ako napravite snimak za snimanje, datoteke / direktorije tog snimka možete kasnije izmijeniti. Ovo je zadana vrsta snimke datotečnog sustava Btrfs.
  2. Snimke samo za čitanje: Ako napravite snimku samo za čitanje, datoteke / direktorije te snimke ne možete kasnije mijenjati.

Ovaj će vam članak pokazati kako napraviti snimke vaših podsvjesa datotečnog sustava Btrfs koji se mogu zapisati i koji su samo za čitanje. Pokazat ću vam i kako ažurirati snimak koji se može zapisati i oporaviti datoteke iz snimke. Pokazat ću vam i kako ukloniti snimku. Pa, krenimo.

Preduvjeti

Da isprobate primjere ovog članka,

Imam tvrdi disk od 20 GB sdb na mom Ubuntu stroju. Stvorio sam 2 particije sdb1 i sdb2 na ovom tvrdom disku. Koristit ću particiju sdb1 u ovom članku.

$ sudo lsblk -e7

Tvrdi disk ili SSD mogu se razlikovati od mojih, pa tako i particije. Pazite da ih od sada zamijenite svojim.

Ako vam je potrebna bilo kakva pomoć pri instaliranju datotečnog sustava Btrfs na Ubuntu, pogledajte moj članak Instalirajte i koristite Btrfs na Ubuntu 20.04 LTS.

Ako vam je potrebna bilo kakva pomoć oko instaliranja datotečnog sustava Btrfs na Fedori, pogledajte moj članak Instalirajte i koristite Btrfs na Fedori 33.

Stvaranje Btrfs datotečnog sustava

Da biste eksperimentirali s Btrfs podzvukovima, morate stvoriti Btrfs datotečni sustav.

Da biste stvorili Btrfs datotečni sustav s oznakom podaci na sdb1 particiju, pokrenite sljedeću naredbu:

$ sudo mkfs.btrfs -L data / dev / sdb1

Treba stvoriti Btrfs datotečni sustav.

Stvorite direktorij /podaci sa sljedećom naredbom:

$ sudo mkdir -v / podaci

Za montiranje Btrfs datotečnog sustava stvorenog na sdb1 particija u /podaci direktorija, pokrenite sljedeću naredbu:

$ sudo mount / dev / sdb1 / data

Datotečni sustav Btrfs trebao bi biti montiran kao što možete vidjeti na snimci zaslona u nastavku.

$ df -h / podataka

Priprema datotečnog sustava Btrfs za snimke

U Btrfsu možete snimati snimke samo Btrfs podvoluma. Glavni korijen Btrfs datotečnog sustava također je subvolumen. Dakle, možete uzeti sigurnosnu kopiju cijelog Btrfs datotečnog sustava, kao i određenih potvoluma.

Ovaj će odjeljak stvoriti Btrfs podzvuk / data / projects / web1 i stvorite potrebne datoteke za sljedeće odjeljke ovog članka u nastavku. Također ću stvoriti direktorij u kojem možete čuvati svoje snimke. U sljedećim odjeljcima pokazat ću vam kako napraviti snimke (za pisanje i samo za čitanje), ažurirati snimku koja se može zapisati i oporaviti datoteke iz snimke. Pa, krenimo.

Prvo stvorite novi direktorij / podaci / projekti kako slijedi:

$ sudo mkdir -v / podaci / projekti

Stvorite novi subvolumen web1 u / podaci / projekti direktorij kako slijedi:

$ sudo btrfs potzvuk create / data / projects / web1

Stvorite novu datoteku indeks.html u / data / projects / web1 subvoluma kako slijedi:

$ sudo nano / data / projects / web1 / index.html

Upišite sljedeće retke kodova u indeks.html datoteka.




Demo web stranica



Pozdrav svijetu 4



Kada završite, pritisnite + x nakon čega slijedi Y i spasiti indeks.html datoteka.

Stvorite novu datoteku stil.css u / data / projects / web1 subvoluma kako slijedi:

$ sudo nano / data / projects / web1 / style.css

Upišite sljedeće retke kodova u stil.css datoteka.

h1
boja: zelena;

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti stil.css datoteka.

Sada, / data / projects / web1 subvolumen ima indeks.html i stil.css datoteka.

$ ls -lh / data / projects / web1

Želim zadržati sve snimke ovog datotečnog sustava Btrfs u /podaci/.snimke imenik.

Stvorite /podaci/.snimke direktorij sa sljedećom naredbom:

$ sudo mkdir -v / podaci /.snimke

Snimanje podsluša

Da napravite snimku / data / projects / web1 subvoluma u /podaci/.snimke / web1-2020-12-25 direktorij (stvorit će se automatski), pokrenite sljedeću naredbu:

$ sudo btrfs snimka podslušaja / data / projects / web1 / data /.snimke / web1-2020-12-25

Snimka / data / projects / web1 direktorij treba stvoriti na /podaci/.snimke / web1-2020-12-25 imenik.

Kao što možete vidjeti na donjoj snimci zaslona, ​​novi subvolumen .snimke / web1-2020-12-25 je stvorena. Snimka je zapravo subvolumen.

$ sudo btrfs popis / podatak volumena

Više informacija o snimci koju ste stvorili možete vidjeti u /podaci/.snimke / web1-2020-12-25 direktorij kako slijedi:

$ sudo btrfs subvolumen show / data /.snimke / web1-2020-12-25

Kao što vidite, sve datoteke koje se nalaze u / data / projects / web1 subvoluma su u /podaci/.snimke / web1-2020-12-25 snimak.

$ stablo -a / podaci

Oporavak datoteka sa snimaka

U ovom odjeljku pokazat ću vam kako oporaviti datoteke iz Btrfs snimaka.

Prvo ću vam pokazati kako oporaviti jednu datoteku iz snimke.

Otvori / data / projects / web1 / index.html datoteka s uređivačem nano teksta kako slijedi:

$ sudo nano / data / projects / web1 / index.html

Unesite željene promjene.

Kada završite, pritisnite + x nakon čega slijedi Y i za spremanje datoteke.

Kao što vidite, glavni indeks.html datoteka se razlikuje od datoteke indeks.html datoteku u snimci.

$ cat / data / projects / web1 / index.html
$ mačka / podaci /.snimke / web1-2020-12-25 / index.html

Izmijenili smo glavno indeks.html datoteke su neželjene i želimo oporaviti datoteku indeks.html datoteka sa snimke.

Možete vratiti indeks.html datoteka sa snimke kako slijedi:

$ sudo cp -v / podaci /.snimke / web1-2020-12-25 / index.html / data / projects / web1 / index.html

Kao što vidite, indeks.html datoteka se vraća iz snimke.

$ cat / data / projects / web1 / index.html
$ mačka / podaci /.snimke / web1-2020-12-25 / index.html

Sada, da vidimo kako oporaviti sve datoteke / direktorije sa snimke.

Uklonite sve datoteke s / data / projects / web1 snimka kako slijedi:

$ sudo rm -rv / data / projects / web1 / *

Za oporavak svih datoteka / direktorija sa snimke pokrenite sljedeću naredbu:

$ sudo rsync -avz / data /.snimke / web1-2020-12-25 / / data / projects / web1 /

Kao što vidite, datoteke / direktoriji se obnavljaju sa snimke.

$ ls -lh / data / projects / web1

Napokon, pogledajmo kako oporaviti datoteke / direktorije sa snimke u zrcalnom načinu. U zrcalnom načinu datoteke / direktoriji podvoluma bit će iste kao u snimci. Ako u potzvuku postoje datoteke / direktoriji koji nisu dostupni na snimci, uklonit će se.

Stvorimo novu datoteku u potvolumu kako bismo razlikovali stablo datoteka od snimke.

Stvoriti Pročitaj me.txt datoteku u / data / projects / web1 subvoluma kako slijedi:

$ echo "hello world 5" | sudo tee / podaci / projekti / web1 / README.txt

Kao što vidite, stablo datoteka / data / projects / web1 subvolumen se razlikuje od /podaci/.snimke / web1-2020-12-25 snimak.

$ stablo -a / podaci

Da biste vratili datoteke / direktorije s /podaci/.snimke / web1-2020-12-25 snimka na / data / projects / web1 subvoluma u zrcalnom načinu, pokrenite sljedeću naredbu:

$ sudo rsync -avz --delete / data /.snimke / web1-2020-12-25 / / data / projects / web1 /

Sve datoteke / direktoriji / data / projects / web1 subvolumen bi trebao biti obnovljen (u zrcalnom načinu) s /podaci/.snimke / web1-2020-12-25 snimak.

Stablo datoteka / data / projects / web1 subvolumen i /podaci/.snimke / web1-2020-12-25 snimka bi trebala biti ista.

Kao što vidite, indeks.html datoteka i stil.Sadržaj css datoteke isti je u / data / projects / web1 subvolumen i /podaci/.snimke / web1-2020-12-25 snimak.

Sadržaj indeks.html i stil.css datoteku u / data / projects / web1 subvolumen.

$ cat / data / projects / web1 / index.html
$ mačka / podaci / projekti / web1 / stil.css

Sadržaj indeks.html i stil.css datoteku u /podaci/.snimke / web1-2020-12-25 snimak.

$ cat / data / projects / web1 / index.html
$ mačka / podaci / projekti / web1 / stil.css

Ažuriranje snimke

Prema zadanim postavkama, datotečni sustav Btrfs izrađuje snimljive snimke. Btrfs snimka je poput podskuha. Dakle, možete mijenjati / ažurirati datoteke / direktorije snimke snimke.

Ažurirajmo indeks.html datoteku u / data / projects / web1 subvolumen.

Prvo otvorite indeks.html datoteka iz / data / projects / web1 subvoluma s nano uređivač teksta kako slijedi:

$ sudo nano / data / projects / web1 / index.html

Unesite željene promjene. Kada završite, pritisnite + x nakon čega slijedi Y i spasiti indeks.html datoteka.

Kao što vidite, indeks.html datoteku / data / projects / web1 subvolumen se razlikuje od /podaci/.snimke / web1-2020-12-25 snimak.

$ cat / data / projects / web1 / index.html
$ mačka / podaci /.snimke / web1-2020-12-25 / index.html

Želite zadržati indeks.html kartoteka / data / projects / web1 subvolumen.

Ažurirati indeks.html datoteku u /podaci/.snimke / web1-2020-12-25 snapshot, pokrenite sljedeću naredbu:

$ sudo cp -v / data / projects / web1 / index.html / podaci /.snimke / web1-2020-12-25 / index.html

Kao što vidite, indeks.html kartoteka /podaci/.snimke / web1-2020-12-25 snimka je ažurirana.

Ažuriranje snimke lako je poput kopiranja novih datoteka na snimku.

Snimanje snimki potzvuka samo za čitanje

Ponekad ne želite da se snimke koje ste snimili ni na koji način ažuriraju. U tom slučaju možete stvoriti snimke samo za čitanje.

Na primjer, za stvaranje snimke samo za čitanje /podaci/.snimke / web1-2020-12-26 od / data / projects / web1 subvoluma, pokrenite sljedeću naredbu:

$ sudo btrfs snimka podslušaja -r / data / projects / web1 / data /.snimke / web1-2020-12-26

Kao što vidite, novi subvolumen .snimke / web1-2020-12-26 je stvorena.

$ sudo btrfs popis / podatak volumena

Kao što vidite, snimka /podaci/.snimke / web1-2020-12-26 je samo za čitanje.

$ sudo btrfs subvolumen show / data /.snimke / web1-2020-12-26

Ažurirajmo indeks.html datoteka iz / data / projects / web1 subvolumen.

Da biste to učinili, otvorite indeks.html datoteka iz / data / projects / web1 subvoluma s nano uređivač teksta kako slijedi:

$ sudo nano / data / projects / web1 / index.html

Unesite željene promjene. Kada završite, pritisnite + x nakon čega slijedi Y i za spremanje promjena.

Kao što vidite, indeks.html u / data / projects / web1 subvolumen se razlikuje od /podaci/.snimke / web1-2020-12-26 snimak.

$ cat / data / projects / web1 / index.html
$ mačka / podaci /.snimke / web1-2020-12-26 / index.html

Pokušajmo ažurirati indeks.html datoteku u /podaci/.snimke / web1-2020-12-26 snimak.

$ sudo cp -v / data / projects / web1 / index.html / podaci /.snimke / web1-2020-12-26 / index.html

Kao što vidite, ne možete ažurirati indeks.html kartoteka /podaci/.snimke / web1-2020-12-26 snimak jer je snimak samo za čitanje.

Uklanjanje snimke

Rekao sam vam ranije da je Btrfs snimka poput subvoluma. Dakle, možete ukloniti Btrfs snimku baš kao što uklonite Btrfs potzvuk. Ista naredba.

Ovo je način na koji je stablo datoteka Btrfs datotečnog sustava postavljeno na /podaci direktorij izgleda trenutno.

$ stablo -a / podaci

Uklonimo .snimke / web1-2020-12-25 snimak.

$ sudo btrfs popis / podatak volumena

Da biste uklonili /podaci/.snimke / web1-2020-12-25 snapshot, pokrenite sljedeću naredbu:

$ sudo btrfs subvolume delete / data /.snimke / web1-2020-12-25

Kao što vidite, snimka .snimke / web1-2020-12-25 više nema.

$ sudo btrfs popis / podatak volumena

Kao što vidite, datoteke / direktoriji /podaci/.snimke / web1-2020-12-25 uklanja se i snimka.

$ stablo -a / podaci

Zaključak

Ovaj vam je članak pokazao kako možete snimiti snimke podsvjesa datotečnog sustava Btrfs koji se mogu zapisati i koje su samo za čitanje. Također sam vam pokazao kako ažurirati snimak koji se može zapisati i oporaviti datoteke iz snimke. Pokazao sam vam kako ukloniti i Btrfs snimku. Ovaj bi vam članak trebao pomoći da započnete sa značajkom snimke Btrfs.

Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...