For the complete documentation index, see llms.txt. This page is also available as Markdown.

Wie aktualisiere ich die Enginsight Datenbank von MongoDB 5.0 auf MongoDB 8.0?

Enginsight nutzt MongoDB als Datenbank. Im Folgenden zeigen wir dir, welche Schritte du vornehmen musst, um MongoDB zu aktualisieren.

Bitte beachte, dass die Aktualisierung von MongoDB 5.0 auf MongoDB 8.0 auch ein Update der Debian-Version des Enginsight Datenbankservers von Debian 11 auf 12 erfordert.


Deinstallation von MongoDB 5.0

1

Enginsight Applikationsserver stoppen

  1. Logge dich auf dem Enginsight Applikationsserver ein und navigiere mit folgendem Befehl in das Enginsight Installationsverzeichnis:

cd /opt/enginsight/enterprise
  1. Stoppe nun den Applikationsserver mit folgendem Befehl:

sudo docker-compose down
2

MongoDB-Konfiguration sichern

  1. Logge dich auf dem Enginsight Datenbankserver ein.

  2. Zeige mit folgendem Befehl die MongoDB-Konfigurationsdatei mongod.conf an:

sudo cat /etc/mongod.conf
  1. Erstelle eine Sicherheitskopie der Datei und speichere diese an einem sicheren Ort deiner Wahl.

3

Datenbank-Backup erstellen

Führe nun das Datenbank-Backup, einen sogenannten MongoDB-Dump, aus.

lightbulb-exclamation
4

MongoDB 5.0 deinstallieren

  1. Deinstalliere mit folgenden Befehlen die veraltete Version von MongoDB:

sudo systemctl stop mongod
sudo apt remove mongodb-org
sudo apt autoremove
  1. Lösche Datenbanküberreste mit folgendem Befehl:

sudo rm -rf /var/lib/mongodb
5

Debian auf dem Datenbankserver aktualisieren

  1. Führe nun die Aktualisierung von Debian 11 auf Debian 12 auf dem Datenbankserver durch. Dabei wird das MongoDB-Repository automatisch auf Version 8.0 aktualisiert. Nutze hierfür das Update Skript aus folgendem Artikel in der Knowledge Base: Wie aktualisiere ich meine Enginsight Server von Debian 11 auf Debian 12?

  2. Starte den Datenbankserver mit folgendem Befehl neu:

sudo systemctl reboot

Neuinstallation und Einrichtung von MongoDB 8.0

1

MongoDB neu installieren

Installiere MongoDB nach dem Neustart des Datenbankservers mit folgendem Befehl neu:

sudo apt install mongodb-org
2

MongoDB-Konfigurationsdatei wiederherstellen und anpassen

  1. Öffne mit folgendem Befehl die MongoDB-Konfigurationsdatei mongod.conf:

sudo nano /etc/mongod.conf
  1. Füge die Sicherheitskopie ein, um die ursprüngliche Datenbank-Konfiguration wiederherzustellen.

  2. Navigiere zum Abschnitt storage. Dieser sah bisher so aus:

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:
  1. Entferne den Parameter journal mitsamt seiner Unteroptionen, da dieser nicht mehr unterstützt wird. Navigiere dazu zu den entsprechenden Zeilen und nutze Strg + k, um die Zeilen jeweils zu löschen:

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
#  engine:
#  mmapv1:
#  wiredTiger:
  1. Navigiere zum Abschnitt security, falls dieser vorhanden ist, und kommentiere ihn mitsamt seiner Unteroptionen aus, indem du vor jede Zeile ein Raute-Zeichen # setzt.

  2. Speichere die Änderungen in der Konfigurationsdatei (Strg+o) und bestätige den Speicherprozess. Schließe die Datei (Strg+x).

  3. Starte den Datenbank-Service mit folgendem Befehl neu:

sudo systemctl enable --now mongod
3

Replica-Set einrichten

Die Befehle für die Einrichtung des Replica-Sets unterscheiden sich je nachdem, ob du eine SSL/TLS-Verschlüsselung nutzt oder nicht.

Einrichtung des Replica-Sets ohne SSL/TLS-Verschlüsselung

mongosh \ 
    --host "<IPAdresseDatenbankserver>:27017" \
		--eval "rs.initiate({
	    _id: \"rs0\", 
	    members: [{
	      _id: 0,
	      host: \"<IPAdresseDatenbankserver>:27017\"
	    }]
	})"

