Comprendre et contrôler la resynchronisation du stockage

S’applique à : Azure Stack HCI, versions 22H2 et 21H2 ; Windows Server 2022, Windows Server 2019

L’alerte de resynchronisation du stockage est une fonctionnalité des espaces de stockage direct dans Azure Stack HCI et Windows Server. Elle permet au service de contrôle d’intégrité de générer une erreur vous informant de la resynchronisation. De cette façon, vous réduisez le risque de rendre accidentellement indisponibles les autres serveurs, ce qui pourrait affecter plusieurs domaines d’erreur et entraîner la panne de votre cluster.

Cet article présente la resynchronisation du stockage et explique comment la monitorer dans un cluster de basculement avec les espaces de stockage direct.

À propos de la resynchronisation du stockage

Commençons par un exemple simple pour comprendre comment le stockage peut être désynchronisé. N’oubliez pas qu’une solution de stockage distribué sans partage (lecteurs locaux uniquement) présente ce comportement. La section suivante montre comment le stockage devient désynchronisé lorsqu’un nœud de serveur connaît une panne. Tant qu’il est en panne, ses lecteurs ne sont pas mis à jour. Ce comportement s’applique à toutes les architectures hyperconvergées.

Supposons que vous souhaitiez stocker la chaîne « HELLO ».

Image d’un s c i i d’une chaîne hello.

Si vous disposez d’une résilience en miroir triple, vous disposez de trois copies de cette chaîne. Si vous rendez temporairement indisponible le serveur n° 1 (à des fins de maintenance), vous ne pourrez pas accéder à la copie n° 1.

Image montrant que vous ne pouvez pas accéder à la copie numéro 1 si vous retirez le serveur numéro 1.

Supposons que vous remplaciez la chaîne « HELLO » par « HELP ! » pour le moment.

Image d’un s c i i d’une aide ! String.

Une fois que vous avez mis à jour la chaîne, les copies n° 2 et n° 3 sont mises à jour comme prévu. Toutefois, vous ne pourrez pas accéder à la copie n° 1 car le serveur n° 1 est momentanément indisponible (à des fins de maintenance).

GIF de l’écriture dans la copie des numéros 2 et 3.

Les données de la copie n° 1 sont à présent désynchronisées. Le système d’exploitation utilise le suivi granulaire des régions ayant subi des modifications afin de détecter les bits non synchronisés. De cette façon, lorsque le serveur n° 1 sera à nouveau disponible, vous pourrez synchroniser les modifications en lisant les données des copies n° 2 ou n° 3, puis en remplaçant les données de la copie n° 1. Avec cette approche, vous ne copiez que les données obsolètes, au lieu de resynchroniser toutes les données du serveur n° 2 ou n° 3.

GIF de remplacement pour copier le numéro 1.

La section précédente a expliqué comment les données pouvaient ne plus être synchronisées. Mais comment cela se traduit-il à grande échelle ? Supposons que vous disposiez d’un cluster hyperconvergé comprenant trois serveurs. Lorsque le serveur n° 1 est en cours de maintenance, vous le voyez comme étant indisponible. Lorsque vous rendez le serveur n° 1 à nouveau disponible, celui-ci commence à resynchroniser tout son stockage à l’aide du suivi granulaire des régions ayant subi des modifications (comme expliqué dans la section précédente). Une fois les données synchronisées, tous les serveurs sont affichés comme étant disponibles.

Le GIF suivant montre comment fonctionne la resynchronisation du stockage dans un cluster hyperconvergé :

GIF de l’affichage administrateur de resynchronisation.

Comment monitorer la resynchronisation du stockage

Dans Windows Server 2019, nous avons ajouté un message d’erreur au Service de contrôle d’intégrité qui s’affiche lorsque votre stockage est en cours de resynchronisation.

Pour afficher ce message d’erreur dans PowerShell, exécutez l’applet de commande suivante :

Get-HealthFault

Ce nouveau message d’erreur s’affiche dans PowerShell, dans le rapport de validation du cluster, et dans toutes les autres fonctionnalités relatives aux erreurs d’intégrité.

Pour obtenir une vue plus détaillée, vous pouvez interroger la base de données de séries chronologiques dans PowerShell en procédant ainsi :

Get-ClusterNode | Get-ClusterPerf -ClusterNodeSeriesName ClusterNode.Storage.Degraded

Voici un exemple de sortie :

Object Description: ClusterNode Server1

Series                       Time                Value Unit
------                       ----                ----- ----
ClusterNode.Storage.Degraded 01/11/2019 16:26:48     214 GB

Windows Admin Center utilise les erreurs d’intégrité pour définir l’état et la couleur des nœuds du cluster. Dans le tableau de bord HCI, ce nouveau message d’erreur permet aux nœuds de cluster de passer du rouge (indisponible) au jaune (resynchronisation en cours) puis au vert (disponible), au lieu de passer directement du rouge au vert.

L’illustration suivante compare la progression de la resynchronisation du stockage dans Windows Server 2016 et dans Windows Server 2019.

Image de la vue resynchronisation Windows Server 2016 et Windows Server 2019.

En affichant la progression globale de la resynchronisation du stockage, vous pouvez connaître avec précision la quantité de données non synchronisées et savoir si votre système progresse. Dans Windows Admin Center, accédez au tableau de bord pour afficher la nouvelle alerte, comme illustré dans la capture d’écran suivante :

Capture d’écran de l’alerte dans Windows Admin Center.

L’alerte vous permet d’être averti lorsqu’une resynchronisation se produit, et donc, d’éviter de rendre accidentellement indisponibles d’autres serveurs (ce qui pourrait affecter plusieurs domaines d’erreur et entraîner la panne de votre cluster).

Pour obtenir une vue détaillée de la façon dont la resynchronisation du stockage s’affiche sur chaque serveur dans Windows Admin Center, accédez à la page Serveurs, cliquez sur Inventaire, puis choisissez un serveur. Accédez à votre serveur et examinez le graphique Stockage pour voir la quantité de données qui doivent être réparées (signalées par une ligne violette avec un nombre exact situé juste au-dessus). Ce nombre augmente lorsque le serveur est indisponible (davantage de données doivent être resynchronisées) et diminue progressivement lorsque le serveur est à nouveau disponible (les données sont en cours de synchronisation). Lorsque la quantité de données à réparer est égale à 0, cela signifie que la resynchronisation de votre stockage est terminée. Vous pouvez désormais rendre un serveur indisponible si nécessaire.

La capture d’écran suivante montre la vue Serveur dans Windows Admin Center :

Capture d’écran de la vue serveur dans Windows Admin Center.

Comment monitorer la resynchronisation du stockage dans Windows Server 2016

L’alerte disponible dans Windows Server 2019 et versions ultérieures est utile pour obtenir une vue globale de ce qui se passe au niveau de la couche stockage. Elle résume les informations que vous pouvez obtenir à l’aide de l’applet de commande Get-StorageJob. Cette applet de commande retourne des informations sur les tâches de longue durée du module de stockage, par exemple, une opération de réparation effectuée sur un espace de stockage, comme dans l’exemple de sortie suivant.

Get-StorageJob

Voici un exemple de sortie :

Name                  ElapsedTime           JobState              PercentComplete       IsBackgroundTask
----                  -----------           --------              ---------------       ----------------
Regeneration          00:01:19              Running               50                    True

Cette vue est plus précise, car les tâches de stockage sont listées par volume. Vous pouvez voir la liste des tâches en cours et suivre la progression de chacune d’elles. Cette applet de commande fonctionne à la fois sur Windows Server 2016 et sur Windows Server 2019.

Références supplémentaires