¿Cómo puedo solucionar problemas de retraso o de tareas pendientes de replicación en mi servidor de origen Windows para el Application Migration Service?

12 minutos de lectura
0

Observo un retraso o tareas pendientes en mi servidor de origen Windows en la replicación de datos mediante AWS Application Migration Service.

Descripción breve

Estos son los factores que contribuyen al retraso y la demora de replicación cuando se replican datos de un servidor de origen a un servidor de destino:

  • Velocidad de enlace ascendente y disponibilidad de ancho de banda de la red: La velocidad de la conexión de red entre el servidor de origen y el servidor de replicación puede tener un impacto significativo en el rendimiento de la replicación. Las conexiones lentas pueden impedir que se complete el proceso de replicación. Además, un ancho de banda limitado restringe la cantidad de datos que se pueden replicar en un tiempo determinado.
  • Cambios en el disco durante la replicación: Durante el proceso de replicación, el servidor de origen puede seguir escribiendo nuevos datos en los discos. Si se produce un fuerte aumento de la cantidad de datos nuevos que escribe el servidor de origen, los datos se acumulan y generan una gran cantidad de tareas pendientes. El agente de replicación de AWS debe enviar estas tareas pendientes en la sincronización inicial. Cuantas más tareas pendientes haya, más tardará en completarse la replicación de datos.
  • Velocidad de E/S de los discos de almacenamiento: Durante el proceso de replicación, el agente de replicación de AWS lee los bloques de almacenamiento de los discos y transmite los datos al servidor de replicación. Sin embargo, una alta latencia de lectura en los discos del servidor de origen podría afectar a la velocidad y eficacia de la replicación de datos. Los discos de baja velocidad provocan retrasos y los discos de alta velocidad mejoran la velocidad de replicación.
  • Carga en el servidor de origen: La contención de recursos en el servidor de origen puede provocar una alta utilización de la CPU, consumo de memoria, demoras de E/S u otras limitaciones de recursos. Por ejemplo, una utilización elevada de la CPU puede provocar cuellos de botella en la replicación. Esto se debe a que el sistema se esfuerza por asignar recursos de CPU entre el agente de replicación de AWS y otros procesos. Del mismo modo, un consumo elevado de memoria puede hacer que el sistema traslade las páginas de memoria al disco. Esto provoca un aumento de la demora de E/S y una ralentización del proceso de replicación.
  • Recursos de replicación infradotados: Los volúmenes transitorios de Amazon Elastic Block Store (Amazon EBS) con menor rendimiento e IOPS pueden provocar una alta latencia de lectura y escritura, así como colas más largas. Todos estos problemas afectan al rendimiento de la replicación. Además, un tipo de instancia de servidor de replicación con bajo rendimiento de red y ancho de banda de Amazon EBS provoca problemas de rendimiento en la replicación.

Resolución

Para determinar el motivo del retraso, primero realice comprobaciones en el servidor de origen. A continuación, realice comprobaciones en el área transitoria.

Comprobaciones del servidor de origen

Comprobar que el servidor de origen haya arrancado y esté en funcionamiento

Asegúrese de que el servidor de origen para la migración haya arrancado y esté en funcionamiento.

Comprobar que los procesos del agente de replicación de AWS se estén ejecutando

Ejecute el siguiente comando desde Powershell para enumerar los servicios del agente de replicación de AWS en ejecución:

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

La siguiente salida muestra los servicios predeterminados que se están ejecutando. Compruebe que el servicio AWSReplicationService (Servicio de replicación de AWS) principal esté en ejecución:

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

Como alternativa, pulse Windows + R y, a continuación, escriba services.msc y pulse Intro. Compruebe que el servicio AWSReplicationService (Servicio de replicación de AWS) esté en ejecución.

Comprobar las conexiones TCP activas

Comprobar que haya cinco conexiones de TCP activas establecidas con el servidor de replicación en el puerto 1500 de TCP.

Ejecute el siguiente comando:

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

Compruebe la salida del comando para ver las conexiones activas:

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

Utilizar el supervisor de recursos de Windows para comprobar el rendimiento del servidor de origen