Vergiss dabei nicht, <IPAdresseDatenbankserver> entsprechend zu ersetzen.

Einrichtung des Replica-Sets mit SSL/TLS-Verschlüsselung

mongosh \ 
		--host "<IPAdresseDatenbankserver>:27017" \ 
		--tls \
		--tlsCAFile /etc/enginsight/ssl/mongodbCA.crt \
		--tlsCertificateKeyFile /etc/enginsight/ssl/mongodb.pem \
		--eval "rs.initiate({
	    _id: \"rs0\", 
	    members: [{
	      _id: 0,
	      host: \"<IPAdresseDatenbankserver>:27017\"
	    }]
	})"

Vergiss dabei nicht, <IPAdresseDatenbankserver> entsprechend zu ersetzen.

4

Datenbank-Benutzer wiederherstellen

Die Befehle für die Wiederherstellung der Datenbank-Benutzer mongoAdminUser und mongoDefaultUser unterscheiden sich je nachdem, ob du eine SSL/TLS-Verschlüsselung nutzt oder nicht.

Wiederherstellung der Datenbank-Benutzer ohne SSL/TLS-Verschlüsselung

mongosh \
		--host "<IPAdresseDatenbankserver>:27017" \
		--eval "db.createUser({user:'mongoAdminUser',pwd:\"$(</etc/enginsight/mongoAdminUserPassword)\",roles:['userAdminAnyDatabase','clusterMonitor']})" admin
mongosh \
		--host "<IPAdresseDatenbankserver>:27017" \
		--eval "db.createUser({user:'mongoDefaultUser',pwd:\"$(</etc/enginsight/mongoDefaultUserPassword)\",roles:[{role:'readWrite',db:'enginsight'}]})" enginsight

Vergiss dabei nicht, <IPAdresseDatenbankserver> entsprechend zu ersetzen.

Wiederherstellung der Datenbank-Benutzer mit SSL/TLS-Verschlüsselung

mongosh \
		--host "<IPAdresseDatenbankserver>:27017" \
		--tls \
		--tlsCAFile /etc/enginsight/ssl/mongodbCA.crt \
		--tlsCertificateKeyFile /etc/enginsight/ssl/mongodb.pem \
		--eval "db.createUser({user:'mongoAdminUser',pwd:\"$(</etc/enginsight/mongoAdminUserPassword)\",roles:['userAdminAnyDatabase','clusterMonitor']})" admin
mongosh \
		--host "<IPAdresseDatenbankserver>:27017" \
		--tls \
		--tlsCAFile /etc/enginsight/ssl/mongodbCA.crt \
		--tlsCertificateKeyFile /etc/enginsight/ssl/mongodb.pem \
		--eval "db.createUser({user:'mongoDefaultUser',pwd:\"$(</etc/enginsight/mongoDefaultUserPassword)\",roles:[{role:'readWrite',db:'enginsight'}]})" enginsight

Vergiss dabei nicht, <IPAdresseDatenbankserver> entsprechend zu ersetzen.

5

Optional: MongoDB-Konfigurationsdatei erneut anpassen

  1. Öffne mit folgendem Befehl die MongoDB-Konfigurationsdatei mongod.conf:

sudo nano /etc/mongod.conf
  1. Navigiere zum Abschnitt security, falls du diesen zuvor auskommentiert hast, und kommentiere ihn mitsamt seiner Unteroptionen wieder ein, indem du vor den entsprechenden Zeilen das Raute-Zeichen # wieder entfernst.

  2. Speichere die Änderungen in der Konfigurationsdatei (Strg+o) und bestätige den Speicherprozess. Schließe die Datei (Strg+x).

  3. Starte MongoDB mit folgendem Befehl neu:

sudo systemctl restart mongod
6

Datenbank-Backup wiederherstellen

Stelle nun dein Datenbank-Backup wieder her.

7

Applikationsserver wieder starten

Nun kannst du den Applikationsserver mit allen Diensten wieder starten.

  1. Gehe zurück zum Applikationsserver.

  2. Navigiere mit folgendem Befehl ins Enginsight Installationsverzeichnis:

cd /opt/enginsight/enterprise
  1. Führe mit folgendem Befehl das Setup-Skript für den Applikationsserver neu aus und bestätige alle Abfragen mit der Enter-Taste:

sudo ./setup.sh

Zuletzt aktualisiert

War das hilfreich?