LVM Snapshots Backup and Restore on Linux

w naszych poprzednich samouczkach widzieliśmy, że implementacja woluminów LVM może być bardzo korzystna w celu zarządzania przestrzenią na Twoim hoście.

warstwa zarządzania woluminem logicznym udostępnia interfejs API, którego można użyć do dodawania lub usuwania miejsca w dowolnym momencie, gdy system jest uruchomiony.

istnieje jednak inna kluczowa funkcja ujawniona przez LVM, która może być bardzo korzystna dla administratorów systemu: migawki LVM.

w informatyce migawki są używane do opisania stanu systemu w określonym momencie.

w tym samouczku zobaczymy, jak możesz łatwo zaimplementować migawki LVM.

zobaczymy również, jak możesz wykonać kopię zapasową całego systemu plików za pomocą migawek i przywrócić go do woli.

spis treści

wymagania wstępne

aby utworzyć migawki LVM, oczywiście musisz mieć przynajmniej wolumin logiczny utworzony w systemie.

jeśli nie jesteś pewien, czy tak jest, możesz uruchomić polecenie „lvs” w celu wyświetlenia istniejących woluminów logicznych.

$ lvs
lista woluminów logicznych w Linuksie

w tej sytuacji mamy 3 GB woluminu logicznego stworzonego w naszym systemie.

jednak posiadanie 3 GB woluminu logicznego nie musi oznaczać, że cała przestrzeń jest używana w naszym systemie.

aby sprawdzić rzeczywisty rozmiar woluminu logicznego, możesz sprawdzić używane miejsce na dysku za pomocą polecenia „df”.

$ df -h

Uwaga : Twój wolumin logiczny musi być zamontowany, aby sprawdzić używane miejsce..

jeśli nie masz pewności co do montowania woluminów logicznych lub partycji, sprawdź nasz samouczek na temat montowania systemów plików.

sprawdzanie wielkości woluminu logicznego w systemie linux

jak widać tutaj, wolumin logiczny ma pojemność 3 GB, ale tylko 3,1 MB są używane w systemie plików.

jako przykład, powiedzmy, że chcemy wykonać kopię zapasową folderu /etc naszego serwera.

$ cp -R /etc /mnt/lv_mount

teraz, gdy nasz folder konfiguracyjny został skopiowany do naszego woluminu logicznego, zobaczmy, jak możemy utworzyć migawkę LVM tego systemu plików.

tworzenie migawek LVM przy użyciu lvcreate

aby utworzyć migawkę LVM woluminu logicznego, musisz wykonać polecenie „lvcreate” z opcją „-s” dla „migawki”, opcją „-L” z rozmiarem i nazwą woluminu logicznego.

opcjonalnie możesz określić nazwę migawki za pomocą opcji „- n”.

$ lvcreate -s -n <snapshot_name> -L <size> <logical_volume>
tworzenie migawki lvm za pomocą lvcreate

uwaga: nie będzie można tworzyć nazw migawek z „migawką” w nazwie, ponieważ jest to zarezerwowane słowo kluczowe.

musisz również upewnić się, że masz wystarczającą ilość miejsca w grupie woluminów, ponieważ migawka zostanie domyślnie utworzona w tej samej grupie woluminów.

po utworzeniu migawki możesz ją sprawdzić, uruchamiając bezpośrednio polecenie „lvs” lub polecenie „lvdisplay”.

$ lvs$ lvdisplay <snapshot_name>
wyświetlanie migawek lvm przy użyciu lvs

jak widać, wolumin logiczny ma zestaw różnych atrybutów w porównaniu do oryginalnego woluminu logicznego:

  • s: dla migawki,” o ” oznacza pochodzenie oryginalnego woluminu logicznego skopiowanego do migawki;
  • w: dla zapisu, co oznacza, że migawka ma uprawnienia do odczytu i zapisu;
  • i : dla „dziedziczone”;
  • a : dla „przydzielone”, co oznacza, że rzeczywista przestrzeń jest poświęcona temu woluminowi logicznemu;
  • o :
  • s : docelowy Typ migawki dla obu woluminów logicznych

po utworzeniu woluminu logicznego migawki należy go zamontować, aby wykonać kopię zapasową systemu plików.

montowanie migawki LVM używanie mount

aby zamontować migawkę LVM, musisz użyć polecenia „mount”, określić pełną ścieżkę do woluminu logicznego i określić punkt montowania, który ma być użyty.

$ mount <snapshot_path> <mount_point>

jako przykład, powiedzmy, że chcemy zamontować „/dev/vg_1/lvol0” do punktu montowania „/mnt/lv_snapshot” w naszym systemie.

aby to osiągnąć, wykonamy następujące polecenie :

$ mount /dev/vg_1/lvol0 /mnt/snapshot

możesz natychmiast sprawdzić, czy operacja montażu jest skuteczna, ponownie uruchamiając polecenie „lsblk”.

$ lsblk
montowanie migawki lvm na Linuksie

tworzenie kopii zapasowych migawek LVM

teraz, gdy migawka jest zamontowana, możesz wykonać jej kopię zapasową za pomocą polecenia tar lub rsync.

podczas wykonywania kopii zapasowych zasadniczo masz dwie opcje : możesz wykonać kopię lokalną lub możesz przenieść archiwa bezpośrednio na zdalny serwer kopii zapasowych.

tworzenie lokalnej kopii zapasowej migawki LVM

najprostszym sposobem tworzenia kopii zapasowej migawki LVM jest użycie polecenia „tar” z opcją „-c” Dla „create”, opcją „z” w celu utworzenia pliku gzip i opcją „-f” w celu określenia pliku docelowego.

$ tar -cvzf backup.tar.gz <snapshot_mount>

w naszym przypadku, gdy migawka jest zamontowana w punkcie montowania „/ mnt/ lv_snapshot”, Komenda backup będzie :

$ tar -cvzf backup.tar.gz /mnt/lv_snapshot

podczas uruchamiania tego polecenia w bieżącym katalogu roboczym zostanie utworzona kopia zapasowa.

Tworzenie i przesyłanie kopii zapasowej migawki LVM

w niektórych przypadkach posiadasz serwer kopii zapasowych, który może być używany do regularnego przechowywania kopii zapasowych LVM.

aby utworzyć takie kopie zapasowe, użyjesz polecenia „rsync”, określ system plików, który ma zostać zarchiwizowany, a także serwer docelowy, który ma zostać użyty.

# If rsync is not installed already, you will have to install using apt$ sudo apt-get install rsync$ rsync -aPh <snapshot_mount> <remote_user>@<destination_server>:<remote_destination>

Uwaga: Jeśli nie jesteś pewien transferu plików na Linuksie, powinieneś sprawdzić samouczek, który napisaliśmy na ten temat.

jako przykład powiedzmy, że migawka jest zamontowana na „/mnt/lv_snapshot” i że chcemy wysłać migawkę do serwera kopii zapasowych znajdującego się na adresie IP „192.168.178.33”.

aby połączyć się ze zdalnym serwerem kopii zapasowych, używamy konta „kubuntu” i wybieramy pliki przechowywane w folderze „/backups”.

$ rsync -aPh /mnt/lv_snapshot :/backups

teraz, gdy migawka woluminu logicznego jest zarchiwizowana, możesz ją łatwo przywrócić na żądanie.

zdalne tworzenie kopii zapasowych lvm

przywracanie migawek LVM

teraz, gdy twój LVM jest zarchiwizowany, będziesz mógł go przywrócić w systemie lokalnym.

aby przywrócić wolumin logiczny LVM, należy użyć polecenia „lvconvert” z opcją „–mergesnapshot” i podać nazwę migawki woluminu logicznego.

podczas korzystania z „–mergesnapshot” migawka jest scalana z oryginalnym woluminem logicznym i jest usuwana zaraz po nim.

$ lvconvert --mergesnapshot <snapshot_logical_volume>

w naszym przypadku migawka woluminu logicznego została nazwana lvol0, więc wykonamy następujące polecenie

$ lvconvert --mergesnapshot vg_1/lvol0
scalanie migawek przy użyciu lvconvert

jak zapewne zauważyłeś, oba urządzenia (Oryginał i migawka nie mogą być otwarte, aby operacja scalania się powiodła.

Alternatywnie, możesz odświeżyć wolumin logiczny, aby go reaktywować przy użyciu najnowszych metadanych za pomocą „lvchange”

$ lvchange --refresh vg_1/lv_1

po pomyślnym połączeniu można sprawdzić, czy wolumin logiczny został usunięty z listy dostępnych woluminów logicznych.

$ lvs
wyświetlanie woluminów logicznych bez migawki

zrobione!

migawka woluminu logicznego jest teraz usuwana, a zmiany zostały scalone z powrotem do oryginalnego woluminu logicznego.

wniosek

w tym samouczku dowiesz się o migawkach LVM, czym są i jak można ich używać do tworzenia kopii zapasowych i przywracania systemów plików.

regularne tworzenie kopii zapasowych jest niezbędne, zwłaszcza gdy pracujesz w średniej i dużej firmie.

posiadanie kopii zapasowych i możliwość ich łatwego przywracania jest najlepszym sposobem, aby upewnić się, że będziesz w stanie zapobiec poważnej utracie danych w systemach.

jeśli jesteś zainteresowany administracją systemem Linux, mamy na stronie pełną sekcję poświęconą temu systemowi, więc koniecznie sprawdź!