Vai al contenuto

Storage

Architettura

graph LR
    Pod[Pod] -->|mount| PVC[PVC]
    PVC -->|NFS-CSI| NFS[NFS Server<br/>192.168.178.162]
    NFS -->|ZFS| Flash[(flash pool<br/>SSD)]
    NFS -->|ZFS| Spacex[(spacex pool<br/>HDD)]

StorageClass

Nome Pool ZFS Tipo disco Use case
nfs-flash /export/flash SSD Database, metriche, app veloci
nfs-spacex /export/spacex HDD Media, backup, dati bulk

Configurazione comune

  • Provisioner: nfs.csi.k8s.io
  • Reclaim Policy: Retain — i dati non vengono mai cancellati alla rimozione del PVC
  • Volume Binding: WaitForFirstConsumer
  • Expansion: abilitata (allowVolumeExpansion: true)
  • SubDir: ${namespace}/${pvc-name} — organizzazione automatica su NFS

PVC per applicazione

App StorageClass Size Access Mode Scopo
Prometheus nfs-flash 20Gi RWO Time-series database
Alertmanager nfs-flash 2Gi RWO Storico notifiche
Grafana nfs-flash 1Gi RWX Dashboard persistenti
Immich nfs-spacex 100Gi+ RWX Foto e video
Gatus nfs-spacex 200Mi RWX Storico uptime
Home Assistant Matter nfs-flash 1Gi RWO Stato bridge Matter
Trek nfs-flash 1Gi RWX Dati viaggio

Note operative

NFS e ReadWriteOnce

NFS non supporta nativamente il lock RWO. Se un PVC è marcato ReadWriteOnce, il vincolo è solo logico (enforced da Kubernetes, non dal server NFS).

Verifica spazio

# Dal Proxmox host
zfs list flash spacex