Copia de Seguridad · 8 min read · Nov 05, 2025

Hacer Copias de Seguridad (Y Restaurar) Particiones LVM Con Instantáneas LVM

Hacer Copias de Seguridad (Y Restaurar) Particiones LVM Con Instantáneas LVM

Versión 1.1
Autor: Falko Timme

Este tutorial muestra cómo puedes crear copias de seguridad de particiones LVM con una función de LVM llamada instantáneas LVM. Una instantánea LVM es una copia exacta de una partición LVM que tiene todos los datos del volumen LVM desde el momento en que se creó la instantánea. La gran ventaja de las instantáneas LVM es que se pueden usar para reducir en gran medida la cantidad de tiempo que tus servicios/bases de datos están inactivos durante las copias de seguridad, ya que una instantánea generalmente se crea en fracciones de segundo. Después de que se ha creado la instantánea, puedes hacer una copia de seguridad de la instantánea mientras tus servicios y bases de datos están en funcionamiento normal.

También mostraré cómo restaurar una partición LVM desde una copia de seguridad en un capítulo adicional al final de este tutorial.

¡Este documento se proporciona sin garantía de ningún tipo! No emito ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

He probado esto en un servidor Debian Etch con la dirección IP 192.168.0.100 y el nombre de host server1.example.com. Tiene dos discos duros:

  • /dev/sda (10GB) que contiene una pequeña partición /boot (no-LVM), una partición / (LVM, un poco menos de 10GB), y una partición de intercambio (LVM)
  • /dev/sdb (60GB), sin usar en este momento; se utilizará para crear una partición /backups de 30GB (LVM) y para las instantáneas de la partición / (10GB - eso es suficiente porque la partición / es un poco menos de 10GB).

