Condividi tramite


Risolvere i problemi relativi agli aggiornamenti della soluzione per Azure locale

Si applica a: Distribuzioni iperconvergenti di Azure Local

Questo articolo descrive come risolvere i problemi relativi agli aggiornamenti delle soluzioni applicati all'istanza locale di Azure per mantenerli aggiornati.

Informazioni sulla risoluzione dei problemi degli aggiornamenti

Se il sistema è stato creato tramite una nuova distribuzione di Azure Locale, durante la distribuzione è stato installato un agente di orchestrazione. L'agente di orchestrazione gestisce tutti gli aggiornamenti per la piattaforma: sistema operativo, driver e firmware, agenti e servizi.

La nuova soluzione di aggiornamento include una logica di ripetizione e correzione. Questa logica tenta di risolvere i problemi di aggiornamento in modo non irreversibile, ad esempio riprovare a eseguire un aggiornamento Cluster-Aware. Se non è possibile correggere automaticamente l'esecuzione di un aggiornamento, l'operazione non riesce. Quando un aggiornamento non riesce, Microsoft consiglia di esaminare i dettagli relativi al messaggio di errore per determinare l'azione successiva appropriata. È possibile tentare di riprendere l'aggiornamento, se appropriato, per determinare se un nuovo tentativo risolverà il problema.

Risolvere i problemi relativi ai controlli di idoneità

I controlli di conformità sono essenziali per assicurarsi di applicare gli aggiornamenti senza problemi, mantenere i sistemi up-to-date e mantenere le funzionalità di sistema corrette. I controlli di conformità vengono eseguiti e segnalati separatamente in due scenari:

  • Controlli di integrità del sistema eseguiti una volta ogni 24 ore.

  • Controlla l'idoneità degli aggiornamenti che vengono eseguiti dopo il download del contenuto dell'aggiornamento e prima di iniziare l'installazione.

È comune che i risultati dei controlli di integrità del sistema e i controlli di conformità degli aggiornamenti differiscano. Ciò si verifica perché i controlli di conformità degli aggiornamenti usano la logica di convalida più recente dell'aggiornamento della soluzione da installare, mentre i controlli di integrità del sistema usano sempre la logica di convalida dalla versione installata.

Sia i controlli di conformità di sistema che di pre-aggiornamento eseguono convalide simili e classificano tre tipi di controlli di idoneità: critico, avviso e informativo.

  • Critico: controlli di conformità che impediscono l'applicazione dell'aggiornamento. Questo stato indica i problemi che è necessario risolvere prima di procedere con l'aggiornamento.
  • Avviso: controlli di conformità che impediscono anche di applicare l'aggiornamento, ma è possibile ignorarli usando PowerShell. Questo stato indica potenziali problemi che potrebbero non essere sufficientemente gravi da arrestare l'aggiornamento, ma devono essere risolti per garantire un processo di aggiornamento uniforme.
  • Informativo: verifiche dell'idoneità che non bloccano l'aggiornamento. Questo stato fornisce informazioni sullo stato del sistema e sui potenziali problemi che non devono influire direttamente sul processo di aggiornamento. Questi controlli sono per la consapevolezza e potrebbero non richiedere un'azione immediata.

I passaggi per la risoluzione dei problemi variano a seconda dello scenario da cui provengono i controlli di conformità.

Uso del portale di Azure

Uso del portale di Azure, scenario 1: Controlli di integrità del sistema

Questo scenario si verifica durante la preparazione dell'installazione degli aggiornamenti di sistema in Gestione aggiornamenti di Azure:

  1. Nell'elenco di sistema, visualizza lo stato critico della prontezza degli aggiornamenti.

    Screenshot della pagina Gestione aggiornamenti.

  2. Selezionare uno o più sistemi dall'elenco, quindi selezionare Aggiornamento monouso.

  3. Nella pagina Verifica conformità esaminare l'elenco dei controlli di idoneità e i relativi risultati.

    1. Selezionare i collegamenti Visualizza dettagli in Sistemi interessati.

    2. Quando si apre la casella dei dettagli, è possibile visualizzare altri dettagli, singoli risultati di sistema e correzione per i controlli di integrità non riusciti.

    Screenshot della pagina Installa aggiornamenti.

    Seguire le istruzioni di correzione per risolvere gli errori.

    Nota

    I controlli di integrità del sistema vengono eseguiti ogni 24 ore, quindi potrebbero essere necessarie fino a 24 ore prima che i nuovi risultati vengano sincronizzati con il portale di Azure dopo aver risolto gli errori. Per avviare immediatamente un nuovo controllo dell'integrità del sistema o per ulteriori risoluzioni dei problemi, vedere la sezione PowerShell.

