Ich gegen das Web

Der Blog von jemanden der gegen das Web kämpft.

Owncloud-zu-Nextcloud Server-zu-Server Umzug mit Datenmitnahme

Umzug von einer veralteten Owncloud Instanz auf eine laufende Nextcloud-Installation

ownloud-zu-nextcloud-server-zu-server-mit-datenmigration

In der letzten Woche habe ich einen aufgeregten Kunden am Telefon gehabt. Dieser erklärte mir, dass die von ihm gepflegte OwnCloud-Instanz nicht mehr funktionieren würde. Es ist kein Login mehr möglich. Obwohl die Logindaten korrekt waren, wurde er mit der Fehlermeldung, er hätte sich zu lange Zeit gelassen, nicht eingeloggt.

Nach kurzer Suche war klar, dass der Server mit dessen ~60 Nutzern auf 100% Speicherverbrauch lief. Der MariaDB Server konnte keine Daten mehr schreiben und der Login war dann auch nicht mehr möglich.

Was also tun? Da der Speicherplatz sich nicht erweitern lies und somit auch ein Update auf eine aktuelle Version nicht möglich war - ein Snapshot gab es auch nicht, da es sich um echte Hardware handelete, die schon einige Jahre auf dem Buckel hatte - kam nur die Migration auf eine neue Installation in Frage.

Für den Umzug vom vollen OwnCloud-Server gab es zwei Möglichkeiten:

Die erste Möglichkeit war alle Dateien zu kopieren und danach auf dem alten Server zu löschen, um so ausreichend Platz für ein Datenbankbackup zu haben. Dieses wird dann auf dem neuen Server eingespiel.

Die zweite Möglichkeit war einen neuen Server aufzusetzen und die User unabhängig vom System zu übertragen.

Da der Kunde zu Nextcloud wechseln wollte, bot sich die zweite Variante an, da ein Upgrade einer 10er OwnCloud-Version auf eine aktuelle 18er Nextcloud-Version nicht ohnen weiteres Möglich gewesen wäre bzw. mehr Arbeit gemacht hätte als nötig war. Die Nutzer nutzen nämlich die Cloud nur als Backup. Es gab also keine Freigaben oder gemeinsame Ordner. Ideal also für die zweite Variante.

Der neue Server sollte auch gleich eine neue Domain bekommen, die sich in die Netzstruktur besser eingliederte (diese OwnCloud war wirklich eine ziemliche Altlast).

Das Setup des neuen Servers bzw. die Installation der neuen Nextcloud-Instanz war schnell erledigt. Da auch der Data Exporter nicht zu aktivieren war, wurde nun Handangelegt. Zuerst galt es die Dateien der User bzw. die User an sich zu kopieren. Dazu exportiere ich dei Users-Tabelle aus der alten Datenbank. Vorher machte ich noch ein paar Megabyte frei. Danach ging es an das Filesystem. Um die Daten zu übertragen nutzte ich rsync.

Zuerst erstellte ich mir auf dem neuen Server einen neuen SSH-Key (vorher cd /home/) ssh-keygen -t rsa -b 4096 -f sshkey. Das war notwendig, da auf dem alten Owncloud-Server kein Login mit dem Passwort möglich war (hätte zu Not natürlich auch geändert werden können, aber da ich das System aus "Backup-Gründen" nicht umkonfigurieren wollte, lies ich es). Den Public-Key kopierte ich in die “authorized_keys"-Datei auf dem alten Server (ja, dafür war noch Platz). Danach führt ich den folgenden Befehl aus: nohup rsync --progress -avW -t -e "ssh -i /home/sshkey -p 2992" root@xx.xx.xx.xx:/var/www/owncloud/data/ /var/www/virtual/nextcloud/data/ &.

Mit nohupstellte ich sicher, dass die Aufgabe auch durchgeführt wird, wenn ich mich abmelde. Mit tail -f / home/nohup.datkonnte ich die aktuelle Übertragung schauen, die einige Stunden lief (es waren 4,2 Terrabyte an Daten).

Nachdem die Daten übertragen waren (und die Nutzer im System), führte ich den Befehl php occ files:scan --all aus. Dieser lies die Dateien im Dateisystem ein und fügte diese dem eigentlichen Server hinzu.

Danach ging es darum die Clients der Nutzer zu updaten. Die Desktop App von Owncloud (und Nextcloud) speichert die Konfiguration im lokalen Datensystem ab. Entsprchend dort die neue Server-Url eingegeben und das Programm neugestartet. Das ganze über ein Powershell-Script, welches in der Domain ausgerollt wurde. Der Nutzer musste nur noch das - ihm bekannte - Passwort einmal eingeben. Schon war der Umzug abgeschlossen.

März 21, 2020

Michi
Export und Import der Users-Tabelle
Geschrieben von Michi am August 25, 2020
Hi, ich stehe vor dem gleichen Problem! Ich möchte eine (aktuelle) OwnCloud 10.5.0 mit LDAP Anbindung zu Nextcloud "migrieren". Ich habe gelesen, dass das wohl nicht ohne weiteres geht. Es handelt sich um 35 User und ca. 100GB Daten. Ich möchte einen neuen (Ubuntu) Server aufsetzen mit einer frischen Nextcloud Instanz. Künftig soll die LDAP Anbindung aus Sicherheitsgründen entfallen. Doch wie kann ich die 35 User samt Passwort in die frische Nextcloud Installation "importieren"?
Admin Admin
Geschrieben von Admin am Oktober 19, 2020
Moin! Mit LDAP habe ich mich bei Nextcloud noch nicht wirklich beschäftigt. Aber grundsätzlich sollten sich ja die Passwörter bzw. deren Hashwert auslesen lassen. Diese kannst du ja über ein Script in die Users-Tabelle eintragen und dann die Users-Tabelle exportieren und in der frischen Instanz importieren.