Funkcija posnetka datotečnega sistema Btrfs uporablja načelo kopiranja na zapis (CoW). Torej ne zajema veliko prostora na disku in lahko takoj posnamete posnetke podskupine.
Datotečni sistem Btrfs podpira dve vrsti posnetkov.
- Zapisljivi utrinki: Če posnamete posnetek, ki ga je mogoče zapisati, lahko datoteke / imenike posnetka kasneje spremenite. To je privzeta vrsta posnetka datotečnega sistema Btrfs.
- Utrinki samo za branje: Če posnamete posnetek samo za branje, datotek / imenikov tega posnetka kasneje ne morete spremeniti.
Ta članek vam bo pokazal, kako naredite posnetke podskupin datotečnega sistema Btrfs, ki jih je mogoče zapisati in jih lahko samo za branje. Pokazal vam bom tudi, kako posodobite posnetek za zapisovanje in obnovite datoteke iz posnetka. Pokazal vam bom, kako odstraniti tudi posnetek. Torej, začnimo.
Pogoji
Če želite preizkusiti primere tega članka,
- V računalniku morate imeti nameščen datotečni sistem Btrfs.
- Imeti morate trdi disk ali SSD z vsaj 1 brezplačno particijo (katere koli velikosti).
Imam 20 GB trdega diska sdb na mojem računalniku Ubuntu. Ustvaril sem 2 particiji sdb1 in sdb2 na tem trdem disku. Uporabil bom particijo sdb1 v tem članku.
$ sudo lsblk -e7
Vaš trdi disk ali SSD ima lahko drugačno ime kot moje, prav tako tudi particije. Zato jih odslej zamenjajte s svojimi.
Če potrebujete pomoč pri namestitvi datotečnega sistema Btrfs v Ubuntu, si oglejte moj članek Namestite in uporabite Btrfs v Ubuntu 20.04 LTS.
Če potrebujete kakršno koli pomoč pri namestitvi datotečnega sistema Btrfs v Fedori, si oglejte moj članek Namestite in uporabite Btrfs na Fedora 33.
Ustvarjanje datotečnega sistema Btrfs
Če želite eksperimentirati s podtipi Btrfs, morate ustvariti datotečni sistem Btrfs.
Če želite ustvariti datotečni sistem Btrfs z oznako podatkov na sdb1 particijo, zaženite naslednji ukaz:
$ sudo mkfs.btrfs -L data / dev / sdb1
Ustvariti je treba datotečni sistem Btrfs.
Ustvari imenik / podatki z naslednjim ukazom:
$ sudo mkdir -v / data
Če želite namestiti datotečni sistem Btrfs, ustvarjen na sdb1 particijo v / podatki imenik, zaženite naslednji ukaz:
$ sudo mount / dev / sdb1 / data
Datotečni sistem Btrfs je treba namestiti, kot lahko vidite na spodnjem posnetku zaslona.
$ df -h / podatki
Priprava datotečnega sistema Btrfs za posnetke
V Btrfs lahko posnamete samo posnetke podtipov Btrfs. Glavni koren datotečnega sistema Btrfs je prav tako podzvok. Torej lahko vzamete varnostno kopijo celotnega datotečnega sistema Btrfs in določenih podtipov.
Ta odsek bo ustvaril podzvok Btrfs / data / projects / web1 in ustvarite potrebne datoteke za naslednje oddelke tega članka spodaj. Ustvaril bom tudi imenik, v katerem boste lahko hranili svoje posnetke. V naslednjih razdelkih vam bom pokazal, kako narediti posnetke (zapisljive in samo za branje), posodobiti posnetek, ki ga je mogoče zapisati, in obnoviti datoteke iz posnetka. Torej, začnimo.
Najprej ustvarite nov imenik / podatki / projekti kot sledi:
$ sudo mkdir -v / data / projects
Ustvari nov podzvok splet1 v / podatki / projekti imenik, kot sledi:
$ sudo btrfs podzvok create / data / projects / web1
Ustvari novo datoteko indeks.html v / data / projects / web1 podglas, kot sledi:
$ sudo nano / data / projects / web1 / index.html
Vnesite naslednje vrstice kod v indeks.html mapa.
Pozdravljeni svet 4
Ko končate, pritisnite
Ustvari novo datoteko slog.css v / data / projects / web1 podglas, kot sledi:
$ sudo nano / data / projects / web1 / style.css
Vnesite naslednje vrstice kod v slog.css mapa.
h1barva: zelena;
Ko končate, pritisnite
Zdaj pa / data / projects / web1 podglasnik ima indeks.html in slog.css mapa.
$ ls -lh / data / projects / web1
Vse posnetke tega datotečnega sistema Btrfs želim shraniti v / podatki /.posnetki imenik.
Ustvari / podatki /.posnetki imenik z naslednjim ukazom:
$ sudo mkdir -v / data /.posnetki
Posnetek podzvoka
Če želite posneti posnetek / data / projects / web1 subvoluma v / podatki /.utrinki / web1-2020-12-25 imenik (bo ustvarjen samodejno), zaženite naslednji ukaz:
Posnetek podskupine $ sudo btrfs / data / projects / web1 / data /.utrinki / web1-2020-12-25
Posnetek / data / projects / web1 imenik je treba ustvariti na / podatki /.utrinki / web1-2020-12-25 imenik.
Kot lahko vidite na spodnjem posnetku zaslona, nov podvolumen .utrinki / web1-2020-12-25 je ustvarjen. Posnetek je pravzaprav subvolumen.
$ sudo btrfs seznam / podatki
Več informacij o posnetku, ki ste ga ustvarili, si lahko ogledate v / podatki /.utrinki / web1-2020-12-25 imenik, kot sledi:
$ sudo btrfs podzvok show / data /.utrinki / web1-2020-12-25
Kot lahko vidite, vse datoteke, ki so v / data / projects / web1 subvoluma so v / podatki /.utrinki / web1-2020-12-25 posnetek.
$ drevo -a / podatki
Obnavljanje datotek iz posnetkov
V tem razdelku vam bom pokazal, kako obnoviti datoteke s posnetkov Btrfs.
Najprej vam bom pokazal, kako obnovite eno datoteko s posnetka.
Odprite / data / projects / web1 / index.html datoteko z urejevalnikom besedil nano, kot sledi:
$ sudo nano / data / projects / web1 / index.html
Naredite vse spremembe, ki jih želite.
Ko končate, pritisnite
Kot lahko vidite, glavni indeks.html datoteka se razlikuje od datoteke indeks.html v posnetku.
$ cat / data / projects / web1 / index.html$ mačka / podatki /.utrinki / web1-2020-12-25 / index.html
Spremenili smo glavno indeks.html datoteka je nezaželena in želimo obnoviti datoteko indeks.html datoteko s posnetka.
Lahko obnovite indeks.html datoteka iz posnetka, kot sledi:
$ sudo cp -v / data /.utrinki / web1-2020-12-25 / index.html / data / projects / web1 / index.html
Kot lahko vidite, indeks.html datoteka je obnovljena iz posnetka.
$ cat / data / projects / web1 / index.html$ mačka / podatki /.utrinki / web1-2020-12-25 / index.html
Zdaj pa poglejmo, kako obnoviti vse datoteke / imenike s posnetka.
Odstranite vse datoteke iz / data / projects / web1 posnetek, kot sledi:
$ sudo rm -rv / data / projects / web1 / *
Če želite obnoviti vse datoteke / imenike s posnetka, zaženite naslednji ukaz:
$ sudo rsync -avz / data /.utrinki / web1-2020-12-25 / / data / projects / web1 /
Kot lahko vidite, se datoteke / imeniki obnovijo iz posnetka.
$ ls -lh / data / projects / web1
Na koncu poglejmo, kako obnoviti datoteke / imenike s posnetka v zrcalnem načinu. V zrcalnem načinu bodo datoteke / imeniki podzbirka enaki kot na posnetku. Če so v podvolumu datoteke / imeniki, ki na posnetku niso na voljo, bodo odstranjene.
Ustvarimo novo datoteko v podvolumu, da bomo razlikovali drevo datotek od posnetka.
Ustvariti PREBERI.txt v datoteki / data / projects / web1 podglas, kot sledi:
$ echo "hello world 5" | sudo tee / data / projects / web1 / README.txt
Kot lahko vidite, je drevo datotek / data / projects / web1 subvoluma se razlikuje od / podatki /.utrinki / web1-2020-12-25 posnetek.
$ drevo -a / podatki
Če želite obnoviti datoteke / imenike iz / podatki /.utrinki / web1-2020-12-25 posnetek v / data / projects / web1 subvoluma v zrcalnem načinu, zaženite naslednji ukaz:
$ sudo rsync -avz --delete / data /.utrinki / web1-2020-12-25 / / data / projects / web1 /
Vse datoteke / imeniki / data / projects / web1 podglasnik je treba obnoviti (v zrcalnem načinu) iz / podatki /.utrinki / web1-2020-12-25 posnetek.
Drevo datotek / data / projects / web1 podglasnik in / podatki /.utrinki / web1-2020-12-25 posnetek mora biti enak.
Kot lahko vidite, indeks.html datoteka in slog.css vsebina datoteke je enaka v / data / projects / web1 podglasnik in / podatki /.utrinki / web1-2020-12-25 posnetek.
Vsebina indeks.html in slog.css v datoteki / data / projects / web1 subvoluma.
$ cat / data / projects / web1 / index.html$ cat / data / projects / web1 / style.css
Vsebina indeks.html in slog.css v datoteki / podatki /.utrinki / web1-2020-12-25 posnetek.
$ cat / data / projects / web1 / index.html$ cat / data / projects / web1 / style.css
Posodabljanje posnetka
Datotečni sistem Btrfs privzeto naredi zapisljive posnetke. Posnetek Btrfs je tako kot podzvok. Torej lahko spremenite / posodobite datoteke / imenike zapisljivega posnetka.
Posodobimo indeks.html v datoteki / data / projects / web1 subvoluma.
Najprej odprite indeks.html datoteko iz / data / projects / web1 podglasnik z nano urejevalnik besedil, kot sledi:
$ sudo nano / data / projects / web1 / index.html
Naredite vse spremembe, ki jih želite. Ko končate, pritisnite
Kot lahko vidite, indeks.html datoteke / data / projects / web1 subvolumen se razlikuje od / podatki /.utrinki / web1-2020-12-25 posnetek.
$ cat / data / projects / web1 / index.html$ mačka / podatki /.utrinki / web1-2020-12-25 / index.html
Želite obdržati indeks.html datoteka / data / projects / web1 subvoluma.
Če želite posodobiti indeks.html v datoteki / podatki /.utrinki / web1-2020-12-25 posnetek, zaženite naslednji ukaz:
$ sudo cp -v / data / projects / web1 / index.html / data /.utrinki / web1-2020-12-25 / index.html
Kot lahko vidite, indeks.html datoteka / podatki /.utrinki / web1-2020-12-25 posnetek je posodobljen.
Posodabljanje posnetka je tako enostavno kot kopiranje novih datotek na posnetek.
Naredite posnetke podskupina samo za branje
Včasih nočete, da bi bili posnetki, ki ste jih naredili, kakor koli posodobljeni. V tem primeru lahko ustvarite posnetke samo za branje.
Na primer, da ustvarite posnetek samo za branje / podatki /.utrinki / web1-2020-12-26 od / data / projects / web1 subvolume, zaženite naslednji ukaz:
$ sudo btrfs posnetek podglasnika -r / data / projects / web1 / data /.utrinki / web1-2020-12-26
Kot lahko vidite, nov podvolumen .utrinki / web1-2020-12-26 je ustvarjen.
$ sudo btrfs seznam / podatki
Kot lahko vidite, posnetek / podatki /.utrinki / web1-2020-12-26 je samo za branje.
$ sudo btrfs podzvok show / data /.utrinki / web1-2020-12-26
Posodobimo indeks.html datoteko iz / data / projects / web1 subvoluma.
Če želite to narediti, odprite indeks.html datoteko iz / data / projects / web1 podglasnik z nano urejevalnik besedil, kot sledi:
$ sudo nano / data / projects / web1 / index.html
Izvedite želene spremembe. Ko končate, pritisnite
Kot lahko vidite, indeks.html v / data / projects / web1 subvoluma se razlikuje od / podatki /.utrinki / web1-2020-12-26 posnetek.
$ cat / data / projects / web1 / index.html$ mačka / podatki /.utrinki / web1-2020-12-26 / index.html
Poskusimo posodobiti indeks.html v datoteki / podatki /.utrinki / web1-2020-12-26 posnetek.
$ sudo cp -v / data / projects / web1 / index.html / data /.utrinki / web1-2020-12-26 / index.html
Kot lahko vidite, datoteke indeks.html datoteka / podatki /.utrinki / web1-2020-12-26 posnetek, ker je posnetek samo za branje.
Odstranjevanje posnetka
Prej sem vam že povedal, da je posnetek Btrfs podoben subvolumu. Torej lahko odstranite posnetek Btrfs, tako kot odstranite pod volumen Btrfs. Isti ukaz.
Tako je drevo datotek datotečnega sistema Btrfs nameščeno na / podatki imenik izgleda trenutno.
$ drevo -a / podatki
Odstranimo .utrinki / web1-2020-12-25 posnetek.
$ sudo btrfs seznam / podatki
Če želite odstraniti / podatki /.utrinki / web1-2020-12-25 posnetek, zaženite naslednji ukaz:
$ sudo btrfs subvolume delete / data /.utrinki / web1-2020-12-25
Kot lahko vidite, posnetek .utrinki / web1-2020-12-25 ni več.
$ sudo btrfs seznam / podatki
Kot lahko vidite, datoteke / imeniki / podatki /.utrinki / web1-2020-12-25 tudi posnetek je odstranjen.
$ drevo -a / podatki
Zaključek
Ta članek vam je pokazal, kako naredite posnetke podskupin datotečnega sistema Btrfs, ki jih je mogoče zapisati in jih lahko samo za branje. Pokazal sem vam tudi, kako posodobite posnetek, na katerega lahko pišete, in obnovite datoteke iz posnetka. Pokazal sem vam, kako odstraniti tudi posnetek Btrfs. Ta članek vam bo pomagal začeti s funkcijo posnetka Btrfs.