PowerFlex 3.x: Während eines unterbrechungsfreien Upgrades tritt ein Fehler des SDS auf und das Upgrade wird abgebrochen
Summary: Während des unterbrechungsfreien Upgrades kann es beim SDS zu einem fortlaufenden Kernel-Fehler kommen.
Symptoms
Ein Upgrade von VxFlex OS 3.0.x.x auf PowerFlex 3.5.x.x oder 3.6.0.x
Eine fortlaufende Kernel-Panik des SDS verhindert, dass das System das Upgrade fortsetzen kann.
Der SDS-Prozess tritt immer wieder in einem Fehler auf und startet mit der folgenden Stapelüberwachung neu:
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
Während einer Rückwärtswiederherstellung des Systems beim Beenden des IMM (Instant Maintenance Mode) wird eine falsche Datensynchronisationsmeldung auf dem primären (PRI) und sekundären (SEC) SDS gesendet und empfangen. Daher startet der SEC SDS den Dienst abrupt neu, um mögliche Dateninkonsistenzen zu vermeiden.
Es ist ein seltenes Szenario während des IMM, in dem ein fehlgeschlagener Schreibbefehl IO fälschlicherweise zu einer internen Integritätsprüfung (interne Datenintegritätsprüfung, die zum Absturz des SDS-Service führt) während des erneuten Aufbaus nach Abschluss des Exit IMM führen kann. Der fehlgeschlagene Schreibbefehl IO erfolgt vor Enter IMM und während des IMM wurde ein anderer IO im selben Datenvolumen an einen nahe gelegenen Offset gesendet.
Resolution
Automatisiertes Upgrade über Gateway
- Beenden Sie das Upgrade über die Gateway-Benutzeroberfläche.
- Entfernen Sie den fehlerhaften SDS aus dem Cluster und fügen Sie ihn dann wieder hinzu.
- Starten Sie das Upgrade über die Benutzeroberfläche des IM-Gateways neu und aktivieren Sie das Kontrollkästchen "Upgrade zulassen, auch wenn Sie sich bereits im Upgradestatus befinden". Das Upgrade sollte von vorne beginnen und mit noch nicht aktualisierten Komponenten fortgesetzt werden:
Manuelles Upgrade
Möglichkeit #1
- Wenn dasselbe Gerät bei jedem der Vorkommen ausfällt, dann setzen Sie dieses einzelne Gerät in den Offlinemodus. Falls nicht, entfernen Sie alle SDS-Geräte aus dem SDS.
- Warten Sie, bis die Neuerstellung abgeschlossen ist.
- Führen Sie nach dem Entfernen ein Upgrade des SDS durch und fügen Sie ihn wieder zum Cluster hinzu.
- Entfernen Sie den nächsten SDS, für den ein Upgrade aus dem Cluster durchgeführt werden muss, wodurch ein erneuter Lastenausgleich ausgelöst wird.
- Führen Sie nach dem Entfernen ein Upgrade des SDS durch und fügen Sie ihn wieder zum Cluster hinzu.
- Warten Sie, bis das System über genügend Kapazität verfügt, um den nächsten SDS zu entfernen, der aktualisiert werden muss. Wiederholen Sie den Vorgang, bis alle SDSs aktualisiert wurden.
Möglichkeit #2
Verwenden Sie den Protected Maintenance Mode (PMM) anstelle des IMM, um eine vollständige dritte Kopie zu erstellen. Das Problem sollte beim PMM nicht auftreten, z. B. tritt die Serviceabsturzschleife auf, weil der SDS während des erneuten Aufbaus abstürzt, wieder hochgefahren wird und sich wiederholt. Ein Ausweg besteht darin, den abstürzenden SDS über einen ausreichend langen Zeitraum herunterzufahren, damit der MDM einen vorwärtsgerichteten statt eines rückwärtsgerichteten Neuaufbaus anweist. Sobald das problematische Dataset neu erstellt wurde, kann der SDS erfolgreich wieder hochgefahren werden.
Betroffene Versionen:
VxFlex OS 3.0.x.x
PowerFlex 3.5.x.x
PowerFlex 3.6.0.x-3.6.1.x
Behoben in Version:
PowerFlex 3.6.2