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

Zeige letzte Bearbeiter
1 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.
2
3 ----
4
5 **1.** (% style="color:#2980b9" %)**[puppeteer]**(%%) LXC-Container **pgsql13** in der guest.conf aktivieren, sofern noch nicht vorhanden. Bei Erstellung des Containers im Anschluss ausreichend oft {{box}}gprun{{/box}} im ldhost ausführen, bis der Container vollständig aufgebaut ist inkl. DNS-Eintrag.
6
7 **2.** (% style="color:#2980b9" %)**[puppeteer]**(%%) YAML-Datei /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml um folgende Zeilen ergänzen -> Verweis auf den Container pgsql13 als Datenspeicher
8
9 {{code language="yaml"}}
10 # Umstellung auf pgsql13 als Datenbank-Container
11 ld_nextcloud::install::params:
12 admin-user: ncadmin
13 database-host: &dbhost pgsql13
14 database-name: &dbname nextcloud
15 database-user: &dbuser nextcloud
16 data-dir: /var/lib/nextcloud
17
18 ld_nextcloud::db:
19 server: *dbhost
20 {{/code}}
21
22 **3.** (% style="color:#2980b9" %)**[nextcloud-g1]**(%%) Konfiguration übernehmen und Webserver-Dienste sowie Puppet temporär stoppen zur Migration der Datenbank
23
24 {{code language="bash"}}
25 prun
26 pdis
27 systemctl stop apache2.service
28 systemctl stop php7.4-fpm.service
29 {{/code}}
30
31 **4.** (% style="color:#2980b9" %)**[pgsql13]**(%%) Datenbank 'nextcloud' erstellen lassen
32
33 {{code language="bash"}}
34 prun
35 {{/code}}
36
37 **5.** (% style="color:#2980b9" %)**[ldhost]**(%%) Zur Sicherheit nochmals einen prun ausführen (DNS-Einträge) und danach Skript zur Migration der Datenbank starten
38
39 {{code language="bash"}}
40 prun
41
42 # Usage: postgresql-migrate [options]
43 # -c, --[no-]cleanup Delete database dump after import (default: yes)
44 # -d, --database=DATABASE Database to be migrated
45 # -s, --source=CONTAINER Source container from which the database is to be migrated
46 # -t, --target=CONTAINER Target container into which the database is to be migrated
47 # -x, --[no-]compress Compress database dump (default: yes)
48 # -y, --assume-yes Assume "yes" as answer to all prompts and run non-interactively
49
50 pgsql-migrate -c -d nextcloud -s postgresql10 -t pgsql13 -y
51 {{/code}}
52
53 **6.** (% style="color:#2980b9" %)**[nextcloud-g1]**(%%) Bei Erfolg der Datenbankübertragung die Dienste im nextcloud-g1 Container wieder starten
54
55 {{code language="yaml"}}
56 pena
57 systemctl start apache2.service
58 systemctl start php7.4-fpm.service
59 prun
60 {{/code}}