Inicio > Blog de copias de seguridad y recuperación > ¿Cómo hacer una copia de seguridad de Proxmox? Métodos de copia de seguridad y recuperación de Proxmox

¿Cómo hacer una copia de seguridad de Proxmox? Métodos de copia de seguridad y recuperación de Proxmox

1 Star2 Stars3 Stars4 Stars5 Stars
(17 votos, media: 5,00 fuera de 5)
Cargando...
Actualizado 9th febrero 2023, Rob Morrison

La creación de copias de seguridad eficaces es una práctica crítica para casi cualquier empresa hoy en día, independientemente del tipo de datos y aplicaciones con los que trabaje. El Entorno Virtual (VE) de Proxmox no es diferente en este sentido. Afortunadamente, el rápido aumento de la popularidad de Proxmox ha hecho que muchas soluciones de copia de seguridad de terceros hayan desarrollado alguna forma de crear una copia de seguridad específica para Proxmox, y también hay algunas formas incorporadas de hacer copias de seguridad.

Métodos de copia de seguridad de Proxmox incorporados

En primer lugar, es comprensible que los métodos de copia de seguridad incorporados puedan tener limitaciones y problemas de personalización. Por lo tanto, y como regla general, todos los métodos de copia de seguridad incorporados en Proxmox tienden a ser copias de seguridad completas. Esto, a su vez, significa que vienen con todas las limitaciones inherentes al uso de este nivel de copia de seguridad.

Hay dos formas principales de iniciar una copia de seguridad incorporada de Proxmox: utilizando la interfaz gráfica de usuario original o a través del comando específico vzdump en la línea de comandos. Estas copias de seguridad también deben tener un almacenamiento a nivel de archivo, y las copias de seguridad también se pueden programar utilizando el nivel «Datacenter» en la GUI.

Proxmox puede operar tanto con máquinas virtuales como con contenedores, aunque existen algunas diferencias en cuanto a los distintos modos de copia de seguridad, a pesar de que existe el mismo trío de modos tanto para los contenedores como para las máquinas virtuales: modo de parada, modo de suspensión y modo de instantánea.

  • El modo Stop para una VM es el que proporciona la mayor consistencia de los tres, a costa de un corto periodo de inactividad. Como su nombre indica, es necesario detener la VM antes de realizar este modo de copia de seguridad.
    La idea para los contenedores es la misma, pero existe la posibilidad de un tiempo de inactividad prolongado.
  • El modo Suspend para una VM intenta disminuir el potencial tiempo de inactividad al no detener toda la VM por completo, pero el tiempo de inactividad sigue siendo relativamente grande, y la consistencia de los datos puede sufrir drásticamente, por lo que esta opción no se recomienda en general.
    La situación para los contenedores es algo diferente, ya que ese proceso crea una copia de los datos del contenedor en vivo en una ubicación temporal, suspende el contenedor después y luego reemplaza los archivos de la primera copia de seguridad con la copia del contenedor suspendido. El tiempo de inactividad de esta operación es significativamente menor que en el modo de suspensión, pero requiere un espacio libre adicional para mantener la copia temporal del contenedor.
  • Snapshot es probablemente la opción más interesante de las tres, ya que ofrece la posibilidad de crear copias de seguridad de la VM con poco o ningún tiempo de inactividad, pero con el riesgo de que el trabajo de copia de seguridad sea inconsistente. Dado que los datos se copian de una VM activa, existe la posibilidad de que se copie algún archivo a mitad de camino; por ello, la instantánea suele realizar los comandos guest-fsfreeze-freeze y guest-fsfreeze-thaw para intentar mitigar los posibles problemas de consistencia.
    El proceso de creación de una instantánea de un contenedor es prácticamente el mismo, ya que el software de copia de seguridad también suspende las operaciones dentro de un contenedor específico y luego crea una instantánea temporal de todo el contenido de ese contenedor. A continuación, se archiva todo el contenido del contenedor y la propia instantánea se elimina después.

El proceso de restauración con los dispositivos Proxmox incorporados también es relativamente sencillo: puede realizarse a través de la interfaz gráfica de usuario original o con la ayuda de dos comandos diferentes:

  • qmrestore – para restaurar las máquinas virtuales.
  • pct restore – para restaurar los contenedores.

Un problema potencial del proceso de restauración es que puede afectar seriamente a su rendimiento general con las máquinas virtuales/contenedores, ya que no hay límite en la cantidad de ancho de banda que pueden asumir las operaciones de restauración. Afortunadamente, esos límites pueden ser establecidos por el usuario. Hay dos tipos de ese límite: por restauración y por escritura en el almacenamiento.

Por restauración se trata de limitar el ancho de banda para una restauración a partir de un único archivo de copia de seguridad, y por almacenamiento de escritura limita la cantidad de ancho de banda utilizada en el proceso de escritura en un almacenamiento específico.

