Comment puis-je résoudre le problème du décalage de réplication ou du backlog sur mon serveur source Windows pour le service de migration d'applications ?

Lecture de 11 minute(s)
0

Je constate un décalage ou un backlog sur mon serveur source Windows lors de la réplication de données à l'aide d'AWS Application Migration Service.

Brève description

Les facteurs suivants contribuent au décalage et au backlog de réplication lors de la réplication de données d'un serveur source vers un serveur cible :

  • Vitesse de la liaison montante du réseau et disponibilité de la bande passante: La vitesse de connexion réseau entre le serveur source et le serveur de réplication peut avoir un impact significatif sur les performances de réplication. Des connexions lentes peuvent empêcher la fin du processus de réplication. De plus, la bande passante limitée limite la quantité de données que vous pouvez répliquer dans un laps de temps donné.
  • Modifications du disque lors de la réplication: Pendant le processus de réplication, le serveur source peut continuer à écrire de nouvelles données sur ses disques. En cas de pic important du volume de nouvelles données écrites par le serveur source, les données s'accumulent et créent un arriéré important. L'agent de réplication AWS doit envoyer ce backlog lors de la synchronisation initiale. Plus le backlog est important, plus la réplication des données prend du temps.
  • Vitesse d'E/S des disques de stockage: Au cours du processus de réplication, l'agent de réplication AWS lit les blocs de stockage des disques et transmet les données au serveur de réplication. Toutefois, une latence de lecture élevée sur les disques du serveur source peut affecter la vitesse et l'efficacité de la réplication des données. Les disques lents entraînent des décalages, tandis que les disques rapides améliorent la vitesse de réplication.
  • Charger sur le serveur source: Les conflits de ressources sur le serveur source peuvent entraîner une utilisation élevée du processeur, une consommation de mémoire, une attente d'E/S ou d'autres contraintes de ressources. Par exemple, une utilisation élevée du processeur peut entraîner des goulots d'étranglement liés à la réplication. Cela est dû au fait que le système a du mal à allouer les ressources du processeur entre l'agent de réplication AWS et les autres processus. De même, une consommation de mémoire élevée peut amener le système à échanger des pages de mémoire vers le disque. Cela entraîne une augmentation de l'attente d'E/S et un ralentissement du processus de réplication.
  • Ressources de réplication sous-provisionnées: Le transfert de volumes Amazon Elastic Block Store (Amazon EBS) présentant un débit et des IOPS plus faibles peut entraîner une latence de lecture et d'écriture élevée et une longueur de file d'attente élevée. Tous ces problèmes ont un impact sur les performances de réplication. De plus, un type d'instance de serveur de réplication présentant un faible débit réseau et une bande passante Amazon EBS est à l'origine de problèmes de performances de réplication.

Résolution

Pour déterminer la raison du décalage, effectuez d'abord des vérifications sur le serveur source. Ensuite, effectuez des vérifications sur la zone de préparation.

Vérifications du serveur source

Vérifiez que le serveur source est démarré et fonctionne

Assurez-vous que le serveur source pour la migration est démarré et fonctionne.

Vérifiez que les processus de l'agent de réplication AWS sont en cours d'exécution

Exécutez la commande suivante depuis PowerShell pour répertorier les services AWS Replication Agent en cours d'exécution :

get-service | where-object name -like “*AWSR*”

La sortie suivante montre les services par défaut qui s'exécutent. Vérifiez que le service principal de AWSReplicationService est en cours d'exécution :

PS C:\Users\Administrator> get-service | where-object name -like “*AWSR*”

Status   Name               DisplayName
------   ----               -----------
Running  AwsReplicationD... AwsReplicationDriverLogger
Running  AwsReplicationL... AwsReplicationLogger
Stopped  AwsReplicationP... AwsReplicationPostConvertService
Running  AwsReplicationS... AwsReplicationService
Running  AwsReplicationV... AwsReplicationVolumeUpdaterService

Vous pouvez également appuyer sur Windows + R, puis tapez services.msc, et appuyez sur Entrer. Vérifiez que AWSReplicationService est en cours d'exécution.

Vérifiez les connexions TCP actives

Vérifiez que cinq connexions TCP actives ont été établies avec le serveur de réplication sur le port TCP 1500.

Exécutez la commande suivante :

C:\Users\Administrator>netstat -an | find "1500"

