The other day i was trying to change the size of a Virtual Machine in Azure  which is part of an availability set to the new more efficient V3 machines. What i noticed is that not all the VM Sizes were available. After some reading and research on the web i came across this article. The article explains the following:

“If your VM(s) are deployed using the Resource Manager (ARM) deployment model and you need to change to a size which requires different hardware then you can resize VMs by first stopping your VM, selecting a new VM size and then restarting the VM. If the VM you wish to resize is part of an availability set, then you must stop all VMs in the availability set before changing the size of any VM in the availability set. The reason all VMs in the availability set must be stopped before performing the resize operation to a size that requires different hardware is that all running VMs in the availability set must be using the same physical hardware cluster. Therefore, if a change of physical hardware cluster is required to change the VM size then all VMs must be first stopped and then restarted one-by-one to a different physical hardware clusters.”

So that’s logical when you think about it, the article mentions that: the same hardware cluster must be used to host all VMs in an availability set.

So let’s make this clear using powershell:

The output when only one VM in the availability set is in a “running” state:

So now lets stop the running VM:

Again run the Get available VM Sizes

The output cannot be captured on 1 screen:

So after shutting down (deallocated) the last VM in an availability set the adiotional VM Sizes are available.

So now my lab had the new V3 processor.

So what about the IP adres over what the VM’s communicate to the outside world> It remains the same!!

Untill next time!