|
| 1 | +--- |
| 2 | +title: Overview of Azure Local Rack Aware Clustering |
| 3 | +description: Use this topic to learn about Azure Local Rack Aware Clustering. |
| 4 | +author: alkohli |
| 5 | +ms.author: alkohli |
| 6 | +ms.topic: overview |
| 7 | +ms.service: azure-local |
| 8 | +ms.date: 04/01/2025 |
| 9 | +--- |
| 10 | + |
| 11 | +# Azure Local Rack Aware Clustering overview |
| 12 | + |
| 13 | +[!INCLUDE [applies-to](../includes/hci-applies-to-23h2.md)] |
| 14 | + |
| 15 | +This article gives a high-level overview of the Azure Local Rack Aware Clustering feature including its benefits and use cases. The article also details the supported configurations and deployment requirements for rack aware clustering. |
| 16 | + |
| 17 | +[!INCLUDE [important](../includes/hci-preview.md)] |
| 18 | + |
| 19 | +## About Rack Aware Cluster and virtual machines on Azure Local |
| 20 | + |
| 21 | +Azure Local Rack Aware Cluster is an advanced architecture designed to enhance fault tolerance and data distribution within an Azure Local instance. This architecture enables you to cluster nodes that are strategically placed across two physical racks in two different rooms or buildings with high bandwidth and low latency. An example of Rack Aware Cluster could be the use in a manufacturing plant to minimize the risk of data loss or downtime in the event of a rack-level failure. |
| 22 | + |
| 23 | + |
| 24 | +### VM prerequisites |
| 25 | + |
| 26 | +Before you create an Azure Local VM for Rack Aware Clustering, make sure that all prerequisites listed in [Create Azure Local virtual machines enabled by Azure Arc](../manage/create-arc-virtual-machines.md) are met. |
| 27 | + |
| 28 | +### Create a VM in a specific availability zone |
| 29 | + |
| 30 | +Once availability zones are set up in Rack Aware Cluster, Azure Local VMs can be created on a specific availability zone to reduce latency, improve performance, ensure redundancy, and meet compliance requirements. |
| 31 | + |
| 32 | +When you create a VM in a specific availability zone, the default option is without strict placement. The VM is created on a machine within the specified zone (`--zone`). If all machines within a zone are down, the VM can migrate to another machine outside of the zone. However, the VM attempts to failback to a machine within the original zone when that availability zone recovers. |
| 33 | + |
| 34 | +> [!NOTE] |
| 35 | +> If no zone is specified when creating an Azure Local VM, the system will automatically choose an optimal placement within the Rack Aware Cluster. |
| 36 | +
|
| 37 | +1. Connect to a machine on your Azure Local instance. |
| 38 | +1. Sign in and set the subscription: |
| 39 | + |
| 40 | + :::image type="content" source="media/rack-aware-clustering-overview/rack-aware-cluster-vm-sign-in.png" alt-text="Screenshot showing VM sign in." lightbox="media/rack-aware-clustering-overview/rack-aware-cluster-vm-sign-in.png"::: |
| 41 | + |
| 42 | +1. Set the parameters: |
| 43 | + |
| 44 | + ```azurecli |
| 45 | + $vmName ="local-vm" |
| 46 | + $subscription = "<Subscription ID>" |
| 47 | + $resource_group = "local-rg" |
| 48 | + $customLocationName = "local-cl" |
| 49 | + $customLocationID ="/subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.ExtendedLocation/customLocations/$customLocationName" |
| 50 | + $location = "eastus" |
| 51 | + $computerName = "mycomputer" |
| 52 | + $userName = "local-user" |
| 53 | + $password = "<password for the VM>" |
| 54 | + $imageName ="ws22server" |
| 55 | + $nicName ="local-vnic" |
| 56 | + $storagePathName = "local-sp" |
| 57 | + $storagePathId = "/subscriptions/<Subscription ID>/resourceGroups/local-rg/providers/Microsoft.AzureStackHCI/storagecontainers/local-sp" |
| 58 | + $zone = “local-zone” |
| 59 | + ``` |
| 60 | +
|
| 61 | +1. Run the following command: |
| 62 | +
|
| 63 | + ```azurecli |
| 64 | + az stack-hci-vm create --name $vmName --resource-group $resource_group --admin-username $userName --admin-password $password --computer-name $computerName --image $imageName --location $location --authentication-type all --nics $nicName --custom-location $customLocationID --hardware-profile memory-mb="8192" processors="4" --storage-path-id $storagePathId –zone $zone |
| 65 | + ``` |
| 66 | + |
| 67 | +1. Verify that the VM was created in the desired zone. Look under `placementProfile` in the output. |
| 68 | +
|
| 69 | + ```azurecli |
| 70 | + "placementProfile": { |
| 71 | + "strictPlacementPolicy": null, |
| 72 | + "zone": "local-zone" |
| 73 | + }, |
| 74 | + ``` |
| 75 | +
|
| 76 | +### Create a VM in a specific availability zone (strict placement enabled) |
| 77 | +
|
| 78 | +To create a VM in a specific availability zone and ensure it stays within that availability zone, you can specify another flag `--strict-placement` to `true`. The VM is created on a node within the specified zone (`--zone`). If all machines within a zone are down, the VM also goes down. Only enable strict placement if the VM isn't required to be always running or needs to adhere to a specific availability zone due to compliance requirements. |
| 79 | +
|
| 80 | +1. Run the following command: |
| 81 | +
|
| 82 | + ```azurecli |
| 83 | + az stack-hci-vm create --name $vmName --resource-group $resource_group --admin-username $userName --admin-password $password --computer-name $computerName --image $imageName --location $location --authentication-type all --nics $nicName --custom-location $customLocationID --hardware-profile memory-mb="8192" processors="4" --storage-path-id $storagePathId –zone $zone –strict-placement true |
| 84 | + ``` |
| 85 | +
|
| 86 | +1. Verify that the VM has strict placement enabled and was created in the desired zone. Look under `placementProfile` in the output. |
| 87 | +
|
| 88 | + ```azurecli |
| 89 | + "placementProfile": { |
| 90 | + "strictPlacementPolicy": true, |
| 91 | + "zone": "local-zone" |
| 92 | + }, |
| 93 | + ``` |
| 94 | +
|
| 95 | +## Next steps |
| 96 | +
|
| 97 | +- See [Rack Aware Cluster networking](rack-aware-clustering-network-design.md). |
0 commit comments