PowerFlex 3.x: NDU 중에 SDS에 패닉이 발생하고 업그레이드가 중지됩니다.
Summary: NDU 중에 SDS에 롤링 커널 패닉이 발생할 수 있습니다.
Symptoms
VxFlex OS 3.0.x.x에서 PowerFlex 3.5.x.x 또는 3.6.0.x
로 업그레이드 SDS의 롤링 커널 패닉으로 인해 시스템이 업그레이드를 계속할 수 없습니다.
SDS 프로세스가 계속 패닉을 일으키고 다음 스택 추적과 함께 재시작됩니다.
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
시스템을 후방으로 재구축하는 동안 IMM(Instant Maintenance Mode)을 종료하는 동안 기본(PRI) 및 보조(SEC) SDS에서 잘못된 데이터 동기화 메시지가 전송 및 수신됩니다. 따라서 SEC SDS는 데이터 불일치 가능성을 방지하기 위해 서비스를 갑자기 다시 시작합니다.
IMM 종료 완료 후 재구축 중에 쓰기 명령 IO 실패로 인해 내부 온전성 검사(SDS 서비스가 충돌하도록 하는 내부 데이터 무결성 검사)가 잘못 수행될 수 있는 드문 시나리오입니다. 실패한 쓰기 명령 IO는 Enter IMM 전에 발생하며 IMM 중에 동일한 데이터 세트의 근처 오프셋으로 전송된 다른 IO가 있었습니다.
Resolution
게이트웨이를 사용한 자동 업그레이드
- 게이트웨이 UI를 사용하여 업그레이드를 중지합니다.
- 클러스터에서 장애가 발생한 SDS를 제거한 다음 다시 추가합니다.
- IM 게이트웨이 UI에서 업그레이드를 재시작하고 "이미 업그레이드 상태인 경우에도 업그레이드 허용" 확인란을 선택합니다. 업그레이드가 다시 시작되고 아직 업그레이드되지 않은 구성 요소로 진행해야 합니다.
수동 업그레이드
옵션 #1
- 각각에서 동일한 디바이스가 실패하면 해당 단일 디바이스를 오프라인으로 전환합니다. 그렇지 않은 경우 SDS에서 모든 SDS 디바이스를 제거합니다.
- 재구축이 완료될 때까지 기다립니다.
- 제거한 후에는 SDS를 업그레이드하고 클러스터에 다시 추가하십시오.
- 리밸런싱을 트리거할 클러스터에서 업그레이드해야 하는 다음 SDS를 제거합니다.
- 제거한 후에는 SDS를 업그레이드하고 클러스터에 다시 추가하십시오.
- 시스템에서 업그레이드해야 하는 다음 SDS를 제거하기에 충분한 용량이 확보될 때까지 재조정 과정을 계속합니다. 모든 SDS가 업그레이드될 때까지 반복합니다.
옵션 #2
전체 세 번째 복제본 생성의 경우 IMM 대신 PMM(Protected Maintenance Mode)을 사용합니다. 이 문제는 PMM에서는 발생하지 않아야 합니다. 예를 들어 재구축 중에 SDS가 충돌했다가 다시 가동되고 반복되기 때문에 서비스 충돌 루프가 발생합니다. 이 문제를 해결할 수 있는 방법은 충돌하는 SDS를 충분히 오랜 기간 동안 중단하여 MDM이 역방향 재구축이 아닌 정방향 재구축을 지시하는 것입니다. 문제가 있는 데이터 세트가 재구축되면 SDS를 성공적으로 다시 가져올 수 있습니다.
영향을 받는 버전:
VxFlex OS 3.0.x.x
PowerFlex 3.5.x.x
PowerFlex 3.6.0.x-3.6.1.x
수정된 버전:
PowerFlex 3.6.2