Partager via


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

S’applique à : déploiements hyperconvergés d’Azure Local 2311.2 et versions ultérieures

Cet article explique comment résoudre les problèmes liés aux mises à jour de solution appliquées à votre local Azure pour qu’elles restent à jour.

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

Si votre système a été créé via un nouveau déploiement d’Azure Local, un orchestrateur a été installé pendant le déploiement. L’orchestrateur gère toutes les mises à jour de la plateforme : système d’exploitation, pilotes et firmware, agents et 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. Lorsque qu’une mise à jour échoue, Microsoft recommande d’examiner les détails du message d’erreur afin de déterminer la prochaine action appropriée. Vous pouvez essayer de reprendre la mise à jour, si cela est pertinent, pour déterminer si un nouvel essai résoudra 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 Readiness qui vous empêchent également d’appliquer la mise à jour, mais que vous pouvez contourner en utilisant PowerShell. 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.

La procédure de dépannage varie en fonction du scénario auquel appartiennent les vérifications de Readiness.

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 Azure Update Manager :

  1. Dans la liste des systèmes, affichez l'état critique de la préparation à la mise à jour.

    Capture d’écran de la page Update Manager.

  2. Sélectionnez un ou plusieurs systèmes dans la liste, puis sélectionnez Mise à jour unique.

  3. Sur la page Vérification de l'état de préparation, passez en revue la liste des tests de préparation et leurs résultats.

    1. Sélectionnez les liens Afficher les détails sous Systèmes affectés.

    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 Installer les mises à jour.

    Suivez les instructions de remédiation pour résoudre les échecs.

    Remarque

    Les vérifications d’intégrité du système s’exécutent toutes les 24 heures, il peut donc s’écouler jusqu’à 24 heures pour que les nouveaux résultats se synchronisent avec le portail Azure après la résolution des échecs. Pour lancer immédiatement une nouvelle vérification d’intégrité du système ou pour approfondir le dépannage, veuillez consulter la section PowerShell.

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

Ce scénario se produit lors de l’installation et du suivi des mises à jour système dans Azure Update Manager :

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

  2. Sur la page Vérification de l'état de préparation, passez en revue la liste des tests de préparation et leurs résultats.

    1. Sélectionnez les liens Afficher les détails sous Systèmes affectés.

    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.

    Suivez les instructions de correction pour résoudre les échecs, puis sélectionnez Réessayer pour relancer les vérifications d’Update Readiness 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 dépanner les contrôles d'intégrité du système via 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 la cause des tests ayant é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 elles sont présentes, utilisez les informations de diagnostic affichées dans AdditionalData la propriété, telles que « FailedMachines », « Source » et/ou « ExceptionMessage » pour déterminer les machines physiques qui provoquent l’échec de test, ainsi que les informations fournies dans le lien de la Remediation propriété pour résoudre les échecs.

  7. Après avoir résolu les échecs, lancez à 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 des contrôles d'intégrité ont été résolus. Il peut s’écouler quelques minutes avant que les vérifications d’intégrité du système ne s’exécutent.

    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 d’Update Readiness échouent, cela provoque l’échec de la mise à jour sur le système. Pour résoudre les problèmes des vérifications d’Update Readiness via PowerShell :

  1. Pour vérifier que les vérifications de préparation des mises à jour ont échoué, exécutez la commande suivante sur l’une des machines de votre système pour identifier 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 ResourceId de la mise à jour que vous tentez d’installer, exécutez la commande suivante en remplaçant le Id paramètre par l’ID de ressource de votre mise à jour, à partir de la sortie de la commande précédente :

    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 propriété HealthCheckResult pour identifier les tests défaillants, exécutez la commande suivante, remplacez la valeur Id par la valeur de ResourceId de votre mise à jour, identifiée grâce à 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 affiché dans la Remediation propriété du test ayant échoué, passez en revue l’article à l’aide d’un appareil avec un navigateur web pour déterminer les actions appropriées pour résoudre les échecs.

  6. Si vous avez besoin d’informations de diagnostic supplémentaires pour déterminer la cause des tests ayant é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 elles sont présentes, utilisez les informations de diagnostic affichées dans AdditionalData la propriété, telles que « FailedMachines », « Source » et/ou « ExceptionMessage » pour déterminer les machines physiques qui provoquent l’échec de test, ainsi que les informations fournies dans le lien de la Remediation propriété pour résoudre les échecs.

  8. Après avoir résolu les échecs, 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

S’il existe un problème qui provoque l’échec d’une mise à jour, l’examen de la progression détaillée de l’étape pour identifier l’échec est souvent la meilleure façon de déterminer si le problème est quelque chose qui peut être corrigé via une réparation simple (et reprendre) ou un engagement de support est nécessaire pour résoudre le problème. Voici des points clés à noter pour l’étape ayant échoué :

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

  • La machine ou le serveur sur lequel l’étape a échoué (en cas de problème spécifique à une machine).

  • Chaîne de message d’échec (peut identifier le problème comme une anomalie connue spécifique avec une correction documentée).

Microsoft recommande d’utiliser le portail Azure pour identifier les informations de l’étape ayant échoué, comme indiqué dans Reprendre une mise à jour. Vous pouvez également consulter la section suivante pour savoir comment afficher des détails similaires dans PowerShell en utilisant Start-MonitoringActionplanInstanceToComplete.

Consultez le tableau ci-dessous pour voir des scénarios d’échec de mise à jour et les directives 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. S’il existe une indication que plusieurs tentatives de Cluster-Aware Updating ont été effectuées et qu’elles ont toutes échoué, il est souvent préférable d’examiner 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é, la mise à jour peut reprendre.

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 effectuées à l'aide du portail Azure, voir Reprendre une mise à jour.

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

Afficher le rapport récapitulatif de mise à jour

Pour afficher un rapport de synthèse détaillé de la mise à jour à l’aide de PowerShell, procédez comme ceci 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 solution correspondant à une version spécifique. La version utilisée correspond à la version de mise à jour de la 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/6bcc63af-b1df-4926-b2bc-26e06f460ab0
    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 6bcc63af-b1df-4926-b2bc-26e06f460ab0
    

    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, vous pouvez réessayer l’exécution de la mise à jour via le Portail Azure ou PowerShell.

Portail Azure

Nous vous recommandons vivement d’utiliser le Portail Azure, pour accéder à votre mise à jour ayant échoué et sélectionner le bouton Réessayer. Cette fonctionnalité est disponible aux phases Télécharger les mises à jour, Vérifier la préparation et Installer d’une exécution de mise à jour.

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

Si vous n’arrivez pas à relancer avec succès une mise à jour ayant échoué ou si vous devez approfondir le dépannage d’une erreur, procédez comme ceci :

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

  2. Lorsque la boîte de détails s’ouvre, vous pouvez examiner les détails de l’erreur. Pour plus d’informations sur la collecte des journaux de diagnostic, vous pouvez cliquer sur le lien Comment collecter des journaux près du bouton Ouvrir un ticket de support.

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

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

  3. En outre, vous pouvez sélectionner le bouton Ouvrir un ticket de support, remplir les informations et joindre vos journaux afin de les mettre à la disposition du 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.