jueves, 9 de enero de 2020

Proxmox, backup full y diferencial

Proxmox Virtual Environment, o Proxmox VE, es un entorno de virtualización de servidores de código abierto. Está en distribuciones GNU/Linux basadas en Debian con una versión modificada del Kernel.


 A continuación vamos a ver cómo configurar un sistema de copias de seguridad diferenciales.

Los usuarios de ProxmoxVE saben que el sistema de backup del mismo solo realiza copias totales de cada VM o LXC lo que deviene en el desperdicio de una importante cantidad de espacio en disco, o medios extraibles.

Sin embargo, gracias al trabajo de Kamil Trzciński, es posible patchear ProxmoxVE para que realice backup diferenciales.

¿Qué es un backup diferencial?
La copia incremental ( o diferencial incremental ) es la más avanzada en sistemas de backup, ya que únicamente copia los ficheros creados o modificados desde el último backup realizado, ya sea de una copia completa o incremental, reduciendo de este modo los archivos a copiar y el tiempo empleado en el proceso de backup.

 una vez que tenemos nuestro host proxmox configurado y con sus VM y LXC corriendo, cabe ocuparnos de las copias de seguridad.
para ellos vamos a parchar proxmox de manera que acepte realizar copias diferenciales.

Se preguntaran a esta altura por qué no es una opción propia de Proxmox. Pués bien, la respuesta de los autores es:
Es decir: Quieren mantener esta herramienta tan sencilla como sea posible.
Nada más que agregar. Si no lo hacés vos, lo hago yo.

El Proxmox del ejemplo es:  Virtual Environment 5.4-7
chequear su versión para aplicar el patch correspondiente

Hay dos formas de obtener el script para patchear Proxmox
1) con wget
wget https://github.com/ayufan/pve-patches/blob/master/pve-5.4-5-diff-backup-addon

2) con git
git clone https://github.com/ayufan/pve-patches

una vez que tenemos el script le damos atributo de ejecutable y lo corremos

./pve-5.4-5-diff-backup-addon apply

como se observa en la imágen, el patch ya esta aplicado por lo que no produce ningún efecto.
En la primer instalación el mensaje será de un parchado satisfactorio.

A continuación instalamos xdelta3.
dpkg -i pve-xdelta3_3.0.6-1_amd64.deb


En Proxmox tenemos la posibilidad de trabajar tanto en la GUI como directamente en la terminal de Linux.
Veamos el backup configurado para algunas de los contenedores y vm




Nos queda seteado para 1 backup full y 2 diferenciales, de lunes a viernes.

podemos ver el contenido de nuestro directorio de backup
se observa que del container y la vm configurados para copia de seguridad ya existe el primer backup diferencial. Y vaya la diferencia en tamaño!!

lo mismo podemos observar en la terminal, con el agregado que se observan los log del sistema, interesantes de leer para entender el proceso completo.

Finalmente editamos el cron de proxmox para que quede similar a esta entrada:

vi /etc/pve/vzdump.cron
Agregando la opción --fullbackup

Nota:
En el ejemplo /mnt es el punto de montaje de un servidor NFS ubicado en una locación externa al proxmox. Decidí utilizar las propiedades de Debian para tal fin, antes que las propias de proxmox.


El patch tiene un script para chequear los backup
Y el blog del autor tiene ejemplos de restauración de los backup diferenciales.

Fuentes:
https://www.ayufan.eu/projects/proxmox-ve-differential-backups/#disqus_thread
https://github.com/ayufan/pve-patches