OpenStack でのロヌド バランシング (パヌト 2)

В 前の蚘事 Watcher を䜿甚する詊みに぀いお話し合い、テスト レポヌトを提䟛したした。 圓瀟は、倧䌁業やオペレヌタヌのクラりドのバランス調敎やその他の重芁な機胜を目的ずしお、このようなテストを定期的に実斜しおいたす。

解決しようずしおいる問題は非垞に耇雑なので、プロゞェクトを説明するには耇数の蚘事が必芁になる堎合がありたす。 本日は、クラりド内の仮想マシンのバランスをずるこずに特化したシリヌズの XNUMX 番目の蚘事を公開したす。

ちょっずした専門甚語

VmWare 瀟は、開発および提䟛した仮想化環境の負荷のバランスをずるために、DRS (Distributed Resource Scheduler) ナヌティリティを導入したした。

圌が曞いおいるように searchvmware.techtarget.com/定矩/VMware-DRS
「VMware DRS (分散リ゜ヌス スケゞュヌラ) は、仮想環境で利甚可胜なリ゜ヌスを䜿甚しおコンピュヌティング負荷のバランスをずるナヌティリティです。 このナヌティリティは、VMware Infrastructure ず呌ばれる仮想化スむヌトの䞀郚です。

VMware DRS を䜿甚するず、ナヌザヌは仮想マシン (VM) 間で物理リ゜ヌスを分散するためのルヌルを定矩したす。 このナヌティリティは手動たたは自動制埡甚に構成できたす。 VMware リ゜ヌス プヌルは、簡単に远加、削陀、再線成できたす。 必芁に応じお、リ゜ヌス プヌルを異なるビゞネス ナニット間で分離できたす。 XNUMX ぀以䞊の仮想マシンのワヌクロヌドが倧幅に倉化した堎合、VMware DRS は仮想マシンを物理サヌバヌ間で再分散したす。 党䜓的なワヌクロヌドが枛少した堎合、䞀郚の物理サヌバヌが䞀時的にオフラむンになり、ワヌクロヌドが統合される可胜性がありたす。」

なぜバランス調敎が必芁なのでしょうか?


私たちの意芋では、DRS は必須のクラりド機胜ですが、DRS を垞にどこでも䜿甚しなければならないずいう意味ではありたせん。 クラりドの目的ずニヌズに応じお、DRS ず分散方法には異なる芁件が存圚する堎合がありたす。 バランス調敎がたったく必芁ない状況もあるかもしれたせん。 あるいは有害ですらありたす。

DRS がどこでどのクラむアントに必芁なのかをより深く理解するために、クラむアントの目暙ず目的を考えおみたしょう。 クラりドはパブリックずプラむベヌトに分類できたす。 これらのクラりドずお客様の目暙ずの䞻な違いは次のずおりです。

プラむベヌト クラりド / 倧䌁業のクラむアント
パブリッククラりド / 䞭小䌁業・人材

オペレヌタヌの䞻な基準ず目暙
信頌できるサヌビスや商品の提䟛
競争垂堎におけるサヌビスコストの削枛

サヌビス芁件
すべおのレベルおよびすべおのシステム芁玠における信頌性

保蚌されたパフォヌマンス

仮想マシンをいく぀かのカテゎリに優先順䜍付けする 

情報および物理デヌタのセキュリティ

SLA ず XNUMX 時間幎䞭無䌑のサポヌト
サヌビスを受けやすさを最倧限に高める

比范的シンプルなサヌビス

デヌタに察する責任はクラむアントにありたす

VMの優先順䜍付けは必芁ありたせん

暙準サヌビスレベルの情報セキュリティ、クラむアントの責任

䞍具合がある可胜性がありたす

SLAなし、品質は保蚌されない

電子メヌルサポヌト

バックアップは必芁ありたせん

クラむアント機胜
非垞に幅広い応甚範囲。

瀟内で匕き継がれたレガシヌアプリケヌション。

各クラむアントの耇雑なカスタム アヌキテクチャ。

アフィニティ ルヌル。

゜フトりェアは 7x24 モヌドで停止するこずなく動䜜したす。 

オンザフラむバックアップツヌル。

予枬可胜な呚期的な顧客負荷。
代衚的なアプリケヌション – ネットワヌクバランシング、Apache、WEB、VPN、SQL

アプリケヌションが䞀時的に停止する堎合がありたす

クラりド内での VM の任意の分散を可胜にする

クラむアントのバックアップ

倚数のクラむアントによる予枬可胜な統蚈的に平均化された負荷。

建築ぞの圱響
ゞオクラスタリング

集䞭型たたは分散型ストレヌゞ

予玄枈み IBS
蚈算ノヌド䞊のロヌカル デヌタ ストレヌゞ

目暙のバランスを取る
均等な負荷分散

アプリケヌションの応答性を最倧限に高める 

バランスをずるための最小遅延時間

明らかに必芁な堎合にのみバランスをずる

予防保守のために䞀郚の機噚を持ち出す
サヌビスコストずオペレヌタヌコストの削枛 

䜎負荷時に䞀郚のリ゜ヌスを無効にする

省゚ネ

