Jak korzystać z migawek LVM w Ubuntu?

19

Zainstalowałem Ubuntu przy użyciu następujących opcji:

  • Wymaż dysk i zainstaluj Ubuntu
  • Zaszyfruj nową instalację Ubuntu
  • Użyj LVM

Jak mogę utworzyć migawki LVM, aby móc cofnąć zmiany systemowe, gdy jest to konieczne?

Aleksandr Gornostal
źródło

Odpowiedzi:

22

Uwaga: wszystkie polecenia należy wykonać z sudo

Najpierw zmniejsz rozmiar woluminu głównego, aby zrobić miejsce na wolumin migawki

  • Uruchom z Live CD
  • fdisk -l aby zobaczyć nazwę swojego urządzenia.
    Typ urządzenia Początkowe sektory końcowe Rozmiar
    / dev / sda1 2048 1050623 1048576 512M System EFI
    / dev / sda2 1050624 2050047 999424 488M System plików Linux
    / dev / sda3 2050048 500117503 498067456 237,5 G System plików Linux
    
    /dev/sda3 w moim przypadku
  • cryptsetup luksOpen /dev/sda3 crypt1 aby odszyfrować wolumin
  • vgscan --mknodes znaleźć wszystkie grupy woluminów
    Czytanie wszystkich tomów fizycznych. To może zająć chwilę...
    Znaleziono grupę woluminów „ubuntu-vg” przy użyciu metadanych typu lvm2
    
  • vgchange -ay aby aktywować wszystkie grupy woluminów
    2 woluminy logiczne w grupie woluminów „ubuntu-vg” są teraz aktywne
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/rootaby zmniejszyć rozmiar woluminu głównego o 20 Gb. Może to chwilę potrwać (zajęło mi to ~ 4 min).
    Ta przestrzeń zostanie później wykorzystana do tworzenia migawek LVM.
  • vgs aby zobaczyć, że faktycznie masz 20G wolnego miejsca
    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 2 0 wz - n- 230,44g 20,01g
    
  • reboot i usuń Live CD

Utwórz migawkę (tj. Aktywuj tryb „eksperymentowania”)

Teraz, gdy chcesz zrobić coś ryzykownego z systemem, uruchom następującą komendę

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    Uwaga: /dev/ubuntu-vg/rootjest woluminem logicznym, którego kopię zapasową chcesz wykonać
  • lvs aby zobaczyć, że wolumin został utworzony
    LV VG Attr LSize Pula Pochodzenie Dane% Meta% Przenieś Log Cpy% Synchronizacja Konwertuj
    root ubuntu-vg owi-aos --- 201.59g                                                    
    przystawki ubuntu-vg swi-as --- 20,00g root 0,00                                   
    swap_1 ubuntu-vg -wi-ao ---- 15.90g
    
    Migawka jest aktywna od momentu uruchomienia lvcreate. Możesz teraz zacząć eksperymentować z nowymi rzeczami.

Scenariusz nr 1: chcesz przywrócić zmiany

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    Wolumin logiczny ubuntu-vg / root zawiera używany system plików.
    Nie można scalić z woluminem otwartego źródła.
    Scalenie migawki ubuntu-vg / snap nastąpi po kolejnej aktywacji ubuntu-vg / root.
    
  • reboot

Scenariusz nr 2: chcesz zachować zmiany

  • lvremove /dev/mapper/ubuntu--vg-snap

Podsumowując

Zasadniczo musisz uruchomić, lvcreateaby rozpocząć proces, a następnie uruchomić go lvconvert --mergelub lvremovezakończyć.

Należy pamiętać, że gdy migawka jest aktywna, ze względu na strategię kopiowania przy zapisie wszystkie zmiany są zapisywane w tych 20 GB miejsca (lub dowolnej ustawionej wartości). Jednym ze sposobów sprawdzenia pozostałej pojemności jest sprawdzenie kolumny danych% lvspolecenia.

Aleksandr Gornostal
źródło
Miło to słyszeć :) Dzięki @ cl-netbox
Aleksandr Gornostal
Czy nie musisz zmniejszać systemu plików przed uruchomieniem lvreducena jego kontenerze?
Mark
-rFlaga @ Mark to robi
Aleksandr Gornostal
Czy bezpiecznie jest uruchomić, lvconvert --mergegdy system plików jest zamontowany, czy też musisz to zrobić z LiveCD?
CharlesB
1
@CharlesB tak, powinieneś uruchomić go, gdy jest zamontowany
Aleksandr Gornostal