Erstellung einer neuen Instanz und Installation von Nextcloud¶
Das wurde durchgeführt und die Konfiguration ist im Container 136 auffindbar (/etc/nixos/configuration.nix
)
Durchführung der Migration:¶
Im Container der laufenden Nextcloud den Maintenance Mode anstellen
nextcloud-occ maintenance:mode --on
Als Nutzer "nextcloud" ein Backup erstellen:
sudo -u nextcloud touch /var/lib/nextcloud/data/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
sudo -u nextcloud pg_dump nextcloud -U nextcloud -f /var/lib/nextcloud/data/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
Nun werden beide Container gemounted ( CT 115 und CT 136). Die Ordner sind dann in /var/lib/lxc/<VMID>/rootfs/
zu finden.
pct mount <VMID>
Dannach die Daten vom Container 115 nach 136 kopieren.
cp -p -R /var/lib/lxc/<VMID>/var/lib/nextcloud/data /var/lib/lxc/<VMID>/var/lib/nextcloud/data_backup
Dann wird das ownership an root des Containers übergeben (ohne diesen Schritt kann im Container nicht auf die kopierten Daten zugegriffen werden)
chown 100000:100000 -R /var/lib/lxc/<VMID>/var/lib/nextcloud/data_backup
Anschließend die beiden Container unmounten
pct unmount <VMID>
Eintreten in die Pforten der neuen Behausung der Datenbank (CT 136)
pct enter <VMID>
Jetzt wird "nextcloud" die Rechte an den Daten übergeben.
chown nextcloud:nextcloud -R /var/lib/nextcloud/data_backup
Löschen der generierten Daten durch den Bau der Anwendung und neu Benennung des Backups.
rm -R /var/lib/nextcloud/data
mv /var/lib/nextcloud/data_backup /var/lib/nextcloud/data
DROP THE BASE!
sudo -u postgres psql -U postgres -d template1 -c "DROP DATABASE nextcloud;"
Erstellen einer neuen Datenbank
sudo -u postgres psql -U postgres -d template1 -c "CREATE DATABASE nextcloud;"
Restauration der kopierten Datenbank
sudo -u nextcloud psql -U nextcloud -d nextcloud -f /var/lib/nextcloud/data/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
Der Fehler Missing Indices wird folgendermaßen behoben.
nextcloud-occ db:add-missing-indices
DONE!
POST-Migration Konfiguration¶
Im Nachgang muss der alte Container (115 gestoppt werden) die gesetzte IPv4 Adresse ,der neuen Instanz, auf 141.56.51.16 gesetzt werden (der Hostname wurde auf "cloud" gesetzt und der DomainName auf "stura.htw-dresden.de"). Dann ein nixos-rebuild switch
. Jetzt sollte man mit https://cloud.stura.htw-dresden.de auf die neue Instanz zugreifen können.