Dell Unity/VNX: Pérdida temporal aleatoria de conexión o degradación del rendimiento en hosts ESXi desde la versión 5.5 u2 y posteriores (corregible por el usuario)
Summary: Los arreglos, las redes o los fabrics muy cargados pueden ralentizar los comandos de ATS lo suficiente como para que el arreglo devuelva una condición de comprobación de comparación errónea en un comando de ATS que ESXi no espera. Debido a este error de comparación de ATS en una ranura de latido de VMFS, el host ESXi intenta recuperar el control del dispositivo. Para ello, el host emite un restablecimiento de dispositivo SCSI en el LUN que contiene el VMFS. Se anulan todas las I/O activas en este LUN y se restablece el dispositivo SCSI. Se muestra una pérdida temporal de conectividad en los registros de VMkernel. ...
Symptoms
ESCENARIO:
- Actualización del host a ESXi 5.5, actualización 2 o ESXi 6.0
- Uno o más hosts ESXi pierden la conexión con el almacén de datos VMFS durante un breve período de tiempo. Es posible que cualquier máquina virtual del almacén de datos se bloquee o tenga errores de I/O.
- Debido a un error de comparación de un conjunto y prueba atómicos (ATS) en una ranura de latido de VMFS, el host ESXi intenta recuperar el control del dispositivo mediante la emisión de un restablecimiento del dispositivo SCSI en el LUN que contiene el VMFS.
- Se anularán todas las I/O activas en este LUN y se restablecerá el dispositivo SCSI.
- Se muestra una pérdida temporal de conectividad en los registros de VMkernel.
La comparación errónea de ATS puede ocurrir tanto con NMP como con PowerPath.
En /var/log/vmkernel.log aparecen mensajes de error que indican un error de comparación de ATS similar a este:
2015-11-20T22:12:47.194Z cpu13:33467)ScsiDeviceIO: 2645: Cmd(0x439dd0d7c400) 0x89, CmdSN 0x2f3dd6 from world 3937473 to dev "naa.50002ac0049412fa" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0xe 0x1d 0x0.
Otros problemas que pueden ocurrir:
- Hosts que se desconectan de vSphere vCenter
- Máquinas virtuales que se bloquean en operaciones de I/O
Cause
Este problema se ha observado en arreglos, redes o fabrics que están lo suficientemente sobrecargados como para que los hosts cancelen las solicitudes de I/O.
Varios proveedores de arreglos (incluido Dell) tienen problemas con la característica de latido ATS que se introdujo en ESXi 5.5u2.
NOTA: Según el 326437 de la base de conocimientos de Broadcom (VMware) (enlace externo), este problema afecta a las versiones de ESXi VMware ESXi 5.5.x y VMware ESXi 6.0.x, ya que no proporcionan todas las versiones específicas; por lo tanto, esta base de conocimientos supone que todos los hosts ESXi con la versión 5.5u2 en adelante y todas las versiones de ESXi 6.0 se ven afectadas.
Un host indica su actividad mediante la ejecución periódica de I/O a su latido en un volumen determinado. Por lo tanto, si no se observa actividad en la ranura de latido del host durante un período, podemos concluir que el host ha perdido conectividad con el volumen.
Las I/O de latido de ATS tienen un valor de tiempo de espera muy bajo que puede provocar desconexiones del host e interrupciones de las aplicaciones, lo que se traduce en pérdida de conexión a los discos o degradación del rendimiento en los hosts.
A continuación, el host registra el error de comparación en la ranura de latido y anula todas las I/O activas en el LUN a medida que emite el restablecimiento. Todas las I/O pendientes en este LUN fallarán con detección de host 8 (H:0x8 restablecimiento de SCSI).
Resolution
Si se observa esta condición, la solución temporal recomendada es deshabilitar el mecanismo de latido de ATS de VAAI. Consulte el artículo de la base de conocimientos de Broadcom (VMware) 326437 (enlace externo) para obtener más información. La deshabilitación del mecanismo de latido de ATS revertirá el host al modo heredado. Una vez que se haya abordado la carga, vuelva a habilitar el mecanismo de latido de ATS.
Póngase en contacto con VMware para confirmar el problema o proporcione un ESXi emcgrab con vmsupport para confirmarlo. La deshabilitación de la funcionalidad latido de ATS de VAAI en el servidor ESX SOLO se recomienda para los clientes afectados hasta que se puedan solucionar los problemas de carga.
Additional Information
Los registros de Unity se pueden utilizar para identificar este tipo particular de anulaciones (clave de detección = 0e, ASC = 1d, ASCQ = 00)
La ubicación del registro en los registros extraídos es:
Para comprobar los registros, extraiga todos los registros de c4_safe_ktrace.log* en la ubicación anterior y, a continuación, busque "SK = 0x0e, ASC/Q = 0x1d00".
Ejemplo con un sistema linux o similar:
grep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.
Si los registros de ktrace no se extraen, simplemente use zgrep:
zgrep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.