使用特权终结点监视 Azure Stack Hub 中的更新
可以使用 特权终结点 监视 Azure Stack Hub 更新运行的进度。 也可以使用特权终结点在 Azure Stack Hub 门户不可用时,从最后一个成功的步骤恢复失败的更新运行。 建议使用 Azure Stack Hub 门户管理 Azure Stack Hub 中的更新。
Azure Stack Hub 集成系统的 1710 更新中包括以下用于更新管理的 PowerShell cmdlet。
Cmdlet | 描述 |
---|---|
Get-AzureStackUpdateStatus |
返回当前正在运行、已完成或失败更新的状态。 提供更新作的高级状态和描述当前步骤和相应状态的 XML 文档。 |
Resume-AzureStackUpdate |
从更新失败的位置恢复更新。 在某些情况下,可能需要在恢复更新之前完成缓解步骤。 |
验证 cmdlet 的可用性
由于 cmdlet 是 Azure Stack Hub 1710 更新包中的新增功能,因此在监控功能可用之前,1710 更新过程需要达到特定进度。 一般而言,如果管理员门户中的状态指示 1710 更新正在执行“重启存储主机”步骤,则可以使用 cmdlet。 具体而言,cmdlet 更新在执行“步骤: 正在运行步骤 2.6 - 更新 PrivilegedEndpoint 允许列表”期间发生。
还可以通过查询特权终结点中的命令列表,以编程方式确定 cmdlet 是否可用。 若要执行此查询,请从硬件生命周期主机或特权访问工作站运行以下命令。 此外,请确保特权终结点是受信任的主机。 有关详细信息,请查看 访问特权终结点的步骤 1。
在 Azure Stack Hub 环境中的任何 ERCS 虚拟机(前缀-ERCS01、前缀-ERCS02 或 前缀-ERCS03)上创建 PowerShell 会话。 将 前缀 替换为特定于环境的 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 域管理员帐户期间提供的相同密码。
获取特权终结点中可用的命令的完整列表。
$commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command }
确定特权终结点是否已更新。
$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." }
列出特定于 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
使用更新管理 cmdlet
注意
从硬件生命周期主机或特权访问工作站运行以下命令。 此外,请确保特权终结点是受信任的主机。 有关更多信息,请参阅 中步骤 1 的“访问特权终结点”。
连接到特权终结点并分配会话变量
运行以下命令,在 Azure Stack Hub 环境中的任何 ERCS VM(Prefix-ERCS01、Prefix-ERCS02 或 Prefix-ERCS03)上创建 PowerShell 会话,并分配会话变量。
$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
可能的值包括:
- 跑步
- 完成
- 失败
- 取消
可以重复运行这些命令来查看最新状态。 无需重新建立连接,才能再次检查。
获取包含详细信息的完整更新运行状态
可以获取 XML 字符串的完整更新运行摘要。 可以将字符串写入文件以供检查,或将其转换为 XML 文档,并使用 PowerShell 对其进行分析。 以下命令分析 XML 以获取当前正在运行的步骤的分层列表:
[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }
$updateStatus.SelectNodes("//Step[@Status='InProgress']")
在以下示例中,顶级步骤(云更新)具有更新和重启存储主机的子计划。 它显示重启存储主机计划正在更新其中一个主机上的 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 虚拟机上创建新的特权终结点会话。
获取有关故障排除更新的详细信息,请参阅 Azure Stack 故障排除
后续步骤
- 管理 Azure Stack Hub 中的更新