Résoudre les problèmes liés aux mises à jour de solution pour Azure Local

S’applique à : déploiements hyperconvergés d’Azure Local

Cet article explique comment résoudre les problèmes liés aux mises à jour de solution que vous appliquez à votre instance de Azure Local pour la conserver up-to-date.

À propos de la résolution des problèmes de mises à jour

Si vous déployez votre système à l’aide d’une nouvelle installation de Azure Local, vous installez l’orchestrateur dans le cadre de ce déploiement. L’orchestrateur gère les mises à jour de la plateforme, notamment le système d’exploitation, les pilotes et le microprogramme, ainsi que les agents et les services.

La nouvelle solution de mise à jour inclut une logique de nouvelle tentative et de correction. Cette logique tente de résoudre les problèmes de mise à jour d’une manière nondisruptive, telles que la nouvelle tentative d’exécution d’une mise à jour Cluster-Aware Update (CAU). Si une exécution de mise à jour ne peut pas être corrigée automatiquement, elle échoue. En cas d’échec d’une mise à jour, inspectez les détails du message d’échec pour déterminer l’action suivante appropriée. Vous pouvez tenter de reprendre la mise à jour, le cas échéant, pour déterminer si une nouvelle tentative résout le problème.

Dépannage des vérifications d’aptitude

Les vérifications d’état de préparation sont essentielles pour s’assurer que vous appliquez les mises à jour sans difficulté, que vos systèmes restent à jour et que vous maintenez le bon fonctionnement du système. Les vérifications Readiness sont effectuées et rapportées séparément dans deux scénarios :

  • Des vérifications d’intégrité du système qui s’exécutent une fois toutes les 24 heures.

  • Les vérifications de préparation aux mises à jour s'exécutent après le téléchargement du contenu de mise à jour et avant de commencer l'installation.

Il est fréquent que les résultats des vérifications d’intégrité du système et des vérifications d’Update Readiness diffèrent. Cela s’explique par le fait que les vérifications d’Update Readiness utilisent la dernière logique de validation de la mise à jour de solution à installer, tandis que les vérifications d’intégrité du système utilisent toujours la logique de validation de la version installée.

Les vérifications d’intégrité du système et d’Update Readiness effectuent des validations similaires et classifient trois types de vérifications de préparation : Critique, Avertissement et Informationnelle.

  • Critique : vérifications de Readiness qui vous empêchent d’appliquer la mise à jour. Ce statut indique des problèmes que vous devez résoudre avant de poursuivre la mise à jour.
  • Avertissement : Vérifications de préparation qui vous empêchent également d’appliquer la mise à jour, mais vous pouvez les contourner. Ce statut indique des problèmes potentiels qui ne sont peut-être pas suffisamment graves pour interrompre la mise à jour mais qui devraient être traités pour garantir un processus de mise à jour fluide.
  • Caractère informatif : vérifications d’aptitude qui ne bloquent pas la mise à jour. Ce statut fournit des informations sur l’état du système et sur d’éventuels problèmes qui ne devraient pas affecter directement le processus de mise à jour. Ces vérifications sont à titre informatif et pourraient ne pas nécessiter d’action immédiate.

Les étapes de résolution des problèmes varient en fonction du scénario de vérification de préparation.

En passant par le portail Azure

À l’aide du portail Azure, scénario 1 : Vérifications d’intégrité du système