El agente de replicación de AWS funciona con un núcleo de CPU a la vez. Si la utilización de la CPU es alta en el núcleo donde se ejecuta el agente de replicación de AWS, se ralentizará la replicación de datos. Para comprobar la utilización de la CPU, siga estos pasos:

1.    Utilice uno de los métodos siguientes para iniciar el supervisor de recursos de Windows:

  • En la pestaña Performance (Rendimiento) del administrador de tareas, elija Open Resource Monitor (Abrir supervisor de recursos).
  • En Control Panel (Panel de control), elija Administrative Tools (Herramientas administrativas), Resource Monitor (Monitor de recursos).
  • Ejecute resmon.exe desde la línea de comandos o PowerShell.
  • Elija el icono de Windows y, a continuación, introduzca resmon.exe.

2.    Compruebe la utilización que la CPU hace del núcleo de CPU en el que se ejecuta el agente de replicación de AWS.

  • Si la utilización de la CPU es elevada en ese núcleo, investigue qué proceso consume la mayor parte de la CPU.
  • El agente utiliza al menos el 5 % de la CPU. Asegúrese de que haya suficiente CPU disponible para que el agente realice la replicación de datos.

3.    Compruebe el rendimiento del disco en el servidor de origen.

Compruebe las métricas de escritura (B/seg) y de tiempo de respuesta.

Puede comprobar estas métricas en Disk Activity (Actividad del disco). Si el rendimiento de lectura en el disco de origen es bajo, el agente lee y replica menos datos. Observe cualquier aumento en las métricas de lectura y escritura del disco.

**Nota:**El ancho de banda requerido para transferir los datos replicados a través del puerto 1500 de TCP se basa en la velocidad de escritura del servidor de origen participante. Se recomienda tener un ancho de banda que sea al menos la suma de la velocidad de escritura promedio de todos los equipos de origen replicados.

4.    Compruebe si en el servidor de origen hay un pico de operaciones de escritura.

Para comprobar si hay operaciones de escritura enDisk Activity (Actividad del disco), busque Write (Escritura) (B/seg).

A medida que cambia la carga de trabajo, compruebe el rendimiento del disco periódicamente para determinar la carga de E/S. Si el rendimiento de escritura (MB/s) supera la cantidad de rendimiento de red proporcionada, se produce un retraso en la replicación.

**Nota:**Para calcular el ancho de banda requerido desde el servidor de origen hasta el servidor de replicación, consulte Calculating the required bandwidth for TCP Port 1500 (Cálculo del ancho de banda requerido para el puerto 1500 de TCP).

Si el servidor de origen realiza muchas operaciones de escritura y escribe a una velocidad superior a la de replicación, la demora sigue aumentando.

Comprobar la velocidad de replicación y el ancho de banda disponible desde el servidor de origen hasta la subred del área transitoria

Para obtener información sobre cómo ejecutar una prueba de velocidad, consulte How can I perform an SSL connectivity and bandwidth test? (¿Cómo puedo realizar una prueba de conectividad de SSL y ancho de banda?).

Comprobar si hay un servidor de origen que se haya apagado de forma inesperada

Si un servidor de origen se apaga de forma inesperada, el agente de replicación de AWS vuelve a analizar todos los discos después de que se reinicie el servidor. El agente de replicación de AWS vuelve a leer los discos y el retraso aumenta de manera constante hasta que se complete el nuevo análisis. Para más información, consulte Which Windows and Linux OSs support no-rescan upon reboot? (¿Qué sistemas operativos Windows y Linux admiten la opción de no volver a analizar al reiniciar?).

Para comprobar cómo se apagó el equipo de origen, siga estos pasos:

1.    Pulse Windows + R y, a continuación, escriba eventvwr.msc y pulse Intro.

2.    En Event Viewer (Visor de eventos), haga doble clic en Windows Logs (Registros de Windows) para expandirlo.

3.    Haga clic con el botón derecho en System (Sistema).

4.    Elija Filter Current Log (Filtrar registro actual).

5.    Elija la flecha de despliegue situada junto a Event sources (Orígenes de eventos) y, a continuación, elija USER32.

6.    En el **<All Event IDs>**campo, escriba 1074 y, a continuación, elija OK (Aceptar). Verá una lista de eventos Shutdown Type (Tipo de apagado) para el apagado y el reinicio en Event Viewer (Visor de eventos).

