Hyper-V to Proxmox Migration
Leading a critical infrastructure migration to transition production systems from Microsoft Hyper-V to Proxmox VE. This project encompasses Active Directory Domain Controllers and Linux-based network monitoring tools (LibreNMS, Netdisco), requiring different migration strategies based on workload type.
// Migration Scope & Strategy
// Critical Warning
// Pre-Migration: Hyper-V Generation Check
Before creating the Proxmox VM shell, identify the source generation to match BIOS settings.
Check via: Hyper-V Manager → VM → Summary Tab → "Generation"
// Active Directory: The "Leapfrog" Method
Migrate Domain Controllers without IP changes or downtime by building new DCs on Proxmox and using AD replication to transfer data safely.
Move-ADDirectoryServerOperationMasterRole -Identity "NEW-DC1" `
-OperationMasterRole SchemaMaster, DomainNamingMaster, `
PDCEmulator, RIDMaster, InfrastructureMaster // Standard Linux VMs: V2V Process
For Linux VMs like Netdisco, Switchmap, and LibreNMS, use direct disk conversion.
Phase 1: Create the "Shell" (Proxmox GUI)
Create the VM chassis but do not create a hard drive.
Phase 2: Disk Transfer (SCP)
Push the VHDX file from the Hyper-V host to Proxmox.
scp "C:\Path\To\Disk.vhdx" root@PROXMOX_IP:/var/lib/vz/dump/ Phase 3: Import & Attach (Proxmox Shell)
Convert the VHDX to QCOW2 and map it to the VM ID.
# Syntax: qm importdisk <vmid> <source_path> <storage_id>
qm importdisk 102 /var/lib/vz/dump/Netdisco.vhdx local-lvm // Post-Migration Hiccups & Fixes
// Application-Specific Troubleshooting
- DB Host: Edit ~/environments/deployment.yml, change IP to localhost
- Cookie Crash: Add session_cookie_key: 'random_string_1234' to deployment.yml
- Manual Start: sudo su - netdisco && ~/bin/netdisco-backend start && ~/bin/netdisco-web start
// File Server: Samba AD Migration
The legacy environment had multiple Windows 10 machines acting as file servers in a "split-brain" configuration: files scattered across machines with no centralized management, inconsistent permissions, and no proper backup strategy. I built an open-source automation toolkit to solve this.
// Current Status
- ✓ Pre-migration analysis complete
- ✓ Proxmox cluster provisioned
- ✓ Domain Controller leapfrog strategy documented
- ✓ Linux VM conversion process validated
- ✓ LibreNMS migrated and operational
- ✓ Netdisco migrated and operational
- ✓ Switchmap migrated and operational
- ✓ File server: Samba AD toolkit created and deployed
- ✓ File server: Data migrated via Robocopy
- ✓ File server: DFS namespace updated for cutover
- ○ Domain Controller migration (scheduled)
- ○ Final cutover and decommissioning