Come posso usare le istantanee LVM in Ubuntu?

19

Ho installato Ubuntu usando queste opzioni:

  • Cancella il disco e installa Ubuntu
  • Cripta la nuova installazione di Ubuntu
  • Utilizza LVM

Come posso creare istantanee LVM, in modo da poter annullare le modifiche al sistema quando è necessario?

    
posta Aleksandr Gornostal 23.12.2017 - 16:41

1 risposta

21

Nota: tutti i comandi devono essere eseguiti da sudo

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

  • Avvia da Live CD
  • fdisk -l per vedere il nome del tuo dispositivo.
    Device       Start       End   Sectors   Size Type
    /dev/sda1     2048   1050623   1048576   512M EFI System
    /dev/sda2  1050624   2050047    999424   488M Linux filesystem
    /dev/sda3  2050048 500117503 498067456 237.5G Linux filesystem
    
    /dev/sda3 nel mio caso
  • cryptsetup luksOpen /dev/sda3 crypt1 per decrittografare il tuo volume
  • vgscan --mknodes per trovare tutti i gruppi di volumi
    Reading all physical volumes. This may take a while...
    Found volume group "ubuntu-vg" using metadata type lvm2
    
  • vgchange -ay per attivare tutti i tuoi gruppi di volumi
    2 logical volume(s) in volume group "ubuntu-vg" now active
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/root per ridurre le dimensioni del volume di root di 20 Gb. Questo potrebbe richiedere un po '(ci sono voluti ~ 4 minuti per me).
    Questo spazio verrà in seguito utilizzato per creare istantanee 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 rimuovi Live CD

Crea un'istantanea (ad esempio, attiva la modalità "sperimentazione")

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

  • % Co_de%
    Nota: lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root è un volume logico di cui vuoi avere uno snapshot di
  • /dev/ubuntu-vg/root per vedere che il volume è stato creato
    LV     VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    root   ubuntu-vg     owi-aos--- 201.59g                                                    
    snap   ubuntu-vg     swi-a-s---  20.00g      root   0.00                                   
    swap_1 ubuntu-vg     -wi-ao----  15.90g
    
    L'istantanea è attiva dal momento in cui si esegue lvs . Ora puoi iniziare a sperimentare cose nuove.

Scenario n. 1: desideri annullare le modifiche

  • %codice%
    Logical volume ubuntu-vg/root contains a filesystem in use.
    Can't merge over open origin volume.
    Merging of snapshot ubuntu-vg/snap will occur on next activation of ubuntu-vg/root.
    
  • lvcreate

Scenario n. 2: desideri mantenere le modifiche

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap

In conclusione

Devi fondamentalmente eseguire reboot per avviare il processo e poi eseguire lvremove /dev/mapper/ubuntu--vg-snap o lvcreate per terminarlo.

Ricorda che quando lo snapshot è attivo, a causa della strategia Copy-On-Write tutte le modifiche vengono salvate in quei 20 GB di spazio (o qualsiasi valore tu imposti). Un modo per controllare la capacità rimanente è guardare la colonna% di% del comando lvconvert --merge .

    
risposta data Aleksandr Gornostal 23.12.2017 - 16:51

Leggi altre domande sui tag