If you’re still relying on VMware ESXi and recently felt the heat of Broadcom’s massive 300% price hike, you’re not alone. Thousands of organizations have been left re-evaluating their infrastructure plans, and many are turning to open-source, community-supported alternatives like OpenStack.
In this guide, we’ll walk you through the entire process of migrating a virtual machine (VM) from VMware ESXi to OpenStack, including:
- Exporting the VM from ESXi
- Converting it to the OpenStack-compatible QCOW2 format
- Importing it into OpenStack
- Launching your new VM with full persistence

Whether you’ve already made the switch to OpenStack or you’re still on the fence, this article will help you visualize the real-world migration steps with clarity.
🧠 Why OpenStack? And Why Now?
Let’s start with some context. VMware’s price increase has prompted a wave of organizations to reconsider their reliance on proprietary hypervisors. OpenStack is an open-source cloud infrastructure platform that offers:
- Full virtualization and orchestration
- Multi-tenancy support
- Scalability from small labs to enterprise clusters
- No licensing costs
Companies like OpenMetal offer hosted OpenStack environments that remove the burden of building your own infrastructure. But even if you’ve installed OpenStack yourself, this guide still applies 100%.
📋 Step 1: Plan Before You Migrate
Before jumping into any migration, a little planning goes a long way. Here’s what you should do:
🗂️ Create a Migration Project Plan
- List all VMs currently running in VMware ESXi.
- Identify which ones are essential and which can be retired.
- Decide on migration order — start with test VMs first to gain confidence.
- Set DNS TTL (Time to Live) values to 5 minutes for all server entries a few days before migration to ensure faster IP switchovers.
- Communicate planned downtimes or inconsistencies with users.
💡 Best Practice Tip:
After migration, disable auto-start for the old VMware VMs and power them off permanently to prevent split-brain issues or data divergence.
🖥️ Step 2: Export the VM from VMware ESXi
Let’s begin with exporting your virtual machine from ESXi.
- Log in to your VMware ESXi dashboard.
- Locate the VM you want to migrate.
- Gracefully shut down the VM to avoid inconsistent data states.
- Select the VM, click Actions > Export.
- Uncheck “Include memory” (if available).
- Download the VMDK file (virtual disk) to your local machine.
💡 Tip: You can also add a small test file (e.g., hello.txt) before shutting it down to verify persistence later in OpenStack.
🧰 Step 3: Convert VMDK to QCOW2 Format
OpenStack uses QCOW2 as the native disk image format. We’ll use QEMU-img, a powerful Linux command-line utility, to convert the file.
🔧 Install QEMU-img on Your Linux Machine
For Fedora-based systems:
sudo dnf install qemu-img
For Debian/Ubuntu:
sudo apt install qemu-utils
🔄 Convert the File
Assuming you have your .vmdk file in your Downloads directory:
qemu-img convert -f vmdk -O qcow2 debian-server.vmdk debian-server.qcow2
Once completed, the .qcow2 image is ready for upload to OpenStack.
🌐 Step 4: Upload the Image to OpenStack
Let’s import the converted image into your OpenStack environment.
- Log in to your OpenStack dashboard.
- In the left menu, go to Compute > Images.
- Click Create Image.
- Enter a name (e.g., “Debian Server”).
- Format: Select QCOW2
- Browse and upload your
.qcow2file. - Set minimum disk size (e.g., 32GB if that was the original VM size).
- Click Create Image
Wait for the upload to complete. Once done, the image will appear in your list and is ready for use.
📁 Step 5: Launch a New VM from the Uploaded Image
Now that your image is in OpenStack, it’s time to spin up a new instance.
- Go to Compute > Instances
- Click Launch Instance
- Set instance name and description
- Under Source, select the uploaded image and move it to the right panel
- Under Flavor, select resources that match your original VM (e.g., 4 vCPUs, 8GB RAM, 50GB disk)
- Under Networks, attach a suitable network
- Optionally add:
- Security Groups (firewall rules)
- Key Pairs (for SSH access)
- Custom scripts (under Configuration)
Click Launch Instance. The VM will boot using your QCOW2 disk image.
🧪 Step 6: Verify the Migration
Once the instance is running:
- Open the console from the OpenStack interface.
- Log into your VM.
- Check for the test file or data you had earlier (e.g.,
cat hello.txt). - Confirm OS, users, and services are working.
This confirms that everything migrated successfully.
📌 Optional: Use Projects for Better Resource Organization
OpenStack allows logical grouping of resources into Projects:
- Go to Identity > Projects
- Click Create Project, name it (e.g., “Production” or “Dev”)
- Assign members (users) and roles
- Switch to the new project from the top-right dropdown
This helps in organizing multiple tenants or environments.
🔒 Final Post-Migration Checklist
✔️ VM successfully running on OpenStack
✔️ Old VMware VM is powered off and set not to auto-start
✔️ DNS TTL reduced prior to migration
✔️ All user sessions and scripts validated
✔️ Backups updated for new VMs
❓ FAQ – Frequently Asked Questions
Q: Will my settings and configurations carry over?
Yes. Since you’re migrating the full disk, all files, users, and configurations remain intact.
Q: Can I use this method for Windows VMs?
Yes, but make sure the virtio drivers are installed for network and disk compatibility in OpenStack.
Q: What if I don’t have OpenStack set up?
You can use a hosted service like OpenMetal to get started instantly without hardware setup.
⚠️ Disclaimer
Migrating production workloads requires planning and testing. Always back up critical systems and perform a test migration before committing to a full switch. This guide uses open-source tools and assumes familiarity with Linux and virtualization concepts.
🔖 Tags and Hashtags
Tags: openstack migration, vmware to openstack, qemu-img, convert vmdk to qcow2, openstack import image, vm migration, debian server on openstack, linux virtualization
Hashtags:
#OpenStack #VMwareMigration #QCOW2 #QEMU #LinuxCloud #VMImport #DevOps #Virtualization #CloudInfrastructure #OpenMetal
🛠 Recommended Tools
- 🧰 QEMU-img utility: https://www.qemu.org/download/
- 🌐 OpenMetal Hosted OpenStack: https://www.openmetal.io/
- 🔐 Cloud-init setup for VMs: https://cloudinit.readthedocs.io/
Now you’re ready to confidently migrate from VMware ESXi to OpenStack. Whether you’re a sysadmin escaping high licensing costs or an open-source enthusiast building a scalable cloud, OpenStack has you covered.
Let us know in the comments which VM platform you’re switching from—and what made you choose OpenStack. Happy migrating! 🐧