Monitorare gli aggiornamenti nell'hub di Azure Stack tramite l'endpoint con privilegi

È possibile usare l'endpoint con privilegi per monitorare lo stato di avanzamento di un'hub di Azure Stack'aggiornamento. È anche possibile usare l'endpoint con privilegi per riprendere l'esecuzione di un aggiornamento non riuscito dall'ultimo passaggio riuscito se il portale hub di Azure Stack non è più disponibile. L'uso hub di Azure Stack portale è il metodo consigliato per gestire gli aggiornamenti in hub di Azure Stack.

I nuovi cmdlet di PowerShell seguenti per la gestione degli aggiornamenti sono inclusi nell'aggiornamento 1710 per hub di Azure Stack sistemi integrati.

Cmdlet Descrizione
Get-AzureStackUpdateStatus Restituisce lo stato dell'aggiornamento attualmente in esecuzione, completato o non riuscito. Fornisce lo stato di alto livello dell'operazione di aggiornamento e un documento XML che descrive sia il passaggio corrente che lo stato corrispondente.
Resume-AzureStackUpdate Riprende un aggiornamento non riuscito nel punto in cui ha avuto esito negativo. In alcuni scenari potrebbe essere necessario completare i passaggi di mitigazione prima di riprendere l'aggiornamento.

Verificare che i cmdlet siano disponibili

Poiché i cmdlet sono una novità del pacchetto di aggiornamento 1710 per hub di Azure Stack, il processo di aggiornamento 1710 deve arrivare a un determinato punto prima che la funzionalità di monitoraggio sia disponibile. In genere, i cmdlet sono disponibili se lo stato nel portale di amministrazione indica che l'aggiornamento 1710 si trova nel passaggio Riavvia Archiviazione host. In particolare, l'aggiornamento del cmdlet si verifica durante il Passaggio: Esecuzione del passaggio 2.6 - Aggiornare PrivilegedEndpoint allowlist.

È anche possibile determinare se i cmdlet sono disponibili a livello di codice tramite una query sull'elenco di comandi dall'endpoint con privilegi. Per eseguire questa query, eseguire i comandi seguenti dall'host del ciclo di vita dell'hardware o da una workstation con accesso con privilegi. Assicurarsi anche che l'endpoint con privilegi sia un host attendibile. Per altre informazioni, vedere il passaggio 1 di Accedere all'endpoint con privilegi.

  1. Creare una sessione di PowerShell in una delle macchine virtuali ERCS nell'ambiente hub di Azure Stack (Prefix-ERCS01, Prefix-ERCS02 o Prefix-ERCS03). Sostituire Prefisso con la stringa del prefisso della macchina virtuale specifica per l'ambiente.

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

    Quando vengono richieste le credenziali, < usare l'account <>\cloudadmin o un account membro del gruppo CloudAdmins. Per l'account CloudAdmin immettere la stessa password specificata durante l'installazione per l'account amministratore di dominio AzureStackAdmin.

  2. Ottenere l'elenco completo dei comandi disponibili nell'endpoint con privilegi.

    $commands = Invoke-Command -Session $pepSession -ScriptBlock { Get-Command } 
    
  3. Determinare se l'endpoint con privilegi è stato aggiornato.

    $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. Elencare i comandi specifici del modulo Microsoft.AzureStack.UpdateManagement.

    $commands | ? Source -eq $updateManagementModuleName 
    

    Ad esempio:

    $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
    

Usare i cmdlet di gestione degli aggiornamenti

Nota

Eseguire i comandi seguenti dall'host del ciclo di vita dell'hardware o da una workstation con accesso con privilegi. Assicurarsi anche che l'endpoint con privilegi sia un host attendibile. Per altre informazioni, vedere il passaggio 1 di Accedere all'endpoint con privilegi.

Connessione all'endpoint con privilegi e assegnare la variabile di sessione

Eseguire i comandi seguenti per creare una sessione di PowerShell in una delle macchine virtuali ERCS nell'ambiente hub di Azure Stack (Prefix-ERCS01, Prefix-ERCS02 o Prefix-ERCS03) e per assegnare una variabile di sessione.

$cred = Get-Credential

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

Quando vengono richieste le credenziali, < usare l'account <>\cloudadmin o un account membro del gruppo CloudAdmins. Per l'account CloudAdmin immettere la stessa password specificata durante l'installazione per l'account amministratore di dominio AzureStackAdmin.

Ottenere lo stato di alto livello dell'esecuzione dell'aggiornamento corrente

Per ottenere uno stato di alto livello dell'esecuzione dell'aggiornamento corrente, eseguire i comandi seguenti:

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

$statusString.Value 

I valori possibili sono:

  • In esecuzione
  • Completato
  • Operazione non riuscita
  • Cancellati

È possibile eseguire questi comandi ripetutamente per visualizzare lo stato più aggiornato. Non è necessario ristabilire una connessione per controllare di nuovo.

Ottenere lo stato completo dell'esecuzione degli aggiornamenti con i dettagli

È possibile ottenere il riepilogo completo dell'esecuzione dell'aggiornamento come stringa XML. È possibile scrivere la stringa in un file per l'esame o convertirla in un documento XML e usare PowerShell per analizzarla. Il comando seguente analizza il codice XML per ottenere un elenco gerarchico dei passaggi attualmente in esecuzione:

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

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

Nell'esempio seguente il passaggio di primo livello (Aggiornamento cloud) ha un piano figlio per aggiornare e riavviare gli host di archiviazione. Mostra che il piano Riavvia Archiviazione host sta aggiornando il servizio Archiviazione BLOB in uno degli host.

[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

Riprendere un'operazione di aggiornamento non riuscita

Se l'aggiornamento non riesce, è possibile riprendere l'esecuzione dell'aggiornamento dal punto in cui è stato seguiti.

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

Risolvere problemi

L'endpoint con privilegi è disponibile in tutte le macchine virtuali ERCS nell'hub di Azure Stack virtuale. Poiché la connessione non viene stabilita a un endpoint a disponibilità elevata, è possibile che si verifichino interruzioni occasionali, messaggi di avviso o di errore. Questi messaggi possono indicare che la sessione è stata disconnessa o che si è verificato un errore durante la comunicazione con il servizio ECE. Si tratta di un comportamento previsto. È possibile ripetere l'operazione in pochi minuti o creare una nuova sessione dell'endpoint con privilegi in una delle altre macchine virtuali ERCS.

Per altre informazioni sulla risoluzione dei problemi relativi agli aggiornamenti, Azure Stack risoluzione dei problemi

Passaggi successivi