未解決
Community Manager
•
3.1K メッセージ
0
135
[Coffee Break] PowerFlexのちょっといい話 ~ノードのリビルド/リバランスの際の性能制御について~
この投稿は「ちょっとしたストレージ関連技術のTIPSを思いついたら書いてみる」というコンセプトで、デル・テクノロジーズ社内のTeamsグループ/チームでゆる~く運営されている「Coffee Break」からの情報抜粋です。今回はプリセールスチームのPowerFlexスペシャリストからの投稿を抜粋しました。
PowerFlexはミッションクリティカルなワークロード基盤で利用されることが多いため、ディスクやノード障害時のアプリケーションへのパフォーマンス影響を気にされるお客様は少なくありません。
そういったお客様に(少しでも)安心してもらうために知っておいて頂きたい、PowerFlexの機能についてご紹介させてください。
PowerFlexの特長としてノード障害時のリビルドが凄く速く、それゆえ99.9999%という非常に高い稼働率を実現しています。
実際3.84TBのNVMe ドライブを10本搭載したノードで16ノードでストレージPool(ユーザ容量250TiB)を構成すると、6Ninesの可用性で1ノード障害時のリビルド時間は2674秒≒45分、SSD障害時は267秒=約4分半と非常に高速です。(こちらPowerFlex sizerの結果です)
ただ、ここでリビルドのIOがオンラインに影響が出てもいけないし、一方リビルドはできるだけ速く終わらせたほうがシステム的には良いし、どのように制御しているだろうという素朴な疑問が沸いてくるかと思います。
PowerFlexでは、下記2つの設定を調整することでリビルド、リバランスの性能制御を行っています。
- Storage PoolのIO Priority設定
- Protection Domain SDS毎のNetwork throttle設定
Storage PoolのIO Priority設定
については、上位からのI/Oとリビルド/リバランスとの同時I/O数とそれに使うSSD帯域を制御することで実現をしています。
Protection Domain SDS毎のNetwork throttle設定
については、Protection Domain毎にSDS(ストレージノード)がリビルド、リバランスで使用できる帯域を制限することができ、リビルド、リバランスの際でも上位からのI/Oの使う帯域を確保できるように調整することができます。
デフォルトはすべて制限なしですが、下記はリビルド、リバランスに512MB/s 256MB/sと仮に設定してみました。
SDSあたり1024MB/s出ると仮に置きますと、アプリケーションが使える帯域がSDSあたり512MB/s確保できるのが分かるかと思います。
下記は、Storage PoolのIO PriorityとNetwork throttleの設定をデフォルトのままストレージ5ノードで40万IOPSをvdbenchでかけた場合に1ノードを疑似障害を想定してリブートさせて場合の性能グラフです。
(途中でリバランスが走りだして安定したので、リバランスの時間短縮のために設定をunlimitedと変更を行っております。)
こちらはデフォルト設定時の動きですので、こちらに対して必要であればパラメーターを変更することでお客様のご要件に対して動きをチューニングしていくことができます。
以上、PowerFlexのちょっといい話「リビルド/リバランスの際の性能制御」編でした。