
我正在努力理解 Azure 中的故障/更新網域的概念,任何幫助將不勝感激。我在同一可用性集中配置了 2 個虛擬機,分別具有 2 個故障域和 2 個更新域:
Fault Domain Update Domain
server_iis1 0 0
server_iis2 1 1
據我所知,故障域實際上是一個機架,但是以下幾點讓我感到困惑:
如果我完全放開故障域 0,那麼 server_iis1 就消失了? server_iis1 的第二個實例位於哪裡,該實例應該在發生機架故障(故障域 0)時啟動並運行,從而為我提供 99.95% 的 SLA?
同樣,對於 server_iis2 ,如果我鬆開故障域 1,server_iis2 應該如何啟動並運行?
Server_iis1 和 Server_iis2 是完全不同的 2 個虛擬機,具有不同的資料和要服務的客戶。
答案1
故障域旨在在發生意外硬體故障時保護您的工作負載(在虛擬機器上執行的應用程式)。在上面的範例中,iis1 和 iis2 是在同一實體資料中心(可用區)中運行的兩個獨立的虛擬機,但位於不同的故障域中。這意味著,如果由於某種原因虛擬機支援基礎設施的某些實體組件發生故障(機架電源、交換器、實體主機等),則另一個iis 虛擬機將保持運作狀態,因為它位於不同的硬體集群(故障域)上在同一個資料中心。
對於許多人來說不太清楚的一件事是您的應用程式必須足夠聰明才能同時在兩台電腦上運行。如果我在iis1 上有一個應用程式(excel 作為一個非常基本的範例(只是幽默一下)),在iis2 上有另一個應用程式(powerpoint),如果iis1 出現故障,您將無法存取該應用程式(excel ),直到虛擬機器故障轉移到另一個應用程式主機可能需要幾分鐘的時間。反之亦然,對於iis2,如果它宕機了,你就會失敗(powerpoint)。要真正使故障域正常工作,您需要在iis1 和iis2 上運行excel 和powerpoint,這樣如果一個虛擬機發生故障,另一個虛擬機仍然可以為應用程式提供服務,當然您的應用程式需要足夠智慧來處理故障/故障轉移。
soooo 故障域可防止基礎設施中出現意外的不可預測的故障。
更新網域旨在確保在維護時段(無論是客戶還是 Microsoft 啟動)期間,我們不會立即重新啟動/更新所有電腦。
舉個例子,如果我有5 個前端Web 伺服器連接到5 個後端伺服器,我會將這5 個前端伺服器放在同一個更新網域中,這樣它們就不會同時重新啟動,從而確保我始終可以提供Web 流量。這也適用於我的後端伺服器。我將它們放在一個更新網域中,以確保它們永遠不會同時重新啟動。這樣做可以確保伺服器在維護時段期間保持運作(儘管效能下降)。
可用性集確實提供了 99.95% 的 SLA。可用區提供 99.99% 的 SLA
將虛擬機器部署到可用區會將您的虛擬機器複製到另一個實體資料中心(區域)。如果發生故障,這種故障轉移會自動發生,客戶無需執行任何操作。
可用集合更便宜,部署可用區域成本更高,因為您不僅需要虛擬機器成本,還需要與區域之間的資料複製相關的成本,而且我們說的是一分錢一分貨。
希望有幫助