PowerFlex 3.x: Under NDU går SDS i panik og stopper opgraderingen
Summary: Under NDU kan SDS opleve en rullende kernepanik.
Symptoms
En opgradering fra VxFlex OS 3.0.x.x til PowerFlex 3.5.x.x eller 3.6.0.x
En rullende kernepanik i sikkerhedsdatabladet forhindrer systemet i at fortsætte opgraderingen.
SDS-processen bliver ved med at gå i panik og genstarte med følgende staksporing:
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
Når systemet genopbygges bagud, og IMM afsluttes (Instant Maintenance Mode), sendes og modtages der en forkert datasynkroniseringsmeddelelse på det primære (PRI) og sekundære (SEC) SDS. Således genstarter SEC SDS tjenesten brat for at undgå mulig datainkonsekvens.
Det er et sjældent scenarie under IMM, hvor en mislykket skrivekommando IO fejlagtigt kan føre til en intern sanity check (intern dataintegritetskontrol, der får SDS-tjenesten til at gå ned) under genopbygningen, efter at Afslut IMM er fuldført. Den mislykkede skrivekommando IO sker før Enter IMM, og under IMM blev der sendt en anden IO til en nærliggende forskydning i det samme datasæt.
Resolution
Automatisk opgradering ved hjælp af Gateway
- Stop opgraderingen ved hjælp af gatewaybrugergrænsefladen.
- Fjern det defekte SDS fra klyngen, og tilføj det igen.
- Genstart opgraderingen fra brugergrænsefladen for IM-gatewayen, og marker afkrydsningsfeltet "Tillad opgradering, selv når den allerede er i opgraderingstilstand" – opgraderingen skal starte forfra og fortsætte med komponenter, der endnu ikke er opgraderet:
Manuel opgradering
Mulighed #1
- Hvis den samme enhed fejler ved hver af forekomsterne, skal du offline den enkelte enhed. Hvis ikke, skal du fjerne alle SDS-enheder fra SDS.
- Vent på, at genopbygningen er fuldført.
- Når det er fjernet, skal du opgradere sikkerhedsdatabladet og føje det til klyngen igen.
- Fjern det næste sikkerhedsdatablad, der skal opgraderes, fra klyngen, hvilket udløser en ny balance.
- Når det er fjernet, skal du opgradere sikkerhedsdatabladet og føje det til klyngen igen.
- Lad genbalanceringen fortsætte, indtil systemet har tilstrækkelig kapacitet til at fjerne det næste SDS, der skal opgraderes – gentag, indtil alle SDS er opgraderet.
Mulighed #2
Brug Beskyttet vedligeholdelsestilstand (PMM) i stedet for IMM til oprettelse af en fuld tredje kopi. Problemet bør ikke ske med PMM, for eksempel sker servicenedbrudsløjfen, fordi SDS går ned under genopbygningen, kommer op igen og gentages. En vej ud af det er at tage det nedbrudte SDS ned i en tilstrækkelig lang periode, så MDM instruerer en fremadrettet genopbygning snarere end en bagud. Når det problematiske datasæt genopbygges, kan SDS hentes op igen med succes.
Påvirkede versioner:
VxFlex OS 3.0.x.x
PowerFlex 3.5.x.x
PowerFlex 3.6.0.x-3.6.1.x
Løst i version:
PowerFlex 3.6.2