Migration der Nextcloud-Datenbank nach pgsql13
Mit nachfolgenden Schritten kann die Datenbank des LXC-Containers nextcloud-g1 in den Datenbank-Container pgsql13 migriert werden, welcher seit Puppet-Version 1.4.0 zur Verfügung steht.
1. [puppeteer] LXC-Container pgsql13 in der guest.conf aktivieren, sofern noch nicht vorhanden. Bei Erstellung des Containers im Anschluss ausreichend oft gprun im ldhost ausführen, bis der Container vollständig aufgebaut ist inkl. DNS-Eintrag.
2. [puppeteer] YAML-Datei /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml um folgende Zeilen ergänzen -> Verweis auf den Container pgsql13 als Datenspeicher
ld_nextcloud::install::params:
admin-user: ncadmin
database-host: &dbhost pgsql13
database-name: &dbname nextcloud
database-user: &dbuser nextcloud
data-dir: /var/lib/nextcloud
ld_nextcloud::db:
server: *dbhost
3. [nextcloud-g1] Konfiguration übernehmen und Webserver-Dienste sowie Puppet temporär stoppen zur Migration der Datenbank
pdis
systemctl stop apache2.service
systemctl stop php7.4-fpm.service
4. [pgsql13] Datenbank 'nextcloud' erstellen lassen
5. [ldhost] Zur Sicherheit nochmals einen prun ausführen (DNS-Einträge) und danach Skript zur Migration der Datenbank starten
# Usage: postgresql-migrate [options]
# -c, --[no-]cleanup Delete database dump after import (default: yes)
# -d, --database=DATABASE Database to be migrated
# -s, --source=CONTAINER Source container from which the database is to be migrated
# -t, --target=CONTAINER Target container into which the database is to be migrated
# -x, --[no-]compress Compress database dump (default: yes)
# -y, --assume-yes Assume "yes" as answer to all prompts and run non-interactively
pgsql-migrate -c -d nextcloud -s postgresql10 -t pgsql13 -y
6. [nextcloud-g1] Bei Erfolg der Datenbankübertragung die Dienste im nextcloud-g1 Container wieder starten
systemctl start apache2.service
systemctl start php7.4-fpm.service
prun