Vérifiez la sortie de commande pour les connexions actives :

TCP    172.31.82.135:50929    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50930    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50931    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50933    <Replicator Instance IP>:1500    ESTABLISHED
TCP    172.31.82.135:50934    <Replicator Instance IP>:1500    ESTABLISHED

Utiliser le Moniteur de ressources Windows pour vérifier les performances sur le serveur source

L'agent de réplication AWS fonctionne sur un cœur de processeur à la fois. Si l'utilisation du processeur est élevée sur le cœur sur lequel s'exécute l'agent de réplication AWS, la réplication des données ralentit. Pour vérifier l'utilisation du processeur, procédez comme suit :

1.    Utilisez l'une des méthodes suivantes pour lancer le Moniteur de ressources Windows :

  • Dans l'onglet Performances du gestionnaire de tâches, choisissez Open Resource Monitor.
  • Dans le Panneau de configuration, choisissez Outils d'administration, Contrôleur de ressources.
  • Exécutez resmon.exe à partir de la ligne de commande ou de PowerShell.
  • Choisissez l'icône Windows, puis entrez resmon.exe.

2.    Vérifiez l'utilisation du processeur du cœur du processeur sur lequel s'exécute l'agent de réplication AWS.

  • Si l'utilisation du processeur est élevée sur ce cœur, déterminez quel processus consomme la plus grande partie du processeur.
  • L'agent utilise au moins 5 % du processeur. Assurez-vous que le processeur disponible est suffisant pour que l'agent puisse effectuer la réplication des données.

3.    Vérifiez les performances du disque sur le serveur source.

Vérifiez les métriques d'écriture (B/sec) et de temps de réponse.

Vous pouvez vérifier ces mesures dans la section Activité du disque. Si le débit de lecture sur le disque source est faible, l'agent lit et réplique moins de données. Notez toute augmentation des métriques de lecture et d'écriture sur disque.

**Remarque :**La bande passante requise pour transférer les données répliquées via le port TCP 1500 est basée sur la vitesse d'écriture du serveur source participant. Il est recommandé de disposer d'une bande passante au moins égale à la somme de la vitesse d'écriture moyenne de toutes les machines sources répliquées.

4.    Vérifiez si le serveur source n'a pas enregistré de pic d'opérations d'écriture.

Pour vérifier les opérations d'écriture sous Activité du disque, recherchez Écriture (B/sec).

À mesure que la charge de travail change, vérifiez régulièrement les performances du disque pour déterminer la charge d'E/S. Si le débit d'écriture (Mo/s) dépasse le débit réseau fourni, vous constatez un décalage de réplication.

**Remarque :**Pour calculer la bande passante requise entre le serveur source et le serveur de réplication, reportez-vous à la section Calcul de la bande passante requise pour le port TCP 1500.

Si votre serveur source est chargé en écriture et que sa vitesse d'écriture est supérieure à la vitesse de réplication, le backlog ne cesse de croître.

Vérifiez la vitesse de réplication et la bande passante disponible entre le serveur source et le sous-réseau de la zone de stockage

Pour plus d'informations sur la façon d'exécuter un test de vitesse, voir Comment puis-je effectuer un test de connectivité et de bande passante SSL ?

Vérifiez qu'aucun serveur source n'a été arrêté de manière inappropriée

Si un serveur source est arrêté de manière inappropriée, l'agent de réplication AWS réanalyse tous les disques après le redémarrage du serveur. L'agent de réplication AWS relit les disques et le décalage augmente continuellement jusqu'à la fin de la nouvelle analyse. Pour plus d'informations, voir Quels systèmes d'exploitation Windows et Linux prennent en charge l'absence de rescan au redémarrage ?

Pour vérifier comment la machine source a été arrêtée, procédez comme suit :

1.    Appuyez sur Windows + R, puis tapez eventvwr.msc, et appuyez sur Entrer.

2.    Dans l'Observateur d'événements, double-cliquez sur Journaux Windows pour le développer.

3.    Cliquez avec le bouton droit sur Système.

4.    Choisissez Filtrer le journal actuel.

5.    Cliquez sur la flèche déroulante à côté de Sources d'événements, puis choisissez USER32.

6.    Dans le <All Event IDs> champ, tapez 1074, puis choisissez OK. La liste des événements de mise hors tension (arrêt) et de redémarrage de type arrêt s'affiche dans l’observateur d'événements.

