VMWARE → STACKIT · WINDOWS-LEITFADEN

Windows-VMs von VMware zu STACKIT migrieren

Eine Windows-VM zieht als Disk-Image nach STACKIT um: Sie entscheiden, wie die Windows-Lizenz bereitgestellt wird, wandeln die Disk in qcow2 oder raw um, sorgen für die Speicher- und Netzwerktreiber der neuen Plattform im Gast, wählen einen Maschinentyp mit Windows-Unterstützung und importieren. Dieser Leitfaden geht diese Schritte an einer Beispielumgebung mit sechs Windows-Servern und einer Vorlage durch, die StackToIT am 4. November 2026 bewertet hat, und zeigt, was der Lauf meldet und was er Ihnen überlässt.

Eine SQL-Server-VM mit drei Disks

Links die drei Disks von win-sql01 aus dem Blatt vDisk. Rechts die Blöcke in compute.tf für diesen Server, ohne die Prüfkommentare über den Blöcken.

BeispieleingabeRVTools_tabvDisk.csv
VM,Disk,Capacity MiB,Raw,Disk Mode,Sharing mode,Thin,Controller,Shared Bus,Disk Path,VM UUID
win-sql01,Hard disk 1,102400,False,persistent,sharingNone,False,SCSI controller 0,noSharing,[ds-prod-01] win-sql01/win-sql01_0.vmdk,4202-vm12-0004
win-sql01,Hard disk 2,512000,False,persistent,sharingNone,False,SCSI controller 1,noSharing,[ds-prod-01] win-sql01/win-sql01_1.vmdk,4202-vm12-0004
win-sql01,Hard disk 3,204800,False,persistent,sharingNone,False,SCSI controller 2,noSharing,[ds-prod-01] win-sql01/win-sql01_2.vmdk,4202-vm12-0004
STACKIT-Terraform von StackToITterraform/compute.tf
resource "stackit_network_interface" "vm_win_sql01_nic1" {
  project_id = var.project_id
  network_id = stackit_network.network_PG_Win_Data.network_id
  ipv4       = "10.30.20.31"
}

resource "stackit_server" "vm_win_sql01" {
  project_id        = var.project_id
  name              = "win-sql01"
  machine_type      = var.vm_win_sql01_machine_type
  availability_zone = var.availability_zone
  boot_volume = {
    source_type = "image"
    source_id   = var.vm_win_sql01_image_id
    size        = 100
  }
  network_interfaces = [stackit_network_interface.vm_win_sql01_nic1.network_interface_id]
}

resource "stackit_volume" "vm_win_sql01_disk2" {
  project_id        = var.project_id
  name              = "win-sql01-disk2"
  availability_zone = var.availability_zone
  size              = 500
  performance_class = var.vmware_volume_performance_class
}

resource "stackit_server_volume_attach" "vm_win_sql01_disk2" {
  project_id = var.project_id
  server_id  = stackit_server.vm_win_sql01.server_id
  volume_id  = stackit_volume.vm_win_sql01_disk2.volume_id
}

resource "stackit_volume" "vm_win_sql01_disk3" {
  project_id        = var.project_id
  name              = "win-sql01-disk3"
  availability_zone = var.availability_zone
  size              = 200
  performance_class = var.vmware_volume_performance_class
}

resource "stackit_server_volume_attach" "vm_win_sql01_disk3" {
  project_id = var.project_id
  server_id  = stackit_server.vm_win_sql01.server_id
  volume_id  = stackit_volume.vm_win_sql01_disk3.volume_id
}
  • Boot-Disk

    Hard disk 1 mit 102400 MiB wird ein Boot-Volume von 100 GiB. Der Server startet aus einem Image, das Sie über eine Variable angeben.

  • Daten-Disks

    Hard disk 2 mit 512000 MiB und Hard disk 3 mit 204800 MiB werden Volumes von 500 und 200 GiB, jedes mit eigenem Attach-Block. Ihren Inhalt kopieren Sie, sobald die Volumes existieren.

  • Das Image steht nicht im Entwurf

    StackToIT wandelt keine Disks um und lädt keine hoch. Die Image-ID ist eine Eingabe; der nächste Abschnitt zeigt, wie sie deklariert ist.

