Monitorizar as atualizações no Azure Stack Hub com o ponto final com privilégios

Pode utilizar o ponto final privilegiado para monitorizar o progresso de uma execução de atualização do Azure Stack Hub. Também pode utilizar o ponto final privilegiado para retomar uma execução de atualização falhada do último passo com êxito caso o portal do Azure Stack Hub fique indisponível. Utilizar o portal do Azure Stack Hub é o método recomendado para gerir atualizações no Azure Stack Hub.

Os seguintes novos cmdlets do PowerShell para gestão de atualizações estão incluídos na atualização 1710 para sistemas integrados do Azure Stack Hub.

Cmdlet Descrição
Get-AzureStackUpdateStatus Devolve o estado da atualização atualmente em execução, concluída ou falhada. Fornece o estado de alto nível da operação de atualização e um documento XML que descreve o passo atual e o estado correspondente.
Resume-AzureStackUpdate Retoma uma atualização falhada no ponto em que falhou. Em determinados cenários, poderá ter de concluir os passos de mitigação antes de retomar a atualização.

Verifique se os cmdlets estão disponíveis

Uma vez que os cmdlets são novos no pacote de atualização 1710 do Azure Stack Hub, o processo de atualização 1710 tem de chegar a um determinado ponto antes de a capacidade de monitorização estar disponível. Normalmente, os cmdlets estão disponíveis se o estado no portal do administrador indicar que a atualização 1710 está no passo Reiniciar Anfitriões de Armazenamento . Especificamente, a atualização do cmdlet ocorre durante o Passo: Passo 2.6 – Atualizar a lista de permissões do PrivilegedEndpoint.

Também pode determinar se os cmdlets estão disponíveis programaticamente ao consultar a lista de comandos a partir do ponto final privilegiado. Para efetuar esta consulta, execute os seguintes comandos a partir do anfitrião do ciclo de vida do hardware ou a partir de uma Estação de Trabalho de Acesso Privilegiado. Além disso, certifique-se de que o ponto final privilegiado é um anfitrião fidedigno. Para obter mais informações, veja o passo 1 do access the privileged endpoint (Aceder ao ponto final privilegiado).

  1. Crie uma sessão do PowerShell em qualquer uma das máquinas virtuais (VMs) ERCS no ambiente do Azure Stack Hub (Prefix-ERCS01, Prefix-ERCS02 ou Prefix-ERCS03). Substitua Prefixo pela cadeia 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 lhe forem pedidas credenciais, utilize a conta de domínio>\cloudadmin do <Azure Stack Hub ou uma conta que seja membro do grupo CloudAdmins. Para a conta CloudAdmin, introduza a mesma palavra-passe fornecida durante a instalação da conta de administrador de domínio do AzureStackAdmin.

  2. Obtenha a lista completa de comandos que estão disponíveis no ponto final privilegiado.

    $commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command } 
    
  3. Determine se o ponto final 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 do 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
    

Utilizar os cmdlets de gestão de atualizações

Nota

Execute os seguintes comandos a partir do anfitrião do ciclo de vida do hardware ou a partir de uma Estação de Trabalho de Acesso Privilegiado. Além disso, certifique-se de que o ponto final privilegiado é um anfitrião fidedigno. Para obter mais informações, veja o passo 1 do access the privileged endpoint (Aceder ao ponto final privilegiado).

Ligar ao ponto final privilegiado e atribuir a variável de sessão

Execute os seguintes comandos para criar uma sessão do PowerShell em qualquer uma das VMs ERCS no 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 lhe forem pedidas credenciais, utilize a conta de domínio>\cloudadmin do <Azure Stack Hub ou uma conta que seja membro do grupo CloudAdmins. Para a conta CloudAdmin, introduza a mesma palavra-passe fornecida durante a instalação da conta de administrador de domínio do AzureStackAdmin.

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

Para obter um estado 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 

Valores possíveis incluem:

  • Em Execução
  • Concluído
  • Com falhas
  • Cancelado

Pode executar estes comandos repetidamente para ver o estado mais atualizado. Não tem de restabelecer uma ligação para verificar novamente.

Obter o estado completo da execução da atualização com detalhes

Pode obter o resumo completo da execução da atualização como uma cadeia XML. Pode escrever a cadeia num ficheiro para análise ou convertê-la num documento XML e utilizar o PowerShell para analisá-la. O comando seguinte analisa o XML para obter uma lista hierárquica dos passos atualmente em execução:

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

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

No exemplo seguinte, o passo de nível superior (Atualização da Cloud) tem um plano subordinado para atualizar e reiniciar os anfitriões de armazenamento. Mostra que o plano Reiniciar Anfitriões de Armazenamento está a atualizar o serviço de Armazenamento de Blobs num dos anfitriões.

[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 falhada

Se a atualização falhar, pode retomar a execução da atualização onde ficou.

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

Resolução de problemas

O ponto final privilegiado está disponível em todas as VMs ERCS no ambiente do Azure Stack Hub. Uma vez que a ligação não é efetuada a um ponto final de elevada disponibilidade, poderá deparar-se com interrupções ocasionais, avisos ou mensagens de erro. Estas mensagens podem indicar que a sessão foi desligada ou que ocorreu um erro ao comunicar com o Serviço ECE. Este comportamento é esperado. Pode repetir a operação dentro de alguns minutos ou criar uma nova sessão de ponto final privilegiado numa das outras VMs ERCS.

Para obter mais informações sobre a resolução de problemas de atualizações, veja Resolução de Problemas do Azure Stack

Passos seguintes