Zum Inhalt

Lebenszeit-Upgrade des Mediation Controller

Important

Die Dokumentation zum Live-Upgrade der Mediation Controller ist für alle Mediation Controller unter Debian 11 gedacht. Die Debian-Version kann mit dem folgenden Befehl überprüft werden (in SSH oder Konsolenzugriff auszuführen):

1
cat /etc/debian_version

Info

Zur Erinnerung: Der Wechsel zu Debian als root auf Maschinen muss mit folgendem Befehl erfolgen:

1
su -

Planung und Vorbereitung

Eröffnungsströme

Bei der Aktualisierung des Produkts müssen viele Pakete aufgrund des Übergangs von Debian Version 11 auf 12 aus den Debian-Repositories heruntergeladen werden. TCP 80 Zugang muss auf security.debian.org und ftp.fr.debian.org geöffnet werden.

Um die Öffnung von Streams auf dem Rechner zu testen, kann eine Synchronisierung der Debian-Repositories gestartet werden. Wenn Fehlermeldungen zum Zugriff auf die Debian-Repositories angezeigt werden, ist der Netzwerkfluss nicht geöffnet, wahrscheinlich blockiert durch die Firmenfirewall. Die Repository-Synchronisierung kann mit dem folgenden Befehl gestartet werden:

1
apt update

Herunterladen des Spiegels und der notwendigen Werkzeuge

Der cyberelements Cleanroom 4.6 Spiegel kann von diesem Link heruntergeladen werden (erfordert die Erstellung eines Kundenkontos): Systancia Marketplace

Neben dem Spiegel werden für den Upgrade-Prozess Werkzeuge von Drittanbietern benötigt:

  • Ein SSH-Client (unter Windows kann das PuTTY-Tool verwendet werden)
  • Ein SCP-Client (unter Windows können die WinSCP oder FileZilla-Tools verwendet werden)

Einrichtung und Benutzung des Bildschirmwerkzeugs

Die screen Das Tool ermöglicht es Ihnen, mehrere Shell-Terminals in einer einzigen Konsole zu öffnen. InternetElemente Cleanroom Die Installation würde ohne die Verwendung des Bildschirm-Tools im Falle eines Bruchs der SSH-Konnektivität mit dem Systancia-System gestoppt. Cleanroom Server.

Mit Hilfe des screen-Tools kann bei der erneuten Verbindung zur Shell-Konsole des cyberelements Cleanroom-Geräts das Endgerät abgerufen werden, in dem der Aktualisierungsprozess ausgeführt wurde.

Das Bildschirmpaket sollte mit der folgenden Befehlszeile installiert werden:

1
apt install --no-install-recommends screen

Um ein neues screen-Terminal zu öffnen, muss der folgende Befehl ausgeführt werden:

1
screen -S <ID>

Ersetzen Sie <ID> durch einen Namen, der die Sitzung identifiziert.

Beispiel

Für cyberElemente ist der cye-upgrade-Dentifier leicht zu erkennen.

1
screen -S cye-upgrade

Um ein Terminal abzurufen, das mit screen geöffnet wurde, führen Sie einfach den folgenden Befehl aus:

1
screen -r <ID>

<ID> wird durch den beim Öffnen der Sitzung definierten Namen ersetzt.

Beispiel

Das zuvor mit dem cye-upgrade-Identifikator geöffnete Terminal kann mit folgendem Befehl abgerufen werden:

1
screen -r cye-upgrade

Um das Terminal nach Abschluss des Upgrades zu schließen, geben Sie den Befehl exit oder die Tastenkombination ctrl+d im Terminal ein.

Diskenplatzverlängerung für virtuelle Geräte

Für die virtuellen Geräte von Systancia Cleanroom 4.4 oder 4.5 ist eine Festplattenerweiterung von 2 GB auf die /usr Partition hinzuzufügen.

Bei der Verbindung mit dem Mediation Controller, sei es über SSH oder im Konsolenmodus, wird eine Begrüßungsnachricht angezeigt, die Sie darüber informiert, dass Sie mit einem Systancia-Gerät verbunden sind.

Beispiel

