Share via


What is the use of Update domain when we have fault domain?

Question

Friday, December 1, 2017 8:09 PM

Hi All,

I know update domain is used to run updates on VM's by Microsoft in batches. But when we already have an fault domain which will ensure availability of services when one of the servers is down. Why do we need another parameter called Update domain parameter?

Thanks
Lax

All replies (3)

Friday, December 1, 2017 8:26 PM

Each virtual machine in your availability set is assigned an update domain and a fault domain by the underlying Azure platform.

Fault domains:

A fault domain is a logical group of underlying hardware that share a common power source and network switch, similar to a rack within an on-premises datacenter. As you create VMs within an availability set, the Azure platform automatically distributes your VMs across these fault domains. This approach limits the impact of potential physical hardware failures, network outages, or power interruptions.

Update domains:

An update domain is a logical group of underlying hardware that can undergo maintenance or be rebooted at the same time. As you create VMs within an availability set, the Azure platform automatically distributes your VMs across these update domains. This approach ensures that at least one instance of your application always remains running as the Azure platform undergoes periodic maintenance. The order of update domains being rebooted may not proceed sequentially during planned maintenance, but only one update domain is rebooted at a time.

For more details, refer “Azure-availability set for redundancy”.

Do click on "Mark as Answer" and “Vote as Helpful” on the post that helps you, this can be beneficial to other community members.


Friday, December 1, 2017 10:22 PM

Ya but I was trying to understand why do we need to have 2 different settings? Doesn't fault domain serves the purpose for both unscheduled and also scheduled maintenance?


Saturday, December 2, 2017 2:33 PM

When you put VMs in to an availability set, Azure guarantees to spread them across Fault Domains and Update Domains.

A Fault Domain (FD) is essentially a rack of servers. It consumes subsystems like network, power, cooling etc. So 2 VMs in the same availability set means Azure will provision them in to 2 different racks so that if say, the network or the power failed, only one rack would be affected.

Sometimes you need to update your app/Software’s, or Microsoft needs to update the host on which your VM(s) are running. Note that with IaaS VMs, Microsoft does not automatically update your VMs. You have complete control (and responsibility) over that. But say if a serious security vulnerability is identified and a patch created. It’s in Microsoft’s interest to get that applied to the host underneath your VM as soon as possible. So how is that done without taking your service offline? Update Domains. It’s similar to the FD methods, only this time, instead of an accidental failure, there is a purposeful move to take down one (or more) of your servers. So, to make sure your service doesn’t go offline because of an update, it will walk through your update domains one after the other.

For more details, refer “Fault Domains and Update Domains”.

Do click on "Mark as Answer" and “Vote as Helpful” on the post that helps you, this can be beneficial to other community members.