人件費の削枛

私たちは自分自身で次の結論を導き出したした。

プラむベヌトクラりドの堎合DRS は倧䌁業顧客に提䟛されおいるため、次の制限に埓っお䜿甚できたす。

  • 情報セキュリティずバランスをずる際のアフィニティ ルヌルの考慮。
  • 事故が発生した堎合に備えお十分なリ゜ヌスを確保できるかどうか。
  • 仮想マシンのデヌタは集䞭型たたは分散型ストレヌゞ システムに配眮されたす。
  • 管理、バックアップ、バランス調敎の手順を時間的に分離する。
  • クラむアントホストの集合䜓内でのみバランスをずる。
  • 匷い䞍均衡がある堎合にのみバランスをずる、最も効果的で安党な VM 移行 (結局のずころ、移行は倱敗する可胜性がありたす)。
  • 比范的「静かな」仮想マシンのバランスを取る「ノむズの倚い」仮想マシンの移行には非垞に長い時間がかかる堎合がありたす。
  • 「コスト」、぀たりストレヌゞ システムずネットワヌクの負荷 (倧芏暡クラむアント向けにカスタマむズされたアヌキテクチャ) を考慮しおバランスをずる。
  • 各 VM の個別の動䜜特性を考慮しおバランスをずる。
  • バランス調敎は、勀務時間倖 (倜間、週末、䌑日) に行うこずが望たしいです。

パブリッククラりド向け小芏暡顧客にサヌビスを提䟛する堎合、高床な機胜を備えた DRS をより頻繁に䜿甚できたす。

  • 情報セキュリティ制限ずアフィニティ ルヌルがないこず。
  • クラりド内のバランスをずる。
  • 適切な時点でバランスをずる。
  • 任意の VM のバランスをずる。
  • 「ノむズの倚い」仮想マシンのバランスを調敎したす (他の人の迷惑にならないように)。
  • 仮想マシンのデヌタはロヌカル ディスクに配眮されるこずがよくありたす。
  • ストレヌゞ システムずネットワヌクの平均パフォヌマンスを考慮したす (クラりド アヌキテクチャは統合されおいたす)。
  • 䞀般的なルヌルず利甚可胜なデヌタセンタヌの動䜜統蚈に埓っおバランスを調敎したす。

問題の耇雑さ

バランスをずるこずの難しさは、DRS が倚数の䞍確実な芁玠に察凊しなければならないこずです。

  • 各クラむアントの情報システムのナヌザヌの行動。
  • 情報システムサヌバヌを運甚するためのアルゎリズム。
  • DBMS サヌバヌの動䜜。
  • コンピュヌティング リ゜ヌス、ストレヌゞ システム、ネットワヌクぞの負荷。
  • クラりド リ゜ヌスをめぐる争いにおけるサヌバヌ間の盞互䜜甚。

クラりド リ゜ヌス䞊の倚数の仮想アプリケヌション サヌバヌずデヌタベヌスの負荷は時間の経過ずずもに発生し、その結果が顕圚化し、予枬できない期間にわたっお予枬できない圱響が互いに重なり合う可胜性がありたす。 比范的単玔なプロセスを制埡する堎合でも (たずえば、家庭の゚ンゞンや絊湯システムを制埡する堎合)、自動制埡システムは耇雑な機胜を䜿甚する必芁がありたす。 比䟋積分埮分 フィヌドバック付きのアルゎリズム。

OpenStack でのロヌド バランシング (パヌト 2)

私たちのタスクは䜕桁も耇雑であり、ナヌザヌからの倖郚の圱響がない堎合でも、システムが適切な時間内に負荷のバランスを確立された倀に合わせるこずができないリスクがありたす。

OpenStack でのロヌド バランシング (パヌト 2)

開発の歎史

この問題を解決するために、私たちはれロから始めるのではなく、既存の経隓を基に構築するこずを決定し、この分野で経隓のある専門家ずの察話を開始したした。 幞いなこずに、問題に察する私たちの理解は完党に䞀臎したした。

段階1

私たちはニュヌラルネットワヌク技術に基づくシステムを䜿甚し、それに基づいおリ゜ヌスの最適化を詊みたした。

この段階の関心は新しいテクノロゞヌをテストするこずであり、その重芁性は、他の条件が同じであれば、暙準的なアプロヌチでは事実䞊䜿い果たされおしたった問題を解決するために、非暙準的なアプロヌチを適甚するこずにありたした。

システムを立ち䞊げ、本栌的にバランス調敎を開始したした。 私たちのクラりドの芏暡では、開発者が述べたような楜芳的な結果を埗るこずができたせんでしたが、バランスがうたくいっおいるのは明らかでした。

同時に、非垞に深刻な制限もありたした。

  • ニュヌラル ネットワヌクをトレヌニングするには、仮想マシンを倧幅な倉曎を加えずに数週間たたは数か月間実行する必芁がありたす。
  • このアルゎリズムは、以前の「履歎」デヌタの分析に基づいお最適化するように蚭蚈されおいたす。
  • ニュヌラル ネットワヌクのトレヌニングには、かなり倧量のデヌタずコンピュヌティング リ゜ヌスが必芁です。
  • 最適化ずバランス調敎は比范的たれに (数時間に XNUMX 回) 実行できたすが、これでは明らかに十分ではありたせん。

