Btrfs

Kā izmantot Btrfs momentuzņēmumus

Kā izmantot Btrfs momentuzņēmumus
Btrfs failu sistēmā ir iebūvēts failu sistēmas līmeņa momentuzņēmumu atbalsts. Jūs varat izveidot apakšapjomu savā Btrfs failu sistēmā un uzņemt momentus no failiem / direktorijiem šajā apakšapjomā. Uzņemot apakšapjoma momentuzņēmumu, tiks saglabāts šajā apakšapjomā esošo failu / direktoriju stāvoklis. Varat no momentuzņēmuma atgūt visus apakšapjoma failus / direktorijus, ja tas jums nepieciešams.

Btrfs failu sistēmas momentuzņēmuma funkcija izmanto principu Copy-on-Write (CoW). Tātad, tas neaizņem daudz vietas diskā, un jūs varat uzreiz uzņemt apakšapjoma momentuzņēmumus.

Btrfs failu sistēma atbalsta divu veidu momentuzņēmumus.

  1. Rakstāmi momentuzņēmumi: Ja uzņemat rakstāmu momentuzņēmumu, vēlāk varat modificēt šī momentuzņēmuma failus / direktorijus. Šis ir Btrfs failu sistēmas noklusējuma momentuzņēmuma tips.
  2. Tikai lasāmi momentuzņēmumi: Ja uzņemat tikai lasāmu momentuzņēmumu, vēlāk nevar modificēt šī momentuzņēmuma failus / direktorijus.

Šis raksts parādīs, kā uzņemt Btrfs failu sistēmas apakšapjomu rakstāmus un tikai lasāmus momentuzņēmumus. Es jums parādīšu arī to, kā atjaunināt rakstāmu momentuzņēmumu un atgūt failus no momentuzņēmuma. Es jums parādīšu, kā noņemt arī momentuzņēmumu. Tātad, sāksim darbu.

Priekšnoteikumi

Lai izmēģinātu šī raksta piemērus,

Man ir 20 GB cietais disks SDB manā Ubuntu mašīnā. Esmu izveidojis 2 nodalījumus sdb1 un sdb2 šajā cietajā diskā. Es izmantošu nodalījumu sdb1 šajā rakstā.

$ sudo lsblk -e7

Jūsu cietajam diskam vai SSD var būt cits nosaukums nekā manam, tāpēc būs arī nodalījumi. Tātad, turpmāk noteikti nomainiet tos ar savējiem.

Ja jums nepieciešama palīdzība, instalējot Btrfs failu sistēmu Ubuntu, pārbaudiet manu rakstu Instalējiet un izmantojiet Btrfs Ubuntu 20.04 LTS.

Ja jums nepieciešama palīdzība, instalējot Btrfs failu sistēmu Fedora, pārbaudiet manu rakstu Instalējiet un izmantojiet Btrfs vietnē Fedora 33.

Btrfs failu sistēmas izveide

Lai eksperimentētu ar Btrfs apakšapjomiem, jāizveido Btrfs failu sistēma.

Lai izveidotu Btrfs failu sistēmu ar etiķeti dati uz sdb1 nodalījumā palaidiet šādu komandu:

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

Jāizveido Btrfs failu sistēma.

Izveidojiet direktoriju / dati ar šādu komandu:

$ sudo mkdir -v / data

Lai pievienotu Btrfs failu sistēmu, kas izveidota vietnē sdb1 nodalījums / dati direktorijā, izpildiet šādu komandu:

$ sudo mount / dev / sdb1 / data

Btrfs failu sistēma ir jāuzstāda, kā redzat zemāk redzamajā ekrānuzņēmumā.

$ df -h / dati

Btrfs failu sistēmas sagatavošana momentuzņēmumiem

Programmā Btrfs varat uzņemt tikai Btrfs apakšapjomu momentuzņēmumus. Btrfs failu sistēmas galvenā sakne ir arī apakšapjoms. Tātad, jūs varat veikt visas Btrfs failu sistēmas, kā arī konkrētu apakšapjomu dublējumu.

