Problemen met oplossingsupdates voor Azure Lokaal oplossen

Van toepassing op: Hypergeconvergeerde implementaties van Azure Lokaal

In dit artikel wordt beschreven hoe u problemen met oplossingsupdates kunt oplossen die u toepast op uw Azure Lokaal exemplaar om deze up-to-date te houden.

Informatie over het oplossen van problemen met updates

Als u uw systeem implementeert met behulp van een nieuwe Azure Lokaal-installatie, installeert u de orchestrator als onderdeel van die implementatie. De orchestrator beheert platformupdates, waaronder het besturingssysteem, stuurprogramma's en firmware, en agents en services.

De nieuwe updateoplossing bevat logica voor opnieuw proberen en herstellen. Deze logica probeert updateproblemen op een niet-verstorende manier op te lossen, zoals het opnieuw uitvoeren van een Cluster-Aware Update (CAU). Als een update-uitvoering niet automatisch kan worden hersteld, dan mislukt deze. Wanneer een update mislukt, controleert u de details van het foutbericht om de juiste volgende actie te bepalen. U kunt proberen de update, indien van toepassing, te hervatten om te bepalen of een nieuwe poging het probleem oplost.

Problemen met gereedheidscontroles oplossen

Gereedheidscontroles zijn essentieel om ervoor te zorgen dat u updates soepel toepast, uw systemen up-to-date houdt en de juiste systeemfunctionaliteit onderhoudt. Gereedheidscontroles worden in twee scenario's afzonderlijk gerapporteerd:

  • Systeemstatuscontroles die elke 24 uur worden uitgevoerd.

  • Gereedheidscontroles voor updates die worden uitgevoerd na het downloaden van de update-inhoud en voordat de installatie wordt gestart.

Het is gebruikelijk dat de resultaten van systeemstatuscontroles en updategereedheidscontroles verschillen. Dit gebeurt omdat controles voor gereedheid van updates gebruikmaken van de nieuwste validatielogica van de oplossingsupdate die moet worden geïnstalleerd, terwijl systeemstatuscontroles altijd gebruikmaken van validatielogica van de geïnstalleerde versie.

Zowel systeem- als pre-updategereedheidscontroles voeren vergelijkbare validaties uit en categoriseren drie soorten gereedheidscontroles: Kritiek, Waarschuwing en Informatief.

  • Kritiek: Gereedheidscontroles die verhinderen dat u de update toepast. Deze status geeft problemen aan die u moet oplossen voordat u doorgaat met de update.
  • Waarschuwing: Gereedheidscontroles die ook verhinderen dat u de update toepast, maar u kunt deze overslaan. Deze status geeft potentiële problemen aan die mogelijk niet ernstig genoeg zijn om de update te stoppen, maar moeten worden aangepakt om een soepel updateproces te garanderen.
  • Informatief: Gereedheidscontroles die de update niet blokkeren. Deze status bevat informatie over de status van het systeem en eventuele potentiële problemen die niet rechtstreeks van invloed moeten zijn op het updateproces. Deze controles zijn voor uw bewustzijn en vereisen mogelijk geen onmiddellijke actie.

De stappen voor probleemoplossing variëren afhankelijk van het scenario voor gereedheidscontrole.

Azure Portal gebruiken

Met behulp van Azure Portal, scenario 1: Systeemstatuscontroles

