Jak tworzyć kopie zapasowe migawek BTRFS na napędy zewnętrzne

Jak tworzyć kopie zapasowe migawek BTRFS na napędy zewnętrzne

Domyślnie możesz przechowywać migawki, które podwodne BTRFS w tym samym systemie plików BTRFS, ale nie jest możliwe przechowywanie migawek jednego systemu plików BTRFS bezpośrednio do innego systemu plików BTRFS BTRFS. Jednak system plików BTRFS zapewnia niezbędne narzędzia do tworzenia kopii zapasowych migawek jednego systemu plików BTRFS do innego systemu plików BTRFS. W tym artykule pokazuje, jak tworzyć kopie zapasowe migawek BTRFS na zewnętrzny system plików BTRFS na zewnętrznym dysku.

Wymagania wstępne

Aby wypróbować przykłady zawarte w tym artykule, musisz spełnić następujące warunki wstępne:

  • Mają zainstalowany system plików BTRFS na komputerze.
  • Mieć dysk twardy lub dysk SSD z co najmniej 2 wolnymi partycjami (dowolnego rozmiaru).

Mam dysk twardy 20 GB, SDB, na mojej maszynie Ubuntu. Stworzyłem dwie partycje, SDB1 I SDB2, na tym dysku twardym.

$ sudo lsblk -e7

Notatka: Twój dysk twardy lub SSD będą miały inną nazwę niż moje, podobnie jak partycje. Pamiętaj więc, aby odtąd zastąpić te nazwy na swoje.


Utworzę systemy plików BTRFS na SDB1 i SDB2 partycje. Migawki utworzone na systemie plików BTRFS (SDB1) zostanie poparta do systemu plików BTRFS utworzonego na SDB2 przegroda. System plików BTRFS utworzony na SDB2 Partycja będzie działać jako napęd zewnętrzny. Możesz również użyć dysku kciuka USB lub zewnętrznego dysku twardego; Po prostu sformatuj go z systemem plików BTRFS.

Aby uzyskać pomoc w instalacji systemu plików BTRFS w Ubuntu, sprawdź mój artykuł Zainstaluj i użyj BTRFS na Ubuntu 20.04 LTS.

Aby uzyskać pomoc w instalacji systemu plików BTRFS w Fedora, sprawdź mój artykuł Zainstaluj i użyj BTRFS na Fedora 33.

Tworzenie wymaganych systemów plików BTRFS

Sformatuję oba SDB1 I SDB2 partycje jako BTRFS. Użyję SDB1 partycja do przechowywania migawek danych i BTRFS. Użyję SDB2 partycja do tworzenia kopii zapasowej migawek systemu plików BTRFS utworzonego na SDB1 przegroda.

Aby utworzyć system plików BTRFS na SDB1 partycja i podaj mu dane etykiety systemu plików, uruchom następujące polecenie:

$ sudo mkfs.BTRFS -L Data /Dev /SDB1

Na system plików BTRFS powinien być teraz utworzony na SDB1 przegroda.

Aby utworzyć system plików BTRFS na SDB2 partycja i podaj mu migawki etykiety systemu plików, uruchom następujące polecenie:

$ sudo mkfs.BTRFS -L Migawki /Dev /SDB2

Na system plików BTRFS powinien być teraz utworzony na SDB2 przegroda.

Utwórz katalogi /dane I /migawki do montażu SDB1 I SDB2 partycje odpowiednio w następujący sposób:

$ sudo mkdir -v /dane, migawki

Zamontować system plików BTRFS, który utworzyłeś na SDB1 partycja w katalogu /danych, w następujący sposób:

$ sudo mount /dev /sdb1 /dane

W ten sam sposób zamontuj system plików BTRFS, który utworzyłeś na SDB2 partycja na /migawki katalog, jak następuje:

$ sudo Mount /dev /sdb2 /migawki

Jak widać na zrzucie ekranu poniżej, oba systemy plików BTRFS (SDB1 I SDB2 partycje) zostały poprawnie zamontowane.

$ df -h -t btrfs

Robienie migawek systemu plików BTRFS

