Tezla Group · Team learning
Virtualization
The full book on Hyper-V and VMware ESXi. Concepts, versions, downloads, design, build, deploy, maintain — everything a Tezla tech needs to design, build, deploy, and maintain client virtualization.
Shared foundations
Concepts, explained
These ideas are identical on both platforms. Learn them once — they pay rent on every job.
Type-1 vs Type-2 hypervisors
A Type-1 (bare-metal) hypervisor runs directly on the hardware and schedules guest VMs itself — no host OS in the path. A Type-2 (hosted) hypervisor runs as an application inside a conventional OS (e.g. VMware Workstation on Windows).
ESXi is a thin Type-1: a ~150 MB VMkernel boots first and owns all hardware — no general-purpose OS underneath. Hyper-V is also Type-1, but layered: the hypervisor boots first, then the management OS (the parent partition, your Windows Server install) boots as a privileged guest on top of it. Child partitions (your VMs) run alongside.
Rule of thumb: production servers always run Type-1. Type-2 is for labs, desktops, and demos.
vCPU, vRAM, and overcommitment
A vCPU is a scheduling share of physical CPU time, not a dedicated core. Start small (1–2 vCPUs) and grow — oversized VMs waste scheduler time and can slow themselves down (the “wide VM” problem).
ESXi reclaims idle memory via ballooning (a VMware Tools driver forces the guest to page out idle RAM). Hyper-V uses Dynamic Memory — VM RAM grows/shrinks between Startup and Maximum RAM based on demand.
Design rule: overcommit CPU freely (3:1–4:1 is normal); keep committed RAM at or below ~80–90% of host RAM. Never plan to depend on ballooning in steady state.
Virtual switches and VLANs
Hyper-V vSwitch (Layer-2, three types): External (binds a physical NIC; VMs reach the LAN), Internal (VMs + management OS only), Private (VM-to-VM only). Features: VLAN tagging, SR-IOV, Switch Embedded Teaming (SET), port mirroring, DHCP guard, router guard.
VMware: Standard switch (vSS) configured per host — fine for 1–2 hosts; Distributed switch (vDS) configured once in vCenter and pushed to all hosts — required for advanced features. Port groups define VLANs + policy; vmkernel adapters (vmk) are the host’s own TCP/IP endpoints, one per traffic type.
MSP pattern: one vSwitch per host on teamed NICs carrying tagged VLANs, with separate networks for Management, VM traffic, storage, and vMotion/Live Migration.
Virtual storage: VHDX, VMDK, thin vs thick
Hyper-V uses VHDX (up to 64 TB; VHD is legacy 2 TB — never use for new VMs). ESXi uses VMDK (up to 62 TB). A VM is just a set of files — that file-based nature is what makes VMs portable, clonable, and backup-friendly.
Thin provisioning starts small and grows as the guest writes (saves space, risks over-provisioning — monitor it). Thick allocates everything up front (VMware: lazy-zeroed vs eager-zeroed; Hyper-V: dynamically expanding vs fixed-size VHDX).
Beyond disks: Storage Spaces Direct / Azure Local (Microsoft’s pooled-local-disk answer to vSAN), vSAN (pools host-local SSDs), traditional SAN (iSCSI/FC) and NAS (SMB3/NFS).
Snapshots are not backups
The single most misunderstood topic. A snapshot (VMware) / checkpoint (Hyper-V) is a point-in-time differencing state — the VM keeps running on a delta disk while the original is frozen. It is a change log, not a copy. The delta grows, performance degrades, and a corrupted delta chain can destroy the VM.
A backup is an independent, restorable copy stored outside production storage, with retention and ideally off-site copies.
Why snapshots aren’t backups: same storage as the VM; they grow and merge (failed merges corrupt chains); no retention policy; VMware warns against keeping them longer than 72 hours. Hyper-V: use production checkpoints (VSS application-consistent) for Windows guests.
Clustering, HA, and live migration
Hyper-V Failover Clustering (2–64 nodes, shared storage): VMs are cluster roles. If a node dies, VMs restart on surviving nodes — that’s HA = automatic restart, with a brief outage. Live Migration moves a running VM between nodes with no perceived downtime.
vSphere HA + vMotion: vMotion = live migration (Storage vMotion moves disks live too). vSphere HA restarts VMs after host failure. DRS automatically vMotions VMs to balance load — Hyper-V has no built-in equivalent.
VMware’s DRS + vMotion ecosystem is more mature and automated; Hyper-V’s Live Migration is free with the OS license and works fine at small scale.
Resource pools
VMware resource pools partition a cluster’s CPU/RAM with shares (relative priority), reservations (guaranteed minimum), and limits (hard ceiling). Carve a cluster into Production / Test / Client-A pools so one noisy workload can’t starve the others.
Hyper-V has no direct equivalent — the closest is per-VM resource metering plus CPU/RAM weights (Set-VMProcessor / Set-VMMemory) and careful VM placement.
For an MSP, VMware resource pools are the cleanest way to guarantee a client’s SLA VMs always get their resources.
Templates and cloning
VMware: build a gold-master VM (Tools + patches + agents, not domain-joined), shut down, Convert to Template. Deploy with Clone to Virtual Machine plus Guest OS Customization Specifications (sysprep answers: unique hostname/SID/IP).
Hyper-V: no native template object — the pattern is a sysprepped reference VHDX stored in a library folder, then New-VM + copy the VHDX + unattend.xml. Script it.
Never clone a domain-joined VM or copy a VHDX without sysprep — duplicate SIDs and machine passwords will haunt you.
| Item | Status (October 2026) |
|---|---|
| Current Hyper-V | Windows Server 2025 Hyper-V role, VM configuration version 12.0. New Gen 2 VMs support up to 2048 vCPUs and 240 TB RAM. |
| Previous | Windows Server 2022 (config v11.0), 2019 (v10.0) — all supported as guests/hosts on 2025. |
| Hyper-V Server (free standalone) | Discontinued. 2019 was the last release, supported to January 2029. No 2022 or 2025 version will ever ship. |
| Strategic successor | Azure Local (renamed from Azure Stack HCI, Nov 2024). Current: Azure Local 24H2 (based on Server 2025). Subscription: $10/physical core/month ($20.10 with external SAN), 60-day trial; $0 with Windows Server Datacenter + Software Assurance via Azure Hybrid Benefit. |
| Editions with Hyper-V | Standard and Datacenter (role installable on both). No separate Hyper-V SKU. |
What changed in Server 2025 Hyper-V: 2048 vCPUs / 240 TB RAM per Gen 2 VM, 4 PB host RAM, GPU partitioning (GPU-P) with live migration + failover clustering, NetworkATC intent-based host networking, native ReFS deduplication/compression, NVMe-oF, Storage Replica compression in all editions, certificate-based live migration for workgroup clusters.
| Item | Where to get it |
|---|---|
| Windows Server 2025 eval | Microsoft Evaluation Center — microsoft.com/en-us/evalcenter/download-windows-server-2025 (180-day eval, registration required). Short link: aka.ms/TryWS2025 |
| Licensed (non-eval) ISO | Microsoft 365 admin center → Billing → Your products (VLSC successor) or Visual Studio subscriptions. Eval media converts via DISM /online /Set-Edition + product key. |
| Azure Local OS | Azure portal → Azure Local → Get started → Download software (subscription with the resource provider registered). 60-day free trial. |
| Hyper-V Server 2019 | Microsoft Evaluation Center (archived). Support ends Jan 2029 — do not deploy for new clients. |
| Windows Admin Center | Free download — aka.ms/WACDownload. Gateway mode for multi-tech access. |
| Hyper-V Manager + PowerShell | Inbox: Server Manager → Add Roles/Features → “Hyper-V Management Tools”, or Install-WindowsFeature RSAT-Hyper-V-Tools. |
Design: sizing a host
The method: inventory every VM (vCPUs, RAM, disk, IOPS). CPU: sum vCPUs, apply a 3:1–4:1 vCPU:pCPU ratio (2:1 for SQL/latency-sensitive), and size for N+1 — in a 2-host cluster, each host must run all VMs if its partner dies. RAM: sum committed VM RAM + ~8 GB host overhead, keep steady-state ≤80% of physical. Storage: thin-provisioned usage + 12-month growth + 25% free-space buffer. Network: 2× 10 GbE minimum per host (25 GbE preferred), plus 1 GbE for iDRAC/iLO.
| VM | vCPU | RAM | Disk (thin) | Notes |
|---|---|---|---|---|
| DC01, DC02 (one per host) | 2 + 2 | 4 + 4 GB | 80 + 80 GB | Never snapshot a DC and roll back — USN rollback risk |
| File/Print | 2 | 8 GB | 2 TB | The capacity driver |
| App server (LOB) | 4 | 16 GB | 200 GB | Check vendor support statement |
| SQL Server | 8 | 32 GB | 500 GB | Fixed-size VHDX |
| RDS/broker or web | 4 | 16 GB | 150 GB | |
| Mgmt/Backup VM | 2 | 8 GB | 200 GB | Backup server VM or proxy |
| 3× utility (Linux/DNS/monitor) | 2×3 | 4×3 GB | 60×3 GB | |
| Totals | 32 vCPU | 108 GB | ~3.6 TB |
Resulting host spec (each of 2, N+1): 32 vCPU at 3:1 → 2× 8-core CPUs. RAM: 108 GB + overhead + headroom → 256 GB (the single most common undersize — do not spec 128 GB here). Storage: ~3.6 TB + 25% buffer → 8× 1.92 TB enterprise SSD in RAID 10 (≈7.6 TB usable). Network: 2× 25 GbE (10 GbE floor) + 1 GbE iDRAC/iLO. Boot: mirrored SSDs, separate from VM storage.
Build: Hyper-V host install & config
Use Server Core for production (smaller attack surface, fewer reboots). Install Windows Server 2025, set a static IP, join the domain, activate. Requires a SLAT-capable CPU with virtualization enabled in BIOS — verify with systeminfo → “Hyper-V Requirements”.
Host best-practice checklist
- Server Core; rename host; static IP/DNS; domain join; activate Windows
- Separate volumes: OS (mirrored), VM storage (CSV/ReFS), ISO/library
- Antivirus exclusions for Hyper-V paths (C:\ClusterStorage, VHDX/VMCX locations, vmms.exe, vmwp.exe) — AV scanning VM files causes corruption-class incidents
- Patch hosts on a schedule after a verified backup; use Cluster-Aware Updating for clusters
- Enable Live Migration (Hyper-V Settings, or Enable-VMMigration); set migration network to the migration VLAN; Kerberos constrained delegation or certificate auth for non-domain
- Set-VMHost -EnableEnhancedSessionMode $true; enable BitLocker on host volumes if required
- Document: host local admin password in vault, iDRAC/IPMI creds, switch ports, VLAN map
Daily-driver Hyper-V PowerShell
Command switches are long-stable and vendor-documented; confirm exact syntax against current Microsoft Learn docs before running against production.
Deploy on Hyper-V
Always use Generation 2 (UEFI, Secure Boot, SCSI boot, faster) unless the guest OS is ancient. Generation 1 exists only for legacy OS support. VM hardware version rule: a VM created on Server 2025 (config v12.0) can move to 2022/2019 only if its config version is ≤ the host’s max — upgrading config version is one-way and breaks failback to older hosts. Do not upgrade VM hardware versions during routine patching.
Integration Services are built into modern Windows (nothing to install); for Linux, LIS drivers are in the mainline kernel for current distros. Verify with Get-VMIntegrationService -VMName APP01 — all should show True. They’re also what makes backups application-consistent via VSS.
Template workflow (scripted): build reference VM → sysprep /oobe /generalize /shutdown → copy the VHDX to a library share as WS2025-Template.vhdx (mark read-only) → deploy with Copy-Item + New-VM + unattend.xml.
Maintain: patching, backup, monitoring
Patching: standalone host — patch like any server, monthly, after verifying backups (reboot = all VMs down). Cluster — Cluster-Aware Updating (CAU) drains VMs via Live Migration node by node. Never patch all hosts the same night — one host first, validate, then the rest.
Backup: use host-level, agentless VM backup (Veeam, Altaro, Nakivo) — the software talks to the host via VSS, with RCT (Resilient Change Tracking) for incrementals. The 3-2-1 rule is non-negotiable: 3 copies, 2 media, 1 off-site. Ransomware hunts backups first — immutable/offline copies are the difference between a restore and a ransom.
Monitoring: at minimum, a scheduled PowerShell health report emailed daily — watch CPU wait, memory pressure, storage latency (>20 ms sustained = investigate), checkpoint age (alert >72 h), Integration Services state, free space (alert 75%, act 85%), and backup success per VM. A backup you don’t monitor doesn’t exist.
Top 5 Hyper-V failures
1. Live Migration fails (access denied)
Kerberos constrained delegation not configured (or expired computer account).
Fix: in AD, set constrained delegation (cifs + Microsoft Virtual System Migration Service) on both hosts to each other; or use certificate-based auth. Also check: same vSwitch names on both hosts.
2. VM won’t start after checkpoint ops
AVHDX chain broken — often after a failed merge or manual file moves.
Fix: inspect the chain (Get-VHD), merge manually from the newest AVHDX down (Merge-VHD). Never delete AVHDX files by hand. Prevention: AV exclusions.
3. Network dropouts after teaming/vSwitch changes
SET team misconfigured or the management vNIC lost its VLAN.
Fix: Get-VMSwitchTeam / rebuild the SET team. Keep a local console/iDRAC path so a bad switch config doesn’t lock you out.
4. CSV stuck in redirected access
Storage path or network issue forcing all I/O through the coordinator node.
Fix: check MPIO paths, cluster network metrics (Test-Cluster), storage latency. Redirected mode is a symptom, not the disease.
5. Domain controllers misbehaving
Time-sync fights, or USN rollback from a snapshot restore.
Fix: disable host time sync for DCs holding the PDC emulator (Disable-VMIntegrationService -Name "Time Synchronization"). Never restore a DC from snapshot — keep ≥2 DCs on separate hosts.
| Item | Status (October 2026) |
|---|---|
| Current | VMware vSphere / ESX 9.0 (GA 2025; VM hardware version 22; 9.0.1 maintenance releases following). What’s new: 1 GB minimum boot-bank, 32 GB minimum system disk, reduced-downtime upgrade with vCenter HA, EVC baselines for current-gen CPUs. Support model moved to 6+1 years with a 3-year major cadence. |
| Previous | vSphere 8.x (8.0U3f latest patch branch seen; free vSphere Hypervisor 8 reinstated at 8.0U3e). General support ends October 2027 (reported — confirm on the Broadcom lifecycle portal). |
| Editions | No standalone vSphere 9 SKU. Only VMware vSphere Foundation 9.x (VVF) (vSphere Enterprise Plus + vCenter Standard + limited operations/vSAN) or VMware Cloud Foundation 9.x (VCF) (adds NSX, full operations/automation, HCX, more vSAN). Both per-core, 16-core minimum per processor. |
| Free ESXi | None for 9.x. Free hypervisor exists only up to 8.0U3x; 9.0 installs run in 90-day trial mode. |
| Item | Where to get it |
|---|---|
| ESXi / vSphere eval & patches | Broadcom Support Portal — support.broadcom.com/web/ecx (login required; new accounts may need export-control/account verification). This is the only official source post-Broadcom. |
| Free vSphere Hypervisor 8 | Broadcom Support Portal (search “VMware vSphere Hypervisor 8”). Non-production, no vCenter — not available for 9.x. |
| vSphere Client (HTML5) | No download — served by vCenter Server (https://<vcenter>/ui). |
| ESXi Host Client | No download — built into every ESXi host (https://<host-ip>/ui). Enough for single-host management. |
| VMware PowerCLI | PowerShell Gallery: Install-Module -Name VMware.PowerCLI -Scope CurrentUser. New consolidated module for VCF 9: VCF.PowerCLI. |
| VMware Remote Console | Bundled with VCF 9.0.1 BOM (v13.0.1) / Broadcom portal. Standalone console for direct VM access. |
Design notes (VMware-specific)
The §4 sizing method applies unchanged (3:1–4:1 vCPU:pCPU, RAM ≤80%, N+1 per host). VMware specifics: storage — vSAN needs VVF/VCF entitlement with TiB-per-core allowances; traditional VMFS on iSCSI/FC or NFS datastores remain battle-tested for SMB. Network — use vDS with Network I/O Control shares so a vMotion flood can’t starve VM traffic; separate vmkernel adapters per traffic type (Management, vMotion, vSAN). Boot: 9.0 needs a 32 GB+ system disk (SATADOM/M.2 or SD pair).
Build: ESXi host install & config
Boot the ESXi ISO from the Broadcom portal — use the OEM-customized image (Dell/HPE/Lenovo) so NIC/RAID drivers are inbox. Select the boot disk (≥32 GB for 9.x), set a strong root password. Minimums: x86_64 with NX/XD + Intel VT-x/AMD-V, on the Broadcom HCL.
Management network (DCUI, F2): select NICs → set management VLAN ID → static IPv4 (never DHCP for hosts) → set DNS resolvers — ESXi/vCenter are extremely DNS-sensitive (forward and reverse records for every host and vCenter) → Test Management Network. Enable ESXi Shell/SSH for the build, then disable SSH again after.
Host best-practice checklist
- NTP configured to the same source as AD/vCenter (time skew breaks AD auth, HA, and vMotion)
- DNS forward/reverse correct; hostname = FQDN
- Scratch/log location persistent (not ramdisk) — redirect to a datastore
- Disable SSH/ESXi Shell post-build; evaluate Lockdown mode (normal is fine for MSP-managed hosts)
- Join to vCenter; apply subscription license via VCF Operations (9.x — no license keys); configure vSphere Lifecycle Manager desired image
- Document: root password in vault, management IPs, vmkernel VLANs, datastore layout
Daily-driver PowerCLI
Command switches are long-stable and vendor-documented; confirm exact syntax against current Broadcom techdocs before running against production.
Deploy on vSphere
New VM: vSphere Client → New Virtual Machine → compute resource → datastore → compatibility (ESXi 9.0 / HW 22 — or lower if the VM must stay portable to 8.x hosts) → guest OS → hardware: 4 vCPU, 8 GB, 120 GB thin VMDK, VMXNET3 adapter, PVSCSI controller, mount ISO → power on via Remote Console.
Hardware choices that matter: VMXNET3 (not E1000) for network, PVSCSI for high-I/O disks, EFI firmware for modern OSes, hardware version matched to your oldest host — a HW-22 VM will not power on under ESXi 8. Keep templates at the lowest HW your fleet supports.
VMware Tools: install from the vSphere Client, or use open-vm-tools (packaged with most Linux distros — preferred on Linux). Verify: VM summary shows “Running, version … (Current)”. Treat outdated Tools like missing patches — automate the check. Tools also enable quiesced snapshots and VSS-consistent backups.
Template workflow (the gold standard): build reference VM → patch fully → install Tools + agents (backup, monitoring, AV) → do not join the domain → shut down → Convert to Template. Deploy: New VM from This Template + Customization Specification (sysprep: hostname pattern, domain join, network). One template per OS; rebuild quarterly.
Maintain: patching, backup, monitoring
Patching: vSphere Lifecycle Manager (vLCM) — define a desired-state image (ESXi version + vendor add-on + firmware) per cluster; vLCM remediates hosts one by one (maintenance mode → vMotion VMs away → apply → reboot → verify). Standalone host: Host Client or esxcli software vib install. VCSA patches via VAMI (https://<vcenter>:5480). Cadence: quarterly minimum; security patches sooner.
Backup: host-level agentless backup via VADP (vStorage APIs for Data Protection) — snapshots the VM, reads changed blocks via CBT (Changed Block Tracking), pulls data via HotAdd or SAN mode. Veeam / Altaro / Nakivo. Same 3-2-1 rule, same immutable-copy warning.
Monitoring: the signals that matter — CPU Ready (%RDY) (>5% sustained = oversubscribed), ballooning (warning) and swap (emergency), datastore latency (GAVG >20 ms = investigate; KAVG high = kernel/HBA, DAVG high = array), snapshot age (>72 h), Tools status, datastore free space, vSphere HA/DRS and vSAN Skyline health. vSphere has the richer native stack (vCenter alarms + VCF Operations).
Top 5 ESXi failures
1. PSOD (purple screen of death)
VMkernel panic — almost always hardware (bad DIMM, overheating) or a buggy driver/VIB.
Fix: record the stop code, check /var/log/vmkernel.log, update firmware + async drivers, reseat/replace DIMMs, check the HCL.
2. vMotion fails partway
CPU incompatibility, vMotion vmkernel misconfigured, or jumbo-frame mismatch.
Fix: enable EVC on the cluster before adding newer hosts (baseline = oldest CPU); verify vMotion vmkernel on both hosts; vmkping between vMotion interfaces.
3. Snapshot consolidation fails / deltas balloon
Snapshot grew beyond free space, or backup left an orphan.
Fix: free datastore space first (consolidation needs room), then Consolidate in the GUI. Stubborn cases: clone the VM (clone collapses the chain). Never delete -delta.vmdk files manually.
4. APD/PDL (All Paths Down / Permanent Device Loss)
Storage fabric hiccup or array issue; VMs freeze.
Fix: check fabric (switches, SFPs, controllers), rescan HBAs, restore paths; PDL requires VM re-registration. Prevention: multipathing (Round Robin), redundant fabrics.
5. vCenter inaccessible / services won’t start
Disk full (the #1 cause — logs fill /storage/log), expired certs, or failed update.
Fix: keep the VCSA file-based backup scheduled, monitor disk, use VAMI (:5480) for service control. Hosts keep running VMs fine without vCenter — don’t panic-reboot hosts.
No fanboy takes
Head to head
Both are excellent hypervisors. The honest differences — and the money.
| Criterion | Hyper-V (Windows Server 2025) | VMware (vSphere 9 / VVF–VCF) | Winner |
|---|---|---|---|
| Hypervisor maturity / performance | Excellent; near-parity for general workloads | The reference implementation; best-in-class scheduler, DRS | VMware (narrow) |
| Live migration | Live Migration — free, solid | vMotion (+ Storage vMotion, + DRS auto-balancing) | VMware (DRS automation) |
| High availability | Failover Clustering + VM restart | vSphere HA (+ Proactive HA in VCF) | Tie at small scale |
| Software-defined storage | Storage Spaces Direct / Azure Local (needs Datacenter; validated HW for Azure Local) | vSAN (mature, but TiB-per-core entitlement) | VMware (maturity) / Hyper-V (cost) |
| Networking | vSwitch + SET + NetworkATC; SDN via NC (complex) | vDS + NSX (in VCF) — most mature | VMware |
| Management tooling | Hyper-V Manager (thin), WAC (good), PowerShell (excellent) | vSphere Client + VCF Operations (excellent), PowerCLI (excellent) | VMware |
| Templates/cloning | Scripted (no native template object) | Native templates + customization specs | VMware |
| Resource governance | Per-VM weights only | Resource pools (shares/reservations/limits) | VMware |
| Licensing model | Perpetual per-core Windows Server; Standard 2 VMs / Datacenter unlimited | Subscription per-core bundles (VVF/VCF); no keys in 9.x | Hyper-V (cost & simplicity) |
| Small-cluster cost (2 hosts) | ≈$12k one-time Datacenter (MSRP-ish, confirm) + CALs | Annual subscription, quote-based; historically multiples higher | Hyper-V |
| Free/lab option | 180-day evals; Hyper-V Server 2019 (to 2029) | 90-day trial on 9.x; free hypervisor only on 8.0U3x | Hyper-V |
| Ecosystem/vendor support | Some LOB vendors still say “VMware only” | Broadest third-party support | VMware |
| Cloud/hybrid story | Azure Local + Arc (per-core/mo, can be $0 with SA) | VCF private cloud; VMware Cloud on hyperscalers | Depends on the client’s cloud |
| Operational risk (2026) | Stable, predictable | Licensing volatility under Broadcom; 9.x licensing workflow change | Hyper-V |
| Line item | Hyper-V route | VMware route | Azure Local route |
|---|---|---|---|
| Hypervisor/host licenses | 2× WS2025 Datacenter 16-pack ≈ $12.3k one-time (MSRP reported ≈$6,155/16-pack — confirm with distributor) | VVF or VCF subscription, per-core/yr — quote-based (Broadcom publishes no list; budget a multiple of the old perpetual pricing) | $10/core/mo → 32 cores = $320/mo ($3,840/yr); $0 host fee with Datacenter+SA |
| Windows guest licenses | Included (Datacenter = unlimited) | Still needed separately (VVF/VCF covers the hypervisor, not Windows) | Optional $23.30/core/mo guest subscription, or own licenses |
| vCenter / management | Included (Hyper-V Manager/WAC free) | Included in VVF/VCF | Azure portal (included) |
| Backup (10 VMs) | ≈$1–3k/yr (Veeam/Altaro, per-VM) | Same | Same |
| 3-yr software TCO (rough) | ≈$15–20k | Quote-dependent; commonly $30k+ for VVF at this size | ≈$11.5k (host fees) + guest licensing |
| Hardware (hosts + switches) | Same regardless of hypervisor — $30–50k typical | ||
VMware per-core subscription pricing is not published; the table deliberately gives a formula rather than a fabricated number. Get a written VVF quote per client. Flag the 16-vs-72-core minimum question on every quote.
Recommend Hyper-V when…
- The client is Windows-heavy (guest-license math dominates)
- 1–2 hosts; budget is capex-constrained
- The MSP’s bench is Windows-centric
- The client wants predictable perpetual licensing
- Azure hybrid (Arc, Azure Backup) is already in play
This is the default for small business in 2026.
Recommend VMware (VVF/VCF 9.x) when…
- The client needs DRS-style automation, vSAN, or NSX micro-segmentation
- 3+ hosts, or compliance/vendor requirements naming VMware
- The MSP already operates a VMware practice with vCenter
- Linux-heavy enough that Windows guest licensing doesn’t offset the subscription
Get the subscription quote in writing before promising TCO.
Recommend Azure Local when…
- The client wants HCI without a SAN and likes opex billing
- They accept validated hardware + cloud-connected management
- They already hold Windows Server Datacenter + SA — the host fee drops to $0
The migration-era advice (2026)
Most small VMware shops face the vSphere 8 → 9 subscription jump before October 2027 (reported end of support). For each, price three paths: (a) renew VVF/VCF subscription, (b) rebuild on Hyper-V, (c) Azure Local.
(b) wins on cost for ≤2 hosts almost every time; (a) wins where DRS/vSAN/NSX are load-bearing. Document the decision — the client, not the MSP, owns the licensing risk.
Official sources
Learn it
The canonical documentation and consoles — bookmark the whole shelf.
Hyper-V on Microsoft Learn
The canonical Hyper-V documentation — planning, deployment, clustering, and PowerShell reference.
learn.microsoft.com →Windows Server 2025 Eval
180-day evaluation ISO/VHD — the lab starts here.
microsoft.com/evalcenter →Windows Admin Center
Free browser-based server management — direct MSI download.
aka.ms/WACDownload →What’s new in vSphere 9
Broadcom’s official 9.0 rundown — licensing workflow, minimums, and changes.
techdocs.broadcom.com →VM hardware versions (KB 315655)
The portability contract — which HW versions run on which hosts.
knowledge.broadcom.com →vSphere 9 licensing workflow (KB 428638)
No more license keys — how subscription licensing works via VCF Operations.
knowledge.broadcom.com →Broadcom Support Portal
The only official source for ESXi/vSphere media and patches post-Broadcom.
support.broadcom.com →Install PowerCLI
VMware’s PowerShell automation — install and first connection.
techdocs.broadcom.com →Azure Local (Stack HCI rename)
Microsoft’s strategic HCI path — the rename FAQ and what it means.
learn.microsoft.com →Design it right
The hypervisor is never the most expensive line
Windows guest licenses and backup usually cost more than the hypervisor itself. Size the whole stack — hosts, guests, backup, UPS, and the hardware support contract — before you recommend.