PowerFlex 3.x: Durante l'NDU, l SDS presenta un errore irreversibile e interrompe l'aggiornamento
Summary: Durante l'NDU, l SDS potrebbe riscontrare un errore irreversibile del kernel in sequenza.
Symptoms
Un upgrade da VxFlex OS 3.0.x.x a PowerFlex 3.5.x.x o 3.6.0.x
Un errore irreversibile del kernel dell SDS impedisce al sistema di continuare l'aggiornamento.
Il processo SDS continua ad avere un errore irreversibile e a riavviarsi con la seguente traccia dello stack:
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 ricostruzione all'indietro del sistema, mentre si esce dalla modalità IMM (Instant Maintenance Mode), viene inviato e ricevuto un messaggio di sincronizzazione dei dati errato sugli SDS primario (PRI) e secondario (SEC). Pertanto, l SDS SEC riavvia improvvisamente il servizio per evitare possibili incoerenze dei dati.
È raro che durante l'IMM uno scenario in cui un I/O di comando di scrittura non riuscito possa erroneamente portare a un controllo di integrità interno (controllo di integrità dei dati interno che causa l'arresto anomalo del servizio SDS) durante la ricostruzione al termine dell'IMM di uscita. L'I/O del comando di scrittura non riuscito si verifica prima di entrare nell'IMM e durante l'IMM è stato inviato un altro I/O a un offset vicino nello stesso data set.
Resolution
Aggiornamento automatizzato tramite gateway
- Arrestare l'aggiornamento utilizzando l'interfaccia utente del gateway.
- Rimuovere l SDS guasto dal cluster, quindi aggiungerlo nuovamente.
- Riavviare l'aggiornamento dall'interfaccia utente di IM Gateway e selezionare la casella di controllo "Allow upgrade even when already in Upgrade state": l'aggiornamento dovrebbe ricominciare e procedere con i componenti non ancora aggiornati:
Aggiornamento manuale
Opzione #1
- Se lo stesso dispositivo si guasta a ciascuna delle occorrenze, il singolo dispositivo viene messo offline. In caso contrario, rimuovere tutti i dispositivi SDS dall SDS.
- Attendere il completamento della ricostruzione.
- Una volta rimosso, aggiornare l SDS e aggiungerlo nuovamente al cluster.
- Rimuovere il successivo SDS che deve essere aggiornato dal cluster che attiverà un ribilanciamento.
- Una volta rimosso, aggiornare l SDS e aggiungerlo nuovamente al cluster.
- Lasciare che il ribilanciamento continui fino a quando il sistema non dispone di capacità sufficiente per rimuovere il successivo SDS che deve essere aggiornato; ripetere la procedura fino a quando tutti gli SDS non vengono aggiornati.
Opzione #2
Utilizzare la modalità di manutenzione protetta (PMM) anziché l'IMM, per la creazione di una terza copia completa. Il problema non dovrebbe verificarsi con la PMM, ad esempio il ciclo di arresto anomalo del servizio si verifica perché l SDS si arresta in modo anomalo durante la ricostruzione, si attiva e si ripete. Una via d'uscita è quella di disattivare l SDS che si arresta in modo anomalo per un periodo sufficientemente lungo in modo che l MDM istruisca una ricostruzione in avanti anziché una indietro. Una volta ricostruito il data set problematico, l SDS può essere ripristinato correttamente.
Versioni interessate:
VxFlex OS 3.0.x.x
, PowerFlex 3.5.x.x
, PowerFlex 3.6.0.x-3.6.1.x
Risolto nella versione:
PowerFlex 3.6.2