機械学習によるVM配置の最適化

羽鳥 正明

ティントリジャパン合同会社 マーケティング本部 マーケティング本部長

Tintri VMスケールアウトは実証済みの機械学習アルゴリズムを使用して、複数のTintriストレージシステム間でVMの分散を最適化します。

ここで知っていただきたいこと

  • VMスケールアウト機械学習を使用して、複数のストレージシステム間でVMの配置を最適化します。
  • 予測アルゴリズムのアンサンブルを使用して、各VMの将来の容量要件とパフォーマンス要件を正確に予測します。
  • 推奨事項に従うことで、VMの配置を最適化し、手作業を削減し、パフォーマンスを保証し、運用効率を向上させてコストを削減します。

Tintri に搭載されているソフトウェア「Tintri OS」は、日々のインフラ管理を簡素化することが可能となる自立運用を支援します自律的な運用が実現すると運用チームのメンバーは日常的な管理から解放されて、より価値の高い業務に携わることができます。TintriストレージがVM単位で管理できることで、日々の運用がどのように簡素化されるかをご紹介します。ここでは、複数のストレージノード間でVMの配置を最適化するVMスケールアウトを行うための機械学習について説明します。

VM管理の課題

VMの配置を最適化することは、ほとんどのITチームにとって大きな課題です。また、個々のVMのサイズが大きくなり、開発サイクルが速くなり、開発やテストに必要なVMの数が増えるにつれて、課題も増えていきます。自動化によってこの問題を解決しようと思っても、以下のような制限があります。

  • 一部のソリューションでは、容量またはIOPSのしきい値を超えてからの再配置を推奨しています。
  • LUNまたはボリュームレベルのデータは、不適切な推測のもと、最適なVM配置を判断することが困難です。
  • パフォーマンスへの影響や移行を完了する時間が読めません。
  • パフォーマンスの問題を解決できないがために、再配置を考えることになりかねません。

Tintri VMスケールアウトは、次の課題を解決します。

  • 各VMのストレージ容量とパフォーマンスニーズの完全な画像に基づいてVMの配置を最適化します。
  • 最適なVMの配布を維持するために、最小限のコストで推奨される時間、帯域幅、要領を節約できます。
  • 推奨事項を編集するたびに学習し、よりきめ細かな制御を提供します。

Tintri VMスケールアウトにおける機械学習

VMのスケールアウトにより、リアルタイムの容量とパフォーマンスデータを使用して各VMに最適な配置を推奨します。推奨事項はストレージシステムの履歴データから機械学習で最適解を求めます。アルゴリズムは、しきい値ベースの意思決定よりも計算的に集中していますが、最新の利用可能なデータを使用して変化する条件に迅速に対応できるように効率的に設計されています。モデル作成の最終目標は、各VMの動作を正確に予測して、複数のストレージアレイにわたる最適なVMプレースメントを決定することです。

過剰なリソースを消費することや他のアクティビティを妨げることなく、各ストレージアレイで計算が実行されます。Tintri Global Center(TGC)は、個々のアレイから情報を集め、環境全体の全体像を把握し、移行の影響を最小限に抑えながら容量とパフォーマンスを最適化する変更を推奨します。管理者は推薦事項を納得して受け入れることで、ノードにまたがるVMの再配置が行われます。

スケールアウトストレージプラットフォーム

機械学習によるVM配置の最適化によるコスト削減

ストレージの空き容量を予測するために、複数の予測変数を定義しました。実際のお客様の環境からのデータを使用して、単一の予測アルゴリズムを使用するよりも、このアプローチがより正確であることがわかりました。

2つの予測変数は統計学で言う「線形回帰」を使用します過去1週間または過去1ヶ月の履歴に基づいて、データにトレンドラインを当てはめるとともに、そのラインの周りに「エラー」がどれほど大きいかをモデル化します。これにより、さまざまな結果が得られます。

3番目の予測は「モンテカルロシミュレーションです。先行する月と同じ変化の分布(正と負の両方)があると仮定して、将来の行動をモデル化する。時間ステップごとに、過去のポイントを選択し、そのスペースの使用量を加算または減算します。1週間にモンテカルロシミュレーションを複数回実行することで、最終的な分析で他の2つの予測変数の結果と組み合わされる可能性のある結果が得られます。

低コストでVM配置を最適化する機械学習によるスケールアウト

将来のパフォーマンスニーズの予測

将来のパフォーマンスニーズを予測するために、いくつかの予測変数を使用します。次の週が前の週の1週間と同じであると仮定して始めます。これは過去4週間の行動を「平均化」するのと似ていると考えることができますが、厳密には平均化ではないため予測の範囲が広がります。

パフォーマンスのための第2の予測子は、観測された負荷を対数正規分布に適合させ、それを使用してある範囲の予測を生成します。2つのプレディクタは重み付けされ、組み合わされて、各VMの今後のパフォーマンス要件を予測する最終的な分析を生成します。

ストレージを拡張するよりスマートなアプローチ

Tintriでは、最もシンプルな管理経験を実現することを目標としています。さまざまな機械学習のアルゴリズムを使用して、将来の容量、パフォーマンス、およびワーキングセットを正確に予測することで、VMの手動ロードバランシングに費やす時間を削減できます。その結果、Tintriは自律的に動作し、スマートな推奨事項を作成すると同時に、独自の要件に対処するきめ細かな制御を提供します。