Azure-docs: Update domains and scale sets

Created on 10 Aug 2018  Â·  14Comments  Â·  Source: MicrosoftDocs/azure-docs

This doc says:
"(Resource Manager deployments can then be increased to provide up to 20 update domains)"
First, how is this done? I don't see a portal setting, nor a parameter to change this for Update-AzureRmAvailabilitySet.
https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/update-azurermavailabilityset?view=azurermps-6.6.0
If it can only be specified at creation with New-AzureRmAvailabilitySet -PlatformUpdateDomainCount, that doesn't match what is being said here.

Also, scale sets info says:
"A regional (non-zonal) scale set uses placement groups, which act as an implicit availability set with five fault domains and five update domains. "
https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-faq
Would the update domain settings of an availability set override the default 5 for the placement group (scale set), if a VM is created in both a scale set and an availability set?

Thanks!


Document Details

⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

assigned-to-author doc-bug triaged virtual-machines-windowsvc

Most helpful comment

Ahhh, okay. Instead of "To change the availability set" should probably be phrased as "To move to a different availability set" to make it clearer. You need to delete and recreate VMs to put them in a completely different AV set.

As for the original issue, I'm not sure what you can change in an AV set, once it is created and while it has VMs. There is a cmdlet for updating a set (https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/update-azurermavailabilityset?view=azurermps-6.7.0) but the docs aren't real clear on what all you can successfully update.

Let me get a hold of the engineering team and see what we can find out :)

All 14 comments

Thanks for the feedback! We are currently investigating and will update you shortly.

@dcbrown16 You are right. A VM can only be added to an availability set when it is created. To change the availability set, you need to delete and then recreate the virtual machine.
I have assigned the issue to the content author to evaluate and update as appropriate.

@Karishma-Tiwari-MSFT is your response intended for a different issue? It seems like it isn't answering the original question.

The docs already cover the fact that you can't add a VM to an AV set after it is created... but I don't think that is what this issue is about? It sounds like it is more about update domains.

@cynthn @Karishma-Tiwari-MSFT
Thanks, yes I'm not 100% sure if the fact that VMs can only go into AVs at creation also determines the update domains. How can we increase the number of update domains after creation?
And what happens if there is a conflict in the number specified from the AV (apparently up to 20) and the scale set (fixed at 5)?
Thanks!

Can the change only be made with REST API calls? I don't see any options in the portal or PowerShell as mentioned, but I found this.
https://docs.microsoft.com/en-us/rest/api/compute/availabilitysets/createorupdate

@cynthn Since Availability set comprises of Fault domain and update domain, this statement from the doc:
"To change the availability set, you need to delete and then recreate the virtual machine."
it implied to me that we need to delete and then recreate VM to update the _update domain_ as well.

I could not find any other documentation on how to update the update domain other than this doc shared by the customer.
Please share if you have any insights or an existing doc you know of, that can be shared with the customer. :)

Ahhh, okay. Instead of "To change the availability set" should probably be phrased as "To move to a different availability set" to make it clearer. You need to delete and recreate VMs to put them in a completely different AV set.

As for the original issue, I'm not sure what you can change in an AV set, once it is created and while it has VMs. There is a cmdlet for updating a set (https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/update-azurermavailabilityset?view=azurermps-6.7.0) but the docs aren't real clear on what all you can successfully update.

Let me get a hold of the engineering team and see what we can find out :)

@cynthn one more restriction about availability sets that I'll add to the pile to confirm - it seems the Portal at least will only let you put a new VM in an availability set that is in the same resource group (as the VM you are making). Is that an intentional restriction? Any workarounds with PS/CLI etc.?

Hi, adding a comment since I had a question from a different customer that slightly relates to this thread. I'm still not sure the way to change max update domain number of 5 to 20. Do they request a quota change? I'm still confused with the "can then" part of "Resource Manager deployments can then be increased" as well.

@dcbrown16 and @v-maroge sorry it has taken so long for me to loop back around on this. My understanding is that the VMs need to be in the same resource group as the availability set. I don't see a way to specify where the AV set is when you create the VM and testing using the Azure CLI fails when I try to create a VM and put it in an AV set that isn't in the same resource group.

I also can't find a way to change the update or fault domain count on an existing availability set. The Update-AzAvailabilitySet cmdlet looks like it is only for converting between "aligned" and not aligned (you use "aligned" when your VMs use managed disks).

You can specify up to 20 update domains in the portal, CLI and PowerShell.

I'm adding @mayanknayar from the scale-sets team to see if he can answer the question about "who wins" if you create VMs in both a scale-set and an availability set. He might know whether you can only get 5 fault and update domains or if you can go up to 20 update domains in that circumstance.

Depending on the response from @mayanknayar, I will update the VMs and VMSS docs. Thank you!

Thanks @cynthn, the original support request was resolved as "we don't know" but I'm sure it will come up again so any info would be appreciated.

For the who wins question, you can't have the same VM in an AVSet and also in a VMSS. The creation and management of Standalone/AvSet VMs is different from that of VMSS instances and the two are not changeable.

For VMSS specifically, the default FD count is 5. You can change it to 1, 2 or 3 from the default of 5. The UD count is 5 and is not changeable. And you can't move an instance from one FD to another. You can specific the FD count at the VMSS level and then VMSS will distribute the instances across the number of fault domains you've specified. You can check the UD and FD details for any instance through the instance view of the VMSS instance.

More information on VMSS FD can be found in this article: https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-manage-fault-domains

VMSS instance view details are here: https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-upgrade-scale-set#the-scale-set-instance-view

please-close

Thanks :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Agazoth picture Agazoth  Â·  3Comments

spottedmahn picture spottedmahn  Â·  3Comments

Ponant picture Ponant  Â·  3Comments

JamesDLD picture JamesDLD  Â·  3Comments

jharbieh picture jharbieh  Â·  3Comments