PowerFlex:再構築と再バランシングがフロントエンドIOワークロードのパフォーマンスに影響を与える
Summary: フロントエンドのIOワークロードに影響を与える再構築と再バランシング。
Symptoms
再構築または再バランシングが開始されると、フロントエンド アプリケーションのIOPSが大幅に低下する可能性があります。
- SDSノードまたはディスクに障害が発生したため、再構築が開始されました。
- SDSノードまたはディスクがクラスターまたはストレージ プールに追加されたことで、リバランスが開始されます。
- SDSノードまたはディスクがクラスターまたはストレージ プールから削除され、リバランスが開始されます。
- 再構築/再バランシングの開始後、フロントエンドIOPSが大幅に低下します(予想されるIOPSの最大50%以上)。
問題
再構築または再バランシングの速度とリソースを向上させると、ScaleIOに必要な各ブロックのフル コピーを2つ作成するために必要な時間が短縮されます。ただし、SDCのスループットとIOPSは影響を受ける可能性があり、エンド ユーザーはアプリケーションの速度低下や、場合によってはIOエラーに気付く可能性があります。変更を行う前に、これらの変更がフロントエンドIOに与える可能性がある影響を理解しておく必要があります。
Cause
再構築と再バランシングでは、SDCが使用しているのと同じディスクとネットワーク リソースを使用するため、ディスクとネットワークの両方で帯域幅が占有されます。再構築と再バランシングでは、デフォルトで、並列化パラメーターとして定義された2つのSDSスレッドも使用します。
SDSはこれらのスレッドを作成し、デフォルトの2つのスレッドを超えると、追加のCPUとメモリーを必要とします。これにより、SDSが再構築/再バランシングに費やすCPU時間とリソースが従来よりも多くのため、フロントエンドIOの処理に費やされるCPU時間とリソースが少なくなります。
Resolution
ここで確認すべき点がいくつかあります。再構築と再バランシングは、次のパラメーターの影響を受ける可能性があります。
1 - SDSネットワーク スロットル:リストされているさまざまなカテゴリーに対して各SDSが使用するI/Oが制限されます。すべてのカテゴリのデフォルトは「無制限」です。
Scli から A:
scli --set_sds_network_limits (--protection_domain_id | --protection_domain_name ) [--rebuild_limit ] [--rebalance_limit ][--overall_limit ] [--i_am_sure] Example, setting the rebuild limit to 100 MB/s: scli --set_sds_network_limits --protection_domain_name pd1 --rebuild_limit 100
B-From UI:
保護ドメイン リストに移動し、対象の保護ドメインを選択して、[Modify]リストから[Network Throttling]を選択します。

2 - ストレージ プールI/O優先度:この設定はストレージ プールごとに適用され、再構築または再バランシングのIO優先度を変更するため、システム パフォーマンスに影響します。デフォルトでは、再構築と再バランシングの両方で[Limit Concurrent IO]が1に設定されています。
Scli から A:
scli --set_rebuild_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure] scli --set_rebalance_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure]
POLICYは、no_limit、limit_concurrent_io、favor_application_io、dynamic_bandwidth_throttlingのいずれかです。
ポリシーに「no_limit」以外を使用する場合は、コマンドOPTIONSの使用が必要になります。これらの設定の詳細については、PowerFlexのドキュメントを参照してください。
B-From UI: [Storage Pool]リストに移動し、対象のストレージ プールを選択して、変更リストから[I/O Priority]を選択します。

3 - コンカレントな再構築および再バランシング アクティビティ。デフォルト設定は2です。
A- このパラメーターは、scliからのみ変更できます。
scli --set_rebuild_rebalance_parallelism (((--protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) (--limit ) Example, setting the limit to 5: scli --set_rebuild_rebalance_parallelism --protection_domain_name pd1 --storage_pool_name HDD_POOL --limit 5
メモ: コマンドでstorage_pool_idパラメーターを使用する場合は、保護ドメインIDまたは名前、ストレージ プール名も指定する必要はありません。ScaleIOサポートで指定されていない限り、このパラメーターは2のままにします。この設定を増やすと、ネットワーク スロットルやI/O優先度の設定よりも早くフロントエンドIOに悪影響を及ぼします。