Eine Mediation Controller virtuelle Appliance mit der Version 4.5 liefert folgendes Ergebnis:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
            ____            _                   _
        / ___| _   _ ___| |_ __ _ _ __   ___(_) __ _
        \___ \| | | / __| __/ _  | '_ \ / __| |/ _  |
            ___) | |_| \__ \ || (_| | | | | (__| | (_| |
        |____/ \__, |___/\__\__,_|_| |_|\___|_|\__,_|
                |___/
#################################################################
# WARNING:                                                      #
# You must have specific authorization to access this machine.  #
# Unauthorized access to this machine is prohibited and will be #
# considered as intrusion.                                      #
# Unauthorized users will be logged, monitored, and could be    #
# prosecuted.                                                   #
#################################################################
Systancia Cleanroom 4.5.0 B77

Wenn die Maschine keine virtuelle Vorrichtung mit der Version 4.4 oder 4.5 ist, kann dieses Kapitel übersprungen werden, um fortzufahren mit dem Upgrade.

Sicherung wird dringend empfohlen

Die folgenden Schritte werden Änderungen an der Mediation Controller-Diskenteilung vornehmen. Wenn manuelle Änderungen vorgenommen wurden, sind die folgenden Anweisungen möglicherweise nicht geeignet, was dazu führt, dass die Maschine blockiert wird.

Bevor Sie fortfahren, sichern Sie bitte die Maschine oder duplizieren Sie die virtuelle Maschine. Snapshots können nicht verwendet werden, da sie insbesondere bei VMware die Erweiterung einer Festplatte blockieren.

Auf der Hypervisor-Ebene erweitern Sie den Festplattenspeicher der virtuellen Maschine um weitere 2 GB. Wenn es nicht möglich ist, die Festplatte zu erweitern, überprüfen Sie, ob keine Schnappschüsse vorhanden sind, und schalten Sie die virtuelle Maschine aus, wenn die Live-Erweiterung nicht unterstützt wird.

Sobald der Festplattenplatz auf der Ebene der virtuellen Maschine erweitert wurde, sind die folgenden Befehle, die als root ausgeführt werden, notwendig, um die /usr Partition zu erweitern:

1
2
3
4
5
6
echo 1 > /sys/class/block/sda/device/rescan
start_lvm_partition=`fdisk -l /dev/sda | grep LVM | awk '{print $2}'`
echo -e "d\n2\nn\ne\n2\n\n\nn\n$start_lvm_partition\n\nt\n5\n8E\nw" | fdisk /dev/sda
pvresize /dev/sda5
lvresize -l +100%FREE /dev/mapper/SystanciaLVMGroup-usr
resize2fs /dev/mapper/SystanciaLVMGroup-usr

Aufwertung

Aktualisierung von Debian-Paketen

Da das Upgrade von cyberelements Cleanroom ein Upgrade von Debian erfordert, wird empfohlen, dass Sie die Debian 11-Pakete vor dem Wechsel zu Debian 12 ordnungsgemäß aktualisieren. Um dies zu tun, führen Sie die folgenden Befehle als root aus (Systemaktualisierung und dann Entfernung unnötiger Pakete):

1
2
3
apt update
apt upgrade -y
apt autoremove -y

In diesen Fällen wählen Sie die Option zur Beibehaltung der aktuellen Konfiguration aus.

Vorbereitung von Microsoft SQL Server-Treibern

Zusätzliche Schritte sind erforderlich, wenn Microsoft SQL Server-Treiber installiert sind (dies ist der Fall bei virtuellen Appliances, die von Systancia bereitgestellt werden).
Um zu überprüfen, ob sie auf dem Server vorhanden sind, kann der folgende Befehl als root ausgeführt werden:

1
apt list --installed ms*

Wenn keine Antwort angezeigt wird, sind die Treiber nicht installiert und Sie können mit dem Vorbereitungsstück für den Spiegel fortfahren.
Wenn die Treiber installiert sind, sollten ansonsten zwei Pakete aufgeführt werden: msodbcsql17 und mssql-tools.

Beispiele

Ein Server, auf dem die Treiber nicht installiert sind, würde aus dem vorherigen Befehl folgendes Ergebnis erhalten:

1
Listing... Done

Ein Server, auf dem die Treiber installiert sind, hat ein ähnliches Ergebnis (die Paketversionen können sich unterscheiden):

1
2
3
Listing... Done
msodbcsql17/bullseye,now 17.10.6.1-1 amd64 [installed]
mssql-tools/bullseye,now 17.10.1.1-1 amd64 [installed]

Die folgenden Befehle sind notwendig, um eine bestimmte Version der Pakete zu installieren, um ein erfolgreiches Upgrade zu gewährleisten:

1
env ACCEPT_EULA=Y apt install -y --allow-downgrades odbcinst=2.3.6-0.1+b1 odbcinst1debian2=2.3.6-0.1+b1 libodbc1=2.3.6-0.1+b1 unixodbc=2.3.6-0.1+b1 mssql-tools=17.9.1.1-1 msodbcsql17=17.9.1.1-1

Konfigurieren Sie das Microsoft-Repository, das auf Debian 12 angepasst ist, um sich auf das Upgrade vorzubereiten:

1
echo "deb [arch=amd64] https://packages.microsoft.com/debian/12/prod bookworm main" > /etc/apt/sources.list.d/mssql-release.list

Vorbereitung der Cyber-Elemente Cleanroom 4.6 Spiegel

Der während der Vorbereitungsphase abgerufene Spiegel (Datei mit der tgz-Erweiterung) muß über SCP an den Server gesendet werden. Er muß in das Verzeichnis /tmp/ aufgenommen werden.

Als nächstes bereiten Sie den Spiegel vor, indem Sie die folgenden Befehle als root ausführen (Restdateien aus einem Upgrade einer alten Version werden gelöscht):

1
2
3
mkdir -p /opt/systancia/repository
rm -rf /opt/systancia/repository/*
tar xvzf /tmp/*.tgz -C /opt/systancia/repository/

APT-Konfiguration

Der APT-Paketmanager ist so konfiguriert, dass er Debian 11-Pakete abruft; er muss so konfiguriert werden, dass er Debian 12-Pakete abruft. InternetElemente Cleanroom Dies geschieht durch Ausführen der folgenden Befehle als root:

1
2
echo -e 'deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware\ndeb http://ftp.fr.debian.org/debian bookworm main contrib non-free non-free-firmware\ndeb http://ftp.fr.debian.org/debian bookworm-updates main contrib non-free non-free-firmware' > /etc/apt/sources.list
echo "deb file:///opt/systancia/repository/ bookworm ipdiva" > /etc/apt/sources.list.d/systancia.list

Zusätzlich zur Konfiguration der neuen Repositories empfehlen wir dringend die Anwendung der folgenden Einstellung, um APT zu instruieren, empfohlene Abhängigkeiten, die nicht unbedingt notwendig sind, nicht zu installieren, um die Anzahl der installierten Komponenten zu reduzieren. Der folgende Befehl wendet diese Einstellung als root an:

1
echo -e 'APT::Install-Recommends false;\nAPT::Install-Suggests false;' > /etc/apt/apt.conf.d/99norecommends

Schließlich ist es notwendig, die Liste der Pakete in den Repositories mit dem folgenden Befehl zu aktualisieren:

1
apt update

Auslösen des Versionsaufbaus

Zugriff auf den Mediation Controller-Server über SSH und Umschaltung auf root, dann Öffnen Sie einen Bildschirm wie oben angegeben.

Beginnen Sie mit der Aktualisierung bestimmter spezifischer Pakete, damit das Versionsupgrade durchgeführt werden kann. Bei der Ausführung des ersten Befehls wird eine Fehlermeldung erwartet, aber der Fehler wird mit dem zweiten Befehl korrigiert:

1
2
apt install -y python3-cleanroom-django-mssql python3-ipdiva-ua-parser python3-ipdiva-user-agents python3-ipdiva-django2
apt install -y --fix-broken

Bei der Aktualisierung eines Mediation Controller von Debian 11 auf Debian 12 wird das collectd Paket aktualisiert und wird mit der Konfigurationsdatei, die von cyberelements Cleanroom (/etc/collectd/collectd.conf) erzeugt wird, inkompatibel. Dies kann während des Updates einen Fehler erzeugen.

Um dies zu vermeiden, deaktivieren Sie collectd:

1
2
systemctl stop collectd 
systemctl disable collectd

Danach kann das Upgrade mit dem folgenden Befehl gestartet werden:

1
apt dist-upgrade -y

Während des Upgrades werden Ihnen mehrere Fragen gestellt, ob Sie die Konfigurationsdateien behalten und gemäß der Standardkonfiguration von Debian 12 aktualisieren oder die spezifische Konfiguration beibehalten möchten.

Konfigurationsdatei Empfohlene Handlung
/etc/issue Um zu behalten, antworten Sie N
/etc/issue.net Um zu behalten, antworten Sie N
/etc/security/limits.conf Um zu behalten, antworten Sie N
/etc/login.defs Um zu behalten, antworten N
/etc/shibboleth/shibboleth2.xml Um zu behalten, antworten Sie N
/etc/shibboleth/shibd.logger Ändern Sie, antworten Sie Y
/etc/default/ntpsec Änderungen anwenden, antworten Y
/etc/snmp/snmpd.conf Änderungen anwenden, antworten Y
/etc/logrotate.d/IPdivaServer Änderungen anwenden, antworten Y
/etc/ssh/sshd_config Um zu behalten, antworten Sie Keep the local version currently installed
/etc/ssh/ssh_config Änderungen anwenden, antworten Y
/etc/apache2/ports.conf Um zu behalten, antworten Sie N
/etc/init.d/apache2 Um zu behalten, antworten Sie N
/etc/modsecurity/modsecurity.conf-recommended Änderungen vornehmen, Antworten Y
/etc/ipdiva/httpd/commonParameters.conf Änderungen anwenden, antworten Y
/etc/ipdiva/care/djangosettings.ini Ändern Sie die Einstellungen, antworten Sie Y
/etc/crontab Änderungen anwenden, Antworten Y
/etc/openssl.cnf Änderungen vornehmen, antworten Y
/etc/audit/rules.d/audit.rules Um zu behalten, antworten Sie N
/etc/pam.d/su Um zu behalten, antworten Sie N
/etc/sysctl.conf Um zu behalten, antworten Sie N

Akzeptieren der glibc-Paketkonfigurationsmeldung:

Akzeptieren des automatischen Neustarts der Dienste:

Wenn das Upgrade abgeschlossen ist, führen Sie die folgenden Befehle aus, um collectd zu reaktivieren, unnötige Pakete zu entfernen und die Maschine neu zu starten:

1
2
3
4
systemctl start collectd
systemctl enable collectd
apt autoremove -y
reboot

Sondermaßnahmen für den Cluster der Vermittlungskontrollstellen

Auf dem SLAVE Mediation Controller Server führen Sie die folgenden Befehle aus, um das gemeinsame Geheimnis zwischen dem MASTER Mediation Controller und dem SLAVE neu zu synchronisieren:

1
2
hostManagerCtl masterSynchro /etc/ipdiva/secure/secret /etc/ipdiva/secure/secret
systemctl restart apache2

Aktualisierung der PostgreSQL-Datenbank-Instanz

Aktualisieren Sie auf dem Mediation Controller -Server die PostgreSQL-Datenbankinstance von Version 13 auf Version 15. Um dies zu tun, führen Sie die folgenden Anweisungen mit den entsprechenden root -Rechten aus.

Überprüfen Sie den Status der Postgresql-Instanzen vor der Migration:

1
pg_lsclusters

Führen Sie die folgenden Befehle aus, um die Datenbankinstance auf PostgreSQL Version 15 zu aktualisieren:

1
2
3
4
pg_dropcluster --stop 15 main
systemctl stop postgresql
pg_upgradecluster 13 main
systemctl start postgresql

Überprüfen Sie, ob die Datenbankinstance erfolgreich aktualisiert wurde. Zwei Instanzen sollten erscheinen, eine in Version 13 und die andere in Version 15, die einzige aktive ist. Die Überprüfung wird mit dem folgenden Befehl durchgeführt:

1
pg_lsclusters

Wenn das Upgrade erfolgreich war, kann die Version 13-Datenbankinstance gelöscht werden:

1
pg_dropcluster 13 main

Die Löschung von Version 13 PostgreSQL-Paketen kann folgendermaßen eingeleitet werden:

1
apt -y --purge autoremove postgresql-client-13 postgresql-13

Migration der cyberelements Cleanroom Datenbank

Die Produktkonfiguration wird in der Datenbank gespeichert, die migriert werden muss, damit sie die Konfigurationen der Änderungen der neuen Version enthalten kann. Mediation Controller als root.

Architektur des Clusters

Für eine Cluster-Architektur ist es notwendig, den Vorgang nur von einem Mediation Controller aus auszuführen, unabhängig davon, welcher.

Es ist auch notwendig, den folgenden Befehl auszuführen:

1
python3 /var/lib/ipdiva/care/manage.py migrate

Die Datenmigration wird mit einem Befehl ausgelöst, der diesem entspricht:

1
python3 /var/lib/ipdiva/care/manage.py migrate --database=<org_clr>

Wo <org_clr> Die Migration der Daten erfolgt in der Regel über die Migration der Daten. Mediation Controller Wenn Sie mehrere Organisationen (Multi-Tenants) haben, müssen Sie den Befehl so oft ausführen, wie es Organisationen gibt, die migriert werden müssen.

Beispiel

Für eine cyberelements Cleanroom Plattform, die Organisationen systancia und systancia-test hat, müssen Sie die folgenden Befehle ausführen:

1
2
python3 /var/lib/ipdiva/care/manage.py migrate --database=systancia
python3 /var/lib/ipdiva/care/manage.py migrate --database=systancia-test

Nach der Datenbankmigration muss der Apache2-Dienst neu gestartet werden:

1
systemctl restart apache2

Wiederherstellungskonfigurationen

Einige Konfigurationen wurden während des Upgrade-Prozesses überschrieben und müssen wiederhergestellt werden.

gemeinsameParameter.conf-Datei:

Bewegen Sie die <Location> HTML5-Gateways, die sich normalerweise am Ende der Datei befinden, von der /etc/ipdiva/httpd/commonParameters.conf.dpkg-old Datei auf /etc/ipdiva/httpd/commonParameters.extra.conf (Erstellen der Datei, wenn sie nicht existiert). <Location> Tags vorhanden sind, können die folgenden Beispiele kopiert werden.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Location /HTML5/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1234/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1234
</Location>

<Location /HTML5/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
</Location>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<Location /HTML5-1/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1234/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1234
</Location>

<Location /HTML5-1/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1234/systanciaHTML5-6.0/websocket-tunnel
</Location>

<Location /HTML5-2/>
    Order allow,deny
    Allow from all
    ProxyPass http://127.0.0.1:1235/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://127.0.0.1:1235
</Location>

<Location /HTML5-2/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://127.0.0.1:1235/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://127.0.0.1:1235/systanciaHTML5-6.0/websocket-tunnel
</Location>

djangosettings.ini Datei:

Die Informationen aus Zeile 2 "allowed_hosts" der /etc/ipdiva/care/djangosettings.ini.dpkg-old Anmeldung bei der /etc/ipdiva/care/djangosettings.ini Dies kann mit dem folgenden Befehl automatisiert werden: root:

1
sed -i "2c\\`sed -n '2p' /etc/ipdiva/care/djangosettings.ini.dpkg-old`" /etc/ipdiva/care/djangosettings.ini

Anwendbarkeit von Wiederherstellungen:

Um die Wiederherstellungen anwenden zu können, ist ein Neustart des Apache2-Dienstes erforderlich, wie root:

1
systemctl restart apache2

Validierung

Nach Abschluss der Cleanroom InternetDie Infrastruktur muss validiert werden, um sicherzustellen, dass sie richtig funktioniert, bevor sie wieder in Produktion geht. Cleanroom InternetSicherungskopien des Elements-Servers.

Gehen Sie auf die Administratorenoberfläche einer Organisation zu und gehen Sie dann zum Menü "Über" in der Kontrollleiste, um zu überprüfen, ob die Mediation Controller-Version erfolgreich auf 4.6 aktualisiert wurde.

Es können erste Tests der Funktionalität der Plattform durchgeführt werden, aber wir empfehlen die Verwendung der Version 4.6 von Edge Gateway, um eine optimale Leistung von cyberelementen Cleanroom Anwendungen zu gewährleisten.