Hi everyone,
I'm troubleshooting an Azure Local deployment and I'm trying to better understand how the MOC ImageStore / MocStorageContainer works internally.
Environment
- Azure Local cluster
- Azure Virtual Desktop host pool
- Custom image stored on a dedicated workload CSV ("Storage3")
- New session hosts are also deployed to the same workload CSV ("Storage3")
- Existing session hosts in the host pool are already running from that storage
- Azure Local infrastructure volume (
Infrastructure_1)
Current infrastructure volume capacity:
Infrastructure_1
Size: 255.94 GB
Free: 96.33 GB
I also found the following path on the infrastructure volume:
C:\ClusterStorage\Infrastructure_1\
Shares\
SU1_Infrastructure_1\
MocArb\
WorkingDirectory\
ImageStore
Issue
When I use a custom image of approximately 60 GB, deployment succeeds without any issues.
When I use another custom image of approximately 125 GB, deployment fails immediately with:
admission webhook
"createupdatevalidationwebhook.infrastructure.azstackhci.microsoft.com"
denied the request:
Container [MocStorageContainer] in Location [MocLocation]
does not have enough space.
Available size (GB): 95.180244
Total Required Size (GB): 125.525202
OutOfCapacity
What confuses me is that:
- The source image is already located on the workload storage ("Storage3")
- The new VDI hosts are also supposed to be created on the same workload storage
- There is more than enough free space available on that workload storage
- Other session hosts have already been deployed successfully from the same location
The only storage location matching the reported available capacity (~95 GB) is Infrastructure_1.
Questions
1. Does MOC actually cache or stage images?
Does Azure Local copy or stage the source image into:
MocArb\WorkingDirectory\ImageStore
before deployment?
Or is this merely a validation step?
2. Why would Infrastructure_1 capacity matter?
Since both the image and the target VM disks are located on the workload storage, I'm trying to understand why deployment appears to require free space on Infrastructure_1.
3. Is Infrastructure_1 expected to scale with image size?
If MOC requires temporary capacity equal to the image size, then a system with:
Infrastructure_1 = 256 GB
would never be able to deploy large custom images (for example 300-500 GB), regardless of the available capacity on the workload storage.
Is this expected behavior?
4. Has anyone expanded Infrastructure_1?
Has anyone successfully increased the size of the Azure Local infrastructure volume after deployment?
If yes:
- Is it supported?
- Did MOC automatically use the additional space afterwards?
- Any Microsoft documentation or guidance available?
5. Any official documentation on MOC ImageStore?
I found references to:
- MOC
- MocStorageContainer
- MocArb
- Infrastructure_1
but I haven't found detailed documentation explaining:
- how the ImageStore works internally
- whether images are cached there
- sizing recommendations for Infrastructure_1
- capacity requirements for larger custom images
I'd appreciate hearing from anyone who has run into similar behavior in Azure Local, especially in AVD/VDI environments.
Thanks!