Backup de maquinas XEN con LVM
Cuando nos encontramos en una situación de servidores en producción, es recomendable cada cierto tiempo realizar un backup completo de la maquina en ciertos servidores específicos, o simplemente queremos trasladar a otro sistema dicha maquina pero no podemos hacerlo de una manera tradicional. A continuación vamos a ver una técnica en la que no es necesario apagar la maquina virtual, y seguir dando servicio sin notar un excesivo deterioro del servicio, o la caída del mismo.
Primero generamos dentro los servidores XEN un volumen en el LVM donde guardar las imagenes de los servidores, los tamaños en todo momento los dejo a la eleccion del administrador de sistemas, ya que cada cual tiene conciencia de que cantidad de información va a tratar.
# lvcreate -n lvBackup --size 245g VolGroup00 # mkfs.ext3 -m0 /dev/VolGroup00/lvBackup # mount /dev/VolGroup00/lvBackup /mnt/vm/
Partimos de la base que nuestra maquina virtual tiene un disco principal (NombreDeLaMaquina), en el que esta instalado el sistema (NombreDeLaMaquinaData), y otro adicional en el que por ejemplo están los datos. Ahora dentro de cada maquina virtual de la que deseamos obtener la copia ejecutaremos las siguientes acciones
Creamos un SnapShot de la maquina a copiar, de este modo conseguiremos una instantánea del estado actual.
# lvcreate -L 10G -s -n SnapNombreDeLaMaquina /dev/VolGroup00/lvNombreDeLaMaquina # lvcreate -L 10G -s -n SnapNombreDeLaMaquinaData /dev/VolGroup00/lvNombreDeLaMaquinaData
Copiamos el snapshot a un fichero imagen.
# dd if=/dev/VolGroup00/SnapNombreDeLaMaquina of=/mnt/vm/NombreDeLaMaquina.img # dd if=/dev/VolGroup00/SnapNombreDeLaMaquinaData of=/mnt/vm/NombreDeLaMaquinaData.img
Borramos el snapshot, ya que desde este momento no nos sera necesario, y es mejor dejar los sistemas lo mas limpios posibles # lvremove /dev/VolGroup00/SnapNombreDeLaMaquina # lvremove /dev/VolGroup00/SnapNombreDeLaMaquinaData
Copiamos la configuración de la maquina virtual, por si pretendemos llevárnosla a otro servidores, recordar modificarla si vas clonar esta maquina, ya que por ejemplo los identificadores de maquina virtual, y las MAC de las tarjetas de red han de ser únicas.
# cp /etc/xen/NombreDeLaMaquina /mnt/vm/
Empaquetamos para enviar a otra maquina, y ya tenemos listo todo.
# tar czfv NombreDeLaMaquina.tar.gz /mnt/vm/NombreDeLaMaquina*
Ya solo nos queda realizar la tarea para la que hemos destinado esta nueva copia.