Šajā sadaļā tiks izveidots Btrfs apakšapjoms / dati / projekti / tīmeklis1 un izveidojiet nepieciešamos failus šī raksta nākamajām sadaļām. Es izveidošu arī direktoriju, kurā jūs varat saglabāt savus momentuzņēmumus. Nākamajās sadaļās es parādīšu, kā uzņemt momentuzņēmumus (rakstāmus un tikai lasāmus), atjaunināt rakstāmu momentuzņēmumu un atgūt failus no momentuzņēmuma. Tātad, sāksim darbu.

Vispirms izveidojiet jaunu direktoriju / dati / projekti sekojoši:

$ sudo mkdir -v / data / projekti

Izveidojiet jaunu apakšapjomu tīmeklis1 iekš / dati / projekti direktoriju šādi:

$ sudo btrfs apakšapjoms izveidot / dati / projekti / web1

Izveidojiet jaunu failu indekss.html iekš / dati / projekti / tīmeklis1 šādi:

$ sudo nano / dati / projekti / web1 / indekss.html

Ierakstiet nākamās kodu rindas kodā indekss.html failu.




Demonstrācijas vietne



Sveika pasaule 4



Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu indekss.html failu.

Izveidojiet jaunu failu stils.css iekš / dati / projekti / tīmeklis1 šādi:

$ sudo nano / dati / projekti / web1 / stils.css

Ierakstiet nākamās kodu rindas kodā stils.css failu.

h1
krāsa: zaļa;

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu stils.css failu.

Tagad / dati / projekti / tīmeklis1 apakšapjomam ir indekss.html un stils.css failu.

$ ls -lh / dati / projekti / tīmeklis1

Es vēlos saglabāt visus šīs Btrfs failu sistēmas momentuzņēmumus / dati /.momentuzņēmumi direktorijā.

Izveidojiet / dati /.momentuzņēmumi direktoriju ar šādu komandu:

$ sudo mkdir -v / data /.momentuzņēmumi

Apakšapjoma momentuzņēmumu uzņemšana

Lai uzņemtu momentuzņēmumu / dati / projekti / tīmeklis1 apjomu / dati /.momentuzņēmumi / web1-2020-12-25 direktorijā (tiks izveidots automātiski), izpildiet šādu komandu:

$ sudo btrfs apakšapjoma momentuzņēmums / dati / projekti / web1 / dati /.momentuzņēmumi / web1-2020-12-25

Momentuzņēmums / dati / projekti / tīmeklis1 direktorija jāizveido / dati /.momentuzņēmumi / web1-2020-12-25 direktorijā.

Kā redzat zemāk redzamajā ekrānuzņēmumā, jauns apakšapjoms .momentuzņēmumi / web1-2020-12-25 ir izveidots. Momentuzņēmums faktiski ir apakšapjoms.

$ sudo btrfs apakšapjoma saraksts / dati

Sīkāku informāciju par izveidoto momentuzņēmumu varat skatīt vietnē / dati /.momentuzņēmumi / web1-2020-12-25 direktoriju šādi:

$ sudo btrfs subwolume show / data /.momentuzņēmumi / web1-2020-12-25

Kā redzat, visi faili, kas atrodas / dati / projekti / tīmeklis1 apakšapjoms ir / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums.

$ koks -a / dati

Failu atkopšana no momentuzņēmumiem

Šajā sadaļā es jums parādīšu, kā atkopt failus no Btrfs momentuzņēmumiem.

Pirmkārt, es jums parādīšu, kā no momentuzņēmuma atgūt vienu failu.

Atveriet / dati / projekti / web1 / indekss.html failu ar nano teksta redaktoru šādi:

$ sudo nano / dati / projekti / web1 / indekss.html

Veiciet visas nepieciešamās izmaiņas.

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu failu.

Kā redzat, galvenais indekss.html fails atšķiras no indekss.html failu momentuzņēmumā.

$ cat / dati / projekti / web1 / indekss.html
$ cat / data /.momentuzņēmumi / web1-2020-12-25 / index.html

Mēs esam veikuši izmaiņas galvenajā indekss.html fails ir nevēlams, un mēs vēlamies to atgūt indekss.html failu no momentuzņēmuma.

Jūs varat atjaunot indekss.html failu no momentuzņēmuma šādi:

$ sudo cp -v / data /.momentuzņēmumi / web1-2020-12-25 / index.html / dati / projekti / web1 / indekss.html

