Nextcloud-Daten auf ein externes Laufwerk verschieben, ohne den Speicherplatz zu beschädigen

Bei einer herkömmlichen Linux-Installation sollte das externe Laufwerk dauerhaft eingebunden werden. Kopieren Sie das gesamte Datenverzeichnis, während Nextcloud offline ist, und erstellen Sie anschließend einen symbolischen Link vom ursprünglichen Pfad zum neuen Speicherort. Ändern Sie den Pfad nicht einfach direkt datadirectory: config.phpNextcloud verwaltet den lokalen Speicher über absolute Pfade. Eine direkte Pfadänderung kann daher zu verwaisten Dateien und Freigaben führen.

Dieses Beispiel geht von einer Paket- oder Archivinstallation aus. Docker-, Snap- und Appliance-Installationen verwenden unterschiedliche Pfadzuordnungen; passen Sie die Einbindung an die jeweilige Bereitstellung an, anstatt diese Hostpfade blind zu kopieren.

Was ist bestätigt und was hängt von Ihrem Server ab?

PunktWas ist zu tun?
Bestätigt: Nextcloud verwendet den absoluten Pfad zur Identifizierung des lokalen Speichers. Ein unachtsamer Vorgang kann dazu führen, dass Dateien oder Freigaben verloren gehen.Halten Sie den konfigurierten Pfad mit einem symbolischen Link stabil; erhalten Sie alle Inhalte, einschließlich .ncdata.
Die Konfiguration ist abhängig von der jeweiligen Situation: Datenpfad, HTTP-Benutzer, Dateisystem und Dienstnamen variieren.Überprüfen Sie Ihre effektive Konfiguration und vergewissern Sie sich, dass die Festplatte die erforderlichen Linux-Eigentumsrechte und Berechtigungen beibehält.
Festplattenabhängig: Zuverlässiges Booten und die Stromversorgung können nicht gewährleistet werden.Binden Sie die Festplatte per UUID ein, testen Sie die Einbindung nach einem Neustart und verhindern Sie, dass Nextcloud startet, wenn die Datenfestplatte fehlt.

Die Funktion „Externer Speicher einbinden“ der Dateien-App fügt einen zweiten Speicherort hinzu; das primäre Datenverzeichnis wird dabei nicht verschoben. Verwenden Sie diese Funktion für einen zusätzlichen Ordner oder eine Freigabe und migrieren Sie das Datenverzeichnis erst dann, wenn die serverseitigen Dateien und Metadaten auf dem Laufwerk gespeichert werden müssen.

1. Nextcloud sichern und Quellpfad ermitteln

Sichern Sie die Datenbank, config/das Datenverzeichnis, benutzerdefinierte Apps und Designs. Stellen Sie sicher, dass die Datenbanksicherung wiederherstellbar ist; das bloße Kopieren von Dateien stellt keine vollständige Wiederherstellung dar.

Ermitteln Sie den Datenpfad in config/config.phpoder mit occ config:system:get datadirectory, und identifizieren Sie dann den HTTP-Benutzer. In den Beispielen wird www-dataund verwendet /var/www/nextcloud/data; ersetzen Sie diese Werte durch Ihre tatsächlichen Werte. Formatieren Sie kein Laufwerk, das benötigte Dateien enthält.

Ein Linux-Festplattendienstprogramm, das ein ausgewähltes externes Laufwerk, ein ext4-Dateisystem und ein Mountpunktfeld anzeigt
Abbildung: Eine Ansicht des Festplattendienstprogramms zeigt Details zum externen Laufwerk und Dateisystem an, die vor dem Einbinden in Nextcloud überprüft werden müssen.

2. Montieren Sie das Laufwerk an einer stabilen Bahn

Führen Sie den Befehl aus lsblk -fund notieren Sie sich die Dateisystem-UUID der Partition. Namen wie z. B. /dev/sdb1können sich ändern, verwenden Sie daher die UUID in der Mount-Konfiguration.

Für einen Linux-Server mit ext4 erstellen Sie einen Mountpunkt und fügen Sie eine Zeile wie diese hinzu /etc/fstab, wobei Sie die Beispiel-UUID durch die tatsächliche UUID ersetzen:

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

Verwenden Sie den bereits auf der Partition vorhandenen Typ; diese Zeile formatiert ihn nicht. Stellen Sie sicher, dass das Dateisystem die für Nextcloud erforderlichen Besitzverhältnisse und Berechtigungen beibehält.

Montieren und überprüfen Sie es, bevor Sie Daten darauf speichern:

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