Ce scénario se produit lors de la préparation à l’installation des mises à jour système dans Gestionnaire de mise à jour Azure :

  1. Dans la liste système, sélectionnez l’état de préparation de la mise à jour . Les systèmes qui nécessitent une attention montrent un état critique ou d’avertissement .

    Capture d’écran de la page Update Manager.

  2. Passez en revue la liste des vérifications de préparation et leurs résultats.

    1. Sélectionnez les liens sous Détails pour afficher plus d’informations.

    2. Lorsque la zone de détails s'ouvre, vous pouvez afficher plus de détails, les résultats de chaque système et la correction des échecs des contrôles d'intégrité.

      Capture d’écran des vérifications de préparation avec plusieurs erreurs critiques, mettant en évidence un échec de contrôle d’intégrité du stockage et son message d’erreur détaillé avec des instructions de correction.

    3. Suivez les étapes de correction fournies pour résoudre les échecs.

    4. Après avoir résolu les problèmes, sélectionnez Vérifier à nouveau pour réexécuter les vérifications de préparation.

      Capture d’écran des vérifications de préparation montrant le bouton Vérifier à nouveau.

À l’aide du portail Azure, scénario 2 : Vérifications de préparation des mises à jour

Ce scénario se produit lorsque vous installez et suivez les mises à jour système dans Gestionnaire de mise à jour Azure :

  1. Dans Historique, sélectionnez dans la liste l'exécution de la mise à jour qui a échoué.

  2. Sous l’onglet Valider que le système est prêt , passez en revue la liste des vérifications de préparation et leurs résultats.

    1. Sélectionnez les liens Afficher les détails sous Détails.

    2. Lorsque la zone de détails s'ouvre, vous pouvez afficher plus de détails, les résultats de chaque système et la correction des échecs des contrôles d'intégrité.

    Capture d’écran de la page de progression de la mise à jour.

    Pour résoudre les échecs, suivez les instructions de correction, puis sélectionnez le bouton Réessayer pour réessayer les vérifications de préparation à la pré-mise à jour et reprendre la mise à jour.

    Pour poursuivre le dépannage, consultez à la section PowerShell.

Utilisation de PowerShell

Utilisation de PowerShell, scénario 1 : Vérifications d’intégrité système

Pour résoudre les problèmes d’intégrité du système à l’aide de PowerShell :

  1. Pour vérifier que les vérifications d’intégrité du système ont échoué, exécutez la commande suivante sur l’une des machines de votre système :

    Get-SolutionUpdateEnvironment
    

    Voici un exemple de résultat :

    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. Passez en revue le HealthState sur votre système et consultez la valeur de Failure ou Warning.

  3. Pour filtrer la propriété HealthCheckResult afin d’identifier les tests défaillants, exécutez la commande suivante :

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

    Voici un exemple de résultat :

    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. Passez en revue la Remediation propriété pour les tests ayant échoué et prenez les mesures appropriées pour résoudre les échecs.

  5. Si vous avez besoin d’informations de diagnostic supplémentaires pour déterminer pourquoi les tests ont échoué, examinez la AdditionalData propriété à l’aide du -FullHealthCheckDetails paramètre :

    $FullResults = Get-SolutionUpdateEnvironment -FullHealthCheckDetails
    
    $Failures = $FullResults.HealthCheckResult | Where-Object { $_.Status -ne "SUCCESS" -and $_.Severity -ne "INFORMATIONAL" }
    
    $Failures | Format-List *
    
  6. Si disponible, utilisez les informations de diagnostic affichées dans la AdditionalData propriété, telles que FailedMachines, Sourceet ExceptionMessage pour déterminer les machines physiques qui provoquent l’échec du test. Utilisez ensuite le lien dans la Remediation propriété pour résoudre les échecs.

  7. Après avoir résolu l’échec, appelez à nouveau les vérifications d’intégrité du système en exécutant la commande suivante :

    Invoke-SolutionUpdatePrecheck -SystemHealth
    
  8. Utilisez Get-SolutionUpdateEnvironment pour confirmer que les échecs de vérification d'intégrité sont résolus. L’exécution des vérifications d’intégrité du système peut prendre quelques minutes.

    Voici un exemple de résultat :

    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 
    

À l’aide de PowerShell, scénario 2 : Vérifications de préparation des mises à jour

Lorsque les vérifications de préparation des mises à jour échouent, la mise à jour système échoue également. Pour résoudre les problèmes de préparation des mises à jour à l’aide de PowerShell :

  1. Pour vérifier que les vérifications de préparation des mises à jour ont échoué, exécutez la commande suivante sur un ordinateur de votre système pour rechercher la ResourceId mise à jour :

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

    Voici un exemple de résultat :

    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. À l’aide de la mise à jour ResourceId à partir de la sortie de la commande précédente, exécutez la commande suivante et remplacez le Id paramètre par cette valeur :

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

    Voici un exemple de résultat :

    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. Examinez le State pour la mise à jour et visualisez la valeur HealthCheckResult.

  4. Pour filtrer la HealthCheckResult propriété et identifier les tests ayant échoué, exécutez la commande suivante. Remplacez la Id valeur par la mise à jour ResourceId de la commande précédente.

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

    Voici un exemple de résultat :

    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. Utilisez le lien dans la Remediation propriété pour le test ayant échoué. Ouvrez l’article sur un appareil avec un navigateur web et suivez les étapes recommandées pour résoudre les échecs.

  6. Si vous avez besoin d’informations de diagnostic supplémentaires pour déterminer pourquoi les tests ont échoué, examinez la AdditionalData propriété à l’aide du -FullHealthCheckDetails paramètre :

    $FullResults = Get-SolutionUpdate -Id <Resource ID> -FullHealthCheckDetails
    
    $Failures = $FullResults.HealthCheckResult | Where-Object { $_.Status -ne "SUCCESS" -and $_.Severity -ne "INFORMATIONAL" }
    
    $Failures | Format-List *
    
  7. Si disponible, utilisez les détails de diagnostic dans la AdditionalData propriété, tels que FailedMachines, Sourceet ExceptionMessage, pour identifier les machines physiques qui ont provoqué l’échec du test. Utilisez ensuite le lien dans la Remediation propriété pour résoudre les échecs.

  8. Après avoir résolu l’échec, appelez à nouveau les vérifications de préparation des mises à jour en exécutant la commande suivante :

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

Résolution des échecs de mise à jour

En cas d’échec d’une mise à jour, passez en revue la progression détaillée de l’étape pour identifier le point de défaillance. Cette révision vous aide à déterminer si vous pouvez résoudre le problème en réparant et en reprenant la mise à jour ou si vous devez contacter le support technique.

  • Le nom et la description de l’étape ayant échoué.

  • Ordinateur ou serveur sur lequel l’étape a échoué (en cas de problème spécifique à l’ordinateur).

  • Chaîne de message d’échec (peut cibler le problème en le liant à un problème connu spécifique avec une solution documentée).

Utilisez le portail Azure pour identifier les détails des étapes défaillantes, comme décrit dans Resume une mise à jour. Vous pouvez également consulter la section suivante pour obtenir des informations similaires dans PowerShell à l’aide de Start-MonitoringActionplanInstanceToComplete.

Le tableau suivant répertorie les scénarios d’échec de mise à jour et les instructions de correction.

Noms des étapes Type de problème Correction
Quelconque Une coupure de courant ou toute autre interruption similaire du système pendant la mise à jour. 1. Rétablir l’alimentation.
2. Exécuter une vérification d’intégrité du système.
3. Reprendre la mise à jour.
Rapports de la mise à jour adaptée aux clusters L'exécution du rapport CAU (Mise à jour adaptée aux clusters) échoue avec un échec max retries exceeded. Si plusieurs tentatives de CAU (Cluster-Aware Updating) échouent, examinez le premier échec.

Utilisez l'heure de début et de fin du premier échec pour faire correspondre la sortie Get-CauReport correcte afin d'approfondir l'analyse de l'échec.
Quelconque Une défaillance critique de la mémoire, de l’alimentation, du pilote de démarrage ou similaire sur un ou plusieurs nœuds. Consultez Réparer un nœud sur Azure Local pour savoir comment réparer le nœud défaillant.
Une fois le nœud réparé, reprenez la mise à jour.

Collecter les journaux de mise à jour

