Btrfs

Jak používat snímky Btrfs

Jak používat snímky Btrfs
Souborový systém Btrfs má integrovanou podporu snímků na úrovni souborového systému. Ve svém souborovém systému Btrfs můžete vytvořit dílčí svazek a pořizovat snímky souborů / adresářů v tomto dílčím svazku. Pořízení snímku dílčího svazku uloží stav souborů / adresářů v tomto dílčím svazku. Ze snímku můžete obnovit všechny soubory / adresáře dílčího svazku, pokud to potřebujete.

Funkce snímku souborového systému Btrfs používá princip kopírování na zápis (CoW). Takže to nezabere mnoho místa na disku a můžete okamžitě pořizovat snímky dílčího svazku.

Souborový systém Btrfs podporuje 2 typy snímků.

  1. Zapisovatelné snímky: Pokud pořídíte zapisovatelný snímek, můžete později upravit soubory / adresáře tohoto snímku. Toto je výchozí typ snímku souborového systému Btrfs.
  2. Snímky jen pro čtení: Pokud pořídíte snímek jen pro čtení, nemůžete později upravit soubory / adresáře tohoto snímku.

Tento článek vám ukáže, jak pořídit zapisovatelné a jen pro čtení snímky vašich dílčích svazků souborového systému Btrfs. Ukážu vám také, jak aktualizovat zapisovatelný snímek a obnovit soubory ze snímku. Ukážu vám, jak také odstranit snímek. Pojďme tedy začít.

Předpoklady

Vyzkoušet příklady tohoto článku,

Mám 20 GB pevný disk sdb na mém stroji Ubuntu. Vytvořil jsem 2 oddíly sdb1 a sdb2 na tomto pevném disku. Budu používat oddíl sdb1 v tomto článku.

$ sudo lsblk -e7

Váš pevný disk nebo SSD může mít jiný název než můj, stejně tak i oddíly. Od nynějška je tedy vyměňte za své.

Pokud potřebujete pomoc s instalací souborového systému Btrfs na Ubuntu, podívejte se na můj článek Nainstalujte a používejte Btrfs na Ubuntu 20.04 LTS.

Pokud potřebujete pomoc s instalací souborového systému Btrfs na Fedoře, podívejte se na můj článek Nainstalujte a používejte Btrfs na Fedoře 33.

Vytvoření souborového systému Btrfs

Chcete-li experimentovat s dílčími svazky Btrfs, musíte vytvořit souborový systém Btrfs.

Chcete-li vytvořit souborový systém Btrfs se štítkem data na sdb1 oddíl, spusťte následující příkaz:

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

Měl by být vytvořen souborový systém Btrfs.

Vytvořte adresář /data s následujícím příkazem:

$ sudo mkdir -v / data

Chcete-li připojit souborový systém Btrfs vytvořený na serveru sdb1 oddíl v /data adresáře, spusťte následující příkaz:

$ sudo mount / dev / sdb1 / data

Souborový systém Btrfs by měl být připojen, jak vidíte na následujícím obrázku.

$ df -h / data

Příprava souborového systému Btrfs na snímky

V Btrfs můžete pořizovat pouze snímky dílčích svazků Btrfs. Hlavní kořen souborového systému Btrfs je také dílčím svazkem. Můžete si tedy vzít zálohu celého souborového systému Btrfs i konkrétních dílčích svazků.

V této části se vytvoří dílčí svazek Btrfs / data / projects / web1 a vytvořte potřebné soubory pro další části tohoto článku níže. Také vytvořím adresář, kde si můžete nechat své snímky. V dalších částech vám ukážu, jak pořizovat snímky (zapisovatelné i jen pro čtení), aktualizovat zapisovatelný snímek a obnovit soubory ze snímku. Pojďme tedy začít.

Nejprve vytvořte nový adresář / data / projekty jak následuje:

$ sudo mkdir -v / data / projects

Vytvořte nový dílčí svazek web1 v / data / projekty adresář takto:

$ sudo btrfs subvolume create / data / projects / web1

Vytvořte nový soubor index.html v / data / projects / web1 dílčí svazek takto:

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

Zadejte následující řádky kódů do index.html soubor.




Demonstrační web



Hello World 4



Až budete hotovi, stiskněte + X následován Y a uložit index.html soubor.

Vytvořte nový soubor styl.css v / data / projects / web1 dílčí svazek takto:

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

Zadejte následující řádky kódů do styl.css soubor.

h1
barva: zelená;

Až budete hotovi, stiskněte + X následován Y a uložit styl.css soubor.

Nyní / data / projects / web1 dílčí svazek má index.html a styl.css soubor.

$ ls -lh / data / projects / web1

Chci zachovat všechny snímky tohoto souborového systému Btrfs v souboru /data/.snímky adresář.

Vytvořte /data/.snímky adresář s následujícím příkazem:

$ sudo mkdir -v / data /.snímky

Pořizování snímků dílčího svazku

Chcete-li pořídit snímek / data / projects / web1 subvolume do /data/.snímky / web1-2020-12-25 adresář (bude vytvořen automaticky), spusťte následující příkaz:

$ sudo btrfs subvolume snapshot / data / projects / web1 / data /.snímky / web1-2020-12-25

Snímek z / data / projects / web1 adresář by měl být vytvořen na /data/.snímky / web1-2020-12-25 adresář.

Jak vidíte na následujícím obrázku, nový dílčí svazek .snímky / web1-2020-12-25 je vytvořen. Snímek je ve skutečnosti dílčí svazek.

$ sudo btrfs seznam / data dílčích svazků

Můžete vidět více informací o snímku, který jste vytvořili v /data/.snímky / web1-2020-12-25 adresář takto:

$ sudo btrfs subvolume show / data /.snímky / web1-2020-12-25

Jak vidíte, všechny soubory, které jsou v / data / projects / web1 subvolume jsou v /data/.snímky / web1-2020-12-25 momentka.

$ strom -a / data

Obnova souborů ze snímků

V této části vám ukážu, jak obnovit soubory ze snímků Btrfs.

Nejprve vám ukážu, jak ze snímku obnovit jeden soubor.

Otevři / data / projects / web1 / index.html soubor s nano textovým editorem následujícím způsobem:

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

Proveďte požadované změny.

Až budete hotovi, stiskněte + X následován Y a soubor uložit.

Jak vidíte, hlavní index.html soubor se liší od souboru index.html soubor ve snímku.

$ cat / data / projects / web1 / index.html
$ kočka / data /.snímky / web1-2020-12-25 / index.html

Udělali jsme změny v hlavní části index.html soubory jsou nežádoucí a my chceme obnovit index.html soubor ze snímku.

Můžete obnovit index.html soubor ze snímku následujícím způsobem:

$ sudo cp -v / data /.snímky / web1-2020-12-25 / index.html / data / projects / web1 / index.html

Jak vidíte, index.html soubor je obnoven ze snímku.

$ cat / data / projects / web1 / index.html
$ kočka / data /.snímky / web1-2020-12-25 / index.html

Nyní se podívejme, jak obnovit všechny soubory / adresáře ze snímku.

Odeberte všechny soubory z / data / projects / web1 snímek takto:

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

Chcete-li ze snímku obnovit všechny soubory / adresáře, spusťte následující příkaz:

$ sudo rsync -avz / data /.snímky / web1-2020-12-25 / / data / projects / web1 /

Jak vidíte, soubory / adresáře se obnovují ze snímku.

$ ls -lh / data / projects / web1

Nakonec se podívejme, jak obnovit soubory / adresáře ze snímku v zrcadlovém režimu. V zrcadlovém režimu budou soubory / adresáře dílčího svazku stejné jako na snímku. Pokud jsou v dílčím svazku nějaké soubory / adresáře, které nejsou ve snímku k dispozici, budou odstraněny.

Vytvořme nový soubor v dílčím svazku, abychom odlišili strom souborů od snímku.

Vytvořit PŘEČTĚTE SI.txt soubor v / data / projects / web1 dílčí svazek takto:

$ echo "ahoj svět 5" | sudo tee / data / projects / web1 / README.txt

Jak vidíte, strom souborů / data / projects / web1 subvolume se liší od /data/.snímky / web1-2020-12-25 momentka.

$ strom -a / data

Obnovení souborů / adresářů z /data/.snímky / web1-2020-12-25 snímek do / data / projects / web1 subvolume v zrcadlovém režimu, spusťte následující příkaz:

$ sudo rsync -avz --delete / data /.snímky / web1-2020-12-25 / / data / projects / web1 /

Všechny soubory / adresáře / data / projects / web1 subvolume by měl být obnoven (v zrcadlovém režimu) z /data/.snímky / web1-2020-12-25 momentka.

Strom souborů / data / projects / web1 subvolume a /data/.snímky / web1-2020-12-25 snímek by měl být stejný.

Jak vidíte, index.html soubor a styl.obsah souboru css je stejný v souboru / data / projects / web1 subvolume a /data/.snímky / web1-2020-12-25 momentka.

Obsah index.html a styl.css soubor v / data / projects / web1 dílčí svazek.

$ cat / data / projects / web1 / index.html
$ cat / data / projects / web1 / style.css

Obsah index.html a styl.css soubor v /data/.snímky / web1-2020-12-25 momentka.

$ cat / data / projects / web1 / index.html
$ cat / data / projects / web1 / style.css

Aktualizace snímku

Ve výchozím nastavení pořizuje souborový systém Btrfs zapisovatelné snímky. Snímek Btrfs je jako podobjem. Takže můžete upravit / aktualizovat soubory / adresáře zapisovatelného snímku.

