VMware Global Community
pooky3
Enthusiast
Enthusiast
Jump to solution

vSANのリバランス処理やデータ移行時の負荷について

いつもお世話になっております。
vSANのリバランス処理やデータ移行時のパフォーマンス影響について確認したいのですが、


・vSAN構成での運用について、vSANのリバランスを起こさないことがベストプラクティスとだという
認識ですが、これが発生するとおおよそどれぐらいのパフォーマンス影響が発生するものでしょうか?
これぐらい業務用のIOPSが下がるとか、CPU使用率が上がるとか、もしなにか指標などあれば情報を
いただけますでしょうか。


・vSANのリバランスはvSANクラスタへの新しいノードを追加する時や、ノードを撤去するときにも
発生する可能性はあるものでしょうか?


・vSAN環境でESXiノードをクラスタから切り離す場合、残すノードへ全データの移行を行うと思いますが、
この時もvSANリバランス時と同じレベルのパフォーマンス影響が出ると思ってよいでしょうか?


以上、何卒よろしくお願いいたします。

0 Kudos
3 Solutions

Accepted Solutions
VM_Yamato
Hot Shot
Hot Shot
Jump to solution

質問への回答を致します。

・vSAN構成での運用について、vSANのリバランスを起こさないことがベストプラクティスとだという
認識ですが、これが発生するとおおよそどれぐらいのパフォーマンス影響が発生するものでしょうか?
これぐらい業務用のIOPSが下がるとか、CPU使用率が上がるとか、もしなにか指標などあれば情報を
いただけますでしょうか。
上記については、正直データの移行量と発生タイミングとの他のワークロードにもよるため、環境次第だと言えます。


・vSANのリバランスはvSANクラスタへの新しいノードを追加する時や、ノードを撤去するときにも発生する可能性はあるものでしょうか?
はい、仰るとおりです。そのため、ノード追加時の注意点としてはデータ移行がピークタイムに発生するとパフォーマンスに影響を及ぼす可能性があるため、ピークタイム以外にノードを追加するのが理想的です。良く行われる手法としては、追加ノードについてはメンテナンスモードで追加をしておき、ピークタイムを過ぎてからメンテナンスモードを解除するという方法です。メンテナンスモード中は増設ノードのキャパシティはvSANには使用されないためです。


・vSAN環境でESXiノードをクラスタから切り離す場合、残すノードへ全データの移行を行うと思いますが、
この時もvSANリバランス時と同じレベルのパフォーマンス影響が出ると思ってよいでしょうか?
その通りです。これもやはりデータが既存ノードに移動されるため、仮想マシンのサイズが大きい場合、数が多い場合は比例的に上がると言えます。

Yamato Sakai
Technical Training Instructor | Dell Technologies Education
VCP-DCV 5,6.x, 2020, 2021
VCIX-DCV
VCIX-NV
vSAN HCI Master Specialist

View solution in original post

kawaman
Leadership
Leadership
Jump to solution

いくつか補足します。

vSAN構成での運用について、vSANのリバランスを起こさないことがベストプラクティスとだという
> 認識ですが、これが発生するとおおよそどれぐらいのパフォーマンス影響が発生するものでしょうか?

現在の vSAN 7.x ではリバランスに関しては各ドライブの利用率の差分で自動リバランスする設定が可能ですので、
アンバランスのまま運用するより均等に分散させる運用が推奨されますので、リバランスを起こさない事がベストプラクティスというわけではありません。

また、リバランス発生時の IO 性能に関して、vSAN 6.7 で導入された Adaptive Resync、6.7u3 で導入された Parallel Resync によりバックエンドの Resync Traffic を割と適正に制御していますので仮想マシン側への性能影響はかなり抑えられます。

Adaptive Resync in vSAN
https://core.vmware.com/resource/adaptive-resync-vsan

実際に一定 IO 負荷かけ続けた状態で Resync が始まった状態でパフォーマンスグラフを確認すると、
仮想マシン側の IOPS・
スループットは一定状態ですが、バックエンドの通信では "リカバリ書き込み" に関する IO が上乗せされ、リカバリ書き込みの通信がバーストしないように対象の通信にのみ遅延を意図的に入れて制御する動作が確認できます。

image (3).png

上記の Core TechZone の記事にもありますが、Resync 中に仮想マシン IO やその他の IO と競合して帯域を食いつぶさないように、競合時には 20% までが Resync に利用され、残り 80% が仮想マシンなどのその他の通信で利用できるように調整されます。
※ 以前の vSAN では手動で MBps 単位で再同期の帯域制御を設定しましたが、現在は Adaptive Resync がその役割を担っています。

 

