predictive DRSの使いどころを考える。
本記事では、vSphere 6.5から実装されたpredictive DRSの使いどころについて考えます。
現状 日本語で情報があまり出ていないので、使用するかどうか 検討の一助となれば。
Predictive DRSの基本
Predictive DRSは、vSphere DRS(Distributed Resource Scheduler)とvROps(vRealize Operations)を
連携させることで、仮想マシンの配置とリソースのバランスをPredictive(予測)して最適化するための機能です。
そもそもDRSは①仮想マシンの作成/起動 ②5分毎にCPU,memoryリソースをチェックすることで
設定されている移行の閾値に応じてリソースの最適化を行います。
複数のリソースプールがあれば、リソースプール毎に最適化されます。
**vSphere 6.5からはNetwork Aware という機能により物理NICリソースも考慮されます
移行の閾値 は "3" が Defaultの値です。
"1" だとメンテナンスモード実施時のみDRSが動作します。
実際の設定箇所だと以下。
Predictive DRSは、利用状況やペースを把握/分析することに用いられるvROpsと連携する事で、
より「リソース管理の効率化」を果たすことを目的とした機能です。
本機能を使用するためには、vROpsとvCenter Server 両方で有効化します。
なお、vRealize Operations Manager と vCenter Server それぞれでクロックを同期させる必要があります。
## vROps
## vCenter Server
Predictive DRSで抑えるべきポイント
抑えるポイントは以下2つです。
1.Predictive DRSは有効化されてから14日後に初めて恩恵を受ける
有効化して13日目までは、通常のDRSに基づいて動作します。
これは14日間を利用してリソース配分の予測値を算出するためです。
時間が経過するにつれ、予測の精度は上昇します。
2.リソースの移行を判断するメトリックはMAX(A,B)ルールに基づく
MAX(A,B) = MAX(現在の使用率,予測使用率)
ⅰ.予測使用率よりも現在の使用率が高い場合...
現在の使用率を基にリソースの移行を検討します。
ⅱ.予測使用率よりも現在の使用率が低い場合...
予測使用率を"現在の使用率"として扱い,
先んじて"今後想定されるリソース配分率"になるようDRSが動作します。
つまり、Predictive DRSは"今後想定されるリソース使用率の上昇"に基づき動作します
Predictive DRSの使いどころ
Predictive DRSは、「ある程度予測可能な周期的リソース変動」に対して効果を発揮しそうですね。
✅ 24h/365d TurnOverで利用されるVDI環境での ログイン/ログオフストーム
✅ ECサービス環境での定期セールによるアクセス上昇
✅ 動画定期配信サービス環境での接続数上昇
翻って、突発的なリソース消費には対応が難しそうです。
例えば、ノード障害やメンテナンスでDRSが頻繁に動作した際、
Predictive DRSを有効化して日が浅いと想定していないリソース配分が実行される可能性がありますね。
長く利用していくことで徐々に精度があがり、効果を発揮していきそうです。
参考資料:
- New vSphere 6.5 DRS White Paper released
https://blogs.vmware.com/vsphere/2018/04/new-vsphere-6-5-drs-white-paper-released.html
- VMware World 2017 : Extreme Performance Series: Predictive DRS - Performance and Best Practices
https://static.rainfocus.com/vmware/vmworldeu17/sess/1496368002323001drsB/finalpresentationPDF/SER2849BE_EMEA_1507847103171001IH7z.pdf
- INF7827 DRS Best Practices
https://www.slideshare.net/BrianJGraf/inf7827-drs-best-practices
- vSphere Predictive DRS の構成
https://docs.vmware.com/jp/vRealize-Operations-Manager/6.4/com.vmware.vcom.core.doc/GUID-D830E36D-08A3-4D1A-87EC-0EC6217D1761.html