Zum Inhalt

Hardware-Migration der charly-VM (Hyper-V)

Diese Anleitung beschreibt die Migration einer charly-VM von einem Windows-Server auf einen anderen, beispielsweise bei einem Hardware-Wechsel oder Server-Austausch.

1. Übersicht

Bei einem Hardware-Wechsel muss die charly-VM auf den neuen Server übertragen werden. Je nachdem, welche Daten vom alten Server verfügbar sind, gibt es zwei Vorgehensweisen:

Szenario A - Vollständige Migration (Idealfall):

  • Sie haben Zugriff auf alle Konfigurationsdateien und VHDX-Festplatten
  • Die Migration erfolgt durch Kopieren der Dateien und Neueinrichtung der VM in Hyper-V
  • Alle Passwörter und SSH-Schlüssel bleiben erhalten

Szenario B - Wiederherstellung nur mit Datenfestplatten:

  • Sie haben nur die VHDX-Dateien mit den Nutzdaten (charly-data.vhdx, charly-files.vhdx)
  • Eine Neuinstallation wird durchgeführt, anschließend werden die Datenfestplatten eingebunden
  • Passwörter und SSH-Schlüssel müssen neu konfiguriert werden

WICHTIG

Erstellen Sie vor jeder Migration ein vollständiges Backup! Siehe Backup und Wiederherstellung für Details zur Backup-Erstellung.

HINWEIS

Diese Anleitung behandelt die Migration von Hyper-V zu Hyper-V. Für Migrationen zwischen verschiedenen Virtualisierungsplattformen wenden Sie sich bitte an den solutio Professional Services.

2. Wichtige Dateien und Pfade

Konfigurationsdateien

Pfad Beschreibung Kritisch
%ProgramData%\CharlyServer\configVM.json Enthält alle Passwörter (Administrator, SMB, SSH-Schlüssel, PostgreSQL), Pfade und Netzwerkeinstellungen Ja
%ProgramData%\CharlyServer\migrations.json Migrations-Verlauf Nein
$SolutioPath\VM\ssh-key Privater SSH-Schlüssel für die Kommunikation mit der VM Ja
$SolutioPath\VM\ssh-key.pub Öffentlicher SSH-Schlüssel Ja

Festplatten-Images (VHDX)

Image Beschreibung Kritisch Kann neu erstellt werden
charly-system.vhdx Linux-Betriebssystem und Docker-Container Nein Ja (bei Neuinstallation)
charly-data.vhdx PostgreSQL-Datenbank Ja Nein
charly-files.vhdx charly-Ablage (Dateien) Ja Nein

WICHTIG

Die Dateien charly-data.vhdx und charly-files.vhdx enthalten alle Nutzdaten und können nicht neu erstellt werden. Diese Dateien müssen unbedingt gesichert werden!

3. Szenario A - Vollständige Migration

Verwenden Sie dieses Verfahren, wenn Sie Zugriff auf den Quell-Server haben oder alle Dateien vom alten Server kopieren konnten.

Schritt 1: Vorbereitung auf dem Quell-Server

  1. VM herunterfahren:

    Stop-VM -Name "charly-vm"
    
  2. Aktuelle Konfiguration notieren:

    charly-server vm config
    

    Notieren Sie sich insbesondere:

    • Pfad zu den VHDX-Dateien (CharlyDataPath, bzw. CharlyFilesPath)
    • Anzahl CPU-Kerne und RAM
    • Name des externen Switches (VirtualSwitchName)
    • MAC-Adresse der VM
  3. configVM.json prüfen:

    Öffnen Sie die Datei %ProgramData%\CharlyServer\configVM.json und notieren Sie die konfigurierten Pfade:

    • VMDataPath (enthält charly-system.vhdx und SSH-Schlüssel)
    • CharlyDataPath (enthält charly-data.vhdx)
    • CharlyFilesPath (enthält charly-files.vhdx)
  4. VM Config prüfen:

    Öffnen sie die Einstellungen der VM und gehen die Festplatten. Dort notieren sie sich für jede Festplatte den Controller und Speicherort.

Schritt 2: Dateien auf den neuen Server kopieren