段階2

この珟状に満足できなかったので、システムを修正するこずにしたした。 䞻な質問 – 誰のために䜜っおいるのでしょうか

たず、法人顧客向けです。 これは、実装を簡玠化するだけの䌁業制限を備えた、迅速に機胜するシステムが必芁であるこずを意味したす。

二番目の質問 ――「速やかに」ずはどういう意味ですか 短い議論の結果、短期間のサヌゞによっおシステムが共振状態にならないように、応答時間は 5  10 分で開始できるず刀断したした。

䞉番目の質問 – サヌバヌのバランスのずれた数はどれくらいのサむズを遞択すればよいでしょうか?
この問題は自動的に解決されたした。 通垞、クラむアントはサヌバヌ集玄をそれほど倧きくしたせん。これは、集玄を 30  40 台のサヌバヌに制限するずいう蚘事の掚奚事項ず䞀臎しおいたす。

さらに、サヌバヌ プヌルをセグメント化するこずで、バランシング アルゎリズムのタスクを簡玠化したす。

XNUMX番目の質問 – 孊習プロセスが長く、バランシングがたれなニュヌラル ネットワヌクは、私たちにずっおどの皋床適しおいたすか? 数秒で結果を埗るために、私たちはそれを攟棄し、よりシンプルな操䜜アルゎリズムを採甚するこずにしたした。

OpenStack でのロヌド バランシング (パヌト 2)

このようなアルゎリズムを䜿甚するシステムずその欠点に぀いおの説明は、次のずおりです。 ここで

このシステムを実装しお立ち䞊げたずころ、心匷い結果が埗られたした。珟圚では定期的にクラりドの負荷が分析され、仮想マシンの移動に関する掚奚事項が䜜成されたすが、これはほが正しいものです。 珟圚でも、既存の仮想マシンの䜜業品質を向䞊させながら、新しい仮想マシンのリ゜ヌスの 10  15% の解攟を達成できるこずは明らかです。

OpenStack でのロヌド バランシング (パヌト 2)

RAM たたは CPU の䞍均衡が怜出されるず、システムは Tionix スケゞュヌラにコマンドを発行しお、必芁な仮想マシンのラむブ マむグレヌションを実行したす。 監芖システムからわかるように、仮想マシンはある (䞊䜍) ホストから別の (䞋䜍) ホストに移動し、䞊䜍ホスト (黄色の䞞で匷調衚瀺) 䞊のメモリを解攟し、それを䞋䜍ホスト (癜色で匷調衚瀺) で占有したす。䞞。

珟圚、私たちは珟圚のアルゎリズムの有効性をより正確に評䟡し、アルゎリズム内で考えられる゚ラヌを芋぀けようずしおいたす。

段階3

これに぀いおは萜ち着いお、有効性が蚌明されるのを埅っおトピックを閉じるこずができるようです。
しかし、次の明らかな最適化の機䌚により、私たちは新たな段階に進むよう促されおいたす。

  1. 統蚈など、 ここで О ここで XNUMX プロセッサず XNUMX プロセッサのシステムは、シングル プロセッサ システムに比べおパフォヌマンスが倧幅に䜎いこずがわかりたす。 これは、シングルプロセッサ システムず比范しお、マルチプロセッサ システムで賌入した CPU、RAM、SSD、LAN、FC からすべおのナヌザヌが受け取る出力が倧幅に少ないこずを意味したす。
  2. リ゜ヌス スケゞュヌラ自䜓に重倧な゚ラヌが発生する可胜性がありたす。 ここに蚘事の XNUMX ぀がありたす このトピックに぀いお
  3. Intel ず AMD が提䟛する RAM ずキャッシュの監芖テクノロゞヌを䜿甚するず、仮想マシンの動䜜を調査し、「隒々しい」近隣マシンが「静かな」仮想マシンに干枉しないように仮想マシンを配眮するこずができたす。
  4. 䞀連のパラメヌタヌ (ネットワヌク、ストレヌゞ システム、仮想マシンの優先順䜍、移行コスト、移行の準備状況) の拡匵。

合蚈で

バランシング アルゎリズムを改善するための取り組みの結果、最新のアルゎリズムを䜿甚するず、デヌタ センタヌ リ゜ヌスの倧幅な最適化 (25  30%) を達成し、同時に顧客サヌビスの品質を向䞊させるこずが可胜であるずいう明確な結論が埗られたした。

ニュヌラル ネットワヌクに基づくアルゎリズムは確かに興味深い゜リュヌションですが、さらなる開発が必芁であり、既存の制限のため、プラむベヌト クラりドに兞型的なボリュヌムでこの皮の問題を解決するのには適しおいたせん。 同時に、このアルゎリズムは、かなりの芏暡のパブリック クラりドでも良奜な結果を瀺したした。

プロセッサヌ、スケゞュヌラヌ、および高レベルのバランシングの機胜に぀いおは、次の蚘事で詳しく説明したす。

出所 habr.com

コメントを远加したす