VAM Availability Set

Handian Sudianto 5,981 Reputation points
2023-11-29T06:29:59.66+00:00

Hello,

We plan to make availability set for our existing azure VM, and i need some recommendation / guide how to make the availability set.

  • Availability Set is to protect the VM from there any issue with the rack, so Availability Set placed on different rack?
  • When we make a new availability set, can we assign the existing VM to this availability set?
  • If exiting VM let say VM-1A already assigned to the availability set we must create another VM let say new VM name is VM-1B ? Should the new VM-1B use same SKU with VM-1A? How about the application and the data, will sync from VM-1A? Or when there are issue with Rack-1, the VM will be migrated to other rack so we no need make a new VM?
  • With the issue on rack-1 solved will the VM fall back to this rack or the VM will be stay on the 2nd rack?
  • How much faulty domain and update domain needed?
Azure Virtual Machines
Azure Virtual Machines
An Azure service that is used to provision Windows and Linux virtual machines.
8,720 questions
{count} votes

1 answer

Sort by: Most helpful
  1. TP 118.2K Reputation points
    2023-11-29T17:59:13.8166667+00:00

    Hi,

    You should consider using a Virtual Machine Scale Set (VMSS) instead of Availability Set (AS) since VMSS essentially has all features of Availability Set plus more like support for Availability Zones. One benefit of Availability Set over VMSS is it is not as complicated (since it has fewer features).

    In order to get the benefit of AS or VMSS you need to have an appropriate workload that has the ability to share state/data between VMs and/or be stateless. AS/VMSS isn't going to synchronize data between VMs for you. For example, you could put two Windows Active Directory domain controller VMs in an availability set, since they replicate changes to each other. If one DC VM fails due to underlying hardware failure, the other one can still function since it would be on different hardware and has a copy of the active directory data.

    When we make a new availability set, can we assign the existing VM to this availability set?

    A: No, you cannot assign existing VM to an availability set. You would need to delete the VM (keeping the disks) and recreate it since you can only assign a VM to an availability set during creation.

    If exiting VM let say VM-1A already assigned to the availability set we must create another VM let say new VM name is VM-1B ? Should the new VM-1B use same SKU with VM-1A? How about the application and the data, will sync from VM-1A? Or when there are issue with Rack-1, the VM will be migrated to other rack so we no need make a new VM?

    A: Yes, generally you should use same size VM for second (or more) VM in AS, however, it is not mandatory. No, application and data will not sync. If hardware failure is predicted Azure will live migrate VMs to different physical machine, if possible, if not they will be redeployed to healthy hardware. This live migrate/redeploy is platform feature and doesn't require AS or VMSS.

    Certain failures (e.g. power-related) in a fault domain may cause the VM(s) in that domain to be down and they can't be migrated/redeployed. Depending on the failure the VMs in the other fault domains should still be functional and this is one of the scenarios availability sets are intended for. With VMSS you could have VMs in different availability zones so if a failure affects an entire datacenter the VMs in the other AZs should still work.

    How much faulty domain and update domain needed?

    A: For fault domains, this depends on how much redundancy you need and your budget. Maximum fault domains is three. For update domains, the number is less important since Azure uses memory-preserving techniques when performing platform updates for more than 90% of VMs.

    Please click Accept Answer and upvote if the above was useful.

    Thanks.

    -TP

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.