

# Cómo solucionar problemas de controladores PV en instancias de Windows
<a name="pvdrivers-troubleshooting"></a>

A continuación, se describen las soluciones a los problemas que puedan surgir con las imágenes de Amazon EC2 y los controladores de PV anteriores.

**Topics**
+ [Windows Server 2012 R2 pierde la conexión de red y almacenamiento después de volver a arrancar la instancia](#server2012R2-instance-unavailable)
+ [TCP Offloading](#citrix-tcp-offloading)
+ [Sincronización horaria](#citrix-time-sync)
+ [Las cargas de trabajo que aprovechan más de 20 000 IOPS de disco se degradan debido a cuellos de botella de CPU](#pvdriver-troubleshooting-cpu-bottlenecks)

## Windows Server 2012 R2 pierde la conexión de red y almacenamiento después de volver a arrancar la instancia
<a name="server2012R2-instance-unavailable"></a>

**importante**  
Este problema solo se produce con las AMI disponibles antes de septiembre de 2014.

Las imágenes de máquina de Amazon (AMI) para Windows Server 2012 R2 que se pusieron a disposición de los usuarios antes del 10 de septiembre de 2014 pueden perder la conexión de red y de almacenamiento tras reiniciar la instancia. El error del registro del sistema de la Consola de administración de AWS indica: “Difficulty detecting PV driver details for Console Output”. La pérdida de conexión se debe a la característica Plug and Play Cleanup. Esta característica busca y deshabilita los dispositivos inactivos del sistema cada 30 días. La característica identifica incorrectamente el dispositivo de red de EC2 en estado inactivo y lo elimina del sistema. Cuando ocurre, la instancia pierde la conexión de red después de arranque.

En los sistemas que sospeche que pueden verse afectados por este problema, puede descargar y ejecutar una actualización in situ del controlador. Si no consigue llevar a cabo la actualización in situ, puede ejecutar un script ayudante. El script determina si la instancia está afectada. Si lo está, y el dispositivo de red de Amazon EC2 no se ha eliminado, el script deshabilita el análisis de Plug and Play Cleanup. Si el dispositivo de red se ha eliminado, el script repara el dispositivo, deshabilita el análisis de Plug and Play Cleanup y permite que la instancia arranque con la conexión de red habilitada.

**Topics**
+ [Elegir cómo solucionar problemas](#choose-fix)
+ [Método 1: Redes mejoradas](#plug-n-play-fix-method1)
+ [Método 2: Configuración del Registro](#plug-n-play-fix-method2)
+ [Ejecutar el script de corrección activa de errores](#plug-n-play-script)

### Elegir cómo solucionar problemas
<a name="choose-fix"></a>

Existen dos métodos para restaurar la conexión de red y almacenamiento en una instancia que se ha visto afectada por este problema. Elija uno de los siguientes métodos:


| Método | Requisitos previos | Información general del procedimiento | 
| --- | --- | --- | 
| Método 1: Redes mejoradas | Las redes mejoradas solo están disponibles en una nube privada virtual (VPC) que requiere un tipo de instancia C3. Si el servidor no utiliza el tipo de instancia C3, debe cambiarla temporalmente. | Puede cambiar el tipo de instancia de servidor a C3. Las redes mejoradas le permiten conectarse a la instancia afectada y corregir el problema. Después de corregir el problema, cambie la instancia al tipo de instancia original de nuevo. Este método es generalmente más rápido que el método 2 y es menos probable que dé un error del usuario. Incurrirá en gastos adicionales mientras que ejecute la instancia C3. | 
| Método 2: Configuración del Registro | Capacidad para crear u obtener acceso a un servidor secundario. Capacidad para cambiar la configuración del Registro. | Separe el volumen raíz de la instancia afectada, adjúntelo a una instancia diferente, conéctese y haga los cambios en el Registro. Incurrirá en gastos adicionales mientras que ejecute el servidor adicional. Este método es más lento que el 1, pero ha dado resultado en situaciones en las que el método 1 no sirvió para resolver el problema. | 

### Método 1: Redes mejoradas
<a name="plug-n-play-fix-method1"></a>

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Localice la instancia afectada. Selecciona la instancia, selecciona **Estado de instancia**y a continuación selecciona **Detener instancia**.
**aviso**  
Cuando detiene una instancia, se pierden los datos contenidos en los volúmenes de almacén de instancias. Para conservar estos datos, realice una copia de seguridad de ellos en un almacenamiento persistente.

1. Una vez que la instancia se haya detenido, cree una copia de seguridad. Selecciona la instancia, selecciona **Acciones**, luego selecciona **Imagen y plantillas** y a continuación selecciona **Crear imagen**.

1. [Cambie](ec2-instance-resize.md) el tipo de instancia por un tipo de instancia C3.

1. [Inicie](Stop_Start.md) la instancia.

1. Conéctese a la instancia mediante el Escritorio remoto y [descargue](https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/Latest/AWSPVDriver.zip) el paquete de actualización de los controladores AWS PV en la instancia.

1. Extraiga el contenido de la carpeta y ejecute `AWSPVDriverSetup.msi`.

   Después de ejecutar MSI, la instancia vuelve a arrancar automáticamente y actualiza los controladores. La instancia no estará disponible durante unos 15 minutos como máximo. 

1. Una vez finalizada la actualización y de que la instancia pase ambas comprobaciones de estado en la consola de Amazon EC2, conéctese a la instancia mediante el Escritorio remoto y compruebe que los nuevos controladores se han instalado. En Device Manager (Administrador de dispositivos), en **Storage Controllers** (Controladores de almacenamiento), localice ** PV Storage Host Adapter (Adaptador de host de almacenamiento de AWS)**. Verifique que la versión del controlador es la misma versión que la última enumerada en la tabla del historial de versiones del controlador. Para obtener más información, consulte [AWSHistorial de paquetes de controladores PV](xen-drivers-overview.md#pv-driver-history).

1. Detenga la instancia y devuélvala a su tipo de instancia original.

1. Inicie la instancia y continúe con el uso normal.

### Método 2: Configuración del Registro
<a name="plug-n-play-fix-method2"></a>

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Localice la instancia afectada. Selecciona la instancia, selecciona **Estado de instancia** y a continuación selecciona **Detener instancia**.
**aviso**  
Cuando detiene una instancia, se pierden los datos contenidos en los volúmenes de almacén de instancias. Para conservar estos datos, realice una copia de seguridad de ellos en un almacenamiento persistente.

1. Selecciona **iniciar instancias** y crea una instancia temporal de Windows Server 2008 o Windows Server 2012 en la misma zona de disponibilidad que la instancia afectada. No cree una instancia de Windows Server 2012 R2.
**importante**  
Si no crea la instancia en la misma zona de disponibilidad que la instancia afectada, no podrá adjuntar el volumen raíz de la instancia afectada a la nueva instancia.

1. En el panel de navegación, elija **Volumes (Volúmenes)**.

1. Localice el volumen raíz de la instancia afectada. Desasocie el volumen y asócielo a la instancia temporal que ha creado antes. Adjúntelo con el nombre de dispositivo predeterminado (xvdf).

1. Utilice el Escritorio remoto para conectarse a la instancia temporal y, a continuación, utilice la utilidad de Administración de discos para hacer que el volumen esté disponible para su uso.

1. En la instancia temporal, abra el cuadro de diálogo **Ejecutar**, escriba **regedit** y pulse Intro.

1. En el panel de navegación de Registry Editor (Editor del registro), elija **HKEY\$1LOCAL\$1MACHINE** y en el menú **File** (Archivo), elija **Load Hive** (Cargar Hive).

1. En el cuadro de diálogo **Load Hive** (Cargar Hive), desplácese a *Affected Volume* (Volumen afectado) \$1Windows\$1System32\$1config\$1System y escriba un nombre temporal en el cuadro de diálogo **Key Name** (Nombre de clave). Por ejemplo, escriba OldSys.

1. En el panel de navegación del Editor del Registro, localice las claves siguientes:

    **HKEY\$1LOCAL\$1MACHINE\$1*su\$1nombre\$1de\$1clave\$1temporal*\$1ControlSet001\$1Control\$1Class\$14d36e97d-e325-11ce-bfc1-08002be10318** 

    **HKEY\$1LOCAL\$1MACHINE\$1*su\$1nombre\$1de\$1clave\$1temporal*\$1ControlSet001\$1Control\$1Class\$14d36e96a-e325-11ce-bfc1-08002be10318** 

1. Para cada clave, haga doble clic en **UpperFilters**, escriba un valor para XENFILT y elija **Aceptar**.  
![\[Clave del Registro del volumen afectado.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/troubleshooting-server2012R2-regedit.png)

1. Localice la siguiente clave:

    **HKEY\$1LOCAL\$1MACHINE\$1*su\$1nombre\$1de\$1clave\$1temporal*\$1ControlSet001\$1Services\$1XENBUS\$1Parameters** 

1. Cree una nueva cadena (REG\$1SZ) con el nombre ActiveDevice y el valor siguiente:

    **PCI\$1VEN\$15853&DEV\$10001&SUBSYS\$100015853&REV\$101** 

1. Localice la siguiente clave:

    **HKEY\$1LOCAL\$1MACHINE\$1*su\$1nombre\$1de\$1clave\$1temporal*\$1ControlSet001\$1Services\$1XENBUS** 

1. Cambie **Count** de 0 a 1.

1. Localice y elimine las siguientes claves:

    **HKEY\$1LOCAL\$1MACHINE\$1*su\$1nombre\$1de\$1clave\$1temporal*\$1ControlSet001\$1Services\$1xenvbd\$1StartOverride** 

    **HKEY\$1LOCAL\$1MACHINE \$1*su\$1nombre\$1de\$1clave\$1temporal*\$1ControlSet001\$1Services\$1xenfilt\$1StartOverride** 

1. En el panel de navegación del Editor del Registro, elija la clave temporal que creó cuando abrió el Editor del Registro por primera vez.

1. En el menú **Archivo**, elija **Descargar Hive**.

1. En la utilidad de Administración de discos, elija la unidad que adjuntó anteriormente, abra el menú contextual (clic con el botón derecho) y elija **Sin conexión**.

1. En la consola de Amazon EC2, separe el volumen afectado de la instancia temporal y vuelva a adjuntarlo a la instancia de Windows Server 2012 R2 con el nombre de dispositivo /dev/sda1. Debe especificar este nombre de dispositivo para designar el volumen como volumen raíz.

1. [Inicie](Stop_Start.md) la instancia.

1. Conéctese a la instancia mediante el Escritorio remoto y [descargue](https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/Latest/AWSPVDriver.zip) el paquete de actualización de los controladores AWS PV en la instancia.

1. Extraiga el contenido de la carpeta y ejecute `AWSPVDriverSetup.msi`.

   Después de ejecutar MSI, la instancia vuelve a arrancar automáticamente y actualiza los controladores. La instancia no estará disponible durante unos 15 minutos como máximo. 

1. Una vez finalizada la actualización y de que la instancia pase ambas comprobaciones de estado en la consola de Amazon EC2, conéctese a la instancia mediante el Escritorio remoto y compruebe que los nuevos controladores se han instalado. En Device Manager (Administrador de dispositivos), en **Storage Controllers** (Controladores de almacenamiento), localice ** PV Storage Host Adapter (Adaptador de host de almacenamiento de AWS)**. Verifique que la versión del controlador es la misma versión que la última enumerada en la tabla del historial de versiones del controlador. Para obtener más información, consulte [AWSHistorial de paquetes de controladores PV](xen-drivers-overview.md#pv-driver-history).

1. Elimine o detenga la instancia temporal que creó en este procedimiento.

### Ejecutar el script de corrección activa de errores
<a name="plug-n-play-script"></a>

Si no consigue llevar a cabo la actualización in situ del controlador ni migrar a una nueva instancia, puede ejecutar el script de corrección para corregir los problemas que ha causado la tarea de Plug and Play Cleanup.

**Para ejecutar el script de corrección activa de errores**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Selecciona el nombre de la instancia para la que quieres ejecutar el script de corrección activa de errores. Selecciona **Estado de instancia** y a continuación selecciona **Detener instancia**.
**aviso**  
Cuando detiene una instancia, se pierden los datos contenidos en los volúmenes de almacén de instancias. Para conservar estos datos, realice una copia de seguridad de ellos en un almacenamiento persistente.

1. Una vez que la instancia se haya detenido, cree una copia de seguridad. Selecciona la instancia, selecciona **Acciones**, luego selecciona **Imagen y plantillas** y a continuación selecciona **Crear imagen**.

1. Selecciona **Estado de instancia** y a continuación selecciona **Iniciar instancia**.

1. Conéctese a la instancia mediante el Escritorio remoto y [descargue](https://s3.amazonaws.com/ec2-downloads-windows/Scripts/RemediateDriverIssue.zip) la carpeta RemediateDriverIssue.zip en la instancia.

1. Extraiga el contenido de la carpeta.

1. Ejecute el script según las instrucciones del archivo Readme.txt. El archivo se encuentra en el carpeta en la que ha descomprimido RemediateDriverIssue.zip.

## TCP Offloading
<a name="citrix-tcp-offloading"></a>

**importante**  
Este problema no se aplica a las instancias que ejecutan los controladores de red AWS PV o Intel.

De manera predeterminada, TCP offloading está habilitado para los controladores Citrix PV en las AMI de Windows. Si encuentra algún error en el transporte o la transmisión de paquetes (visibles en el Monitor de rendimiento de Windows) —por ejemplo, cuando ejecuta determinadas cargas de SQL—, tal vez necesite deshabilitar esta característica.

**aviso**  
Deshabilitar TCP offloading puede reducir el rendimiento de red de la instancia.

**Para deshabilitar TCP offloading para Windows Server 2012 y 2008**

1. Conéctese a la instancia e inicie sesión como administrador local.

1. Si utiliza Windows Server 2012, presione **Ctrl\$1Esc** para obtener acceso a la pantalla **Inicio** y, a continuación, elija **Panel de control**. Si utiliza Windows Server 2008, elija **Inicio** y seleccione **Panel de control**.

1. Elija **Red e Internet** y, a continuación, **Centro de redes y recursos compartidos**.

1. Elija **Cambiar configuración del adaptador**.

1. Haga clic con el botón derecho en **Citrix PV Ethernet Adapter \$10** y seleccione **Propiedades**.  
![\[Propiedades de conexión del área local.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/citrix-local-area-conn.png)

1. En el cuadro de diálogo **Propiedades de conexión de área local**, elija **Configurar** para abrir el cuadro de diálogo **Propiedades de Citrix PV Ethernet Adapter \$10**.

1. En la pestaña **Opciones avanzadas**, deshabilite todas las propiedades excepto **Corregir valor de suma de comprobación de TCP/UDP**. Para deshabilitar una propiedad, selecciónela en **Propiedad** y elija **Desactivado** en **Valor**.

1. Seleccione **OK**.

1. En la ventana del símbolo del sistema, ejecute el siguiente comando.

   ```
   netsh int ip set global taskoffload=disabled
   netsh int tcp set global chimney=disabled
   netsh int tcp set global rss=disabled
   netsh int tcp set global netdma=disabled
   ```

1. Reinicie la instancia.

## Sincronización horaria
<a name="citrix-time-sync"></a>

Antes de la versión 2013.02.13 Windows AMI, Citrix Xen Guest Agent podía establecer la hora del sistema incorrectamente. Esto puede hacer que caduque la concesión de DHCP. Si tiene problemas de conexión con la instancia, es posible que tenga que actualizar el agente.

Para determinar si tiene Citrix Xen guest agent actualizado, compruebe si el archivo `C:\Program Files\Citrix\XenGuestAgent.exe` es de marzo de 2013. Si la fecha de este archivo es anterior, actualice el servicio Citrix Xen Guest Agent. Para obtener más información, consulte [Actualizar el servicio Guest Agent de Citrix Xen](Upgrading_PV_drivers.md#citrix-pv-guest-agent-upgrade).

## Las cargas de trabajo que aprovechan más de 20 000 IOPS de disco se degradan debido a cuellos de botella de CPU
<a name="pvdriver-troubleshooting-cpu-bottlenecks"></a>

Puede verse afectado por este problema si utiliza instancias de Windows que ejecutan controladores PV de AWS que aprovechan más de 20 000 IOPS y se presenta un código de comprobación de errores `0x9E: USER_MODE_HEALTH_MONITOR`.

Las lecturas y las escrituras de disco (E/S) en los controladores de AWS PV se realizan en dos fases: **Preparación de E/S** y **Finalización de E/S**. De forma predeterminada, la fase de preparación se ejecuta en un único core arbitrario. La fase de finalización se ejecuta en el core `0`. La cantidad de cálculo necesaria para procesar una E/S varía según su tamaño y otras propiedades. Algunas E/S usan más cálculo en la fase de preparación y otros en la fase de finalización. Cuando una instancia impulsa más de 20 000 IOPS, la fase de preparación o finalización puede dar lugar a un cuello de botella, en el que la CPU en la que se ejecuta tiene una capacidad del 100 %. El hecho de que la fase de preparación o finalización se convierta o no en un cuello de botella depende de las propiedades de las E/S utilizada por la aplicación.

A partir de los controladores AWS PV 8.4.0, la carga de la fase de preparación y la fase de finalización se pueden distribuir entre varios núcleos, lo que elimina los cuellos de botella. Cada aplicación utiliza diferentes propiedades de E/S. Por lo tanto, la aplicación de una de las siguientes configuraciones puede aumentar, disminuir o no afectar el rendimiento de la aplicación. Después de aplicar cualquiera de estas configuraciones, monitoree la aplicación para comprobar que cumple con el rendimiento que usted desea.

1. 

**Requisitos previos**

   Antes de comenzar este procedimiento de solución de problemas, compruebe los siguientes requisitos previos:
   + La instancia utiliza controladores AWS PV versión 8.4.0 o posteriores. Para actualizar, consulte [Actualizar controladores PV en instancias de Windows de EC2](Upgrading_PV_drivers.md).
   + Tiene acceso de RDP a la instancia. Para obtener información sobre los pasos para conectarse a la instancia de Windows mediante RDP, consulte [Conexión a la instancia de Windows mediante un cliente RDP](connect-rdp.md).
   + Tiene acceso de administrador en la instancia.

1. 

**Observar la carga de CPU en la instancia**

   Puede usar el Administrador de tareas de Windows para ver la carga en cada CPU y determinar posibles cuellos de botella en E/S del disco.

   1. Compruebe que la aplicación se está ejecutando y maneja tráfico similar a la carga de trabajo de producción.

   1. Conectarse a la instancia mediante RDP

   1. Elija el menú **Start (Iniciar)** en la instancia.

   1. Introduzca `Task Manager` en el menú **Start (Iniciar)** para abrir el Administrador de tareas.

   1. Si el Administrador de tareas muestra la vista de resumen, elija **More details (Más detalles)** para expandir la vista detallada.

   1. Seleccione la pestaña **Performance (Desempeño)**.

   1. Seleccione **CPU** en el panel izquierdo.

   1. Haga clic con el botón derecho en el gráfico del panel principal y seleccione **Change graph to (Cambiar gráfico a)**>**Logical processors (Procesadores lógicos)** para mostrar cada core individual.

   1. Dependiendo de cuántos cores haya en la instancia, puede ver líneas que muestran la carga de CPU a lo largo del tiempo o que simplemente vea un número.
      + Si ve gráficos que muestran la carga a lo largo del tiempo, busque CPU donde la caja esté casi completamente sombreada.
      + Si ve un número en cada core, busque cores que muestren constantemente un 95 % o más.

   1. Tenga en cuenta si el core `0` o un core diferente presentan una carga pesada.

1. 

**Elegir la configuración a aplicar**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/pvdrivers-troubleshooting.html)
**nota**  
Recomendamos que no distribuya la preparación de E/S sin distribuir también la finalización de E/S (configuración `DpcRedirection` sin configuración `NotifierDistributed`) porque la fase de finalización es sensible a la sobrecarga por parte de la fase de preparación cuando la fase de preparación se está ejecutando en paralelo.

**Valores de clave del registro**
   + *NotifierDistributed*

     Valor `0` o no presente —. La fase de finalización se ejecutará en `0`.

     Valor `1` —. El controlador elige ejecutar la fase de finalización o el core `0` o un core adicional por disco conectado.

     Valor `2` —. El controlador ejecuta la fase de finalización en un core adicional por disco conectado.
   + *DpcRedirection*

     Valor `0` o no presente —. La fase de preparación se ejecutará en un único core arbitrario.

     Valor `1` —. La fase de preparación se distribuye entre varios cores.

   

   

**Configuración predeterminada**

   Aplique la configuración predeterminada con las versiones del controlador AWS PV anteriores a la versión 8.4.0, o si se observa una degradación del rendimiento o de la estabilidad después de aplicar una de las otras configuraciones que se detallan en esta sección.

   1. Conectarse a la instancia mediante RDP

   1. Abra un nuevo símbolo del sistema de PowerShell como administrador.

   1. Ejecute los siguientes comandos para quitar las claves de registro `NotifierDistributed` y `DpcRedirection`.

      ```
      Remove-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Name NotifierDistributed
      ```

      ```
      Remove-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Name DpcRedirection
      ```

   1. Reinicie su instancia.

   

   

**Permitir al controlador elegir si desea distribuir la finalización**

   Establezca la clave de registro `NotiferDistributed` para permitir que el controlador de almacenamiento PV elija si desea distribuir o no la finalización de E/S.

   1. Conectarse a la instancia mediante RDP

   1. Abra un nuevo símbolo del sistema de PowerShell como administrador.

   1. Ejecute el siguiente comando para establecer la clave de registro `NotiferDistributed`:

      ```
      Set-ItemProperty -Type DWORD -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Value 0x00000001 -Name NotifierDistributed
      ```

   1. Reinicie su instancia.

   

   

**Distribuir tanto la preparación como la finalización**

   Establecer las claves de registro `NotifierDistributed` y `DpcRedirection` para distribuir siempre las fases de preparación y finalización.

   1. Conectarse a la instancia mediante RDP

   1. Abra un nuevo símbolo del sistema de PowerShell como administrador.

   1. Ejecute los siguientes comandos para establecer las claves de registro `NotifierDistributed` y `DpcRedirection`.

      ```
      Set-ItemProperty -Type DWORD -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Value 0x00000002 -Name NotifierDistributed
      ```

      ```
      Set-ItemProperty -Type DWORD -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Value 0x00000001 -Name DpcRedirection
      ```

   1. Reinicie su instancia.