Azure 上的故障安全性配置:利用輔助 VM 配置支援

2024 July 15

MCS 引入了一項新的備份配置功能,確保在出現容量相關或局部不可用問題時實現無縫回退。

此備份配置將在以下情況下觸發:

  1. 當某個區域中特定服務產品的可用核心低於您的請求時,可能會導致電源操作故障。
  2. MCS 現在提供 Azure Spot VM 預配,讓您充分利用未使用的容量,從而顯著節省成本。當 Spot VM 目前無法用於目前的 ServiceOffering 或 Spot 價格上漲超過計費設定檔中指定的最高價格時,VM 可能無法啟動。

在這篇文章中,我將向您展示如何設定備份配置並概述選擇適當的備份虛擬機器大小的先決條件。 

如何設定備份配置

為了備份配置,我們引入了一個新的自訂屬性BackupVmConfiguration, 可以將其新增至配置方案。此屬性也可以透過Set-ProvScheme套用於現有目錄。它本質上是服務產品和類型的精選列表,充當故障安全機制。 

容量故障範例

如果因容量問題而導致配置失敗,可以如下設定備份配置:

New-ProvScheme -ProvisioningSchemeName “demo” -MasterImageVM “XDHyp:\HostingUnits\azure-zones\image.folder\TestResourceGroup.resourcegroupgroup\TestSnapshot.snapshotaz-MachineProfilefolTupyp:\Hostgroup9資源群組\TestMachineProfileVM.vm” -CustomProperties

“<CustomProperties xmlns=`” http://schemas.citrix.com/2014/xd/machinecreation `” xmlns:xsi=`” http://www.w3.org/2001/XMLSchema -instance `”>

<屬性 xsi:type=`”StringProperty`” 名稱=`”BackupVmConfiguration`” 值=`”[{'ServiceOffering': 'Standard_D2as_v4', '類型': '常規'}, {'ServiceOffering': 'Standard_D2s_v3', '類型': '常規'}]`”/>

</自訂屬性>”

現場驅逐範例

同樣,如果 Spot VM 配置失敗,可以如下設定備份配置:

New-ProvScheme -ProvisioningSchemeName “demo” -MasterImageVM “XDHyp:\HostingUnits\azure-zones\image.folder\TestResourceGroup.resourcegroupgroup\TestSnapshot.snapshotaz-MachineProfilefolTupyp:\Hostgroup9資源群組\TestMachineProfileVM.vm” -CustomProperties

“<CustomProperties xmlns=`” http://schemas.citrix.com/2014/xd/machinecreation `” xmlns:xsi=`” http://www.w3.org/2001/XMLSchema -instance `”>

<屬性 xsi:type=`”StringProperty`” 名稱=`”BackupVmConfiguration`” 值=`”[{'ServiceOffering': 'Standard_D2as_v4', 'Type': 'Spot'}, {'ServiceOffering': 'Standard_D2as_v4', '類型': '常規'}, {'ServiceOffering': 'Standard_D2s_v3', '類型': '現貨'}]`”/>

</自訂屬性>”

請參閱Citrix GitHub 頁面,以取得將 BackupVmConfiguration 自訂屬性套用到新的和現有的預配方案的範例 PowerShell 腳本。

設定BackupVmConfiguration自訂屬性的先決條件

  1. 僅當使用機器設定檔時才支援。
  2. 類型是可選的,可以有兩個值之一:Spot 和 Regular。不指定時預設為常規
  3. ServiceOffering 和 Type 的組合在列表中應該是唯一的。
  4. 區域配額應有足夠的核心用於服務提供
  5. NIC 計數不應大於 ServiceOffering 上允許的 MaxNIC 數
  6. ServiceOffering 應與目前使用的自訂屬性和其他目錄功能相容,例如: 
      1. 主機群組:如果使用專用主機,主機群組中的主機必須支援 ServiceOffering
      2. 臨時作業系統磁碟:如果在自訂屬性中啟用臨時磁碟,則 ServiceOffering 必須支援臨時磁碟
      3. 高級存儲:如果在自訂屬性中啟用高級存儲,則 ServiceOffering 必須支援高級存儲
      4. 加速網絡:如果在 MachineProfile 中啟用了加速網絡,則 ServiceOffering 必須支援加速網絡
      5. DiskEncryptionAtHost:如果在 MachineProfile 中啟用了主機加密,則 ServiceOffering 必須支援主機加密
      6. 暫存:如果 ServiceOffering 參數中指定的主 VM 大小支援臨時磁碟,則備份清單中的服務產品輸入也必須支援臨時磁碟
      7. HyperVGeneration:所選的 ServiceOffering 必須與 MasterImageVM 參數中指定的資源上的 VM 代(第 1 代或第 2 代)相容
      8. 休眠:如果在 MachineProfile 中啟用休眠,則 ServiceOffering 必須支援休眠
      9. TrustedLaunch:如果在 MachineProfile 中啟用 TrustedLaunch,則 ServiceOffering 必須支援 TrustedLaunch
      10. 機密 VM:如果在 MachineProfile 中啟用機密 VM,則 ServiceOffering 必須支援機密 VM
  7. 當類型為 Spot 時,ServiceOffering 應與 Spot 相容。例如:如果是 B 系列,則 Type 不能為 Spot。請參閱:https://learn.microsoft.com/en-us/azure/virtual-machines/spot-vms#limitations

