Enterprise-Scale VMware to OpenShift Migration Architecture

7 min read

VMware to OpenShift Virtualization — Article 15 of 15

Technical baseline: OpenShift Virtualization 4.20 and MTV 2.11 documentation. Reviewed 31 October 2026. Examples are instructional and have not been executed against a production cluster; check your installed release, support matrix, and environment before use.

Enterprise migration architecture must scale decision-making, data movement, and recovery—not merely the number of VMs in a plan. This reference design organizes a VMware-to-OpenShift program around standard landing zones, application dependency groups, constrained migration lanes, and evidence-based release gates.

Define the service boundaries

Treat the migration program as a temporary production service. It needs owners, access controls, capacity, monitoring, incident handling, and a lifecycle. Its output is an accepted application on the target platform with operational ownership and protection in place.

Enterprise migration program control flow: discovery, eligibility and grouping, landing-zone qualification, wave plan, MTV execution lanes, acceptance, and protection and retirement, all around a migration system of record
Figure 1. The migration programme as a temporary production service. Every stage reads from and writes to one system of record. Select the diagram to view it at full size.
Discovery and dependency inventory
              |
Eligibility and application grouping
              |
Target landing-zone qualification
              |
Wave plan and capacity reservation
              |
MTV execution lanes by source / target constraints
              |
Guest and application acceptance
              |
Observation, protection, source retirement

Use this as a control-flow design. Bulk data follows provider- and method-specific paths; do not route every transfer through a central control-plane network simply because the planning service is centralized.

Landing zones are operating contracts

Define approved combinations of compute pool, CPU baseline, storage class, network attachment, namespace policy, guest build, backup policy, and support ownership. A landing zone should state which VM classes it accepts and which exceptions need review.

Example landing zones as operating contracts: general purpose, dedicated CPU, legacy VLAN and specialized devices, each defining compute pool, CPU baseline, storage, network, policy and accepted VM classes
Figure 2. Landing zones are operating contracts: approved combinations of compute, storage, network, policy and ownership, each accepting defined VM classes. Select the diagram to view it at full size.

For example, separate general-purpose workloads from dedicated-CPU workloads, legacy VLAN dependencies, or specialized devices when their constraints differ materially. Avoid proliferating clusters solely to mirror every vCenter folder. Conversely, do not combine incompatible tenancy, recovery, or regulatory requirements just to maximize host utilization.

Each zone needs documented maintenance and failure behavior. The Red Hat architecture guidance provides a product architecture starting point; the design below is an illustrative program model that must be validated for the organization.

Build a migration system of record

Use immutable source IDs rather than display names as the primary identity. Keep application grouping separate from VM names so a rename does not destroy history.

application_id
source_provider_id / source_vm_id
business_owner / technical_owner
criticality / RTO / RPO
guest_os / firmware / disk_layout / encryption
dependency_group / migration_wave
target_cluster / namespace / network_map / storage_map
method / estimated_bytes / measured_change_rate
preflight_state / exception_owner
cutover_window / abort_deadline / rollback_method
execution_id / acceptance_evidence / retirement_date

Store credentials separately in approved secret systems. The system of record should reference credential ownership and expiry, not contain passwords or bearer tokens. Version mapping decisions and retain an audit trail of who changed them and why.

Group by application consistency and dependencies

Construct a dependency graph from application-owner input and measured communication. Identify databases, identity services, queues, file services, batch dependencies, and external integrations. Mark which edges tolerate temporary cross-platform latency and which require coordinated cutover.

A wave is not simply “the next 50 VMs.” It is a set of changes with a coherent outage, rollback, and validation boundary. Shared dependencies may need their own strategy. Migrating a database before its dependent application without verifying the interim network can break a technically successful VM move.

Design execution lanes around bottlenecks

Partition migration execution by source vCenter/ESXi constraints, datastore paths, network routes, target storage classes, and conversion capacity. Separate control-plane API traffic from bulk transfer requirements in firewall and bandwidth planning. Validate endpoint reachability from the actual transfer workloads, not only from the operator’s workstation.

Migration throughput pipeline: source reads, network, target writes, conversion and application validation; the narrowest stage, often validation staffing, limits accepted VMs per night
Figure 3. Throughput is set by the narrowest stage. Copying 100 VMs a night means little if validation can accept only 20. Select the diagram to view it at full size.

Use the MTV planning documentation for provider prerequisites and supported tuning. Treat concurrency as a measured operating limit, not a target to maximize.

Constraint Measurement Control
Source reads Datastore latency and host transfer load Per-source lane limit
Network Effective transfer rate and packet loss Bandwidth budget and scheduling
Target writes Backend latency and queueing Per-class concurrency limit
Conversion CPU, memory, pending jobs, duration Worker resource reservation
Validation Application-owner throughput Smaller acceptance batches

