Spostare i dati di Nextcloud su un'unità esterna senza interrompere lo storage

Per un'installazione Linux convenzionale, monta l'unità esterna in modo permanente, copia l'intera directory dei dati mentre Nextcloud è offline, quindi crea un collegamento simbolico dal percorso originale alla nuova posizione. Non modificare semplicemente datadirectoryil percorso config.php: Nextcloud tiene traccia dello storage locale tramite percorso assoluto, quindi una modifica diretta del percorso può causare la perdita di file e condivisioni.

Questo esempio presuppone un'installazione tramite pacchetto o archivio. Le installazioni Docker, Snap e appliance mappano i percorsi in modo diverso; adatta il punto di montaggio a tale distribuzione anziché copiare ciecamente questi percorsi host.

Cosa è confermato e cosa dipende dal tuo server

PuntoCosa fare
Verificato: Nextcloud utilizza il percorso assoluto per identificare lo storage locale. Uno spostamento errato può causare la perdita di file o condivisioni.Mantieni stabile il percorso configurato con un collegamento simbolico; conserva tutti i contenuti, incluso .ncdata.
A seconda della configurazione: il percorso dei dati, l'utente HTTP, il file system e i nomi dei servizi possono variare.Verifica la configurazione effettiva e conferma che il disco mantenga la proprietà e i permessi Linux richiesti.
Dipendente dal disco: non è possibile dare per scontato un montaggio di avvio e un'alimentazione affidabili.Montalo tramite UUID, verifica il montaggio dopo il riavvio e impedisci l'avvio di Nextcloud in assenza del disco dati.

La funzione di montaggio su memoria esterna dell'app File aggiunge una posizione secondaria; non sposta la directory dati principale. Utilizzala per una cartella o una condivisione aggiuntiva e migra la directory dati quando i file e i metadati del server devono risiedere sull'unità.

1. Esegui il backup di Nextcloud e identifica il percorso di origine

Esegui il backup del database, config/della directory dei dati, delle app personalizzate e dei temi. Verifica che il backup del database sia ripristinabile; la semplice copia dei file non costituisce un ripristino completo.

Trova il percorso dei dati in config/config.phpo con occ config:system:get datadirectory, quindi identifica l'utente HTTP. Gli esempi utilizzano www-datae /var/www/nextcloud/data; sostituisci i valori effettivi con i tuoi. Non formattare un'unità contenente file di cui hai bisogno.

Un'utilità di gestione dischi di Linux che mostra un'unità esterna selezionata, un filesystem ext4 e un campo del punto di montaggio.
Illustrazione: una visualizzazione di Utility Disco mostra i dettagli dell'unità esterna e del file system per consentirne la verifica prima del montaggio per Nextcloud.

2. Montare l'unità su un percorso stabile

Esegui il comando lsblk -fe annota l'UUID del filesystem della partizione. I nomi, come ad esempio, /dev/sdb1possono cambiare, quindi utilizza l'UUID nella configurazione del mount.

Per un server Linux che utilizza ext4, crea un punto di mount e aggiungi una riga simile a questa al file /etc/fstab, sostituendo l'UUID di esempio con quello effettivo:

UUID=YOUR-DRIVE-UUID /srv/nextcloud-disk ext4 defaults 0 2

Utilizza il tipo di file già presente sulla partizione; questa riga non la formatta. Verifica che il filesystem mantenga la proprietà e le autorizzazioni necessarie a Nextcloud.

Montalo e verificalo prima di inserirvi qualsiasi dato:

sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk

Conferma che l'output identifichi la partizione esterna. Se utilizzi nofail, blocca anche i servizi web/PHP sul mount; altrimenti un disco mancante potrebbe lasciare una directory del punto di mount vuota che riceve scritture. Un componente aggiuntivo di systemd può utilizzare RequiresMountsFor=/srv/nextcloud-disk. Mantieni l'unità collegata mentre Nextcloud è in esecuzione.

Un editor di terminale che mostra una voce del filesystem basata su UUID per un volume esterno montato.
Illustrazione: una voce UUID nella tabella del filesystem rappresenta una configurazione di montaggio persistente anziché un collegamento al nome del dispositivo.

3. Metti Nextcloud in modalità di manutenzione e copia i dati

La modalità di manutenzione blocca gli accessi ma non interrompe tutte le attività pianificate. Metti in pausa il cron di Nextcloud o il suo timer systemd, arresta i client di sincronizzazione e interrompi i servizi web/PHP prima di copiare i file, in modo che nessuna richiesta possa modificarli durante lo spostamento.

sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --on

Con lo scheduler disabilitato e i servizi web/PHP arrestati, copiare la directory dei dati come utente root per preservare la proprietà, i permessi, gli ACL e i file nascosti:

sudo mkdir -p /srv/nextcloud-disk/data
sudo rsync -Aavx --numeric-ids /var/www/nextcloud/data/ /srv/nextcloud-disk/data/

La barra finale copia il contenuto della directory. Conserva la vecchia copia; controlla rsyncla presenza di errori e verifica .ncdatache sia presente al livello superiore della nuova directory.

Una finestra del terminale scura che mostra un comando di copia file con le relative righe di avanzamento.
Illustrazione: la visualizzazione della copia nel terminale rappresenta il trasferimento dell'intera directory dei dati mentre Nextcloud è arrestato.

4. Conserva il vecchio percorso con un collegamento simbolico

Il manuale di risoluzione dei problemi di Nextcloud consiglia di creare un collegamento al percorso originale nella nuova directory. Dopo aver verificato la copia, rinominare la vecchia directory per il ripristino e creare il collegamento:

