Zum Inhalt

Migration auf die charly-VM

Diese Anleitung beschreibt den Prozess der Migration auf die charly-VM für das charly-System unter Windows. Sie umfasst die Sicherung der Daten vom alten Server, die Installation charly-VM auf dem neuen Server und das Einspielen der Sicherung in die charly VM.

Diagram Migration auf die charly-VM

Voraussetzungen

  • Administrator-Zugriff auf den Quellserver (nativ) und den Zielserver (neue VM-Umgebung).
  • PowerShell 5 ab Version 5.1 mit Administratorrechten auf beiden Systemen.
  • Ein SMB-Netzlaufwerk (Share), das von beiden Servern aus erreichbar ist und über ausreichend Speicherplatz für den Export und das Backup verfügt.
  • Netzwerkkenntnisse zur Einrichtung des SMB-Shares und ggf. zur Konfiguration fester IP-Adressen.
  • Ressourcen auf dem Quell-System (Host):
    • Für den empfohlenen Ablauf mit VM-Installation vor der finalen Umstellung muss der Host des Quellsystems (falls die VM auf demselben Host laufen soll) über ausreichend freien Arbeitsspeicher verfügen (Richtwert: mindestens 32 GB zusätzlich zur laufenden nativen Installation), um die charly-VM parallel starten zu können.
    • Dies gilt, wenn:
      • Das Zielsystem = Quellsystem ist (Migration auf demselben Server).
      • Das Quellsystem selbst eine VM ist und die neue charly-VM auf demselben Hyper-V-Host erstellt wird.
    • Ist das Zielsystem eine dedizierte neue Hardware, entfällt diese spezifische RAM-Einschränkung für den Parallelbetrieb.

Verlauf der Migration

Die Migration auf die charly-VM verläuft in wenigen Schritten, die teilweise auch parallel durchgeführt werden können.

klassische Installion charly-VM
Backup erstellen Installation der charly-VM ohne Daten
Freigeben des Backup-Ordners als SMB Share. Schon möglich bevor das Backup fertig gestellt ist. Die VM mit dem SMB-Share konfigurieren. Schon möglich bevor das Backup fertig gestellt ist.
Backup wiederherstellen
Installation + Backup deaktivieren

charly-Server-Skript

Stellen Sie sicher, dass das charly-server Skript auf beiden Systemen installiert und aktuell ist.

Prüfen der Installation:

charly-server

Wenn das Skript installiert ist, wird die Versionsnummer angezeigt. Ansonsten installieren Sie es:

Installation:

# Download des Installers
Invoke-WebRequest -Uri "https://charly-cdn-solutio.s3.amazonaws.com/release/windows/charly-server-install.ps1" -OutFile ".\charly-server-install.ps1"

# TLS 1.2 setzen (falls Download fehlschlägt)
# [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# Ausführungsrichtlinie anpassen (falls nötig)
Set-ExecutionPolicy RemoteSigned -Force
# Bei Signaturproblemen:
# Set-ExecutionPolicy Unrestricted -Force

# Skript ausführen
.\charly-server-install.ps1

# Nach Abschluss ggf. zurücksetzen:
# Set-ExecutionPolicy RemoteSigned -Force

Wiederholen Sie die Installation auf dem Zielserver.

Export der klassischen Installation

Hier gibt es 2 Möglichkeiten. Entweder es wird am Vortag ein tägliches Backup konfiguriert, dass dann in der charly-VM restauriert wird.

Oder es wird ein manuelles Backup erstellt.

Tägliches Backup konfigureren

charly-server export backup-config

Normaler Export mit allen Daten

charly-server export normal -ExportPath "\\server\share\backup" -BackupVariant advanced

Es sollte dabei die empfohlene, inkrementelle Backup-Variante (-BackupVariant advanced) verwendet werden.

Schneller Export mit "databasiso"

Es ist auch möglich, eine ISO Datei zu erzeugen, die nur das Datenbank-Backup enthält. Damit kann dann eine charly-VM installiert werden, die schon voll funktionsfähig ist und wo nur die Ablage Daten fehlen.

charly-server export databaseiso -ExportPath "\\server\share\test"

Direkt danach kann die Installation mit der export.iso gestartet werden und gleichzeitig kann der normale export starten:

charly-server export normal -ExportPath "\\server\share\backup" -BackupVariant advanced

Installation der charly-VM

Auch hier gibt es prinzipiell 2 Möglichkeiten

  1. Installation ohne ISO. Das ist der empfohlene Weg. Die Daten werden später aus dem SMB-Share Backup eingelesen.
  2. Installation mit ISO. Beim Erstellen des Backups kann auch eine ISO erzeugt werden. Diese kann bei der Installation direkt verwendet werden. Dann muss aber mit der Installation gewartet werden, bis das Backup fertig ist.

Die Installation startet durch folgendes Kommando:

charly-server install

Wenn man erneut installieren möchte, muss die aktuelle Installation gestoppt werden:

charly-server vm stop