> これぐらい業務用のIOPSが下がるとか、CPU使用率が上がるとか、もしなにか指標などあれば情報をいただけますでしょうか。

性能影響への目安は非常に難しいところで、上記の様に 20:80 で制御しなければならないくらい仮想マシン IO が高い環境下ならば性能が  IO 性能は 20% 低下する可能性があります。

それ以上にノード数や構成されるドライブ構成によっても Resync IO がどの程度発生して、どの範囲に分散されるかによってもノード当たりの IO 負荷は異なりますし、ドライブの種別(SSD or HDD、NVMe or SAS or SATA、SSD そのものの性能差など)によっても大きく異なってきます。
一般的には Queue Depth の大きい SAS、NVMe のドライブで構成していただく方が SATA ドライブよりも高い性能を安定的に提供可能です。

ベンチマークテストで負荷を掛けたり、何等か高負荷 IO のシステムが動作しているなどの状況でない限り、
基本的には上記の Adaptive Resync が影響を最小限に制御してくれるはずです。

 

> ・vSANのリバランスはvSANクラスタへの新しいノードを追加する時や、ノードを撤去するときにも発生する可能性はあるものでしょうか?

元のノードに搭載されたドライブの利用率が 80% を超えている場合には、新規ノードを追加した際に強制的にリバランスが開始されてしまうため IO 影響を気にされる場合は Yamato さんが記されたように、負荷の少ない時間帯にメンテナンスモードを解除するのが良いです。

そうでない場合で、vSAN 7.0 以降をご利用ならば "自動リバランス" をオフにしておき、リバランスを開始したいときにオンにする事が可能です。

Capt_20210825_005.png

 

> ・vSAN環境でESXiノードをクラスタから切り離す場合、残すノードへ全データの移行を行うと思いますが、
> この時もvSANリバランス時と同じレベルのパフォーマンス影響が出ると思ってよいでしょうか?

こちらはご認識の通りです。

新旧のハードウェアでクラスタ内で玉突きでサーバのリプレイスを行う場合には、
・新規サーバをクラスタに追加、データのリバランスを実施
・旧サーバを1台「データの全移行」でメンテナンスモードへ、データの退避が完了後クラスタから取り外し
・旧サーバの台数分、繰り返す
という流れになります。

ご参考まで、、、

View solution in original post

kawaman
Leadership
Leadership
Jump to solution

例えば全データ移行でメンテナンスモードを設定した場合は、メンテナンスモードへの進捗タスクの右わきにある X マークのキャンセルすれば ESXi は通常状態に戻り、移行が開始されていたデータ再配置も中止されます。

自動リバランスの場合、一度データの再配置が始まると途中でのキャンセルは出来ないようです ※訂正※ キャンセルも可能でした。

※ 追記
容量差分が大きい状況を作り、リバランス開始後に自動リバランスを無効にしてしばらく様子を見ていたところ、しばらく転送が続いたのちに予定より早く終了しました。
一度にキューに入る容量があり、その分だけリバランスしたら無効になる、そんな動きの様でした。

リバランス開始後に以前のバージョンにあったようなスループットどうしても帯域制御したい、という場合には PowerCLI 等で vSAN のオブジェクト再同期の帯域制御を設定する方法がありますが、この操作が今後のバージョンでも利用可能かどうかは不明です。
参考までに以下に手順まとめているのでご紹介します。

https://kwmtlog.blogspot.com/2021/07/powercli-vsan-resync-throttling.html

 

View solution in original post

6 Replies
VM_Yamato
Hot Shot
Hot Shot
Jump to solution

質問への回答を致します。

・vSAN構成での運用について、vSANのリバランスを起こさないことがベストプラクティスとだという
認識ですが、これが発生するとおおよそどれぐらいのパフォーマンス影響が発生するものでしょうか?
これぐらい業務用のIOPSが下がるとか、CPU使用率が上がるとか、もしなにか指標などあれば情報を
いただけますでしょうか。
上記については、正直データの移行量と発生タイミングとの他のワークロードにもよるため、環境次第だと言えます。