Nombres de archivos y compresión

Algunas de las versiones más recientes de vzdump codifican tanto el tiempo de la copia de seguridad como el tipo de huésped en el nombre del archivo. A continuación se muestra un ejemplo de un nombre de archivo de este tipo:


vzdump-lxc-105-2019_05_24-11_08_39.tar

Este tipo de denominación permite almacenar varias copias de seguridad diferentes en el mismo directorio. También hay una serie de opciones de retención disponibles que analizaremos más adelante.

La compresión de archivos es otra parte del proceso de copia de seguridad cuando se trata de Proxmox. Hay tres algoritmos de compresión comúnmente conocidos:lzo, gzipy zstd. Actualmente, zstd es el algoritmo más rápido de los tres, ya que soporta el multihilo. Sorprendentemente, tanto lzo como gzip suelen ser las opciones por defecto para muchos casos y son las más utilizadas en general.

También hay disponible un sustituto de gzip llamado pigz, que presume de mejorar el rendimiento gracias a la capacidad de utilizar el multihilo. Tanto pigz como zstd pueden ajustar manualmente la cantidad de núcleos/hilos utilizados.

La mayoría de las veces es fácil entender qué algoritmo de compresión se ha utilizado con sólo mirar la extensión del archivo de copia de seguridad.

  • .zst – Zstandard compresión
  • .gz or .tgz – gzip compresión
  • .lzo – lzo compresión

Si la extensión del archivo de copia de seguridad no coincide con ninguno de los ejemplos anteriores – entonces no fue comprimido por vzdump en primer lugar.

Retención de copias de seguridad y ejemplos

Hay un número de diferentes opciones disponibles cuando se trata de la retención de copias de seguridad en Proxmox, aquí está la lista de todos ellos:

  • keep-all <boolean> – se guardan todas las copias de seguridad. No se pueden establecer otras opciones si esto es «true».
  • keep-last <N> – especifica el número de copias de seguridad que se mantendrán, contando hacia atrás desde la última.
  • keep-hourly <N> – especifica el número de horas durante las que se conservarán las copias de seguridad. Si hay más de una copia de seguridad para una hora, sólo se conserva la más reciente.
  • keep-daily <N> – especifica el número de días durante los que se conservarán las copias de seguridad. Si hay más de una copia de seguridad para un día, sólo se conserva la más reciente.
  • keep-weekly <N> – especifica el número de semanas para las que se conservarán las copias de seguridad. Si hay más de una copia de seguridad para una semana, sólo se conserva la más reciente.
  • keep-monthly <N> – especifica el número de meses para los que se conservarán las copias de seguridad. Si hay más de una copia de seguridad para un mes, sólo se conserva la más reciente.
  • keep-yearly <N> – especifica el número de años para los que se conservarán las copias de seguridad. Si hay más de una copia de seguridad para un año, sólo se conserva la más reciente.

Todas las opciones de retención se procesan en este orden, de arriba a abajo. Cada una de estas opciones sólo cubre las copias de seguridad dentro de su período de tiempo y no se ocupa de las copias de seguridad que ya fueron cubiertas por las opciones anteriores. Las opciones de retención de su elección deben especificarse en una lista separada por comas, como en el ejemplo siguiente:


# vzdump 777 –prune-backups keep-last=3,keep-daily=13,keep-yearly=9

Ahora repasaremos algunos de los comandos regulares de copia de seguridad y sus capacidades adicionales con respecto a la configuración


# vzdump 777

En el ejemplo anterior estamos creando un volcado básico de un huésped 777 al directorio de volcado por defecto sin ninguna instantánea.


# vzdump 777 –mode suspend

En el ejemplo anterior estamos creando una copia de seguridad del mismo huésped utilizando una instantánea, lo que resulta en un tiempo de inactividad mínimo.


# vzdump –all –mode suspend –mailto root –mailto admin

En el ejemplo anterior estamos haciendo una copia de seguridad de todos nuestros sistemas invitados y enviando correos electrónicos de notificación tanto a los usuarios administradores como a los usuarios root.


# vzdump 777 –dumpdir /mnt/backup –mode snapshot

En el ejemplo anterior utilizamos el método de la instantánea con un directorio de volcado personalizado.


# vzdump 101 102 103 –mailto root

En el ejemplo anterior estamos haciendo una copia de seguridad de varios huéspedes diferentes a la vez (101, 102, 103…).


# vzdump –mode suspend –exclude 101,102

En el ejemplo anterior estamos haciendo una copia de seguridad de todos los huéspedes excepto los especificados (101, 102).


# pct restore 600 /mnt/backup/vzdump-lxc-777.tar

En el ejemplo anterior estamos restaurando un contenedor en un nuevo CT 600.


# qmrestore /mnt/backup/vzdump-qemu-888.vma 601