Uso del portale di Azure, scenario 2: Controlli di conformità degli aggiornamenti

Questo scenario si verifica durante l'installazione e il rilevamento degli aggiornamenti del sistema in Gestione aggiornamenti di Azure:

  1. In Cronologia selezionare l'esecuzione dell'aggiornamento non riuscita dall'elenco.

  2. Nella pagina Verifica conformità esaminare l'elenco dei controlli di idoneità e i relativi risultati.

    1. Selezionare i collegamenti Visualizza dettagli in Sistemi interessati.

    2. Quando si apre la casella dei dettagli, è possibile visualizzare altri dettagli, singoli risultati di sistema e correzione per i controlli di integrità non riusciti.

    Screenshot della pagina di avanzamento aggiornamento.

    Seguire le istruzioni di correzione per risolvere gli errori e quindi selezionare il pulsante Riprova per ritentare i controlli di conformità pre-aggiornamento e Riprendere l'aggiornamento.

    Per altri problemi, vedere la sezione PowerShell .

Uso di PowerShell

Uso di PowerShell, scenario 1: Controlli di integrità del sistema

Per risolvere i problemi relativi ai controlli di integrità del sistema tramite PowerShell:

  1. Per verificare che i controlli di integrità del sistema non siano riusciti, eseguire il comando seguente in uno dei computer del sistema:

    Get-SolutionUpdateEnvironment
    

    Di seguito è riportato un output di esempio:

    PS C:\Users\lcmuser> Get-SolutionUpdateEnvironment 
    ResourceId        : redmond  
    SbeFamily         : VirtualForTesting  
    HardwareModel     : Virtual Machine  
    LastChecked       : 9/12/2023 10:34:42 PM  
    PackageVersions   : {Solution: 10.2309.0.20, Services: 10.2309.0.20, Platform: 1.0.0.0, SBE: 4.0.0.0}  
    CurrentVersion    : 10.2309.0.20  
    CurrentSbeVersion : 4.0.0.0  
    LastUpdated       :  
    State             : AppliedSuccessfully  
    HealthState       : Failure 
    HealthCheckResult : {Storage Pool Summary, Storage Services Physical Disks Summary, Storage Services Physical Disks  
    
                    Summary, Storage Services Physical Disks Summary...}  
    
    HealthCheckDate   : 9/12/2023 7:03:32 AM  
    
    AdditionalData    : {[SBEAdditionalData, Solution Builder extension is partially installed. Please install the latest  
    
                    Solution Builder Extension provided by your hardware vendor.  
    
                    For more information, see https://aka.ms/SBE.]}  
    
    HealthState       : Success  
    HealthCheckResult : {}  
    HealthCheckDate   : 8/4/2022 9:10:36 PM 
    
    PS C:\Users\lcmuser>
    
  2. Esamina il HealthState nel sistema e visualizza il valore di Failure o Warning.

  3. Per filtrare la proprietà HealthCheckResult per identificare i test non superati, eseguire il comando seguente:

    $result = Get-SolutionUpdateEnvironment
    
    $result.HealthCheckResult | Where-Object {$_.Status -ne "SUCCESS"} | Format-List Title, Status, Severity, Description, Remediation
    

    Di seguito è riportato un output di esempio:

    Title       : The machine proxy on each failover cluster node should be set to a local proxy server 
    Status      : FAILURE 
    Severity    : INFORMATIONAL 
    Description : Validating cluster setup for update. 
    Remediation : `https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# 
              tests-for-cluster-updating-readiness`
    
    Title       : The CAU clustered role should be installed on the failover cluster to enable self-updating mode 
    Status      : FAILURE 
    Severity    : INFORMATIONAL 
    Description : Validating cluster setup for update. 
    Remediation : `https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# 
              tests-for-cluster-updating-readiness`
    
  4. Esaminare la Remediation proprietà per i test non superati e intervenire in base alle esigenze per risolvere gli errori.

  5. Se sono necessarie informazioni di diagnostica aggiuntive per determinare la causa dei test non superati, esaminare la AdditionalData proprietà usando il -FullHealthCheckDetails parametro :

    $FullResults = Get-SolutionUpdateEnvironment -FullHealthCheckDetails
    
    $Failures = $FullResults.HealthCheckResult | Where-Object { $_.Status -ne "SUCCESS" -and $_.Severity -ne "INFORMATIONAL" }
    
    $Failures | Format-List *
    
  6. Se presente, utilizzare le informazioni di diagnostica visualizzate nella AdditionalData proprietà , ad esempio 'FailedMachines', 'Source' e/o "ExceptionMessage" per determinare quali computer fisici causano l'errore di test, insieme alle informazioni fornite nel collegamento dalla Remediation proprietà per risolvere gli errori.

  7. Dopo aver risolto gli errori, richiamare di nuovo i controlli di integrità del sistema eseguendo il comando seguente:

    Invoke-SolutionUpdatePrecheck -SystemHealth
    
  8. Usare Get-SolutionUpdateEnvironment per confermare che gli errori nei controlli di integrità siano stati risolti. L'esecuzione dei controlli di integrità del sistema potrebbe richiedere alcuni minuti.

    Di seguito è riportato un output di esempio:

    PS C:\Users\lcmuser>  Get-SolutionUpdateEnvironment | Format-List HealthState, HealthCheckResult, HealthCheckDate 
    
    HealthState       : InProgress 
    HealthCheckResult : 
    HealthCheckDate   : 1/1/0001 12:00:00 AM 
    
    PS C:\Users\lcmuser>  Get-SolutionUpdateEnvironment | Format-List HealthState, HealthCheckResult, HealthCheckDate
    
    HealthState       : Success 
    
    HealthCheckResult : {Storage Pool Summary, Storage Subsystem Summary, Storage Services Summary, Storage Services 
    
                    Summary...} 
    
    HealthCheckDate   : 10/18/2024 11:56:49 PM 
    

Uso di PowerShell, scenario 2: Controlli di conformità degli aggiornamenti

Quando i controlli di disponibilità degli aggiornamenti falliscono, l'aggiornamento fallisce sul sistema. Per risolvere i problemi relativi ai controlli di conformità degli aggiornamenti tramite PowerShell:

  1. Per verificare che le verifiche di prontezza degli aggiornamenti non siano riuscite, eseguire il seguente comando in uno dei computer del sistema per identificare l'ResourceId dell'aggiornamento:

    Get-SolutionUpdate | Format-Table ResourceId, State, Version
    

    Di seguito è riportato un output di esempio:

    PS C:\Users\lcmuser> Get-SolutionUpdate | Format-Table ResourceId, State, Version
    
    ResourceId                     State                  Version 
    ----------                     -----                  -------
    redmond/Solution10.2405.2.7    HealthCheckFailed      10.2405.2.7
    
    
  2. Usando l'oggetto ResourceId dell'aggiornamento che si sta tentando di installare, eseguire il comando seguente sostituendo il parametro Id con il ResourceId dell'aggiornamento, ottenuto dall'output del comando precedente:

    Get-SolutionUpdate -Id <Resource ID> | Format-Table Version, State, HealthCheckResult
    

    Di seguito è riportato un output di esempio:

    PS C:\Users\lcmuser> Get-SolutionUpdate -Id redmond/Solution10.2405.2.7 | Format-Table Version, State, HealthCheckResult 
    
    Version     State              HealthCheckResult 
    -------     -----              ----------------- 
    10.2405.2.7 HealthCheckFailed {Storage Subsystem Summary, Storage Pool Summary, Storage Services Physical Disks Summary, Stora...                       
    
    PS C:\Users\lcmuser>
    
  3. Esaminare il State per l'aggiornamento e visualizzare il valore del HealthCheckResult.

  4. Per filtrare la proprietà HealthCheckResult e identificare i test falliti, eseguire il comando seguente e sostituire il valore Id con ResourceId del tuo aggiornamento, identificato dal comando precedente.

    $result = Get-SolutionUpdate -Id <Resource ID>
    $result.HealthCheckResult | Where-Object {$_.Status -ne "SUCCESS"} | Format-List Title, Status, Severity, Description, Remediation
    

    Di seguito è riportato un output di esempio:

    Title       : The machine proxy on each failover cluster node should be set to a local proxy server 
    Status      : FAILURE 
    Severity    : INFORMATIONAL 
    Description : Validating cluster setup for update. 
    Remediation : https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# 
              tests-for-cluster-updating-readiness 
    
    Title       : The CAU clustered role should be installed on the failover cluster to enable self-updating mode 
    Status      : FAILURE 
    Severity    : INFORMATIONAL 
    Description : Validating cluster setup for update. 
    Remediation : https://learn.microsoft.com/en-us/windows-server/failover-clustering/cluster-aware-updating-requirements# 
              tests-for-cluster-updating-readiness
    
  5. Usare il collegamento visualizzato nella Remediation proprietà del test non riuscito, vedere l'articolo relativo all'uso di un dispositivo con un Web browser per determinare le azioni appropriate per risolvere gli errori.

  6. Se sono necessarie informazioni di diagnostica aggiuntive per determinare la causa dei test non superati, esaminare la AdditionalData proprietà usando il -FullHealthCheckDetails parametro :

    $FullResults = Get-SolutionUpdate -Id <Resource ID> -FullHealthCheckDetails
    
    $Failures = $FullResults.HealthCheckResult | Where-Object { $_.Status -ne "SUCCESS" -and $_.Severity -ne "INFORMATIONAL" }
    
    $Failures | Format-List *
    
  7. Se presente, utilizzare le informazioni di diagnostica visualizzate nella AdditionalData proprietà , ad esempio 'FailedMachines', 'Source' e/o "ExceptionMessage" per determinare quali computer fisici causano l'errore di test, insieme alle informazioni fornite nel collegamento dalla Remediation proprietà per risolvere gli errori.

  8. Dopo aver risolto gli errori, richiamare di nuovo i controlli di conformità degli aggiornamenti eseguendo il comando seguente

    Get-SolutionUpdate -Id <Resource ID> | Start-SolutionUpdate -PrepareOnly
    

Risolvere gli errori di aggiornamento

Se si verifica un problema che causa un errore di un aggiornamento, esaminare lo stato dettagliato del passaggio per identificare dove non è riuscito è spesso il modo migliore per determinare se il problema è qualcosa che può essere risolto tramite una semplice riparazione (e ripresa) o è necessario un impegno di supporto per risolvere il problema. Gli elementi chiave da notare per il passaggio con esito negativo includono:

  • Nome e descrizione del passaggio fallito.

  • Computer o server in cui il passaggio non è riuscito (in caso di un problema specifico del computer).

  • Stringa di messaggio di errore (può collegare il problema a una questione nota con soluzione documentata).

Microsoft consiglia di usare il portale di Azure per identificare le informazioni sui passaggi non riusciti, come illustrato in Riprendere un aggiornamento. In alternativa, vedere la sezione successiva per visualizzare dettagli simili in PowerShell usando Start-MonitoringActionplanInstanceToComplete.

Vedere la tabella seguente per gli scenari di errore di aggiornamento e le linee guida per la correzione.

Nomi dei passaggi Tipo di problema Bonifica
Qualunque Perdita di energia o altre interruzioni simili al sistema durante l'aggiornamento. 1. Ripristinare l'alimentazione.
2. Eseguire un controllo integrità del sistema.
3. Riprendere l'aggiornamento.
Aggiornamenti CAU L'esecuzione di Cluster Aware Update (CAU) fallisce con un errore max retries exceeded. Se c'è un'indicazione che sono stati effettuati più tentativi di CAU e che tutti hanno fallito, è spesso consigliabile esaminare il primo errore.

Usare l'ora di inizio e di fine del primo errore per trovare la corrispondenza con l'output Get-CauReport corretto per analizzare ulteriormente l'errore.
Qualunque Problema di memoria, problema di alimentazione, driver di avvio o errore critico simile in uno o più nodi. Per informazioni su come ripristinare il nodo non riuscito, vedere Ripristinare un nodo in Locale di Azure .
Dopo aver ripristinato il nodo, è possibile riprendere l'aggiornamento.

Raccogliere i log di aggiornamento

È anche possibile raccogliere i log di diagnostica per consentire a Microsoft di identificare e risolvere i problemi.

Per raccogliere i log per gli aggiornamenti tramite il portale di Azure, vedere Riprendere un aggiornamento.

Per raccogliere i log per gli errori di aggiornamento, vedere Raccogliere i log di diagnostica per Azure Locale.

Visualizzare il report di riepilogo degli aggiornamenti

Per visualizzare un report di riepilogo dettagliato degli aggiornamenti con PowerShell, seguire questa procedura nel client usato per accedere al sistema:

  1. Stabilire una sessione remota di PowerShell con il computer. Eseguire PowerShell come amministratore ed eseguire il comando seguente:

    Enter-PSSession -ComputerName <machine_IP_address> -Credential <username\password for the machine>
    
  2. Ottenere tutti gli aggiornamenti della soluzione e quindi filtrare gli aggiornamenti della soluzione corrispondenti a una versione specifica. La versione usata corrisponde alla versione dell'aggiornamento della soluzione con installazione non riuscita.

    $Update = Get-SolutionUpdate | ? Version -eq "<Version string>" -verbose
    
  3. Identificare il piano di azione per l'esecuzione dell'aggiornamento della soluzione non riuscito.

    $Failure = $update | Get-SolutionUpdateRun
    
  4. Identificare il ResourceID per l'aggiornamento.

    $Failure
    

    Di seguito è riportato un output di esempio:

    PS C:\Users\lcmuser> $Update = Get-SolutionUpdate | ? Version -eq "10.2303.1.7" -verbose
    PS C:\Users\lcmuser> $Failure = $Update | Get-SolutionUpdateRun
    PS C:\Users\lcmuser> $Failure
    
    ResourceId      : redmond/Solution10.2303.1.7/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
    Progress        : Microsoft.AzureStack.Services.Update.ResourceProvider.UpdateService.Models.Step
    TimeStarted     : 4/21/2023 10:02:54 PM
    LastUpdatedTime : 4/21/2023 3:19:05 PM
    Duration        : 00:16:37.9688878
    State           : Failed
    

    Prendere nota del ResourceID GUID. Questo GUID corrisponde a ActionPlanInstanceID.

  5. Visualizza il riepilogo per il ActionPlanInstanceID annotato in precedenza.

    Start-MonitoringActionplanInstanceToComplete -actionPlanInstanceID <Action Plan Instance ID>
    

    Ecco l'output di esempio:

    PS C:\Users\lcmuser> Start-MonitoringActionplanInstanceToComplete -actionPlanInstanceID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
    

    Screenshot di PowerShell per raccogliere l'output dei log.

Riprendere un aggiornamento

Per riprendere un'esecuzione di aggiornamento non riuscita in precedenza, è possibile ritentare l'esecuzione dell'aggiornamento tramite il portale di Azure o PowerShell.

Ilportale di Azure

È consigliabile usare il portale di Azure per passare all'aggiornamento non riuscito e selezionare il pulsante Riprova . Questa funzionalità è disponibile nelle fasi Download updates, Check readiness e Install di un'esecuzione di aggiornamento.

Screenshot del pulsante Nuovo tentativo di aggiornamento non riuscito.

Se non è possibile rieseguire correttamente un aggiornamento non riuscito o risolvere ulteriormente un errore, seguire questa procedura:

  1. Selezionare Visualizza dettagli di un errore.

  2. Quando si apre la casella dei dettagli, è possibile esaminare i dettagli dell'errore. Per altre informazioni sulla raccolta dei log di diagnostica, è possibile fare clic sul collegamento Come raccogliere i log vicino al pulsante Apri un ticket di supporto.

    Screenshot per scaricare i log degli errori.

    Per altre informazioni sul recupero dei log, vedere Raccogliere i log di diagnostica per Azure Locale.

  3. Inoltre, è possibile selezionare il pulsante Apri un ticket di supporto , inserire le informazioni appropriate e allegare i log in modo che siano disponibili per il supporto tecnico Microsoft.

    Screenshot per aprire un ticket di supporto.

Per altre informazioni sulla creazione di un ticket di supporto, vedere Creare una richiesta di supporto.

PowerShell

Se si usa PowerShell ed è necessario riprendere un'esecuzione di aggiornamento non riuscita in precedenza, usare il comando seguente:

Get-SolutionUpdate | ? Version -eq "10.2302.0.31" | Start-SolutionUpdate

Per riprendere un aggiornamento precedentemente non riuscito a causa di controlli di integrità degli aggiornamenti in uno stato di avviso , usare il comando seguente:

Get-SolutionUpdate | ? Version -eq "10.2302.0.31" | Start-SolutionUpdate -IgnoreWarnings

Passaggi successivi

Altre informazioni su come eseguire gli aggiornamenti tramite PowerShell.

Altre informazioni su come eseguire gli aggiornamenti tramite il portale di Azure.