Tengo un sistema local FreeNAS y quiero usar instantáneas ZFS para las copias de seguridad.
FreeNAS tiene las tareas de replicación integradas que utilizan
zfs send snapshot_name
para enviar una instantánea a un sistema remoto. Pero esto necesita un sistema con ZFS en el otro extremo.
Quiero enviar la instantánea a un archivo y enviar este archivo comprimido y cifrado a la máquina remota.
Esto es posible con
zfs send snapshot_name | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl
Todos los días hago una instantánea del grupo de almacenamiento y guardo cada instantánea durante 30 días.
Con cada instantánea tomada, canalizaré esta instantánea a un archivo.
- snapshot_file 1 tiene todos los archivos (digamos 2GB)
- snapshot_file 2 solo tiene los cambios en snapshot_file 1 (digamos 5MB)
- snapshot_file 3 contiene los cambios en snapshot_file 2; y así.
El día 31, el archivo snapshot_file 1 se elimina (porque solo quiero los cambios de los últimos 30 días)
Por lo tanto, snapshot_file 2 debe contener todos los archivos (2GB de snapshot_file 1 + 5MB cambios)
Pero con este enfoque todos los días (desde el día 31 en adelante) se debe crear un nuevo archivo de 2GB y enviarlo a un sistema remoto. Esto es demasiado sobrecarga.
¿Cuál sería el mejor enfoque para usar instantáneas canalizadas a un archivo como estrategia de respaldo con un historial de X días?
PD: Sé que hay una gran cantidad de software de respaldo (rdiff-backup por ejemplo), que podría usar. Pero tengo curiosidad de cómo se podría hacer esto.
zfs recv
en el otro extremo (en un grupo con,zfs set compression=gzip-9
por ejemplo)? Almacenar archivos de instantáneas me parece muy ineficiente.