sudo mv /var/www/nextcloud/data /var/www/nextcloud/data.pre-move
sudo ln -s /srv/nextcloud-disk/data /var/www/nextcloud/data
readlink -f /var/www/nextcloud/data

Verificare che il percorso si risolva in /srv/nextcloud-disk/data. L'utente web deve attraversare le directory padre e leggere .ncdatae scrivere nella destinazione:

sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data

Se un controllo fallisce, correggi la proprietà o i permessi padre per il tuo utente web; non rendere la directory scrivibile da tutti. Alcuni server web richiedono che i collegamenti simbolici siano consentiti. Se ciò non è possibile, non modificare oc_storagesmanualmente: Nextcloud considera questo metodo non supportato e avverte che potrebbe danneggiare il database.

Un terminale con comandi di spostamento e collegamento simbolico, seguito da una riga di ispezione del percorso.
Illustrazione: la visualizzazione del terminale mostra il percorso dati originale collegato alla directory dell'unità esterna.

5. Riavviare e verificare prima di rimuovere la copia di ripristino.

Avvia web/PHP e riattiva lo scheduler. Conferma il montaggio e il collegamento simbolico, quindi disattiva la modalità di manutenzione:

findmnt /srv/nextcloud-disk
sudo -E -u www-data php /var/www/nextcloud/occ status
sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Accedi, apri file e cartelle condivise esistenti e carica/scarica un file di piccole dimensioni. Controlla i log di Nextcloud e del server web, quindi riavvia il sistema durante una finestra di manutenzione per verificare che il disco venga montato correttamente prima dell'avvio di Nextcloud.

Conservare data.pre-moveil backup del database fino al riavvio e alla corretta sincronizzazione. Se lo spostamento non riesce, abilitare la modalità di manutenzione, arrestare l'applicazione e ripristinare la directory e lo stato del servizio originali. Un'applicazione generica files:scannon può correggere un montaggio errato.

Verifica

Verifica che il disco venga montato all'avvio, che il percorso originale sia risolvibile, che l'utente web possa leggere e scrivere e che i file esistenti, incluso un piccolo caricamento, funzionino correttamente. Se Nextcloud segnala la mancanza di file dopo il riavvio, arresta l'applicazione e controlla il montaggio prima di consentire le scritture.

Riferimenti: Guida di Nextcloud per lo spostamento della directory dei dati ; Guida di Nextcloud per la modalità di backup e manutenzione ; Posizione e proprietà della directory dei dati di Nextcloud ; Archiviazione esterna di Nextcloud come mount secondario ; Documentazione di mount Linux per identificatori UUID ; Dipendenze di mount di systemd .

Lascia un commento

Spostare i dati di Nextcloud su un'unità esterna senza interrompere lo storage

Spostare i dati di Nextcloud su un'unità esterna senza interrompere lo storage

Spostare in modo sicuro una directory di dati Nextcloud su Linux verso un'unità esterna utilizzando un mount UUID persistente, la modalità di manutenzione, una copia verificata e il collegamento simbolico del percorso originale.

Errore del database di Nextcloud dopo un aggiornamento: cosa controllare per prima cosa

Ripristina l'accesso a Nextcloud dopo un aggiornamento diagnosticando gli errori SQL, verificando la connettività del database e completando in sicurezza le migrazioni interrotte.

Reimpostare una password di amministratore Nextcloud persa con OCC

Utilizza il comando OCC di Nextcloud per reimpostare la password di un amministratore dalla shell del server, con indicazioni per nomi utente, autorizzazioni e provider di accesso esterni.

Aggiungere l'intestazione HSTS all'endpoint HTTPS che serve Nextcloud

Elimina l'avviso HSTS di Nextcloud impostando l'intestazione su Apache, NGINX o sul tuo proxy TLS, quindi verifica in modo sicuro la risposta HTTPS pubblica.

Risoluzione dei problemi relativi all'installazione dell'app Nextcloud che segnala l'assenza di connessione a Internet.

Risoluzione dei problemi relativi all'installazione dell'app Nextcloud che segnala l'assenza di connessione a Internet.

Individuare le cause degli errori di installazione dell'App Store riconducibili a problemi di DNS, HTTPS, proxy, TLS o di configurazione del server Nextcloud stesso.

Gestisci i picchi di utilizzo della CPU nell'anteprima di Nextcloud con una coda pianificata.

Sposta il lavoro sulle miniature in una pianificazione in background controllata, ridimensiona le anteprime non utilizzate e verifica la coda senza sovraccaricare il server Nextcloud.

Ottieni la sincronizzazione desktop di Nextcloud: oltre la fase di "Elaborazione file"

Individua il file, la regola di esclusione, il problema di connessione o lo stato del database del client che blocca la sincronizzazione di Nextcloud, quindi verifica che i caricamenti e i download avvengano in sicurezza.

Elimina l'avviso di Nextcloud OPcache regolando il limite corretto

Individua il limite di PHP OPcache che causa l'avviso di Nextcloud, aggiorna la configurazione PHP web corretta, riavvia in modo sicuro e verifica il risultato.

Connettere Nextcloud a CODE Docker: configurazione e compromessi

Connettere Nextcloud a CODE Docker: configurazione e compromessi

Confronta il codice integrato e quello basato su Docker, quindi connetti Collabora Online a Nextcloud tramite un proxy inverso HTTPS sicuro.

Crea un cluster Nextcloud resiliente con Galera

Pianifica un'implementazione HA affidabile di Nextcloud con storage condiviso, blocco Redis, routing MariaDB con supporto al quorum e controlli di failover pratici.