Für mehr Informationen folgen Sie der Anleitung.

VM Backup konfigurieren und Backup einspielen

Das Export-Verzeichnis muss unter Windows frei gegeben werden (Oder es ist ein NAS).

In der charly-VM muss das freigegebene SMB Share eingerichtet werden. In dieses wird die charly-VM dann täglich ein Backup sichern. Wenn mit einer ISO installiert wurde, dann entfällt dieser Schritt.

charly-server vm backup-config

Es muss hier das inkrementelle Backup gewählt werden.

WICHTIG

Wenn beide Installation ein backup-config durchgeführt haben, erstellen beide ein nächtliches Backup in den Export-Ordner. Deshalb sollte das backup-config der charly-VM erst kurz vor dem Restore der Daten passieren und das Alt-System sollte danach deaktiviert werden.

Wenn das Backup des Alt-Systems verfürgbar ist, kann es eingespielt werden.

charly-server vm restore

Für mehr Informationen folgen Sie der Anleitung.

Alt-System deaktivieren

Wenn die Installation der charly-VM und das Einspielen der Daten erfolgreich war, muss das Alt-System deaktiviert werden.

charly-server export deactivate

Auch das bisherige Backup muss (manuell) deaktiviert werden. Dafür muss in der Aufgabenplanung die Aufgabe mit dem Namen CharlyBackup gelöscht werden.

Konfiguration bei mehreren Mandanten

Wenn die klassische Installation mehrere Mandanten verwendet hat, muss die Konfiguration entsprechend angepasst werden:

  1. Mandanten prüfen
  2. Konfiguration in application.yml eintragen
  3. Container neu starten
  4. Konfiguration testen

Wenn nur ein Mandant verwendet wird, also der Standardfall, muss keine Anpassung vorgenommen werden.

1. Mandanten prüfen

Es muss geprüft werden, ob es mehrere Mandanten gibt. In diesem Fall enthält die Datei Solutio.app/Mandanten.flg einen oder mehrere Einträge wie (Beispiel):

1 767226552 Mandant 2

Außerdem muss es neben der Ablage auch Mandant2, möglicherweise Mandant3 und weitere geben.

2. Konfiguration eintragen

Status aufrufen, um den SMB Share zu finden:

charly-server vm status

Den SMB Share charly-config mit dem User smbadminuser und dem Administrator Passwort mounten (Siehe: Verbinden des Samba-Share "charly-config"). Darin findet sich die Datei conf2/_global/application.yml. In diese Datei folgendes eintragen.

Bei einem 2. Mandanten:

de.solutio.tenant.ids: 1,2

de.solutio.tenant.names.1: tenant-1
de.solutio.tenant.names.2: tenant-2

de.solutio.charly.datasource.tenant2.host: database
de.solutio.charly.datasource.tenant2.username: postgres
de.solutio.charly.datasource.tenant2.password: ${POSTGRES_PASSWORD}
de.solutio.charly.datasource.tenant2.driver-class-name: org.postgresql.Driver
de.solutio.charly.datasource.tenant2.jdbc-url: jdbc:postgresql://${de.solutio.charly.datasource.tenant2.host}:${de.solutio.charly.datasource.tenant2.port}/${de.solutio.charly.datasource.tenant2.name}?ApplicationName=${spring.application.name}
de.solutio.charly.datasource.tenant2.name: solutiodb2
de.solutio.charly.datasource.tenant2.platform: postgresql
de.solutio.charly.datasource.tenant2.port: 5432
de.solutio.charly.filing.tenant2: /charly/mutable/Mandant2/Ablage

Bei einem 2. und 3. Mandanten:

de.solutio.tenant.ids: 1,2,3

de.solutio.tenant.names.1: tenant-1
de.solutio.tenant.names.2: tenant-2
de.solutio.tenant.names.3: tenant-3

de.solutio.charly.datasource.tenant2.host: database
de.solutio.charly.datasource.tenant2.username: postgres
de.solutio.charly.datasource.tenant2.password: ${POSTGRES_PASSWORD}
de.solutio.charly.datasource.tenant2.driver-class-name: org.postgresql.Driver
de.solutio.charly.datasource.tenant2.jdbc-url: jdbc:postgresql://${de.solutio.charly.datasource.tenant2.host}:${de.solutio.charly.datasource.tenant2.port}/${de.solutio.charly.datasource.tenant2.name}?ApplicationName=${spring.application.name}
de.solutio.charly.datasource.tenant2.name: solutiodb2
de.solutio.charly.datasource.tenant2.platform: postgresql
de.solutio.charly.datasource.tenant2.port: 5432
de.solutio.charly.filing.tenant2: /charly/mutable/Mandant2/Ablage