An infrastructure team able to copy 100 VMs per night may still be limited to 20 accepted VMs if application validation is understaffed. Include people and change windows in the throughput model.

Worked throughput example

Assume an illustrative wave contains 24 VMs with 9 TiB of data to transfer. A pilot demonstrates 750 MiB/s aggregate effective transfer while keeping production storage latency within its limit. The idealized bulk-copy time is approximately:

9 × 1,048,576 MiB / 750 MiB/s = 12,583 seconds ≈ 3.5 hours

This is only the bulk-transfer lower bound. Add source snapshot work, changed data, conversion, startup, and application validation. If the measured cutover stages require another 45 minutes and validation takes 60 minutes, those durations belong explicitly in the schedule; they cannot be hidden behind the transfer estimate.

For warm migration, most bulk transfer can precede the outage, but the final changed-data volume and conversion still determine the cutover. Use pilot distributions and confidence margins rather than promising that every VM will match the fastest sample.

State machine and release gates

Define states with entry criteria and an owner:

Migration state machine with nine states: discovered, qualified, pilot validated, scheduled, executing, technically ready, accepted, protected and retired, each with exit evidence
Figure 4. Each VM or application moves through explicit states with exit evidence. MTV completion never auto-advances to Accepted. Select the diagram to view it at full size.
State Exit evidence
Discovered Required inventory fields and owner confirmed
Qualified Support, mappings, capacity, and recovery approved
Pilot validated Representative conversion and application tests pass
Scheduled Window, contacts, abort deadline, and rollback ready
Executing Tracked execution with no unresolved stop condition
Technically ready Guest, disks, networking, and monitoring verified
Accepted Business transactions and performance pass
Protected Target backup and restore procedure verified
Retired Source retention and inventory obligations closed

Do not automatically advance from MTV completion to application acceptance. Keep a failed or timed-out validation visible even if infrastructure status is green. Exceptions should have an owner, expiry, and compensating procedure.

Security and separation of duties

Use scoped provider privileges and target permissions based on documented operations. Separate the ability to define network/storage policy from routine execution where the organization requires it. Review provider trust, registry access, image provenance, and secret rotation before a large wave.

Avoid copying provider secrets into every project by default. Use the supported MTV resource/namespace design and review who can reference or modify providers and plans. Sanitize logs and exported manifests before sharing them with application teams or external support.

Rollback is a data-authority decision

Document the exact point when the target becomes authoritative. Before that point, rollback can often return service to the source after safely isolating the target. After target writes, returning to a stale source requires an application-specific reconciliation or restore path.

For each application, record the last safe abort time, maximum tolerated data loss, recovery procedure, and person authorized to decide. Test split-brain prevention. A preserved source VM is useful, but it is not a complete rollback plan.

For critical systems, rehearse both a failed technical cutover and a failed application acceptance. Time the recovery steps and verify real client transactions after rollback. Keep these results with the wave record.

Observability and program metrics

Measure eligible versus blocked VMs, transfer throughput, conversion failures by cause, cutover duration, validation duration, rollback rate, accepted applications, and outstanding protection gaps. Distinguish copied, booted, accepted, and retired counts.

Programme metrics funnel distinguishing eligible, copied, booted, accepted and retired counts, with actionable failure categories
Figure 5. Report copied, booted, accepted and retired as different numbers, and classify failures so they lead to preflight improvements. Select the diagram to view it at full size.

Use failure categories that lead to action: unsupported guest, bad mapping, source access, target capacity, conversion defect, guest configuration, or application dependency. Review recurring causes between waves and improve the preflight rather than repeating manual fixes.

Transition to steady-state operations

Before program closure, hand over patching, capacity management, backup/restore, monitoring, access, maintenance, and incident runbooks. Reconcile DNS, CMDB, licenses, backup policies, and source retention. Retire temporary migration infrastructure and credentials through the approved process once no longer required.

The program is complete when applications are accepted, protected, and supportable on the target, with source obligations closed. Use the migration strategy, sizing model, and troubleshooting guide as the working procedures behind this architecture.


Explore the complete series

  1. VMware vs OpenShift Virtualization: Complete Technical Comparison
  2. OpenShift Virtualization Architecture Explained
  3. Understanding KubeVirt, VM and VMI
  4. VMware to OpenShift: Complete Migration Strategy
  5. MTV Architecture and Internal Working
  6. OpenShift Virtualization Networking Deep Dive
  7. OpenShift Virtualization Storage Deep Dive
  8. OpenShift VM Live Migration Explained
  9. OpenShift Cluster Sizing for Virtualization
  10. Migrating Windows VMs Using MTV
  11. Migrating Linux VMs Using MTV
  12. VMware PowerCLI vs OpenShift CLI
  13. Building OpenShift PowerShell Cmdlets
  14. OpenShift Virtualization Troubleshooting Guide
  15. Enterprise-Scale VMware to OpenShift Migration Architecture
Share this article LinkedIn X