Dit scenario treedt op bij het voorbereiden van het installeren van systeemupdates in Azure Update Manager:

  1. Selecteer in de systeemlijst de status Gereed voor update. Systemen waarvoor aandacht is vereist, geven een kritieke of waarschuwingsstatus weer.

    Schermopname van de pagina Updatebeheer.

  2. Bekijk de lijst met gereedheidscontroles en hun resultaten.

    1. Selecteer de koppelingen onder Details om meer informatie weer te geven.

    2. Wanneer het detailvak wordt geopend, kunt u meer details, afzonderlijke systeemresultaten en het herstel voor mislukte statuscontroles bekijken.

      Schermopname van gereedheidscontroles met meerdere kritieke fouten, waarbij een fout in de opslagstatuscontrole en het gedetailleerde foutbericht worden gemarkeerd met herstelrichtlijnen.

    3. Volg de stappen voor herstel om eventuele fouten op te lossen.

    4. Nadat u de problemen hebt opgelost, selecteert u Opnieuw controleren om de gereedheidscontroles opnieuw uit te voeren.

      Schermopname van gereedheidscontroles met de knop Opnieuw controleren.

Scenario 2: Gereedheidscontroles bijwerken met behulp van de Azure-portal

Dit scenario treedt op wanneer u systeemupdates installeert en bijhoudt in Azure Update Manager:

  1. Selecteer in Geschiedenis de mislukte updateuitvoering in de lijst.

  2. Bekijk op het tabblad Valideren of het systeem gereed is de lijst met gereedheidscontroles en de bijbehorende resultaten.

    1. Selecteer de koppelingen Details weergeven onder Details.

    2. Wanneer het detailvak wordt geopend, kunt u meer details, afzonderlijke systeemresultaten en het herstel voor mislukte statuscontroles bekijken.

    Schermopname van de pagina Voortgang bijwerken.

    Als u de fouten wilt oplossen, volgt u de herstelinstructies en selecteert u vervolgens de knop Opnieuw proberen om de gereedheidscontroles vóór de update opnieuw uit te voeren en de update te hervatten.

    Zie de PowerShell-sectie voor meer informatie over het oplossen van problemen.

PowerShell gebruiken

PowerShell, scenario 1: Systeemgezondheidscontroles

Problemen met systeemstatuscontroles oplossen met behulp van PowerShell:

  1. Voer de volgende opdracht uit op een van de computers in uw systeem om te controleren of de systeemstatuscontroles zijn mislukt:

    Get-SolutionUpdateEnvironment
    

    Hier volgt een voorbeelduitvoer:

    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. Controleer de HealthState op uw systeem en bekijk de Failure of Warning waarde.

  3. Als u de eigenschap HealthCheckResult wilt filteren om mislukte tests te identificeren, voert u de volgende opdracht uit:

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

    Hier volgt een voorbeelduitvoer:

    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. Controleer de Remediation eigenschap voor de mislukte tests en neem indien nodig actie om de fouten op te lossen.

  5. Als u meer diagnostische informatie nodig hebt om te bepalen waarom tests zijn mislukt, bekijkt u de AdditionalData eigenschap met behulp van de -FullHealthCheckDetails parameter:

    $FullResults = Get-SolutionUpdateEnvironment -FullHealthCheckDetails
    
    $Failures = $FullResults.HealthCheckResult | Where-Object { $_.Status -ne "SUCCESS" -and $_.Severity -ne "INFORMATIONAL" }
    
    $Failures | Format-List *
    
  6. Indien beschikbaar, gebruikt u de diagnostische gegevens die worden weergegeven in de AdditionalData eigenschap, zoals FailedMachines, Sourceen ExceptionMessage om te bepalen welke fysieke machines de testfout veroorzaken. Gebruik vervolgens de koppeling in de Remediation eigenschap om de fouten op te lossen.

  7. Nadat u de fout hebt opgelost, roept u de systeemstatuscontroles opnieuw aan door de volgende opdracht uit te voeren:

    Invoke-SolutionUpdatePrecheck -SystemHealth
    
  8. Gebruik Get-SolutionUpdateEnvironment dit om te controleren of de mislukte statuscontrolefouten zijn opgelost. Het kan enkele minuten duren voordat de systeemstatuscontroles zijn uitgevoerd.

    Hier volgt een voorbeelduitvoer:

    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 
    

PowerShell gebruiken, scenario 2: Gereedheidscontroles bijwerken