de.solutio.charly.datasource.tenant3.host: database
de.solutio.charly.datasource.tenant3.username: postgres
de.solutio.charly.datasource.tenant3.password: ${POSTGRES_PASSWORD}
de.solutio.charly.datasource.tenant3.driver-class-name: org.postgresql.Driver
de.solutio.charly.datasource.tenant3.jdbc-url: jdbc:postgresql://${de.solutio.charly.datasource.tenant3.host}:${de.solutio.charly.datasource.tenant3.port}/${de.solutio.charly.datasource.tenant3.name}?ApplicationName=${spring.application.name}
de.solutio.charly.datasource.tenant3.name: solutiodb3
de.solutio.charly.datasource.tenant3.platform: postgresql
de.solutio.charly.datasource.tenant3.port: 5432
de.solutio.charly.filing.tenant3: /charly/mutable/Mandant3/Ablage

3. Container neu starten

Die Container müssen neu gestartet werden, um die Konfiguration zu aktivieren:

charly-server vm docker-rebuild

4. Konfiguration testen

Starten Sie den charly-Client, melden Sie sich unter den Mandanten mit einem Benutzer an und prüfen Sie, ob der Web-Client geladen werden kann.

Troubleshooting

charly Client startet nicht oder es werden nur leere Fenster angezeigt

Prüfen Sie, ob die NeXT Prozesse (pbs.exe und WindowServer.exe) mehrfach gestartet sind. Falls ja, beenden Sie diese. Starten Sie die Prozesse dann neu, indem Sie im Ausführen-Dialog (Win + R oder Rechtsklick auf Start -> Ausführen) shell:common startup eingeben. Im sich öffnenden Ordner starten Sie pbs.exe und WindowServer.exe.

Falls die Dateien nicht vorhanden sind, ist NeXT nicht installiert. Installieren Sie dieses.

Falls das Problem weiterhin besteht, kann es sein, dass die NeXT Installation beschädigt ist. Installieren Sie NeXT neu.

Fehlermeldung beim Versuch, eine SSH Verbindung herzustellen

Es erscheint die Warnung:

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! (man-in-the-middle attack)

Der SSH Schlüssel der VM wurde geändert und passt nicht mehr zum public key in der VM.

Lösung: In der Datei %USERPROFILE%\.ssh\known_hosts den Eintrag für die VM entfernen. In der Fehlermeldung steht die Zeile, in der der problematische Schlüssel steht.

KIM (Kommunikation im Medizinwesen) funktioniert nicht

Prüfen Sie in charly-web, ob in der Konnektor Übersicht die HBA Karte sichtbar ist. Die Karte muss stecken und der Computer, an dem die Karte im Terminal steckt, muss angeschaltet sein.

Anamnese Daten erscheinen nicht in charly

Prüfen Sie, ob die IP in der Anamnese App korrekt ist. Insbesondere nach einem Container-Update muss die IP in der Anamnese App korrekt eingegeben werden.

Logdateien der Sterilisatoren erscheinen nicht in charly

Prüfen Sie, ob die Ablage korrekt im Programm des Sterilisators eingetragen ist. Insbesondere nach einem Container-Update muss die Ablage korrekt eingebunden werden. Prüfen Sie hierfür auch das Netzlaufwerk der Ablage.

Das Backup kann nicht konfiguriert bzw. erstellt werden

Hierfür gibt es mehrere mögliche Ursachen:

  1. charly-server ist nicht aktuell. Führen Sie Folgendes aus:
charly-server vm update-setup

2.

Prüfen Sie die Berechtigungen des Benutzers, der für das Backup verwendet werden soll. Vergeben Sie nicht nur Vollzugriff, sondern auch Lesen, Schreiben und Ändern.

Es kann kein Backup konfiguriert werden

Hierfür gibt es mehrere mögliche Ursachen

  1. charly-server ist nicht aktuell. Führen Sie Folgendes aus:
charly-server vm update-setup
  1. Der Benutzer, der das Backup verwendet, hat nicht die richtigen Berechtigungen. Stellen Sie sicher, dass der Benutzer Vollzugriff auf den Ordner hat. Prüfen Sie dies in den Ordnereigenschaften sowohl im Tab "Freigabe" als auch im Tab "Sicherheit". Fügen Sie den Benutzer ggs. mit Vollzugriff-Rechten hinzu (inklusive Lesen, Schreiben und Ändern).
  2. Das Netzlaufwerk kann nicht verbunden werden. Testen Sie die Verbinung manuell mit dem vorgesehenen Benutzer. Falls dies nicht funktioniert, prüfen Sie, ob eine Firewall blockiert.
  3. Es kann verbunden werden, jedoch erscheint die Meldung, dass keine Schreibrechte vorhanden sind. Prüfen Sie die Berechtigungen des Benutzers.
  4. Es erscheint die Meldung Unable to connect to SMB share und beim Aufruf von charly-server vm test-config kommt die Meldung mount error(95): Operation not supported. Refer to mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg). Das externe Laufwerk unterstützt SMB 3 nicht.

Diese Anleitung bietet einen Überblick über den Migrationsprozess. Für detailliertere Informationen oder bei spezifischen Problemen wenden Sie sich bitte an den Support.


Version: 2.10.5 Datum der letzten Aktualisierung: 09.02.2026