Monitorar atualizações no Azure Stack Hub usando o ponto de extremidade privilegiado
Você pode usar o ponto de extremidade privilegiado para monitorar o progresso de uma execução de atualização do Azure Stack Hub. Você também pode usar o ponto de extremidade privilegiado para retomar uma atualização falhada desde a última etapa bem-sucedida, caso o portal do Azure Stack Hub fique indisponível. Usar o portal do Azure Stack Hub é o método recomendado para gerenciar atualizações no Azure Stack Hub.
Os novos cmdlets do PowerShell a seguir para gerenciamento de atualizações estão incluídos na atualização 1710 para sistemas integrados do Azure Stack Hub.
Cmdlet | Descrição |
---|---|
Get-AzureStackUpdateStatus |
Retorna o status da atualização em execução, concluída ou com falha no momento. Fornece o status de alto nível da operação de atualização e um documento XML que descreve a etapa atual e o estado correspondente. |
Resume-AzureStackUpdate |
Retoma uma atualização com falha no ponto em que falhou. Em determinados cenários, talvez seja necessário concluir as etapas de mitigação antes de retomar a atualização. |
Verifique se os cmdlets estão disponíveis
Como os cmdlets são novos no pacote de atualização 1710 para o Azure Stack Hub, o processo de atualização 1710 precisa chegar a um determinado ponto antes que o recurso de monitoramento esteja disponível. Normalmente, os cmdlets estarão disponíveis se o status no portal do administrador indicar que a atualização 1710 está na etapa Reiniciar Hosts de Armazenamento. Especificamente, a atualização do cmdlet ocorre durante Etapa: Executando a etapa 2.6 - Atualizar a lista de permissões do PrivilegedEndpoint.
Você também pode determinar se os cmdlets estão disponíveis de forma programática interrogando a lista de comandos a partir do ponto de extremidade privilegiado. Para fazer essa consulta, execute os seguintes comandos do host do ciclo de vida do hardware ou de uma estação de trabalho de acesso privilegiado. Além disso, certifique-se de que o ponto de extremidade privilegiado seja um host confiável. Para obter mais informações, consulte a etapa 1 de Acessar o ponto de extremidade privilegiado.
Crie uma sessão do PowerShell em qualquer uma das máquinas virtuais (VMs) ERCS em seu ambiente do Azure Stack Hub (Prefixo-ERCS01, Prefixo-ERCS02 ou Prefixo-ERCS03). Substitua o prefixo pela cadeia de caracteres de prefixo da VM específica do seu ambiente.
$cred = Get-Credential $pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
Quando as credenciais forem solicitadas, use o domínio do <Azure Stack Hub>conta \cloudadmin ou uma conta que seja membro do grupo CloudAdmins. Para a conta CloudAdmin, insira a mesma senha que foi fornecida durante a instalação para a conta de administrador de domínio AzureStackAdmin.
Obtenha a lista completa de comandos disponíveis no ponto de extremidade privilegiado.
$commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command }
Determine se o ponto de extremidade privilegiado foi atualizado.
$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." }
Liste os comandos específicos para o módulo Microsoft.AzureStack.UpdateManagement.
$commands | ? Source -eq $updateManagementModuleName
Por exemplo:
$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
Usar os cmdlets de gerenciamento de atualizações
Observação
Execute os seguintes comandos a partir do host do ciclo de vida do hardware ou de uma estação de trabalho de acesso privilegiado. Além disso, certifique-se de que o ponto de extremidade privilegiado é um host confiável. Para mais informações, consulte o passo 1 de Aceder ao ponto de extremidade privilegiado.
Conectar ao endpoint privilegiado e atribuir a variável de sessão
Execute os comandos a seguir para criar uma sessão do PowerShell em qualquer uma das VMs ERCS em seu ambiente do Azure Stack Hub (Prefix-ERCS01, Prefix-ERCS02 ou Prefix-ERCS03) e para atribuir uma variável de sessão.
$cred = Get-Credential
$pepSession = New-PSSession -ComputerName <Prefix>-ercs01 -Credential $cred -ConfigurationName PrivilegedEndpoint -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
Quando as credenciais forem solicitadas, use a conta do domínio <Azure Stack Hub,>\cloudadmin, ou uma conta que seja membro do grupo CloudAdmins. Para a conta CloudAdmin, insira a mesma senha que foi fornecida durante a instalação para a conta de administrador de domínio AzureStackAdmin.
Obter status de alto nível da execução de atualização atual
Para obter um status de alto nível da execução de atualização atual, execute os seguintes comandos:
$statusString = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus -StatusOnly }
$statusString.Value
Os valores possíveis incluem:
- Corrida
- Concluído
- Falhou
- Cancelado
Você pode executar esses comandos repetidamente para ver o estado mais atualizado de up-to. Você não precisa restabelecer uma conexão para verificar novamente.
Obtenha o status completo da execução da atualização com detalhes
Você pode obter o resumo completo da execução da atualização como uma cadeia de caracteres XML. Você pode gravar a cadeia de caracteres em um arquivo para exame ou convertê-la em um documento XML e usar o PowerShell para analisá-la. O comando a seguir analisa o XML para obter uma lista hierárquica das etapas em execução no momento:
[xml]$updateStatus = Invoke-Command -Session $pepSession -ScriptBlock { Get-AzureStackUpdateStatus }
$updateStatus.SelectNodes("//Step[@Status='InProgress']")
No exemplo a seguir, o passo de nível mais alto (Cloud Update) tem um plano subordinado para atualizar e reiniciar os hosts de armazenamento. Isto mostra que o plano reiniciar hosts de armazenamento está a atualizar o serviço de Armazenamento Blob num dos hosts.
[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
Retomar uma operação de atualização com falha
Se a atualização falhar, você pode retomar a execução da atualização de onde parou.
Invoke-Command -Session $pepSession -ScriptBlock { Resume-AzureStackUpdate }
Solução de problemas
O ponto de extremidade privilegiado está disponível em todas as VMs ERCS no ambiente do Azure Stack Hub. Como a conexão não é feita a um ponto de extremidade altamente disponível, você pode enfrentar interrupções ocasionais, avisos ou mensagens de erro. Essas mensagens podem indicar que a sessão foi desconectada ou que houve um erro na comunicação com o Serviço ECE. Esse comportamento é esperado. Você pode repetir a operação em alguns minutos ou criar uma nova sessão de ponto de extremidade privilegiado em uma das outras VMs ERCS.
Para obter mais informações sobre como solucionar problemas de atualizações, consulte Solução de Problemas do Azure Stack