| images | ||
| .DS_Store | ||
| README.md | ||
Anleitung: BYOL-Migration zu STACKIT
Dieses Dokument bietet einen Migrationspfad für Ihre selbst erstellte Windows Server VM (Bring Your Own License) von einer lokalen Virtualisierungsumgebung (z.B. Hyper-V / VirtualBox) auf der STACKIT Cloud-Plattform.
Der detaillierte Prozess erlaubt die technische Kompatibilität durch die Integration der VirtIO-Treiber und die Konvertierung der Festplatten-Images. Die Durchführung dieser Schritte ermöglicht Ihnen, Ihre eigenen Windows-Lizenzen in der STACKIT Cloud zu nutzen.
Voraussetzungen
Um diesen Workflow erfolgreich durchzuführen, benötigen Sie Zugriff auf die folgenden Tools und Ressourcen:
-
STACKIT Windows VM (empfohlenes Sizing)
- Flavor G2i.8
- Disk OS Perf6 - 64GB
- Data/Image Disk Perf10: 100GB
-
Hyper-V (Als Virtualisierungsplattform über die Windows-Rolle/Funktion installieren): z.B. über Server Manager
-
Qemu-img installieren: https://www.qemu.org/download/#windows
-
STACKIT cli installieren: https://github.com/stackitcloud/stackit-cli/releases
-
Virtio Treiber: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/?C=M;O=D
-
Cloud-base Init: https://github.com/cloudbase/cloudbase-init/releases
- Neue VM einrichten: Aktion → Neu → Virtueller Computer

- Auf “Weiter” klicken

- Name und Pfad angeben: Name der neuen VM eintragen und ggf. abweichenden Speicherort → Weiter

- Generation 2 auswählen
Generation 2: Beim Starten der VM muss manuell „Any Key“ gedrückt werden damit der Bootvorgang vom ISO-Image aus durchgeführt wird. Sollte man den Zeitpunkt verpassen, startet die Installationsroutine nicht!

- Speicher zuweisen: Arbeitsspeicher beim Start → Wert nach Bedarf eintragen (z. B. 4096 MB)
Dynamischen Arbeitsspeicher für diesen virtuellen Computer verwenden → Kontrollkästchen deaktivieren

- Netzwerk konfigurieren: Verbindung → Nicht verbunden

- Virtuelle Festplatte verbinden: Name, Pfad und Größe definieren

- Installationsoptionen: Betriebssystem von einer startbaren CD/DVD-ROM installieren → Abbilddatei (ISO) auswählen und via Durchsuchen das erforderliche ISO-Image auswählen

- Abschließen des Assistenten für neue virtuelle Computer: Fertig stellen

- Hyper-V-Manager nach Erstellung der neuen VM

- Die bereits heruntergeladenen virtio-Treiber via ISO anbinden:

- Mit neuer VM „Verbinden“


- Neue VM zum ersten Mal starten und OS-Installation durchführen

- Windows Server Setup durchführen (Screenshots basieren auf Windows Server 2022):





- Die Auswahl “Load Driver” verwenden

- Es ist nun die Installation von drei virtio Treibern notwendig, damit das Image auf den STACKIT Hypervisor verwenden werden kann

NetKVM Treiber


Viostor


Vioscsi





- Anzeigekonfiguration

- Es sollten nun noch die zwei Virtio Packages (virtio-win-gt-x64.msi und virtio-win-guest-tools.exe) von der Virtio
ISO Datei installiert werden. Es wird zudem empfohlen den Inhalt der Virtio ISO Datei auf das neue System zu
kopieren (z.B. C:\temp\virtio\). Das hat den Vorteil, dass man später relativ einfach Treiber nachinstallieren kann
- Löschen der Windows Recovery Partition
Dieser Schritt ist zwingend notwendig, damit das Volume des späteren Servers auf STACKIT flexibel erweitert werden kann.
| Schritt | Befehl | Details / Hinweise |
|---|---|---|
| 1 | diskpart |
Startet das Partitionierungsprogramm. |
| 2 | select disk 0 |
Wählt die Festplatte aus. Prüfen Sie unbedingt, ob Disk 0 korrekt ist! |
| 3 | list partition |
Zeigt alle vorhandenen Partitionen an. |
| 4 | select partition <nr> |
Wählen Sie die Nummer der Recovery-Partition. Falls Partition 3 nicht korrekt ist, geben Sie die richtige Nummer ein. |
| 5 | delete partition override |
Löscht die Partition erzwingend. |
| 6 | list partition |
Kontrolle, ob die Partition erfolgreich entfernt wurde. |
-
Das Windows System kann nun mit individueller Software angepasst und für das spätere Image vorbereitet werden.
-
Zum Abschluss noch das Cloudbase-init Tool auf der Windows VM ausführen und Windows in die finale Ausgangsposition für den Move auf die STACKIT Cloud bringen!
-
Cloudbase-Init Setup starten

- Lizenzvereinbarung zustimmen

- Setup-Typ bestätigen

- Konfigurationsoptionen festlegen

- Installation starten

- Installation abschließen und Sysprep ausführen

- Sysprep-Generalisierung läuft

35. Image-Upload & VM Creation in STACKIT
Nachdem die lokale Vorbereitung abgeschlossen ist, wird das Image konvertiert und via STACKIT CLI übertragen.
36. Image-Konvertierung (qCow2)
Konvertieren Sie das lokale VHDX in das qcow2 Format:
qemu-img convert -f vhdx -O qcow2 <Pfad_zu_vhdx> <Pfad_zur_qcow2>
37. STACKIT CLI Login
Authentifizierung an der CLI:
stackit auth login
38. Image-Upload
Laden Sie das Image in Ihr STACKIT-Projekt hoch:
stackit image create --name <win2025virtio> --disk-format=qcow2 --local-file-path="<path2qcow2>" -p <projectID>
39. Status-Check
Überprüfen Sie den Upload-Fortschritt und Details:
stackit image list -p <projectID>
stackit image describe <imageID> -p <projectID>
Wichtig: Entnehmen Sie dem Output die generierte
imageID. Diese ID müssen Sie im nächsten Schritt als<image_id>angeben, um das Volume und die VM basierend auf diesem Image zu erstellen.
40. Provisionierung (Volume & Server)
Erstellen Sie zuerst das Volume und starten Sie dann die VM:
Step 1: Volume erstellen
stackit volume create --availability-zone <AZ> \
--name <volumename> --source-id <image_id> \
--source-type image --size <GB> -p <projectID>
Step 2: Server instanziieren
stackit server create -n <servername> \
--availability-zone <AZ> --machine-type <machineType> \
--network-id <networkID> --boot-volume-source-id <volumeID> \
--boot-volume-source-type volume -p <projectID>
41. Image Sharing (Cross-Project)
Image für andere Projekt-IDs innerhalb der Organisation freigeben:
stackit curl -X PATCH -H "Content-Type: application/json" \
--data '{"projects": ["<ID1>", "<ID2>"]}' \
[https://iaas.api.eu01.stackit.cloud/v1/projects/](https://iaas.api.eu01.stackit.cloud/v1/projects/)<PROJECT_ID>/images/<IMAGE_ID>/share
42. Abschluss
Überprüfen, ob alle Treiber im Betriebssystem korrekt geladen sind. Nach dem Start der VM in STACKIT über den “Gerätemanager” prüfen, ob alle Treiber korrekt geladen wurden.

Referenzen:
https://docs.stackit.cloud/stackit/en/create-a-windows-server-via-stackit-iaas-api-cli-98304598.html