Resize VM within Availability set

Copper Contributor

Can I resize the VM in below different scenarios. For Example

 

Scenario #1

Availability Set 1 (DC Region Europe)

VM1 ( Windows), VM 2 ( Windows) and VM 3 (Windows)

 

Scenario #2

Availability Set 2 (DC Region USA Central)

VM1 ( Windows), VM 2 ( Linux) and VM 3 (Windows)

 

Scenario #3

Availability Set 3 (DC Region Canada)

VM1 ( Windows), VM 2 ( Linux) and VM 3 (Ubuntu)

 

Question:

#1) Is the scenarios valid? Will a availability set can contain different images under same group.

#2) How would I change the size of the VM?

Ans:

For Scenario #1

   -- If the size is available within the region, then change it seamlessly. 

   -- If the size is not available in the region, change it by stopping all the VM's within the availability set , update the size and restart the VM

For Scenario #2

   -- If the size is available within the region, << What should be my next step>>

   -- If the size is not available in the region, << What should be my next step>>

For Scenario #3

   -- If the size is available within the region, << What should be my next step>>

   -- If the size is not available in the region, << What should be my next step>>

5 Replies

@devops2022 

 

Hi  

 

Can I resize the VM in below different scenarios. ? 

 

Yes with conditions  

- VMs are in the same region 

- VMs use managed disks when it is required (sku = aligned)

 

Is the scenarios valid? Will a availability set can contain different images under same group. ? 

Yes check in the attached files you can see an availability set with both Windows and Linux VMs.

However i would not use this configuration in production i would use 2 windows + 2 Linux to ensure that the service in the Linux will not stop in case of planned or unplanned maintenance.

 

 How would I change the size of the VM?

 

In fact in any case the only condition you need to meet is :   

 

- The target VM size is available on the underlying hardware not only the region

 

To get all available sizes for virtual machines that you can deploy in the availability set you can use the Get-AzVMSize command

 

Example 

Get-AzVMSize `
-ResourceGroupName "rg-dev-test" `
-AvailabilitySetName "avail-dev-test"

 

thanks @ibnmbodji
I agree for production we need to have at least 2 fault domain and 3 update domain so that (un)planned maintenance could be handled.
I couldn't see the attached file.
Resource group will sit on top of availability set.
or can i have multiple availability set within a resource group? which of the statement is correct

@devops2022 

 

Resource group will sit on top of availability set.
or can i have multiple availability set within a resource group ?

Yes you need  to keep all (vms,  resource groups and availability sets ) in the same region and that's it . 

 

 

 

Tbanks again.
I was just thinking to post another question but got answer.

So, a resource group can be used to logically group the resource within a Region and
CANNOT BE USED across grouping resources across regions.

You're welcome  

 

So, a resource group can be used to logically group the resource within a Region and
CANNOT BE USED across grouping resources across regions. Not really because in most of scenarios you can group resources in a resource group even if it is in a different region. However you can have some constraints like in the scenarios above  where the availability set and the resource group should be in the same region same for virtual machines that will use those as.