Was der Entwurf von Ihnen verlangt

Links die vInfo-Zeile von win-sql01. Rechts die zwei Variablen, die sein Server liest, aus variables.tf.

BeispieleingabeRVTools_tabvInfo.csv
VM,Powerstate,Template,CPUs,Memory,NICs,Disks,Provisioned MiB,In use MiB,Primary IP Address,DNS Name,Datacenter,Cluster,Host,Folder,Firmware,HW version,Path,Annotation,OS according to the configuration file,OS according to the VMware Tools,VM UUID
win-sql01,poweredOn,False,8,65536,1,3,819200,573440,10.30.20.31,win-sql01.corp.example,DC-Munich,CL-Prod,esx11,prod,bios,vmx-19,[ds-prod-01] win-sql01/win-sql01.vmx,SQL Server 2019 Standard,Microsoft Windows Server 2019 (64-bit),Microsoft Windows Server 2019 Standard,4202-vm12-0004
STACKIT-Terraform von StackToITterraform/variables.tf
variable "vm_win_sql01_image_id" {
  type        = string
  description = "STACKIT image converted from the boot disk of VM win-sql01 (qcow2 or raw)."
}

variable "vm_win_sql01_machine_type" {
  type        = string
  description = "STACKIT machine type replacing VM win-sql01 (source 8 vCPU / 64 GiB). See https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/"
}
  • Größe wird benannt, nicht gewählt

    Die Quelle hat 8 CPUs und 65536 MiB. Die Variable des Maschinentyps wiederholt das als 8 vCPU und 64 GiB und verweist auf die STACKIT-Maschinentypen; den Katalognamen wählen Sie.

  • Windows schränkt die Wahl ein

    Die Seite der Maschinentypen hat für jede Familie eine Spalte „Windows Server compatible“. Prüfen Sie sie vor der Auswahl.

  • Image aus der Boot-Disk

    Die Image-Variable steht für die Boot-Disk nach der Umwandlung in qcow2 oder raw.

Die Windows-Vorlage

Links die vInfo-Zeile von tpl-win2022. Rechts die Zeile der README in terraform/, die sie unter „Left for the architect“ aufführt.

BeispieleingabeRVTools_tabvInfo.csv
VM,Powerstate,Template,CPUs,Memory,NICs,Disks,Provisioned MiB,In use MiB,Primary IP Address,DNS Name,Datacenter,Cluster,Host,Folder,Firmware,HW version,Path,Annotation,OS according to the configuration file,OS according to the VMware Tools,VM UUID
tpl-win2022,poweredOff,True,2,4096,1,1,61440,30720,,,DC-Munich,CL-Prod,esx11,prod,efi,vmx-19,[ds-prod-01] tpl-win2022/tpl-win2022.vmx,"Golden image, sysprepped",Microsoft Windows Server 2022 (64-bit),,4202-vm12-0007
STACKIT-Terraform von StackToITterraform/README.md
| Source | Class | Why |
|---|---|---|
| `vm.tpl-win2022` | REPLATFORM / MEDIUM | VM template: convert the VMDK to qcow2/raw and upload it with stackit_image, or rebuild it from a STACKIT public image. |
  • Kein Image-Block

    Eine Vorlage wird als REPLATFORM klassifiziert. Der Lauf schreibt dafür kein Image: Sie wandeln die Disk um und laden sie hoch oder bauen sie aus einem öffentlichen STACKIT-Image neu.

  • Firmware bleibt offen

    Die Vorlage startet mit EFI. Der Lauf lässt BIOS oder EFI offen und vermerkt, dass es eine Eigenschaft des hochgeladenen Images ist, das Sie anlegen.

Was der Lauf zu jeder Windows-VM sagt