7.    Pour connaître les dates et heures de tous les arrêts imprévus de l'ordinateur, tapez 6008 dans le <All Event IDs> champ, puis choisissez OK.

Vérifiez que le port TCP 1500 n'est pas bloqué en sortie

1.    Assurez-vous que le port TCP 1500 n'est pas bloqué en provenance du serveur source vers le serveur de réplication.

2.    Vous pouvez exécuter un Telnet ou une TNC sur l'adresse IP de l'instance du réplicateur, comme indiqué dans les exemples suivants :

  • Depuis CMD : telnet <replication subnet IP address> 1500
  • Depuis PowerShell : TNC <replication subnet IP address> -port 1500

3.    Assurez-vous que votre pare-feu local autorise la connectivité entre le serveur source et le serveur de réplication via le port TCP 443. Pour activer la connectivité sur le pare-feu du système d'exploitation, effectuez les actions suivantes :

  • Sur le serveur source, ouvrez la console du pare-feu Windows.
  • Sur la console, choisissez l'option Règles sortantes dans l'arborescence.
  • Dans le tableau des règles sortantes, sélectionnez la règle qui se rapporte à la connexion Remote Port - 1500. Vérifiez que l'état Activé est défini sur Oui.
  • Si l'état Activé de la règle est Non, cliquez avec le bouton droit de la souris et sélectionnez Activer la règle.

4.    Pour autoriser le trafic via le port TCP 1500, assurez-vous que le pare-feu de votre entreprise autorise cette connectivité.

**Remarque :**Vous pouvez également effectuer le test de vitesse SSL ou le test iperf. Pour plus d'informations, voir Comment puis-je effectuer un test de connectivité et de bande passante SSL ?

Vérifiez que la limitation de bande passante est désactivée dans les paramètres de réplication sur le serveur source

Désactivez la limitation de bande passante dans les paramètres de réplication du serveur source. La désactivation de la limitation de bande passante permet de maintenir une bande passante suffisante pour le transfert de données du serveur source vers le sous-réseau de la zone de stockage.

L'activation de la limitation de bande passante sur le serveur source entraîne un décalage de croissance constant ou stagnant. Cela est dû au fait que la limitation limite la réplication des données du serveur source vers le serveur de réplication.

Pour vérifier la limitation de la bande passante, procédez comme suit :

1.    Ouvrez la console du service de migration d'applications.

2.    Choisissez Paramètres, puis sélectionnez le modèle de réplication sous Routage et limitation des données.

3.    Si l'option limitation de la bande passante du réseau est activée, vérifiez la valeur et comparez-la à la vitesse de réplication indiquée. Pour plus d'informations, consultez la section précédente Vérifier la vitesse de réplication et la bande passante disponible entre le serveur source et le sous-réseau de la zone de stockage.

Contrôles des ressources de la zone de transit

Vérifiez que le port TCP 1500 n'est pas bloqué en entrée

Assurez-vous que le port TCP 1500 n'est pas bloqué en entrée dans les groupes de sécurité du serveur de réplication.

**Remarque :**Vous devez effectuer les étapes suivantes dans la console Amazon Elastic Compute Cloud (Amazon EC2).

1.    Ouvrez la console Amazon EC2.

  1. Sélectionnez le groupe de sécurité associé à l'instance du réplicateur.

3.    Vérifiez que le port TCP 1500 entrant est autorisé sur le groupe de sécurité attaché.

Vérifiez le quota d'instantanés dans la région cible

Assurez-vous que votre compte AWS n'a pas atteint les limites de quota d'instantanés dans la région où vous répliquez les serveurs sources. Exécutez la commande AWS Command Line Interface (AWS CLI) suivante pour vérifier si vous avez atteint le quota d'instantanés dans la région. Dans l'exemple suivant, remplacez la région par votre région cible.

**Remarque :**Si vous recevez des erreurs lors de l'exécution des commandes de l'interface de ligne de commande AWS, assurez-vous que vous utilisez la version la plus récente de l'AWS CLI.

# aws service-quotas get-service-quota --service-code ebs --quota-code L-309BACF6 --region region --query "Quota.Value"  
# aws ec2 describe-snapshots --owner-ids self --region region --query "length(Snapshots)"

Informations connexes

Identification des goulots d'étranglement liés à la réplication lors de l'utilisation d'AWS Application Migration Service

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an