Monitorar as atualizações no Azure Stack Hub usando o ponto de extremidade com privilégios

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 execução de atualização com falha na ú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 atualmente em execução, concluída ou com falha. Fornece a 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 ela 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 a funcionalidade 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 a Etapa: Executando a etapa 2.6 – Atualizar a lista de permitidos privilegedEndpoint.

Você também pode determinar se os cmdlets estão disponíveis programaticamente consultando a lista de comandos do ponto de extremidade privilegiado. Para fazer essa consulta, execute os comandos a seguir no host do ciclo de vida de hardware ou em uma Estação de Trabalho de Acesso Privilegiado. Além disso, verifique se o ponto de extremidade privilegiado é um host confiável. Para obter mais informações, consulte a etapa 1 de Acessar o ponto de extremidade privilegiado.

  1. Crie uma sessão do PowerShell em qualquer uma das VMs (máquinas virtuais) do ERCS em seu ambiente do Azure Stack Hub (Prefix-ERCS01, Prefix-ERCS02 ou Prefix-ERCS03). Substitua 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 solicitado a fornecer credenciais, use a conta domain>\cloudadmin do <Azure Stack Hub ou uma conta que seja membro do grupo CloudAdmins. Para a conta CloudAdmin, insira a mesma senha fornecida durante a instalação da conta de administrador de domínio do AzureStackAdmin.

  2. Obtenha a lista completa de comandos disponíveis no ponto de extremidade privilegiado.

    $commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command } 
    
  3. 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."
     } 
    
  4. 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 comandos a seguir no host do ciclo de vida do hardware ou em uma Estação de Trabalho de Acesso Privilegiado. Além disso, verifique se o ponto de extremidade privilegiado é um host confiável. Para obter mais informações, consulte a etapa 1 de Acessar o ponto de extremidade privilegiado.

Conectar-se ao ponto de extremidade privilegiado e atribuir variável de sessão

Execute os comandos a seguir para criar uma sessão do PowerShell em qualquer uma das VMs do 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 solicitado a fornecer credenciais, use a conta domain>\cloudadmin do <Azure Stack Hub ou uma conta que seja membro do grupo CloudAdmins. Para a conta CloudAdmin, insira a mesma senha fornecida durante a instalação da conta de administrador de domínio do AzureStackAdmin.

Obter status de alto nível da execução da atualização atual

Para obter um status de alto nível da execução da atualização atual, execute os seguintes comandos:

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

$statusString.Value 

Os valores possíveis incluem:

  • Executando
  • Concluído
  • Com falha
  • Canceled

Você pode executar esses comandos repetidamente para ver os status mais atualizados. Você não precisa restabelecer uma conexão com marcar novamente.

Obter a status de execução de atualização completa 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, a etapa de nível superior (Atualização de Nuvem) tem um plano filho para atualizar e reiniciar os hosts de armazenamento. Ele mostra que o plano Reiniciar Hosts de Armazenamento está atualizando o serviço de Armazenamento de Blobs em um 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ê poderá retomar a execução de atualização de onde parou.

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

Solucionar problemas

O ponto de extremidade privilegiado está disponível em todas as VMs do ERCS no ambiente do Azure Stack Hub. Como a conexão não é feita com 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 ao se comunicar com o Serviço do ECE. O comportamento é esperado. Você pode repetir a operação em alguns minutos ou criar uma nova sessão de ponto de extremidade com privilégios em uma das outras VMs do ERCS.

Para obter mais informações sobre como solucionar problemas de atualizações, consulte Solução de problemas do Azure Stack

Próximas etapas