Kopieren Sie folgende Ordner auf den neuen Server:

  1. ProgramData-Ordner:

    %ProgramData%\CharlyServer\
    
    Ziel: %ProgramData%\CharlyServer\ auf dem neuen Server

  2. SolutioPath-Ordner (enthält VHDX-Dateien und SSH-Schlüssel):

    VMDataPath (meist C:\Solutio\VM\)
    
    Ziel: Gleicher Pfad auf dem neuen Server (empfohlen) oder ein anderer Pfad (erfordert Anpassung der configVM.json)

  3. Falls Daten auf separaten Pfaden liegen, kopieren Sie auch die Daten von:

    • CharlyDataPath (enthält charly-data.vhdx)
    • CharlyFilesPath (enthält charly-files.vhdx)

TIPP

Verwenden Sie robocopy für große Dateiübertragungen:

robocopy "D:\Solutio\VM" "\\NEUER-SERVER\D$\Solutio\VM" /E /Z /MT:8

Schritt 3: Neuen Server vorbereiten

  1. Hyper-V-Rolle installieren: Öffnen Sie den Server-Manager und installieren Sie die Hyper-V-Rolle wie in der Installationsanleitung beschrieben.

  2. Externen Switch erstellen: Erstellen Sie einen externen Switch mit dem gleichen Namen wie auf dem Quell-Server. Falls Sie einen anderen Namen verwenden, müssen Sie die configVM.json entsprechend anpassen. Siehe Erstellen eines externen Switches.

  3. charly-server-Skript installieren:

    Invoke-WebRequest -Uri "https://charly-cdn-solutio.s3.amazonaws.com/release/windows/charly-server-install.ps1" -OutFile ".\charly-server-install.ps1"
    Set-ExecutionPolicy RemoteSigned -Force
    .\charly-server-install.ps1 
    

Schritt 4: VM in Hyper-V einrichten

  1. Hyper-V-Manager öffnen

  2. Neue VM erstellen:

    • Klicken Sie auf Aktion > Neu > Virtueller Computer
    • Name: charly-vm
    • Generation: Generation 2
    • Arbeitsspeicher: Gleicher Wert wie auf dem Quell-Server (mindestens 24 GB)
    • Netzwerk: Den erstellten externen Switch auswählen
  3. Vorhandene Festplatte verwenden:

    • Wählen Sie Vorhandene virtuelle Festplatte verwenden
    • Navigieren Sie zur kopierten charly-system.vhdx
  4. VM-Einstellungen anpassen (nach Erstellung):

    • Prozessor: Gleiche Anzahl Kerne wie auf dem Quell-Server
    • Sicherheit: Sicheren Start deaktivieren
    • Prüfpunkte: Prüfpunkte deaktivieren
    • Automatische Aktionen:
    • Startaktion: Immer starten
    • Stoppaktion: Herunterfahren
  5. Weitere Festplatten hinzufügen:

    • Öffnen Sie die VM-Einstellungen
    • Unter SCSI-Controller > Festplatte > Hinzufügen
    • Fügen Sie charly-data.vhdx und charly-files.vhdx hinzu, beachten sie dabei den Controller und Speicherort, den sie sich notiert haben
  6. Netzwerkadapter konfigurieren:

    • Öffnen Sie die Einstellungen des Netzwerkadapters
    • Unter Erweiterte Features > MAC-Adresse
    • Wählen Sie Statisch und geben Sie die MAC-Adresse vom Quell-Server ein

WICHTIG

Die Reihenfolge der Festplatten ist wichtig! Stellen Sie sicher, dass die Festplatten in der gleichen Reihenfolge wie auf dem Quell-Server eingebunden sind.

Schritt 5: Pfade in configVM.json anpassen (falls erforderlich)

Falls Sie die VHDX-Dateien an andere Pfade kopiert haben, müssen Sie die configVM.json anpassen:

  1. Öffnen Sie %ProgramData%\CharlyServer\configVM.json mit einem Texteditor

  2. Passen Sie folgende Pfade an:

    • VMDataPath
    • CharlyDataPath
    • CharlyFilesPath
  3. Speichern Sie die Datei

Schritt 6: VM starten und verifizieren

  1. VM starten:

    Start-VM -Name "charly-vm"
    
  2. Status prüfen:

    charly-server vm status
    

    Warten Sie, bis alle Container gestartet sind (kann einige Minuten dauern).

  3. DHCP-Server aktualisieren:

    Falls Sie die MAC-Adresse beibehalten haben, sollte die VM die gleiche IP-Adresse erhalten. Andernfalls aktualisieren Sie die MAC-Adress-Bindung in Ihrem DHCP-Server.

4. Szenario B - Wiederherstellung mit Datenfestplatten

Verwenden Sie dieses Verfahren, wenn Sie nur die VHDX-Dateien mit den Nutzdaten haben (charly-data.vhdx und charly-files.vhdx), aber keine Konfigurationsdateien oder SSH-Schlüssel.

Schritt 1: Voraussetzungen prüfen

Stellen Sie sicher, dass Sie folgende Dateien haben:

  • charly-data.vhdx (PostgreSQL-Datenbank)
  • charly-files.vhdx (charly-Ablage)

HINWEIS

Die Datei charly-system.vhdx wird nicht benötigt, da sie bei der Neuinstallation erstellt wird.

Schritt 2: Neuen Server vorbereiten

Bereiten Sie den Server vor wie in Szenario A, Schritt 3 beschrieben.

Schritt 3: Neuinstallation durchführen

  1. Installation starten:

    charly-server install
    
  2. Bei der Frage "Soll von einer .iso Datei importiert werden?" wählen Sie N (Nein)

  3. Wichtig - Alternative Pfade verwenden:

    Verwenden Sie bei den Fragen nach den Speicherpfaden andere Verzeichnisse als die, in denen Ihre alten VHDX-Dateien liegen!

    Beispiel:

    • Alte Dateien: D:\Solutio\VM\
    • Neue Installation: D:\Solutio\VM_Neu\
  4. Passwörter bei der Installation:

    Falls Sie die alten Passwörter noch kennen (z.B. aus einer Sicherung der configVM.json oder aus Ihrer Dokumentation), verwenden Sie bei der Installation dieselben Passwörter wie bei der ursprünglichen Installation:

    • Administrator-Passwort
    • Samba-Passwort
    • PostgreSQL-Passwort
  5. Installation abschließen:

    Führen Sie die Installation vollständig durch und warten Sie, bis die VM gestartet ist.

TIPP

Wenn Sie die gleichen Passwörter verwenden, funktioniert die VM nach dem Festplattentausch sofort ohne weitere Passwort-Anpassungen.

Schritt 4: VM stoppen und Festplatten tauschen

  1. VM stoppen:

    charly-server vm stop
    

    oder

    Stop-VM -Name "charly-vm"
    
  2. Hyper-V-Manager öffnen und die VM-Einstellungen öffnen

  3. Neue (leere) Datenfestplatten entfernen:

    • Unter SCSI-Controller die neu erstellten charly-data.vhdx und charly-files.vhdx entfernen
    • Diese Dateien können Sie löschen oder umbenennen
  4. Falls die alten Festplatten noch an einer anderen VM hängen:

    Wenn Sie die alte VM umbenannt haben (z.B. charly-vm-alt) und die Datenfestplatten noch dort eingebunden sind, müssen Sie diese zuerst trennen:

    • Stellen Sie sicher, dass die alte VM heruntergefahren ist:
      Stop-VM -Name "charly-vm-alt" -Force
      
    • Öffnen Sie die Einstellungen der alten VM im Hyper-V-Manager
    • Unter SCSI-Controller > Festplatte wählen Sie charly-data.vhdx aus
    • Klicken Sie auf Entfernen (dies trennt nur die Verbindung, die Datei bleibt erhalten)
    • Wiederholen Sie dies für charly-files.vhdx
  5. Alte Datenfestplatten einbinden:

    • Kopieren Sie Ihre alten charly-data.vhdx und charly-files.vhdx an die konfigurierten Pfade
    • Oder fügen Sie die Festplatten von ihrem aktuellen Speicherort hinzu
    • Stellen Sie sicher, dass die Festplatten in der richtigen Reihenfolge eingebunden sind

WICHTIG

Die Reihenfolge der Festplatten ist wichtig! Stellen Sie sicher, dass die Festplatten in der gleichen Reihenfolge wie auf dem Quell-Server eingebunden sind.

WICHTIG

VHDX-Dateien können nicht gleichzeitig an mehrere VMs angehängt werden. Sie müssen die Festplatten von der alten VM trennen, bevor Sie sie an die neue VM anhängen können.