・vSANのリバランスはvSANクラスタへの新しいノードを追加する時や、ノードを撤去するときにも発生する可能性はあるものでしょうか?
はい、仰るとおりです。そのため、ノード追加時の注意点としてはデータ移行がピークタイムに発生するとパフォーマンスに影響を及ぼす可能性があるため、ピークタイム以外にノードを追加するのが理想的です。良く行われる手法としては、追加ノードについてはメンテナンスモードで追加をしておき、ピークタイムを過ぎてからメンテナンスモードを解除するという方法です。メンテナンスモード中は増設ノードのキャパシティはvSANには使用されないためです。


・vSAN環境でESXiノードをクラスタから切り離す場合、残すノードへ全データの移行を行うと思いますが、
この時もvSANリバランス時と同じレベルのパフォーマンス影響が出ると思ってよいでしょうか?
その通りです。これもやはりデータが既存ノードに移動されるため、仮想マシンのサイズが大きい場合、数が多い場合は比例的に上がると言えます。

Yamato Sakai
Technical Training Instructor | Dell Technologies Education
VCP-DCV 5,6.x, 2020, 2021
VCIX-DCV
VCIX-NV
vSAN HCI Master Specialist
kawaman
Leadership
Leadership
Jump to solution

いくつか補足します。

vSAN構成での運用について、vSANのリバランスを起こさないことがベストプラクティスとだという
> 認識ですが、これが発生するとおおよそどれぐらいのパフォーマンス影響が発生するものでしょうか?

現在の vSAN 7.x ではリバランスに関しては各ドライブの利用率の差分で自動リバランスする設定が可能ですので、
アンバランスのまま運用するより均等に分散させる運用が推奨されますので、リバランスを起こさない事がベストプラクティスというわけではありません。

また、リバランス発生時の IO 性能に関して、vSAN 6.7 で導入された Adaptive Resync、6.7u3 で導入された Parallel Resync によりバックエンドの Resync Traffic を割と適正に制御していますので仮想マシン側への性能影響はかなり抑えられます。

Adaptive Resync in vSAN
https://core.vmware.com/resource/adaptive-resync-vsan

実際に一定 IO 負荷かけ続けた状態で Resync が始まった状態でパフォーマンスグラフを確認すると、
仮想マシン側の IOPS・
スループットは一定状態ですが、バックエンドの通信では "リカバリ書き込み" に関する IO が上乗せされ、リカバリ書き込みの通信がバーストしないように対象の通信にのみ遅延を意図的に入れて制御する動作が確認できます。

image (3).png

上記の Core TechZone の記事にもありますが、Resync 中に仮想マシン IO やその他の IO と競合して帯域を食いつぶさないように、競合時には 20% までが Resync に利用され、残り 80% が仮想マシンなどのその他の通信で利用できるように調整されます。
※ 以前の vSAN では手動で MBps 単位で再同期の帯域制御を設定しましたが、現在は Adaptive Resync がその役割を担っています。

 

> これぐらい業務用のIOPSが下がるとか、CPU使用率が上がるとか、もしなにか指標などあれば情報をいただけますでしょうか。

性能影響への目安は非常に難しいところで、上記の様に 20:80 で制御しなければならないくらい仮想マシン IO が高い環境下ならば性能が  IO 性能は 20% 低下する可能性があります。

それ以上にノード数や構成されるドライブ構成によっても Resync IO がどの程度発生して、どの範囲に分散されるかによってもノード当たりの IO 負荷は異なりますし、ドライブの種別(SSD or HDD、NVMe or SAS or SATA、SSD そのものの性能差など)によっても大きく異なってきます。
一般的には Queue Depth の大きい SAS、NVMe のドライブで構成していただく方が SATA ドライブよりも高い性能を安定的に提供可能です。

ベンチマークテストで負荷を掛けたり、何等か高負荷 IO のシステムが動作しているなどの状況でない限り、
基本的には上記の Adaptive Resync が影響を最小限に制御してくれるはずです。

 

> ・vSANのリバランスはvSANクラスタへの新しいノードを追加する時や、ノードを撤去するときにも発生する可能性はあるものでしょうか?

元のノードに搭載されたドライブの利用率が 80% を超えている場合には、新規ノードを追加した際に強制的にリバランスが開始されてしまうため IO 影響を気にされる場合は Yamato さんが記されたように、負荷の少ない時間帯にメンテナンスモードを解除するのが良いです。

そうでない場合で、vSAN 7.0 以降をご利用ならば "自動リバランス" をオフにしておき、リバランスを開始したいときにオンにする事が可能です。

Capt_20210825_005.png

 

