管理 Azure Stack HCI 叢集註冊

適用於:Azure Stack HCI 版本 22H2 和 21H2

根據您的叢集設定和需求,您可能需要在向 Azure 註冊叢集之後採取其他步驟。 本文說明如何使用 Windows Admin Center、PowerShell 或 Azure 入口網站 來管理叢集註冊。 它也提供叢集註冊常見問題的解答。

當您向 Azure 註冊叢集時,會建立 Azure Resource Manager 資源來代表內部部署 Azure Stack HCI 叢集。 從 Azure Stack HCI 版本 21H2 開始,註冊叢集會自動為 Azure Stack HCI 叢集中的每部伺服器建立伺服器資源的 Azure Arc。 此 Azure Arc 整合會將 Azure 管理平面延伸至 Azure Stack HCI。 Azure Arc 整合可讓您定期同步處理 Azure 資源與內部部署叢集之間的資訊。

檢視註冊和已啟用 Arc 的伺服器狀態

當您使用 Windows Admin Center 連線到叢集時,您會看到儀錶板,其中會顯示 Azure Stack HCI 註冊和已啟用 Arc 的伺服器狀態。

  • 針對 Azure Stack HCI 註冊, 已連線 表示叢集已經向 Azure 註冊,且在過去一天內已成功同步至雲端。

  • 針對已啟用 Arc 的伺服器,Connected 表示所有實體伺服器都已啟用 Arc,而且可以從 Azure 入口網站 進行管理。

    顯示在 Windows Admin Center 儀表板上的叢集連線狀態螢幕擷取畫面。

您可以從左側的 [工具] 功能選取 [Azure Arc],以取得詳細資訊。

注意

Azure Arc 儀錶板目前處於公開預覽狀態。

此螢幕快照顯示取得 Azure Stack HCI 註冊資訊的選取專案。

在 [ 概觀 ] 頁面上,您會發現有關 Azure Stack HCI 註冊和已啟用 Arc 的伺服器的高階狀態資訊。 您可以按下任一磚,以移至個別頁面。

註冊狀態信息的螢幕快照。

[Azure Stack HCI 註冊 ] 頁面上,您可以同時檢視 Azure Stack HCI 系統和伺服器狀態。 這包括 Azure 連線狀態和最後一次 Azure 同步處理。您可以找到疑難解答檔和叢集延伸模組 的實用連結 。 如有需要 ,您可以取消註冊

伺服器狀態的螢幕快照。

如果您的叢集已向 Azure 註冊,但實體伺服器尚未啟用 Arc,您可以從 [已啟用 Arc 的伺服器 ] 頁面執行此動作。 如果實體伺服器已啟用 Arc,您可以檢視每部伺服器的 Azure Arc 狀態和版本識別碼。 您也可以找到疑難解答信息的 實用連結

啟用 Azure Arc 整合

從 Azure Stack HCI 版本 21H2 開始,叢集會在註冊時自動啟用 Arc。 Azure Stack HCI 版本 20H2 上無法使用 Azure Arc 整合。

您需要在下列案例中手動啟用 Azure Arc 整合:

  • 您已從 Azure Stack HCI 版本 20H2 更新叢集伺服器,版本 20H2 (先前未手動啟用 Arc,) 版本 21H2。
  • 如果您之前已啟用 Arc 的 20H2 叢集,且升級至 21H2 後,Arc 啟用仍然失敗,請參閱此處的疑難排解指引
  • 之前已停用 Arc 的啟用,現在您想要啟用 21H2 或更新版本的 Azure Stack HCI 叢集。

請遵循下列步驟來啟用 Azure Arc 整合:

  1. 在您的管理電腦上安裝最新版 Az.Resources 模組:

    Install-Module -Name Az.Resources
    
  2. 在您的管理電腦上安裝最新版 Az.StackHCI 模組:

    Install-Module -Name Az.StackHCI
    
  3. 重新執行 Register-AzStackHCI Cmdlet,並指定您的 Azure 訂用帳戶識別碼,該識別碼必須與最初註冊叢集的識別碼相同。 -ComputerName 參數可以是叢集中任何伺服器的名稱。 此步驟可在叢集中的每一部伺服器上啟用 Azure Arc 整合。 這不會影響您目前的 Azure 叢集註冊,而且您不需要先取消註冊叢集:

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -Region <region> -TenantId "<tenant_id>"
    

    重要

    如果叢集原本是使用與預設設定不同的 -Region-ResourceName-ResourceGroupName,則您必須在此處指定這些相同的參數和值。 執行 Get-AzureStackHCI 會顯示這些值。

如需啟用 Arc 時的失敗, 請參閱此處的疑難解答指引

升級叢集伺服器上的 Arc 代理程式

從 Azure Stack HCI 版本 21H2 開始,若要在有新版本可用時自動更新 Arc 代理程式,請確定叢集伺服器已設定為 Microsoft Update。 如需詳細資訊,請參閱 Microsoft Update 組態

請遵循下列步驟,在叢集伺服器上升級Arc代理程式:

  1. 伺服器設定工具 (SConfig) 中,選取 [安裝更新] 選項 (選項 6):

    SConfig 的螢幕快照,其中顯示安裝更新的選項。

  2. 選取 [所有品質更新] 的選項 (選項 1)。

  3. 您可以選擇明確地更新 Arc 代理程式,或安裝所有可用的更新:

    Sconfig 選項。

  4. 在每個節點上,從 PowerShell 執行 azcmagent version,以確認 Arc 代理程式版本。

取消註冊 Azure Stack HCI

您可以使用 Windows Admin Center 或使用 PowerShell 來取消註冊 Azure Stack HCI。

取消註冊程式會自動清除代表叢集的 Azure 資源、Azure 資源群組 (,如果群組是在註冊期間建立,而且不包含任何其他資源) ,以及 Microsoft Entra 應用程式身分識別。 此清除作業會透過 Azure Arc,停止所有監視、支援和計費功能。

請遵循下列步驟,透過 Windows Admin Center 取消註冊您的 Azure Stack HCI 叢集:

  1. 使用 Windows Admin Center 連線到叢集。

  2. 從左側功能表中選取 [Azure Arc ]。

  3. 選取 [Azure Stack HCI 註冊],選取 [ 取消註冊 ] 按鈕,然後再次選取 [ 取消註冊 ]。

注意

如果您的 Windows Admin Center 閘道註冊到用來註冊叢集的不同 Microsoft Entra 租使用者識別碼,當您嘗試使用 Windows Admin Center 取消註冊叢集時,可能會遇到問題。 如果發生這種情況,您可以使用下一節中的 PowerShell 指示。

在未正確取消註冊的叢集之後進行清除

如果使用者在不取消註冊的情況下終結 Azure Stack HCI,例如重新建立主機伺服器的映像,或刪除虛擬叢集的節點,則成品將會保留在 Azure 中。 這些成品無害,且不會產生帳單或使用資源,但是可能會使 Azure 入口網站混亂。 您可以視所需手動將其刪除。

若要刪除 Azure Stack HCI 資源,請流覽至 Azure 入口網站 中的資源,然後從動作列中選取 [刪除]。 您可以執行 Get-AzureStackHCI Cmdlet 來取得資源詳細數據。

Azure Stack HCI 會在註冊過程中建立兩個 Microsoft Entra 應用程式:resourceName 和 resourceName.arc若要刪除這些專案,請移至 [Microsoft Entra ID>應用程式註冊>所有應用程式]。 選取 [刪除] 並確認。

您也可以使用 PowerShell 來刪除 Azure Stack HCI 資源:

Remove-AzResource -ResourceId "<resource_name>"

您可能需要安裝 Az.Resources 模組:

Install-Module -Name Az.Resources

如果資源群組在註冊期間建立,且未包含任何其他資源,您也可以將其刪除:

Remove-AzResourceGroup -Name "<resourceGroupName>"

疑難排解

如需解決常見錯誤和風險降低步驟的相關資訊,請參閱針對 Azure Stack HCI 註冊進行疑難排解

常見問題集

尋找一些常見問題的解答:

如何使用更受限的自訂權限角色?