Kā redzat, indekss.html fails tiek atjaunots no momentuzņēmuma.

$ cat / dati / projekti / web1 / indekss.html
$ cat / data /.momentuzņēmumi / web1-2020-12-25 / index.html

Tagad redzēsim, kā no momentuzņēmuma atgūt visus failus / direktorijus.

Noņemiet visus failus no / dati / projekti / tīmeklis1 momentuzņēmums šādi:

$ sudo rm -rv / dati / projekti / web1 / *

Lai atgūtu visus failus / direktorijus no momentuzņēmuma, izpildiet šādu komandu:

$ sudo rsync -avz / data /.momentuzņēmumi / web1-2020-12-25 / / dati / projekti / web1 /

Kā redzat, faili / direktoriji tiek atjaunoti no momentuzņēmuma.

$ ls -lh / dati / projekti / tīmeklis1

Visbeidzot, redzēsim, kā spoguļa režīmā atgūt failus / direktorijus no momentuzņēmuma. Spoguļa režīmā apakšapjoma faili / direktoriji būs tādi paši kā momentuzņēmumā. Ja apakšapjomā ir kādi faili / direktoriji, kas momentuzņēmumā nav pieejami, tie tiks noņemti.

Apakšapjomā izveidosim jaunu failu, lai failu koku atšķirtu no momentuzņēmuma.

Izveidojiet a LASĪT.txt failu / dati / projekti / tīmeklis1 šādi:

$ echo "sveika pasaule 5" | sudo tee / dati / projekti / web1 / README.txt

Kā redzat, faila koks / dati / projekti / tīmeklis1 apakšapjoms atšķiras no / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums.

$ koks -a / dati

Lai atjaunotu failus / direktorijus no / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums uz / dati / projekti / tīmeklis1 spoguļa režīmā, izpildiet šādu komandu:

$ sudo rsync -avz --delete / data /.momentuzņēmumi / web1-2020-12-25 / / dati / projekti / web1 /

Visi faili / direktoriji / dati / projekti / tīmeklis1 apakšapjoms jāatjauno (spoguļa režīmā) no / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums.

Failu koks / dati / projekti / tīmeklis1 apakšapjoms un / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmumam jābūt vienādam.

Kā redzat, indekss.html fails un stils.CSS faila saturs ir vienāds / dati / projekti / tīmeklis1 apakšapjoms un / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums.

Programmas saturs indekss.html un stils.css failu / dati / projekti / tīmeklis1 apakšapjoms.

$ cat / dati / projekti / web1 / indekss.html
$ cat / data / projekti / web1 / stils.css

Programmas saturs indekss.html un stils.css failu / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums.

$ cat / dati / projekti / web1 / indekss.html
$ cat / data / projekti / web1 / stils.css

Momentuzņēmuma atjaunināšana

Pēc noklusējuma Btrfs failu sistēma uzņem ierakstāmus momentuzņēmumus. Btrfs momentuzņēmums ir gluži kā apakšapjoms. Tātad, jūs varat modificēt / atjaunināt ierakstāmā momentuzņēmuma failus / direktorijus.

Atjaunināsim indekss.html failu / dati / projekti / tīmeklis1 apakšapjoms.

Vispirms atveriet indekss.html failu no / dati / projekti / tīmeklis1 apakšapjoms ar nano teksta redaktors šādi:

$ sudo nano / dati / projekti / web1 / indekss.html

Veiciet visas nepieciešamās izmaiņas. Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu indekss.html failu.

Kā redzat, indekss.HTML fails / dati / projekti / tīmeklis1 apakšapjoms atšķiras no / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums.

$ cat / dati / projekti / web1 / indekss.html
$ cat / data /.momentuzņēmumi / web1-2020-12-25 / index.html

Jūs vēlaties saglabāt indekss.html datne / dati / projekti / tīmeklis1 apakšapjoms.

Lai atjauninātu indekss.html failu / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums, palaidiet šādu komandu:

$ sudo cp -v / data / projects / web1 / index.html / data /.momentuzņēmumi / web1-2020-12-25 / index.html

Kā redzat, indekss.html datne / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums ir atjaunināts.

Momentuzņēmuma atjaunināšana ir tikpat vienkārša kā jaunu failu kopēšana momentuzņēmumā.