> ・vSAN環境でESXiノードをクラスタから切り離す場合、残すノードへ全データの移行を行うと思いますが、
> この時もvSANリバランス時と同じレベルのパフォーマンス影響が出ると思ってよいでしょうか?

こちらはご認識の通りです。

新旧のハードウェアでクラスタ内で玉突きでサーバのリプレイスを行う場合には、
・新規サーバをクラスタに追加、データのリバランスを実施
・旧サーバを1台「データの全移行」でメンテナンスモードへ、データの退避が完了後クラスタから取り外し
・旧サーバの台数分、繰り返す
という流れになります。

ご参考まで、、、

pooky3
Enthusiast
Enthusiast
Jump to solution

VM_Yamato さん
kawaman さん


ご丁寧なご解説、大変感謝いたします。ありがとうございます。


やはり、どれぐらいのパフォーマンス影響がでるのかを予測することは
なかなか難しいことなのですね。
ただ、vSAN 6.7 で導入された Adaptive Resync、6.7u3 で導入された Parallel Resync
という機能があって、最近はかなりパフォーマンス改善がされているとのこと、勉強になりました。
とはいえ、やはり業務のピーク時間にリバランスを走らすことは避けるほうがよい、ということも理解しました。


すいません、もう一つ以下教えていただきたいのですが、


・記載いただいた以下のような手順でデータのリバランスを発生させた場合に想定外の業務影響が発生したとして、
リバランスやデータの全移行の一時停止や、切り戻しのようなことは可能なのでしょうか?


新旧のハードウェアでクラスタ内で玉突きでサーバのリプレイスを行う場合には、
・新規サーバをクラスタに追加、データのリバランスを実施
・旧サーバを1台「データの全移行」でメンテナンスモードへ、データの退避が完了後クラスタから取り外し
・旧サーバの台数分、繰り返す


よろしくお願いいたします。

0 Kudos
kawaman
Leadership
Leadership
Jump to solution

例えば全データ移行でメンテナンスモードを設定した場合は、メンテナンスモードへの進捗タスクの右わきにある X マークのキャンセルすれば ESXi は通常状態に戻り、移行が開始されていたデータ再配置も中止されます。

自動リバランスの場合、一度データの再配置が始まると途中でのキャンセルは出来ないようです ※訂正※ キャンセルも可能でした。

※ 追記
容量差分が大きい状況を作り、リバランス開始後に自動リバランスを無効にしてしばらく様子を見ていたところ、しばらく転送が続いたのちに予定より早く終了しました。
一度にキューに入る容量があり、その分だけリバランスしたら無効になる、そんな動きの様でした。

リバランス開始後に以前のバージョンにあったようなスループットどうしても帯域制御したい、という場合には PowerCLI 等で vSAN のオブジェクト再同期の帯域制御を設定する方法がありますが、この操作が今後のバージョンでも利用可能かどうかは不明です。
参考までに以下に手順まとめているのでご紹介します。

https://kwmtlog.blogspot.com/2021/07/powercli-vsan-resync-throttling.html

 

pooky3
Enthusiast
Enthusiast
Jump to solution

kawamanさん


ご回答ありがとうございます。
自動リバランスの場合は途中のキャンセルは不可なのですね。
作業時間などを慎重に検討しようと思います。

0 Kudos
kawaman
Leadership
Leadership
Jump to solution

自動リバランス開始後のキャンセルについて、差分容量を増やして改めて試してみたところ一定量転送後に停止する事が確認できました。
即停止、というわけではなく恐らく環境による一定量単位で転送がセットされ、その分が転送しきったら停止となる様です。

※ 先のコメントに訂正と追記をしておりますのでご確認ください。

ちなみに、自動リバランス自体は設定した差分の閾値の「半分」にそれぞれのドライブの差分が収まるまで実行されます。
例えば、各ドライブの容量差分が大きい状態(ドライブA 1TB の 80% 消費、ドライブ B 1TB の 0% 消費)で自動リバランスの閾値を 20% で有効にすると A と B の容量差分が 10% になるまでリバランスされるため、A → B に 350GB 転送され A 45% B 35% の容量消費で落ち着きます。

この転送量を少な目に抑えたい場合は、閾値の設定を高めにする事で 1回のリバランス時の転送量を少なくする事が可能で、
日を変えて閾値を下げていくことで夜間のメンテナンス時間に収まる転送量などに設定する事も可能かと思います。

詳細は以下の KB にて紹介されております(日本語表示だと情報量が古くて少ないので英語表示でご確認ください)

0 Kudos