| Name | AzureLocal_NetworkInfraConnection_Test_Infra_IP_Connection_Hyper_V_Readiness |
|---|---|
| Severity | Critical: This validator will block operations until remediated. |
| Applicable Scenarios | Deployment (without ArcGateway), Upgrade (without ArcGateway) |
This validator checks that the Hyper-V role is installed and available on the host. Hyper-V is required to test infrastructure IP pool connectivity because the validator need to create a temporary virtual switch and virtual network adapter to validate that infrastructure IPs can reach DNS servers and required endpoints.
- Hyper-V role must be installed on the host
Review the Environment Validator output JSON. Check the AdditionalData.Detail field for information about Hyper-V readiness.
{
"Name": "AzureLocal_NetworkInfraConnection_Test_Infra_IP_Connection_Hyper_V_Readiness",
"DisplayName": "Test Hyper-V readiness for all IP in infra IP pool",
"Title": "Test Hyper-V readiness for all IP in infra IP pool",
"Status": 1,
"Severity": 2,
"Description": "Test Hyper-V readiness for all IP in infra IP pool",
"Remediation": "Make sure that Hyper-V is installed on host SERVER01 and rerun the validation.",
"TargetResourceID": "Infra_IP_Connection_HyperVReadiness",
"TargetResourceName": "Infra_IP_Connection_HyperVReadiness",
"TargetResourceType": "Infra_IP_Connection_HyperVReadiness",
"Timestamp": "<timestamp>",
"AdditionalData": {
"Source": "SERVER01",
"Resource": "HyperVReadiness",
"Detail": "[FAILED] Cannot test connection for infra IP without Hyper-V on host SERVER01.",
"Status": "FAILURE",
"TimeStamp": "<timestamp>"
}
}Error Message:
[FAILED] Cannot test connection for infra IP without Hyper-V on host SERVER01.
Root Cause: The Hyper-V role is not installed on the host. The infrastructure IP connectivity validator requires Hyper-V to create a temporary virtual switch and virtual adapter for testing network connectivity from infrastructure IPs.
Check if Hyper-V is installed:
# Check Hyper-V Windows feature status
Get-WindowsFeature -Name "Hyper-V"
# Check if Hyper-V cmdlets are available
Get-Command Get-VMSwitch -ErrorAction SilentlyContinueExpected output if installed:
Display Name Name Install State
----------------- ---- -------------
[X] Hyper-V Hyper-V Installed
If Hyper-V is not installed, install it:
# Install Hyper-V role
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
# Note: A reboot is required after installationAlternative method using DISM:
# Enable Hyper-V using DISM
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart
# Install Hyper-V management tools
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell -All -NoRestart
# Reboot the system
Restart-Computer -ForceAfter the reboot, verify Hyper-V is properly installed:
# Verify Hyper-V feature is installed
Get-WindowsFeature -Name "Hyper-V" | Select-Object DisplayName, InstallState
# Verify Hyper-V services are running
Get-Service -Name vmms | Select-Object Name, Status, StartType
# Verify Hyper-V cmdlets are available
Get-Command Get-VMSwitch, New-VMSwitch, Get-VMNetworkAdapterExpected services status:
Name Status StartType
---- ------ ---------
vmms Running Automatic
If Hyper-V installation fails or cannot be enabled:
Check hardware virtualization support:
# Check if virtualization is enabled in BIOS/UEFI
systeminfo | findstr /i "hyper-v"
# Check processor virtualization capabilities
Get-CimInstance -ClassName Win32_Processor | Select-Object Name, VirtualizationFirmwareEnabled, SecondLevelAddressTranslationExtensionsCommon issues:
- Virtualization not enabled in BIOS: Enable Intel VT-x or AMD-V in BIOS/UEFI settings
- Conflicting hypervisor: Remove other virtualization products (VMware Workstation, VirtualBox, etc.)
- Running in a VM: Nested virtualization must be enabled on the host hypervisor
After installing Hyper-V and rebooting, re-run the Environment Validator.
The infrastructure IP connectivity validator performs the following operations that require Hyper-V:
- Creates a temporary virtual switch (or uses an existing one)
- Creates a virtual network adapter (vNIC) for testing
- Assigns infrastructure IPs to the virtual adapter one at a time
- Tests connectivity from each IP to DNS servers and Azure endpoints
- Cleans up the test resources after validation
This approach allows the validator to test connectivity from infrastructure IPs without permanently configuring them on physical adapters.
This validator only runs in scenarios where infrastructure IP connectivity needs to be tested:
| Scenario | Runs? | Conditions |
|---|---|---|
| Deployment | ✓ Yes | Only if ArcGateway is NOT enabled |
| Upgrade | ✓ Yes | Only if ArcGateway is NOT enabled |
Note: If ArcGateway is enabled, this validator is skipped because ArcGateway provides an alternative connectivity method that might not require infrastructure IP validation.
Hyper-V is a core requirement for Azure Local clusters:
- Required for cluster operations: Hosts VMs and containerized workloads
- Required for Network ATC: Creates virtual switches for network isolation
- Required for storage: Storage Spaces Direct uses Hyper-V features
- Required for management: Admin VMs and Arc Resource Bridge run on Hyper-V
Complete verification of Hyper-V installation:
# Check all Hyper-V related features
Get-WindowsFeature -Name Hyper-V* | Where-Object { $_.InstallState -eq "Installed" } |
Select-Object DisplayName, Name, InstallState |
Format-Table -AutoSize
# Check Hyper-V virtual switch capabilities
Get-VMHost | Select-Object VirtualHardDiskPath, VirtualMachinePath, EnableEnhancedSessionMode
# Verify network virtualization capabilities
Get-VMSystemSwitchExtension | Select-Object Name, Vendor, EnabledSolution 1 - Check for conflicting software:
# For example, check for other hypervisors
Get-WmiObject Win32_Product | Where-Object { $_.Name -like "*VMware*" -or $_.Name -like "*VirtualBox*" }
# Uninstall conflicting software before installing Hyper-VSolution 2 - Verify system requirements:
# Check if system meets minimum requirements
# - 64-bit processor with SLAT (Second Level Address Translation)
# - VM Monitor Mode Extension (VT-c on Intel or AMD-V on AMD)
# - Minimum 4 GB RAM (8+ GB recommended)
# - BIOS-level hardware virtualization support enabled
Get-ComputerInfo | Select-Object CsProcessors, OsTotalVisibleMemorySize, HyperVisorPresent, HyperVRequirementVirtualizationFirmwareEnabledSolution:
# Install Hyper-V PowerShell module separately
Install-WindowsFeature -Name Hyper-V-PowerShell
# Import module manually
Import-Module Hyper-V
# Verify module is loaded
Get-Module Hyper-VSolution:
# Check service dependencies
Get-Service -Name vmms -DependentServices
Get-Service -Name vmms | Select-Object -ExpandProperty ServicesDependedOn
# Start services manually
Start-Service -Name vmms
Start-Service -Name vmcompute
# Check Windows Event Logs for errors
Get-WinEvent -LogName "Microsoft-Windows-Hyper-V-*" -MaxEvents 20 |
Where-Object { $_.LevelDisplayName -eq "Error" } |
Select-Object TimeCreated, Message |
Format-ListIf running Server Core:
# Install Hyper-V on Server Core
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
# Verify installation
Get-WindowsFeature -Name Hyper-V*
# If management tools are needed
Install-WindowsFeature -Name RSAT-Hyper-V-ToolsOther infrastructure IP connection validators that run after this validator passes:
- AzureLocal_NetworkInfraConnection_Test_Infra_IP_Connection_VMSwitch_Readiness - Validates virtual switch
- AzureLocal_NetworkInfraConnection_Test_Infra_IP_Connection_MANAGEMENT_VNIC_Readiness - Validates management vNIC
- AzureLocal_NetworkInfraConnection_Test_Infra_IP_Connection_IPReadiness - Tests IP configuration
- AzureLocal_NetworkInfraConnection_Test_Infra_IP_Connection_DNS_Server_Port_53 - Tests DNS connectivity