Wanneer updategereedheidscontroles mislukken, mislukt de systeemupdate ook. Problemen met updategereedheidscontroles oplossen met behulp van PowerShell:

  1. Om te controleren of de controles voor updategereedheid zijn mislukt, voert u de volgende opdracht uit op één machine in uw systeem om de ResourceId van de update te vinden:

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

    Hier volgt een voorbeelduitvoer:

    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. Voer met behulp van de update ResourceId van de uitvoer van de vorige opdracht de volgende opdracht uit en vervang de Id parameter door die waarde:

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

    Hier volgt een voorbeelduitvoer:

    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. Controleer de State voor de update en bekijk de waarde van HealthCheckResult.

  4. Voer de volgende opdracht uit om de HealthCheckResult eigenschap te filteren en mislukte tests te identificeren. Vervang de Id waarde door de update ResourceId van de vorige opdracht.

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

    Hier volgt een voorbeelduitvoer:

    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. Gebruik de koppeling in de Remediation eigenschap voor de mislukte test. Open het artikel op een apparaat met een webbrowser en volg de aanbevolen stappen om de fouten op te lossen.

  6. Als u meer diagnostische informatie nodig hebt om te bepalen waarom tests zijn mislukt, bekijkt u de AdditionalData eigenschap met behulp van de -FullHealthCheckDetails parameter:

    $FullResults = Get-SolutionUpdate -Id <Resource ID> -FullHealthCheckDetails
    
    $Failures = $FullResults.HealthCheckResult | Where-Object { $_.Status -ne "SUCCESS" -and $_.Severity -ne "INFORMATIONAL" }
    
    $Failures | Format-List *
    
  7. Gebruik, indien beschikbaar, diagnostische gegevens in de AdditionalData eigenschap, zoals FailedMachines, Sourceen ExceptionMessage, om te bepalen welke fysieke machines de testfout hebben veroorzaakt. Gebruik vervolgens de koppeling in de Remediation eigenschap om de fouten op te lossen.

  8. Nadat u de fout hebt opgelost, roept u de gereedheidscontroles voor updates opnieuw aan door de volgende opdracht uit te voeren:

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

Het oplossen van updatefouten

Wanneer een update mislukt, bekijkt u de gedetailleerde voortgang van de stap om het foutpunt te identificeren. Met deze beoordeling kunt u bepalen of u het probleem kunt oplossen door de update te herstellen en te hervatten of door contact op te nemen met de ondersteuning.

  • Faalde stapnaam en beschrijving.

  • De computer of server waarop de stap is mislukt (als er een probleem is met een computer).

  • Foutberichttekenreeks (kan het probleem toewijzen aan een specifiek bekend probleem met gedocumenteerde oplossingen).

Gebruik de Azure-portal om details van mislukte stappen te identificeren, zoals beschreven in Bijwerken van een update. U kunt ook de volgende sectie voor vergelijkbare details in PowerShell bekijken met behulp van Start-MonitoringActionplanInstanceToComplete.

De volgende tabel bevat scenario's voor updatefouten en herstelrichtlijnen.

Stapnamen Type probleem Sanering
Enig Stroomverlies of een andere soortgelijke onderbreking van het systeem tijdens de update. 1. Herstel de stroom.
2. Voer een systeemstatuscontrole uit.
3. De update hervatten.
CAU-updates Het uitvoeren van een CAU-update (Cluster Aware Update) mislukt met een max retries exceeded fout. Als meerdere CAU-pogingen mislukken, onderzoekt u de eerste fout.

Gebruik de begin- en eindtijd van de eerste fout om deze te koppelen aan de juiste Get-CauReport uitvoer en de fout verder te onderzoeken.
Enig Geheugen, voeding, opstartstuurprogramma of vergelijkbare kritieke fout op een of meer knooppunten. Zie Een knooppunt herstellen in Azure Lokaal voor informatie over het herstellen van het mislukte knooppunt.
Nadat het knooppunt is hersteld, hervat u de update.

