Acerca de las copias de seguridad en Proxmox VE

Acerca de las copias de seguridad en Proxmox VE
En el artículo «La magia de la virtualización: curso introductorio en Proxmox VE» Hemos instalado con éxito el hipervisor en el servidor, conectado el almacenamiento, asegurado la seguridad básica e incluso creado nuestra primera máquina virtual. Ahora, analicemos cómo implementar las tareas más básicas que debemos realizar para siempre tener la posibilidad de restaurar el funcionamiento de los servicios en caso de fallo.

Las herramientas nativas de Proxmox no solo permiten realizar copias de seguridad de los datos, sino también crear conjuntos de imágenes de sistemas operativos preconfigurados para un despliegue rápido. Esto no solo ayuda a crear un nuevo servidor para cualquier servicio en cuestión de segundos, sino que también reduce el tiempo de inactividad al mínimo.

No vamos a hablar sobre la necesidad de crear copias de seguridad, ya que esto es obvio y hace tiempo que es una axiomática. Nos detendremos en algunas cosas no tan evidentes y características.

Primero, veamos cómo se guardan los datos durante el proceso de copia de seguridad.

Algoritmos de copia de seguridad

Empecemos por decir que Proxmox cuenta con un decente conjunto de herramientas para crear copias de seguridad de máquinas virtuales. Permite guardar fácilmente todos los datos de la máquina virtual y soporta dos mecanismos de compresión, así como tres métodos para crear estas copias.

Primero analizaremos los mecanismos de compresión:

  1. Compresión LZO. Un algoritmo de compresión de datos sin pérdida, inventado a mediados de la década de 1990. El código fue escrito por Markus Oberhumer (implementado en Proxmox con la utilidad lzop). La principal característica de este algoritmo es su rápida descompresión. Por lo tanto, cualquier copia de seguridad creada con este algoritmo puede ser desplegada en el menor tiempo posible si es necesario.
  2. Compresión GZIP. Al usar este algoritmo, la copia de seguridad se comprimirá "en tiempo real" con la utilidad GNU Zip, que utiliza un potente algoritmo Deflate creado por Phil Katz. El enfoque principal se centra en la máxima compresión de datos, lo que permite reducir el espacio en disco ocupado por las copias de seguridad. La principal diferencia con LZO es que los procedimientos de compresión/descompresión consumen una cantidad considerable de tiempo.

Modos de archivado

Proxmox ofrece a los administradores de sistemas tres métodos de copia de seguridad. Con ellos, se puede resolver la tarea requerida, estableciendo prioridades entre la necesidad de inactividad y la fiabilidad de la copia de seguridad realizada:

  1. Modo Snapshot. Este modo también se puede denominar copia de seguridad en vivo, ya que no se requiere detener la operación de la máquina virtual para su uso. El uso de este mecanismo no interrumpe el funcionamiento de la VM, pero tiene dos desventajas muy graves: pueden surgir problemas debido a bloqueos de archivos por parte del sistema operativo y la velocidad de creación más baja. Las copias de seguridad creadas con este método siempre deben comprobarse en un entorno de prueba. De lo contrario, existe el riesgo de que al necesitar una recuperación de emergencia, puedan fallar.
  2. Modo Suspend. La máquina virtual "congela" temporalmente su estado hasta que finaliza el proceso de copia de seguridad. El contenido de la memoria RAM no se borra, lo que permite continuar el trabajo exactamente desde el punto en el que se detuvo. Por supuesto, esto provoca inactividad en el servidor durante el tiempo de copia de información, pero no es necesario apagar/encender la máquina virtual, lo cual es bastante crítico para algunos servicios. Especialmente, si el inicio de parte de los servicios no es automático. Sin embargo, esas copias de seguridad también deben desplegarse en un entorno de prueba para su verificación.
  3. Modo Stop. Es el método más confiable de copia de seguridad, pero requiere que la máquina virtual esté completamente apagada. Se envía un comando para un apagado normal, después de detenerla, se realiza la copia de seguridad y luego se da la orden de encender la máquina virtual. La cantidad de errores con este enfoque es mínima y, en su mayoría, se reduce a cero. Las copias de seguridad creadas de esta manera casi siempre se despliegan correctamente.

