使用 Azure 虛擬機器和受控磁碟達到高可用性的最佳做法
Azure 提供數個組態選項,以確保 Azure 虛擬機器 (VM) 和 Azure 受控磁碟的高可用性。 本文涵蓋受控磁碟的預設可用性和持久性,並提供進一步增加應用程式可用性和復原能力的建議。
速覽
組態 | 建議 | 福利 |
---|---|---|
在單一 VM 上執行的應用程式 | 使用 Ultra 磁碟、進階 SSD v2 和進階 SSD 磁碟。 | 單一 VM 僅使用進階 SSD 磁碟作為 OS 磁碟,以及 Ultra 磁碟、進階 SSD v2 或進階 SSD 磁碟,因為資料磁碟具有最高的可用時間服務等級協定 (SLA),且這些磁碟類型提供最佳效能。 |
使用區域備援儲存體 (ZRS) 磁碟。 | 即使整個區域發生中斷,仍可存取您的資料。 | |
在多個 VM 上執行的應用程式 | 使用具有彈性協調流程模式的區域備援虛擬機器擴展集,或跨三個可用性區域部署 VM 和磁碟,將 VM 和磁碟分散到多個可用性區域。 | 跨多個區域部署時,多個 VM 具有最高的可用時間 SLA。 |
使用具有彈性協調流程模式的區域虛擬機器擴展集或可用性設定組,跨多個容錯網域部署 VM 和磁碟。 | 跨容錯網域部署時,多個 VM 具有次高的可用時間 SLA。 | |
在 VM 之間共用磁碟時,請使用 ZRS 磁碟。 | 防止共用磁碟成為單一失敗點。 |
受控磁碟的可用性和持久性
在採用達到更高可用性的建議之前,您應該先了解受控磁碟的預設可用性和持久性。
受控磁碟專為 99.999% 的可用性而設計,並提供至少 99.999999999% (11 個 9) 的持久性。 使用受控磁碟時,您的資料會複寫三次。 如果三個複本中有一個變得無法使用,Azure 會自動在背景中繁衍新的資料複本。 這可確保資料的持續性和高容錯。
受控磁碟有兩個備援模型:本地備援儲存體 (LRS) 磁碟,以及區域備援儲存體 (ZRS) 磁碟。 下圖描述如何使用任一模型來複寫資料。
LRS 磁碟在指定年限內提供至少 99.999999999% (11 個 9) 的持久性,ZRS 磁碟在指定年限內提供至少 99.9999999999% (12 個 9) 的持久性。 此結構讓 Azure 針對以基礎結構即服務 (IaaS) 磁碟穩定地展現企業級持久性,提供領先界業的零百分比年度失敗率。
單一 VM 上執行之應用程式的建議
舊版應用程式、傳統 Web 伺服器、企業營運應用程式、開發和測試環境,以及小型工作負載都是可在單一 VM 上執行的應用程式範例。 這些應用程式無法受益於跨多個 VM 的複寫,但磁碟上的資料仍會複寫三次,而您可以採取下列步驟來進一步提高可用性。
使用 Ultra 磁碟、進階 SSD v2 或進階 SSD
單一 VM 僅使用進階 SSD 磁碟作為 OS 磁碟,以及 Ultra 磁碟、進階 SSD v2 或進階 SSD 磁碟,因為資料磁碟具有最高的單一 VM 可用時間 SLA,且這些磁碟類型提供最佳效能。
使用區域備援儲存體 (ZRS) 磁碟
區域備援儲存體 (ZRS) 磁碟會同步複寫三個可用性區域的資料,這些區域是具有獨立電源、冷卻和網路基礎結構的區域資料中心群組。 使用 ZRS 磁碟時,即使發生區域性中斷,您的資料仍可供存取。 此外,ZRS 資料磁碟可讓您將其與遇到問題的 VM 強制中斷連結。 ZRS 磁碟有一些限制,請參閱備援選項文章的限制一節,以取得詳細資料。
在多個 VM 上執行之應用程式的建議
仲裁型應用程式、叢集資料庫 (SQL、MongoDB)、企業級 Web 應用程式和遊戲應用程式都是在多個 VM 上執行的應用程式範例。 在多個 VM 上執行的應用程式可以指定主要 VM 和多個次要 VM,並跨這些 VM 複寫資料。 如果主要 VM 關閉,此設定會啟用容錯移轉至次要 VM。
在多個可用性區域部署時,多個 VM 具有最高的可用時間服務等級協定 (SLA),且在多個儲存體和計算容錯網域之間部署時,其具有次高的可用時間 SLA。
將 VM 和磁碟分散到可用性區域
可用性區域是區域內具有獨立電源、冷卻和網路基礎結構的資料中心群組。 它們夠接近而具有其他可用性區域的低延遲連線,但也夠遠可降低超過一個受到區域中斷或天氣影響的可能性。 請參閱什麼是可用性區域?以取得詳細資料。
多個 VM 在分散到三個可用性區域時,具有最高的 SLA。 針對分散於多個可用性區域的 VM 和磁碟,磁碟及其父 VM 分別共置於相同的區域中,即使整個區域發生中斷,也會防止多個 VM 中斷。 可用性區域目前無法在每個區域中使用,請參閱具有可用性區域支援的 Azure 區域。
跨多個可用性區域分散的 VM 可能比分散於單一可用性區域中的 VM 具有更高的網路延遲,這對於需要超低延遲的工作負載可能會是隱憂。 如果低延遲是您的首要考量,請考慮跨多個容錯網域部署 VM 和磁碟中所述的方法。
若要跨可用性區域部署資源,您可以使用區域備援虛擬機器擴展集,或跨可用性區域部署資源。
下圖說明當 VM 和磁碟直接或使用區域備援虛擬機器擴展集跨可用性區域部署時,如何共置在相同的區域中。
搭配彈性協調流程使用區域備援虛擬機器擴展集
虛擬機器擴展集可讓您建立和管理一組負載平衡的 VM。 VM 執行個體數目可以自動調整以回應需求,或遵循您定義的排程。 區域備援虛擬機器擴展集是已跨多個可用性區域部署的虛擬機器擴展集。 請參閱區域備援或跨越區域。
使用彈性協調流程模式的區域備援虛擬機器擴展集,VM 及其磁碟會複寫到其部署所在區域內的一或多個區域,以改善應用程式和資料的復原能力和可用性。 此設定預設會以最佳方式將 VM 分散到選取的區域,但也可讓您在部署中指定嚴格的區域平衡。
跨三個可用性區域部署 VM 和磁碟
另一個將 VM 和磁碟分散到可用性區域的方法,是將 VM 和磁碟部署到三個可用性區域。 此部署可在區域中多個資料中心的 VM 和磁碟中提供備援,讓您在資料中心或區域性中斷時容錯移轉至另一個區域。
跨多個容錯網域部署 VM 和磁碟
如果您無法跨可用性區域部署 VM 和磁碟,或有超低延遲需求,您可以改為跨容錯網域進行部署。 容錯網域會定義共用通用電源和網路交換器的 VM 群組。 如需詳細資料,請參閱可用性設定組如何運作?。
針對透過下列方法跨容錯網域部署的 VM 和磁碟,磁碟的儲存體容錯網域會與其個別父 VM 的計算容錯網域一致,這可防止單一儲存體容錯網域發生中斷時導致多個 VM 中斷。
跨容錯網域部署時,多個 VM 具有次高的可用時間 SLA。 若要深入了解,請參閱 SLA 的「虛擬機器」一節。
若要跨多個容錯網域部署資源,您可以使用區域虛擬機器擴展集或可用性設定組。
下圖描述使用區域虛擬機器擴展集或可用性設定組時,計算和儲存體容錯網域的對齊方式。
搭配彈性協調流程使用區域虛擬機器擴展集
區域虛擬機器擴展集是沒有明確定義可用性區域的虛擬機器擴展集。 使用區域虛擬機器擴展集,VM 資源會複寫到其部署所在區域內的容錯網域,以改善應用程式和資料的復原能力和可用性。 此設定預設會將 VM 分散到容錯網域,但也提供在 VM 建立時指派容錯網域的能力。 如需詳細資訊,請參閱此節。
區域虛擬機器擴展集不會防止資料中心或區域中斷之類的大規模中斷,且目前不支援 Ultra 磁碟或進階 SSD v2 磁碟。
使用可用性設定組
可用性設定組是將 VM 放在不同容錯網域中的 VM 邏輯分組,以限制讓相關 VM 同時關閉的相關聯失敗機會。 相較於可用性區域,可用性設定組也有較佳的 VM 到 VM 延遲。
可用性設定組不會讓您選取 VM 的容錯網域、無法與可用性區域搭配使用、無法針對資料中心或全區域中斷提供保護,且目前不支援 Ultra 磁碟或進階 SSD v2 磁碟。
在 VM 之間共用磁碟時使用 ZRS 磁碟
在多個 VM 之間共用磁碟時,您應該使用 ZRS。 如果您使用 LRS,共用磁碟會成為叢集應用程式的單一失敗點。 這表示,如果您的共用 LRS 磁碟發生中斷,則連結此磁碟的所有 VM 都會經歷停機。 使用 ZRS 磁碟可減輕這種情況,因為磁碟的資料位於三個不同的可用性區域中。 若要深入了解共用磁碟,請參閱共用 Azure 受控磁碟。