您可以進一步減少執行 Azure Stack HCI 註冊所需的許可權,如 使用 PowerShell 指派 Azure 許可權中所述,前提是下列部分作業已由具有參與者和使用者存取系統管理員角色的使用者執行頻外作業。

  1. 註冊必要的資源提供者。 登入您將用來註冊叢集的訂用帳戶。 在 [設定 > 資源提供者] 底下,選取下列資源提供者,然後選取 [註冊]:

    • Microsoft.AzureStackHCI
    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
    • Microsoft.HybridConnectivity
  2. 建立資源群組。 請確定 Azure Stack HCI 資源將投影到其中的資源群組會由特殊許可權用戶預先建立。 如需詳細資訊,請參閱 必要條件 一節。

    設定這兩個必要條件之後,請建立自定義角色,並將其用於註冊,如下所述。 首先,使用下列內容建立名為 customHCIRole.json 的 JSON 檔案。 請務必將 <subscriptionID> 變更為 Azure 訂用帳戶識別碼。 若要取得訂用帳戶標識碼,請流覽 Azure 入口網站,移至 [用帳戶],然後從清單中複製/貼上您的標識符:

    {
      "Name": "Azure Stack HCI registration role",
      "Id": null,
      "IsCustom": true,
      "Description": "Custom Azure role to allow subscription-level access to register Azure Stack HCI",
      "Actions": [
        "Microsoft.Resources/subscriptions/resourceGroups/read",
        "Microsoft.AzureStackHCI/clusters/*",
        "Microsoft.Authorization/roleAssignments/write",
        "Microsoft.Authorization/roleAssignments/read"
       ],
       "NotActions": [
       ],
       "AssignableScopes": [
          "/subscriptions/<subscriptionId>"
       ]
    }
    
  3. 建立自訂角色:

    New-AzRoleDefinition -InputFile <path to customHCIRole.json>
    
  4. 將自訂角色指派給使用者:

    $user = get-AzAdUser -DisplayName <userdisplayname>
    $role = Get-AzRoleDefinition -Name "Azure Stack HCI registration role"
    New-AzRoleAssignment -ObjectId $user.Id -RoleDefinitionId $role.Id -Scope /subscriptions/<subscriptionid>
    

    您現在可以使用 Register-AzStackHCI 註冊叢集。

    如果您需要取消註冊此叢集,請在建立自定義角色時,將 Microsoft.Resources/subscriptions/resourceGroups/delete 許可權新增至 JSON 檔案。

如何? 使用ArmAccessToken/SPN 註冊叢集?

註冊之前,請確定符合 必要條件

注意

這些SPN認證用於初始上線至 Azure Stack HCI。 Azure Stack HCI 仍會針對 Arc 上線建立個別的 SPN 認證。 若要使用自定義 SPN 進行 Arc 上線,請參閱 如何? 使用 SPN 註冊 Arc 上線的叢集?

  1. 執行 『Connect-AzAccount』 以連線到 Azure。 若要使用 SPN 進行連線,您可以使用:

    • 裝置程式代碼型驗證。 在 -DeviceCode Cmdlet 中使用。
    • 憑證式驗證。 請參閱本文 以設定 SPN 以進行憑證式驗證。 然後在接受憑證資訊的 Cmdlet 中使用 Connect-AzAccount 適當的參數。 您使用的SPN應該具有 此處所列之訂用帳戶的所有必要許可權。
  2. 指定 。 $token = Get-AzAccessToken

  3. 使用 Register-AzStackHCI 搭配 TenantIdSubscriptionIdArmAccessTokenAccountId 參數,如下所示:

    Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1 -Region <region> -ArmAccessToken $token.Token -AccountId $token.UserId
    

如何? 使用 SPN 註冊叢集以進行 Arc 上線?

下列指導方針適用於執行無法取得已獲指派 Microsoft.Authorization/roleAssignments/write 權限的註冊 Cmdlet 之使用者。 在這種情況下,他們可以使用預先建立的 SPN 搭配 Arc 上線角色,(Azure Connected Machine 上線Azure Connected Machine 資源管理員) 指派給 SPN,並使用-ArcSpnCredential選項來指定註冊 Cmdlet 的認證。

注意

Azure Stack HCI 不會更新以這種方式建立之 SPN 的認證。 當 SPN 認證即將過期時,您必須重新產生認證,並執行「修復註冊」流程,以更新叢集上的 SPN 認證。

注意

如果您無法將 Microsoft.Authorization/roleAssignments/write 許可權指派給註冊角色,請使用 PowerShell 模組 1.4.1 版或更早版本使用 SPN 認證進行 Arc 上線。

