Cómo configurar la replicación de TrueNAS en otro servidor: guía paso a paso
La replicación copia los snapshots ZFS de un dataset de un sistema TrueNAS a otro. Si el servidor de origen falla o se eliminan datos por error, puede restaurarlos a partir de los snapshots replicados. La primera replicación transfiere el dataset completo. Las siguientes son incrementales: transfieren solo los cambios que contienen los snapshots más recientes, lo que normalmente reduce la cantidad de datos transferidos.
Esta guía explica cómo configurar una replicación push: el TrueNAS de origen envía snapshots a un TrueNAS de destino mediante SSH según una programación. Los pasos y las capturas de pantalla corresponden a TrueNAS 25.10. En otras versiones, los nombres de los menús y las etiquetas de los campos pueden ser diferentes.
Requisitos previos
Necesita:
- dos servidores con TrueNAS 25.10 instalado;
- conectividad de red entre los servidores;
- una cuenta de administrador en el servidor de destino con acceso SSH, un directorio personal (home) y permisos sudo;
- espacio libre suficiente en el pool de destino para el dataset replicado y sus snapshots.
En esta guía:
- el servidor de origen es el TrueNAS cuyos datos desea proteger;
- el servidor de destino es el TrueNAS que almacena las copias.
Para instalar TrueNAS en un servidor dedicado, consulte Instalación de TrueNAS en un servidor dedicado mediante IP-KVM y Virtual Media.
La replicación no sustituye a las copias de seguridad. Si se eliminan o se dañan datos, el siguiente snapshot y la siguiente replicación copiarán también ese estado. Solo podrá restaurar el estado anterior mientras se conserve un snapshot más antiguo, así que defina la duración de conservación de los snapshots teniendo esto en cuenta.
Coloque el servidor de destino en un centro de datos distinto del de origen. Así, un fallo en una ubicación no afectará a ambas copias.
Preparar el servidor de destino
Todos los pasos de esta sección se realizan en la interfaz web del servidor de destino.
Crear un dataset para las copias
Vaya a Datasets, seleccione el pool y haga clic en Add Dataset. En Name, introduzca un nombre, por ejemplo backup. Mantenga el preset Generic y haga clic en Save. El dataset replicado se creará dentro de este dataset. Utilice un dataset nuevo y vacío. No utilice un dataset que contenga datos o snapshots importantes, ya que la replicación puede gestionar y eliminar snapshots en el destino según la configuración de retención.

Configurar la cuenta de administrador
Vaya a Credentials > Users, seleccione la cuenta de administrador que utilizará para la replicación, por ejemplo truenas_admin, y haga clic en Edit.
En Allow Access, seleccione SSH Access. A continuación, seleccione Allow SSH Login with Password (not recommended). El inicio de sesión con contraseña solo es necesario mientras TrueNAS establece la conexión SSH e instala la clave pública. Cuando la conexión funcione, puede desactivarlo.
Compruebe el campo Home Directory en Additional Details. Debe apuntar a un directorio real, por ejemplo /home/truenas_admin. La replicación necesita un directorio personal real para esta cuenta, por lo que no lo deje establecido en /var/empty. Si es necesario, haga clic en el icono de edición y establezca el directorio personal.
En Sudo Commands, haga clic en el icono de edición y seleccione Allow all sudo commands with no password. TrueNAS utiliza sudo sin contraseña para ejecutar los comandos ZFS necesarios en el servidor de destino. Haga clic en Save.

Los detalles de la cuenta muestran ahora SSH Password Login Enabled y Allowed Sudo Commands (No Password): ALL.

Allow all sudo commands with no password concede a la cuenta amplios privilegios administrativos. Para mayor seguridad, utilice una cuenta de administrador dedicada a la replicación en lugar de su cuenta administrativa habitual y desactive el inicio de sesión con contraseña para SSH cuando termine la configuración.
Activar el servicio SSH
Vaya a System > Services, busque SSH y haga clic en el icono de edición. Asegúrese de que Allow Password Authentication esté seleccionado y haga clic en Save.

A continuación, haga clic en el botón de inicio situado junto al estado de SSH y active el interruptor Start Automatically para que el servicio se inicie tras un reinicio. El estado cambia a Running.

Una vez que la replicación se ejecute correctamente, puede desactivar el inicio de sesión con contraseña para SSH, tanto en la configuración de la cuenta como en el servicio SSH, si ninguna otra conexión lo necesita. La replicación utiliza la clave SSH.
Preparar el servidor de origen
Los pasos restantes se realizan en la interfaz web del servidor de origen.
Crear un dataset para replicar
Asegúrese de que la cuenta de administrador del servidor de origen también tenga un directorio personal establecido: vaya a Credentials > Users, seleccione la cuenta y compruebe el campo Home Directory.
Si los datos que desea proteger aún no están en un dataset independiente, cree uno: vaya a Datasets, seleccione el pool, haga clic en Add Dataset, introduzca un nombre, por ejemplo data, y haga clic en Save.
Crear una conexión SSH
Vaya a Credentials > Backup Credentials y haga clic en Add en el widget SSH Connections. Rellene el formulario:
- Connection Name: cualquier nombre, por ejemplo backup-server;
- Setup Method: Semi-automatic (TrueNAS only);
- TrueNAS URL: la dirección del servidor de destino, por ejemplo https: //203.0.113.20;
- Admin Username y Admin Password: las credenciales de la cuenta de administrador del servidor de destino;
- Username: la misma cuenta;
- Enable passwordless sudo for zfs commands: seleccionado;
- Private Key: Generate New.

