In breve
Block storage o NFS è la scelta più robusta per la maggior parte delle istanze: i file restano leggibili sul file system e strumenti come occ files:scan funzionano. S3 come storage primario conviene con grandi volumi di dati e più application server, ma richiede che database e bucket vengano sempre salvati insieme.
| Criterio | S3 Object Storage | NFS / Block Storage |
|---|---|---|
| Come vengono salvati i file | Oggetti urn:oid:<fileid>, senza cartelle né nomi file | File e cartelle normali nella data directory |
| Ruolo del database | Unica mappatura tra oggetti, percorsi e nomi | Cache dei metadati, i file restano leggibili anche senza DB |
| Scalabilità | Capacità che cresce senza ricostruzioni, più app server semplici | Block storage legato a un server, NFS possibile per più server |
| Prestazioni | Latenza più alta per richiesta, buono con file grandi | Latenza bassa con block storage, NFS sensibile a molti file piccoli |
occ files:scan | Non utilizzabile, i file non sono su un file system | Funziona, per esempio dopo modifiche manuali |
| Backup | Dump del DB e bucket devono corrispondere allo stesso momento | Snapshot del file system o del volume più dump del DB |
| Cambio in seguito | Nessuno strumento ufficiale di migrazione tra i tipi di storage | Nessuno strumento ufficiale di migrazione tra i tipi di storage |
| Problemi tipici | Regole di lifecycle, upload multipart, chiavi di accesso | Locking NFS, permessi e mappatura UID, mount mancante dopo il riavvio |
Scegli S3 Object Storage se …
- prevedi molti terabyte e vuoi far crescere la capacità senza traslochi.
- più application server Nextcloud gireranno dietro un load balancer.
- gestisci o acquisti già un servizio S3 affidabile e ridondato.
- il tuo backup riesce a salvare database e bucket in modo coerente insieme.
Scegli NFS / Block Storage se …
- gestisci una singola istanza con una quantità di dati contenuta.
- in emergenza vuoi poter leggere i file anche senza Nextcloud.
- vuoi usare strumenti come
occ files:scan, rsync o snapshot del file system. - il team ha più familiarità con i file system che con l'object storage.
Insidie dal lavoro quotidiano
- Regole di lifecycle o scadenza sul bucket S3 cancellano oggetti che Nextcloud usa ancora. I file compaiono nell'interfaccia ma non si scaricano più.
- Database perso, bucket intatto: senza DB gli oggetti sono solo blob numerati. Con S3 un backup del DB testato è obbligatorio.
- NFS: Nextcloud parte prima del mount e scrive nella directory locale vuota. Imposta la dipendenza dal mount in systemd.
- NFS: UID diversi per l'utente del web server su client e server causano errori di permessi. Allinea UID/GID su tutti i sistemi.
Domande frequenti
Posso usare S3 come storage esterno invece che primario?
Sì. Come storage esterno la struttura delle cartelle resta nel bucket e puoi usare S3 solo per cartelle specifiche. Spesso è il modo meno rischioso per iniziare.
Posso cambiare lo storage primario più avanti?
Solo con molto lavoro, tramite script non ufficiali o una nuova installazione con importazione dei dati. Decidi prima di andare in produzione.