Pojďme aktualizovat index.html soubor v / data / projects / web1 dílčí svazek.

Nejprve otevřete index.html soubor z / data / projects / web1 dílčí svazek s nano textový editor takto:

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

Proveďte požadované změny. Až budete hotovi, stiskněte + X následován Y a uložit index.html soubor.

Jak vidíte, index.html soubor / data / projects / web1 subvolume se liší od /data/.snímky / web1-2020-12-25 momentka.

$ cat / data / projects / web1 / index.html
$ kočka / data /.snímky / web1-2020-12-25 / index.html

Chcete si ponechat index.html soubor / data / projects / web1 dílčí svazek.

Chcete-li aktualizovat index.html soubor v /data/.snímky / web1-2020-12-25 snímek, spusťte následující příkaz:

$ sudo cp -v / data / projects / web1 / index.html / data /.snímky / web1-2020-12-25 / index.html

Jak vidíte, index.html soubor /data/.snímky / web1-2020-12-25 snímek je aktualizován.

Aktualizace snímku je stejně snadná jako kopírování nových souborů do snímku.

Pořizování snímků dílčího svazku pouze pro čtení

Někdy nechcete, aby se snímky, které jste pořídili, jakýmkoli způsobem aktualizovali. V takovém případě můžete vytvořit snímky jen pro čtení.

Například k vytvoření snímku jen pro čtení /data/.snímky / web1-2020-12-26 z / data / projects / web1 subvolume, spusťte následující příkaz:

$ sudo btrfs subvolume snapshot -r / data / projects / web1 / data /.snímky / web1-2020-12-26

Jak vidíte, nový dílčí svazek .snímky / web1-2020-12-26 je vytvořen.

$ sudo btrfs seznam / data dílčích svazků

Jak vidíte, snímek /data/.snímky / web1-2020-12-26 je jen pro čtení.

$ sudo btrfs subvolume show / data /.snímky / web1-2020-12-26

Pojďme aktualizovat index.html soubor z / data / projects / web1 dílčí svazek.

Chcete-li to provést, otevřete index.html soubor z / data / projects / web1 dílčí svazek s nano textový editor takto:

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

Proveďte požadované změny. Až budete hotovi, stiskněte + X následován Y a uložit změny.

Jak vidíte, index.html v / data / projects / web1 subvolume se liší od /data/.snímky / web1-2020-12-26 momentka.

$ cat / data / projects / web1 / index.html
$ kočka / data /.snímky / web1-2020-12-26 / index.html

Zkusme aktualizovat index.html soubor v /data/.snímky / web1-2020-12-26 momentka.

$ sudo cp -v / data / projects / web1 / index.html / data /.snímky / web1-2020-12-26 / index.html

Jak vidíte, nemůžete aktualizovat index.html soubor /data/.snímky / web1-2020-12-26 snímek, protože snímek je jen pro čtení.

Odebrání snímku

Už jsem ti řekl, že snímek Btrfs je jako subvolum. Můžete tedy odebrat snímek Btrfs stejně jako odeberete dílčí svazek Btrfs. Stejný příkaz.

Takto je strom souborů souborového systému Btrfs namontován na /data adresář vypadá v tuto chvíli.

$ strom -a / data

Pojďme odstranit .snímky / web1-2020-12-25 momentka.

$ sudo btrfs seznam / data dílčích svazků

Chcete-li odstranit /data/.snímky / web1-2020-12-25 snímek, spusťte následující příkaz:

$ sudo btrfs subvolume delete / data /.snímky / web1-2020-12-25

Jak vidíte, snímek .snímky / web1-2020-12-25 už není.

$ sudo btrfs seznam / data dílčích svazků

Jak vidíte, soubory / adresáře /data/.snímky / web1-2020-12-25 snímek je také odstraněn.

$ strom -a / data

Závěr

Tento článek vám ukázal, jak pořídit zapisovatelné a jen pro čtení snímky vašich dílčích svazků souborového systému Btrfs. Také jsem vám ukázal, jak aktualizovat zapisovatelný snímek a obnovit soubory ze snímku. Ukázal jsem vám, jak také odstranit snímek Btrfs. Tento článek by vám měl pomoci začít s funkcí snímku Btrfs.

Jak používat Xdotool ke stimulaci kliknutí myší a klávesových zkratek v systému Linux
Xdotool je bezplatný a otevřený nástroj příkazového řádku pro simulaci kliknutí myší a stisknutí kláves. Tento článek se bude věnovat krátkému průvodc...
Top 5 ergonomických produktů pro počítačové myši pro Linux
Způsobuje dlouhodobé používání počítače bolest zápěstí nebo prstů? Trpíte ztuhlými klouby a neustále si musíte třást ruce? Cítíte pálivou bolest pokaž...
Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...