管理 Azure Stack HCI 叢集註冊
適用於:Azure 本機版本 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 註冊, Connected 表示叢集已向 Azure 註冊,並在最後一天成功同步至雲端。
針對已啟用 Arc 的伺服器,Connected 表示所有實體伺服器都已啟用 Arc,而且可以從 Azure 入口網站 進行管理。
您可以從左側的 [工具] 功能選取 [Azure Arc],以取得詳細資訊。
注意
Azure Arc 儀錶板目前處於公開預覽狀態。
在 [ 概觀] 頁面上,您會發現有關 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 整合:
在您的管理電腦上安裝最新版的
Az.Resources
模組:Install-Module -Name Az.Resources
在您的管理電腦上安裝最新版的
Az.StackHCI
模組:Install-Module -Name Az.StackHCI
重新執行
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 代理程式:
在 [ 伺服器組態工具] 中,選取 [ 安裝更新 ] 選項 (選項 6):
選取 [所有品質更新] 的選項 (選項 1)。
您可以選擇特別更新 Arc 代理程式,或安裝所有可用的更新:
從每個節點上的 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 叢集:
使用 Windows Admin Center 連線到叢集。
從左側功能表中選取 [Azure Arc ]。
選取 [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 許可權中所述,前提是下列部分作業已由具有參與者和使用者存取系統管理員角色的使用者執行頻外執行。
註冊必要的資源提供者。 登入您將用來註冊叢集的訂用帳戶。 在 [設定>資源提供者] 下,選取下列資源提供者,然後選取 [註冊]:
- Microsoft.AzureStackHCI
- Microsoft.HybridCompute
- Microsoft.GuestConfiguration
- Microsoft.HybridConnectivity
建立資源群組。 請確定特殊許可權用戶會預先建立 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>" ] }
建立自訂角色:
New-AzRoleDefinition -InputFile <path to customHCIRole.json>
將自訂角色指派給使用者:
$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 上線的叢集?。
執行 『Connect-AzAccount』 以連線到 Azure。 若要使用 SPN 進行連線,您可以使用:
指定 。
$token = Get-AzAccessToken
使用 Register-AzStackHCI 搭配
TenantId
、SubscriptionId
、ArmAccessToken
和AccountId
參數,如下所示:Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1 -Region <region> -ArmAccessToken $token.Token -AccountId $token.UserId
如何? 使用 SPN 註冊叢集以進行 Arc 上線?
下列指導方針適用於執行註冊 Cmdlet 的使用者,這些 Cmdlet 無法取得 指派的 Microsoft.Authorization/roleAssignments/write 許可權。 在這種情況下,他們可以使用預先建立的 SPN 搭配指派給 SPN 的 Arc 上線角色(Azure Connected Machine Onboarding 和 Azure 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;讓自動同步處理發生。 否則,它可能會導致狀況不良。
下一步
如需詳細資訊,請參閱: