VMWARE RVTOOLS → STACKIT · HANDLEIDING
RVTools vInfo-, vDisk- en vNetwork-data lezen voor een migratie naar STACKIT
Drie sheets van een RVTools-export bevatten bijna alles wat StackToIT nodig heeft voor een VMware-omgeving: vInfo beschrijft de machine, vDisk de disks en vNetwork de adapters. Deze rondleiding gebruikt een demo-export van zeven machines, voert het assessment uit en volgt afzonderlijke kolommen naar de bestanden die de run schreef, inclusief één losse rij die het concept tegenhoudt.
De rondleiding in zes stappen
Zet de sheets in één map
Exporteer de RVTools-sheets als CSV-bestanden naar één map, of bewaar de .xlsx-werkmap. De demomap bevat RVTools_tabvInfo.csv, RVTools_tabvDisk.csv en RVTools_tabvNetwork.csv. Wordt het invoertype niet herkend, voeg dan --input rvtools toe.
Voer het assessment uit
stacktoit assess ./rvtools-export ./vmware-migration leest de bestanden op uw eigen computer. Er wordt niets in de VMware-omgeving geïnstalleerd en StackToIT maakt geen verbinding met vCenter.
Begin met het architectenrapport
engineering/architect-report.md toont elke eenheid met klasse, bevindingen en open instellingen en noemt de rijen die de run niet kon plaatsen. index.html toont hetzelfde per eenheid.
Volg één VM door de sheets
Een vInfo-rij wordt een eenheid met de naam vm.<name>. De vDisk-rijen worden het bootvolume en de overige volumes, de vNetwork-rijen worden netwerkinterfaces. De volgende vier onderdelen tonen dit aan de hand van echte rijen.
Lees wat niet overeenkwam
Een detailrij die geen VM uit vInfo noemt, wordt gemeld met het rijnummer. Dat is een hiaat in de bron en het concept wacht tot het is opgelost.
Beantwoord de open instellingen en voer de run opnieuw uit
Wat de export niet kan vastleggen, zoals machinetypen, subnetprefixen en DNS-servers, komt in de bestanden in review/. De volgende run leest ze.
vDisk: capaciteit in MiB wordt grootte in GiB
Een export van zeven machines, voor deze pagina geschreven en op 4 november 2026 door StackToIT beoordeeld. Links: de twee vDisk-rijen van erp-app01. Rechts: de resourceblokken van de STACKIT-Terraform die de engine daarvoor schreef; de commentaarregels boven elk blok in het bestand zijn hier weggelaten.
VM,Disk,Capacity MiB,Raw,Disk Mode,Sharing mode,Thin,Controller,Shared Bus,Disk Path,VM UUID
erp-app01,Hard disk 1,61440,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[ds-prod-01] erp-app01/erp-app01.vmdk,5001-aaaa-0001
erp-app01,Hard disk 2,143360,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[ds-prod-01] erp-app01/erp-app01_1.vmdk,5001-aaaa-0001resource "stackit_server" "vm_erp_app01" {
project_id = var.project_id
name = "erp-app01"
machine_type = var.vm_erp_app01_machine_type
availability_zone = var.availability_zone
boot_volume = {
source_type = "image"
source_id = var.vm_erp_app01_image_id
size = 60
}
network_interfaces = [stackit_network_interface.vm_erp_app01_nic1.network_interface_id]
}
resource "stackit_volume" "vm_erp_app01_disk2" {
project_id = var.project_id
name = "erp-app01-disk2"
availability_zone = var.availability_zone
size = 140
performance_class = var.vmware_volume_performance_class
}Hard disk 1 is het bootvolume
61440 MiB is 60 GiB. De server start vanaf een image dat u uit deze disk converteert, en het bootvolume krijgt een grootte van 60.
Elke volgende disk is een volume
Hard disk 2, 143360 MiB, wordt een volume van 140 GiB. Het commentaar in het bestand zegt dat de data pas wordt gekopieerd zodra het volume bestaat: het concept plant het volume, niet de kopie.
Het machinetype laat het concept aan u over
CPUs en Memory uit vInfo (4 en 16384) staan alleen in de omschrijving van de variabele voor het machinetype, als 4 vCPU en 16 GiB. U kiest het STACKIT-type.
vDisk: een raw device stopt het automatische pad
Uit dezelfde run. Links: de drie disks van erp-db01, de laatste met Raw = True op een physicalSharing-bus. Rechts: het deel van assessment.json dat de beslissing voor die VM vastlegt (ID's van de bevindingen weggelaten).
VM,Disk,Capacity MiB,Raw,Disk Mode,Sharing mode,Thin,Controller,Shared Bus,Disk Path,VM UUID
erp-db01,Hard disk 1,102400,False,persistent,sharingNone,False,SCSI controller 0,noSharing,[ds-prod-02] erp-db01/erp-db01.vmdk,5001-aaaa-0002
erp-db01,Hard disk 2,512000,False,persistent,sharingNone,False,SCSI controller 1,noSharing,[ds-prod-02] erp-db01/erp-db01_1.vmdk,5001-aaaa-0002
erp-db01,Hard disk 3,512000,True,persistent,sharingNone,False,SCSI controller 2,physicalSharing,[ds-san-01] erp-db01/erp-db01_rdm.vmdk,5001-aaaa-0002{
"id": "vm.erp-db01",
"result": {
"class": "MANUAL_REVIEW",
"confidence": "MEDIUM",
"findings": [
{
"severity": "critical",
"message": "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."
},
{
"severity": "critical",
"message": "Shared or multi-writer disks (clusters such as WSFC or Oracle RAC). Shared block storage for several servers is not verified on STACKIT in this knowledge base; the cluster design has to be reviewed."
},
{
"severity": "info",
"message": "Not verifiable statically (snapshots not visible): The VM has snapshots; consolidate them before export — only the current state is migrated."
}
]
}
}De klasse wordt handmatige beoordeling
erp-db01 is de enige van de zeven machines met de klasse MANUAL_REVIEW, en compute.tf bevat voor deze machine geen serverblok.
Twee bevindingen uit één rij
Dezelfde derde disk levert een bevinding over een raw device en een bevinding over een gedeelde disk op, omdat Shared Bus physicalSharing is. Lees beide voordat u de kopie plant.
Waarom dit belangrijk is
Een raw LUN zit niet in de VMDK-bestanden, dus een image-export neemt de data ervan niet mee. De bevinding vraagt om een kopie op blokniveau of applicatieniveau naar een STACKIT-volume.
vNetwork: één rij per adapter
Uit dezelfde run. Links: de twee adapterrijen van gw-edge01. Rechts: de netwerkinterfaces die de engine daarvoor schreef.
VM,NIC label,Adapter,Network,Switch,Connected,IPv4 Address,VM UUID
gw-edge01,Network adapter 1,Vmxnet3,PG-Edge,dvs-edge,True,192.0.2.10,5001-aaaa-0005
gw-edge01,Network adapter 2,Vmxnet3,PG-ERP-App,dvs-erp,True,10.40.10.1,5001-aaaa-0005resource "stackit_network_interface" "vm_gw_edge01_nic1" {
project_id = var.project_id
network_id = stackit_network.network_PG_Edge.network_id
ipv4 = "192.0.2.10"
}
resource "stackit_network_interface" "vm_gw_edge01_nic2" {
project_id = var.project_id
network_id = stackit_network.network_PG_ERP_App.network_id
ipv4 = "10.40.10.1"
}De kolom Network bepaalt het netwerk
PG-Edge en PG-ERP-App zijn twee port groups, dus de twee interfaces verwijzen naar twee verschillende STACKIT-netwerken.
IPv4 Address blijft behouden
Beide interfaces behouden het adres uit de export. Een adapter zonder adres, zoals die van arch-old01, krijgt een interface zonder vast adres.
De switch wordt niet overgenomen
dvs-edge en dvs-erp zijn distributed switches. De run noemt de switch bij de eigenschappen die het concept niet overneemt, omdat een STACKIT-netwerk daar geen tegenhanger voor heeft.
Eén losse vDisk-rij en geen concept
Onze eerste run van deze omgeving had één extra rij in de vDisk-sheet, voor een machine die niet in vInfo staat. Links: die rij. Rechts: wat de run erover vastlegde, uit assessment.json.
VM,Disk,Capacity MiB,Raw,Disk Mode,Sharing mode,Thin,Controller,Shared Bus,Disk Path,VM UUID
retired-vm09,Hard disk 1,51200,False,persistent,sharingNone,True,SCSI controller 0,noSharing,[ds-prod-01] retired-vm09/retired-vm09.vmdk,5001-aaaa-0099{
"summary": {
"source_status": "RVTOOLS_DETAIL_UNMATCHED",
"source_file_gaps": [
{
"path": ".#vDisk",
"kind": "RVTOOLS_DETAIL_UNMATCHED",
"detail": "1 of 11 vDisk rows could not be attributed to exactly one vInfo VM (match rate 10/11); they are attached to no VM: row 12 VM \"retired-vm09\": no VM of vInfo has the name \"retired-vm09\" with the UUID 5001-aaaa-0099"
}
],
"blocked_outputs": [
{
"output": "STACKIT draft (terraform/)",
"reason": "a source file was not read in full (summary.source_file_gaps); no STACKIT draft is generated from a source that was not seen in full"
},
{
"output": "migration waves (migration/technical-sequencing.md, units[].wave)",
"reason": "a source file was not read in full (summary.source_file_gaps); a wave orders the whole estate and what is missing may hold units and dependencies"
}
]
}
}Er is geen concept gemaakt
Alle 12 eenheden zijn beoordeeld, maar de run schreef geen Terraform en geen golven, omdat de run geen concept maakt op basis van een bron die niet volledig is gezien.
De melding noemt de rij
De melding noemt de sheet, de rij, de VM-naam en de UUID die nergens bij paste, en vermeldt dat 10 van de 11 rijen overeenkwamen.
Verwijder de rij en voer de run opnieuw uit
Zonder die rij leverde dezelfde omgeving het concept wel op: 10 eenheden gegenereerd, 2 aan de architect overgelaten, 24 variabelen. Alle andere fragmenten op deze pagina komen uit die tweede run.
Welke kolom bepaalt wat
| Sheet en kolom | Wat de run deed | Waar u het leest |
|---|---|---|
| vInfo · Template | tpl-rhel9 staat op True: klasse REPLATFORM, doel een STACKIT-image, geen Terraform-blok. Een handmatige stap vraagt u te bepalen hoe de template wordt verplaatst. | assessment.json, execution/manual/actions.md |
| vInfo · Powerstate | arch-old01 staat uit: een bevinding van niveau info vraagt of de machine nog nodig is. Het concept schrijft geen powerstatus voor de server; power-state is een van de open instellingen waarover u beslist. | engineering/architect-report.md |
| vInfo · CPUs, Memory | Alleen vermeld in de omschrijving van de variabele voor het machinetype van elke server. | terraform/variables.tf |
| vInfo · OS according to the configuration file | legacy-web01 meldt CentOS 7: een waarschuwing dat het gastbesturingssysteem buiten de ondersteuning van de leverancier valt. De kolom VMware Tools wordt niet gecontroleerd en wordt aan een persoon overgelaten. | engineering/architect-report.md |
| vInfo · Datacenter, Cluster, Host, Path | Vermeld bij de kritieke instellingen die bij u blijven, zoals source-datacenter, source-cluster en datastore. Ze worden niet in Terraform overgenomen. | engineering/analysis-details.md |
| vDisk · Capacity MiB | Naar boven afgerond op hele GiB: 61440 wordt 60, 143360 wordt 140. | terraform/compute.tf |
| vDisk · Raw, Shared Bus | Kritieke bevindingen bij erp-db01. De eenheid gaat naar MANUAL_REVIEW en er wordt geen server uitgewerkt. | assessment.json |
| vDisk · Thin, Controller, Disk Mode | Thin en Controller staan bij de eigenschappen die het concept niet overneemt. Disk Mode blijft een open instelling die u bevestigt. | engineering/architect-report.md |
| vNetwork · Adapter | legacy-web01 gebruikt E1000: een bevinding van niveau info zegt dat u na de conversie de netwerkconfiguratie van het gastsysteem controleert. | engineering/architect-report.md |
| vNetwork · Connected | De adapter van arch-old01 is niet verbonden. De interface wordt toch uitgewerkt en de verbindingsstatus is een open instelling. | terraform/compute.tf, engineering/analysis-details.md |
Zonder de sheets vSnapshot en vMemory waarschuwt de run dat snapshots en geheugenreserveringen van de 7 VM's onbekend zijn, niet afwezig. Voeg beide sheets toe aan de export.
Voordat u de run uitvoert: zorg dat de export netjes aansluit
Exporteer alle sheets in één RVTools-run
Een disk die tussen twee exports is toegevoegd, is een rij zonder bijbehorende machine. Eén run, één moment, één set bestanden.
Elke vDisk- en vNetwork-rij noemt een VM uit vInfo
Naam en, waar vermeld, UUID moeten bij dezelfde machine horen. De run meldt een afwijkende rij met sheet, rijnummer, naam en UUID.
Neem vSnapshot en vMemory op in de export
Ze maken van onbekende snapshots en reserveringen vastgestelde waarden. De back-upchecklist voor VMware-omgevingen bouwt daarop voort.
Beslis over templates en uitgeschakelde machines
Ze worden beoordeeld als elke andere rij. Beslis vroeg welke u houdt, zodat de beoordelingswachtrij de machines toont die ertoe doen.
Lees ook een run met hiaten
De eenheden en hun klassen worden geschreven, ook als het concept wordt achtergehouden. U ziet dus al raw devices, gastsystemen buiten ondersteuning en machines met meerdere adapters.
Vragen over de RVTools-sheets
Welke RVTools-sheets heeft StackToIT nodig?
vInfo is de sheet waarmee de run begint. In deze rondleiding leverde vDisk de disks en vNetwork de adapters. vSnapshot en vMemory voegen snapshots en geheugenreservering toe; ontbreken ze, dan meldt de run dat en behandelt het die waarden als onbekend.
Laat een rij die niet overeenkomt de run mislukken?
Nee. De run wordt voltooid en beoordeelt elke eenheid, maar schrijft geen Terraform en geen golven totdat de rij is hersteld of verwijderd. De console meldt dat de bron onvolledig is.
Wat gebeurt er met VLAN-ID's en virtuele switches?
Elke port group wordt een STACKIT-netwerk. De run meldt dat VLAN-ID's en virtuele switches op STACKIT geen betekenis hebben, dus het subnetprefix van elk netwerk is een variabele die u instelt. Adressen uit de export staan in de omschrijving van de variabele.
Waarom wijken schijfgroottes in Terraform af van de export?
RVTools rapporteert MiB, het concept bepaalt volumegroottes in GiB en rondt naar boven af. Bevestig dat de grootte bij de workload past; de run vermeldt dit als instelling die u bevestigt.
Kan ik de .xlsx-werkmap gebruiken in plaats van CSV-bestanden?
Ja. De openbare documentatie toont stacktoit assess ./rvtools.xlsx ./vmware-migration. De sheets worden op dezelfde manier gelezen.
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.