Service Team Request
API Spec: Azure/azure-rest-api-specs#39109
Feature Description: Aligned Zonal Fault Domains for VMSS Flex — enables 1:1 mapping between compute fault domains and storage fault partitions within a single Availability Zone
Target Service Public Preview: 2026-06-30
Target CLI Release: CLI 2.87.0 — 2026-06-02
Updated 2026-05-04 — design has firmed up; this issue body now reflects the final cmdlet/CLI surface as agreed with the service team. The corresponding PowerShell design review is Azure/azure-powershell-cmdlet-review-pr#1548.
Preview Requirements
⚠️ Feature Flag Required During Preview
Register the following AFEC on your subscription:
az feature register --namespace Microsoft.Compute --name ZonalAlignedMultipleFDs
az provider register --namespace Microsoft.Compute
Requested Commands
New Parameters for Existing Commands
| Command |
Parameter |
Type |
Allowed Values |
Notes |
az vmss create |
--zonal-fault-domain-align-mode |
string |
Aligned, Unaligned, BestEffortAligned |
VMSS-level alignment mode |
az vmss create |
--os-disk-storage-fd-alignment |
string |
Aligned, BestEffortAligned |
Per-disk override. Omit to leave unaligned. |
az vmss create |
--data-disk-storage-fd-alignment |
string |
Aligned, BestEffortAligned |
Per-disk override. Omit to leave unaligned. |
az vm create |
--os-disk-storage-fd-alignment |
string |
Aligned, BestEffortAligned |
Only valid when --vmss joins a Flex VMSS. |
az vm create |
--data-disk-storage-fd-alignment |
string |
Aligned, BestEffortAligned |
Only valid when --vmss joins a Flex VMSS. |
Important Constraints
- Per-disk values do NOT include
Unaligned. CRP returns BadRequest if Unaligned is sent at the disk level. To leave a disk unaligned, omit the parameter — do not pass Unaligned.
- Per-disk alignment is only valid for VMs in a Flex VMSS. CRP returns
BadRequest if either per-disk parameter is set on a standalone VM not joined to a Flex VMSS.
- Per-disk alignment is set-at-create only — values cannot be changed via update.
- VMSS-level alignment IS updatable via
az vmss update --set zonalPlatformFaultDomainAlignMode=....
- Flexible orchestration only. Aligned/BestEffortAligned modes are not supported for Uniform VMSS.
- Single zone only. Alignment only applies when the VMSS is deployed to a single Availability Zone.
No New Commands Required
Updates leverage generic --set for az vmss update.
Example Usage
# 1. Create VMSS with full (strict) alignment
az vmss create \
--name myVmss \
--resource-group myRg \
--location eastus2 \
--zones 1 \
--orchestration-mode Flexible \
--platform-fault-domain-count 3 \
--zonal-fault-domain-align-mode Aligned \
--image Ubuntu2204 \
--vm-sku Standard_D4s_v5 \
--instance-count 3
# 2. Create VMSS with best-effort alignment + per-disk override on OS disk
az vmss create \
--name myVmss \
--resource-group myRg \
--location eastus2 \
--zones 1 \
--orchestration-mode Flexible \
--platform-fault-domain-count 3 \
--zonal-fault-domain-align-mode BestEffortAligned \
--os-disk-storage-fd-alignment BestEffortAligned \
--image Ubuntu2204 \
--vm-sku Standard_D4s_v5
# 3. Constrained disk-type case: OS disk on Premium LRS forced aligned;
# data disk on Premium SSD v2 left unaligned by OMITTING the parameter
az vmss create \
--name myVmss \
--resource-group myRg \
--location eastus2 \
--zones 1 \
--orchestration-mode Flexible \
--platform-fault-domain-count 3 \
--zonal-fault-domain-align-mode BestEffortAligned \
--os-disk-storage-fd-alignment Aligned \
--image Ubuntu2204 \
--vm-sku Standard_D4s_v5
# (Do NOT pass --data-disk-storage-fd-alignment Unaligned — that fails. Omit it.)
# 4. Update existing VMSS (only VMSS-level mode is updatable)
az vmss update \
--name myVmss \
--resource-group myRg \
--set zonalPlatformFaultDomainAlignMode=BestEffortAligned
# 5. Query disk alignment status (read-only) via VM instance view
az vm get-instance-view \
--ids $(az vmss list-instances --resource-group myRg --name myVmss --query "[].id" -o tsv) \
--query "{vm:name, disks:instanceView.disks[].{name:name, alignmentState:storageAlignmentStatus}}"
API Properties
| Model |
Property |
Type |
Allowed Values |
Notes |
VirtualMachineScaleSet.properties |
zonalPlatformFaultDomainAlignMode |
Enum |
Aligned, Unaligned, BestEffortAligned |
Updatable |
VirtualMachineScaleSetUpdate.properties |
zonalPlatformFaultDomainAlignMode |
Enum |
same as above |
Update path |
VirtualMachineScaleSetOSDisk |
storageFaultDomainAlignment |
Enum |
Aligned, BestEffortAligned |
Per-disk; create-only; omit for unaligned |
VirtualMachineScaleSetDataDisk |
storageFaultDomainAlignment |
Enum |
Aligned, BestEffortAligned |
Per-disk; create-only; omit for unaligned |
OSDisk (VM) |
storageFaultDomainAlignment |
Enum |
Aligned, BestEffortAligned |
Flex VMSS member only |
DataDisk (VM) |
storageFaultDomainAlignment |
Enum |
Aligned, BestEffortAligned |
Flex VMSS member only |
DiskInstanceView (read-only) |
storageAlignmentStatus |
Enum |
Aligned, Unaligned |
Current alignment state |
Dependencies
Contact
Service Team Request
API Spec: Azure/azure-rest-api-specs#39109
Feature Description: Aligned Zonal Fault Domains for VMSS Flex — enables 1:1 mapping between compute fault domains and storage fault partitions within a single Availability Zone
Target Service Public Preview: 2026-06-30
Target CLI Release: CLI 2.87.0 — 2026-06-02
Preview Requirements
Requested Commands
New Parameters for Existing Commands
az vmss create--zonal-fault-domain-align-modeAligned,Unaligned,BestEffortAlignedaz vmss create--os-disk-storage-fd-alignmentAligned,BestEffortAlignedaz vmss create--data-disk-storage-fd-alignmentAligned,BestEffortAlignedaz vm create--os-disk-storage-fd-alignmentAligned,BestEffortAligned--vmssjoins a Flex VMSS.az vm create--data-disk-storage-fd-alignmentAligned,BestEffortAligned--vmssjoins a Flex VMSS.Important Constraints
Unaligned. CRP returnsBadRequestifUnalignedis sent at the disk level. To leave a disk unaligned, omit the parameter — do not passUnaligned.BadRequestif either per-disk parameter is set on a standalone VM not joined to a Flex VMSS.az vmss update --set zonalPlatformFaultDomainAlignMode=....No New Commands Required
Updates leverage generic
--setforaz vmss update.Example Usage
API Properties
VirtualMachineScaleSet.propertieszonalPlatformFaultDomainAlignModeAligned,Unaligned,BestEffortAlignedVirtualMachineScaleSetUpdate.propertieszonalPlatformFaultDomainAlignModeVirtualMachineScaleSetOSDiskstorageFaultDomainAlignmentAligned,BestEffortAlignedVirtualMachineScaleSetDataDiskstorageFaultDomainAlignmentAligned,BestEffortAlignedOSDisk(VM)storageFaultDomainAlignmentAligned,BestEffortAlignedDataDisk(VM)storageFaultDomainAlignmentAligned,BestEffortAlignedDiskInstanceView(read-only)storageAlignmentStatusAligned,UnalignedDependencies
2025-11-01(was2025-04-01in the original request — updated)az vmss create,az vmss update,az vm create,az vm get-instance-view,az disk showContact