PowerFlex 3.x: Durante NDU, el SDS entra en una situación de pánico y detiene la actualización
Summary: Durante la NDU, es posible que el SDS experimente un estado de alarma gradual del kernel.
Symptoms
Una actualización de VxFlex OS 3.0.x.x a PowerFlex 3.5.x.x o 3.6.0.x
Un estado de alarma sucesivo del kernel del SDS impide que el sistema continúe con la actualización.
El proceso de SDS sigue entrando en estado de alarma y se reinicia con el siguiente seguimiento de la pila:
27/07 08:07:25.381223 Panic in file /data/build/workspace/ScaleIO-Common-Job/src/tgt/spef/l2p_sm/l2p_resolver/l2p_resolver_sync_services.c, line 1828, function Resolver_Inter_SyncUnmatchedVto, PID 133106.Panic Expression ALWAYS_ASSERT PANIC_ID_tgt_1588256010820.
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(mosDbg_PanicPrepare+0x13a) [0x93b62a]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(Resolver_Inter_SyncUnmatchedVto+0x69c) [0x643ddc]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(Resolver_Inter_SyncOffsetData+0xd2) [0x644082]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(Resolver_SyncOffset+0x3e6) [0x6446f6]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(Resolver_Sync+0x1e4) [0x645c54]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(L2PGateway_Inter_Sync+0x59) [0x6542d9]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(L2PGateway_Inter_UpdateRamCopyEx+0x163) [0x901ba3]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(L2PGateway_Inter_Update+0x4f7) [0x9060f7]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(L2PGateway_Sync+0x64) [0x9073d4]
/opt/emc/scaleio/sds/bin/sds-3.5.1100.107(feIo_L2PGatewayUpdate+0x3d8) [0x90cf98]
Cause
Durante una reconstrucción hacia atrás del sistema, al salir del modo de mantenimiento instantáneo (IMM), se envía y recibe un mensaje de sincronización de datos incorrecto en los SDS primario (PRI) y secundario (SEC). Por lo tanto, el SEC SDS reinicia el servicio abruptamente para evitar posibles incoherencias en los datos.
Es una situación poco frecuente durante IMM en la que un comando de I/O de escritura fallido puede conducir falsamente a una comprobación de integridad interna (comprobación de integridad de datos interna que hace que el servicio SDS se bloquee) durante la reconstrucción después de que se completa la salida de IMM. El comando de I/O de escritura fallido ocurre antes de Enter IMM y durante IMM se envió otra I/O a una compensación cercana en el mismo conjunto de datos.
Resolution
Actualización automatizada mediante gateway
- Detenga la actualización mediante la interfaz de usuario de gateway.
- Quite el SDS fallido del clúster y, a continuación, vuelva a agregarlo.
- Reinicie la actualización desde la interfaz de usuario de IM Gateway y seleccione la casilla de verificación "Allow upgrade even when already in Upgrade state"; la actualización debe comenzar de nuevo y continuar con los componentes que aún no se actualizan:
Actualización manual
Opción #1
- Si el mismo dispositivo falla en cada una de las instancias, desconecte ese dispositivo. Si no es así, elimine todos los dispositivos SDS del SDS.
- Espere a que se complete la reconstrucción.
- Una vez quitado, actualice el SDS y vuelva a agregarlo al clúster.
- Quite el siguiente SDS que se debe actualizar del clúster, lo que activará un reequilibrio.
- Una vez quitado, actualice el SDS y vuelva a agregarlo al clúster.
- Deje que el rebalanceo continúe hasta que el sistema tenga capacidad suficiente para eliminar el siguiente SDS que se deba actualizar. Repita el proceso hasta que se actualicen todos los SDS.
Opción #2
Utilice el modo de mantenimiento protegido (PMM) en lugar de IMM para la creación de una tercera copia completa. El problema no debería ocurrir con PMM, por ejemplo, el bucle de bloqueo del servicio ocurre porque el SDS se bloquea durante la reconstrucción, vuelve a activarse y se repite. Una forma de evitar esto es desactivar el SDS que se bloquea durante un período suficientemente largo para que el MDM indique una reconstrucción hacia adelante en lugar de una hacia atrás. Una vez que se reconstruye el conjunto de datos problemático, el SDS se puede volver a activar correctamente.
Versiones afectadas:
VxFlex OS 3.0.x.x
PowerFlex 3.5.x.x
PowerFlex 3.6.0.x-3.6.1.x
Solucionado en la versión:
PowerFlex 3.6.2