Schritt 5: VM starten und SSH-Verbindung wiederherstellen

  1. VM starten:

    Start-VM -Name "charly-vm"
    
  2. SSH-Passwort zurücksetzen:

    Da der neue SSH-Schlüssel nicht zum alten System passt, müssen Sie das SSH-Passwort zurücksetzen:

    charly-server vm reset-ssh
    

    Sie werden aufgefordert, ein neues SSH-Schlüssel-Passwort zu vergeben.

  3. Falls reset-ssh fehlschlägt - Alternative über VM-Konsole:

    • Öffnen Sie die VM-Konsole im Hyper-V-Manager (Doppelklick auf die VM)
    • Melden Sie sich mit dem Benutzer solutio_admin und dem Administrator-Passwort an
    • Das Administrator-Passwort finden Sie in der configVM.json der Neuinstallation
  4. Falls Sie eine Installation ab November 2024 haben - Master-Key-Wiederherstellung:

    Kontaktieren Sie den solutio Professional Services. Mit dem Master-Key kann der SSH-Zugang wiederhergestellt werden, ohne Zugriff auf die VM-Konsole zu benötigen.

  5. PostgreSQL-Passwort aktualisieren (falls abweichend):

    Wenn Sie bei der Neuinstallation ein anderes PostgreSQL-Passwort vergeben haben als bei der ursprünglichen Installation, werden alle Container als "unhealthy" angezeigt, da sie das alte Datenbank-Passwort erwarten.

    Aktualisieren Sie das Passwort in der VM auf das neue Passwort:

    charly-server vm change-password postgres
    

WICHTIG

Dieser Schritt ist zwingend erforderlich, wenn das PostgreSQL-Passwort bei der Neuinstallation nicht mit dem ursprünglichen Passwort übereinstimmt. Ohne diese Anpassung können die Dienste keine Verbindung zur Datenbank herstellen.

Schritt 6: Status verifizieren

charly-server vm status

Warten Sie, bis alle Container gestartet sind. Falls Container weiterhin als "unhealthy" angezeigt werden, starten Sie die Docker-Container neu:

charly-server vm docker-restart

5. Troubleshooting

SSH-Verbindung funktioniert nicht

Symptom: charly-server vm status zeigt Verbindungsfehler

Lösungen:

  1. SSH-Schlüssel zurücksetzen:

    charly-server vm reset-ssh
    

  2. Falls das nicht funktioniert, über VM-Konsole anmelden:

  3. Hyper-V-Manager öffnen
  4. Doppelklick auf charly-vm
  5. Mit solutio_admin und Administrator-Passwort anmelden

  6. Für Installationen ab November 2024: Master-Key beim solutio Support anfragen

VM startet nicht

Mögliche Ursachen:

  • Secure Boot aktiviert: Deaktivieren Sie Secure Boot in den VM-Einstellungen
  • Falsche Generation: Die VM muss Generation 2 sein
  • Festplatten nicht gefunden: Überprüfen Sie die Pfade zu den VHDX-Dateien

Netzwerk funktioniert nicht

Lösungen:

  1. Externen Switch prüfen:

    • Ist der Switch korrekt konfiguriert?
    • Ist das richtige Netzwerkadapter ausgewählt?
  2. VLAN-Konfiguration prüfen:

  3. MAC-Adresse prüfen:

    • Ist die MAC-Adresse im DHCP-Server registriert?
    • Stimmt die MAC-Adresse in den VM-Einstellungen?

Passwörter stimmen nicht überein

Bei Szenario B können die Passwörter der Neuinstallation nicht mit den alten Daten übereinstimmen.

Lösung für Samba-Passwort:

charly-server vm change-smb-password

Lösung für Administrator-Passwort:

charly-server vm change-admin-password

Container starten nicht

Symptom: charly-server vm status zeigt fehlerhafte Container

Lösungen:

  1. Docker-Container neu starten:

    charly-server vm docker-restart
    

  2. VM komplett neu starten:

    charly-server vm restart
    

6. Checkliste nach der Migration

Verwenden Sie diese Checkliste zur Verifizierung einer erfolgreichen Migration:

  • [ ] VM startet erfolgreich
  • [ ] charly-server vm status zeigt alle Container als "running"
  • [ ] SSH-Verbindung funktioniert
  • [ ] SMB-Share (charly-ablage) ist erreichbar
  • [ ] Datenbankverbindung funktioniert
  • [ ] charly-Client kann sich verbinden
  • [ ] Backup-Konfiguration überprüft/neu eingerichtet (siehe Backup konfigurieren)
  • [ ] DHCP-Server aktualisiert (MAC-Adresse → IP-Adresse)
  • [ ] Firewall-Regeln auf dem neuen Server eingerichtet

TIPP

Führen Sie nach der Migration ein manuelles Backup durch, um sicherzustellen, dass die Backup-Konfiguration korrekt funktioniert:

charly-server vm backup


Version: 2.8.0

Datum der letzten Aktualisierung: 03.12.2025