PowerFlex:過剰なデータの役割の切り替えにより、IOレイテンシーとエラーが発生する

Сводка: この記事では、過剰なデータのロール切り替えによってI/Oレイテンシーとエラーが発生する方法について説明します。

Данная статья применяется к Данная статья не применяется к Эта статья не привязана к какому-либо конкретному продукту. В этой статье указаны не все версии продуктов.

Симптомы

特定のクラスターの状態遷移では、MDMのロールバランス ロジックにより、多くのコーム(ボリューム データの各部分を格納するSDSノードを追跡する内部データ構造)にわたってプライマリー/セカンダリーのロール切り替えを迅速に繰り返し行うことができます。各ロール スイッチは、クライアント側(SDC)のコーム マップを無効にし、I/Oの再試行を強制します。十分な数のコムが同時に影響を受けると、累積的な再試行オーバーヘッドにより、SDCホストでI/Oレイテンシーの急増とI/Oエラーが発生します。ホスト環境によっては、アプリケーションのI/Oタイムアウト、VMが読み取り専用状態になる、またはファイル システムが使用不可になる場合があります

この動作は、複数のトリガー シナリオで確認されており、1 つの操作手順に限定されません。

一般的なインジケーター

  • MDM_DATA_DEGRADED イベントの後に 1 から 15+ 分続く持続的な I/O 待機時間が続きます
  • SDCホストは、劣化ウィンドウ中にI/OエラーやI/Oタイムアウトを報告します
    • VMware(ESXi): VMFSハートビート タイムアウト、SCSIハードウェア エラー(sense data: 0x4 0x0 0x0)、VMが読み取り専用状態になり、HAフェールオーバーが発生する
    • Linuxの場合システム ログの I/O エラー (/var/log/messages, dmesg)、アプリケーションでI/Oタイムアウトが発生したり、ファイル システムが読み取り専用で再マウントされたりする可能性があります
  • MDMイベント ログに、単一のSDS損失に対して予想よりも長いDEGRADED状態のシステムが表示される
  • システムは最終的に手動操作なしで自己回復し、通常の状態に戻ります(通常)
 
注:この記事の執筆時点では、この問題はVMware (ESXi)およびLinux SDCホストを使用する環境でのみ報告されています。Windows SDCホストに影響を与える動作に関する既知の報告はありませんが、根本的な欠陥はMDMコア ロジックにあり、OS固有ではありません。


シナリオ1:アングレースフルSDS損失(メンテナンス モードなし)

問題が発生する場合:

  • これはまれなシナリオです。異常なSDS損失中にロール切り替えイベントが急速に繰り返し発生するには、いくつかの特定の条件が同時に存在している必要があります。
    • 大規模環境 - 多数のSDSノードとボリューム
    • 本番I/O負荷が高い - SDSに障害が発生した時点で大量のI/Oアクティビティが発生する
    • 再構築ワークロードが処理能力を超えています - 再構築が必要なメタデータ行の数が、MDMバランサーのサイクルあたりの制限である1,024行を超えています

各再バランシング サイクルは、最大1,024のメタデータ行を処理できます。さらに多くの行を再構築する必要がある場合、バランサーは、次の計画を生成する前に現在の計画を完了できません。

何が起こるか:

  • SDSがMDMから突然分離される(イベントSDS_DECOUPLED)
  • そのSDSに接続されていたすべてのSDCは、SDC切断イベント→接続を失います
  • MDMはクラスターをDEGRADEDとマークします(イベント MDM_DATA_DEGRADED)を作成します。
  • 再構築する行数が1,024を超えているため、MDMバランサーは現在の再バランシング計画を完了できません
  • バランサーは、前のプランがまだ実行されている間に新しいプランを開始し、ロール切り替えイベントを迅速に繰り返し生成します
  • クライアントSDCで連続的なI/O障害(IO_FAULT_NOT_PRI, SCSI sense 0x4)を提供する必要があります。再試行回数が尽きると、ホストOSはI/Oエラー、タイムアウト、または読み取り専用ファイル システムを報告します
  • MDMトレースの証拠:

再バランシング ワークロードが1,024行の制限を超えると、MDMトレースに閾値を超えていることが示されます。

2026/03/28 22:43:53.246702 MED:7f1f984aedb0:balanceExec_HandleDegradedRows:00343: BALANCER: Storage Pool: 1193844800000000 - 1024 rows processed out of 1098 degraded rows. 0 allocation failures. 0 cumulative allocation failures.

これは、1,098 行の再構築が必要であることを示していますが、現在のサイクルで処理できたのは 1,024 行のみです。残りの行は、前のプランが完了する前に新しい再バランス プランをトリガーし、フィードバック ループを開始します

イベントの連鎖:

Log Source     Event / Pattern
MDM events     SDS_DECOUPLED — SDS formally declared dead
MDM events     MDM_DATA_DEGRADED — Cluster enters DEGRADED state
SDS traces     Flood of IO_FAULT_NOT_PRI — SDS received IO for a comb it is no longer primary for
ESXi vmkernel  SCSI sense data: 0x4 0x0 0x0 — Hardware error
MDM events     MULTIPLE_SDC_CONNECTIVITY_CHANGES — Mass SDC connectivity storm
MDM events     SDC_DISCONNECTED_FROM_SDS_IP — SDCs losing contact with the failed SDS
MDMイベント シーケンスの例:
SDC_DISCONNECTED_FROM_SDS_IP    SDC disconnected from SDS <name>
SDS_DECOUPLED                   SDS <name> decoupled
MDM_DATA_DEGRADED               The system is now in DEGRADED state

シナリオ2:PMM入力中にSDSの電源がオフになる

いつ発生する可能性があるか:
これは、次の 2 つの同時イベントを必要とするまれなシナリオです。

  • SDSが保護メンテナンス モード(PMM)に移行しています
  • PMMの移行が完了する前にSDSに障害が発生したか、電源がオフになっている

何が起こるか: 

  • MDMはPMMエントリー コマンドを受信し、成功として記録します
  • PMMエントリーの進行中にSDSが予期せず分離されます
  • MDMがクラスターをDEGRADEDとマークする
  • ロール バランサーは、PMM開始フェーズ全体を通して、ロール切り替えループに移行します
  • 非PMMデータ行は、ストレージ プール全体で繰り返しロール切り替えされる
  • ストームは、SDSがクラスターに再参加し、メンテナンス モードの移行を完了するまで続きます

イベントの連鎖:

Log Source  Event / Pattern
MDM events  CLI_COMMAND_SUCCEEDED — enter_protected_maintenance_mode command succeeded
MDM events  SDS_DECOUPLED — SDS decoupled before maintenance mode started
MDM events  MDM_DATA_DEGRADED — Cluster enters DEGRADED state
SDS traces  Repeated role-switch operations across non-PMM rows

MDMイベント シーケンスの例:

CLI_COMMAND_SUCCEEDED            Command enter_protected_maintenance_mode succeeded
SDS_DECOUPLED                    SDS <name> decoupled
MDM_DATA_DEGRADED               The system is now in DEGRADED state

SDSが再参加し、PMMが完了すると、次のようになります。

SDS_MAINTENANCE_MODE_STARTED     SDS maintenance mode started
MDM_DATA_NORMAL                 The system is now in NORMAL state

シナリオ3:インスタント メンテナンス モード(IMM)のSDS

いつ発生する可能性があるか:
SDSがインスタント メンテナンス モード(IMM)に入るか、終了します。このシナリオは、単一のSDSがメンテナンス モードで、特定のデータのI/Oを処理するSDSをシステムが決定できない場合に発生します

何が起こるか:

  • システムは、同じデータの提供を担当するSDSを繰り返し変更します
  • これらの絶え間ない変化は、アプリケーションがI/O要求の送信先を認識できないことを意味します
  • I/Oが間違ったSDSに送信され、再試行と遅延が発生する
  • 影響を受けるデータへのアクセス試行中にアプリケーションでレイテンシーまたはタイムアウトが発生する

