If you’re looking to add additional storage to your existing Azure Stack HCI on-premises cluster, you’re in the right place. Whether you’re expanding capacity for virtual workloads, backups, or new applications, Azure Stack HCI makes scaling storage both flexible and efficient.
Below is a detailed guide with helpful documentation to walk you through the process:
🔧 Step 1: Prepare and Install New Drives
Before anything else, make sure the drives you plan to use meet the Azure Stack HCI hardware requirements. This ensures compatibility and long-term performance.
Once confirmed, physically install the new drives into each server in your cluster.
💽 Step 2: Initialize and Format Drives
After installation, initialize and format the drives using diskpart or your preferred disk management tool. This prepares them for use by Windows and Azure Stack HCI.
⚠️ Make sure not to format any existing drives in use by your cluster!
📦 Step 3: Add New Drives to Your Storage Pool
Now that your drives are online and formatted, it’s time to add them to your existing Storage Pool. This is the foundation that Azure Stack HCI uses to create fault-tolerant, high-performance volumes.
To ensure your data is evenly distributed across all drives (new and old), you should rebalance the storage pool. This enhances performance and increases lifespan.
Make sure to confirm available space using Get-VirtualDisk and Resize-VirtualDisk cmdlets.
❗ Note:
Some documentation links might show a 404 error if the URL path changes over time. If this happens, simply search for the last two parts of the URL in Microsoft Learn to find the correct article.
✅ Wrapping Up
I hope this detailed guide helps you expand your Azure Stack HCI storage confidently and smoothly. If you run into any issues, feel free to reach back out here.
If this response helped you, please consider upvoting and marking it as the accepted answer so that other members of the community facing similar questions can benefit from it too.
Best regards, – Pablo Villaronga Microsoft Certified | Azure Specialist
I’ve been through ESI Learning Assistant, which help me signing in to the ESI Learner Experience Portal (LxP), for new Microsoft Certifications , so far i’ve Finished PL300 for Power Bi and SC100 SC-100: Design security solutions for infrastructure
New Enrollements : AI-3002
Create document intelligence solutions with Azure AI Document Intelligence
Date: Apr 14, 2025
Time: 09:00 AM – 05:00 PM
Timezone: (GMT-04:00) Eastern Time (US & Canada)
Location: Virtual
Language: English
Available Seats: 2/30
SC-200 – Microsoft Security Operations Analyst
Date: Apr 14,15,16,17 2025
Time: 09:00 AM – 05:00 PM
Timezone: (GMT+11:00) Canberra, Melbourne, Sydney
Location: Virtual
Language: English
Available Seats: 0/35
Delivery Id: 77680
DP-100
Designing and Implementing a Data Science Solution on Azure
Azure Stack HCI is now part of Azure Local. However, older versions of Azure Stack HCI, for example 22H2 will continue to reference Azure Stack HCI and won’t reflect the name change.
You can easily add or remove servers from a cluster in Azure Stack HCI. Keep in mind that each new physical server must closely match the rest of the servers in the cluster when it comes to CPU type, memory, number of drives, and the type and size of the drives.
Whenever you add or remove a server, you must also perform cluster validation afterwards to ensure the cluster is functioning normally. This applies to both non-stretched and stretched clusters.
Before you begin
The first step is to acquire new HCI hardware from your original OEM. Always refer to your OEM-provided documentation when adding new server hardware for use in your cluster.
Place the new physical server in the rack and cable it appropriately.
Enable physical switch ports and adjust access control lists (ACLs) and VLAN IDs if applicable.
Configure the correct IP address in the baseboard management controller (BMC) and apply all BIOS settings per OEM instructions.
Apply the current firmware baseline to all components by using the tools that are provided by your OEM.
Run OEM validation tests to ensure hardware homogeneity with the existing clustered servers.
Install the Azure Stack HCI operating system on the new server. For detailed information, see Deploy Azure Stack HCI.
Join the server to the cluster domain.
Add a server to a cluster
Use Windows Admin Center to join the server to your cluster.
In Windows Admin Center, select Cluster Manager from the top drop-down arrow.
Under Cluster connections, select the cluster.
Under Tools, select Servers.
Under Servers, select the Inventory tab.
On the Inventory tab, select Add.
In Server name, enter the full-qualified domain name of the server you want to add, click Add, then click Add again at the bottom.
Verify the server has been successfully added to your cluster.
If the node has been added to a single server, see these manual steps to reconfigure Storage Spaces Direct.
Note
If the cluster has Arc-for-server enabled, the new server automatically gets Arc-for-server enabled during the next scheduler run, which runs every hour.
Add a server to an SDN-enabled cluster
If Software Defined Networking (SDN) is already deployed on the cluster to which you’re adding a new server, Windows Admin Center doesn’t automatically add the new server to the SDN environment. You must use the SDN Express script to add the new server to the SDN infrastructure of the cluster.
Before you run the script, ensure that a virtual switch is created and the server is successfully added to the cluster. Also, ensure that the server is paused so that the workloads cannot move to it.
NCURI is the Network Controller REST API in the following format: "https://<name of the Network Controller REST API>". For example: «https://mync.contoso.local»
ComputerName is the fully qualified domain name (FQDN) of the server to be added
HostPASubnetPrefix is the address prefix of the Provider Address (PA) network
Add a server to an Arc VM managed cluster
To add a server to an Arc VM managed cluster, you must enable Arc VM management on the new server after adding it to the cluster.
Follow these steps to add a server to an Azure Arc VM managed cluster:
To add a server to an Arc VM managed cluster, run the following command:
PowerShell
Add-ClusterNode -Cluster Cluster1 -Name$nodeName
To enable Arc VM management on the newly added server, run the following command:
PowerShell
New-MocPhysicalNode -nodeName$nodeName
Remove a server from a cluster
Keep in mind that when you remove a server, you will also remove any virtual machines (VMs), drives, and workloads associated with the server.
For more information about removing a cluster, see Remove a Cluster.
Uninstall VM extensions
Before you remove a server from a cluster, you must uninstall any VM extensions from your Azure Arc-enabled servers, or else you risk issues installing extensions later if you add the server back again.
Stretched clusters require the same number of server nodes and the same number of drives in each site. When adding a server pair to a stretched cluster, their drives are immediately added to the storage pool of both sites in the stretched cluster. If the storage pool at each site is not the same size at the time of addition, it is rejected. This is because the size of the storage pool must be the same between sites.
Take a few minutes to watch the video on adding server nodes to a stretched cluster:
You add or remove servers to a stretched cluster using Windows PowerShell. Using the Get-ClusterFaultDomainXML and Set-ClusterFaultDomainXML cmdlets, you first modify the site (fault domain) information prior to adding the servers.
Then, you can add the server pair to each site simultaneously using the Add-ClusterNode cmdlet, allowing each new server’s drives to be added at the same time also.
Typically, you manage clusters from a remote computer, rather than on a server in a cluster. This remote computer is called the management computer.
Note
When running PowerShell commands from a management computer, include the -Cluster parameter with the name of the cluster you are managing.
Ok, let’s begin:
Use the following PowerShell cmdlets to determine the state of the cluster:
Returns the list of active servers in the cluster:
PowerShell
Get-ClusterNode
Returns the stats for the cluster storage pool:
PowerShell
Get-StoragePool pool*
Lists which servers are on which site (fault domain):
PowerShell
Get-ClusterFaultDomain
Open the Sites.xml file in Notepad or other text editor:
PowerShell
Get-ClusterFaultDomainXML | out-file sites.xml
PowerShell
notepad
Navigate to where the Sites.xml file is located locally on your management PC and open the file. The Sites.xml file will look similar to this:
Modify the current site (fault domain) information. The first command sets a variable to obtain the contents of the Sites.xml file and output it. The second command sets the modification based on the variable $XML.
Verify that the modifications you made are correct:
Get-ClusterFaultDomain
Add the server pair to your cluster using the Add-ClusterNode cmdlet:
Add-ClusterNode -Name Server5,Server6
Once the servers have been successfully added, the associated drives are automatically added to each site’s storage pools. Lastly, the Health Service creates a storage job to include the new drives.
Remove server pairs from a stretched cluster
Before you remove server pairs from a cluster, you must uninstall any VM extensions from your Azure Arc-enabled servers, or else you risk issues installing extensions later if you add the servers back again.
Removing a server pair from a stretched cluster is a similar process to adding a server pair, but using the Remove-ClusterNode cmdlet instead.
Use the following PowerShell cmdlets to determine the state of the cluster:
Returns the list of active servers in the cluster:
PowerShell
Get-ClusterNode
Returns the stats for the cluster storage pool:
PowerShell
Get-StoragePool pool*
Lists which servers are on which site (fault domain):
PowerShell
Get-ClusterFaultDomain
Open the Sites.xml file in Notepad or other text editor:
PowerShell
Get-ClusterFaultDomainXML | out-file sites.xml
PowerShell
notepad
Using the previous example, in the Sites.xml file, remove the <Node Name="Server5" Description="" Location=""> and the <Node Name="Server6" Description="" Location=""> XML entry for each site.
Modify the current site (fault domain) information using the following two cmdlets:
Verify that the modifications you made are correct:
Get-ClusterFaultDomain
Run the following cmdlet on the servers to be removed (Server5 and Server6) to disable Azure Arc integration:
Disable-AzureStackHCIArcIntegration
Remove the server pairs from the cluster using the Remove-ClusterNode cmdlet:
Remove-ClusterNode -Name Server5,Server6
Once the servers have been successfully removed, the associated drives are automatically removed from the site pools. Lastly, the Health Service creates a storage job to remove these drives.
Next steps
You should validate the cluster after adding or removing a server. For more information, see Validate the cluster.
function custom_footer_scripts() {
?>
#simple-social-icons-2 ul li a, #simple-social-icons-2 ul li a:hover, #simple-social-icons-2 ul li a:focus { background-color: #999999 !important; border-radius: 3px; color: #ffffff !important; border: 0px #ffffff solid !important; font-size: 18px; padding: 9px; } #simple-social-icons-2 ul li a:hover, #simple-social-icons-2 ul li a:focus { background-color: #666666 !important; border-color: #ffffff !important; color: #ffffff !important; } #simple-social-icons-2 ul li a:focus { outline: 1px dotted #666666 !important; }