Uno de los principales puntos a tener en cuenta por parte de un administrador de sistemas son las copias de seguridad de los datos que residen en sistemas en producción. Una buena gestión de copias de seguridad es básica para poder solventar posibles problemas en datos que, además, son críticos.
Hoy en día cualquier sistema informático en producción tiene como criterio de calidad la disponibilidad 24×7, por lo que el realizar copias de seguridad de datos que pueden estar actualizándose constantemente no es una tarea ni simple ni obvia.
En la EPS hemos implementado nuestros sistemas en producción con LVM, sí ese gestor de volúmenes de disco de software libre tan usado en Linux y sobradamente conocido por su propiedad de aumento de tamaño “en caliente”. LVM dispone de una opción muy interesante para solventar el problema de las copias: los “snapshots”.
¿Qué es y qué hace un “snapshots” en un gestor de volúmenes lógico?
Un volumen “snapshot” de LVM es un tipo especial de volumen que permite mostrar, de cara al usuario, datos de otro volumen (normalmente uno en producción) tal cual se encontraban en el momento en que se creo el ‘snapshot’ y al que no le afectan las nuevas modificaciones que se realizan en el sistema original en producción. Al montar dicho volumen lógico (el del snapshot) accederemos a los directorios, ficheros e información existente en el volumen en producción en el momento en el que se realiza el snapshot.
¿Cómo lo consigue mientras el volumen de producción sigue actualizándose?
Lo que en realidad se almacena en el volumen del snapshot es información referente a los cambios que se realizan en la partición original desde que se creó el snapshot (como metadatos, y por tanto, no accesible directamente), con el objetivo de saber en todo momento cómo estaba la partición original cuando se hizo el snapshot (al comparar dichos cambios y los datos actuales de la partición original). Por lo tanto, el tamaño del volumen del snapshot no necesita ser el mismo que el del volumen en producción, pues no van a copiarse los datos del sistema original.
El único problema que nos puede ocurrir sucede cuando el tamaño de los metadatos que debemos almacenar en el volumen “snapshot” como consecuencia de las modificaciones en el volumen origen (el de producción) es mayor que el tamaño que le hemos asignado al volumen del snapshot; en este caso no se garantiza la coherencia de los datos.
Cómo se puede hacer esto:
- Debemos tener espacio suficiente para guardar los cambios producidos en el volumen original tras el snapshot.
- Creamos el volumen en el que se copiará la “foto”:
lvcreate –LXXXG –s –n nombreVolumen nombreVolumenOriginal
‘nombreVolumen’ es el nombre que le daremos al ‘snapshot’
‘nombreVolumenOriginal’ es el nombre de volumen del que queremos realizar el ‘snapshot’
- Montar el volumen
- Realizar la copia
- Una vez terminada la copia, se borra el snapshot igual que se borra cualquier otro volumen:
lvremove nombreVolumen