Configuración de disco
En el menú lateral pulsamos Almacenamiento/Discos y en la fila superior seleccionamos ZFS.
Pulsamos el botón Crear: ZFS y en la ventana que aparece escogemos los siguientes datos:
| Campo | Valor |
|---|---|
| Nombre | backup |
| Nivel de RAID | a conveniencia |
| Agregar como almacén de datos | Seleccionado |
| Compresión | zstd |
| ashift | 12 |
| Dispositivos | a conveniencia |
Deduplicación en ZFS
Cuando habilitamos la deduplicación en ZFS, el sistema de archivos comienza a analizar cada bloque de datos antes de escribirlo en disco. Para ello, examina los bloques individualmente, genera un hash y lo consulta en una tabla de deduplicación con el fin de comprobar si ese mismo bloque ya existe.
En la práctica, esta tabla actúa como una base de datos interna que almacena los hashes de todos los bloques. Si ZFS detecta que un bloque ya está presente, evita escribirlo de nuevo y, en su lugar, referencia el existente. Este mecanismo permite reducir el uso de almacenamiento de forma efectiva.
Ahora bien, esta técnica tiene un coste importante.
La tabla de deduplicación reside en la memoria RAM del sistema, no en los discos. Para que ZFS pueda realizar estas comprobaciones en tiempo real, es imprescindible que dicha tabla esté disponible en memoria. Cada nueva operación de escritura implica una consulta adicional, y a medida que crece el volumen de datos, también lo hace el tamaño de esta tabla.
Dado que ZFS no puede anticipar qué datos se escribirán, mantiene la tabla completa en memoria, preparada para su uso inmediato. Como consecuencia, el consumo de RAM puede aumentar de forma considerable.
El problema se agrava cuando la memoria disponible resulta insuficiente. En ese caso, el sistema se ve obligado a trasladar parte de la tabla de deduplicación al disco, lo que provoca una degradación severa del rendimiento. Las operaciones que antes se resolvían en memoria pasan a depender de accesos a disco, mucho más lentos, afectando tanto a las velocidades de transferencia como a las operaciones básicas del sistema de archivos.
En resumen, aunque la deduplicación cumple su función, su coste en recursos suele superar los beneficios en la mayoría de entornos domésticos. Se trata de una característica que, en estos casos, introduce una penalización de rendimiento difícilmente justificable.
Rotado de copias
En el menú lateral pulsamos Almacén de datos y en la fila superior seleccionamos Trabajos de poda y colección de basura.
En el apartado Trabajos de poda pulsamos el botón Agregar y en la ventana que aparece rellenamos los siguiente datos:
| Campo | Valor |
|---|---|
| Almacén de datos local | backup |
| Programar | a conveniencia |
| Espacio de nombres | |
| Activado | Seleccionado |
| Máx. Profundidad | Lleno |
| Mantener últimos | a conveniencia |
| Mantener por hora | a conveniencia |
| Mantener diarios | a conveniencia |
| Mantener semanales | a conveniencia |
| Mantener mensuales | a conveniencia |
| Mantener anuales | a conveniencia |
| Comentario | Retención de copias de seguridad |
Podemos simular que copias se quedarían tras la ejecución del rotado en una utilidad alojada en la web de Proxmox.
Verificación de copias
En el menú lateral pulsamos Almacén de datos y en la fila superior seleccionamos Verificar trabajos.
Pulsamos el botón Agregar y en la ventana que aparece rellenamos los siguiente datos:
| Campo | Valor |
|---|---|
| Almacén de datos local | backup |
| Programar | a conveniencia |
| Espacio de nombres | |
| Saltar verificados | Seleccionado |
| Re-verificar después | 30 días |
| Máx. profunidad | Lleno |
| Comentario | Verificar copias de seguridad a diario |
Mejora rendimiento
Con el ZFS creado para los backups, podemos implementar algunas mejoras en el rendimiento.
Reducción de escrituras
Para reducir las escrituras en ZFS y con ellos bajar la actividad del disco ejecutamos:
zfs set atime=off backup
Sinronización del disco
En el caso de disponer de un SAI, podemos desactivar la sincronización directa al disco ejecutando:
zfs set sync=disabled backup