VMWARE → STACKIT · HANDLEIDING
VMware-disks converteren naar qcow2 en raw voor STACKIT
STACKIT accepteert disk-images in qcow2 of raw (de image-API noemt ook iso), geen VMDK. Deze rondleiding beoordeelt een kleine RVTools-export van acht eenheden en toont welke disks het concept omzet in een bootimage, een datavolume of niets, en welke disks geen conversie kan meenemen: een raw device mapping en een gedeelde clusterdisk.
Invoer en uitvoer: één bootdisk, één datadisk
Een demo-omgeving, voor deze pagina geschreven en op 4 november 2026 door StackToIT beoordeeld: zes VM's, twee port groups. Links: de eerste zes rijen van de vDisk-sheet. Rechts: het datavolume dat de run uitwerkt voor de tweede disk van erp-app01; de beoordelingscommentaren boven de blokken zijn weggelaten.
VM,Disk,Capacity MiB,Raw,Disk Mode,Sharing mode,Thin,Controller,Shared Bus,Disk Path,VM UUID
erp-app01,Hard disk 1,81920,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[vmfs-ssd01] erp-app01/erp-app01.vmdk,4203-c001-0001
erp-app01,Hard disk 2,409600,False,persistent,sharingNone,False,SCSI controller 0,noSharing,[vmfs-ssd01] erp-app01/erp-app01_1.vmdk,4203-c001-0001
erp-db01,Hard disk 1,102400,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[vmfs-ssd01] erp-db01/erp-db01.vmdk,4203-c001-0002
erp-db01,Hard disk 2,1048576,True,persistent,sharingNone,False,SCSI controller 1,noSharing,[vmfs-ssd01] erp-db01/erp-db01_1.vmdk,4203-c001-0002
files01,Hard disk 1,51200,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[vmfs-nl02] files01/files01.vmdk,4203-c001-0003
files01,Hard disk 2,2048000,False,persistent,sharingNone,True,SCSI controller 1,noSharing,[vmfs-nl02] files01/files01_1.vmdk,4203-c001-0003resource "stackit_volume" "vm_erp_app01_disk2" {
project_id = var.project_id
name = "erp-app01-disk2"
availability_zone = var.availability_zone
size = 400
performance_class = var.vmware_volume_performance_class
}
resource "stackit_server_volume_attach" "vm_erp_app01_disk2" {
project_id = var.project_id
server_id = stackit_server.vm_erp_app01.server_id
volume_id = stackit_volume.vm_erp_app01_disk2.volume_id
}De bootdisk is geen volumeblok
Hard disk 1 van erp-app01 (81920 MiB) wordt het bootvolume van de server, 80 GiB, dat vanaf een image start. Het image zelf is een variabele, omdat het concept niet kan weten welk image u uploadt.
De datadisk wordt een volume
Hard disk 2 (409600 MiB) wordt een volume van 400 GiB met een koppeling aan de server. Het commentaar in het bestand zegt dat u de data pas kopieert zodra het volume bestaat: de inhoud van de disk loopt nooit via Terraform.
Thin of thick wordt gelezen, niet overgenomen
Volgens de kolom Thin is Hard disk 2 thick en Hard disk 1 thin. Beide worden uitgewerkt op hun volledige capaciteit, dus een thin disk van 400 GiB met 100 GiB data wordt toch een volume van 400 GiB, tenzij u anders beslist.
Wat geen conversie kan meenemen
Dezelfde run. Links: rijen 4 tot en met 11 van de vDisk-sheet, met de raw device mapping van erp-db01 (Raw is True) en de multi-writer-disks van de twee SQL-nodes. Rechts: de tabel met eenheden die de run aan de architect overlaat, uit terraform/README.md.
erp-db01,Hard disk 1,102400,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[vmfs-ssd01] erp-db01/erp-db01.vmdk,4203-c001-0002
erp-db01,Hard disk 2,1048576,True,persistent,sharingNone,False,SCSI controller 1,noSharing,[vmfs-ssd01] erp-db01/erp-db01_1.vmdk,4203-c001-0002
files01,Hard disk 1,51200,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[vmfs-nl02] files01/files01.vmdk,4203-c001-0003
files01,Hard disk 2,2048000,False,persistent,sharingNone,True,SCSI controller 1,noSharing,[vmfs-nl02] files01/files01_1.vmdk,4203-c001-0003
sql-node01,Hard disk 1,102400,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[vmfs-ssd01] sql-node01/sql-node01.vmdk,4203-c001-0004
sql-node01,Hard disk 2,204800,False,persistent,sharingMultiWriter,False,SCSI controller 2,virtualSharing,[vmfs-ssd01] sql-node01/sql-node01_1.vmdk,4203-c001-0004
sql-node02,Hard disk 1,102400,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[vmfs-ssd01] sql-node02/sql-node02.vmdk,4203-c001-0005
sql-node02,Hard disk 2,204800,False,persistent,sharingMultiWriter,False,SCSI controller 2,virtualSharing,[vmfs-ssd01] sql-node01/sql-node01_1.vmdk,4203-c001-0005| Source | Class | Why |
|---|---|---|
| `vm.erp-db01` | MANUAL_REVIEW / MEDIUM | Raw device mapping: the LUN is not part of the VM image, so an image export does not carry its data; it needs a block- or application-level copy to a STACKIT volume. |
| `vm.sql-node01` | MANUAL_REVIEW / MEDIUM | Shared or multi-writer disks (clusters such as WSFC or Oracle RAC). |
| `vm.sql-node02` | MANUAL_REVIEW / MEDIUM | Shared or multi-writer disks (clusters such as WSFC or Oracle RAC). |
| `vm.tpl-win2019` | REPLATFORM / MEDIUM | VM template: convert the VMDK to qcow2/raw and upload it with stackit_image, or rebuild it from a STACKIT public image. |Raw device mapping
De LUN achter een raw mapping hoort niet bij de VM, dus de LUN wordt niet meegekopieerd bij het exporteren en converteren van de VM. De run classificeert erp-db01 als MANUAL_REVIEW en werkt er geen server voor uit.
Gedeelde en multi-writer-disks
Beide SQL-nodes verwijzen naar dezelfde disk van 200 GiB. De run stopt bij beide op MANUAL_REVIEW. Volgens de documentatie van STACKIT kan een datavolume maar aan één server tegelijk worden gekoppeld, dus het clusterontwerp is hier de vraag, niet het diskformaat.
De template
tpl-win2019 is een template. Die wordt een STACKIT-image en heeft geen Terraform-blok; de run vermeldt de template, zodat u die kunt converteren of opnieuw opbouwen vanuit een publiek image.
Disk voor disk: wat de run doet en wat u doet
| Disk in de export | Wat de run schrijft | Wat u doet |
|---|---|---|
| erp-app01, Hard disk 1: 80 GiB, thin, boot | Bootvolume van de server, 80 GiB, image-ID als variabele | Converteren, uploaden, de variabele instellen. De imagepagina van STACKIT noemt 70 GB als maximale grootte van een image; beslis dus hoe u een disk van 80 GiB daarin krijgt. |
| erp-app01, Hard disk 2: 400 GiB, thick | stackit_volume van 400 GiB plus een koppeling | Kopieer de data nadat het volume is aangemaakt. |
| files01, Hard disk 2: 2000 GiB, thin | stackit_volume van 2000 GiB plus een koppeling | Binnen het bereik van 1 GB tot 16 TB voor een datavolume; een volume kan alleen groeien als het is losgekoppeld en kan niet krimpen. |
| erp-db01, Hard disk 2: raw mapping van 1 TiB | Niets: MANUAL_REVIEW, kritieke bevinding | Kopie op blokniveau of applicatieniveau naar een STACKIT-volume. |
| sql-node01 en sql-node02, Hard disk 2: gedeelde multi-writer-disk | Niets: MANUAL_REVIEW op beide nodes | Ontwerp de clusteropslag of het cluster zelf opnieuw. |
| tpl-win2019: template | Geen blok; vermeld onder eenheden voor de architect | Converteer de VMDK naar een image, of bouw de template opnieuw op vanuit een publiek Windows-image. |
| files01: één snapshot | Informatieve bevinding | Consolideer vóór de export; alleen de huidige status wordt gemigreerd. |
Cijfers van de run: 8 eenheden, 4 uitgewerkt en 4 aan de architect overgelaten; 24 stappen in het plan, 10 daarvan geautomatiseerd, en de run meldt dat geen van de geautomatiseerde stappen al uitvoerbaar is zoals die er nu staat, omdat de variabelen voor image-ID's, machinetypen, netwerkprefixen en nameservers nog openstaan.
Van VMDK naar een STACKIT-image
De eerste twee stappen volgen de run. De conversiecommando's zijn gangbare praktijk; StackToIT voert ze niet uit en controleert ze niet.
Consolideer snapshots
De run meldt files01 met een snapshot. Verwijder of consolideer snapshots eerst, omdat alleen de huidige status van een disk wordt geëxporteerd.
Haal de VMDK uit de datastore
Kopieer het diskbestand uit de datastore of exporteer de VM, bijvoorbeeld met de vSphere-client of ovftool. Zet de VM uit voor de laatste kopie.
Converteren
Bijvoorbeeld: qemu-img convert -f vmdk -O qcow2 erp-app01.vmdk erp-app01.qcow2, of -O raw voor een raw-bestand. STACKIT toont dezelfde tool met -O raw voor formaten die het niet accepteert. Controleer het resultaat met qemu-img info.
Maak het image aan en upload het bestand
De IaaS API-handleiding laat u eerst het image aanmaken (een POST met diskFormat raw, qcow2 of iso, die een image-ID en een upload-URL teruggeeft), daarna het bestand binnen enkele uren met een HTTP PUT naar die URL uploaden en wachten op de status AVAILABLE.
Stel de variabele in
Zet de image-ID in vm_erp_app01_image_id. Het concept declareert de variabele maar schrijft geen imageresource, dus het image bestaat al voordat u de eerste keer plan uitvoert.
Volumes aanmaken, data kopiëren, opstarten
Pas het concept toe, kopieer elke datadisk naar het bijbehorende volume, start dan de server en test die voordat u DNS aanpast.
De imagevariabele die het concept verwacht
Uit dezelfde run, variables.tf. De variabele heeft geen standaardwaarde, dus de planfase gaat niet verder zonder het image dat u hebt gebouwd.
variable "vm_erp_app01_image_id" {
type = string
description = "STACKIT image converted from the boot disk of VM erp-app01 (qcow2 or raw)."
}Wat u moet beslissen voordat u het concept toepast
Bootdisks boven de imagelimiet
erp-app01 heeft een bootdisk van 80 GiB en de STACKIT-pagina noemt 70 GB als maximale imagegrootte. De pagina zegt niet of dat het bestand of de virtuele grootte betreft, dus vraag het aan STACKIT en kies dan: verklein de systeempartitie voor de export, of installeer vanaf een publiek image en verplaats de applicatie.
qcow2 of raw
Beide worden geaccepteerd. qcow2-bestanden zijn doorgaans kleiner om te uploaden, omdat ongebruikte ruimte niet wordt opgeslagen; raw is het eenvoudigst te doorgronden. Kies één formaat per omgeving en houd u eraan.
Windows-licenties
STACKIT levert Windows Server-images voor 2016, 2019, 2022 en 2025, en bij de standaardimages is de licentie inbegrepen. Voor een image dat u uploadt, levert STACKIT geen Windows Server-licentie: die regelt u zelf via het Flexible Virtualization Benefit, dat abonnementslicenties of Software Assurance vereist. tpl-win2019 is zo'n geval als u de template converteert in plaats van opnieuw op te bouwen.
Volumegroottes
De uitgewerkte groottes zijn gelijk aan de broncapaciteit. Omdat een volume niet kan krimpen, past u de grootte van thin disks aan voordat u het volume aanmaakt.
De raw mapping en de gedeelde disk
Beide zijn ontwerpbeslissingen. Leg ze vast in het beslissingsregister dat de run schrijft in plaats van ze als commentaar te laten staan.
Vragen over diskconversie
Converteert StackToIT mijn VMDK-bestanden?
Nee. Het leest de RVTools-export en schrijft een plan en een Terraform-concept. Het leest geen diskbestanden en verplaatst geen data; de conversie is uw stap.
Welke diskformaten accepteert STACKIT?
De IaaS API-handleiding noemt raw, qcow2 en iso als waarden van diskFormat. VMDK staat er niet bij, dus converteer eerst.
Waarom wordt de raw device mapping niet gewoon gekopieerd?
De gekoppelde LUN ligt buiten het image van de VM. Een export neemt het mappingbestand mee, niet de data erachter; daarvoor is een kopie op blokniveau of applicatieniveau naar een STACKIT-volume nodig.
Kan ik één volume aan twee servers koppelen?
Niet volgens de pagina met concepten van STACKIT-blokopslag: multi-attach wordt niet ondersteund, een datavolume hoort bij één server tegelijk.
Bronnen
Uw volgende stap: STACKIT.
Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.
Laat uw gegevens achter, onze specialisten nemen contact met u op.
Liever zelf een e-mail sturen? connect@stacktoit.com
Hartelijk dank.
Uw verzoek is bij ons binnengekomen. Onze specialisten nemen contact met u op.