Vous pouvez également collecter des journaux de diagnostic pour aider Microsoft à identifier et résoudre les problèmes.

Pour collecter les journaux des mises à jour à l’aide du portail Azure, consultez Resume une mise à jour.

Pour collecter les journaux des échecs de mise à jour, consultez Collecte des journaux de diagnostic pour Azure Local.

Afficher le rapport récapitulatif de mise à jour

Pour afficher un rapport de synthèse de mise à jour détaillé à l’aide de PowerShell, procédez comme suit sur le client que vous utilisez pour accéder à votre système :

  1. Établissez une session PowerShell distante avec l’ordinateur. Exécutez PowerShell en tant qu’administrateur et exécutez la commande suivante :

    Enter-PSSession -ComputerName <machine_IP_address> -Credential <username\password for the machine>
    
  2. Obtenez toutes les mises à jour des solutions, puis filtrez les mises à jour de la solution qui correspondent à une version spécifique. La version que vous utilisez correspond à la version de la mise à jour de solution qui n’a pas pu être installée.

    $Update = Get-SolutionUpdate | ? Version -eq "<Version string>" -verbose
    
  3. Identifiez le plan d’action pour l’échec de l’exécution de la mise à jour de la solution.

    $Failure = $update | Get-SolutionUpdateRun
    
  4. Identifiez le ResourceID pour la mise à jour.

    $Failure
    

    Voici un exemple de résultat :

    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
    

    Notez le GUID ResourceID. Ce GUID correspond à ActionPlanInstanceID.

  5. Affichez le résumé du ActionPlanInstanceID que vous avez noté précédemment.

    Start-MonitoringActionplanInstanceToComplete -actionPlanInstanceID <Action Plan Instance ID>
    

    Voici un exemple du résultat :

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

    Capture d’écran de PowerShell collectez la sortie des journaux.

Reprendre une mise à jour

Pour reprendre une exécution de mise à jour ayant échoué précédemment, réessayez l’exécution de la mise à jour via le portail Azure ou PowerShell.

Portail Azure

Utilisez le portail Azure pour accéder à votre mise à jour ayant échoué et sélectionnez le bouton Réessayer. Vous trouverez cette fonctionnalité aux étapes « Télécharger les mises à jour », « Valider que le système est prêt » et « Installer les mises à jour » d’une exécution de mise à jour.

Capture d’écran du bouton de nouvelle tentative de la mise à jour ayant échoué.

Si vous ne pouvez pas réexécuter une mise à jour ayant échoué ou si vous avez besoin de résoudre une erreur plus loin, procédez comme suit :

  1. Sélectionnez l'option Afficher les détails d'une erreur.

  2. Lorsque la zone de détails s’ouvre, passez en revue les détails de l’erreur. Pour plus d’informations sur la collecte des journaux de diagnostic, sélectionnez le lien Comment collecter les journaux près du bouton Ouvrir un ticket de support .

    Capture d’écran pour télécharger les journaux d’erreurs.

    Pour plus d'informations sur la collecte des journaux, consultez Collecter les journaux de diagnostic pour Azure Local.

  3. Sélectionnez le bouton Ouvrir un ticket de support . Renseignez les informations appropriées et joignez vos journaux afin qu'ils soient disponibles pour Support Microsoft.

    Capture d’écran pour ouvrir un ticket de support.

Pour plus d’informations sur la création d’un ticket de support, veuillez consulter la section Créer une demande de support.

PowerShell

Si vous utilisez PowerShell et que vous devez reprendre une exécution de mise à jour ayant échoué précédemment, utilisez la commande suivante :

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

Pour reprendre une mise à jour ayant échoué précédemment en raison de la mise à jour des vérifications d’intégrité dans un état d’avertissement , utilisez la commande suivante :

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

Étapes suivantes

En savoir plus sur l’exécution des mises à jour via PowerShell.

En savoir plus sur l’exécution des mises à jour via le Portail Azure.