BackupVmConfiguration 旨在增強可靠性並確保操作的連續性。透過實施此操作,您可以減輕與容量相關問題和 Spot 虛擬機器驅逐相關的風險。

應用備份配置時涉及的步驟

初始化:

  • 當啟動開機命令時,虛擬機器配置將從電腦設定檔中定義的主要配置開始。

錯誤檢測:

  • 偵測到 Azure 特定的容量錯誤。這些錯誤包括超出核心配額或 Spot VM 的每小時價格超出設定的最大值。

使用備份配置開機:

  • 為了回應偵測到的錯誤,在加電期間,系統會自動使用每個備份配置重試作業。
  • 重試序列從BackupVmConfiguration清單中的第一項開始。
  • 繼續重試,直到成功配置虛擬機,並根據需要採用備份配置。

會話使用:

  • 所配置的虛擬機器在會話的剩餘時間內使用備份配置,直到其關閉。

下次開機:

  • 同一 VM 觸發器的後續開機指令會嘗試使用主要配置進行設定。

故障處理:

  • 如果所有備份配置失敗,則傳回終止錯誤。

此方法可確保彈性預配流程,在 Azure 上遇到特定容量相關問題時無縫過渡到備份配置。

了解有關 Azure Spot VM 的更多信息

Spot 虛擬機器能夠以大幅折扣配置未使用的 Azure 運算容量,與即用即付價格相比,可節省高達 90% 的成本。這些 Spot VM 執行個體非常適合可承受中斷的工作負載,提供可擴充性並降低成本。在 Azure 需要恢復容量的任何時間點,Azure 基礎設施都會提前 30 秒通知驅逐 Spot VM。 

Azure Spot VM 的驅逐有兩種類型:

  • 僅容量:當多餘的計算容量消失時,會觸發此驅逐類型。預設情況下,價格上限為即用即付費率。如果您願意為虛擬機器支付標準的即用即付價格,請使用此驅逐類型。
  • 價格或容量:這種驅逐類型有兩個觸發器。當多餘的運算容量消失或 VM 的成本超過你設定的最高價格時,Azure 會驅逐現貨 VM。這種驅逐類型可讓您設定遠低於即用即付價格的最高價格。使用此驅逐類型來設定您自己的價格上限。

根據客戶設定的 EvictionPolicy,在驅逐期間,可以透過以下兩種方式之一處理虛擬機器:

  • 解除指派 – VM 已解除指派並在 Azure 中保持可見。所有連接的磁碟都會保留。
  • 已刪除 – VM 已刪除並且在 Azure 中不再可見。根據deleteOption 保留或刪除磁碟。

微軟參考

https://learn.microsoft.com/en-us/azure/virtual-machines/spot-vms

如何配置 Spot 虛擬機

Spot VM 只能使用電腦設定檔進行調配。以下是透過範本規格或虛擬機器作為電腦設定檔設定 Spot 虛擬機器的步驟。 

使用範本規格時,應在資源 > 虛擬機器資源 > 屬性下新增突出顯示的屬性:

  • 優先: 設定為“Spot”。如果沒有指定,則預設為“常規”。
  • 驅逐策略: 可以設定為「刪除」或「解除分配」。但是,它會在配置時根據目錄類型被覆蓋:
    • 為持久虛擬機器解除分配
    • 刪除非持久虛擬機
  • BillingProfile: 是可選的。如果模板中未提供,Spot VM 將具有僅容量驅逐設定。 
  • MaxPrice:是您每小時願意支付的最高價格。如果僅使用容量,則該值為 -1

有關模板設定的更多信息,請訪問: https://learn.microsoft.com/en-us/azure/virtual-machines/linux/spot-template#use-a-template 

將 Spot VM 配置為電腦設定檔時,請在建立虛擬機器頁面上選擇逐出類型和逐出策略,如下所示:

為用戶群組分配不同的設置

輔助點配置的特殊處理

使用啟用 Spot 的機器設定檔時:

  • 電腦設定檔可能已啟用具有特定BillingProfile 和MaxPrice 設定的 Spot。

備份配置類型: Spot:

  • 如果您嘗試將備份配置集設為“類型:Spot”,則電腦設定檔中的特定 Spot 設定可能與備份ServiceOffering不相容。
  • 在未選擇 Spot 設定的情況下。相反,虛擬機器配置了「僅容量驅逐」策略,且MaxPrice為 -1。

備份配置類型: 常規:

  • 使用類型:常規的備份配置時,電腦設定檔中的 Spot 設定不適用。
  • 在此場景中,僅使用備份ServiceOffering來設定 VM ,這簡化了非 Spot 配置的過程。

虛擬機器重新啟動後:

  • 如果已成功套用備份配置並且稍後重新啟動 VM,系統將還原為電腦設定檔中定義的原始 Spot 設定。重設為主要配置可確保與初始設定的一致性。

總之,此特殊處理可確保配置過程保持穩健且適應性強,無論是處理 Spot 還是常規配置。系統會根據所應用的備份配置類型動態地調整最合適的設置,並在虛擬機器重新啟動時恢復到原始設定以保持一致性。

了解更多

將備份配置合併到電腦目錄中是一種可以顯著增強使用者體驗的策略。我們強烈建議深入研究此配置為您的工作負載帶來的潛在優勢。有關建立目錄的詳細指南,請參閱我們的綜合產品文件。

文章來源/ Citrix Blog Citrix Blog

返回