Änderungen von Dokument Nexus H2 Datenbank-Migration

Zuletzt geändert von Jonas Mayer am 2025/04/13 09:19

Von Version 7.2
bearbeitet von Tom Altenbrunn
am 2024/11/12 06:28
Änderungskommentar: Update document after refactoring.
Auf Version 15.1
bearbeitet von Jonas Mayer
am 2025/04/13 09:07
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Nexus Upgrade
1 +Nexus H2 Datenbank-Migration
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.TomAltenbrunn@sbede
1 +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.72.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-Version setzen ==
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 -Im Anschluss wieder in den Container **nexus-g1** wechseln und das Versionsupgrade des Nexus von 3.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/legacy
176 +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 +)))