<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[techdiscussion]]></title><description><![CDATA[techdiscussion]]></description><link>https://techdiscussion.rameshmaharana.com</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 00:13:11 GMT</lastBuildDate><atom:link href="https://techdiscussion.rameshmaharana.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[My Journey: Transitioning from VMWare ESXi 7 to Proxmox 9]]></title><description><![CDATA[After running VMWare ESXi for over 5 years in my homelab, I recently completed the migration to Proxmox 9. This wasn't a decision I made lightly—with 30+ VMs running various Linux distros, the migration required careful planning and execution. Here's...]]></description><link>https://techdiscussion.rameshmaharana.com/my-journey-transitioning-from-vmware-esxi-7-to-proxmox-9</link><guid isPermaLink="true">https://techdiscussion.rameshmaharana.com/my-journey-transitioning-from-vmware-esxi-7-to-proxmox-9</guid><category><![CDATA[esxi]]></category><category><![CDATA[VMWare Esxi]]></category><category><![CDATA[vmware]]></category><category><![CDATA[proxmox]]></category><dc:creator><![CDATA[Ramesh Maharana]]></dc:creator><pubDate>Sat, 03 Jan 2026 03:19:35 GMT</pubDate><content:encoded><![CDATA[<p>After running VMWare ESXi for over 5 years in my homelab, I recently completed the migration to Proxmox 9. This wasn't a decision I made lightly—with 30+ VMs running various Linux distros, the migration required careful planning and execution. Here's my complete journey and the lessons learned along the way.</p>
<h2 id="heading-my-homelab-journey-background">My Homelab Journey Background</h2>
<p>I started my homelab journey in 2020, coming from a VMWare Workstation Player background. Naturally, VMWare ESXi 7 was my go-to choice for the hypervisor—it was the latest version available and felt like a natural progression.</p>
<h3 id="heading-the-hardware-evolution">The Hardware Evolution</h3>
<p>My journey began with modest hardware:</p>
<ul>
<li><strong>Initial Setup (2020)</strong>: Intel NUC8I7BEH with 32GB RAM</li>
<li><strong>Hardware</strong>: Perfect for a beginner homelab</li>
<li><strong>Duration</strong>: Ran this setup for about 18 months before upgrading</li>
</ul>
<p>As my homelab needs grew, I moved to higher-specification hardware from Supermicro with AMD Epyc 8 core processor while sticking with ESXi 7. By late 2023, I was managing 30+ VMs, mostly Linux distributions serving various purposes in my lab environment.</p>
<h3 id="heading-the-turning-point-vmware-acquisition">The Turning Point: VMWare Acquisition</h3>
<p>The game changed in late 2023 when Broadcom acquired VMWare. The free version of ESXi was discontinued, leaving many homelabbers like myself in a difficult position. While ESXi 8 became available as a free version in April 2025, I had already started considering alternatives.</p>
<h2 id="heading-why-i-chose-proxmox">Why I Chose Proxmox</h2>
<p>During my 5+ years with ESXi, I kept hearing about <strong>Proxmox VE</strong>—an open-source hypervisor that seemed to offer compelling advantages:</p>
<h3 id="heading-key-motivating-factors">Key Motivating Factors</h3>
<ol>
<li><strong>Open Source</strong>: No licensing uncertainties or vendor lock-in</li>
<li><strong>LXC Container Support</strong>: Native support for both VMs and containers</li>
<li><strong>Comprehensive Management</strong>: Integrated backup, monitoring, and clustering</li>
<li><strong>Community Support</strong>: Active development and community backing</li>
</ol>
<p>However, I was initially reluctant to migrate because:</p>
<ul>
<li><strong>Scale</strong>: 30+ VMs represented significant investment in configuration</li>
<li><strong>Complexity</strong>: Migration isn't a simple one-click process</li>
<li><strong>Time Investment</strong>: Required immense planning and execution time</li>
</ul>
<h2 id="heading-step-1-planning-for-migration">Step 1: Planning for Migration</h2>
<p>The planning phase was crucial. With 30+ VMs, I couldn't afford downtime or data loss.</p>
<h3 id="heading-pre-migration-assessment">Pre-Migration Assessment</h3>
<ol>
<li><p><strong>VM Inventory</strong></p>
<ul>
<li>Documented all 30+ VMs with their purposes</li>
<li>Catalogued resource allocations (CPU, RAM, storage)</li>
<li>Identified critical vs. development VMs</li>
<li>Listed network configurations and dependencies</li>
</ul>
</li>
<li><p><strong>Infrastructure Requirements</strong></p>
<ul>
<li>Verified hardware compatibility with Proxmox</li>
<li>Planned storage layout and naming conventions</li>
<li>Designed network bridge configurations</li>
<li>Created migration timeline and rollback plans</li>
</ul>
</li>
</ol>
<h3 id="heading-migration-strategy">Migration Strategy</h3>
<p>I decided on a <strong>phased migration approach</strong>:</p>
<ul>
<li><strong>Phase 1</strong>: Non-critical development VMs</li>
<li><strong>Phase 2</strong>: Testing and validation VMs</li>
<li><strong>Phase 3</strong>: Production and critical services</li>
</ul>
<h2 id="heading-step-2-actual-migration-process">Step 2: Actual Migration Process</h2>
<h3 id="heading-installing-proxmox-9">Installing Proxmox 9</h3>
<ol>
<li><strong>Fresh Installation</strong> - Clean Proxmox 9 installation with initial networking and storage configuration</li>
<li><strong>Network Configuration</strong> - Created Linux bridges matching ESXi port groups with VLAN tagging</li>
</ol>
<h3 id="heading-vm-migration-methods">VM Migration Methods</h3>
<h4 id="heading-method-1-using-proxmox-import-wizard">Method 1: Using Proxmox Import Wizard</h4>
<p>Proxmox provides a built-in import wizard, but it's not a complete solution:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># Example import command (simplified)</span>
qm importovf 100 /path/to/vm.ovf local-lvm --format qcow2
</code></pre>
<h4 id="heading-method-2-manual-exportimport-process">Method 2: Manual Export/Import Process</h4>
<p>For better control, I used a manual process:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># Convert VMDK to qcow2</span>
qemu-img convert -f vmdk -O qcow2 source-disk.vmdk /path/to/storage/vm-100-disk-0.qcow2

