共用方式為


使用具特殊許可權的端點監視 Azure Stack Hub 中的更新

您可以使用 特殊許可權端點 來監視 Azure Stack Hub 更新執行的進度。 您也可以使用具特殊許可權的端點,在 Azure Stack Hub 入口網站無法使用時,從最後一個成功步驟繼續執行失敗的更新。 使用 Azure Stack Hub 入口網站是管理 Azure Stack Hub 中更新的建議方法。

下列適用於更新管理的新 PowerShell Cmdlet 包含在 Azure Stack Hub 整合式系統的 1710 更新中。

Cmdlet 描述
Get-AzureStackUpdateStatus 傳回目前執行中、已完成或失敗更新的狀態。 提供更新作業的高階狀態,以及描述目前步驟和對應狀態的 XML 檔。
Resume-AzureStackUpdate 從失敗的那一點恢復更新。 在某些情況下,您可能必須先完成風險降低步驟,才能繼續更新。

確認 Cmdlet 是否可用

由於 Cmdlet 是 Azure Stack Hub 1710 更新套件中的新功能,因此 1710 更新程式必須在監視功能可用之前到達特定點。 一般而言,如果系統管理員入口網站中的狀態指出 1710 更新位於 重新啟動記憶體主機 步驟,則 Cmdlet 是可用的。 具體來說,Cmdlet 更新會在 步驟:執行步驟 2.6 - 更新 PrivilegedEndpoint allowlist期間發生。

您也可以從具特殊許可權的端點查詢命令清單,以程式設計方式判斷 Cmdlet 是否可供使用。 若要執行此查詢,請從硬體生命週期主機或特殊許可權存取工作站執行下列命令。 此外,請確定具有特殊許可權的端點是受信任的主機。 如需詳細資訊,請參閱 存取特殊許可權端點的步驟 1

  1. 在 Azure Stack Hub 環境中的任何 ERCS 虛擬機 (VM) 上建立 PowerShell 會話(Prefix-ERCS01、Prefix-ERCS02 或 Prefix-ERCS03)。 將 前綴 取代為您環境專屬的 VM 前綴字串。

    $cred = Get-Credential
    
    $pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
    

    當系統提示您輸入認證時,請使用 <Azure Stack Hub 網域>\cloudadmin 帳戶,或屬於 CloudAdmins 群組成員的帳戶。 針對 CloudAdmin 帳戶,輸入 AzureStackAdmin 網域系統管理員帳戶安裝期間所提供的相同密碼。

  2. 取得特殊許可權端點中可用命令的完整清單。

    $commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command } 
    
  3. 判斷特殊許可權端點是否已更新。

    $updateManagementModuleName = "Microsoft.Azurestack.UpdateManagement"
     if (($commands | ? Source -eq $updateManagementModuleName)) {
    Write-Host "Privileged endpoint was updated to support update monitoring tools."
     } else {
    Write-Host "Privileged endpoint has not been updated yet. Please try again later."
     } 
    
  4. 列出 Microsoft.AzureStack.UpdateManagement 模組的特定命令。

    $commands | ? Source -eq $updateManagementModuleName 
    

    例如:

    $commands | ? Source -eq $updateManagementModuleName
    
    CommandType     Name                                               Version    Source                                                  PSComputerName
     -----------     ----                                               -------    ------                                                  --------------
    Function        Get-AzureStackUpdateStatus                         0.0        Microsoft.Azurestack.UpdateManagement                   Contoso-ercs01
    Function        Resume-AzureStackUpdate                            0.0        Microsoft.Azurestack.UpdateManagement                   Contoso-ercs01
    

使用更新管理指令集

注意

從硬體生命週期主機或特殊許可權存取工作站執行下列命令。 此外,請確定具有特殊許可權的端點是受信任的主機。 如需詳細資訊,請參閱 存取特殊許可權端點的步驟 1

連線到特殊權限端點並設定會話變數

執行下列命令,在 Azure Stack Hub 環境中的任何 ERCS VM 上建立 PowerShell 會話(Prefix-ERCS01、Prefix-ERCS02 或 Prefix-ERCS03),以及指派會話變數。

$cred = Get-Credential

$pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)

當系統提示您輸入認證時,請使用 <Azure Stack Hub 網域>\cloudadmin 帳戶,或屬於 CloudAdmins 群組成員的帳戶。 針對 CloudAdmin 帳戶,輸入 AzureStackAdmin 網域系統管理員帳戶安裝期間所提供的相同密碼。

取得目前更新執行的高階狀態

若要取得目前更新執行的高階狀態,請執行下列命令:

$statusString = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus -StatusOnly }

$statusString.Value 

可能的值包括:

  • 跑步
  • 完成
  • 失敗
  • 取消

您可以重複執行這些命令,以查看最多 up-to日期狀態。 您不需要重新建立連線,即可再次檢查。

取得包含詳細數據的完整更新執行狀態

您可以取得完整的更新執行摘要做為 XML 字串。 您可以將字串寫入檔案以供檢查,或將它轉換成 XML 檔,並使用 PowerShell 來剖析它。 下列命令會剖析 XML,以取得目前執行步驟的階層式清單:

[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }

$updateStatus.SelectNodes("//Step[@Status='InProgress']")

在下列範例中,最上層步驟 (Cloud Update) 有子計劃來更新和重新啟動記憶體主機。 它顯示重新啟動儲存主機計畫正在更新其中一台主機上的 Blob 儲存服務。

[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }

$updateStatus.SelectNodes("//Step[@Status='InProgress']") 

    FullStepIndex : 2
    Index         : 2
    Name          : Cloud Update
    Description   : Perform cloud update.
    StartTimeUtc  : 2017-10-13T12:50:39.9020351Z
    Status        : InProgress
    Task          : Task
    
    FullStepIndex  : 2.9
    Index          : 9
    Name           : Restart Storage Hosts
    Description    : Restart Storage Hosts.
    EceErrorAction : Stop
    StartTimeUtc   : 2017-10-13T15:44:06.7431447Z
    Status         : InProgress
    Task           : Task
    
    FullStepIndex : 2.9.2
    Index         : 2
    Name          : PreUpdate ACS Blob Service
    Description   : Check function level, update deployment artifacts, configure Blob service settings
    StartTimeUtc  : 2017-10-13T15:44:26.0708525Z
    Status        : InProgress
    Task          : Task

繼續未完成的更新作業

如果更新失敗,您可以從上次中斷的地方繼續更新。

Invoke-Command -Session $pepSession -ScriptBlock { Resume-AzureStackUpdate } 

疑難排解

特殊許可權端點可在 Azure Stack Hub 環境中的所有 ERCS VM 上使用。 由於連線未對高可用性端點進行,因此您可能會偶爾遇到中斷、警告或錯誤訊息。 這些訊息可能表示會話已中斷連線,或與 ECE 服務通訊時發生錯誤。 這是預期的行為。 您可以在幾分鐘內重試作業,或在其中一個其他 ERCS VM 上建立新的特殊許可權端點會話。

如需有關更新疑難排解的更多資訊,請參閱 Azure Stack 疑難解答

後續步驟