VM der BeispielumgebungWas der Lauf meldetWas Sie tun
win-iis01, win-iis02 (Windows Server 2022, EFI)Klasse RECONFIGURE. Hinweis: Image vor der Konvertierung auf die neue virtuelle Hardware (Speicher- und Netzwerktreiber) vorbereiten und prüfen, wie Windows-Lizenzen auf STACKIT bereitgestellt werden.Lizenzweg und einen Windows-tauglichen Maschinentyp wählen. EFI am hochgeladenen Image bestätigen. VMware Tools ersetzen.
win-dc01 (Windows Server 2019, Domänencontroller)Gleiche Klasse und gleicher Hinweis wie bei den Webservern. Die Notiz im Export nennt den Domänencontroller; der Lauf wertet Notizen nicht aus.Als Active-Directory-Aufgabe behandeln. In der Praxis legen viele Teams auf STACKIT einen neuen Domänencontroller an, statt die Disk eines bestehenden umzuwandeln; stimmen Sie das mit Ihrem AD-Verantwortlichen ab.
win-sql01 (Windows Server 2019, SQL Server)Drei Disks als Boot-Volume plus zwei Volumes entworfen. Exportiert ist eine Speicherreservierung von 65536; sie bleibt offen, weil ein Server sie nicht ausdrücken kann.Maschinentyp mit ausreichend Speicher wählen. Den Datenbankumzug getrennt planen; siehe den Datenbank-Leitfaden.
win-fs01 (Windows Server 2019, Dateiserver)Eine Daten-Disk mit 2097152 MiB wird ein Volume mit 2048 GiB. Gefunden wird ein Snapshot von 18432 MiB; der Hinweis sagt, dass nur der aktuelle Stand migriert wird.Snapshot vor dem Export konsolidieren. Datenkopie und ihre Dauer planen.
win-app12 (Windows Server 2012 R2)Warnung, dass das Gastbetriebssystem das Support-Ende des Herstellers überschritten hat und öffentliche STACKIT-Images es nicht abdecken. Dazu ein Snapshot-Hinweis und einer zum veralteten Netzwerkadapter.Zuerst aktualisieren oder auf eigenes Risiko als eigenes Image migrieren, wie der Hinweis sagt. Netzwerkkonfiguration im Gast nach der Konvertierung prüfen.
tpl-win2022 (Vorlage)Klasse REPLATFORM, kein Image-Block geschrieben. Windows-Hinweis.Aus einem öffentlichen STACKIT-Image neu bauen oder die Vorlage umwandeln und hochladen.

Die Aussagen der mittleren Spalte sind die Meldungen aus assessment.json und engineering/architect-report.md des Laufs, gekürzt. Der Lauf liest das Gast-OS aus der Konfigurationsdatei; das von VMware Tools gemeldete OS bleibt einer Person zum Vergleich überlassen.

Die Migration Schritt für Schritt

  1. Alle Blätter exportieren, das Gast-OS zweimal lesen

    Nehmen Sie vSnapshot und vMemory in den RVTools-Export auf, damit Snapshots und Reservierungen bekannt sind. Vergleichen Sie das OS der Konfigurationsdatei mit dem von VMware Tools gemeldeten: Die Prüfung auf Support-Ende liest nur das erste.

  2. Lizenzweg pro VM entscheiden

    Stand November 2026 führt die STACKIT-Seite zu Betriebssystem-Images Windows Server 2025, 2022, 2019 und 2016 als Standard-Images mit enthaltener Lizenz; alternativ bringen Sie Image und Lizenzen selbst mit. Der Abschnitt „Lizenzentscheidungen“ nennt, was jeder Weg bedeutet.

  3. Maschinentypen wählen

    Gehen Sie von den exportierten CPUs und dem Speicher aus und bleiben Sie bei den Familien, die auf der Seite der Maschinentypen als Windows-Server-kompatibel markiert sind.

  4. Gast vorbereiten

    Snapshots konsolidieren. Das Windows-Beispiel von STACKIT installiert die VirtIO-Treiber NetKVM, Viostor und Vioscsi, installiert Cloudbase-Init und führt vor der Konvertierung Sysprep aus. Das Beispiel geht von Hyper-V aus; nehmen Sie es als Vorlage und testen Sie dieselben Schritte an einer Kopie Ihres VMware-Gastes.

  5. Umwandeln und hochladen

    Wandeln Sie die Disk mit qemu-img in qcow2 oder raw um, legen Sie das Image über CLI oder API an, laden Sie die Datei hoch und warten Sie, bis der Image-Status AVAILABLE ist. Die Seite zu eigenen Images nennt eine maximale Image-Größe von 70 GB; prüfen Sie Ihre umgewandelte Disk dagegen.

  6. Volume, Server und Daten-Volumes anlegen

    Wenden Sie den Entwurf an, sobald Netzwerke, Image-ID und Maschinentyp gefüllt sind. Der Server startet aus dem Image, die Daten-Volumes folgen.

  7. Domäne beitreten und prüfen

    Der Befehl für den Domänenbeitritt bei STACKIT braucht DNS-Server, die Ihre Domäne auflösen, und einen im lokalen Netzwerk erreichbaren Domänencontroller. Prüfen Sie im Geräte-Manager, ob Treiber fehlen.

  8. Umstellen und stilllegen

    Verlagern Sie den Verkehr, wenn die Prüfungen bestehen. Fahren Sie die Quell-VM herunter, löschen Sie sie aber erst nach der Freigabe durch den Verantwortlichen. Das ist gängige Praxis, keine Ausgabe des Laufs.

Lizenzentscheidungen

  • Lizenz eingeschlossen

    Beim STACKIT-Image Windows Server Standard ist die Betriebssystemlizenz enthalten, Client Access Licenses sind nicht nötig, und Remote-Desktop-Subscriber-Lizenzen werden weder gestellt noch berechnet; diese bringen Sie mit.

  • Eigenes Image und eigene Lizenzen

    Bei einem vom Kunden bereitgestellten Image stellt STACKIT keine Windows-Lizenz, und der Kunde ist für die ordnungsgemäße Lizenzierung verantwortlich. Der Leitfaden nennt diesen Weg FVB und knüpft ihn an Bedingungen wie Subscription-Lizenzen oder aktive Software Assurance; Serverlizenzen ohne sie gelten als nicht berechtigt.

  • Eigenes Image und Lizenz-Agent

    Die Image-Seite sagt, Windows-Lizenzen ließen sich nicht migrieren und ein eigenes Image brauche Kontakt zu STACKIT, damit der Lizenz-Agent installiert wird, während der Lizenzleitfaden sagt, auf kundeneigenen Images werde kein Scan-Agent installiert. Fragen Sie STACKIT, was für Sie gilt.

  • Unterstützte Versionen

    STACKIT stellt nur Windows-Server-Versionen bereit, die Microsoft noch unterstützt; die Image-Seite nennt das Support-Ende von Microsoft je Version; prüfen Sie es bei der Planung erneut. Ein 2012-R2-Gast braucht daher ein Upgrade oder ein eigenes Image auf eigenes Risiko.

  • SQL Server und andere Produkte

    Der Lizenzleitfaden behandelt Serveranwendungen und SQL Server als zulässig, wenn sie ordnungsgemäß lizenziert sind. Lesen Sie seine Liste je Produkt für Ihre Umgebung.

Fragen aus den Windows-Teams

Wandelt StackToIT die Windows-Disk um oder installiert Treiber?

Nein. Es liest den Export und schreibt den Entwurf: Server, Volumes, Schnittstellen und die Liste der noch offenen Einstellungen. Disk-Konvertierung, VirtIO-Treiber und Upload sind Schritte Ihres Teams.

Kann eine Windows-Server-2012-R2-VM nach STACKIT umziehen?

Der Lauf warnt, dass öffentliche STACKIT-Images einen Gast nach Support-Ende des Herstellers nicht abdecken und dass er nur als eigenes Image auf eigenes Risiko migriert oder zuvor aktualisiert werden kann. Planen Sie das Upgrade, wo die Anwendung es zulässt.

Welche Dateiformate kann STACKIT importieren?

Die Seite zu eigenen Images nennt raw, qcow2 und iso. Andere Formate lassen sich umwandeln, zum Beispiel mit qemu-img convert, das diese Seite für raw zeigt.

Was bleibt nach dem Lauf bei jedem Windows-Server offen?

Maschinentyp, Adressbehandlung, Boot-Firmware, Power-Status nach dem Cutover, Quellstandort und das von VMware Tools gemeldete Gast-OS sind kritische Einstellungen, die zur Prüfung bleiben. Der Bericht führt sie pro VM in engineering/architect-report.md auf.

Quellen

Ihr nächster Schritt: STACKIT.

Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.