擴展集的設計考量
本文會討論虛擬機器擴展集的設計考量。 如需虛擬機器擴展集的相關資訊,請參閱 虛擬機器擴展集概觀。
何時應使用擴展集而非虛擬機器?
對於任何多 VM 部署而言,擴展集通常都很實用,可用於定義執行個體要分散於可用性區域或是容錯網域、平台更新是否應協調以減少或避免完整的應用程式停機時間,以及提供協調流程和批次執行個體管理。 不過,部分功能僅適用於擴展集,而其他功能僅適用於 VM。 為了在使用每種技術時做出明智的決策,您應該先看一下部分只能在擴展集而非 VM 中使用的常用功能:
擴展集特定的功能
- 在指定擴展集設定後,您可以更新「容量」屬性以同時部署更多 VM。 比起撰寫指令碼,此程序更適合用來協調同時部署許多個別 VM 的作業。
- 您可以使用 Azure 自動調整,根據預先定義的排程、計量或預測性 AI 自動新增或移除執行個體。
- 您可以指定升級原則,以便輕鬆地在擴展集的 VM 之間進行升級。 使用個別的 VM,您必須自行協調更新。
VM 特定的功能
某些功能目前僅適用於虛擬機器:
- 您可以從彈性擴展集的 VM 擷取映像,但無法從統一擴展集的 VM 擷取映像。
- 您可以將個別 VM 從傳統磁碟移轉至受控磁碟,但無法移轉統一擴展集的 VM 執行個體。
過度佈建
重要
只有「統一協調流程」模式支援超額佈建;「彈性協調流程」模式不支援此功能。
藉由開啟過度佈建,擴展集實際上所啟動的 VM 數目會比您要求的還多,然後在成功佈建要求的 VM 數目後刪除額外的 VM。 過度佈建可改善佈建成功率並縮短部署時間。 這些額外的 VM 不會計費,也不會計入配額限制。
雖然過度佈建的確改善了佈建的成功率,但也可能導致不是設計來處理額外 VM 出現而後消失的應用程式出現令人困惑的行為。 若要將過度佈建關閉,請確定範本中具有下列字串:"overprovision": "false"
。 您可以在擴展集 REST API 文件中找到更多詳細資料。
如果擴展集使用使用者管理的儲存體,而且您關閉過度佈建,則每個儲存體帳戶可以有 20 部以上的 VM,但基於 IO 效能考量,不建議超過 40 部。
限制
擴展集是以 Marketplace 映像 (也稱為平台映像) 或 Azure 計算資源庫中使用者定義自訂映像為基礎,並設定為使用 Azure 受控磁碟,最多支援 1,000 部 VM 的容量。 如果您將擴展集設定為支援 100 部以上的 VM,並非所有案例的作用都相同 (適用於負載平衡)。 如需詳細資訊,請參閱使用大型的虛擬機器擴展集。
以使用者管理的儲存體設定的擴展集目前受限於 100 部 VM (且建議此擴展集有 5 個儲存體帳戶)。
若以 Azure 受控磁碟進行設定,以舊版受控映像為建置基礎的擴展集最多可有 600 部 VM。 如果以使用者管理的儲存體帳戶設定擴展集,它必須在一個儲存體帳戶內建立所有的 OS 磁碟 VHD。 因此,在以自訂映像和使用者管理的儲存體為建置基礎的擴展集中建議 VM 數上限為 20。 如果關閉過度佈建,數目上限為 40。