PowerFlex 3.x-Performanceproblem mit potenziellen I/O-Fehlern während der Backward Rebuild
Zusammenfassung: I/O-Fehler können während der Rückwärtsneuerstellung gemeldet werden. In schwerwiegenden Fällen können Volumes schreibgeschützt werden und zur Nichtverfügbarkeit von Daten führen. Während einer Rückwärtsneuerstellung werden die Kammrollen (primär/sekundär) vertauscht. Eine Backward Rebuild kann erfolgen, wenn ein SDS 1) aus dem Wartungsmodus entfernt wird oder 2) wenn ein SDS ausfällt und umgehend wieder aufgenommen wird. ...
Symptome
Szenario
Der MDM sendet während einer Neuerstellung viele Steuerbefehle an einen SDS, aber der SDS kann sie nicht sofort verarbeiten.
Symptome
In den folgenden Einträgen versucht der MDM, einen Comb-Rollenwechsel durchzuführen, aber der SDS brauchte 30 Sekunden, um den Vorgang abzuschließen. Diese Verzögerung von 30 Sekunden reichte aus, um in diesem Beispiel in den schreibgeschützten Status des Volumes zu wechseln.
15/06 04:18:18.362502 0x7f3cc590ddb0:multiHeadMgr_HandleNetRPCResponse:02653: TgtId: 5ce02d7e00000003 RC: TIMEOUT CombID: 71e0000480e3 msgType: TGT_MSG_TYPE__SET_COMB_STATE 15/06 04:18:23.364575 0x7f3cc5904db0:multiHeadMgr_HandleNetRPCResponse:02653: TgtId: 5ce02d7e00000003 RC: TIMEOUT CombID: 71e0000480e3 msgType: TGT_MSG_TYPE__SET_COMB_STATE 15/06 04:18:28.370493 0x7f3cc5928db0:multiHeadMgr_HandleNetRPCResponse:02653: TgtId: 5ce02d7e00000003 RC: TIMEOUT CombID: 71e0000480e3 msgType: TGT_MSG_TYPE__SET_COMB_STATE 15/06 04:18:33.379554 0x7f3cc5928db0:multiHeadMgr_HandleNetRPCResponse:02653: TgtId: 5ce02d7e00000003 RC: TIMEOUT CombID: 71e0000480e3 msgType: TGT_MSG_TYPE__SET_COMB_STATE 15/06 04:18:38.380498 0x7f3cc5955db0:multiHeadMgr_HandleNetRPCResponse:02653: TgtId: 5ce02d7e00000003 RC: TIMEOUT CombID: 71e0000480e3 msgType: TGT_MSG_TYPE__SET_COMB_STATE 15/06 04:18:43.380564 0x7f3cc590ddb0:multiHeadMgr_HandleNetRPCResponse:02653: TgtId: 5ce02d7e00000003 RC: TIMEOUT CombID: 71e0000480e3 msgType: TGT_MSG_TYPE__SET_COMB_STATE (...) 15/06 04:18:43.380573 0x7f3cc590ddb0:mdmTgtMsg_SendAsyncSetCombState:06228: devId: ff7fb6fc00030006 CombId: 71e0000480e3 CombState: PRI->SEC RaidState: 0x1->0x1 ProtType: SECONDARY Switch roles (subtask) GenNums: Primary: 71707 Cmd: 9 MH: 71746 Connection: 1357 15/06 04:18:46.920989 0x7f3cc5943db0:mdmTgtMsg_SendAsyncSetCombState:06228: devId: ffd7690d00070009 CombId: 71e0000480e3 CombState: SEC->PRI RaidState: 0x21->0x1 ProtType: SECONDARY Switch roles (subtask) GenNums: Primary: 71707 Cmd: 11 MH: 71758 Connection: 1353 15/06 04:18:46.921312 0x7f3cc5955db0:multiHeadRow_MoveState_Inner:03054: [multiHead_HandleNormStateFlow:1359]: MultiHead: e3c00009 Row: 227 NORMAL->NORMAL (NORM2NORM_ROLE_BALANCE)
So überprüfen Sie diese Bedingung (die Spalten 2 und 3 müssen identisch und auf 100 festgelegt sein):
scli --query_performance_parameters --all_sds --print_all | grep SDS_NUMBER_SDS_CONTROL_UMT
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
Dies wird auch in der query_all-Ausgabe wie folgt gemeldet:
grep CONTROL_UMT query_all.txt
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
SDS_NUMBER_SDS_CONTROL_UMT 10 100
Auswirkungen
Es können I/O-Fehler gemeldet werden und Volumes werden in schwerwiegenden Fällen schreibgeschützt.
Ursache
Der SDS kann die große Anzahl von Steuerbefehlen nicht verarbeiten, da SDS_NUMBER_SDS_CONTROL_UMT nur auf 10 eingestellt ist. Dies kann entweder der Fall sein, wenn das SDS-Performanceprofil auf "Compact" oder "High Performance" eingestellt ist, das System jedoch von PowerFlex 2.x auf 3.x aktualisiert wurde.
Das high_performance Profil legt SDS_NUMBER_SDS_CONTROL_UMT auf 100 fest. Dies kann jedoch fälschlicherweise auf 10 geändert werden, wenn ein Upgrade von einer 2.x-Version auf eine 3.x-Version niedriger als 3.0.1.5/3.5.1.3 durchgeführt wird.
10 ist die erwartete Einstellung für SDS_NUMBER_SDS_CONTROL_UMT, wenn das kompakte Leistungsprofil festgelegt ist (in Version 3.x ist das high_performance Profil die Standardeinstellung).
Lösung
Wenn Sie ein high_performance SDS-Profil verwenden, führen Sie den folgenden Befehl aus, um dieses Problem zu beheben:
scli --set_performance_parameters --tech --all_sds --sds_number_sds_control_umt 100
Wenn Sie ein kompaktes SDS-Profil verwenden, wechseln Sie zu high_performance.
Betroffene Versionen
Alle Versionen von 3.x vor 3.0.1.5 und 3.5.1.3
Behoben in Version
3.0.1.5 und 3.5.1.3