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.
- 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.
- 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,
- Jūsu datorā jābūt instalētai Btrfs failu sistēmai.
- Jums jābūt cietajam diskam vai SSD ar vismaz 1 bezmaksas nodalījumu (jebkura izmēra).
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.
Sveika pasaule 4
Kad esat pabeidzis, nospiediet
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.
h1krāsa: zaļa;
Kad esat pabeidzis, nospiediet
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
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
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
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.