Änderungen von Dokument Nexus H2 Datenbank-Migration
Zuletzt geändert von Jonas Mayer am 2025/04/13 09:19
Von Version 7.3
bearbeitet von Tom Altenbrunn
am 2024/11/26 12:28
am 2024/11/26 12:28
Änderungskommentar:
Update document after refactoring.
Auf Version 15.1
bearbeitet von Jonas Mayer
am 2025/04/13 09:07
am 2025/04/13 09:07
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. TomAltenbrunn@sbede1 +xwiki:XWiki.jonasmayer@sbede - Inhalt
-
... ... @@ -2,7 +2,7 @@ 2 2 3 3 ---- 4 4 5 -Bedingt durch mehrere herstellerseitige Änderungen des Nexus werden die Nexus-Komponenten weg von OrientDB-Datenbank auf H2 umgezogen und JavaDeploymenKit (JDK) 11 zu Version 17. Aufgrund der Komplexität entfällt ein voll automatisiertes Upgrade und es ist erforderlich in Logodidact-Umgebungen diese beiden Komponenten manuell zu aktualisieren. 5 +Bedingt durch mehrere herstellerseitige Änderungen des Nexus werden die Nexus-Komponenten weg von OrientDB-Datenbank auf H2 umgezogen und JavaDeploymenKit (JDK) 11 zu Version 17. Aufgrund der Komplexität entfällt ein voll automatisiertes Upgrade und es ist erforderlich in Logodidact-Umgebungen (Puppetversion ab 7.1.X) diese beiden Komponenten manuell zu aktualisieren. 6 6 7 7 8 8 = __Vorgehen__ = ... ... @@ -9,11 +9,15 @@ 9 9 10 10 == Downgrade auf Version 3.70.2 == 11 11 12 -Wechseln Sie sich vom **ldhost **in den Container **nexus-g1**. Dort wird per **apt install** ein Downgrade der Nexus-Version von 3.7 2.0 auf Version 3.70.2 durchgeführt.12 +Wechseln Sie sich vom **ldhost **in den Container **nexus-g1**. Dort wird per **apt install** ein Downgrade der Nexus-Version von 3.74.0 auf Version 3.70.2 durchgeführt. 13 13 14 14 {{code language="bash"}} 15 15 root@ldhost:~ # ssh nexus-g1 16 -root@nexus-g1:~ # apt install --reinstall ld-nexus=3.70.2-01+3 16 +#puppet-agent temporär deaktivieren und openjdk auf Version 11 downgraden 17 +root@nexus-g1:~ # pdis 18 +root@nexus-g1:~ # apt install openjdk-11-jre-headless 19 +root@nexus-g1:~ # apt purge openjdk-17-jre-headless 20 +root@nexus-g1:~ # apt install --reinstall ld-nexus=3.70.2.01+3 17 17 {{/code}} 18 18 19 19 ... ... @@ -64,9 +64,13 @@ 64 64 65 65 Danach das Backupverzeichnis im Container **nexus-g1** anlegen. Damit der Ordner die korrekten Berechtigungen erhält wird dieser mit dem Benutzer "nexus" erstellt. 66 66 71 +{{code language="bash"}} 72 +root@nexus-g1:~ # sudo -u nexus mkdir /data/sonatype-work/backup 73 +{{/code}} 74 + 67 67 [[image:deep-dive_nexus_05_nexus-g1-new-backup-folder.png||class="img-thumbnail"]] 68 68 69 -Speichern Sie nun den Backup-Task über "Create task".77 +Speichern Sie nun den Backup-Task über** Create task**. 70 70 71 71 Nun im Anschluss den Task ausführen, wodurch ein Backup der Repos in das soeben erstellte Verzeichnis im **nexus-g1** Container vollzogen wird. Je nach Größe kann diese Aufgabe entsprechend viel Zeit in Anspruch nehmen. 72 72 ... ... @@ -92,6 +92,7 @@ 92 92 {{code language="bash"}} 93 93 root@ldhost:~ # screen 94 94 root@ldhost:~ # ssh nexus-g1 103 +root@nexus-g1:~ # cd /data/sonatype-work/backup 95 95 root@nexus-g1:/data/sonatype-work/backup # systemctl stop nexus.service 96 96 97 97 {{/code}} ... ... @@ -122,30 +122,54 @@ 122 122 ))) 123 123 124 124 125 - == OpenJDK-Versiontzen==134 +Das Versionsupgrade des Nexus von 3.70.2 auf 3.74.0durchführen. 126 126 127 -Damit der Nexus auf die neuere JDK-Version 17 zurückgreift wird diese in der nexus-g1.yaml im **puppeteer-g3** definiert. 136 +{{code language="bash"}} 137 +root@nexus-g1:~ # apt upgrade -y 138 +root@nexus-g1:~ # pena 139 +root@nexus-g1:~ # prun 140 +#Hier wird openjdk17 reinstalliert passend zur neuesten Nexus-Version 141 +{{/code}} 128 128 143 +Am Ende kann noch aufgeräumt und das **/data/sonatype-work/nexus3/legacy** Verzeichnis entfernt werden. 144 + 129 129 {{code language="bash"}} 130 -root@ldhost:~ # ssh puppeteer-g3 131 -root@puppeteer-g3:~ # cd /etc/logodidact/ 132 -root@puppeteer-g3:~ # echo "ld_openjdk::package: 'openjdk-17-jre-headless'" >> /etc/logodidact/hiera/custom.d/nexus-g1.yaml 133 -root@puppeteer-g3:~ # git add . 134 -root@puppeteer-g3:~ # git commit -a -m "nexus-g1 Datenbank von OrientDB auf H2 migriert und auf OpenJDK-17 Runtime festgelegt" 146 +root@nexus-g1:~ # rm -rf /data/sonatype-work/nexus3/legacy 135 135 {{/code}} 136 136 137 - ImAnschluss wiederindenContainer**nexus-g1** wechseln und das Versionsupgrade desNexus von3.70.2 auf 3.72.0. durchführen.149 +Damit ist das Update abgeschlossen. 138 138 151 + 152 += __Besondere Schritte nach einem Server-Upgrade auf LogoDIDACT 4.0__ = 153 + 154 +Beim Ausführen eines LogoDIDACT 4.0 Upgrades über das Kommando {{box}}ld40-upgrade{{/box}} werden die Bestandsdaten vom nexus-g1 LXC-Container in einen ungenutzten Ordner verschoben und der LXC-Container im Laufe des Upgradevorgangs mit **leeren Daten** und einem Ubuntu 22.04 "Jammy" OS neu aufgebaut. Um die früheren Nexus Repository-Daten (Treiberarchive, Softwarepakete, usw.) wiederherzustellen, können unmittelbar nach dem LD4.0 Upgrade folgende Extra-Schritte ausgeführt werden. 155 + 156 +== Nexus-Verzeichnis mit Bestandsdaten verschieben == 157 + 158 +Zunächst vom **ldhost** aus den LXC-Container nexus-g1 stoppen, danach die früheren Repository-Daten zurückverschieben in den Pfad, der tatsächlich eingehängt & verwendet wird und dann den LXC-Container wieder starten. 159 + 139 139 {{code language="bash"}} 140 -root@nexus-g1:~ # apt upgrade -y 141 -root@nexus-g1:~ # prun 161 +root@ldhost:~ # systemctl stop lxc@nexus-g1; lxc-stop -n nexus-g1 162 +root@ldhost:~ # mv /var/lib/lxc.data/nexus-g1 /var/lib/lxc.data/nexus-g1.postld40upgrade.empty 163 +root@ldhost:~ # mv /var/lib/lxc.data/nexus-g1.ld20 /var/lib/lxc.data/nexus-g1 164 +root@ldhost:~ # systemctl start lxc@nexus-g1 142 142 {{/code}} 143 143 144 -Am Ende kann noch aufgeräumt und das **/data/sonatype-work/nexus3/legacy** Verzeichnis entfernt werden. 145 145 168 +== Nexus H2 Datenbank-Migration durchführen == 169 + 170 +Jetzt die Schritte zur Migration der Nexus-Datenbank ins H2-Format abarbeiten, so wie im oberen Bereich dieses Artikels unter „[[Vorgehen>>verffentlichtld40:Main.LD Deploy.Allgemein.Nexus H2 Datenbank-Migration.Vorgehen.WebHome]]“ beschrieben. 171 + 172 + 173 +== Vorausgelieferte Softwarepakete im Nexus-Container reimportieren (neueste Version) == 174 + 146 146 {{code language="bash"}} 147 -root@nexus-g1:~ # rm-rf/data/sonatype-work/nexus3/legacy176 +root@nexus-g1:~ # apt install --reinstall ld-choco-install ld-console ld-control-agent ld-lgpo ld-nexus-tools ld-nexus-upload ld-nircmd ld-openssh ld-sysinternals ld-vc-redist ld-win-tools 148 148 {{/code}} 149 149 150 150 151 -Damit ist das Update abgeschlossen. 180 +(% class="box successmessage" %) 181 +((( 182 +**HINWEIS:** 183 +Sollte der Ordner **/var/lib/lxc.data/nexus-g1.ld20/** im ldhost nicht existieren, wurde entweder die Wiederherstellung der Nexus-Repositories bereits durchgeführt oder das LogoDIDACT 4.0 Upgrade wurde zu einem früheren Zeitpunkt in der Vergangenheit ausgeführt, als diese besonderen Schritte noch nicht notwendig waren. 184 +)))