<span class="hljs-comment"># Create VM configuration</span>
qm create 100 --name <span class="hljs-string">"migrated-vm"</span> --memory 2048 --sockets 1 --cores 2
qm <span class="hljs-built_in">set</span> 100 --scsi0 local-lvm:vm-100-disk-0,format=qcow2
</code></pre>
<h2 id="heading-step-3-post-migration-configurations">Step 3: Post-Migration Configurations</h2>
<p>This was where the real work began. Simply importing VMs wasn't enough—each required specific configurations.</p>
<h3 id="heading-essential-vm-adjustments">Essential VM Adjustments</h3>
<pre><code class="lang-bash"><span class="hljs-comment"># Update VM hardware settings</span>
qm <span class="hljs-built_in">set</span> 100 --cpu cputype=host  <span class="hljs-comment"># Better performance</span>
qm <span class="hljs-built_in">set</span> 100 --balloon 0         <span class="hljs-comment"># Disable memory ballooning if needed</span>
qm <span class="hljs-built_in">set</span> 100 --agent 1           <span class="hljs-comment"># Enable Qemu Guest Agent</span>
</code></pre>
<h3 id="heading-linux-vm-specific-changes">Linux VM Specific Changes</h3>
<p>Most of my VMs were Linux distributions, requiring these adjustments:</p>
<h4 id="heading-install-qemu-guest-agent">Install Qemu Guest Agent</h4>
<pre><code class="lang-bash"><span class="hljs-comment"># Ubuntu/Debian</span>
sudo apt update &amp;&amp; sudo apt install qemu-guest-agent
sudo systemctl <span class="hljs-built_in">enable</span> qemu-guest-agent