W tej sekcji utworzymy manekin Web1 na /Data/Projects/Web1 BTRFS Subvolume. W tej sekcji zrobimy migawkę tej subWolume, a także kilka innych migawek w późniejszych sekcjach tego artykułu.

Najpierw utwórz nowy katalog /Data/Projects, następująco:

$ sudo mkdir -v /dane /projekty

Następnie utwórz nowe Subvolume Web1 w /Data/Projects Directory, następująco:

$ sudo btrfs subvolume tworzenie/dane/projekty/Web1

Na koniec utwórz nowy indeks plików.HTML w /Data/Projects/Web1 subvolume z edytorem tekstu nano, w następujący sposób:

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

Wpisz w następujących wierszach kodu w indeksie.plik HTML:




Strona internetowa demo



Witaj świecie




Po zakończeniu naciśnij <klawisz kontrolny> + X śledzony przez Y I <Wchodzić> Aby zapisać indeks.plik HTML.

W ten sam sposób utwórz nowy plik styl.CSS w /Data/Projects/Web1 Subvolume następująco:

$ sudo nano/data/projekty/web1/styl.CSS


Wpisz następujące wiersze kodu w styl.CSS plik:

H1
Zielony kolor;

Po zakończeniu naciśnij <klawisz kontrolny> + X śledzony przez Y I <Wchodzić> Aby zapisać styl.CSS plik.

Teraz /Data/Projects/Web1 Subvolume zawiera indeks.html I styl.plik CSS.

$ LS -LH/Data/Projects/Web1

Będziemy przechowywać wszystkie migawki tego systemu plików BTRFS w /dane/.migawki informator.

Najpierw stwórz /dane/.migawki Katalog z następującym poleceniem:

$ sudo mkdir -v /dane /.migawki

Następnie utwórz migawkę tylko do odczytu /dane/.Migawki/Web1-2020-12-30 z /Data/Projects/Web1 Subvolume Z następującym poleceniem:

$ sudo btrfs subvolume migawka -r/data/projekty/web1/data/.Migawki/Web1-2020-12-30

Jak widać, nowa migawka /dane/.Migawki/Web1-2020-12-30 został stworzony.

$ sudo btrfs lista /dane

Tworzenie kopii zapasowych migawek do napędu zewnętrznego