Prüfen Sie, ob die Ausgabe die externe Partition identifiziert. Falls Sie ` nofailsystemd drop-in` verwenden, beschränken Sie auch die Web-/PHP-Dienste auf die Einbindung; andernfalls kann eine fehlende Festplatte ein leeres Mountpunktverzeichnis hinterlassen, das Schreibvorgänge empfängt. Ein Systemd-Drop-in kann `systemd drop-in` verwenden RequiresMountsFor=/srv/nextcloud-disk. Lassen Sie das Laufwerk angeschlossen, während Nextcloud ausgeführt wird.

Ein Terminaleditor, der einen UUID-basierten Dateisystemeintrag für ein eingebundenes externes Volume anzeigt
Beispiel: Ein UUID-Eintrag in der Dateisystemtabelle stellt eine persistente Mount-Konfiguration dar und nicht etwa eine Gerätenamen-Abkürzung.

3. Nextcloud in den Wartungsmodus versetzen und die Daten kopieren.

Der Wartungsmodus blockiert Anmeldungen, stoppt aber nicht alle geplanten Aufgaben. Um zu verhindern, dass während des Kopiervorgangs Dateien geändert werden, sollten Sie den Nextcloud-Cronjob oder den zugehörigen Systemd-Timer anhalten, Synchronisierungsclients stoppen und Web-/PHP-Dienste beenden.

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

Wenn der Scheduler deaktiviert und die Web-/PHP-Dienste gestoppt sind, kopieren Sie das Datenverzeichnis als Root, um Eigentumsrechte, Berechtigungen, ACLs und versteckte Dateien zu erhalten:

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

Der abschließende Schrägstrich kopiert den Verzeichnisinhalt. Behalten Sie die alte Kopie bei; prüfen Sie sie rsyncauf Fehler und stellen Sie sicher, .ncdatadass sie im Stammverzeichnis des neuen Verzeichnisses vorhanden ist.

Ein dunkles Terminalfenster, das einen Dateikopierbefehl mit Fortschrittsanzeigen anzeigt.
Illustration: Eine Terminalkopieansicht stellt die Übertragung des gesamten Datenverzeichnisses dar, während Nextcloud gestoppt ist.

4. Den alten Pfad mit einem symbolischen Link beibehalten.

Die Fehlerbehebungsanleitung von Nextcloud empfiehlt, den ursprünglichen Pfad mit dem neuen Verzeichnis zu verknüpfen. Nach der Überprüfung der Kopie benennen Sie das alte Verzeichnis für das Rollback um und erstellen die Verknüpfung:

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

Prüfen Sie, ob der Pfad korrekt aufgelöst wird /srv/nextcloud-disk/data. Der Webbenutzer muss übergeordnete Verzeichnisse durchlaufen und .ncdataauf das Zielverzeichnis lesen und schreiben können.

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

Schlägt eine Überprüfung fehl, korrigieren Sie die Besitzverhältnisse oder die Berechtigungen des übergeordneten Verzeichnisses für Ihren Webbenutzer. Stellen Sie sicher, dass das Verzeichnis nicht für alle Benutzer beschreibbar ist. Einige Webserver benötigen symbolische Links. Ist dies nicht möglich, bearbeiten Sie die Datei nicht oc_storagesmanuell: Nextcloud stuft diese Methode als nicht unterstützt ein und warnt davor, dass dadurch die Datenbank beschädigt werden kann.

Ein Terminal mit Verschieben- und Symlink-Befehlen, gefolgt von einer Pfadinspektionszeile
Abbildung: Die Terminalansicht zeigt, dass der ursprüngliche Datenpfad mit dem Verzeichnis des externen Laufwerks verknüpft ist.

5. Starten Sie das System neu und überprüfen Sie die Einstellungen, bevor Sie die Rollback-Kopie entfernen.

Starten Sie web/PHP und aktivieren Sie den Scheduler erneut. Überprüfen Sie die Einbindung und den symbolischen Link und deaktivieren Sie anschließend den Wartungsmodus.

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

Melden Sie sich an, öffnen Sie vorhandene Dateien und Freigaben und laden Sie eine kleine Datei hoch oder herunter. Überprüfen Sie die Nextcloud- und Webserver-Protokolle und starten Sie den Server anschließend in einem Wartungsfenster neu, um sicherzustellen, dass die Festplatte vor dem Start von Nextcloud eingebunden wird.

Bewahren Sie data.pre-movedie Datenbanksicherung auf, bis ein Neustart und die normale Synchronisierung erfolgreich verlaufen. Falls die Verschiebung fehlschlägt, aktivieren Sie den Wartungsmodus, beenden Sie die Anwendung und stellen Sie das ursprüngliche Verzeichnis und den ursprünglichen Dienststatus wieder her. files:scanEin fehlerhaftes Mounten kann nicht behoben werden.

