DOMOS Migration Tool
Überblick
Das Tool soll beim Umzug eines DOMOS-Systems helfen. Dabei spielt es zunächst keine Rolle, ob dies von einer Hardwareinstallation in eine virtuelle Maschine oder von DOMOS 5 nach DOMOS 6 geschieht.
Der gesamte Migrationsprozess findet auf dem Zielsystem statt, jedoch muss das Altsystem, je nach Art der Migration, eventuell vorher vorbereitet werden.
TL;DR
-
Stellen Sie sicher, dass beide Systeme via FQDN oder IP verfügbar sind und Sie diese via SSH erreichen
-
Erstellen Sie ein Konfigfile mit dem Namen
domosmigration.cfg
und den benötigen Informatinen darin (FQDN, Username, Passwort, etc.) -
[OPTIONAL] Erstellen Sie auf dem alten System einen Backup-Job für die Datenmigration
-
Kopieren Sie das Konfigfile auf das neue System via
scp domosmigration.cfg admin@NEW-SYSTEM-IP:/tmp
- Starten Sie die Migration via
ssh admin@NEW-SYSTEM-IP run_migration
- Warten Sie auf den Abschluss und den Neustart des Systems
Vorbereitung Altsystem
In der Regel sind keine besonderen Vorbereitungen erforderlich. Wichtig ist nur, dass das DOMOS-WebUI erreichbar ist und ein Login mit Benutzername und Passwort möglich ist. Das Migrationtool kann keine TLS-Client-Zertifikate verwenden, so dass diese deaktiviert werden müssen.
Soll neben der reinen Migration der Konfigurationsdaten auch eine Datenmigration durchgeführt werden, so muss für einen BackupClient ein BakResNG-Job angelegt und aktiviert werden. Der vergebene Name dieses Jobs muss in der Konfiguration des Migrationtools eingetragen werden.
Weitere Voraussetzungen
Netzwerk
Das alte System muss vom neuen System aus über das Netzwerk erreichbar sein. Für eine einfache Konfigurationsmigration genügt der Port 10000, für eine Datenmigration muss zusätzlich der Port für den BakresNG-Dienst (normalerweise Port 9877) erreichbar sein.
DOMOS Lizenz
DOMOS 5-Lizenzen können nicht mehr mit DOMOS 6 verwendet werden. Daher muss bei einer Migration von DOMOS 5 auf DOMOS 6 eine neue DOMOS-Lizenz vorhanden sein. Diese kann im Zuge der Migration installiert werden.
Konfigurationsdatei für Migration
Hier ein Beispiel für eine Migrations-Konfiguration:
Bitte beachten: Die Konfigurationsdatei muss den Namen domosmigration.cfg
haben.
Der Part [Remote] beschreibt immer das ALTE System. Es gilt also das Passwort des alten System einzutragen, genauso wie den FQDN und die DOMOS Version.
[Remote]
# optional: default is admin
username = admin
# optional: default is admin
password = secudos
# Der FQDN, bzw. die IP sollte auf das ALTE System zeigen
fqdn = 172.16.0.222
# optional: default is 10000
port = 10000
# optional: default is 5
domosversion = 6
# optional: data migration
[DataMigration]
bakres=MyBakResJob
[ConfigPatch]
# DOMOSDB key: value
system.keymap: de
sssd.section.ssh.ssh_use_certificate_keys.value: True
sssd.section.pam.offline_credentials_expiration.value: 60
sssd.section.domain.ldap_id_use_start_tls.value: True
sssd.section.domain.cache_credentials.value: True
sssd.section.domain.id_provider.value: ldap
sssd.section.domain.auth_provider.value: ldap
sssd.section.domain.chpass_provider.value: ldap
sssd.section.domain.access_provider.value: ldap
sssd.section.domain.sudo_provider.value: ldap
sssd.section.domain.ldap_search_timeout.value: 50
sssd.section.domain.ldap_network_timeout.value: 60
[License]
# optional: DOMOS6 needs new license
filename = D202317000003.lic
Im Folgendem werden die einzelnen Sektionen der Konfigurationsdatei beschrieben.
Sektion: Remote
Diese Sektion muss enthalten sein, da er die Kommunikation mit dem Altsystem beschreibt.
username
- (optional) Benutzername für den Login. Ohne Angabe wird admin genutzt.
password
- (optional) Passwort für den Login. Ohne Angabe wird admin genutzt.
fqdn
- FQDN des Altsystems, sofern das neue System eine funktionierende DNS-Auflösung besitzt. Anderenfalls eine IP-Adresse nutzen.
port
- (optional) Port für das WebUI des Altsystem. Ohne Angabe wird 10000 genutzt.
domosversion
- (optional) Beschreibt die DOMOS Version des Altsystems. Der Default ist 5 für DOMOS 5.
Sektion: DataMigration
Optionale Sektion zur Durchführung einer Datenmigration. In diesem Fall wird der Anwendungsteil des normalen Konfigurations-Backups nicht für die Datenwiederherstellung verwendet.
Für die Datenmigration wird der BackupClient vom Altsystem heruntergeladen und ein Backup zur Wiederherstellung der Anwendungsdaten verwendet.
bakres
- Angabe des Namens eines BackupClient-Jobs für die Applikationdaten
Sektion: ConfigPatch
Optionale Sektion für Anpassungen der DOMOS-Konfiguration. Diese Anpassungen werden nach dem Wiederherstellen der DOMOS-Konfigurationsdatenbank auf diese angewendet. Damit können alle Einstellungen eines DOMOS-Systems angepasst werden.
Die Anpassung erfolgt unter der Angabe des Datenbank-Schlüssels und dem neuen Wert. Ist kein Wert angegeben, dann wird der Eintrag aus der Datenbank entfernt.
Bei einer Migration von DOMOS 5 nach DOMOS 6 sollten folgende Anpassungen angewendet werden, da dies die neuen Default-Werte für neue Konfigurationen in DOMOS 6 sind:
system.keymap: de
sssd.section.ssh.ssh_use_certificate_keys.value: True
sssd.section.pam.offline_credentials_expiration.value: 60
sssd.section.domain.ldap_id_use_start_tls.value: True
sssd.section.domain.cache_credentials.value: True
sssd.section.domain.id_provider.value: ldap
sssd.section.domain.auth_provider.value: ldap
sssd.section.domain.chpass_provider.value: ldap
sssd.section.domain.access_provider.value: ldap
sssd.section.domain.sudo_provider.value: ldap
sssd.section.domain.ldap_search_timeout.value: 50
sssd.section.domain.ldap_network_timeout.value: 60
Weitere Anpassungen (z.B. Netzwerkkonfigurationen) können auf die gleiche Art und Weise durchgeführt werden.
Sektion: License
Diese optionale Sektion dient dazu eine neue DOMOS-Lizenz bei der Migration zu installieren. Im normalen Konfigurationsbackup ist die Lizenz mit enthalten. Liegt eine neue DOMOS-Lizenz vor (z.B. bei einer Migration von DOMOS 5 nach DOMOS 6 nötig), dann kann die Lizenz direkt mit bei der Migration installiert werden.
filename - Name der Lizenzdatei
Durchführung der Migration
Die Migration erfolgt in 2 einfachen Schritten.
Kopieren der nötigen Dateien
Die Migrationskonfiguration und eine eventuell vorhandene Lizenzdatei müssen auf das neue System in das Verzeichnis /tmp kopiert werden. Dies geht am einfachsten per SecureCopy:
Bitte beachten: Die Konfigurationsdatei muss den Namen domosmigration.cfg
haben.
scp domosmigration.cfg admin@NEW-SYSTEM-IP:/tmp
scp DOMOSLIC.lic admin@NEW-SYSTEM-IP:/tmp
Da das Verzeichnis /tmp bei einem Systemneustart geleert wird, sind diese Dateien nach der Migration nicht mehr vorhanden.
Starten der Migration
Der Start der Migration erfolgt ebenfalls über einen SSH-Aufruf und kann nur funktionieren, solange das Passwort des Root-Benutzers nicht geändert wurde. Nach Änderung des root-Passwortes kann eine weitere Migration nur noch als root-Benutzer vom System-Prompt aus gestartet werden.
Um die Migration zu starten ist folgendes SSH-Kommando zu verwenden:
ssh admin@NEW-SYSTEM-IP run_migration
Während die Migration läuft werden die Ausgaben angezeigt. Interaktive Eingaben sind nicht nötig. Hier mal ein Beispiel-Log:
$ ssh admin@172.16.0.23 run_migration
admin@172.16.0.23's password:
Passwort:
2023-04-26 11:04:39 [INFO] Login into remote system ...
2023-04-26 11:04:39 [INFO] Login ok
2023-04-26 11:04:39 [INFO] Downloading configuration backup ...
2023-04-26 11:04:41 [INFO] Download ok
2023-04-26 11:04:41 [INFO] Login into remote system ...
2023-04-26 11:04:41 [INFO] Login ok
2023-04-26 11:04:41 [INFO] Shutting down remote system ...
2023-04-26 11:04:41 [INFO] Restoring old configuration ...
2023-04-26 11:05:28 [INFO] Notice: Restoring sensor successful.
2023-04-26 11:05:28 [INFO] Notice: The database has been successfully restored.
2023-04-26 11:05:28 [INFO] Notice: Restoring management successful.
2023-04-26 11:05:28 [INFO] Error from localhost.localdomain: The node names are not configured correctly.
2023-04-26 11:05:28 [INFO] Notice: Restoring cluster successful.
2023-04-26 11:05:28 [INFO] Patching configuration ...
2023-04-26 11:05:28 [INFO] Add key system.keymap with value de
2023-04-26 11:05:28 [INFO] Add key sssd.section.ssh.ssh_use_certificate_keys.value with value True
2023-04-26 11:05:28 [INFO] Add key sssd.section.pam.offline_credentials_expiration.value with value 60
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.ldap_id_use_start_tls.value with value True
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.cache_credentials.value with value True
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.id_provider.value with value ldap
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.auth_provider.value with value ldap
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.chpass_provider.value with value ldap
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.access_provider.value with value ldap
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.sudo_provider.value with value ldap
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.ldap_search_timeout.value with value 50
2023-04-26 11:05:28 [INFO] Add key sssd.section.domain.ldap_network_timeout.value with value 60
2023-04-26 11:05:28 [INFO] Installing new license ...
2023-04-26 11:05:28 [INFO] System reboot
Nach dem Systemreboot ist die Migration abgeschlossen und das Altsystem wird automatisch heruntergefahren.