共用方式為


管理 Azure Stack HCI 叢集註冊

適用於:Azure Stack HCI 版本 22H2

重要

Azure Stack HCI 現在是 Azure 本地的一部分。 不過,舊版的 Azure Stack HCI,例如 22H2 會繼續參考 Azure Stack HCI,而且不會反映名稱變更。 深入了解

根據您的叢集組態和需求,您可能需要在向 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(先前未手動啟用 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更新組態

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

  1. 在 [ 伺服器組態工具] 中,選取 [ 安裝更新 ] 選項 (選項 6):

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

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

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

    Sconfig 選項。

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

取消註冊 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 應用程式:resourceNameresourceName.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 進行連線,您可以使用:

    • 裝置程式代碼型驗證。 在 Cmdlet 中使用 -DeviceCode
    • 憑證式驗證。 請參閱本文 來設定 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?

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

注意

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;讓自動同步處理發生。 否則,可能會導致情況不佳。

下一步