He creado una imagen de VMware de Debian Etch que puedes descargar y ejecutar en VMware Server o VMware Player (consulta https://www.howtoforge.com/import_vmware_images para aprender cómo hacerlo). Tiene las mismas especificaciones que mi sistema de prueba mencionado anteriormente. La contraseña de root es howtoforge. Usando esa imagen de VMware, puedes seguir los mismos pasos que yo en este tutorial para acostumbrarte a usar instantáneas LVM.

Para restaurar la partición / desde tu copia de seguridad (cubierto en el último capítulo de este tutorial) necesitas un CD Live de Linux que soporte LVM, como Knoppix o el CD de instalación por red de Debian Etch que puedes usar como CD de rescate si especificas rescate en el aviso de arranque. Usaré el CD de instalación por red de Debian Etch en este ejemplo (la lista de espejos está disponible aquí: http://www.debian.org/CD/http-ftp/ - descargué este: http://ftp.de.debian.org/debian-cd/4.0_r0/i386/iso-cd/debian-40r0-i386-netinst.iso).

Para crear una copia de seguridad de la partición / procederé de la siguiente manera: crearé una instantánea de la partición /, y después crearé una copia de seguridad de la instantánea (¡en lugar de la partición / real!) en la partición /backups (por supuesto, puedes almacenar esa copia de seguridad donde quieras - en lugar de crear una partición LVM /backups adicional, también podrías usar una unidad USB externa). La copia de seguridad se puede hacer utilizando tu solución de copia de seguridad preferida, por ejemplo, con tar o dd. Después, destruiré la instantánea porque ya no se necesita y usaría recursos del sistema.

No necesitas necesariamente un segundo HDD para las instantáneas - puedes usar el primero siempre que tengas suficiente espacio libre (no particionado) en él para crear instantáneas (debes usar el mismo espacio para las instantáneas que usas para la partición que deseas respaldar). Y como se mencionó antes, puedes usar una unidad USB para respaldar las instantáneas.

Para aprender más sobre LVM, deberías leer este tutorial: https://www.howtoforge.com/linux_lvm

2 Crear La Partición LVM /backups

(Si deseas almacenar tus copias de seguridad en otro lugar, por ejemplo, en una unidad USB externa, no tienes que hacer esto.)

Nuestra situación actual es la siguiente:

pvdisplay

server1:~# pvdisplay
— Physical volume —
PV Name /dev/sda5
VG Name server1
PV Size 9.76 GB / not usable 0
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 2498
Free PE 0
Allocated PE 2498
PV UUID vQIUga-221O-GIKj-81Ct-2ITT-bKPw-kKElpM

vgdisplay

server1:~# vgdisplay
— Volume group —
VG Name server1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 9.76 GB
PE Size 4.00 MB
Total PE 2498
Alloc PE / Size 2498 / 9.76 GB
Free PE / Size 0 / 0
VG UUID jkWyez-c0nT-LCaE-Bzvi-Q4oD-eD3Q-BKIOFC

lvdisplay

server1:~# lvdisplay
— Logical volume —
LV Name /dev/server1/root
VG Name server1
LV UUID UK1rjH-LS3l-f7aO-240S-EwGw-0Uws-5ldhlW
LV Write Access read/write
LV Status available

LV Size 9.30 GB
Current LE 2382
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:0

— Logical volume —
LV Name /dev/server1/swap_1
VG Name server1
LV UUID 2PASi6-fQV4-I8sJ-J0yq-Y9lH-SJ32-F9jHaj
LV Write Access read/write
LV Status available

LV Size 464.00 MB
Current LE 116
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:1

fdisk -l

server1:~# fdisk -l

Disco /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 31 248976 83 Linux
/dev/sda2 32 1305 10233405 5 Extended
/dev/sda5 32 1305 10233373+ 8e Linux LVM

Disco /dev/sdb: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

El disco /dev/sdb no contiene una tabla de particiones válida

Disco /dev/dm-0: 9990 MB, 9990832128 bytes
255 heads, 63 sectors/track, 1214 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

El disco /dev/dm-0 no contiene una tabla de particiones válida

Disco /dev/dm-1: 486 MB, 486539264 bytes
255 heads, 63 sectors/track, 59 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

El disco /dev/dm-1 no contiene una tabla de particiones válida

Así que /dev/sda contiene los volúmenes lógicos /dev/server1/root (partición /) y /dev/server1/swap_1 (partición de intercambio) más una pequeña partición /boot (no-LVM).

(Por cierto, /dev/server1/root es lo mismo que /dev/mapper/server1-root en Debian Etch. El primero es un enlace simbólico al segundo; usaré ambas notaciones en este tutorial. Lo mismo ocurre con /dev/server1/swap_1 y /dev/mapper/server1-swap_1.)

Ahora crearé la partición /dev/sdb1 y la agregaré al grupo de volúmenes server1, y después crearé el volumen /dev/server1/backups (que será de 30GB en lugar de los 60GB completos de /dev/sdb para que tengamos suficiente espacio para las instantáneas) que montaré en /backups:

fdisk /dev/sdb

server1:~# fdisk /dev/sdb
El dispositivo no contiene una tabla de particiones DOS válida, ni etiqueta de disco Sun, SGI o OSF
Construyendo una nueva etiqueta de disco DOS. Los cambios permanecerán en memoria solamente,
hasta que decidas escribirlos. Después, por supuesto, el contenido anterior no será recuperable.

El número de cilindros para este disco está configurado en 7832.
No hay nada de malo en eso, pero esto es más grande que 1024,
y podría en ciertas configuraciones causar problemas con:

  1. software que se ejecuta en el tiempo de arranque (por ejemplo, versiones antiguas de LILO)
  2. software de arranque y particionamiento de otros sistemas operativos
    (ejemplo, DOS FDISK, OS/2 FDISK)
    Advertencia: la bandera inválida 0x0000 de la tabla de particiones 4 será corregida por w(escribir)

Comando (m para ayuda): <– n
Acción del comando
e extended
p primary partition (1-4)
<– p
Número de partición (1-4): <– 1
Primer cilindro (1-7832, valor por defecto 1): <– [ENTER]
Usando el valor por defecto 1
Último cilindro o +tamaño o +tamañoM o +tamañoK (1-7832, valor por defecto 7832): <– [ENTER]
Usando el valor por defecto 7832

Comando (m para ayuda): <– t
Partición seleccionada 1
Código hexadecimal (tipo L para listar códigos): <– 8e
Cambiado el tipo de sistema de la partición 1 a 8e (Linux LVM)

Comando (m para ayuda): <– w
¡La tabla de particiones ha sido alterada!

Llamando a ioctl() para volver a leer la tabla de particiones.
Sincronizando discos.

pvcreate /dev/sdb1
vgextend server1 /dev/sdb1
lvcreate –name backups –size 30G server1
mkfs.ext3 /dev/mapper/server1-backups
mkdir /backups

Ahora montemos nuestro volumen /dev/server1/backups en /backups:

mount /dev/mapper/server1-backups /backups

Para que ese volumen se monte automáticamente cada vez que inicies el sistema, debes editar /etc/fstab y agregar una línea como esta:

vi /etc/fstab

| [...] /dev/mapper/server1-backups /backups ext3 defaults,errors=remount-ro 0 1 |

Ahora nuestra nueva situación se ve así:

pvdisplay

server1:~# pvdisplay
— Physical volume —
PV Name /dev/sda5
VG Name server1
PV Size 9.76 GB / not usable 0
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 2498
Free PE 0
Allocated PE 2498
PV UUID vQIUga-221O-GIKj-81Ct-2ITT-bKPw-kKElpM

— Physical volume —
PV Name /dev/sdb1
VG Name server1
PV Size 59.99 GB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 15358
Free PE 7678
Allocated PE 7680
PV UUID cvl1H5-cxRe-iyNg-m2mM-tjxM-AvER-rjqycO

vgdisplay

server1:~# vgdisplay
— Volume group —
VG Name server1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 2
Act PV 2
VG Size 69.75 GB
PE Size 4.00 MB
Total PE 17856
Alloc PE / Size 10178 / 39.76 GB
Free PE / Size 7678 / 29.99 GB
VG UUID jkWyez-c0nT-LCaE-Bzvi-Q4oD-eD3Q-BKIOFC

lvdisplay

server1:~# lvdisplay
— Logical volume —
LV Name /dev/server1/root
VG Name server1
LV UUID UK1rjH-LS3l-f7aO-240S-EwGw-0Uws-5ldhlW
LV Write Access read/write
LV Status available

LV Size 9.30 GB
Current LE 2382
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:0

— Logical volume —
LV Name /dev/server1/swap_1
VG Name server1
LV UUID 2PASi6-fQV4-I8sJ-J0yq-Y9lH-SJ32-F9jHaj
LV Write Access read/write
LV Status available

LV Size 464.00 MB
Current LE 116
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:1

— Logical volume —
LV Name /dev/server1/backups
VG Name server1
LV UUID sXq2Xe-y2CE-Ycko-rCoE-M5kl-E1vH-KQRoP6
LV Write Access read/write
LV Status available

LV Size 30.00 GB
Current LE 7680
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:2

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.