# My Journey: Transitioning from VMWare ESXi 7 to Proxmox 9

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.

## My Homelab Journey Background

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.

### The Hardware Evolution

My journey began with modest hardware:

- **Initial Setup (2020)**: Intel NUC8I7BEH with 32GB RAM
- **Hardware**: Perfect for a beginner homelab
- **Duration**: Ran this setup for about 18 months before upgrading

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.

### The Turning Point: VMWare Acquisition

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.

## Why I Chose Proxmox

During my 5+ years with ESXi, I kept hearing about **Proxmox VE**—an open-source hypervisor that seemed to offer compelling advantages:

### Key Motivating Factors

1. **Open Source**: No licensing uncertainties or vendor lock-in
2. **LXC Container Support**: Native support for both VMs and containers
3. **Comprehensive Management**: Integrated backup, monitoring, and clustering
4. **Community Support**: Active development and community backing

However, I was initially reluctant to migrate because:

- **Scale**: 30+ VMs represented significant investment in configuration
- **Complexity**: Migration isn't a simple one-click process
- **Time Investment**: Required immense planning and execution time

## Step 1: Planning for Migration

The planning phase was crucial. With 30+ VMs, I couldn't afford downtime or data loss.

### Pre-Migration Assessment

1. **VM Inventory**
   - Documented all 30+ VMs with their purposes
   - Catalogued resource allocations (CPU, RAM, storage)
   - Identified critical vs. development VMs
   - Listed network configurations and dependencies

2. **Infrastructure Requirements**
   - Verified hardware compatibility with Proxmox
   - Planned storage layout and naming conventions
   - Designed network bridge configurations
   - Created migration timeline and rollback plans

### Migration Strategy

I decided on a **phased migration approach**:

- **Phase 1**: Non-critical development VMs
- **Phase 2**: Testing and validation VMs
- **Phase 3**: Production and critical services

## Step 2: Actual Migration Process

### Installing Proxmox 9

1. **Fresh Installation** - Clean Proxmox 9 installation with initial networking and storage configuration
2. **Network Configuration** - Created Linux bridges matching ESXi port groups with VLAN tagging

### VM Migration Methods

#### Method 1: Using Proxmox Import Wizard

Proxmox provides a built-in import wizard, but it's not a complete solution:

```bash
# Example import command (simplified)
qm importovf 100 /path/to/vm.ovf local-lvm --format qcow2
```

#### Method 2: Manual Export/Import Process

For better control, I used a manual process:

```bash
# Convert VMDK to qcow2
qemu-img convert -f vmdk -O qcow2 source-disk.vmdk /path/to/storage/vm-100-disk-0.qcow2

# Create VM configuration
qm create 100 --name "migrated-vm" --memory 2048 --sockets 1 --cores 2
qm set 100 --scsi0 local-lvm:vm-100-disk-0,format=qcow2
```

## Step 3: Post-Migration Configurations

This was where the real work began. Simply importing VMs wasn't enough—each required specific configurations.

### Essential VM Adjustments

```bash
# Update VM hardware settings
qm set 100 --cpu cputype=host  # Better performance
qm set 100 --balloon 0         # Disable memory ballooning if needed
qm set 100 --agent 1           # Enable Qemu Guest Agent
```

### Linux VM Specific Changes

Most of my VMs were Linux distributions, requiring these adjustments:

#### Install Qemu Guest Agent

```bash
# Ubuntu/Debian
sudo apt update && sudo apt install qemu-guest-agent
sudo systemctl enable qemu-guest-agent

# CentOS/RHEL
sudo yum install qemu-guest-agent
sudo systemctl enable qemu-guest-agent
```

#### Remove VMWare Tools

```bash
# Clean removal of VMWare tools
sudo vmware-uninstall-tools.pl
```

## Step 4: Final Stage - Running VMs Seamlessly

### Performance Optimization

1. **CPU Configuration** - Set CPU type to `host` for better performance
2. **Storage Performance** - Configured appropriate cache settings and I/O threads
3. **Memory Management** - Optimized memory allocation and ballooning settings

### Backup Configuration

One major advantage of Proxmox is integrated backup:

```bash
# Configure automated backups
vzdump 100 --storage backup-storage --mode snapshot --compress gzip
```

## Lessons Learned and Best Practices

### What Worked Well

- **Phased Approach**: Migrating in phases reduced risk and stress
- **Documentation**: Thorough documentation saved time troubleshooting
- **Testing Environment**: Having a test Proxmox instance helped validate processes

### Challenges Faced

- **Time Investment**: Migration took much longer than initially estimated
- **Network Configuration**: Required careful attention to bridge and VLAN setup
- **VM Tools**: Removing VMWare tools and installing Qemu agents took time

## The Results: Was It Worth It?

After completing the migration of all 30+ VMs, I can confidently say **yes, it was worth it**:

### Benefits Realized

- **Cost Savings**: No licensing fees or vendor dependency
- **Enhanced Features**: Better backup integration, LXC containers, clustering
- **Performance**: Comparable or better performance than ESXi
- **Flexibility**: Open-source platform with active development
- **Peace of Mind**: No concerns about future licensing changes

## Conclusion

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.

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.

**Timeline Summary**: 5+ years on ESXi → 1 month planning and migration → Successfully running on Proxmox 9

The migration journey has not only saved me from licensing concerns but also opened up new possibilities for my homelab growth and experimentation.

---