Haga clic en Save. Si el servidor de destino utiliza el certificado autofirmado predeterminado, TrueNAS muestra un error de certificado y pregunta si desea ignorarlo. Seleccione Confirm y haga clic en Continue.

TrueNAS se conecta al servidor de destino, genera un par de claves e instala allí la clave pública automáticamente. La nueva conexión aparece en el widget SSH Connections y su clave aparece en SSH Keypairs.

Crear la tarea de replicación
Vaya a Data Protection y haga clic en Add en el widget Replication Tasks. Se abre el Replication Task Wizard.
What and Where
En Source Location, seleccione On this System y, en Destination Location, seleccione On a Different System.
En SSH Connection, seleccione la conexión que creó. TrueNAS pregunta si desea usar sudo para los comandos ZFS, ya que la conexión utiliza una cuenta que no es root. Haga clic en Use Sudo For ZFS Commands.

En Source, expanda /mnt y el pool y seleccione el dataset que desea replicar. Seleccione Recursive si también desea replicar sus datasets secundarios. Si el dataset aún no tiene snapshots, el asistente indica que se crearán automáticamente. TrueNAS crea una tarea de snapshots periódicos para el dataset, que podrá ver más adelante en el widget Periodic Snapshot Tasks.
En Destination, expanda el árbol del servidor de destino y seleccione el dataset backup. Después, añada tras una barra el nombre del dataset replicado, por ejemplo tank/backup/data. TrueNAS crea este dataset durante la primera ejecución.
Mantenga SSH Transfer Security en Encryption y asegúrese de que Use Sudo For ZFS Commands esté seleccionado.
El campo Task Name se rellena automáticamente. Puede cambiarlo por un nombre más fácil de reconocer en la lista. Haga clic en Next.

When
En Replication Schedule, mantenga Run On a Schedule. En Schedule, seleccione la frecuencia de la replicación. El valor predeterminado es Daily At 00:00 (12:00 AM). Para datos importantes que cambian con frecuencia, elija una programación más frecuente.
En Destination Snapshot Lifetime, elija durante cuánto tiempo se conservan los snapshots en el servidor de destino:
- Same as Source: utiliza la duración de conservación definida en la tarea de snapshots periódicos del origen;
- Never Delete: los snapshots se conservan hasta que los elimine manualmente;
- Custom: los snapshots se conservan durante el período que establezca, por ejemplo 2 semanas.
Conservar los snapshots en el destino más tiempo que en el origen puede proporcionar puntos de restauración adicionales, pero ocupa más espacio.

Haga clic en Save. La tarea aparece en el widget Replication Tasks con el estado PENDING.

Ejecutar y comprobar la replicación
Para iniciar la primera replicación sin esperar a la programación, haga clic en el menú de tres puntos junto a la tarea y seleccione Run job. Haga clic en Continue para confirmar.

La primera ejecución transfiere todo el dataset y puede tardar mucho, según la cantidad de datos y la velocidad de la conexión entre los servidores. Las siguientes ejecuciones solo transfieren los cambios.
Cuando la tarea termina, su estado cambia a SUCCESS y la columna Last Snapshot muestra el nombre del snapshot enviado. Si el estado es FAILED, haga clic en él para abrir el registro de la tarea y ver el error.

Para comprobar el resultado, abra la interfaz web del servidor de destino y vaya a Datasets. Seleccione el dataset replicado, por ejemplo tank/backup/data, y haga clic en View Snapshots en el widget Data Protection. La lista muestra los snapshots recibidos del servidor de origen.

El asistente crea la tarea con Destination Dataset Read-only Policy establecido en Set, de modo que TrueNAS convierte el dataset de destino en solo lectura tras una replicación correcta. Esto protege la copia frente a cambios que romperían las siguientes ejecuciones de la replicación.
Restaurar datos desde la copia
Para restaurar archivos individuales, clone el snapshot que necesite como un nuevo dataset en el servidor de destino: vaya a Datasets, seleccione el dataset replicado, haga clic en View Snapshots, expanda el snapshot y haga clic en Clone To New Dataset. Después, copie los archivos que necesite desde el clon.
Para copiar de vuelta el dataset replicado, vaya a Data Protection en el servidor de origen, haga clic en el menú de tres puntos junto a la tarea de replicación y seleccione Restore. Introduzca un nombre para la tarea de restauración y seleccione dónde colocar los datos restaurados en el servidor de origen. TrueNAS crea una nueva tarea de replicación que transfiere los datos de vuelta del destino al origen. La tarea tiene el estado PENDING. Ejecútela para iniciar la restauración.

No revierta (rollback) el dataset replicado del servidor de destino a un snapshot anterior salvo que sea realmente necesario. Un rollback puede eliminar snapshots más recientes y romper el historial de snapshots del que dependen las siguientes ejecuciones de la replicación.