Updatelogboeken verzamelen

U kunt ook diagnostische logboeken verzamelen om Microsoft te helpen de problemen te identificeren en op te lossen.

Raadpleeg Een update hervatten om logboeken voor updates te verzamelen via de Azure-portal.

Om logboeken te verzamelen voor mislukte updates, zie Diagnostische logboeken verzamelen voor Azure Lokaal.

Updateoverzichtsrapport weergeven

Volg deze stappen op de client die u gebruikt om toegang te krijgen tot uw systeem om een gedetailleerd overzichtsrapport met updates weer te geven met behulp van PowerShell:

  1. Maak een externe PowerShell-sessie met de computer. Voer PowerShell uit als beheerder en voer de volgende opdracht uit:

    Enter-PSSession -ComputerName <machine_IP_address> -Credential <username\password for the machine>
    
  2. Haal alle oplossingenupdates op en filter vervolgens de oplossingsupdates die overeenkomen met een specifieke versie. De versie die u gebruikt, komt overeen met de versie van de oplossingsupdate die niet is geïnstalleerd.

    $Update = Get-SolutionUpdate | ? Version -eq "<Version string>" -verbose
    
  3. Identificeer het actieplan voor de mislukte update-uitvoering van de oplossing.

    $Failure = $update | Get-SolutionUpdateRun
    
  4. Identificeer het ResourceID voor de update.

    $Failure
    

    Hier volgt een voorbeelduitvoer:

    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
    

    Let op de ResourceID GUID. Deze GUID komt overeen met de ActionPlanInstanceID.

  5. Bekijk de samenvatting voor de ActionPlanInstanceID die u eerder hebt genoteerd.

    Start-MonitoringActionplanInstanceToComplete -actionPlanInstanceID <Action Plan Instance ID>
    

    Hier ziet u voorbeelduitvoer:

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

    Schermopname van uitvoer van logboekverzameling in PowerShell.

Een update hervatten

Als u een eerder mislukte updateuitvoering wilt hervatten, voert u de update opnieuw uit via de Azure-portal of PowerShell.

De Azure Portal

Gebruik de Azure-portal om naar de mislukte update te bladeren en selecteer de knop Opnieuw proberen. U vindt deze functionaliteit op de downloadupdates, valideer of het systeem gereed is en installeer updatesfasen van een updateuitvoering.

Schermopname van de knop Opnieuw proberen voor mislukte update.

Als u een mislukte update niet opnieuw kunt uitvoeren of een fout verder wilt oplossen, voert u de volgende stappen uit:

  1. Selecteer de Details bekijken van een fout.

  2. Wanneer het detailvak wordt geopend, bekijkt u de foutdetails. Selecteer de koppeling Logboeken verzamelen in de buurt van de knop Een ondersteuningsticket openen voor meer informatie over het verzamelen van diagnostische logboeken.

    Schermopname van het downloaden van foutenlogboeken.

    Zie Diagnostische logboeken verzamelen voor Azure Lokaal voor meer informatie over het ophalen van logboeken.

  3. Selecteer de knop Een ondersteuningsticket openen . Vul de juiste gegevens in en voeg uw logboeken toe, zodat deze beschikbaar zijn voor Microsoft Ondersteuning.

    Schermopname van het openen van een ondersteuningsticket.

Zie Een ondersteuningsaanvraag maken voor meer informatie over het maken van een ondersteuningsticket.

Powershell

Als u PowerShell gebruikt en een eerder mislukte updateuitvoering moet hervatten, gebruikt u de volgende opdracht:

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

Gebruik de volgende opdracht om een eerder mislukte update te hervatten vanwege updatestatuscontroles in een waarschuwingsstatus :

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

Volgende stappen

Meer informatie over het uitvoeren van updates via PowerShell.

Meer informatie over het uitvoeren van updates via Azure Portal.