7.    Para ver las fechas y horas de todos los apagados inesperados del equipo, escriba 6008 en el **<All Event IDs>**campo y, a continuación, elija OK (Aceptar).

Compruebe que el puerto 1500 de TCP no tenga la salida bloqueada

1.    Asegúrese de que el puerto 1500 de TCP no tenga la salida bloqueada desde el servidor de origen hasta el servidor de replicación.

2.    Puede realizar un Telnet o TNC en la dirección IP de la instancia del replicador, como se muestra en los siguientes ejemplos:

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

3.    Asegúrese de que el firewall local permita la conectividad desde el servidor de origen hasta el servidor de replicación a través del puerto 443 de TCP. Para activar la conectividad en el firewall del sistema operativo, realice las siguientes acciones:

  • En el servidor de origen, abra la consola de Firewall de Windows.
  • En la consola, elija la opción Outbound Rules (Reglas de salida) del árbol.
  • En la tabla Outbound Rules (Reglas de salida), seleccione la regla relacionada con la conexión remota al puerto 1500. Compruebe que el estado Enabled (Habilitado) esté establecido en Yes (Sí).
  • Si el estado Enabled (Habilitado) de la regla es No, haga clic con el botón derecho y seleccione Enable Rule (Habilitar regla).

4.    Para permitir el tráfico a través del puerto 1500 de TCP, asegúrese de que su firewall corporativo permita esta conectividad.

**Nota:**También puede realizar la prueba de velocidad de SSL o la prueba iperf. Para obtener información, consulte How can I perform an SSL connectivity and bandwidth test? (¿Cómo puedo realizar una prueba de conectividad de SSL y ancho de banda?).

Comprobar que la limitación del ancho de banda está desactivada en la configuración de replicación del servidor de origen

Desactive la limitación del ancho de banda en la configuración de replicación del servidor de origen. La desactivación de la limitación del ancho de banda ayuda a mantener un ancho de banda suficiente para la transferencia de datos desde el servidor de origen hasta la subred del área transitoria.

Al activar la limitación del ancho de banda en el servidor de origen, se produce un retraso de crecimiento constante o estancado. Esto se debe a que la limitación restringe la replicación de datos desde el servidor de origen hasta el servidor de replicación.

Para comprobar la limitación del ancho de banda, siga estos pasos:

1.    Abra la consola del servicio Application Migration Service.

2.    Elija Settings y, a continuación, seleccione la plantilla de replicación en Data routing and throttling (Enrutamiento y limitación de datos).

3.    Si Throttle network bandwidth (Limitar ancho de banda de la red) está activado, compruebe el valor y compárelo con la velocidad de replicación que aparece en la lista. Para obtener más información, consulte la sección anterior Comprobar la velocidad de replicación y el ancho de banda disponible desde el servidor de origen hasta la subred del área transitoria.

Comprobación de los recursos del área transitoria

Compruebe que el puerto 1500 de TCP no tenga la entrada bloqueada

Asegúrese de que el puerto 1500 de TCP no tenga la entrada bloqueada para los grupos de seguridad del servidor de replicación.

**Nota:**Debe completar los siguientes pasos en la consola de Amazon Elastic Compute Cloud (Amazon EC2).

1.    Abra la consola de Amazon EC2.

2.    Seleccione el grupo de seguridad vinculado a la instancia del replicador.

3.    Compruebe que el puerto 1500 de TCP de entrada está permitido en el grupo de seguridad vinculado.

Comprobar la cuota de instantáneas en la región de destino

Asegúrese de que su cuenta de AWS no ha alcanzado los límites de cuota de instantáneas en la región en la que está replicando los servidores de origen. Ejecute el siguiente comando de la interfaz de la línea de comandos de AWS (AWS CLI) para comprobar si ha alcanzado la cuota de instantáneas en la región. En el siguiente ejemplo, sustituya la región por la región de destino.

**Nota:**Si recibe errores al ejecutar los comandos de la AWS CLI, asegúrese de utilizar la versión más reciente de la misma.

# 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)"

Información relacionada

Identificación de cuellos de botella en la replicación al utilizar el servicio AWS Application Migration Service

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año