Aby zapasować migawkę /dane/.Migawki/Web1-2020-12-30 do innego systemu plików BTRFS (w tym przypadku napędu zewnętrznego SDB2 /migawki Directory, uruchom następujące polecenie:

$ sudo btrfs wyślij /dane /.Migawki/Web1-2020-12-30 | sudo btrfs odbieranie /migawki

Migawka /dane/.Migawki/Web1-2020-12-30 powinien być zapasowy do zewnętrznego systemu plików BTRFS (SDB2) zamontowany na /migawki informator.

Jak widać, Nowy subvolume Web1-2020-12-30 został utworzony na zewnętrznym systemie plików BTRFS.

$ sudo btrfs lista /migawki

Snapshot Web1-2020-12-30 powinien mieć te same pliki/katalogi jak /dane/.Migawki/Web1-2020-12-30 migawka.

$ Tree -a /migawki

Możesz uzyskać więcej informacji na temat zabezpieczania zapasowego /Snapshosts/Web1-2020-12-30 następująco:

$ sudo btrfs subvolume show /migawki /Web1-2020-12-30

Przyrostowe tworzenie kopii zapasowych migawek na napęd zewnętrzny

Jeśli w migawkach jest wiele plików do kopii zapasowej na napęd zewnętrzny, przyrostowe kopie zapasowe pomogą przyspieszyć operację tworzenia kopii zapasowej. W takim przypadku BTRFS zaktualizuje tylko pliki, które zmieniły się od ostatniej migawki i skopiują nowe pliki, które nie były dostępne w ostatniej migawce.

W tej sekcji pokażę, jak wykonać przyrostowe kopie zapasowe migawek BTRFS na zewnętrzne systemy plików BTRFS.

Najpierw otwórz indeks.plik HTML z /Data/Projects/Web1 Subvolume, następująco:

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

Wprowadzić wszelkie zmiany, które chcesz indeks.plik HTML. Po zakończeniu naciśnij <klawisz kontrolny> + X śledzony przez Y I <Wchodzić> Aby zapisać indeks.html plik.

Weź nową migawkę tylko do odczytu /Data/Projects/Web1 Subvolume, następująco:

$ sudo btrfs subvolume migawka -r/data/projekty/web1/data/.Migawki/Web1-2020-12-31

Jak widać, nowa migawka /dane/.Migawki/Web1-2020-12-31 z /Data/Projects/Web1 Subvolume został stworzony.

$ sudo btrfs lista /dane

Teraz jesteśmy gotowi zrobić przyrostową kopię zapasową.

Aby wykonać przyrostową kopię zapasową, będziesz potrzebować wspólnej migawki zarówno systemów plików BTRFS źródłowych, jak i. Wspólna migawka jest zwykle najnowszą migawką podwole BTRFS. Kiedy zrobisz nową migawkę w źródłowym systemie plików BTRFS, nowa migawka jest porównywana z najnowszą migawką (dostępną zarówno w źródle, jak i docelowym systemie plików) źródłowego systemu plików BTRFS. BTRFS obliczy różnicę i wyśle ​​tylko wymagane dane do docelowego systemu plików BTRFS (dysk zewnętrzny).

Na przykład, aby wykonać przyrostową kopię zapasową /dane/.Snapshots/Web1-2020-12-31, Musisz określić migawkę nadrzędną (najnowsza migawka dostępna zarówno w źródłowym, jak i docelowym systemie plików BTRFS), /dane/.Migawki/Web1-2020-12-30, również.

Przyrostowa kopia zapasowa /dane/.Migawki/Web1-2020-12-31 Migawkę można przejąć na zewnętrzny system plików BTRFS, w następujący sposób:

$ sudo btrfs wyślij -p /dane /.migawki/Web1-2020-12-30/Data/.Migawki/Web1-2020-12-31 | sudo btrfs odbieranie /migawki

Przyrostowa kopia zapasowa /dane/.Migawki/Web1-2020-12-31 Należy zrobić migawkę.

Jak widać, Migawka Web1-2020-12-31 został zapasowy do zewnętrznego systemu plików BTRFS zamontowanego na /migawki informator.

$ sudo btrfs lista /migawki

Jak widać na zrzucie ekranu poniżej, zmiany wprowadzone w indeks.plik HTML są dostępne w Migawka Web1-2020-12-31 który został zapasowy do zewnętrznego systemu plików BTRFS.

$ cat/migawki/Web1-2020-12-31/indeks.html

W ten sam sposób możesz wziąć tyle przyrostowych kopii migawek, ile chcesz.

Jeszcze raz pokażę, jak wykonać przyrostową kopię zapasową. Nie poświęcę czasu, aby to wyjaśnić. Zamiast tego po prostu pokażę ci proces jasności.

Otworzyć indeks.plik HTML z /Data/Projects/Web1 Subvolume, następująco:

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

Wprowadzić wszelkie zmiany, które chcesz indeks.plik HTML. Po zakończeniu naciśnij <klawisz kontrolny> + X śledzony przez Y I <Wchodzić> Aby zapisać indeks.plik HTML.

Weź nową migawkę tylko do odczytu /Data/Projects/Web1 Subvolume, następująco:

$ sudo btrfs subvolume migawka -r/data/projekty/web1/data/.migawki/Web1-2020-12-31_2

Weź przyrostowy zapas /dane/.Snapshot/Web1-2020-12-31_2 do zewnętrznego systemu plików BTRFS, w następujący sposób:

$ sudo btrfs wyślij -p /dane /.migawki/Web1-2020-12-31/Data/.migawki/Web1-2020-12-31_2 | sudo btrfs odbieranie /migawki

Notatka: Teraz migawka nadrzędna, do której /dane/.Snapshot/Web1-2020-12-31_2 zostanie porównywane /dane/.Migawki/Web1-2020-12-31.

Jak widać, Web1-2020-12-31_2 Snapshot został zapasowy do zewnętrznego systemu plików BTRFS zamontowanego na /migawki informator.

$ sudo btrfs lista /migawki

Jak widać na zrzucie ekranu poniżej, ostatnie zmiany wprowadzone w indeks.plik HTML są dostępne na Migawka Web1-2020-12-31_2 kopie zapasowe do zewnętrznego systemu plików BTRFS.

$ cat/migawki/Web1-2020-12-31_2/indeks.html

Utrzymywanie rzeczy w czystości

Jeśli często tworzysz kopie migawki BTRFS, skończysz z wieloma migawkami i może być trudne do zarządzania nimi. Na szczęście możesz usunąć dowolną migawkę z systemu plików BTRFS.

Jeśli używasz wystarczająco dużego napędu zewnętrznego do przechowywania kopii zapasowych migawek BTRFS, możesz przechowywać kilka migawek na systemie plików BTRFS i tworzyć kopię zapasową wszystkich migawek na napędu zewnętrznym.

Jeśli używasz mniejszego napędu zewnętrznego, możesz selektywnie trzymać tylko najważniejsze migawki zapasowe na napędu zewnętrznym.

Aby wykonać kopie zapasowe migawek BTRFS, musisz zachować przynajmniej najnowszą migawkę na obu źródłach (/dane/.migawki) i miejsce docelowe (/migawki - napęd zewnętrzny) BTRFS FileSystems. Nie krępuj się usunąć migawek innych niż najnowsza migawka na obu końcach.

Na przykład w tym przypadku najnowsza migawka to Web1-2020-12-31_2. Tak więc, aby wykonać przyrostowe kopie zapasowe, ta migawka musi być przechowywana na źródłach i docelowym (napędu zewnętrznym) systemów plików BTRFS.

Załóżmy, że chcesz usunąć /dane/.Snapshots/Web1-2020-12-30.

Aby to zrobić, uruchom następujące polecenie:

$ sudo btrfs subvolume usuń /dane /.Migawki/Web1-2020-12-30

Migawka BTRFS /dane/.Migawki/Web1-2020-12-30 należy teraz usunąć.

W ten sam sposób możesz usunąć /dane/.Snapshots/Web1-2020-12-31, następująco:

$ sudo btrfs subvolume usuń /dane /.Migawki/Web1-2020-12-31

Teraz tylko najnowsza migawka, /dane/.migawki/Web1-2020-12-31_2, jest dostępny na systemie plików BTRFS, zamontowanym na /dane informator. Pozostałe migawki są kopie zapasowe na napędu zewnętrznym, zamontowane na /migawki informator.

$ sudo btrfs lista /dane
$ sudo btrfs lista /migawki

Przywracanie migawek z napędu zewnętrznego

Jeśli wykonałeś kopię zapasową migawek na napędu zewnętrznym, możesz je przywrócić w dowolnym momencie z napędu zewnętrznego.

Na przykład usunąłem Migawka Web1-2020-12-30 z mojego systemu plików BTRFS, zamontowany na /dane informator. Ale ta migawka jest kopowana na napędu zewnętrznym, zamontowanym na /migawki informator. Przywróćmy tę migawkę.

$ sudo btrfs lista /migawki

Przywrócić Migawka Web1-2020-12-30 Z napędu zewnętrznego uruchom następujące polecenie:

$ sudo btrfs wyślij /migawki /Web1-2020-12-30 | sudo btrfs odbieraj /dane /.migawki

Snapshot Web1-2020-12-30 należy przywrócić na systemie plików BTRFS zamontowany na /dane informator.

Jak widać, Migawka Web1-2020-12-30 jest przywrócony na systemie plików BTRFS zamontowanych na /dane informator.

$ sudo btrfs lista /dane

I, jak widać, zawartość indeks.html plik z Migawka Web1-2020-12-30. To jest pierwsza wersja indeks.html plik z wcześniej.

$ cat /data /.migawki/Web1-2020-12-30/indeks.html

Wniosek

W tym artykule nauczyłeś się tworzyć kopie zapasowe migawek systemu plików BTRFS na napęd zewnętrzny. Nauczyłeś się również, jak robić przyrostowe kopie zapasowe migawek BTRFS na napęd zewnętrzny. Na koniec nauczyłeś się usuwać istniejące migawki z systemu plików BRTFS i przywrócić migawki z napędu zewnętrznego.