影響:

  • お客様への影響: SDSがIMMにある間に、アプリケーションがレイテンシーとタイムアウトを報告する
  • 再生時間:SDSがIMM状態の間も続行します
  • 回復:自動:SDSがIMMを終了すると解決されます

イベントの連鎖:

Log Source  Event / Pattern
SDS traces  Repeated role-switch operations on the same data
SDS traces  Primary and secondary role switches on identical data

シナリオ4: SDSの保護メンテナンス モード(PMM)の終了

いつ発生する可能性があるか:
SDSが保護メンテナンス モード(PMM)を終了します。このシナリオは、すべてのPMM終了時に発生します。まれなイベントではありませんが、メンテナンス モードの操作が継続した時間によって重大度が異なります

何が起こるか:

  • SDSがPMMを終了すると、ロール バランサーはデータ セグメントを再割り当てして、戻りSDSを含める必要があります
  • 再バランシング プロセスは、返されるSDS上のデータだけでなく、ストレージ プール全体に影響します
  • ロールの切り替えは、再統合中に多くのデータ セグメントで発生します
  • ロールの割り当てが安定するにつれて、アプリケーションで短時間のI/Oエラーまたはレイテンシーが発生する可能性があります

影響:

  • お客様への影響: 短いメンテナンス ウィンドウ(5秒未満)の場合、影響はほとんど目立ちません。アクティブなI/Oを伴う拡張メンテナンスでは、数千のロール切り替えが発生し、I/Oが持続的に停止する可能性があります
  • 再生時間:再バランシングが完了するまで、再統合フェーズの間継続されます
  • 回復:自動

イベントの連鎖:

Log Source  Event / Pattern
MDM events  Role-switch operations across the storage pool during exit
SDS traces  Repeated role-switch operations during reintegration

MDMイベント シーケンスの例:

SDS_MAINTENANCE_MODE_EXIT_STARTED    SDS maintenance mode exit started
SDS_MAINTENANCE_MODE_EXIT_COMPLETED   SDS maintenance mode exit completed

ログ出力:
 

注:以下のログの例は、この問題が複数回発生した場合に観察されたパターンの一般的な表現です。これらは、上記の特定のシナリオに関連付けられておらず、トリガーに関係なく同じパターンが表示されます。


MDMイベント ログ: MDMイベント ログには、クラスターレベルのシーケンスが表示されます。キー インジケーターは、メンテナンス モード終了時のロール切り替え操作です

SDSトレース ログ: SDSノードでは、トレース ログに、再統合中にロールスイッチ操作が繰り返されたことが示されます。

raidComb_SetPriTgtGenNum: combId <id> combGenNum: cur <gen> new <gen>
contCmd_SetCombState: CombId <id> devId <id> PRI->SEC Switch roles
contCmd_SetCombState: CombId <id> devId <id> SEC->PRI Switch roles

短いタイム ウィンドウ(数秒以内に数千以上)に大量のスイッチ ロール エントリーが発生することは、この問題のSDS側の決定的なインジケーターです。

SDC/ホスト ログ: VMware(ESXi) SDC I/O再試行で、コム、ターゲットSDS、障害コードが表示されます。

vmkernel log
PowerFlex mapVolIO_Do_CK:1496 :Mit: <addr>. Retrying IO Type WRITE. Failed comb: <id>. SDS_ID <id>. Comb Gen <gen>. Head Gen <gen>.
PowerFlex mapVolIO_Do_CK:1510 :Mit: <addr>. Vol ID <id>. Last fault Status IO_FAULT_NOT_PRI(12). Retry count (1)

エグレスを再試行すると、SCSIエラーが返されます。 

sense data: 0x4 0x0 0x0   -- SCSI Hardware Error

診断のヒント: (問題のあるノードだけでなく)複数のSDSノードでI/Oエラーが発生した場合は、通常の縮退状態の動作ではなく、役割スイッチのストームを示している可能性があります。I/Oエラーが単一のSDSに切り分けられている場合、これは予想される縮退状態の動作です。

