Btrfs

Jak korzystać z migawek Btrfs

Jak korzystać z migawek Btrfs
System plików Btrfs ma wbudowaną obsługę migawek na poziomie systemu plików. Możesz utworzyć podwolumin w swoim systemie plików Btrfs i robić migawki plików/katalogów w tym podwolumie. Wykonanie migawki podwolumu zapisze stan plików/katalogów w tym podwolumie. Możesz odzyskać dowolne pliki/katalogi subwoluminu z migawki, jeśli tego potrzebujesz.

Funkcja migawki systemu plików Btrfs wykorzystuje zasadę kopiowania przy zapisie (CoW). Dzięki temu nie zajmuje dużo miejsca na dysku i możesz błyskawicznie robić migawki subwoluminu.

System plików Btrfs obsługuje 2 rodzaje migawek.

  1. Zapisywalne migawki: Jeśli zrobisz zapisywalną migawkę, możesz później zmodyfikować pliki/katalogi tej migawki. To jest domyślny typ migawki systemu plików Btrfs.
  2. Migawki tylko do odczytu: Jeśli zrobisz zrzut tylko do odczytu, nie możesz później modyfikować plików/katalogów tego zrzutu.

W tym artykule dowiesz się, jak robić zapisywalne i tylko do odczytu migawki podwoluminów systemu plików Btrfs. Pokażę Ci również, jak zaktualizować zapisywalną migawkę i odzyskać pliki z migawki. Pokażę Ci również, jak usunąć migawkę. Więc zacznijmy.

Warunki wstępne

Aby wypróbować przykłady tego artykułu,

Mam dysk twardy 20 GB SDB na moim komputerze z Ubuntu. Utworzyłem 2 partycje sdb1 i sdb2 na tym dysku twardym. Użyję partycji sdb1 w tym artykule.

$ sudo lsblk -e7

Twój dysk twardy lub SSD może mieć inną nazwę niż moja, podobnie jak partycje. Więc pamiętaj, aby od teraz zastąpić je swoimi.

Jeśli potrzebujesz pomocy przy instalacji systemu plików Btrfs na Ubuntu, sprawdź mój artykuł Zainstaluj i używaj Btrfs na Ubuntu 20.04 LTS.

Jeśli potrzebujesz pomocy przy instalacji systemu plików Btrfs w Fedorze, zapoznaj się z moim artykułem Zainstaluj i używaj Btrfs w Fedorze 33.

Tworzenie systemu plików Btrfs

Aby poeksperymentować z podwolumenami Btrfs, musisz utworzyć system plików Btrfs.

Aby utworzyć system plików Btrfs z etykietą dane na sdb1 partycji, uruchom następujące polecenie:

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

Powinien zostać utworzony system plików Btrfs.

Utwórz katalog /dane za pomocą następującego polecenia:

$ sudo mkdir -v /dane

Aby zamontować system plików Btrfs utworzony na sdb1 przegroda w /dane katalogu, uruchom następujące polecenie:

$ sudo mount /dev/sdb1 /data

System plików Btrfs powinien być zamontowany, jak widać na poniższym zrzucie ekranu.

$ df -h /dane

Przygotowanie systemu plików Btrfs do migawek

W Btrfs możesz robić zrzuty tylko podwoluminów Btrfs. Główny katalog główny systemu plików Btrfs jest również podwoluminem. Możesz więc wykonać kopię zapasową całego systemu plików Btrfs, a także określonych podwoluminów.

Ta sekcja utworzy podwolumin Btrfs /dane/projekty/web1 i utwórz niezbędne pliki dla następnych sekcji tego artykułu poniżej. Stworzę również katalog, w którym będziesz mógł przechowywać swoje migawki. W kolejnych sekcjach pokażę, jak robić migawki (zapisywalne i tylko do odczytu), aktualizować migawkę z możliwością zapisu i odzyskiwać pliki z migawki. Więc zacznijmy.

Najpierw utwórz nowy katalog /dane/projekty następująco:

