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
- Landing zones are operating contracts
- Build a migration system of record
- Group by application consistency and dependencies
- Design execution lanes around bottlenecks
- Worked throughput example
- State machine and release gates
- Security and separation of duties
- Rollback is a data-authority decision
- Observability and program metrics
- Transition to steady-state operations
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.

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.

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.

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:

| 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.

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
- VMware vs OpenShift Virtualization: Complete Technical Comparison
- OpenShift Virtualization Architecture Explained
- Understanding KubeVirt, VM and VMI
- VMware to OpenShift: Complete Migration Strategy
- MTV Architecture and Internal Working
- OpenShift Virtualization Networking Deep Dive
- OpenShift Virtualization Storage Deep Dive
- OpenShift VM Live Migration Explained
- OpenShift Cluster Sizing for Virtualization
- Migrating Windows VMs Using MTV
- Migrating Linux VMs Using MTV
- VMware PowerCLI vs OpenShift CLI
- Building OpenShift PowerShell Cmdlets
- OpenShift Virtualization Troubleshooting Guide
- Enterprise-Scale VMware to OpenShift Migration Architecture