Überprüfung

Überprüfen Sie, ob die Festplatte beim Systemstart eingebunden wird, der ursprüngliche Pfad korrekt aufgelöst wird, der Webbenutzer Lese- und Schreibzugriffe hat und vorhandene Dateien sowie ein kleiner Upload funktionieren. Falls Nextcloud nach einem Neustart fehlende Dateien meldet, beenden Sie die Anwendung und überprüfen Sie die Einbindung, bevor Sie Schreibvorgänge zulassen.

Referenzen: Nextcloud-Anleitung zum Verschieben des Datenverzeichnisses ; Nextcloud-Anleitung zum Backup- und Wartungsmodus ; Speicherort und Eigentümer des Nextcloud-Datenverzeichnisses ; Nextcloud-externer Speicher als sekundärer Mountpunkt ; Linux-Mount-Dokumentation für UUID-Bezeichner ; systemd-Mount-Abhängigkeiten .

Einen Kommentar hinterlassen

Nextcloud-Daten auf ein externes Laufwerk verschieben, ohne den Speicherplatz zu beschädigen

Nextcloud-Daten auf ein externes Laufwerk verschieben, ohne den Speicherplatz zu beschädigen

Sicheres Verschieben eines Linux Nextcloud-Datenverzeichnisses auf ein externes Laufwerk mithilfe einer persistenten UUID-Einbindung, des Wartungsmodus, einer verifizierten Kopie und des Symlinks des ursprünglichen Pfads.

Nextcloud-Datenbankfehler nach einem Update: Was Sie zuerst überprüfen sollten

Stellen Sie den Nextcloud-Zugriff nach einem Update wieder her, indem Sie SQL-Fehler diagnostizieren, die Datenbankverbindung überprüfen und unterbrochene Migrationen sicher abschließen.

Vergessenes Nextcloud-Admin-Passwort mit OCC zurücksetzen

Verwenden Sie den OCC-Befehl von Nextcloud, um ein Administratorpasswort über die Server-Shell zurückzusetzen. Hinweise zu Benutzernamen, Berechtigungen und externen Anmeldeanbietern finden Sie hier.

Fügen Sie den HSTS-Header am HTTPS-Endpunkt für Nextcloud hinzu.

Beheben Sie die HSTS-Warnung von Nextcloud, indem Sie den Header bei Apache, NGINX oder Ihrem TLS-Proxy setzen und anschließend die öffentliche HTTPS-Antwort sicher überprüfen.

Fehlerbehebung bei Nextcloud-App-Installationen, die keine Internetverbindung melden

Fehlerbehebung bei Nextcloud-App-Installationen, die keine Internetverbindung melden

Installationsfehler im App Store lassen sich auf DNS-, HTTPS-, Proxy-, TLS- oder Konfigurationsprobleme des Nextcloud-Servers selbst zurückführen.

CPU-Spitzen in der Nextcloud-Vorschau durch eine geplante Warteschlange zähmen

Verlagern Sie die Bearbeitung von Miniaturansichten auf einen kontrollierten Hintergrundzeitplan, reduzieren Sie ungenutzte Vorschaubildgrößen und überprüfen Sie die Warteschlange, ohne Ihren Nextcloud-Server zu überlasten.

Nextcloud Desktop Sync: Schritte nach dem Vorgang „Dateien werden verarbeitet“

Ermitteln Sie die Datei, die Ausschlussregel, das Verbindungsproblem oder den Clientdatenbankstatus, der die Nextcloud-Synchronisierung blockiert, und überprüfen Sie anschließend, ob Uploads und Downloads sicher durchgeführt werden können.

Beheben Sie die Nextcloud OPcache-Warnung, indem Sie den richtigen Grenzwert anpassen.

Ermitteln Sie das PHP OPcache-Limit, das die Nextcloud-Warnung auslöst, aktualisieren Sie die entsprechende Web-PHP-Konfiguration, starten Sie Nextcloud sicher neu und überprüfen Sie das Ergebnis.

Nextcloud mit CODE Docker verbinden: Einrichtung und Abwägungen

Nextcloud mit CODE Docker verbinden: Einrichtung und Abwägungen

Vergleichen Sie integrierten und Docker-basierten CODE und verbinden Sie dann Collabora Online über einen sicheren HTTPS-Reverse-Proxy mit Nextcloud.

Erstellen Sie einen ausfallsicheren Nextcloud-Cluster mit Galera

Planen Sie eine zuverlässige Nextcloud HA-Bereitstellung mit gemeinsam genutztem Speicher, Redis-Sperren, Quorum-fähigem MariaDB-Routing und praktischen Failover-Prüfungen.