Ejecución del procedimiento de copia de seguridad

Para crear una copia de seguridad:

  1. Accedemos a la máquina virtual requerida.
  2. Seleccionamos la opción Redundancia.
  3. Hacemos clic en el botón Realizar copia ahora. Se abrirá una ventana en la que se podrán seleccionar las opciones de la futura copia de seguridad.

    Acerca de las copias de seguridad en Proxmox VE

  4. Como almacenamiento, indicamos el que hemos conectado en la parte anterior.
  5. Después de seleccionar las opciones, hacemos clic en el botón Redundancia y esperamos a que se complete la copia de seguridad. Esto se indicará con un mensaje. TAREA OK.

    Acerca de las copias de seguridad en Proxmox VE

Ahora los archivos de copia de seguridad de las máquinas virtuales creadas estarán disponibles para su descarga desde el servidor. La forma más sencilla y común de copiar es SFTP. Para esto, utilice el popular cliente FTP multiplataforma FileZilla, que puede trabajar con el protocolo SFTP.

  1. En el campo Host introducimos la dirección IP de nuestro servidor de virtualización en el campo Nombre de usuario introducimos root, en el campo Contraseña — la que se eligió durante la instalación, y en el campo Puerto indicamos «22» (o cualquier otro puerto que se haya configurado para conexiones SSH).
  2. Hacemos clic en el botón Conexión rápida y, si se han ingresado correctamente todos los datos, verá todos los archivos ubicados en el servidor en el panel activo.
  3. Pasamos al directorio /mnt/storage. Todas las copias de seguridad creadas se encontrarán en el subdirectorio «dump». Tendrán el siguiente formato:
    • vzdump-qemu-número_máquina-fecha-hora.vma.gz en caso de seleccionar el método GZIP;
    • vzdump-qemu-número_máquina-fecha-hora.vma.lzo en caso de seleccionar el método LZO.

Se recomienda descargar las copias de seguridad del servidor y guardarlas en un lugar seguro, por ejemplo, en nuestro almacenamiento en la nube. Si se descomprime el archivo con la extensión vma, utilizando la herramienta homónima que viene con Proxmox, dentro habrá archivos con las extensiones raw, conf y fw. En estos archivos se encuentra lo siguiente:

  • raw — imagen del disco;
  • conf — configuración de la VM;
  • fw — ajustes del firewall.

Recuperación de la copia de seguridad

Consideremos la situación en la que se ha eliminado accidentalmente una máquina virtual y se requiere su recuperación urgente a partir de la copia de seguridad:

  1. Abrimos el almacenamiento donde se encuentra la copia de seguridad.
  2. We move to the Contenido.
  3. Elegimos la copia necesaria y hacemos clic en el botón Recuperación.

    Acerca de las copias de seguridad en Proxmox VE

  4. Especificamos el almacenamiento de destino y el ID que se asignará a la máquina al finalizar el proceso.
  5. Hacemos clic en el botón Recuperación.

Una vez que la recuperación se haya completado, la VM aparecerá en la lista de disponibles.

Clonación de la máquina virtual

Por ejemplo, supongamos que la empresa necesita realizar cambios en algún servicio crítico. Este cambio se lleva a cabo mediante la introducción de múltiples correcciones en los archivos de configuración. El resultado puede ser incierto y cualquier error puede causar una falla en el servicio. Para que tal experimento no afecte al servidor en funcionamiento, se recomienda realizar una clonación de la máquina virtual.