$ sudo mkdir -v /dane/projekty

Utwórz nowy podwolumin web1 w /dane/projekty katalog w następujący sposób:

$ sudo btrfs subvolume create /data/projects/web1

Utwórz nowy plik indeks.html w /dane/projekty/web1 podtom w następujący sposób:

$ sudo nano /dane/projekty/web1/indeks.html

Wpisz następujące wiersze kodów w indeks.html plik.




Strona demonstracyjna



Witaj świecie 4



Gdy skończysz, naciśnij + X śledzony przez Tak i uratować indeks.html plik.

Utwórz nowy plik styl.css w /dane/projekty/web1 podtom w następujący sposób:

$ sudo nano /dane/projekty/web1/styl.css

Wpisz następujące wiersze kodów w styl.css plik.

h1
Zielony kolor;

Gdy skończysz, naciśnij + X śledzony przez Tak i uratować styl.css plik.

Teraz /dane/projekty/web1 podtom ma indeks.html i styl.css plik.

$ ls -lh /dane/projekty/web1

Chcę zachować wszystkie migawki tego systemu plików Btrfs w /dane/.migawki informator.

Utwórz /dane/.migawki katalog za pomocą następującego polecenia:

$ sudo mkdir -v /dane/.migawki

Wykonywanie migawek podtomu

Aby zrobić zdjęcie /dane/projekty/web1 podtom w /dane/.migawki/internet1-2020-12-25 katalog (zostanie utworzony automatycznie), uruchom następującą komendę:

$ sudo btrfs migawka podwoluminu /dane/projekty/web1 /dane/.migawki/internet1-2020-12-25

Migawka z /dane/projekty/web1 katalog powinien być utworzony na /dane/.migawki/internet1-2020-12-25 informator.

Jak widać na poniższym zrzucie ekranu, nowy subtom .migawki/internet1-2020-12-25 jest tworzone. Migawka to tak naprawdę subtom.

$ sudo btrfs lista podwoluminów /dane

Więcej informacji o utworzonym zrzucie możesz zobaczyć w /dane/.migawki/internet1-2020-12-25 katalog w następujący sposób:

$ sudo btrfs subvolume pokaż /dane/.migawki/internet1-2020-12-25

Jak widać, wszystkie pliki znajdujące się w /dane/projekty/web1 subvolume są w /dane/.migawki/internet1-2020-12-25 migawka.

$ drzewo -a /dane

Odzyskiwanie plików z migawek

W tej sekcji pokażę, jak odzyskać pliki z migawek Btrfs.

Najpierw pokażę, jak odzyskać pojedynczy plik z migawki.

Otworzyć /dane/projekty/web1/indeks.html plik z edytorem tekstu nano w następujący sposób:

$ sudo nano /dane/projekty/web1/indeks.html

Wprowadź dowolne zmiany.

Gdy skończysz, naciśnij + X śledzony przez Tak i aby zapisać plik.

Jak widać, główne indeks.html plik różni się od indeks.html plik w migawce.

$ cat /dane/projekty/web1/indeks.html
$ kot /dane/.migawki/internet1-2020-12-25/indeks.html

Wprowadziliśmy zmiany w głównym indeks.html pliki są niechciane i chcemy je odzyskać indeks.html plik z migawki.

Możesz przywrócić indeks.html plik z migawki w następujący sposób:

$ sudo cp -v /dane/.migawki/internet1-2020-12-25/indeks.html /data/projekty/web1/index.html

Jak widać, indeks.html plik zostanie przywrócony ze zrzutu.

$ cat /dane/projekty/web1/indeks.html
$ kot /dane/.migawki/internet1-2020-12-25/indeks.html

Zobaczmy teraz, jak odzyskać wszystkie pliki/katalogi z migawki.

Usuń wszystkie pliki z /dane/projekty/web1 migawka w następujący sposób:

$ sudo rm -rv /dane/projekty/web1/*

Aby odzyskać wszystkie pliki/katalogi z migawki, uruchom następujące polecenie:

$ sudo rsync -avz /data/.migawki/web1-2020-12-25/ /dane/projekty/web1/

Jak widać, pliki/katalogi są przywracane ze zrzutu.

$ ls -lh /dane/projekty/web1

Na koniec zobaczmy, jak odzyskać pliki/katalogi z migawki w trybie lustrzanym. W trybie lustrzanym pliki/katalogi subwoluminu będą takie same jak w migawce. Jeśli w subwolumie znajdują się jakieś pliki/katalogi, które nie są dostępne w migawce, zostaną one usunięte.

Utwórzmy nowy plik w podwolumie, aby odróżnić drzewo plików od migawki.

Stwórz CZYTAJ.tekst plik w /dane/projekty/web1 podtom w następujący sposób:

$ echo "witaj świecie 5" | koszulka sudo /data/projekty/web1/README.tekst

Jak widać, drzewo plików /dane/projekty/web1 subvolume różni się od /dane/.migawki/internet1-2020-12-25 migawka.

$ drzewo -a /dane

Aby przywrócić pliki/katalogi z /dane/.migawki/internet1-2020-12-25 migawka do /dane/projekty/web1 subvolume w trybie lustrzanym, uruchom następujące polecenie:

$ sudo rsync -avz --delete /dane/.migawki/web1-2020-12-25/ /dane/projekty/web1/

Wszystkie pliki/katalogi /dane/projekty/web1 subwolumin powinien zostać przywrócony (w trybie lustrzanym) z /dane/.migawki/internet1-2020-12-25 migawka.

Drzewo plików /dane/projekty/web1 subvolume i /dane/.migawki/internet1-2020-12-25 migawka powinna być taka sama.

Jak widać, indeks.plik html i styl.zawartość pliku css jest taka sama w /dane/projekty/web1 subvolume i /dane/.migawki/internet1-2020-12-25 migawka.

Zawartość indeks.html i styl.css plik w /dane/projekty/web1 subvolume.

$ cat /dane/projekty/web1/indeks.html
$ cat /dane/projekty/web1/styl.css

Zawartość indeks.html i styl.css plik w /dane/.migawki/internet1-2020-12-25 migawka.

$ cat /dane/projekty/web1/indeks.html
$ cat /dane/projekty/web1/styl.css

Aktualizowanie migawki

Domyślnie system plików Btrfs wykonuje zapisywalne migawki. Migawka Btrfs jest jak podwolumin. Możesz więc modyfikować/aktualizować pliki/katalogi zapisywalnej migawki.

Zaktualizujmy indeks.html plik w /dane/projekty/web1 subtom.

Najpierw otwórz indeks.html plik z /dane/projekty/web1 subtom z nano edytor tekstu w następujący sposób:

$ sudo nano /dane/projekty/web1/indeks.html

Wprowadź dowolne zmiany. Gdy skończysz, naciśnij + X śledzony przez Tak i uratować indeks.html plik.

Jak widać, indeks.plik html z /dane/projekty/web1 subvolume różni się od /dane/.migawki/internet1-2020-12-25 migawka.

$ cat /dane/projekty/web1/indeks.html
$ kot /dane/.migawki/internet1-2020-12-25/indeks.html

Chcesz zachować indeks.html plik /dane/projekty/web1 subtom.

Aby zaktualizować indeks.html plik w /dane/.migawki/internet1-2020-12-25 migawka, uruchom następujące polecenie:

$ sudo cp -v /dane/projekty/web1/indeks.html /dane/.migawki/internet1-2020-12-25/indeks.html

Jak widać, indeks.html plik /dane/.migawki/internet1-2020-12-25 migawka jest aktualizowana.

Aktualizacja zrzutu jest tak prosta, jak kopiowanie nowych plików do zrzutu.

Wykonywanie migawek tylko do odczytu z podwolumu

Czasami nie chcesz, aby zrobione migawki były w jakikolwiek sposób aktualizowane. W takim przypadku możesz tworzyć migawki tylko do odczytu.

Na przykład, aby utworzyć migawkę tylko do odczytu /dane/.migawki/internet1-2020-12-26 z /dane/projekty/web1 subvolume, uruchom następujące polecenie:

$ sudo btrfs migawka podwolumu -r /data/projects/web1 /data/.migawki/internet1-2020-12-26

Jak widać, nowy subtom .migawki/internet1-2020-12-26 jest tworzone.

$ sudo btrfs lista podwoluminów /dane

Jak widać, migawka /dane/.migawki/internet1-2020-12-26 jest tylko do odczytu.

$ sudo btrfs subvolume pokaż /dane/.migawki/internet1-2020-12-26

Zaktualizujmy indeks.html plik z /dane/projekty/web1 subtom.

Aby to zrobić, otwórz indeks.html plik z /dane/projekty/web1 subtom z nano edytor tekstu w następujący sposób:

$ sudo nano /dane/projekty/web1/indeks.html

Wprowadź dowolne zmiany. Gdy skończysz, naciśnij + X śledzony przez Tak i zapisać zmiany.

Jak widać, indeks.html w /dane/projekty/web1 subvolume różni się od /dane/.migawki/internet1-2020-12-26 migawka.

$ cat /dane/projekty/web1/indeks.html
$ kot /dane/.migawki/web1-2020-12-26/indeks.html

Spróbujmy zaktualizować indeks.html plik w /dane/.migawki/internet1-2020-12-26 migawka.

$ sudo cp -v /dane/projekty/web1/indeks.html /dane/.migawki/web1-2020-12-26/indeks.html

Jak widać, nie można zaktualizować indeks.html plik /dane/.migawki/internet1-2020-12-26 migawka, ponieważ migawka jest tylko do odczytu.

Usuwanie zrzutu

Mówiłem wcześniej, że migawka Btrfs jest jak podwolumin. Możesz więc usunąć migawkę Btrfs, tak jak usuwasz podwolumin Btrfs. To samo polecenie.

W ten sposób drzewo plików systemu plików Btrfs zamontowane na /dane katalog wygląda jak w tej chwili.

$ drzewo -a /dane

Usuńmy .migawki/internet1-2020-12-25 migawka.

$ sudo btrfs lista podwoluminów /dane

Aby usunąć /dane/.migawki/internet1-2020-12-25 migawka, uruchom następujące polecenie:

$ sudo btrfs subvolume usuń /data/.migawki/internet1-2020-12-25

Jak widać, migawka .migawki/internet1-2020-12-25 już nie ma.

$ sudo btrfs lista podwoluminów /dane

Jak widać, pliki/katalogi /dane/.migawki/internet1-2020-12-25 migawka również jest usuwana.

$ drzewo -a /dane

Wniosek

W tym artykule pokazano, jak robić zapisywalne i tylko do odczytu migawki podwoluminów systemu plików Btrfs. Pokazałem również, jak zaktualizować zapisywalną migawkę i odzyskać pliki z migawki. Pokazałem ci również, jak usunąć migawkę Btrfs. Ten artykuł powinien pomóc w rozpoczęciu korzystania z funkcji migawek Btrfs.

Gry Najlepsze gry do grania ze śledzeniem rąk
Najlepsze gry do grania ze śledzeniem rąk
Oculus Quest niedawno wprowadził świetny pomysł śledzenia rąk bez kontrolerów. Przy stale rosnącej liczbie gier i działań, które wspierają zarówno for...
Gry Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Granie w gry pełnoekranowe lub korzystanie z aplikacji w trybie pełnoekranowym bez rozpraszania uwagi może odciąć Cię od istotnych informacji systemow...
Gry 5 najlepszych kart do przechwytywania gier
5 najlepszych kart do przechwytywania gier
Wszyscy widzieliśmy i uwielbialiśmy strumieniowe rozgrywki na YouTube on. PewDiePie, Jakesepticye i Markiplier to tylko niektórzy z najlepszych graczy...