Migration der Nextcloud-Datenbank nach pgsql13

Zuletzt geändert von Clemens Dörfler am 2023/05/24 09:36

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

# Umstellung auf pgsql13 als Datenbank-Container
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

prun
pdis
systemctl stop apache2.service
systemctl stop php7.4-fpm.service

4. [pgsql13] Datenbank 'nextcloud' erstellen lassen

prun

5. [ldhost] Zur Sicherheit nochmals einen prun ausführen (DNS-Einträge) und danach Skript zur Migration der Datenbank starten

prun

# 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

pena
systemctl start apache2.service
systemctl start php7.4-fpm.service
prun