¿Cómo puedo usar instantáneas LVM en Ubuntu?


19

He instalado Ubuntu usando estas opciones:

  • Borra el disco e instala Ubuntu
  • Cifre la nueva instalación de Ubuntu
  • Utilizar LVM

¿Cómo puedo crear instantáneas de LVM para poder revertir los cambios del sistema cuando sea necesario?

Respuestas:


22

Nota: todos los comandos deben hacerse desde sudo

Primero, reduzca el tamaño de su volumen raíz para dejar espacio para un volumen de instantánea

  • Arrancar desde Live CD
  • fdisk -l para ver el nombre de tu dispositivo.
    Dispositivo Inicio Fin Sectores Tamaño Tipo
    / dev / sda1 2048 1050623 1048576 Sistema 512M EFI
    / dev / sda2 1050624 2050047 999424 488M Sistema de archivos Linux
    / dev / sda3 2050048 500117503 498067456 sistema de archivos 237.5G Linux
    
    /dev/sda3 en mi caso
  • cryptsetup luksOpen /dev/sda3 crypt1 para descifrar tu volumen
  • vgscan --mknodes para encontrar todos los grupos de volúmenes
    Lectura de todos los volúmenes físicos. Esto puede tardar un rato...
    Se encontró el grupo de volúmenes "ubuntu-vg" utilizando metadatos tipo lvm2
    
  • vgchange -ay para activar todos tus grupos de volúmenes
    2 volúmenes lógicos en el grupo de volúmenes "ubuntu-vg" ahora activos
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/rootpara reducir el tamaño de su volumen raíz en 20 Gb. Esto puede tomar un tiempo (me tomó ~ 4 minutos).
    Ese espacio se usará más tarde para crear instantáneas LVM.
  • vgs para ver que realmente tienes 20G de espacio libre
    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 2 0 wz - n- 230.44g 20.01g
    
  • reboot y eliminar Live CD

Crear una instantánea (es decir, activar el modo "experimentación")

Ahora, cuando quiera hacer algo arriesgado con su sistema, ejecute el siguiente comando

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    Nota: /dev/ubuntu-vg/rootes un volumen lógico del que desea tener una instantánea de
  • lvs para ver que el volumen ha sido creado
    LV VG Attr LSize Pool Origen Datos% Meta% Move Log Cpy% Sync Convert
    raíz ubuntu-vg owi-aos --- 201.59g                                                    
    snap ubuntu-vg swi-as --- 20.00g root 0.00                                   
    intercambiar_1 ubuntu-vg -wi-ao ---- 15.90g
    
    La instantánea está activa desde el momento en que corres lvcreate. Ahora puede comenzar a experimentar con cosas nuevas.

Escenario n. ° 1: desea revertir los cambios

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    El volumen lógico ubuntu-vg / root contiene un sistema de archivos en uso.
    No se puede fusionar sobre el volumen de origen abierto.
    La fusión de la instantánea ubuntu-vg / snap ocurrirá en la próxima activación de ubuntu-vg / root.
    
  • reboot

Escenario # 2: desea persistir los cambios

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

En conclusión

Básicamente, debe ejecutar lvcreatepara iniciar el proceso y luego ejecutarlo lvconvert --mergeo lvremovefinalizarlo.

Tenga en cuenta que cuando la instantánea está activa, debido a la estrategia Copiar en escritura todos los cambios se guardan en esos 20 Gb de espacio (o cualquier valor que establezca). Una forma de verificar la capacidad restante es mirar la columna de lvscomando % de datos .


Es bueno escuchar :) Gracias @ cl-netbox
Aleksandr Gornostal

¿No necesita reducir el sistema de archivos antes de ejecutar lvreduceen su contenedor?
Mark

@Mark -rflag hace eso
Aleksandr Gornostal

¿Es seguro ejecutarlo lvconvert --mergecuando el sistema de archivos está montado, o necesita hacerlo desde LiveCD?
CharlesB

1
@CharlesB sí, deberías ejecutarlo cuando está montado
Aleksandr Gornostal
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.