註冊之前,請確定符合必要條件和預先檢查。 註冊叢集的使用者具有指派給用於叢集註冊之訂用帳戶的「參與者」角色,如果已指派自定義角色,則具有下列許可權清單:

  • "Microsoft.Resources/subscriptions/resourceGroups/read",
  • “Microsoft.Resources/subscriptions/resourceGroups/write”,
  • "Microsoft.AzureStackHCI/register/action",
  • "Microsoft.AzureStackHCI/Unregister/Action",
  • "Microsoft.AzureStackHCI/clusters/*",
  • “Microsoft.Authorization/roleAssignments/read”,
  • "Microsoft.HybridCompute/register/action",
  • "Microsoft.GuestConfiguration/register/action",
  • "Microsoft.HybridConnectivity/register/action"

如需取消註冊,請確定您也有 Microsoft.Resources/subscriptions/resourceGroups/delete 許可權。

若要註冊叢集和已啟用 Arc 的伺服器,請在使用環境資訊更新叢集之後,執行下列 PowerShell 命令。 下列命令需要 Az.Resources (最低版本 5.6.0) 和 Az.Accounts (最低版本 2.7.6)。 您可以使用 get-installedModule <module name> Cmdlet 來檢查已安裝的 PowerShell 模組版本。

#Connect to subscription
Connect-AzAccount -TenantId <tenant_id> -SubscriptionId <Subscription_ID> -Scope Process

#Create a new application registration
$app = New-AzADApplication -DisplayName "<unique_name>"

#Create a new SPN corresponding to the application registration
$sp = New-AzADServicePrincipal -ApplicationId  $app.AppId -Role "Reader" 

#Roles required on SPN for Arc onboarding
$AzureConnectedMachineOnboardingRole = "Azure Connected Machine Onboarding"
$AzureConnectedMachineResourceAdministratorRole = "Azure Connected Machine Resource Administrator"

#Assign roles to the created SPN
New-AzRoleAssignment -ObjectId $sp.Id -RoleDefinitionName $AzureConnectedMachineOnboardingRole | Out-Null
New-AzRoleAssignment -ObjectId $sp.Id -RoleDefinitionName $AzureConnectedMachineResourceAdministratorRole | Out-Null

# Set password validity time. SPN must be updated on the HCI cluster after this timeframe.
$pwdExpiryInYears = 300
$start = Get-Date
$end = $start.AddYears($pwdExpiryInYears)
$pw = New-AzADSpCredential -ObjectId $sp.Id -StartDate $start -EndDate $end
$password = ConvertTo-SecureString $pw.SecretText -AsPlainText -Force  

# Create SPN credentials object to be used in the register-azstackhci cmdlet
$spnCred = New-Object System.Management.Automation.PSCredential ($app.AppId, $password)
Disconnect-AzAccount -ErrorAction Ignore | Out-Null

# Use the SPN credentials created previously in the register-azstackhci cmdlet
Register-AzStackHCI -SubscriptionId < Subscription_ID> -Region <region> -ArcSpnCredential:$spnCred

Azure Stack HCI 資源是否支援資源移動?

我們不支援任何 Azure Stack HCI 資源的資源移動。 若要變更資源的位置,您必須先 取消註冊 叢集,然後在新位置重新註冊它,方法是在 Register-AzStackHCI Cmdlet 中傳遞適當的參數。

有哪些較常用的註冊和Arc Cmdlet?

  • 如需 Az.StackHCI PowerShell 模組 Cmdlet,請參閱 HCI PowerShell 文件
  • Get-AzureStackHCI:傳回 Azure Stack HCI 的目前節點連線和原則資訊。
  • Get-AzureStackHCIArcIntegration:傳回節點 Arc 整合的狀態。
  • Sync-AzureStackHCI
    • 執行與 Azure 的計費、授權和人口普查同步處理。
    • 系統會每隔 12 小時自動執行此 Cmdlet。
    • 只有在叢集的網際網路連線已在很長一段時間無法使用時,才應該使用此 Cmdlet。
    • 請勿在伺服器重新開機後立即執行此 Cmdlet;讓自動同步處理發生。 否則,可能會導致不良狀態。

後續步驟

如需詳細資訊,另請參閱: