El SDS de PowerFlex cierra los conectores sin problemas de red
Summary: SDS informa que los conectores se cerraron sin ningún evento de red ni evidencia de problemas de red.
Symptoms
Escenario
El SDS informa que los procesos remotos (SDC, SDS, MDM) han cerrado conectores y que no se han observado eventos de NIC inactiva, tramas caídas o pérdida de paquetes.
Síntomas
El registro de eventos informa la pérdida de conectividad de SDS, ya sea un desacoplamiento o una reconexión:
2017-11-11 16:52:12.101 SDS_RECONNECTED INFO SDS: xyz_d35 (ID 67211111110089) reconnected 2017-11-11 16:52:13.690 MDM_DATA_FAILED CRITICAL The system is now in DATA FAILURE state. Some data is unavailable. 2017-11-11 16:52:15.791 MDM_DATA_DEGRADED ERROR The system is now in DEGRADED state.
Antes de eso, vemos errores como el siguiente en los seguimientos de SDS.
El SDS intentó enviar y tardó >1 segundo en responder:
11/11 16:52:04.527408 0x7ff0b19eaeb0:contNet_OscillationNotif:01720: Con 672cb111110099 - Oscillation of type 5 (RPC_LINGERED_1SEC) reported
El socket con un par se cerró desde el otro lado debido a que no recibieron nuestro envío de keepalive de nivel inferior:
11/11 16:52:06.241105 0x7ff0b19e1eb0:contNet_OscillationNotif:01720: Con a71d2b5d00000078 - Oscillation of type 1 (SOCKET_DOWN) reported
Otro ejemplo de esto es lo siguiente:
11/11 16:52:06.241224 0x7ff0b19e1eb0:contNet_OscillationNotif:01720: Con a71d2b3c00000057 - Oscillation of type 2 (IO_ERROR) reported
Otros indicadores:
Iteraciones
El temporizador keepalive de redes de nivel inferior de ScaleIO se mide en iteraciones, de 100 milisegundos de duración.
El tiempo de espera agotado de MDM-SDS> es de 20 iteraciones o 2 s, mientras que el tiempo de espera de mantenimiento de MDM-MDM es de 3 iteraciones o 300 ms.
Se superaron las veinte iteraciones:
11/11 16:52:11.685281 0x7ff752d1beb0:netPath_IsKaNeeded:01858: :: Connected Live CLIENT path 0x7ff6e2192a00 of portal 0x7ff6e2192900 net 0x7ff7480e1110 socket 210 inflights 0 didn't receive message for 20 iterations from 10.124.162.109:7072. Marking as down
Enchufes caídos Estas impresiones de seguimiento indican cuándo bajaron los zócalos:
11/11 16:52:09.787793 0x7ff752cf7eb0:tgtMgr_TgtOscCB:07696: Con 672cba7400000089 Network address 10.124.130.109 - Oscillation of type SOCKET_DOWN reported 11/11 16:52:11.685290 0x7ff752d1beb0:tgtMgr_TgtOscCB:07696: Con 672cba7400000089 Network address 10.124.162.109 - Oscillation of type RCV_KA_DISCONNECT reported 11/11 16:52:11.685308 0x7ff752cf7eb0:tgtMgr_TgtOscCB:07696: Con 672cba7400000089 Network address 10.124.162.109 - Oscillation of type SOCKET_DOWN reported
Esta impresión significa que el último conector de un SDS quedó inactivo y es el punto en el que el SDS se considera desconectado:
11/11 16:52:11.685319 0x7ff752cf7eb0:tgtMgr_TgtDisconnectCB:07818: Tgt: 672cba7400000089 ConId: 672cba7400000089
El MDM emitirá un comando addmdm para que el SDS se vuelva a conectar.
Falla de IO bloqueada
Sabemos que IO_FAULT_BLOCKED sucede cuando el SDS rechaza la I/O porque no puede acceder al MDM, pero esta información está incompleta.
El SDS envía conexiones persistentes al MDM cada segundo y, si el MDM no obtiene esto durante 5 segundos, se considera que se agotó el tiempo de espera del SDS y se marca como desacoplado.
El MDM envía al SDS un mensaje de "seguir trabajando" cada segundo. Cuando el SDS no recibe este mensaje durante 5 segundos, rechaza la I/O con IO_FAULT_BLOCKED:
11/11 16:52:12.007045 0x7ff0b0cdfeb0:ioh_NewRequest:05490: Write to comb f778038007f - Done rc is IO_FAULT_BLOCKED (Lba 6721528 8), volume 6e1a2f4a0000075d (dit) 11/11 16:52:12.008825 0x7ff0b0ec5eb0:ioh_NewRequest:05490: Write to comb f78803903fc - Done rc is IO_FAULT_BLOCKED (Lba 5031040 6), volume 6e1a2f4c0000075f (dit) 11/11 16:52:12.017262 0x7ff0b26daeb0:ioh_NewRequest:05490: Write to comb f768037003e - Done rc is IO_FAULT_BLOCKED (Lba 15106144 16), volume 6e1a2f490000075c (dit)
Impacto
Pérdida de conectividad de SDS
Durante el estado de data_degraded o el modo de mantenimiento instantáneo, esto puede causar DU.
Cause
La causa de la falla de I/O en este caso de ejemplo fue que la concesión del SDS (5 s) no había vencido, pero el tiempo de espera de red de nivel inferior (2 s) sí lo había hecho.
La causa raíz es una o más de las siguientes razones:
1- Problemas de TCP/red
R- Es probable que esto se manifieste con las retransmisiones de TCP, lo que indica problemas de configuración/hardware. (Problemas de cable, NIC, switch, etc.) como se ve en la salida de
sar -n ETCP 1
Que da como resultado:
Linux 3.10.0-693.5.2.el7.x86_64 (SIO-DCOE-96O-3) 12/13/2017 _x86_64_ (48 CPU) 04:33:44 PM atmptf/s estres/s retrans/s isegerr/s orsts/s 04:33:45 PM 0.00 0.00 50.00 0.00 0.00 04:33:46 PM 2.00 0.00 75.00 0.00 0.00 04:33:47 PM 0.00 0.00 223.00 0.00 0.00 04:33:48 PM 0.00 0.00 106.00 0.00 0.00 04:33:49 PM 2.00 0.00 58.00 0.00 0.00 04:33:50 PM 0.00 0.00 5.00 0.00 0.00 04:33:51 PM 0.00 0.00 7.00 0.00 0.00 04:33:52 PM 2.00 0.00 2.00 0.00 0.00 04:33:53 PM 0.00 0.00 1.00 0.00 0.00 ^C 04:33:53 PM 0.00 0.00 0.00 0.00 0.00 Average: 0.65 0.00 99.00 0.00 0.00
Para referencia:
- Verde = un solo dígito/s
- Amarillo = altos de dos dígitos hasta 50/s
- Rojo = >50/s
B-En el caso de distribuciones Linux más antiguas, como la SusE 11 SP3 en nuestras SVM, se pueden monitorear las retransmisiones de red con el siguiente comando:
watch -d -n 2 "netstat -s |grep retrans"
El resultado es como se muestra a continuación, resaltando los caracteres que se actualizaron durante el último intervalo:
Every 2.0s: netstat -s |grep retrans Wed Dec 13 09:55:10 2017
1244070 segments retransmited
2- Problemas de CPU, inanición de procesos.
Esto se manifiesta como una pausa simultánea en los seguimientos de cada componente de SIO, con muchos conectores que se cierran como las primeras líneas del seguimiento tras la reanudación.
LIA, SDS, MDM/TB, SDC/messages muestran la brecha.
El seguimiento de LIA, por ejemplo, muestra el cierre de los conectores de LIA→SDS después de un tiempo de espera agotado de 3 s (30 iteraciones x 100 ms):
11/11 16:52:11.597227 0x7f44c41c6eb0:netPath_IsKaNeeded:01858: :: Connected Live SERVER path 0x7f44c4195690 of portal 0x7f44c4192bb0 net 0x83b040 socket 8 inflights 0 didn't receive message for 30 iterations from 127.0.0.1:43228. Marking as down 11/11 16:52:12.031195 0x7f44c419eeb0:liaNet_DisconnectedNotif:01553: Con aed disconnected 11/11 16:52:12.158383 0x7f44c419eeb0:liaNet_ConnectedNotif:01483: Con aed connected
3- Tal vez tengamos un error en algún lugar de SIO. Es probable que un subproceso que no es de red esté sosteniendo una CPU y no permita que se ejecute algo más, etc.
Resolution
Solución alternativa
No hay una solución alternativa general
Versiones afectadas
Todos
Problema corregido en la versión
N/D