Im Rahmen einer Migration sollte eine NextCloudPi-Instanz die als virtuelle Maschine unter VirtualBox lief zu einem Hyper-V Server migriert sowie von Debian 9 Stretch auf Debian 10 Buster umgestellt werden.

Entgegen der Vermutung aufgrund des Namens das sich NextCloudPi nur auf einem Raspberry Pi oder anderen Einplatinencomputern betreiben lässt, sei erwähnt das dieses ebenfalls wunderbar als virtuelle Maschine genutzt werden kann.

Eine Migration ist immer eine gute Gelegenheit um mal aufzuräumen. So wurde im Vorfeld via ssh der belegte Speicherplatz mittels

df -h

ermittelt, was für erstes Stirnruntzeln sorgte, war doch mehr belegt als erwartet. Im Detail wurde dann mittels

du -shc /var/www/nextcloud/*

geschaut, dies dauerte ein Weilchen und schnell war klar das im “data”-Ordner definitiv zu viel drin ist. So fanden sich alte Backups sowie ein in der Vergangenheit aus versehen kopierter Ordner. Ferner hatten die Papierkörbe eine gewisse Größe. Nachdem alles bereinigt war ging es an die eigentliche Migration.

In diesem Fall sollten die NCP-Einstellungen nicht direkt übernommen werden, da in der Vergangenheit das eine oder andere verbastelt wurde. Die Datensicherung sowie -wiederherstellung wurde über das NCP-Panel durchgeführt.

  • Auf dem Zielsystem ein Debian 10 Buster und mittels curl NextCloudPi installieren sowie weitere Vorbereitungen durchführen:
    apt install curl
    curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | bash
    apt install php-imagick
    systemctl reboot

    Ggf. eine feste IP-Adresse (“nano /etc/network/interfaces”) konfigurieren.

  • Auf dem Quellsystem über das NCP-Panel (“BACKUPS – Backup erstellen”) oder via console bzw. ssh (“ncp-config”) zunächst eine Datensicherung erstellen und ggf. die NCP-Einstellungen exportieren.
    Hinweis: Während der Datensicherung ist das Panel zeitweise nicht erreichbar.
  • Das Quellsystem mindestens in den Maintenance Mode versetzen oder vom Netzwerk trennen bzw. herunterfahren.
  • Die Datensicherung auf das Zielsystem kopieren und über das Panel wiederherstellen (“BACKUPS – Wiederherstellung”).
  • Die gewünschte NCP-Konfiguration über das Panel neu einstellen.
  • Sofern sich IP-Adresse, FQDN, etc. geändert haben, muss die Konfiguration entsprechend angepasst werden. Was nicht über das Panel durchgeführt werden kann oder soll, muss direkt z.B. in der Nextcloud-Konfigurationsdatei (“/var/www/nextcloud/data/config/config.php”) geändert werden.
  • Weitere potentielle Nacharbeit ist notwendig wenn man z.B. E-Mail (“/etc/postfix”) konfiguriert hat.
  • Der Cronjob für Nextcloud (“crontab -u www-data -e”) sollte angepasst werden. Per Vorgabe wird dieser alle 15 Minuten ausgeführt, das führt allerdings zu einem Hinweis in Nextcloud, besser diesen auf 5 Minuten ändern.
  • Nach der Wiederherstellung findet sich ein Ordner “/var/www/nextcloud/data-<Datum>”, dieser kann Verschoben oder gelöscht werden.

Quellen:

NextCloudPi Documentation – Wiki – Home and Overview

NextCloudPi Documentation – Curl installer

NextCloud Pi Documentation – How to backup and restore a NextCloudPi instance using ncp-config

Nextcloud – Docs – Background jobs