<span class="hljs-comment"># CentOS/RHEL</span>
sudo yum install qemu-guest-agent
sudo systemctl <span class="hljs-built_in">enable</span> qemu-guest-agent
</code></pre>
<h4 id="heading-remove-vmware-tools">Remove VMWare Tools</h4>
<pre><code class="lang-bash"><span class="hljs-comment"># Clean removal of VMWare tools</span>
sudo vmware-uninstall-tools.pl
</code></pre>
<h2 id="heading-step-4-final-stage-running-vms-seamlessly">Step 4: Final Stage - Running VMs Seamlessly</h2>
<h3 id="heading-performance-optimization">Performance Optimization</h3>
<ol>
<li><strong>CPU Configuration</strong> - Set CPU type to <code>host</code> for better performance</li>
<li><strong>Storage Performance</strong> - Configured appropriate cache settings and I/O threads</li>
<li><strong>Memory Management</strong> - Optimized memory allocation and ballooning settings</li>
</ol>
<h3 id="heading-backup-configuration">Backup Configuration</h3>
<p>One major advantage of Proxmox is integrated backup:</p>
<pre><code class="lang-bash"><span class="hljs-comment"># Configure automated backups</span>
vzdump 100 --storage backup-storage --mode snapshot --compress gzip
</code></pre>
<h2 id="heading-lessons-learned-and-best-practices">Lessons Learned and Best Practices</h2>
<h3 id="heading-what-worked-well">What Worked Well</h3>
<ul>
<li><strong>Phased Approach</strong>: Migrating in phases reduced risk and stress</li>
<li><strong>Documentation</strong>: Thorough documentation saved time troubleshooting</li>
<li><strong>Testing Environment</strong>: Having a test Proxmox instance helped validate processes</li>
</ul>
<h3 id="heading-challenges-faced">Challenges Faced</h3>
<ul>
<li><strong>Time Investment</strong>: Migration took much longer than initially estimated</li>
<li><strong>Network Configuration</strong>: Required careful attention to bridge and VLAN setup</li>
<li><strong>VM Tools</strong>: Removing VMWare tools and installing Qemu agents took time</li>
</ul>
<h2 id="heading-the-results-was-it-worth-it">The Results: Was It Worth It?</h2>
<p>After completing the migration of all 30+ VMs, I can confidently say <strong>yes, it was worth it</strong>:</p>
<h3 id="heading-benefits-realized">Benefits Realized</h3>
<ul>
<li><strong>Cost Savings</strong>: No licensing fees or vendor dependency</li>
<li><strong>Enhanced Features</strong>: Better backup integration, LXC containers, clustering</li>
<li><strong>Performance</strong>: Comparable or better performance than ESXi</li>
<li><strong>Flexibility</strong>: Open-source platform with active development</li>
<li><strong>Peace of Mind</strong>: No concerns about future licensing changes</li>
</ul>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Migrating from VMWare ESXi 7 to Proxmox 9 with 30+ VMs was a significant undertaking that required careful planning and execution. While the process wasn't trivial, the benefits of an open-source, feature-rich virtualization platform have made it worthwhile.</p>
<p>The key to success was treating this as a project, not a quick task. Proper planning, phased execution, and allowing time for post-migration optimization were crucial factors in achieving a successful migration.</p>
<p><strong>Timeline Summary</strong>: 5+ years on ESXi → 1 month planning and migration → Successfully running on Proxmox 9</p>
<p>The migration journey has not only saved me from licensing concerns but also opened up new possibilities for my homelab growth and experimentation.</p>
<hr />
]]></content:encoded></item></channel></rss>