availableSizeMB should not be used as an authoritative preflight value above 1 TiB on the reported build; obtain SizeRemaining directly from the backing CSV until Microsoft confirms or fixes the apparent reporting ceiling.
What can be concluded
- Azure Local documentation says a storage path’s available capacity is determined by the available space on its backing cluster shared volume (CSV). It does not document a 1 TiB maximum.^1^
- The API model defines
availableSizeMBas a nullable 64-bit integer representing available disk space. The schema itself therefore does not impose a 1,048,576 MB limit.^2^ - Your boundary test strongly indicates that the reported value is being clamped or truncated to 1 TiB somewhere in the Azure Local reporting path: it stayed at exactly 1,048,576 MiB above the boundary, then tracked the CSV after free space fell below it. However, no public documentation identifies that behavior as intentional.
- The 2610 release notes do not list this issue among the fixes or known issues. Consequently, there is no documented basis for claiming that upgrading from 12.2609.1003 to 12.2610.1004.50 fixes it.^3^
Authoritative capacity check
No documented property on Microsoft.AzureStackHCI/storageContainers provides an uncapped alternative to status.availableSizeMB. The related SDK properties expose the same serialized value, not a second capacity measurement.^4^
For provisioning automation that can run against the Azure Local machine, query the backing CSV directly:
$csvPath = 'C:\ClusterStorage\UserStorage_1'
$volume = Get-Volume -Path $csvPath
[pscustomobject]@{
Path = $csvPath
FreeBytes = [int64]$volume.SizeRemaining
FreeMiB = [math]::Floor($volume.SizeRemaining / 1MB)
RequiredBytes = 50GB
Fits = $volume.SizeRemaining -ge 50GB
}
Get-Volume exposes SizeRemaining and Size for the actual filesystem volume.^5^
Additional safeguards:
- Compare in bytes rather than rounded MiB.
- Reserve operational headroom instead of treating every free byte as allocatable.
- Resolve each storage path to its underlying CSV and deduplicate by volume. In this case, both storage paths point to
UserStorage_1, so their reported capacities must not be added together. - If only ARM access is available, treat exactly
1,048,576as “at least 1 TiB or indeterminate,” not as exact free capacity. There is no documented ARM replacement that supplies the real value.
Refresh behavior
No public Azure Local documentation specifies a polling interval, maximum propagation delay, or freshness guarantee for availableSizeMB. The property is described as observed status, so it should be treated as eventually updated rather than transactionally synchronized with disk creation or deletion.^6^
Different update times for two storage-path resources on the same CSV are therefore possible, but the available documentation does not define an expected delay. Do not use a fixed sleep as a correctness mechanism; poll until the value changes or a timeout expires, while using the direct CSV measurement for the admission decision.
Escalation
Open an Azure support request and include:
- Solution version
12.2609.1003, regioneastus, and API version2024-01-01. - Full resource IDs and timestamps for both storage paths.
- Raw ARM responses before and after crossing the 1 TiB boundary.
- Simultaneous
Get-Volume -Path C:\ClusterStorage\UserStorage_1output. - The reproducible boundary: values above 1 TiB return exactly
1,048,576; values below it track the CSV. - The per-resource refresh delay after create and delete operations.
Ask Microsoft to confirm whether this is a service-side clamp or an appliance/resource-provider defect, identify the affected versions, and provide the fixed build or supported capacity API.
References
- Create storage path for Azure Local
- IStorageContainerStatus.AvailableSizeMb Property (Microsoft.Azure ...
- Known issues in Azure Local
- IStorageContainerProperties.StatusAvailableSizeMb Property-Definition
- Retrieves volume information including drive letter, size, and remaining size within a virtual machine using PowerShell.
- StorageContainerStatus interface-Property Details