
En el artículo anterior, hemos visto cómo Expandir y reducir grupos de volúmenes y volúmenes lógicosEn este artículo, nos centraremos en cómo proteger los datos mediante Crear instantáneas de LVM.
¿Qué son las instantáneas de LVM?
Hay dos formas de proteger sus datos de fallas en el disco u otros problemas. Puede realizar copias de seguridad completas o incrementales y almacenar N copias.o con LVMpuede crear un volumen de instantáneas que tomará instantáneas cada vez que se realicen cambios en el volumen de origen.
Las instantáneas de LVM utilizan un mecanismo de copia en escritura para tomar instantáneas. Inicialmente, cuando crea un volumen de instantánea, contiene algunos metadatos sobre el volumen lógico de origen y sus detalles de bloque. Cuando realice cambios en el volumen de origen, LVM supervisará los cambios y tomará una instantánea de los bloques modificados. Aquí, LVM solo almacena los cambios bloqueados en el volumen de la instantánea.
configuración de laboratorio
Adjunté dos discos nuevos a mi máquina Ubuntu que se utilizarán con fines de demostración.Si desea obtener más información sobre cómo funcionan los siguientes comandos, consulte nuestro Introducción a la Guía LVM dada a continuación.
Una guía para principiantes de Linux Logical Volume Manager (LVM)
$ lsblk /dev/sd[cd] NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdc 8:32 0 10G 0 disk sdd 8:48 0 15G 0 disk
Ambos discos se inicializan como volúmenes físicos.
$ sudo pvcreate /dev/sd[cd] Physical volume "/dev/sdc" successfully created. Physical volume "/dev/sdd" successfully created.
grupo de volumen denominado «ostechnix_lab» se crea a partir de dos volúmenes físicos inicializados.
$ sudo vgcreate ostechnix_lab /dev/sd[cd] Volume group "ostechnix_lab" successfully created
volumen lógico denominado «laboratorio» De «ostechnix_lab» grupo de volumen.El tamaño del volumen lógico es 5 GB.
$ sudo lvcreate -L 5GB -n lab ostechnix_lab Logical volume "lab" created.
El volumen está formateado como ext4
sistema de archivos y montado en /opt/lvm_lab/
.
$ sudo mkfs.ext4 /dev/ostechnix_lab/lab $ mkdir /opt/lvm_lab $ sudo mount /dev/ostechnix_lab/lab /opt/lvm_lab/
Después de crear el volumen lógico, actualmente hay casi 20GB espacio libre.
$ sudo vgdisplay --- Volume group --- VG Name ostechnix_lab System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 24.99 GiB PE Size 4.00 MiB Total PE 6398 Alloc PE / Size 1280 / 5.00 GiB Free PE / Size 5118 / 19.99 GiB VG UUID LCGSEd-WTnT-lUEN-N0a8-QWhI-TqDi-lUZExd
Crear volumen de instantánea
Quiero crear un volumen de instantánea 5 GBEjecute el siguiente comando para crear el volumen de la instantánea:
$ sudo lvcreate -L +5G --snapshot --name snap /dev/mapper/ostechnix_lab-lab Logical volume "snap" created.
Permítanme echar un vistazo a lo que hace cada indicador en el comando anterior.
-L +5G
=> el valor del espacio debe pasarse a-L
bandera.aquí 5 GB es asignado.--snapshot
=> Esta bandera crea el volumen como un volumen de instantánea.También puedes usar-s
reemplazar--snapshot
bandera.--name
=> Nombre dado al volumen de la instantánea.Como para mí «roto» es el nombre de mi volumen de instantáneas./dev/mapper/ostechnix_lab-lab
=> Esta es la ubicación del volumen de origen.
atropelló «lvs
« Comando para ver volúmenes de instantáneas.echar un vistazo «origen» sección de la salida a continuación.apunta al volumen de origen «laboratorio» el % de datos es «0.01»Si algún bloque en el volumen cambia, se tomará una instantánea.
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lab ostechnix_lab owi-aos--- 5.00g snap ostechnix_lab swi-a-s--- 5.00g lab 0.01
También puede montar volúmenes de instantáneas y ver qué archivos y directorios existen.
$ mkdir /mnt/LVM_Snapshot/
$ mount /dev/mapper/ostechnix_lab-snap /mnt/LVM_Snapshot/
Cómo restaurar una instantánea LVM
Ejecute el siguiente comando para crear algunos datos aleatorios en el volumen de origen 1GB En términos de tamaño.
$ dd if=/dev/zero of=/data/dummy_file2 bs=1G count=1 oflag=dsync
Se ha creado el archivo binario, el espacio del volumen de la instantánea es de aproximadamente el 20 %, puede hacer clic en «datos%» parte.
$ ls -lh /opt/lvm_lab/ostechnix_sample.txt -rw-r--r-- 1 root root 1.0G Feb 19 15:46 /opt/lvm_lab/ostechnix_sample.txt
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lab ostechnix_lab owi-aos--- 5.00g snap ostechnix_lab swi-a-s--- 5.00g lab 20.09
Para restaurar una instantánea de LVM, siga el procedimiento a continuación. Una cosa importante a tener en cuenta es que una vez que se restaura la instantánea, el volumen lógico se eliminará automáticamente.
paso 1: Desmonte el sistema de archivos donde reside el volumen lógico de origen.
$ sudo umount /opt/lvm_lab
Paso 2: atropelló lvconvert
Comando para iniciar el proceso de restauración.
$ sudo lvconvert --merge /dev/ostechnix_lab/snap sudo lvconvert --merge /dev/ostechnix_lab/snap Merging of volume ostechnix_lab/snap started. ostechnix_lab/lab: Merged: 80.04% ostechnix_lab/lab: Merged: 80.42% ostechnix_lab/lab: Merged: 81.00% ostechnix_lab/lab: Merged: 81.43% ostechnix_lab/lab: Merged: 89.06% ostechnix_lab/lab: Merged: 98.04% ostechnix_lab/lab: Merged: 100.00%
Tu puedes correr lvs
orden y siguiente Atributos la parte que mostrará «Vaya» Esto significa que la restauración de instantáneas está en curso.
Paso 3: Una vez que se completa el proceso de combinación, el volumen de la instantánea se elimina automáticamente.Puedes verificarlo ejecutando lvs
Orden.
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lab ostechnix_lab -wi-ao---- 5.00g
Etapa 4: Monte el volumen lógico para ver si se restauran los datos.
$ sudo mount /dev/ostechnix_lab/lab /opt/lvm_lab
Cambio de tamaño y corrupción del volumen de la instantánea LVM
siempre recomiendo Asigne una cantidad igual de espacio para el volumen de la instantánea Tenga en cuenta que el volumen lógico de origen utilizará todo su espacio. En algunos casos, sin ninguna predicción, el volumen de la instantánea anterior asignará menos espacio que el volumen lógico. En este caso, si el volumen lógico de origen se utiliza por completo, el volumen de la instantánea no tendrá espacio más allá del espacio asignado y se dañará.
Si el volumen de la instantánea está dañado, es inútil y tenemos que eliminarlo y crear uno nuevo.
Para superar este problema, tienes tres opciones.
- Distribuye uniformemente el tamaño del volumen de la instantánea y el volumen de origen.
- Expanda manualmente el tamaño del volumen de la instantánea.
- Expanda automáticamente el tamaño del volumen de la instantánea. Este es el método recomendado.
Para extender manualmente el tamaño de un volumen lógico, ejecute el siguiente comando.aquí 3 GB El tamaño se agrega al volumen de la instantánea.
$ sudo lvextend -L +3G /dev/ostechnix_lab/snap
Para ampliar automáticamente el tamaño tienes que editar el archivo «/etc/lvm/lvm.conf
«Debes modificar dos parámetros importantes.
debes configurar autoextend_threshold
Este parámetro expandirá el volumen cuando se utilice el porcentaje de espacio dado en el volumen de la instantánea.Por ejemplo, si tienes 2 GB El volumen y el umbral de la instantánea se establecen en 50 Esto significa que si 50% espacio cual usar 1GBentonces debería ocurrir la expansión automática.
Debes configurar el autoextend_percent
alcance.
en conclusión
En este artículo vimos ¿Qué son las instantáneas LVM?cómo Crear un nuevo volumen de instantánea y restaurar el volumen de la instantáneaFinalmente, hemos visto cómo Ampliar el volumen de instantáneas De forma manual y automática.