シナリオ5:メンテナンス モードのフェーズ移行 

いつ発生する可能性があるか:
移行中、SDSがメンテナンス モード(IMMまたはPMM)を開始または終了するとき、つまり状態が通常からMMに、またはMMから通常に戻った時点で

何が起こるか:

  • ロール バランサーは、変更に対応するためにデータの責任を再配分します
  • システムが新しい配置に落ち着くと、ロールの切り替えが短時間発生します
  • 移行中にアプリケーションで短いレイテンシーのスパイクが発生する可能性がある

影響:

  • お客様への影響: 短時間のレイテンシーの急上昇は数秒から数分続きます。通常はアプリケーション タイムアウトのしきい値を下回る
  • 再生時間:数秒から数分続き、その後落ち着きます
  • 回復:自動

イベントの連鎖:

Log Source  Event / Pattern
SDS traces  Brief role-switch operations during phase transitions

Причина

MDMロールバランス ロジックのソフトウェアの欠陥により、SDSの損失またはメンテナンス モードの操作によってクラスターが状態を遷移するときにフィードバック ループが発生します。

特定の条件下では、MDMは、影響を受けるコームへのI/O処理を担当するSDSノードを繰り返し再割り当てします。再割り当てのたびに、データが存在する場所のSDCのキャッシュ ビューが無効になり、I/Oの再試行が強制されます。多くのコムが同時に影響を受けると、再割り当ての量がSDCのアップデート能力を上回り、複数のホスト間でI/Oエラーが持続します。

通常、嵐は自己制限的です。クラスターが安定すると解決しますが、期間はイベント発生時の保護ドメインのサイズとI/O負荷によって異なります。

Разрешение

この問題は、PowerFlex Coreバージョン4.5.6で対処されています。利用可能になったら、このバージョンにアップグレードしてください。リリース タイムライン情報については、 Dellサポート にお問い合わせください。

計画的なメンテナンス操作の場合:

  • MDMログが記録されるまで、SDSの電源を入れ直したり再起動したりしないでください SDS_MAINTENANCE_MODE_STARTEDの詳細を確認してください。物理メンテナンスを続行する前に、SDSが完全にメンテナンス モードになっていることを確認します。
  • メンテナンス モードの開始時または終了時のレイテンシーのスパイクを監視します。

計画外のSDSアウテージの場合:

  • ストームは自己制限的であり、通常、クラスターが安定するにつれて数分以内に解消されます。問題が発生した場合は、収集します getinfo 保護ドメイン内のすべてのSDSノード、すべてのマネージャーMDMからログを取得し、イベント後できるだけ早く Dellサポートにお問い合わせください。

まれに、問題が自己解決しない場合は、再構築を一時的に無効にして再度有効にすることで、MDMを安定させることができます。

scli --set_rebuild_mode --protection_domain_name <pd_name> --storage_pool_name <sp_name> --disable_rebuild

#5〜10秒待ってから、再構築を有効にします。 

scli --set_rebuild_mode --protection_domain_name <pd_name> --storage_pool_name <sp_name> --enable_rebuild

 

重要:再構築が無効になっている間、クラスターの冗長性が低下しています。システムが安定するまで再構築を無効にしてから、すぐに再度有効にします。このアクションは、Dellサポートのガイダンスに従って実行することをお勧めします。 

 

注:再構築はストレージ プール レベルで管理されます。影響を受けるSDSのデバイスが複数のストレージ プールにある場合は、影響を受ける各ストレージ プールにこのアクションを適用します。影響を受けるSDSのデバイスが含まれていないストレージ プールは影響を受けません。保護ドメイン、ストレージ プール、SDSからデバイスへのマッピングは、次の場所から識別できます。 scli --query_all コマンド出力。 

Затронутые продукты

PowerFlex rack, PowerFlex Appliance, PowerFlex rack connectivity, PowerFlex Software
Свойства статьи
Номер статьи: 000450312
Тип статьи: Solution
Последнее изменение: 12 May 2026
Версия:  5
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.