El mecanismo de clonación creará una copia exacta del servidor virtual, a partir de la cual se pueden realizar cambios sin afectar el funcionamiento del servicio principal. Luego, si los cambios se aplican con éxito, la nueva VM se activa y la antigua se apaga. Hay una particularidad en este proceso que siempre debe tenerse en cuenta. En la máquina clonada, la dirección IP será exactamente la misma que la de la VM original, lo que significa que al iniciarla habrá un conflicto de direcciones.

Vamos a explicar cómo evitar esta situación. Justo antes de realizar la clonación, es necesario modificar la configuración de la red. Para ello, hay que cambiar temporalmente la dirección IP sin reiniciar el servicio de red. Después de realizar la clonación en la máquina principal, se deben devolver la configuración a su estado original y establecer cualquier otra dirección IP en la máquina clonada. De este modo, tendremos dos copias del mismo servidor en direcciones diferentes. Esto permitirá activar rápidamente el nuevo servicio.

Si el servicio es un servidor web, basta con cambiar el registro A con su proveedor de DNS, después de lo cual las solicitudes de los clientes a ese nombre de dominio se dirigirán a la dirección de la máquina virtual clonada.

Por cierto, Selectel ofrece a todos sus clientes el servicio de alojar cualquier cantidad de dominios en servidores NS de forma gratuita. La gestión de registros se puede realizar tanto a través de nuestro panel de control como mediante una API especial. Para más detalles, consulte nuestra base de conocimientos.

Clonar VM en Proxmox es una tarea muy sencilla. Para llevarla a cabo, se deben realizar los siguientes pasos:

  1. Dirígete a la máquina que necesitamos.
  2. Selecciona del menú Más la opción Clonar.
  3. En la ventana que se abre, completa el campo Nombre.

    Acerca de las copias de seguridad en Proxmox VE

  4. Inicia la clonación presionando el botón Clonar.

Esta herramienta permite hacer una copia de la máquina virtual no solo en el servidor local. Si varios servidores de virtualización se agrupan en un clúster, esta herramienta permite mover la copia creada inmediatamente al servidor físico deseado. Una función útil es la selección del almacenamiento (parámetro Almacenamiento de destino), lo cual es muy conveniente al mover la máquina virtual de un soporte físico a otro.

Formatos de almacenamiento virtual

Hablaremos en detalle sobre los formatos de almacenamiento utilizados en Proxmox:

  1. RAW. Es el formato más comprensible y simple. Se trata de un archivo con los datos del disco duro "byte por byte" sin compresión ni optimización. Es un formato muy conveniente, ya que se puede montar fácilmente utilizando el comando estándar mount en cualquier sistema Linux. Además, es el tipo de almacenamiento más rápido, ya que el hipervisor no necesita procesarlo de ninguna manera.

    Una desventaja importante de este formato es que el espacio que asignó para la máquina virtual ocupará exactamente el mismo espacio en el disco duro y el archivo en formato RAW (independientemente del espacio realmente utilizado dentro de la máquina virtual).

  2. Formato de imagen de QEMU (qcow2). Sin duda, es el formato más versátil para llevar a cabo cualquier tarea. Su ventaja es que el archivo de datos contendrá solo el espacio realmente ocupado dentro de la máquina virtual. Por ejemplo, si se asignaron 40 GB de espacio, pero solo se utilizaron 2 GB, el resto del espacio estará disponible para otras VM. Esto es muy relevante en condiciones de ahorro de espacio en disco.

    Un pequeño inconveniente al trabajar con este formato es que, para montar tal imagen en cualquier otro sistema, primero se necesitará cargar un controlador especial nbd, así como utilizar la utilidad qemu-nbd, que permitirá al sistema operativo acceder al archivo como si fuera un dispositivo de bloque normal. Después de esto, la imagen estará disponible para montarla, particionarla, realizar verificaciones del sistema de archivos y otras operaciones.

    Cabe recordar que todas las operaciones de entrada/salida al utilizar este formato se procesan mediante software, lo que implica un retraso al trabajar activamente con el subsistema de disco. Si la tarea es desplegar una base de datos en el servidor, es mejor elegir el formato RAW.

  3. Formato de imagen de VMware (vmdk). Este formato es "nativo" para el hipervisor VMware vSphere y se ha incluido en Proxmox para compatibilidad. Permite realizar la migración de una máquina virtual de VMware a la infraestructura de Proxmox.

    El uso de vmdk de forma permanente no se recomienda, ya que este formato es el más lento en Proxmox, por lo que solo es adecuado para realizar migraciones, nada más. Es probable que en el futuro cercano esta desventaja se elimine.

Trabajo con imágenes de disco

El paquete de Proxmox incluye una utilidad muy conveniente llamada qemu-img. Una de sus funciones es convertir imágenes de discos virtuales. Para utilizarla, simplemente abra la consola del hipervisor y ejecute el comando en el siguiente formato:

qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2

En el ejemplo proporcionado, la imagen vmdk del almacenamiento virtual de VMware llamada test se convertirá al formato qcow2. Este es un comando muy útil cuando se necesita corregir un error en la selección inicial del formato.

Gracias a este mismo comando, también se puede crear forzosamente la imagen requerida utilizando el argumento en kube api y el recurso se crea. La representación en YAML del manifiesto se puede almacenar en Git, y para crearla se puede usar el comando:

qemu-img create -f raw test.raw 40G

Este comando creará una imagen test en el formato RAW, con un tamaño de 40 GB. Ahora es adecuada para conectarse a cualquiera de las máquinas virtuales.

Cambio de tamaño del disco virtual

Y para finalizar, mostraremos cómo aumentar el tamaño de la imagen del disco, si por alguna razón se ha quedado sin espacio. Para esto, utilizaremos el argumento resize:

qemu-img resize -f raw test.raw 80G

Ahora nuestra imagen tiene un tamaño de 80 GB. Se puede ver información detallada sobre la imagen con el argumento info:

qemu-img info test.raw

No hay que olvidar que simplemente cambiar la extensión de la imagen no aumentará automáticamente el tamaño de la partición, sino que solo añadirá espacio libre disponible. Para aumentar la partición, utilice el comando:

resize2fs /dev/sda1

donde /dev/sda1 — la partición necesaria.

Automatización de la creación de copias de seguridad

Usar el método manual para crear copias de seguridad es una tarea bastante laboriosa y consume mucho tiempo. Por eso, Proxmox VE incluye una herramienta para realizar copias de seguridad de forma automática según un horario. Veamos cómo hacerlo:

  1. Usando la interfaz web del hipervisor, abrimos la sección Centro de Datos.
  2. Seleccionamos la opción Redundancia.
  3. Hacemos clic en el botón Agregar.
  4. Establecemos los parámetros para el programador.

    Acerca de las copias de seguridad en Proxmox VE

  5. Marcamos la opción Activar.
  6. Guardamos los cambios usando el botón Crear.

Ahora el programador ejecutará automáticamente el programa de copias de seguridad en el momento exacto, según el horario establecido.

Conclusión

Hemos revisado los métodos estándar de copia de seguridad y recuperación de máquinas virtuales. Su uso permite guardar todos los datos sin problemas y restaurarlos rápidamente en caso de una situación de emergencia.

Claro, esta no es la única forma de salvar datos importantes. Existen muchas herramientas, por ejemplo, Duplicity, que permiten crear copias completas e incrementales del contenido de servidores virtuales basados en Linux.

Al realizar procedimientos de respaldo, siempre se debe tener en cuenta que cargan activamente el subsistema de disco. Por lo tanto, se recomienda llevar a cabo estos procedimientos en momentos de menor carga, para evitar retrasos en la ejecución de operaciones de entrada/salida dentro de las máquinas. Se puede supervisar el estado de los retrasos en las operaciones de disco directamente desde la interfaz web del hipervisor (parámetro IO delay).

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster