Come posso usare le istantanee LVM in Ubuntu?


19

Ho installato Ubuntu usando queste opzioni:

  • Cancella il disco e installa Ubuntu
  • Crittografa la nuova installazione di Ubuntu
  • Usa LVM

Come posso creare snapshot LVM, in modo da poter ripristinare le modifiche di sistema quando è necessario?

Risposte:


22

Nota: tutti i comandi devono essere eseguiti da sudo

Innanzitutto, riduci le dimensioni del volume principale per creare spazio per un volume di istantanee

  • Avvio da Live CD
  • fdisk -l per vedere il nome del tuo dispositivo.
    Tipo di dimensione settori inizio inizio dispositivo
    / dev / sda1 2048 1050623 1048576 Sistema EFI 512M
    / dev / sda2 1050624 2050047 999424 488M file system Linux
    / dev / sda3 2050048 500117503 498067456 237.5G File system Linux
    
    /dev/sda3 nel mio caso
  • cryptsetup luksOpen /dev/sda3 crypt1 per decrittografare il volume
  • vgscan --mknodes per trovare tutti i gruppi di volumi
    Lettura di tutti i volumi fisici. Questo potrebbe richiedere del tempo ...
    Trovato il gruppo di volumi "ubuntu-vg" usando metadati di tipo lvm2
    
  • vgchange -ay per attivare tutti i gruppi di volumi
    2 volumi logici nel gruppo di volumi "ubuntu-vg" ora attivo
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/rootper ridurre le dimensioni del volume della radice di 20 GB. Questo potrebbe richiedere del tempo (ci sono voluti ~ 4 minuti per me).
    Lo spazio verrà successivamente utilizzato per creare snapshot LVM.
  • vgs per vedere che hai effettivamente 20G di spazio libero
    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 2 0 wz - n- 230.44g 20.01g
    
  • reboot e rimuovere Live CD

Crea un'istantanea (ovvero attiva la modalità "sperimentazione")

Ora ogni volta che vuoi fare qualcosa di rischioso con il tuo sistema, esegui il seguente comando

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    Nota: /dev/ubuntu-vg/rootè un volume logico di cui si desidera avere un'istantanea
  • lvs per vedere che il volume è stato creato
    LV VG Attr LSize Pool Dati origine% Meta% Sposta registro Cpy% Sincronizzazione Converti
    root ubuntu-vg owi-aos --- 201.59g                                                    
    snap ubuntu-vg swi-as --- 20.00g root 0.00                                   
    swap_1 ubuntu-vg -wi-ao ---- 15.90g
    
    L'istantanea è attiva dal momento in cui corri lvcreate. Ora puoi iniziare a sperimentare nuove cose.

Scenario n. 1: si desidera ripristinare le modifiche

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    Il volume logico ubuntu-vg / root contiene un filesystem in uso.
    Impossibile unire su volume di origine aperto.
    La fusione dell'istantanea ubuntu-vg / snap avverrà alla successiva attivazione di ubuntu-vg / root.
    
  • reboot

Scenario n. 2: si desidera mantenere i cambiamenti

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

In conclusione

Fondamentalmente devi eseguire lvcreateper avviare il processo e quindi eseguirlo lvconvert --mergeo lvremoveterminarlo.

Tieni presente che quando l'istantanea è attiva, grazie alla strategia Copia su scrittura, tutte le modifiche vengono salvate in quei 20 GB di spazio (o qualsiasi valore impostato). Un modo per verificare la capacità rimanente è quello di esaminare la colonna di lvscomando Data% .


Buono a sapersi :) Grazie @ cl-netbox
Aleksandr Gornostal il

Non è necessario ridurre il filesystem prima di eseguirlo lvreducesul suo contenitore?
Segna il

La -rbandiera di @Mark lo fa
Aleksandr Gornostal il

È sicuro eseguirlo lvconvert --mergequando è installato il filesystem o è necessario farlo da LiveCD?
CharlesB,

1
@CharlesB sì, dovresti eseguirlo quando è montato
Aleksandr Gornostal
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.