Almacenamiento · Snapshots · Checksums · Cifrado
ZFS — Sistema de archivos con integridad de datos¶
El sistema de archivos que utiliza SmallCountry para todo el almacenamiento. Protegería la integridad de cada bit mediante sumas de verificación (checksums), permite instantáneas (snapshots) instantáneas, compresión transparente y cifrado nativo.
Como usuario¶
No se interactúa con ZFS directamente. Sería la capa de almacenamiento invisible que garantiza que tus fotos, documentos, notas y datos nunca se corrompan. Cada archivo que guardas en SmallCountry está protegido por ZFS.
Integración con otros servicios de SmallCountry¶
| Servicio | Relación |
|---|---|
| Proxmox VE | ZFS es el sistema de archivos nativo de Proxmox |
| PBS | PBS (sistema de copias de seguridad de Proxmox) usa snapshots ZFS para backups incrementales |
| Todos los LXCs | Cada LXC (contenedor ligero de Proxmox) tiene sus datos persistentes en un dataset ZFS (volumen de almacenamiento en ZFS) en rpool/datos/SERVICIO/, montado en /opt/SERVICIO/ |
| rsync | Replica datos desde datasets ZFS a Horus (servidor secundario con GPU para IA) |
Para el administrador (diseño previsto)
| Pool principal | rpool (NVMe de Ra (servidor principal de SmallCountry)) |
| Pool de backup | backuppool (USB externo) |
| Impacto | 🔴 Crítico — sin ZFS no hay almacenamiento |
Propiedades clave:
- Snapshots: zfs snapshot rpool/datos/servicio@manual-$(date +%Y%m%d) — instantáneas atómicas que no ocupan espacio extra hasta que los datos cambian
- Scrub: zpool scrub rpool — verificación programada de integridad (mensual)
- Compresión: lz4 activada por defecto en todos los datasets
- Cifrado: aes-256-gcm en el dataset principal
Comandos: zpool status, zfs list, zfs get all rpool/datos/servicio.
Para el arquitecto (diseño previsto)
Estructura de almacenamiento¶
rpool/
├── datos/
│ ├── nextcloud/ → LXC 150 /opt/nextcloud/
│ ├── immich/ → LXC 151 /opt/immich/
│ ├── vaultwarden/ → LXC 152 /opt/vaultwarden/
│ ├── matrix/ → LXC 190 /opt/matrix/
│ ├── ... → (un dataset por servicio)
└── backups/ → PBS
Cada LXC monta su dataset ZFS de forma persistente. Los LXCs NO tienen almacenamiento propio — todo es ZFS. Si un LXC se destruye, los datos sobreviven en el dataset y pueden montarse en un LXC nuevo.
Estrategia 3-2-1: 3 copias (original + PBS + rsync a Horus), 2 medios (NVMe + USB/SATA), 1 offsite (restic a Thoth (Raspberry Pi árbitro del clúster y backup offsite)).
Los checksums de ZFS detectan corrupción silenciosa y la reparan automáticamente si hay redundancia (mirror).