Azure Local (Azure Stack HCI) is Microsoft’s hyperconverged infrastructure solution that brings Azure services into your datacenter, combining local compute and storage with cloud‑based management and monitoring. It’s designed for organizations that want hybrid cloud flexibility without fully moving workloads to public Azure.
Note :-
A virtual deployment of Azure Local is intended for educational and Lab purposes only. Microsoft Support doesn’t support virtual deployments.
Key Features
Cluster Size Information
For more details you can refer following official doc – https://docs.azure.cn/en-us/azure-local/
For Testing/evaluation purpose you can deploy on Nested environment Hyper V and official doc
https://learn.microsoft.com/en-us/azure/azure-local/deploy/deployment-virtual?view=azloc-2511
Below are the steps for deploying two nodes in the vSphere environment :-
Azure node requirements: –
Secure Boot and Trusted Platform Module (TPM) enabled ( For the lab/test setup, we can bypass the hardware validation for TPM and ECC memory)
vCPU’s – Min Four cores.
Memory – A minimum of 24 GB
Networking – At least two network adapters connected to internal network. MAC spoofing must be enabled.
Boot disk – One disk to install the Azure Stack HCI operating system from ISO. At least 200 GB.
Hard disks for Storage Spaces Direct – Four dynamic expanding disks. Maximum disk size is 1024 GB.
Time synchronization in integration – Disabled.
Perquisites for setup
To register, you must be an owner or contributor on your subscription. You can also ask an administrator to register.
Register-AzResourceProvider -ProviderNamespace “Microsoft.HybridCompute”
Register-AzResourceProvider -ProviderNamespace “Microsoft.GuestConfiguration”
Register-AzResourceProvider -ProviderNamespace “Microsoft.HybridConnectivity”
Register-AzResourceProvider -ProviderNamespace “Microsoft.AzureStackHCI”
Register-AzResourceProvider -ProviderNamespace “Microsoft.Kubernetes”
Register-AzResourceProvider -ProviderNamespace “Microsoft.KubernetesConfiguration”
Register-AzResourceProvider -ProviderNamespace “Microsoft.ExtendedLocation”
Register-AzResourceProvider -ProviderNamespace “Microsoft.ResourceConnector”
Register-AzResourceProvider -ProviderNamespace “Microsoft.HybridContainerService”
Register-AzResourceProvider -ProviderNamespace “Microsoft.Attestation”
Register-AzResourceProvider -ProviderNamespace “Microsoft.Storage”
Register-AzResourceProvider -ProviderNamespace “Microsoft.Insights”
Following role permissions
Permissions to the user
Azure Local ISO
Here are the details of my environment :-
vCenter Version. -8.0.2
ESXi Version – 8.0.2
DNS/AD IP – 172.16.16.100 – azurelocal.lab
Networks
| |
Mgmt | Untagged VLAN Network |
Storage | Trunk Port |
AD/DNS preparation
Create a DNS records
Create a DNS records for nodes and cluster
Create AD OU group
Active Directory requirements for Azure Local include:
Run the following command to install the module from PowerShell Gallery:
Install-Module AsHciADArtifactsPreCreationTool -Repository PSGallery -Force
Run PowerShell as administrator.
Run the following command to create the dedicated OU.
New-HciAdObjectsPreCreation -AzureStackLCMUserCredential (Get-Credential) -AsHciOUName “<OU name or distinguished name including the domain components>”
Example :- New-HciAdObjectsPreCreation -AzureStackLCMUserCredential (Get-Credential) -AsHciOUName “OU=clusteraz,DC=azurelocal,DC=lab”
Enter the Username and password (Password – min 12 charters)
AD OU and User created Successfully.
Downloading an Azure Local ISO
Login to Azure cloud portal and under azure local download local HCI OS and upload it to vSphere Datastore.
Creating an Azure Local Node VM’s
Create 2 VMs with 5 disks, 4 NIC cards, at least 24 GB of memory, and 4 cores.
Disks: – Disk 1 – 250 for the operating system, with the remaining 4 disks for Storage Spaces Direct
NICS: – 1 and 2 are used for management, and 3 and 4 are for storage
Mount the local ISO from Azure
Similarly, create a second VM with the same resources
Installing the Azure Local
Power on VM
Click on Next
Select Disk 0 and click on Next.
Click on Install
When the installation is done, you will be asked for the password for the local administrator account. Set the password now.
In the same way, you can set up node2 VM
Preparing the Azure Local nodes
Note :- Ensure that the configuration mentioned below is done on both nodes.
Set up the IP for NIC1 management and change the names of the NICs to NIC1, NIC2, NIC3, and NIC4.
Only configure a static IP to NIC1 and leave NIC2, NIC3, and NIC4 without any IPs.
Press 8 to set the network configurations.
Change the names of the network adapters and set a static IP for NIC1 (In my environment, DHCP assigned IPs to all NICs)
Change the name of all the NIC
Type 2 to set the hostname
The hostname will be updated after the reboot. We can reboot once the VMware Tools are installed.
Disable Ipv6 for all NIC’s
New-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters” `
-Name “DisabledComponents” -PropertyType DWord -Value 0xFF
Turn off DHCP and clear IPs from NIC2 to NIC4. (In my setup, DHCP assigned IPs to all NICs, so I am removing the IP. If you do not use DHCP, you can ignore the step of removing IPs.)
You can use below commands to disable the DHCP and remove the IP’s
Set-NetIPInterface -InterfaceAlias “NIC2” -Dhcp Disabled
Set-NetIPInterface -InterfaceAlias “NIC3” -Dhcp Disabled
Set-NetIPInterface -InterfaceAlias “NIC4” -Dhcp Disabled
Remove-NetIPAddress -InterfaceAlias “NIC2” -Confirm:$false
Remove-NetIPAddress -InterfaceAlias “NIC3” -Confirm:$false
Remove-NetIPAddress -InterfaceAlias “NIC4” -Confirm:$false
Set the VLAN Registry key to 0 for all NICs. (In a vSphere environment, network validation will fail if the VLAN ID registry value is not set to 0.)
Create a local administrator user – Press 3
Enter the username and password (ex: user – adminuser1)
Install VMware Tools
On the vSphere VM summary, click on Install VMware Tools to mount the VMware Tools ISO.
Change to the ISO directory
cd D:
Run setup file
.\setup.exe
Reboot the Node after installation
Install windows Updates: –
Press 6 to check for and install updates
Once the update is complete, reboot the VM. After that, verify all NIC names and their configurations. Make sure NIC1 is set up with an IP address, and that NIC2, NIC3, and NIC4 are unconfigured with DHCP turned off.
Registering with Azure cloud
$Tenant = “xxx”
$Subscription = “xxx”
$RG = “Infra”
$Region = “Southeastasia”
you refer below link to check supported regions
Run the Arc registration script. The script takes a few minutes to run
#Invoke the registration script. Use a supported region.
Invoke-AzStackHciArcInitialization -TenantId $Tenant -SubscriptionID $Subscription -ResourceGroup $RG -Region $Region -Cloud “AzureCloud”
Go to the URL and authenticate using a below code
After you finish registering, you can view the azure nodes in the azure portal.
You can find both nodes in the azure nodes.
Configure Azure local node
Click on Create instance option
Choose Resource Group, input the instance name (the previous step made a cluster DNS record, use the same name), select region, set Identity provider to Active Directory, and click on the Add machine option.
Select Both machines
The necessary extension will be installed automatically on both nodes.
Below, four extensions will be installed automatically.
After the extension installation is finished, Validate selected machines.
You can create a new Key vault or use an existing one, then click next
Select new configuration and click on next
Select No switch for storage and Group management and compute traffic options
Switchless Storage (Direct Connect) – Each node’s storage NICs are directly cabled to the other nodes (no switch in between).
Small clusters (typically 2–3 nodes).
Switched Storage – Each node’s storage NICs connect to one or more Ethernet switches.
Larger clusters (up to 16 nodes).
Supports redundancy (dual switches, LACP, RDMA).
Switchless storage = direct cabling, good for small/test clusters.
Switched storage = scalable, resilient, required for larger production clusters.
Choose NIC1 and NIC2 for Compute Management, and select NIC3 and NIC4 for storage (you can use the default VLAN ID, which is created automatically by the virtual switch). Then, click on customize network settings and turn off the RDMA protocol.
The Azure local and ARC service needs 6 IP addresses.
Choose Manual and input the starting IP, ending IP, Gateway, and DNS (The starting IP is the cluster IP, and earlier steps set up a DNS record).
Set up a new Azure storage account or utilize/select an existing one.
Enter the domain, OU, and user information. (Previously, we created the OU and both an AD and a local user)
You can select customized option and deselect all security options. For lab or test setups, we can skip/ignore security configurations.
After the resource has been created, click on the Start validation option.
Validation is in progress and will take 30 minutes to 1 hour, depending on your environment. To skip ECC and TPM validation, we have to update the validation file.
After completing 2 tasks, it will download all the validation files.
Log into node1 and navigate to the configuration path
C:\NugetStore\AzStackHci.Environmentchecker.Deploy.10.2511.0.2008\content\Roles\EnvironmentValidator
Update the role.xml file
notepad.exe .\role.xml
Replace ValidateHardware with the ValidateSBHealth
Now is the time for you to relax. Validation will require some time.
After successfully completing validation, click on the Review and create option.
Click on Create option
Deployment started
It will take 1 to 2 hours for deployment, based on your environment
After the deployment is finished, you can view the machine with a connected status.
You can see below storage path details, two storage paths created
Shipping a new version of an application is always a small act of faith. Even…
The following steps demonstrate how to back up and restore an OpenShift virtual machine using…
OpenShift Virtualization allows virtual machines (VMs) to run natively on Kubernetes alongside container workloads. Using…
Red Hat OpenStack Services on OpenShift (RHOSO) provides the foundation to build a private or public…
Kubernetes (often shortened to “K8s”) is an open-source system for automating the deployment, scaling, and…
Ceph is an open-source, distributed storage platform that provides object, block, and file storage in…
View Comments
Fantastic work! The content is very useful and clearly documented. You’ve obviously put a lot of hard work into this - keep it up!🙌