FreeNAS: Replicación de ZFS a través de Wireguard

Hasta ahora he usado OpenVPN para la sincronización de mis dos cajas de FreeNAS. Wireguard es una alternativa rápida, pero un poco más complicada en la configuración.

La réplica de ZFS es una herramienta conveniente para mantener los datos sincronizados entre dos instalaciones de FreeNAS. Se trata de crear una copia de seguridad externa en la que los datos sobrevivan a un incendio o a un robo sin utilizar servicios externos de nube (lo que es difícil desde el punto de vista de la protección de los datos y se convierte en un factor de costo cuando se trata de varios terabytes de datos).

A diferencia de OpenVPN Wireguard aún no es parte de FreeNAS. Así que tienes que instalarlo en otro lugar. Para mantener a FreeBSD lo más intacto posible, decidí usar una VM de Debian. El flujo de datos básicos es el siguiente.

  1. Se crea una instantánea ZFS
  2. Los datos se dirigen a la conexión Wireguard a través de una ruta estática
  3. El segundo sistema FreeNAS de la red de objetivos procesa los datos

Gracias a la ruta estática, mira al FreeNAS emisor como si el FreeNAS receptor estuviera en la misma red. A diferencia de OpenVPN, Wireguard entrega una carga mucho mejor en la interfaz (en mi caso VDSL con 250/40 Mbps para FreeNAS Box 1 y VDSL 50/10 Mbps para FreeNAS Box 2. En la dirección de envío, el límite es por lo tanto de 40 Mbps - en caso de que necesite la copia de seguridad y tenga que restaurarla, el envío de un disco probablemente sería más rápido. En general, la estructura se parece a la de esta foto:

Wireguard como conexión entre dos redes

Como pueden ver, no usé una máquina virtual en la caja de FreeNAS en la red de destino. Este es un viejo HP Proliant N36Lque tiene 8 GB de RAM. En su lugar, un ordenador monoplaca Odroid C2 recibe los datos (que también recibe la Iniciar FreeNAS controlado por tiempo puede).

No quiero hacer la configuración básica de la guardia de cable aquí, esto ya está hecho. el sitio oficial mejor. También es útil: el Documentación de Debian para Wireguard.

Si se establece la conexión Wireguard, todavía falta la ruta apropiada. En la máquina virtual de Debian, se introduce lo siguiente en el "/etc/rc.local"(adaptar a las condiciones respectivas si es necesario):

iptables -t nat -A POSTROUTING -o wg0-cliente -s 192.168.0.0/24 -j MASCARADA

salida 0

Si el archivo rc.local falta o no se ejecuta, los pasos descritos en este post en ITechLounge.net se describen.

Una vez que la configuración se hace en la VM de Debian, todo lo que necesitas hacer es establecer una ruta en FreeNAS:

Ruta estática en FreeNAS

Ahora un ping de la FreeNAS-Box 1 a la FreeNAS-Box 2 debería funcionar, para que la replicación pueda ser fácilmente configurada directamente con la dirección IP de la caja de destino.

Con una configuración como esta, en la que ambas cajas FreeNAS se cuelgan en conexiones DSL privadas cuyas direcciones IP cambian a más tardar cada 24 horas, tarde o temprano se hace evidente una desventaja de Wireguard: la resolución de los nombres de host de los pares a sus direcciones IP tiene lugar sólo una vez cuando se inicia la interfaz de Wireguard. Esto significa que en algún momento la conexión fallará si la dirección IP ha cambiado.

La solución: un pequeño guión, que presenté en otro artículo: Wireguard: Comprobación de la IP de los compañeros. Esto se hace en esta configuración en la máquina virtual de Debian.

Espero que este artículo inspire a uno o dos lectores a mirar la conexión de dos cajas de FreeNAS para su replicación. Seguramente hay otras maneras de conectar dos redes juntas, pero si un servidor VPN está disponible en el lugar de la copia de seguridad, también puede "ayudarse" directamente a los datos reflejados sin tener que sincronizar los datos completos.

1 pensó en "FreeNAS: ZFS-Replication über Wireguard"

  1. Pingback: Gestión del ancho de banda en la oficina doméstica - tech-blogger.net

Deje un comentario

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

es_ESEspañol
de_DEDeutsch en_USEnglish es_ESEspañol
Ir arriba