Apakšapjoma tikai lasāmu momentuzņēmumu uzņemšana

Reizēm jūs nevēlaties, lai uzņemtie momentuzņēmumi tiktu kaut kādā veidā atjaunināti. Tādā gadījumā jūs varat izveidot tikai lasāmus momentuzņēmumus.

Piemēram, lai izveidotu tikai lasāmu momentuzņēmumu / dati /.momentuzņēmumi / web1-2020-12-26 no / dati / projekti / tīmeklis1 subwolume, izpildiet šādu komandu:

$ sudo btrfs apakšapjoma momentuzņēmums -r / dati / projekti / web1 / dati /.momentuzņēmumi / web1-2020-12-26

Kā redzat, jauns apakšapjoms .momentuzņēmumi / web1-2020-12-26 ir izveidots.

$ sudo btrfs apakšapjoma saraksts / dati

Kā redzat, momentuzņēmums / dati /.momentuzņēmumi / web1-2020-12-26 ir tikai lasāms.

$ sudo btrfs subwolume show / data /.momentuzņēmumi / web1-2020-12-26

Atjaunināsim indekss.html failu no / dati / projekti / tīmeklis1 apakšapjoms.

Lai to izdarītu, atveriet indekss.html failu no / dati / projekti / tīmeklis1 apakšapjoms ar nano teksta redaktors šādi:

$ sudo nano / dati / projekti / web1 / indekss.html

Veiciet visas nepieciešamās izmaiņas. Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu izmaiņas.

Kā redzat, indekss.html iekš / dati / projekti / tīmeklis1 apakšapjoms atšķiras no / dati /.momentuzņēmumi / web1-2020-12-26 momentuzņēmums.

$ cat / dati / projekti / web1 / indekss.html
$ cat / data /.momentuzņēmumi / web1-2020-12-26 / index.html

Mēģināsim atjaunināt indekss.html failu / dati /.momentuzņēmumi / web1-2020-12-26 momentuzņēmums.

$ sudo cp -v / data / projects / web1 / index.html / data /.momentuzņēmumi / web1-2020-12-26 / index.html

Kā redzat, jūs nevarat atjaunināt indekss.html datne / dati /.momentuzņēmumi / web1-2020-12-26 momentuzņēmums, jo momentuzņēmums ir tikai lasāms.

Momentuzņēmuma noņemšana

Es jums jau iepriekš teicu, ka Btrfs momentuzņēmums ir kā apakšapjoms. Tātad, jūs varat noņemt Btrfs momentuzņēmumu tāpat kā noņemat Btrfs apakšapjomu. Tā pati komanda.

Šādi Btrfs failu sistēmas failu koks ir uzstādīts uz / dati direktorijs izskatās šobrīd.

$ koks -a / dati

Noņemsim .momentuzņēmumi / web1-2020-12-25 momentuzņēmums.

$ sudo btrfs apakšapjoma saraksts / dati

Lai noņemtu / dati /.momentuzņēmumi / web1-2020-12-25 momentuzņēmums, palaidiet šādu komandu:

$ sudo btrfs subvolume delete / data /.momentuzņēmumi / web1-2020-12-25

Kā redzat, momentuzņēmums .momentuzņēmumi / web1-2020-12-25 vairs nav.

$ sudo btrfs apakšapjoma saraksts / dati

Kā redzat, faili / direktoriji / dati /.momentuzņēmumi / web1-2020-12-25 tiek noņemts arī momentuzņēmums.

$ koks -a / dati

Secinājums

Šajā rakstā ir parādīts, kā uzņemt Btrfs failu sistēmas apakšapjomu rakstāmus un tikai lasāmus momentuzņēmumus. Esmu arī parādījis, kā atjaunināt rakstāmu momentuzņēmumu un atgūt failus no momentuzņēmuma. Es jums parādīju, kā noņemt arī Btrfs momentuzņēmumu. Šis raksts palīdzēs jums sākt darbu ar Btrfs momentuzņēmuma funkciju.

Vulkan Linux lietotājiem
Ar katru jauno grafisko karšu paaudzi mēs redzam, kā spēļu izstrādātāji pārspēj grafiskās uzticamības robežas un tuvojas fotoreālismam. Neskatoties uz...
OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...
OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...