Migration der LD Mobile Datenbank nach mariadb105

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

1. LogoDIDACT Server mindestens auf Puppet-Version 1.3.21 aktualisieren

2. [puppeteer] LXC-Container mariadb105 in der guest.conf aktivieren, danach solange pruns durchführen bis der Container aufgebaut ist.

3. [puppeteer] Prüfen, ob Verzeichnisstruktur zur Ablage von benutzerdefinierten YAML-Dateien passt

[ -h "/var/lib/ld-puppet/hiera.d/custom.d" ] && echo "custom.d Ordner ist Symlink, alles in Ordnung". || echo "Fehlerhafte Umgebung, bitte custom.d Ordner manuell korrigieren."

Falls bei diesem Kommando ein Fehler ausgegeben wird, muss zur Korrektur ein Symlink angelegt werden (Kommando ln -s). Dieser sieht in funktionalen Umgebungen wie folgt aus:

root@puppeteer:~ # ls -l /var/lib/ld-puppet/hiera.d/
lrwxrwxrwx  1 root root      30 Nov 17  2017 custom.d -> /etc/logodidact/hiera/custom.d

4. [puppeteer] Neue YAML-Datei /etc/logodidact/hiera/custom.d/ldmobile.yaml erstellen mit Verweis auf die MariaDB als Datenspeicher

---
ld_mobile::db_server: mariadb105

5. [ldmobile] Konfiguration übernehmen und LD Mobile Dienst sowie Puppet temporär stoppen zur Migration der Datenbank

prun
pdis
systemctl stop relution.service

6. [mariadb105] relution-Datenbank erstellen

prun

7. [ldhost] Skript zur Migration der Datenbank starten

prun

# -c, --[no-]cleanup               Delete database dump after import (default: no)
# -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
# -y, --assume-yes                 Assume "yes" as answer to all prompts and run non-interactively
mariadb-migrate -c -d relution -s mysql56 -t mariadb105 -y

7. [ldmobile] Bei Erfolg der Datenbankübertragung den LD Mobile Dienst wieder starten

pena
systemctl start relution.service

8. [ldhost] Optional: Bei Erfolg den übriggebliebenen Datenbank-Container mysql56 entfernen. Bitte nur durchführen, wenn keine weiteren LXC-Container dort Daten abspeichern, z.B. Kopano!