Immich può funzionare in modo affidabile con i suoi dati su una condivisione di rete?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Immich può utilizzare in modo affidabile una condivisione di rete per i contenuti multimediali o una libreria esterna se il montaggio, i permessi, la latenza e il comportamento in caso di interruzione sono progettati e testati correttamente; tuttavia, la directory dei dati PostgreSQL dovrebbe rimanere su uno storage a bassa latenza supportato, anziché su una condivisione SMB o NFS generica.

La parola dati nasconde carichi di lavoro diversi: gli originali sono file grandi e durevoli, le miniature generano molte operazioni più piccole, le librerie esterne possono essere di sola lettura e PostgreSQL richiede semantiche del filesystem adatte ai database. Decidi percorso per percorso, monta la condivisione prima dell'avvio dei container, impedisci che una directory locale vuota si spacci per il NAS e dimostra il comportamento sia dopo il riavvio dell'host sia durante un'interruzione controllata della condivisione.

Classifica ogni percorso di Immich prima di spostarlo

Elenca separatamente la libreria degli upload, le miniature o i contenuti multimediali codificati, le librerie esterne, la directory del database, la cache dei modelli e i backup. Indica chi scrive in ciascun percorso e quale sarebbe l'impatto della sua perdita. Una condivisione per i contenuti multimediali può essere adatta; trattare ogni volume come intercambiabile fa fallire il controllo di progettazione.

Una guida pratica su NFS mostra come collegare una libreria esterna di Immich da uno storage condiviso. Il suo modello di montaggio della libreria esterna è utile per pianificare percorsi e permessi, ma non dimostra che il database debba usare NFS.

Mantieni PostgreSQL su uno storage consigliato per i database e proteggilo con dump nativi e backup. Se lo storage locale attivo è limitato, sposta solo il percorso dei contenuti multimediali che occupano molta capacità, dopo averne misurato l'utilizzo, e documenta il confine invece di trasferire l'intero stato dell'applicazione.

Rendi deterministico l'ordine di montaggio remoto

Monta la condivisione sull'host con credenziali o regole di esportazione esplicite, un indirizzo stabile e la modalità di lettura-scrittura prevista. Verifica l'identità del filesystem attesa e un file indicatore noto prima di avviare Immich. Collega nei container il percorso dell'host già montato.

Configura il gestore dei servizi in modo che Immich attenda il montaggio remoto e non si avvii su una directory locale di fallback vuota. L'avvio è riuscito solo quando l'indicatore è visibile nel container e un file di test riceve il proprietario previsto; una directory vuota o un file appartenente a root impongono di fermarsi.

Riavvia una volta con la condivisione disponibile e una volta rendendola deliberatamente non disponibile durante una finestra di manutenzione. Il primo test riesce solo quando l'indicatore compare prima dell'avvio di Immich; il secondo riesce solo quando Immich si arresta o fallisce in modo visibile, invece di scrivere nel punto di montaggio locale vuoto.

Dimostra l'identità del container e i permessi sulla condivisione

Allinea gli identificativi numerici di utente e gruppo tra server, client e container, quindi testa creazione, ridenominazione, lettura ed eliminazione in una cartella dedicata e temporanea. Non risolvere una discrepanza con permessi di scrittura globali che espongano la libreria di famiglia.

Ripeti il test del file temporaneo dall'interno del container del server Immich, non solo dall'host. Verifica che il NAS rilevi il proprietario numerico previsto e che Immich possa riaprire il file dopo la ricreazione del container. Un test riuscito solo sull'host non dimostra il corretto funzionamento del percorso nel container.

Se l'identità o il comportamento di creazione e ridenominazione differiscono, fermati e correggi l'esportazione, il montaggio o la mappatura del container in modo circoscritto. Ripeti il test prima di eseguire la scansione di una libreria reale; modifiche ampie ai permessi possono nascondere la discrepanza esponendo al contempo ogni foto di famiglia a servizi non correlati.

-15% OFF

Misura la latenza e testa un'interruzione della condivisione

Esegui un upload rappresentativo, la generazione di miniature, la navigazione nella timeline, il download di un originale e la scansione di una libreria esterna, misurando la latenza del server e l'avanzamento dei processi. Il test è superato quando l'interazione è accettabile e non si verifica una crescita persistente della coda; la sola velocità nominale del collegamento non dimostra prestazioni adeguate sui metadati.

Un problema di Immich segnala incoerenze tra database e file in una distribuzione con NFS instabile. Il caso circoscritto di errore NFS supporta l'idea che le disconnessioni durante le scritture costituiscano un rischio di ripristino, senza presumere che NFS corrompa sempre Immich.

Durante una finestra di manutenzione, dopo aver completato i backup, interrompi la condivisione dei contenuti multimediali mentre è attivo un test non critico. Immich dovrebbe fallire in modo visibile invece di scrivere nel punto di montaggio locale vuoto. Ripristina la condivisione e verifica che l'asset di test e il record del database siano nuovamente coerenti senza un ciclo continuo di riavvii.

Prendi la decisione di procedere o non procedere dopo i test di riavvio

Riavvia separatamente i container e l'host. Verifica che la condivisione corretta venga montata per prima, che gli originali vecchi e nuovi si aprano, che le scansioni esterne non duplichino gli asset e che un nuovo upload sopravviva a un altro riavvio. Il confronto tra DAS e NAS di ZimaSpace illustra il compromesso tra latenza e dominio di errore.

Usa la condivisione quando questi test hanno esito positivo e il monitoraggio può segnalare assenza, latenza, spazio disponibile e pressione sugli inode. Scegli lo storage locale o collegato direttamente quando la rete o il NAS non possono garantire la disponibilità richiesta, oppure quando non è possibile impedire il comportamento di apertura automatica del montaggio.

Ripristina il percorso locale precedente se Immich si avvia vuoto, crea file appartenenti a root o produce errori di file mancanti dopo un'interruzione. In caso di escalation, includi protocollo, opzioni di montaggio, identità, mappature dei percorsi, latenza e ordine di avvio; non eseguire mai una nuova scansione distruttiva finché non sono noti gli originali autorevoli e lo stato del database.

Supporto e consigli

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.