En el ejemplo anterior estamos restaurando una VM QemuServer como VM 601.

Métodos de copia de seguridad de Proxmox de Bacula Enterprise

Afortunadamente, existe una buena gama de alternativas de terceros cuando se trata de operaciones de copia de seguridad y restauración dentro del entorno virtual de Proxmox. Por ejemplo, existe Bacula Enterprise, que es una solución de copia de seguridad completa que es capaz de trabajar con una miríada de diferentes tipos de bases de datos/VM, y también tiene un módulo Proxmox integrado de forma nativa.

Sorprendentemente, Bacula Enterprise también ofrece dos maneras diferentes de realizar una copia de seguridad de Proxmox VM, y una de ellas ni siquiera implica el módulo Proxmox en primer lugar.

El primer método implica la instalación de un demonio de archivos de Bacula Enterprise en cada una de las máquinas virtuales invitadas de las que desee realizar copias de seguridad. Tenga en cuenta que tendrá que programar y priorizar si está utilizando varias VMs con este método, ya que realizar copias de seguridad de todas ellas a la vez podría crear fácilmente un cuello de botella para su subsistema de red/disco.

Aparte de eso, la instalación de un demonio de archivos de Bacula permite una gran variedad de funciones, como la verificación de trabajos, la restauración de archivos individuales, la compresión a nivel de archivo, la verificación de sumas de comprobación y mucho más.

Dado que el segundo método de creación de copias de seguridad Proxmox con la ayuda del módulo Proxmox de Bacula es el más potente, sólo nos sumergiremos en los detalles y configuraciones de este módulo específico.

Copia de seguridad de Proxmox con Bacula Enterprise

El proceso de creación de una copia de seguridad de Proxmox VM con Bacula Enterprise incluye tres pasos principales:

  • Guardar la configuración de la VM huésped.
  • Creación de instantáneas de la VM huésped.
  • Descarga de datos con la ayuda del comando vzdump.

Como puede ver, el principal modo de copia de seguridad que utiliza Bacula Enterprise es el modo Snapshot, que permite realizar copias de seguridad consistentes y con poco o ningún tiempo de inactividad. Las copias de seguridad de las VM invitadas LXC se almacenan en dos tipos de archivos: .tar y .conf, mientras que las VM invitadas QEMU utilizan el tipo de archivo .vma.

Esto se aplica a una sola VM invitada, por lo que es necesario crear varios trabajos de copia de seguridad si necesita hacer una copia de seguridad de varias VM de Proxmox. El proceso en sí está ampliamente automatizado, creando instantáneas y eliminándolas después de descargar los datos, por lo que es relativamente sencillo desde el punto de vista de un usuario normal.

Restauración de Proxmox con Bacula Enterprise

Hay dos tipos de restauración disponibles cuando se trata de Proxmox con Bacula Enterprise. Puede restaurar los datos como una VM invitada completa de Proxmox (se restaurará con la vmid original con la que se hizo la copia de seguridad, o con la nueva si la anterior ya está ocupada). Todo lo que tiene que hacer es utilizar el parámetro where= durante el proceso de recuperación de datos de Bacula.

Otro matiz es sobre la vmid de la VM huésped restaurada. Si es necesario que una VM restaurada tenga una nueva vmid, ésta se elige aleatoriamente como un número de la vmid más alta disponible +1…11 sumado a ese número. También puede repasar este proceso aleatorio con el comando sequentialvmid – así su VM huésped obtendría el primer número disponible dentro del sistema.

Otra opción de recuperación es restaurar todos los datos en un directorio local. Esto también puede hacerse con un comando similar: where=/some/path. Las rutas inexistentes serían creadas automáticamente por el módulo Proxmox.

Conclusión

Bacula Enterprise ofrece una gama especialmente amplia de opciones diferentes cuando se trata de operaciones de copia de seguridad y restauración, y su copia de seguridad y recuperación Proxmox no es diferente. El alto nivel de personalización da como resultado una copia de seguridad especialmente rápida y (lo que es más importante) una rápida recuperación de los datos de una organización. Utilizando su avanzada tecnología de instantáneas y aprovechando la flexibilidad del software en el proceso, Bacula Enterprise es una sólida opción para sus necesidades de copia de seguridad y restauración de Proxmox.

Sobre el autor
Rob Morrison
Rob Morrison es el director de marketing de Bacula Systems. Comenzó su carrera de marketing de TI con Silicon Graphics en Suiza, desempeñando con fuerza varios puestos de gestión de marketing durante casi 10 años. En los siguientes 10 años, Rob también ocupó varios puestos de gestión de marketing en JBoss, Red Hat y Pentaho, asegurando el crecimiento de la cuota de mercado de estas conocidas empresas. Se graduó en la Universidad de Plymouth y tiene una licenciatura en Medios Digitales y Comunicaciones, y completó un programa de estudios en el extranjero.
Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *