Sistema de respaldo en Proxmox con OpenMediaVault virtual

Hola comunidad, este es mi primer aporte al sitio y espero que no sea el único. Hoy les traigo cómo configurar paso a paso un servidor NAS con OpenMediaVault. La peculiaridad es que esta vez el servidor NAS será virtual y dentro del mismo hypervisor, en este caso Proxmox. ¿Seguro se preguntará por qué tanta complicación? La respuesta se debe a que para quienes un servidor casero sin respaldo energético, con las continuas interrupciones eléctricas es posible que el disco que alberga el sistema de ficheros del Proxmox se corrompa y con él, todo lo que tengamos almacenado.

La idea es respaldar las salvas del pve en un disco físico que va a estar montado en una de sus VMs, en este caso el OpenMediaVault, como NAS virtual. De esta manera cuando el pve se corrompa, basta sólo con restaurar la VM del omv, una vez éste tenga configurado el disco físico asociado a ella.

1-Implementación y configuración de un NAS virtual con OpenMediaVault

1.1-Creación de la VM del OpenMediaVault

Utilizaremos virtualización completa por KVM con las siguientes características:
Memoria RAM: 512MB
HDD: 3GB

El proceso de instalación es similar al de una instalación de un host Linux y no se describirá aquí. Simplemente seguir los pasos de instalación y reiniciar el host una vez culminado. Conectamos físicamente el nuevo HDD al Proxmox. Puede ser por USB, por Docking o por conexiones internas del hardware.

Si conectamos el nuevo HDD, estando encendido el Proxmox (para el caso de conexión por USB o por Docking), sería conveniente reiniciar el sistema del Proxmox. Procure que todas las VM y CT estén apagados:

Verificamos que el nuevo disco es reconocido por el sistema del Proxmox:

Si el disco es reconocido por el sistema, deberá salir en alguna parte la información del disco. En mi caso fue así:

Se trata de un disco en NTFS de 149GB con dos particiones. Ahora se quiere que este nuevo HDD sea usado directamente por la máquina virtual que hace de NAS:

Agregamos lo siguiente (en mi caso dos discos, que a la postre, son dos particiones del mismo disco):

Es válido aclarar, que con cada disco físico que se añada al NAS, se debe hacer una salva.

Abrimos el navegador y apuntamos a la ip. Se nos pedirá un usuario y contraseña (usuario admin y contraseña openmediavault) además del idioma para la interfaz web de administración:

1.2-Opciones generales

Nos recibe el Dashboard de OpenMediaVault mostrando la carga actual (procesador, memoria, entre otros) y los servicios actualmente en uso. A la izquierda tenemos las opciones que podemos configurar. Ahora cambiamos la contraseña del usuario “admin”:
Opciones generales > Contraseña del administrador Web
Ponemos la nueva contraseña para el usuario “admin” y damos clic en “Salvar”:

1.3-Fecha y hora

Editamos las opciones referentes a fecha y hora. A continuación, se muestra cómo nos quedó:

1.4-Red

Editamos el dominio según los datos de la red. Damos clic en “Salvar” y “Aplicar”:

1.5-Almacenamiento

En esta sección configuramos los discos del NAS. Lo primero es ver si la VM es capaz de reconocer el nuevo disco físico que se le asoció:
Almacenamiento > Discos físicos
En la siguiente imagen se puede observar que los discos son reconocidos por la VM, incluyendo el disco físico añadido que tiene dos particiones (para la VM son dos discos independientes):

Borramos el formato de estos dos discos, dejando únicamente el del sistema.
Almacenamiento > Sistema de ficheros
Clic en «Borrar»

Ahora creamos estos dos discos con el formato EXT4. Nos advierte que se formateará toda la información en esos discos y aceptamos.
Almacenamiento > Sistema de ficheros
Clic en «Crear»

Durante el proceso de para darle formato a los discos, puede aparecer este error. Hacerle caso omiso y cerrar el cuadro de diálogo:

Cuando el disco al que se le está dando formato se cree correctamente, deberá aparecer algo como esto:

Repetir lo mismo para tantos discos se inserten, en este caso fueron dos discos.

Después de haber realizado lo anterior, el sistema debe poder ver los nuevos discos creados con su nuevo formato, pero están sin montar:

Ahora procedemos a montar los discos en el sistema omv, seleccionando los discos creados y clic en “Montar”. Aplicamos los cambios, dando clic en “Aplicar” y deberían poder aparecer ya nuestros nuevos discos en el sistema. Realizado lo anterior el sistema de omv deberá reconocer que los nuevos discos están montados en el sistema:

1.6-Servicio NFS

Habilitamos el servicio NFS de la siguiente forma:
Servicios > NFS > Configuración
Marcamos la opción de habilitar el servicio y configuramos el número de servidores:

Una vez realizado lo anterior, debería poder observarse el almacenamiento compartido con sus opciones, desde la propia web del openmediavault:

Guardamos los cambios efectuados, para que se puedan aplicar:
Servicios > NFS > Configuración
Clic en “Salvar” y “Aplicar”.

1.7-Configuración del almacenamiento externo por NFS para Proxmox

Datacenter > Storage
Clic en “Add” y seleccionamos NFS

En la consola del Proxmox podremos verificar si hay algún servicio NFS ejecutando en la dirección IP especificada:

Tras ver que existe un servidor NFS y que ya creamos el enlace del Proxmox con el almacenamiento compartido de éste, accedemos a ese nuevo almacenamiento siguiendo la ruta:
Datacenter > nas-omv3.0.94
Al estar encima del nuevo almacenamiento vemos que nos da un error que impide usar y mostrarnos su contenido:

La solución al error está en añadir la opción “no_root_squash” en las opciones del almacenamiento compartido del NFS de openmediavault.
Accedemos nuevamente a la web de gestión del openmediavault, y a la siguiente ruta:
Servicios > NFS > Compartidos
Seleccionamos la carpeta compartida y damos clic en “Editar”. Agregamos la opción “no_root_squash”:

Salvamos y aplicamos los cambios.
De vuelta al Proxmox, en la siguiente ruta
Datacenter > nas-omv3.0.94
Refrescamos la página del navegador con “F5” y podremos ver que el error anterior desaparece:

Ya todo está listo para poder probar este nuevo almacenamiento, basta con configurar alguna tarea de copia de seguridad en el Proxmox y darle como almacenamiento el del NFS:

A continuación, se muestra una salva de una VM cuyo destino era el NAS de openmediavault con el servicio de NFS:

1.8-Comprobaciones de la recuperación de la información del sistema

Entramos a la VM por consola y la apagamos:

Hacemos la salva de la VM del NAS, especificando que no incluya los discos físicos en el backup. Para ello vamos a las opciones de hardware de la máquina virtual por KVM y editamos los discos físicos, deshabilitando la opción de backup en ellos:

Cuando termine la salva, borramos la VM del NAS que creamos en el Proxmox:

Ahora restauramos la salva de la propia VM que hicimos en un disco local del Proxmox (salva que siempre debe tenerse en otro lugar en caso de fallo del disco principal del sistema de virtualización)
Datacenter > pve1 > local (pve1)
Buscamos la salva correspondiente al VM del NAS y damos clic en «Restore»:

Esperamos hasta que termine de restaurar la VM:

Una vez restaurada vemos q le faltan los discos físicos a la VM:

Si iniciamos la VM y vamos al almacenamiento, veremos que el sistema omv da por «Pedido» los discos que nos faltan, pero esto es bueno, porque el sistema tiene conocimiento de su existencia previa:

Si encendimos anteriormente la VM, la apagamos y vamos al Proxmox a añadirle los discos físicos a la VM nuevamente:

Vemos que los discos físicos aparecen con comentarios:

Los descomentamos para habilitarlos nuevamente:

Si vamos a las opciones de hardware, veremos que ya aparecen en nuestra VM los discos que faltaban:

Iniciamos la VM y vemos q el sistema omv vuelve a reconocer los discos físicos, ahora en estado «Online»:

Ahora el Proxmox vuelve a ver el contenido a través del NFS del omv, escrita en ese disco físico de dos particiones, que el sistema omv identifica como dos discos por separado:

1.9-Solución al bug del «NFS storage» en Proxmox

Cuando añadimos un almacenamiento al Proxmox VE v4.x.x y el servidor NFS es una VM por KVM, el qemu-server de Proxmox no es capaz de apagar la VM, quedando como única vía, apagar la misma vía SSH o por consola. Esto ya de por sí es un problema, pero aún mayor es que, cuando se necesita apagar el Proxmox, el sistema se queda «colgado» y no se apaga, incluso horas después. A continuación, se muestra lo último que muestra el Proxmox tras este problema:

El sistema se queda en la instancia:

El problema anterior podremos solucionarlo editando el fichero para almacenamientos del Proxmox

En el apartado del NFS, editar las opciones, quedando de la siguiente manera:

Qué estamos imponiendo con estas opciones?

  • soft / hard Determina el comportamiento de descubrimiento del cliente NFS después que una solicitud NFS expire. Si ninguna de las dos opciones es especificada (o si se usa la opción «hard»), la solicitud NFS se reintentará indefinidamente. Por otra parte, si la opción «soft» es especificada, entonces el cliente NFS falla en una solicitud NFS después de que retransmisiones hayan sido enviadas, causando que el cliente NFS retorne un error al llamado de la aplicación.
  • timeo=1000 El tiempo en decimas segundos que el cliente NFS espera por una respuesta antes de reintentar una solicitud NFS.
  • retrans=10 El número de veces que el cliente NFS reintenta una solicitud, antes de que intente una acción de descubrimiento. Si no se especifica un valor, por defecto el cliente NFS intenta hasta 3 veces cada solicitud.
  • actimeo=1000 Usando esta opción los valores para «acregmin», «acregmax», «acdrimin» y «acdrimax» se establecen al mismo valor. Si no se especifica esta opción, se usan los valores por defecto para cada una de estas opciones.
  • retry=10 El número de minutos que el comando «mount» reintenta una operación de montaje NFS, en primer y segundo plano, antes de darse por vencido. Si este valor no se especifica, el valor por defecto es de 2min en el primer plano y de 10 000 minutos. Si el valor es 0, se detiene la operación de montaje NFS después de la primera falla.

Realizado lo anterior se resuelven los problemas respecto a los procesos de «reboot/shutdown», pero algunas veces (aleatoria y raramente), Proxmox se «cuelga» en un proceso de «reboot/shutdown» en el paso «Reached target Shutdown». Entonces, algunas veces después de 10-15 minutos se detiene/reinicia, otras veces se queda permanentemente «colgado» hasta que manualmente reiniciemos/apaguemos el sistema en caliente».

Conclusiones

Finalizados los pasos anteriores de esta guía, tenemos como resultado una seguridad pasiva, implementada por copias de seguridad en un NAS virtual, vinculado a un disco físico, que no depende del sistema Proxmox, dándonos la oportunidad de recuperarnos ante un fallo del sistema. Espero les haya servido de gran ayuda todo el material expuesto, como la ha sido para mí.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 4

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Franco Diaz Hurtado 27 artículos
Ing. Telecomunicaciones y Electrónica; 1er Especialista en Redes de ECASA Nivel Central

7 comentarios

  1. Firefox 91.0 Firefox 91.0 Windows 8.1 x64 Edition Windows 8.1 x64 Edition
    Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0

    Saludos ante todos. tengo un problema con mi servidor. Al parecer con tantos apagones se daño algun sector del disco y me imagino que a no estar todos los dias presente y los apagones si, el problema haya aumentado. La cosa es por no seguir consejon no tengo una salva de seguridad reciente del servidor de correo fundamentalmente y quisiera a traves de ssh hacer una salva de esta VM, el servidor prxmox no levanta las VM, no he podido realizar un fsck, ni forzandolo de inicio, el error es el sgte
    blk_update_request: I/O error,dev sda, sector 10379264 op 0x0: (READ) flags 0x0 phys_seg 1 prio class 0

    • Google Chrome 92.0.4515.159 Google Chrome 92.0.4515.159 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36

      «vzdump 102 –storage USB –compress zstd –mode snapshot –remove 0 –node pxm –mailto [email protected]»

      ############################################
      Lo de arriba va: sin las comillas, 102 es la maquina virtual que tengo yo, vos pone el tuyo, USB es mi disco USB y mailto es mi direccion de correo.
      ############################################

      En mi caso en mi consola aparece asi:

      root@pxm:~# vzdump 102 –storage USB –compress zstd –mode snapshot –remove 0 –node pxm –mailto [email protected]
      INFO: starting new backup job: vzdump 102 –remove 0 –compress zstd –mailto [email protected] –node pxm –storage USB –mode snapshot
      INFO: Starting Backup of VM 102 (qemu)
      INFO: Backup started at 2021-08-31 14:42:03
      INFO: status = running
      INFO: VM Name: GPLISRV
      INFO: include disk ‘scsi0’ ‘DATOS:vm-102-disk-0’ 64G
      INFO: backup mode: snapshot
      INFO: ionice priority: 7
      INFO: creating vzdump archive ‘/tmp/usb/dump/vzdump-qemu-102-2021_08_31-14_42_03.vma.zst’
      INFO: started backup task ‘8dada944-2164-46de-8143-b63abaeb93c4’
      INFO: resuming VM again
      INFO: 0% (295.7 MiB of 64.0 GiB) in 3s, read: 98.6 MiB/s, write: 92.8 MiB/s
      INFO: 1% (681.5 MiB of 64.0 GiB) in 7s, read: 96.5 MiB/s, write: 90.4 MiB/s
      INFO: 2% (1.3 GiB of 64.0 GiB) in 13s, read: 114.8 MiB/s, write: 37.8 MiB/s
      INFO: 3% (1.9 GiB of 64.0 GiB) in 19s, read: 102.6 MiB/s, write: 89.9 MiB/s
      INFO: 4% (2.6 GiB of 64.0 GiB) in 26s, read: 103.2 MiB/s, write: 85.3 MiB/s
      INFO: 5% (3.3 GiB of 64.0 GiB) in 33s, read: 93.2 MiB/s, write: 88.2 MiB/s
      INFO: 6% (3.9 GiB of 64.0 GiB) in 40s, read: 87.0 MiB/s, write: 84.1 MiB/s
      INFO: 7% (4.5 GiB of 64.0 GiB) in 48s, read: 80.9 MiB/s, write: 80.0 MiB/s
      INFO: 8% (5.1 GiB of 64.0 GiB) in 56s, read: 78.7 MiB/s, write: 71.8 MiB/s

      • Google Chrome 92.0.4515.159 Google Chrome 92.0.4515.159 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36

        INFO: 99% (63.4 GiB of 64.0 GiB) in 11m 57s, read: 90.8 MiB/s, write: 89.4 MiB/s
        INFO: 100% (64.0 GiB of 64.0 GiB) in 12m 5s, read: 75.2 MiB/s, write: 72.9 MiB/s
        INFO: backup is sparse: 3.80 GiB (5%) total zero data
        INFO: transferred 64.00 GiB in 725 seconds (90.4 MiB/s)
        INFO: archive file size: 22.80GB
        INFO: Finished Backup of VM 102 (00:12:05)
        INFO: Backup finished at 2021-08-31 14:54:08
        INFO: Backup job finished successfully
        root@pxm:~#

  2. Firefox 61.0 Firefox 61.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0

    Hola, disculpa por escribir y que no sea del tema expuesto, por favor, usas GLPI en tu empresa, Me dieron eso sotware a cargo para administrar pero aqui en Cuba parece que no es muy explotado, quisiera contactar con alguien que lo use para intercambiar ideas y preguntas sobre ese software.
    De favor si alguien sabe de este tema que me escriba al correo [email protected]

    • Opera 62.0.3331.72 Opera 62.0.3331.72 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.72

      Hola yusmary, GLPI si es muy usado en cuba. No es desconocido en cuba ese soft frances que es un sistema de tickets para las ITIL..con inclusion de buenos plugins. Aqui mismo en este blog esta como instalarlo buscalo yo mismo lo escribi. Si deseas conocer mas unete a nuestro canal de telegram https://t.me/sysadmincuba ahi podras preguntarnos cualquier duda.
      alex out

Responder a ldmaturell Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*