JP2018133005A - 制御装置及び制御方法 - Google Patents

制御装置及び制御方法 Download PDF

Info

Publication number
JP2018133005A
JP2018133005A JP2017027338A JP2017027338A JP2018133005A JP 2018133005 A JP2018133005 A JP 2018133005A JP 2017027338 A JP2017027338 A JP 2017027338A JP 2017027338 A JP2017027338 A JP 2017027338A JP 2018133005 A JP2018133005 A JP 2018133005A
Authority
JP
Japan
Prior art keywords
cluster
traffic
virtual machine
synchronization
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017027338A
Other languages
English (en)
Other versions
JP6668275B2 (ja
Inventor
このみ 望月
Konomi Mochizuki
このみ 望月
山崎 裕史
Yasushi Yamazaki
裕史 山崎
菊池 利典
Toshinori Kikuchi
利典 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017027338A priority Critical patent/JP6668275B2/ja
Publication of JP2018133005A publication Critical patent/JP2018133005A/ja
Application granted granted Critical
Publication of JP6668275B2 publication Critical patent/JP6668275B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】同期用ネットワークの帯域競合を防止することができる。
【解決手段】プライマリ仮想マシン及びセカンダリ仮想マシンにより冗長化された仮想マシンが動作する物理サーバのクラスタ構成を管理する管理サーバと接続される制御装置であって、ユーザトラフィック量から、前記プライマリ仮想マシンと、前記セカンダリ仮想マシンとの間の同期トラフィック量を算出する第1の算出部と、前記第1の算出部により算出された前記同期トラフィック量から、前記クラスタ毎の前記同期トラフィック量の合計を示す同期トラフィック総量を算出する第2の算出部と、前記第2の算出部により算出された前記同期トラフィック総量が、所定の閾値を超えているか否かを判定する判定部と、前記判定部により前記同期トラフィック総量が前記閾値を超えていると判定された場合、該同期トラフィック総量に対応するクラスタの分割指示を前記管理サーバに通知する通知部と、を有する。
【選択図】図5

Description

本発明は、制御装置及び制御方法に関する。
仮想マシン(VM:Virtual Machine)が動作する物理サーバが障害等によりダウンした場合、別の物理サーバで当該VMを動作させるVM冗長化技術が知られている(非特許文献1)。
このようなVM冗長化技術として、クラスタを構成する複数の物理サーバのうち、プライマリVMが動作する物理サーバ以外の他の物理サーバ上にセカンダリVMを作成して、プライマリVMとセカンダリVMとの間で処理を同期させる技術が知られている。これにより、プライマリVMが動作する物理サーバに障害等が発生した場合、セカンダリVMに切り替えることで、VMの動作を継続させることができる。切り替え後は、当該セカンダリVMがプライマリVMとして動作すると共に、同一クラスタ内の他の物理サーバ上にセカンダリVMが作成され、再びVMの冗長化が図られる。
ここで、各種のインプット情報(例えば、パケットデータ、キーボード入力データ等)がプライマリVMに入力された場合、同期用ネットワークを介して、当該インプット情報と同一の情報(以降、「同期トラフィック」と表す。)がセカンダリVMに送信される。そして、プライマリVMとセカンダリVMとでインプット情報に対して同一の処理が実行される。
このとき、同期確認のため、セカンダリVMは、同期トラフィックの到達確認応答をプライマリVMに対して送信する。また、プライマリVMは、当該到達確認応答を受信してからインプット情報に対する処理を実行する。これにより、プライマリVMとセカンダリVMとの間で確実な同期が図られている。なお、セカンダリVMで実行された処理の出力はハイパーバイザで削除される。以降では、一例として、VMに対するインプット情報は、VMが処理するパケットデータ(以降、「ユーザトラフィック」と表す。)であるものとして説明する。また、簡単のため、ユーザトラフィック量と、同期トラフィック量とは等しいものとして説明する。
しかしながら、複数の物理サーバで構成されるクラスタ内で複数のプライマリVMが動作し、かつ、それぞれのプライマリVMがセカンダリVMで冗長化されている場合、セカンダリVMの位置によっては同期用ネットワークで帯域競合が発生する場合があった。
例えば、図1に示すように、物理サーバ#1〜物理サーバ#6で構成されるクラスタにおいて、プライマリVM#1が物理サーバ#1、プライマリVM#2が物理サーバ#5、セカンダリVM#1及びセカンダリVM#2が物理サーバ#3で動作しているものとする。また、各物理サーバ#1〜#6は、スイッチを介して、通信帯域が10Gbpsの同期用ネットワークで接続されているものとする。
このとき、例えば、8GbpsのユーザトラフィックがプライマリVM#1に入力された場合、プライマリVM#1からセカンダリVM#1への8Gbpsの同期トラフィックが発生する。同様に、例えば、10GbpsのユーザトラフィックがプライマリVM#2に入力された場合、プライマリVM#2からセカンダリVM#2への10Gbpsの同期トラフィックが発生する。したがって、この場合、スイッチと物理サーバ#3との間の同期用ネットワーク上で帯域競合が発生することがある。
このような帯域競合が発生した場合、セカンダリVMからプライマリVMへの到達確認応答が遅れ、プライマリVMの処理遅延が発生する等の問題があった。これに対して、VMライブマイグレーションによりセカンダリVMを別の物理サーバに移動することで、同期用ネットワークの帯域競合を回避できることが知られている。
例えば、図2に示すように、VMライブマイグレーションにより、セカンダリVM#2を物理サーバ#3から物理サーバ#4に移動させることで、同期用ネットワークにおける帯域競合を回避することができる。
"VMware vSphere FT", [online], [2016年12月19日検索], インターネット<URL:http://blogs.vmware.com/jp-cim/2014/02/ha-ft.html>
しかしながら、例えば、物理サーバに障害等が発生した場合や新たなVM(プライマリVM)が作成された場合に、新たなセカンダリVMが作成されると、再び帯域競合が発生することがある。例えば、図2に示したVMライブマイグレーションが行われた後、物理サーバ#2に障害等が発生したものとする。この場合、プライマリVM#1からセカンダリVM#1に動作が切り替わり、物理サーバ#3のセカンダリVM#1がプライマリVM#1として動作するようになる。このとき、当該プライマリVM#1の冗長化のため、セカンダリVM#1が作成されるが、図3に示すように、物理サーバ#4上にセカンダリVM#1が作成された場合、スイッチと物理サーバ#4との間の同期用ネットワーク上で再び帯域競合が発生する可能性がある。
本発明は、上記の点に鑑みてなされたものであって、同期用ネットワークの帯域競合を防止することを目的とする。
そこで、上記課題を解決するため、プライマリ仮想マシン及びセカンダリ仮想マシンにより冗長化された仮想マシンが動作する物理サーバのクラスタ構成を管理する管理サーバと接続される制御装置であって、前記仮想マシンに入力されるユーザトラフィック量から、前記プライマリ仮想マシンと、前記セカンダリ仮想マシンとの間の同期トラフィック量を算出する第1の算出部と、前記第1の算出部により算出された前記同期トラフィック量から、前記クラスタ毎の前記同期トラフィック量の合計を示す同期トラフィック総量を算出する第2の算出部と、前記第2の算出部により算出された前記同期トラフィック総量が、所定の閾値を超えているか否かを判定する第1の判定部と、前記第1の判定部により前記同期トラフィック総量が前記閾値を超えていると判定された場合、該同期トラフィック総量に対応するクラスタの分割指示を前記管理サーバに通知する通知部と、を有する。
同期用ネットワークの帯域競合を防止することができる。
同期トラフィックの帯域競合を説明する図である。 VMライブマイグレーションによる帯域競合の回避を説明する図である。 物理サーバの故障により再び帯域競合が発生する場合を説明する図である。 本発明の実施の形態におけるシステムの全体構成の一例を示す図である。 クラスタ再構成及びセカンダリVMの再配置の概要を説明する図である。 本発明の実施の形態におけるVM冗長構成管理装置のハードウェア構成の一例を示す図である。 本発明の実施の形態におけるVM冗長構成管理装置の機能構成の一例を示す図である。 本発明の実施の形態におけるユーザトラフィック量監視部が実行する処理の一例を示すフローチャートである。 本発明の実施の形態における同期トラフィック量算出部が実行する処理の一例を示すフローチャートである。 本発明の実施の形態におけるクラスタ構成算出部が実行する処理の一例を示すフローチャートである。 クラスタ分割の一例を説明する図である。 本発明の実施の形態における通知部が実行する処理の一例を示すフローチャートである。
以下、本発明の実施の形態について、図面を参照しながら説明する。
<全体構成>
まず、本発明の実施の形態におけるシステムの全体構成について、図4を参照しながら説明する。図4は、本発明の実施の形態におけるシステムの全体構成の一例を示す図である。
図4に示すように、本発明の実施の形態におけるシステムは、VM冗長構成管理装置10と、VM管理サーバ20とが含まれる。VM冗長構成管理装置10と、VM管理サーバ20とは、例えばLAN(Local Area Network)等の管理用ネットワークを介して通信可能に接続されている。
VM管理サーバ20は、各物理サーバ#1〜#6上のプライマリVM及びセカンダリVMを管理する1以上のコンピュータである。VM管理サーバ20は、管理用ネットワークを介して各物理サーバ#1〜#6と接続されている。
VM管理サーバ20は、例えば、VMのデプロイやリソース管理、物理サーバのクラスタリング等の種々の機能を有する。VM管理サーバ20は、VM冗長構成管理装置10からの要求に応じて、各物理サーバ#1〜#6上の各プライマリVMに入力されたユーザトラフィックのデータ量(以下、「ユーザトラフィック量」と表す。)の取得やVMライブマイグレーション、クラスタの再構成(クラスタの分割や統合等)等を行う。
各物理サーバ#1〜#6は、スイッチを介して、例えばLAN等の同期用ネットワークで接続されている。
なお、図4に示す例では、物理サーバが6台で構成されているが、これに限られない。物理サーバは任意の台数で構成されていても良い。また、図4に示す例では、物理サーバ#1〜#6上に、冗長化された5つのVM(プライマリVM#1〜#5及びセカンダリVM#1〜#5)が作成されているが、これに限られない。任意の台数の物理サーバ上に、任意の数のVMが作成されていても良い。
VM冗長構成管理装置10は、同一クラスタ内の同期トラフィックのデータ量(以下、「同期トラフィック量」と表す。)の合計に応じて、クラスタの再構成やセカンダリVMの再配置を制御する1以上のコンピュータである。
VM冗長構成管理装置10は、各物理サーバ#1〜#6上の各プライマリVMに入力されるユーザトラフィック量を監視することで、同一クラスタ内の同期トラフィック量の合計を算出する。そして、VM冗長構成管理装置10は、算出した同期トラフィック量の合計に応じて、クラスタ構成を決定する。その後、VM冗長構成管理装置10は、決定したクラスタ構成に応じて、セカンダリVMの再配置指示をVM管理サーバ20に通知した上で、クラスタ構成の変更指示をVM管理サーバ20に通知することで、クラスタの再構成やセカンダリVMの再配置を制御する。
なお、図4に示す例では、VM冗長構成管理装置10と、VM管理サーバ20とが別体で構成されているが、これに限られず、VM冗長構成管理装置10と、VM管理サーバ20とが一体で構成されていても良い。例えば、VM管理サーバ20が、VM冗長構成管理装置10が実現する各種機能(VM冗長構成管理機能)を有していても良い。
<クラスタ再構成及びセカンダリVMの再配置の概要>
ここで、クラスタ再構成及びセカンダリVMの再配置の概要について、図5を参照しながら説明する。図5は、クラスタ再構成及びセカンダリVMの再配置の概要を説明する図である。
VM冗長構成管理装置10は、各物理サーバ#1〜#6上の各プライマリVMに入力されるユーザトラフィック量を監視することで、クラスタ#1内の同期トラフィック量の合計を算出する(S1)。同期トラフィック量は、VM冗長構成管理装置10がVM管理サーバ20から各プライマリVMのユーザトラフィック量を取得することで算出することができる。
VM冗長構成管理装置10は、算出した同期トラフィック量の合計が所定の閾値を超過した場合(S2)、必要に応じてセカンダリVMの再配置を行った上で、クラスタ#1を「クラスタ#1−1」及び「クラスタ#1−2」に分割する(S3)。所定の閾値とは、同期用ネットワークの通信帯域に応じて予め決定される値である。当該閾値は、同期用ネットワーク上の同期トラフィック量の合計が当該閾値以下である場合には同期用ネットワーク上で帯域競合が生じないように決定される。
ここで、セカンダリVMの再配置が必要な場合とは、クラスタが分割されることで、プライマリVMが作成されている物理サーバと、当該プライマリVMに対応するセカンダリVMが作成されている物理サーバとが異なるクラスタとなる場合である。言い換えれば、クラスタ分割により、プライマリVMと、当該プライマリVMに対応するセカンダリVMとがクラスタを跨る場合である。
例えば、図5に示す例では、クラスタの分割前は、物理サーバ#1上にプライマリVM#3、物理サーバ#6上にセカンダリVM#3が作成されている。この場合、クラスタ分割により、プライマリVM#3と、セカンダリVM#3とがクラスタを跨ることとなる。したがって、この場合、セカンダリVM#3は、物理サーバ#1と同一クラスタ#1−1内の他の物理サーバ(すなわち、物理サーバ#2又は物理サーバ#3)上に再配置される。なお、図5に示す例では、セカンダリVM#3が物理サーバ#3上に再配置される場合を示している。
セカンダリVMの再配置は、VM冗長構成管理装置10がVM管理サーバ20にセカンダリVMの再配置指示を通知することで行うことができる。同様に、クラスタの分割は、VM冗長構成管理装置10がVM管理サーバ20にクラスタ構成の変更指示(クラスタの分割指示)を通知することで行うことができる。
ここで、例えば、物理サーバに障害等が発生して、プライマリVMからセカンダリVMに動作が切り替わった場合、切り替え後のプライマリVMの冗長化のため、VM管理サーバ20により、セカンダリVMが再作成される。このとき、当該セカンダリVMが作成される位置は、切り替え後のプライマリVMが動作している物理サーバと同一のクラスタ内の他の物理サーバとなる。したがって、クラスタの分割を行うことで、分割後のクラスタ内で同期トラフィック量が閾値を超える(すなわち、同期用ネットワーク上で帯域競合が発生する)ことを防止することができる。
一方で、分割後のクラスタ#1−1の同期トラフィック量の合計と、クラスタ#1−2の同期トラフィック量の合計との和が所定の閾値以下となった場合、VM冗長構成管理装置10は、これらのクラスタ#1−1及びクラスタ#1−2を統合する(S4)。クラスタの統合は、VM冗長構成管理装置10がVM管理サーバ20にクラスタ構成の変更指示(クラスタの統合指示)を通知することで行うことができる。
ここで、物理サーバのリソースの有効利用や物理サーバの多重障害への耐性向上等の観点から、可能な限り多くの物理サーバでクラスタを構成することが好ましい。したがって、統合後のクラスタ内の同期トラフィック量の合計が閾値を超えない場合には、クラスタの統合を行うことで、可能な限り多くの物理サーバでクラスタを構成することができる。
<ハードウェア構成>
次に、VM冗長構成管理装置10のハードウェア構成について、図6を参照しながら説明する。図6は、本発明の実施の形態におけるVM冗長構成管理装置10のハードウェア構成の一例を示す図である。
図6に示すように、VM冗長構成管理装置10は、外部I/F11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、CPU(Central Processing Unit)14と、通信I/F15と、補助記憶装置16とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
外部I/F11は、外部装置とのインタフェースである。外部装置には、記録媒体11a等がある。VM冗長構成管理装置10は、外部I/F11を介して記録媒体11a等の読み取りや書き込みを行うことができる。
記録媒体11aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
RAM12は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM13は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM13には、例えば、OS(Operating System)設定やネットワーク設定等が格納されている。
CPU14は、ROM13や補助記憶装置16等からプログラムやデータをRAM12上に読み出して処理を実行する演算装置である。通信I/F15は、VM冗長構成管理装置10をネットワークに接続するためのインタフェースである。
補助記憶装置16は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置16に格納されているプログラムやデータには、例えば、OS、当該OS上において各種機能を実現するアプリケーションソフトウェア、本実施形態における各種処理を実現するプログラム等がある。
なお、VM冗長構成管理装置10は、上記の各ハードウェアに加えて、例えば、ディスプレイ等の表示装置と、キーボードやマウス等の入力装置とを有していても良い。
本実施形態に係るVM冗長構成管理装置10は、図6に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
<機能構成>
次に、本発明の実施の形態におけるVM冗長構成管理装置10の機能構成について、図7を参照しながら説明する。図7は、本発明の実施の形態におけるVM冗長構成管理装置10の機能構成の一例を示す図である。
図7に示すように、本発明の実施の形態におけるVM冗長構成管理装置10は、ユーザトラフィック量監視部101と、同期トラフィック量算出部102と、クラスタ構成算出部103と、通知部104とを有する。これら各機能部は、VM冗長構成管理装置10にインストールされた1以上のプログラムが、CPU14に実行させる処理により実現される。
また、本発明の実施の形態におけるVM冗長構成管理装置10は、データ記憶部105を有する。当該データ記憶部105は、例えばRAM12や補助記憶装置16等の記憶装置を用いて実現可能である。なお、当該データ記憶部105は、VM冗長構成管理装置10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
ユーザトラフィック量監視部101は、各プライマリVMに入力されるユーザトラフィック量を監視して、ユーザトラフィック量をデータ記憶部105に保存する。
同期トラフィック量算出部102は、データ記憶部105に記憶されているユーザトラフィック量から、VM毎に同期トラフィック量を算出する。また、同期トラフィック量算出部102は、算出した同期トラフィック量をデータ記憶部105に保存する。
クラスタ構成算出部103は、データ記憶部105に記憶されている同期トラフィック量から、クラスタの再構成が必要か否かを判定する。すなわち、クラスタ構成算出部103は、クラスタ毎に同期トラフィック量の合計を算出して、算出した同期トラフィック量の合計のうち、所定の閾値を超えているものが存在するか否かを判定する。
そして、クラスタ構成算出部103は、クラスタの再構成が必要と判定した場合、再構成後のクラスタ構成を示すクラスタ構成情報を作成して、データ記憶部105に保存する。このとき、クラスタ構成算出部103は、データ記憶部105に既に記憶されているクラスタ構成情報を削除した上で、作成したクラスタ構成情報をデータ記憶部105に保存する。
通知部104は、データ記憶部105に記憶されているクラスタ構成情報から、セカンダリVMの再配置が必要か否かを判定する。すなわち、クラスタ構成算出部103が算出したクラスタの分割により、クラスタを跨ることとなるVM(プライマリVM及びセカンダリVM)が存在するか否かを判定する。
そして、通知部104は、セカンダリVMの再配置が必要と判定した場合、セカンダリVMの再配置指示をVM管理サーバ20に通知する。セカンダリVMの再配置が完了した後、通知部104は、クラスタ構成の変更指示をVM管理サーバ20に通知する。
一方で、通知部104は、セカンダリVMの再配置が必要でないと判定した場合、クラスタ構成の変更指示をVM管理サーバ20に通知する。
データ記憶部105は、ユーザトラフィック量監視部101により保存されたユーザトラフィック量と、同期トラフィック量算出部102により保存された同期トラフィック量と、クラスタ構成算出部103により保存されたクラスタ構成情報とを記憶する。
<処理の詳細>
次に、本発明の実施の形態におけるVM冗長構成管理装置10の処理の詳細について説明する。
≪ユーザトラフィック量監視部101が実行する処理≫
以降では、ユーザトラフィック量監視部101が実行する処理について、図8を参照しながら説明する。図8は、本発明の実施の形態におけるユーザトラフィック量監視部101が実行する処理の一例を示すフローチャートである。図8に示す処理は、予め決められた所定の時間T毎に繰り返し実行される。時間Tは、例えば、VM冗長構成管理装置10の管理者ユーザ等により決定される。
まず、ユーザトラフィック量監視部101は、各プライマリVMが処理しているユーザトラフィック量をVM管理サーバ20から取得する(ステップS101)。以降では、プライマリVMの総数をNとして、プライマリVM#1が処理しているユーザトラフィックをu,プライマリVM#2が処理しているユーザトラフィックをu,・・・,プライマリVM#Nが処理しているユーザトラフィックをuとする。
なお、VM管理サーバ20は、例えば、各物理サーバのハイパーバイザ上にある仮想スイッチにおけるインタフェースの統計情報からユーザトラフィック量u,u,・・・,uを収集することができる。したがって、ユーザトラフィック量監視部101は、このように収集されたユーザトラフィック量u,u,・・・,uをVM管理サーバ20から取得すれば良い。
次に、ユーザトラフィック量監視部101は、取得したユーザトラフィック量u,u,・・・,uをデータ記憶部105に保存する(ステップS102)。
以上により、予め決められた所定の時間T毎に、各プライマリVMのユーザトラフィック量がVM管理サーバ20から取得され、データ記憶部105に保存される。
≪同期トラフィック量算出部102が実行する処理≫
以降では、同期トラフィック量算出部102が実行する処理について、図9を参照しながら説明する。図9は、本発明の実施の形態における同期トラフィック量算出部102が実行する処理の一例を示すフローチャートである。図9に示す処理は、予め決められた所定の時間T毎に繰り返し実行される。
まず、同期トラフィック量算出部102は、各プライマリVMのユーザトラフィック量u,u,・・・,uをデータ記憶部105から取得する(ステップS201)。
次に、同期トラフィック量算出部102は、ユーザトラフィック量u,u,・・・,uから同期トラフィック量s,s,・・・,sを算出する(ステップS202)。s(1≦i≦N)は、ユーザトラフィック量uを処理するプライマリVM#iにおけるセカンダリVM#iへの同期トラフィック量である。
ここで、同期トラフィック量s,s,・・・,sは、各VMについて予め定義された関数f(1≦i≦N)を用いて、s=f(u),s=f(u),・・・,s=f(u)により算出することができる。関数f(1≦i≦N)は、例えば、プライマリVM#iについて、ユーザトラフィック量uに対する同期トラフィック量sを測定することで作成される。
次に、同期トラフィック量算出部102は、算出した同期トラフィック量s,s,・・・,sをデータ記憶部105に保存する(ステップS203)。
以上により、予め決められた所定の時間T毎に、プライマリVM毎に、ユーザトラフィック量から同期トラフィック量が算出され、データ記憶部105に保存される。
≪クラスタ構成算出部103が実行する処理≫
以降では、クラスタ構成算出部103が実行する処理について、図10を参照しながら説明する。図10は、本発明の実施の形態におけるクラスタ構成算出部103が実行する処理の一例を示すフローチャートである。図10に示す処理は、予め決められた所定の時間T毎に繰り返し実行される。
まず、クラスタ構成算出部103は、各プライマリVMから各セカンダリVMへの同期トラフィック量s,s,・・・,sをデータ記憶部105から取得する(ステップS301)。
次に、クラスタ構成算出部103は、クラスタ毎に、同期トラフィック量の合計を算出する(ステップS302)。以降では、クラスタ数をMとして、同期トラフィック量の合計S,S,・・・,Sが算出されたものとして説明を続ける。
なお、同期トラフィック量の合計S(1≦i≦M)は、クラスタ#iを構成する各物理サーバ上で動作する各プライマリVMから各セカンダリVMへの同期トラフィック量の合計を計算することにより算出される。
次に、クラスタ構成算出部103は、同期トラフィック量の合計S,S,・・・,Sの中に、所定の閾値Rを超えるものが存在するか否かを判定する(ステップS303)。所定の閾値Rは、例えば、VM冗長構成管理装置10の管理者ユーザ等により決定される。
ステップS303において、同期トラフィック量の合計S,S,・・・,Sの中に、所定の閾値Rを超えるものは存在しないと判定された場合、クラスタ構成算出部103は、ステップS306に進む。このとき、クラスタの分割は行われない。
一方、ステップS303において、同期トラフィック量の合計S,S,・・・,Sの中に、所定の閾値Rを超えるものが存在すると判定された場合、クラスタ構成算出部103は、同期トラフィック量の合計が閾値Rを超えると判定されたクラスタを分割したクラスタ構成情報を作成する(ステップS304)。
例えば、同期トラフィック量の合計S,S,・・・,Sのうち、SとSとが閾値Rを超えると判定された場合、クラスタ構成算出部103は、Sに対応するクラスタ#1と、Sに対応するクラスタ#2とを分割したクラスタ構成情報を作成する。
ここで、クラスタ構成算出部103は、分割後のクラスタ間で同期トラフィック量の合計ができるだけ近くなるようにクラスタを分割したクラスタ構成情報を作成する。以降では、一例として、クラスタ#1をクラスタ#1−1及びクラスタ#1−2に分割する場合について、図11を参照しながら説明する。
まず、図11に示すように、分割前のクラスタ#1は物理サーバ#1〜#6で構成されており、同期トラフィックの合計がS=8.7Gbpsであるものとする。このとき、各物理サーバ#1〜#6が同期用ネットワークに送出している同期トラフィック量S11〜S16を算出する。例えば、S11=5Gbps,S12=1Gbps,S13=0.2Gbps,S14=0Gbps,S15=0.5Gbps,S16=2Gbpsであったものとする。なお、これらのS11〜S16は、同一の物理サーバ上で動作している各プライマリVMから各セカンダリVMへの同期トラフィック量の合計を計算することで、算出される。
このとき、クラスタ構成算出部103は、まず、同期用ネットワークに送出している同期トラフィック量が最も大きい物理サーバをクラスタ#1−1に、同期用ネットワークに送出している同期トラフィック量が2番目に大きい物理サーバをクラスタ#1−2に割り当てる。具体的には、S11に対応する物理サーバ#1をクラスタ#1−1に、S16に対応する物理サーバ#6をクラスタ#1−2に割り当てる。
次に、クラスタ構成算出部103は、同期用ネットワークに送出している同期トラフィック量が3番目に大きい物理サーバを、クラスタ#1−1及びクラスタ#1−2のうち、同期トラフィック量の合計が小さい方のクラスタに割り当てると共に、同期用ネットワークに送出している同期トラフィック量が4番目に大きい物理サーバを、残りのクラスタに割り当てる。具体的には、S12に対応する物理サーバ#2をクラスタ#1−2に割り当てると共に、S15に対応する物理サーバ#5をクラスタ#1−1に割り当てる。
以降も同様に、同期用ネットワークに送出している同期トラフィック量の中から、降順に2つずつ同期トラフィック量を取得する。そして、取得した2つの同期トラフィック量のうち、値が大きい同期トラフィック量に対応する物理サーバを、分割後のクラスタのうち、同期トラフィック量の合計が小さい方のクラスタに割り当てると共に、残りの同期トラフィック量に対応する物理サーバを残りのクラスタに割り当てる。
これにより、分割後のクラスタ間で同期トラフィック量の合計ができるだけ近くなるようにすることができる。ただし、クラスタ分割は、図11を参照しながら説明した例に限られない。例えば、2つのクラスタに分割する場合だけでなく、3つ以上の任意の数のクラスタに分割されても良い。また、分割後のクラスタ間で同期トラフィック量の合計ができるだけ近くなるようにする必要も必ずしもなく、例えば、物理サーバ毎に接続されている同期用ネットワークの通信帯域が異なる場合には、当該通信帯域を考慮した分割が行われても良い。
図10に戻る。ステップS304に続いて、クラスタ構成算出部103は、上記のステップS304で作成したクラスタ構成情報をデータ記憶部105に保存する。また、このとき、クラスタ構成算出部103は、データ記憶部105に既に記憶されているクラスタ構成情報を削除する(ステップS305)。言い換えれば、クラスタ構成算出部103は、データ記憶部105に記憶されているクラスタ構成情報を、上記のステップS304で作成したクラスタ構成情報に上書き更新する。
これにより、あるクラスタにおける同期トラフィック量の合計が所定の閾値Rを超えていた場合、当該クラスタを複数のクラスタに分割させるためのクラスタ構成情報がデータ記憶部105に記憶される。
次に、クラスタ構成算出部103は、データ記憶部105に記憶されているクラスタ構成情報が示すクラスタ構成に含まれるクラスタが1つであるか否かを判定する(ステップS306)。
ステップS306において、当該クラスタ構成情報が示すクラスタ構成に含まれるクラスタが1つであると判定された場合、クラスタ構成算出部103は、処理を終了する。この場合、クラスタの統合は行われない。
一方、ステップS306において、当該クラスタ構成情報が示すクラスタ構成に含まれるクラスタが1つでないと判定された場合、クラスタ構成算出部103は、当該クラスタ構成情報が示すクラスタ構成に含まれる各クラスタについて、2つのクラスタを統合した場合における同期トラフィック量の合計を算出する(ステップS307)。
すなわち、例えば、当該クラスタ構成情報が示すクラスタ構成に、クラスタ#1,クラスタ#2,・・・,クラスタ#Mが含まれる場合、クラスタ構成算出部103は、クラスタ#K及びクラスタ#L(K=1,・・・,M−1、L=K+1,・・・,M)を統合したクラスタの同期トラフィック量の合計QKLを算出する。言い換えれば、クラスタ構成算出部103は、全てのクラスタの組み合わせ毎に、同期トラフィック量の合計を算出する。
次に、クラスタ構成算出部103は、上記のステップS307で算出した同期トラフィック量の合計のうち、所定の閾値R以下である同期トラフィック量の合計が存在するか否かを判定する(ステップS308)。
ステップS308において、所定の閾値R以下である同期トラフィック量の合計が存在しないと判定された場合、クラスタ構成算出部103は、処理を終了する。この場合、クラスタの統合は行われない。
一方、ステップS308において、所定の閾値R以下である同期トラフィック量の合計が存在すると判定された場合、クラスタ構成算出部103は、同期トラフィック量の合計が閾値以下となるクラスタの組み合わせを統合したクラスタ構成情報を作成する(ステップS309)。
例えば、上記のステップS307でM=4である場合、同期トラフィック量の合計Q11、Q12、Q13、Q14、Q23、Q24、及びQ34が算出される。このとき、これらQ11、Q12、Q13、Q14、Q23、Q24、及びQ34のうち、例えば、Q12とQ34とが閾値R以下であった場合、クラスタ構成算出部103は、クラスタ#1及びクラスタ#2を統合すると共、クラスタ#3及びクラスタ#4を統合したクラスタ構成情報を作成する。
なお、あるクラスタ#K´について、QK´L1及びQK´L2(ただし、L1≠L2)が共に閾値R以下であった場合、クラスタ構成算出部103は、QK´L1及びQK´L2のうち、値が小さい方に対応するクラスタの組み合わせを統合したクラスタ構成情報を作成すれば良い。
次に、クラスタ構成算出部103は、上記のステップS309で作成したクラスタ構成情報をデータ記憶部105に保存する。また、このとき、クラスタ構成算出部103は、データ記憶部105に既に記憶されているクラスタ構成情報を削除する(ステップS310)。言い換えれば、クラスタ構成算出部103は、データ記憶部105に記憶されているクラスタ構成情報を、上記のステップS304で作成したクラスタ構成情報に上書き更新する。
これにより、あるクラスタと、別のあるクラスタとを統合したクラスタの同期トラフィック量の合計が所定の閾値R以下となる場合、当該あるクラスタと、当該別のあるクラスタとを1つのクラスタに統合させるためのクラスタ構成情報がデータ記憶部105に記憶される。
≪通知部104が実行する処理≫
以降では、通知部104が実行する処理について、図12を参照しながら説明する。図12は、本発明の実施の形態における通知部104が実行する処理の一例を示すフローチャートである。図12に示す処理は、予め決められた所定の時間T毎に繰り返し実行される。
まず、通知部104は、クラスタ構成情報をデータ記憶部105から取得する(ステップS401)。
次に、通知部104は、上記のステップS401で取得したクラスタ構成情報が示すクラスタ構成が、現在のクラスタ構成と異なるか否かを判定する(ステップS402)。通知部104は、例えば、VM管理サーバ20に問い合わせることで、現在のクラスタ構成を取得することができる。
ステップS402において、上記のステップS401で取得したクラスタ構成情報が示すクラスタ構成が、現在のクラスタ構成と同じであると判定された場合、通知部104は、処理を終了する。この場合、セカンダリVMの再配置やクラスタの再構成は行われない。
一方、ステップS402において、上記のステップS401で取得したクラスタ構成情報が示すクラスタ構成が、現在のクラスタ構成と異なると判定された場合、通知部104は、上記のステップS401で取得したクラスタ構成情報が示すクラスタ構成において、クラスタを跨ることとなるVMが存在するか否かを判定する(ステップS403)。
ステップS403において、クラスタを跨ることとなるVMが存在しないと判定された場合、通知部104は、ステップS405に進む。
一方、ステップS403において、クラスタを跨ることとなるVMが存在すると判定された場合、通知部104は、クラスタを跨ることとなるVMのセカンダリVMの再配置指示をVM管理サーバ20に通知する(ステップS404)。このとき、通知部104は、上記のステップS401で取得したクラスタ構成情報が示すクラスタ構成において、プライマリVMが作成されている物理サーバと同一クラスタ内の他の物理サーバに当該セカンダリVMを再配置する再配置指示をVM管理サーバ20に通知する。
これにより、VM管理サーバ20により、セカンダリVMが、プライマリVMと同一クラスタ内の物理サーバに再配置される。なお、セカンダリVMの再配置は、例えば、VMライブマイグレーションにより行われる。
ステップS404に続いて、又は、ステップS403において、クラスタを跨ることとなるVMが存在しないと判定された場合、通知部104は、クラスタ構成の変更指示をVM管理サーバ20に通知する(ステップS405)。このとき、通知部104は、上記のステップS401で取得したクラスタ構成情報が示すクラスタ構成への変更指示をVM管理サーバ20に通知する。これにより、VM管理サーバ20により、クラスタの再構成が行われる。
クラスタ構成算出部103により算出されたクラスタ構成(すなわち、クラスタ単位の同期トラフィック量の合計が所定の閾値以下となるようなクラスタ構成)とすることで、各クラスタ内において同期用ネットワーク上で帯域競合が発生する事態を防止することができる。このとき、例えば、プライマリVMが動作している物理サーバに障害等が発生して、プライマリVMからセカンダリVMに切り替わった場合、切り替え後のプライマリVM(切り替え前のセカンダリVM)の冗長化のために再作成されるセカンダリVMの位置は同一クラスタ内に制限される。したがって、障害等の発生に伴うフェールオーバーが生じたとしても、同期用ネットワーク上で帯域競合が発生する事態を防止することができる。
<まとめ>
以上のように、本発明の実施の形態におけるVM冗長構成管理装置10は、クラスタ単位の同期トラフィック量の合計が所定の閾値を超えた場合、クラスタを分割する。これにより、プライマリVMが処理するユーザトラフィック量が増加した場合における同期用ネットワーク上の帯域競合を未然に防止することができる。
また、本発明の実施の形態におけるVM冗長構成管理装置10は、あるクラスタと別のあるクラスタとを統合した場合の同期トラフィック量の合計が所定の閾値以下となった場合、これらのクラスタを統合する。これにより、ユーザトラフィック量が減少した場合に、クラスタ内の物理サーバ数を増やすことができる。このため、物理サーバのリソースの有効利用や、物理サーバの多重・連続障害時のセカンダリVMの作成先となる物理サーバを確保することができる。
更に、本発明の実施の形態におけるVM冗長構成管理装置10は、VM管理サーバ20に接続するだけで良い。したがって、VM管理サーバ20や既存のVM冗長機能等を変更することなく、簡易に帯域競合を防止することができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
10 VM冗長構成管理装置
20 VM管理サーバ
101 ユーザトラフィック量監視部
102 同期トラフィック量算出部
103 クラスタ構成算出部
104 通知部
105 データ記憶部

Claims (5)

  1. プライマリ仮想マシン及びセカンダリ仮想マシンにより冗長化された仮想マシンが動作する物理サーバのクラスタ構成を管理する管理サーバと接続される制御装置であって、
    前記仮想マシンに入力されるユーザトラフィック量から、前記プライマリ仮想マシンと、前記セカンダリ仮想マシンとの間の同期トラフィック量を算出する第1の算出部と、
    前記第1の算出部により算出された前記同期トラフィック量から、前記クラスタ毎の前記同期トラフィック量の合計を示す同期トラフィック総量を算出する第2の算出部と、
    前記第2の算出部により算出された前記同期トラフィック総量が、所定の閾値を超えているか否かを判定する第1の判定部と、
    前記第1の判定部により前記同期トラフィック総量が前記閾値を超えていると判定された場合、該同期トラフィック総量に対応するクラスタの分割指示を前記管理サーバに通知する通知部と、
    を有する制御装置。
  2. 前記通知部は、
    前記第2の算出部により算出された前記同期トラフィック総量が前記閾値を超えていると判定された場合、前記同期トラフィック総量に対応するクラスタを第1のクラスタと第2のクラスタに分割した場合に、該第1のクラスタにおける前記同期トラフィック量の合計と、前記第2のクラスタにおける前記同期トラフィック量の合計とが最も近くなるような前記分割を決定し、決定した分割を行うための分割指示を前記管理サーバに通知する、請求項1に記載の制御装置。
  3. 前記第1の判定部により前記同期トラフィック総量が前記閾値を超えていると判定された場合、該同期トラフィック総量に対応するクラスタの分割により、前記プライマリ仮想マシンが動作する第1の物理サーバと、前記セカンダリ仮想マシンが動作する第2の物理サーバとが異なるクラスタになるか否かを判定する第2の判定部を有し、
    前記通知部は、
    前記第2の判定部により前記第1の物理サーバと前記第2の物理サーバとが異なるクラスタになると判定された場合、前記分割後のクラスタにおいて、前記セカンダリ仮想マシンを、前記第1の物理サーバと同一のクラスタ内の物理サーバに再配置させるための再配置指示を前記管理サーバに通知する、請求項1又は2に記載の制御装置。
  4. 前記第1の算出部により算出された前記同期トラフィック量から、前記クラスタ構成に含まれる複数のクラスタのうち、2つのクラスタを統合した場合における該統合後のクラスタの前記同期トラフィック量の合計を示す統合後同期トラフィック総量を算出する第3の算出部と、
    前記第3の算出部により算出された前記統合後同期トラフィック総量が前記閾値以下であるか否かを判定する第3の判定部と、を有し、
    前記通知部は、
    前記第3の判定部により前記統合後同期トラフィック総量が前記閾値以下である判定された場合、該統合後同期トラフィック総量に対応する2つのクラスタの統合指示を前記管理サーバに通知する、請求項1乃至3の何れか一項に記載の制御装置。
  5. プライマリ仮想マシン及びセカンダリ仮想マシンにより冗長化された仮想マシンが動作する物理サーバのクラスタ構成を管理する管理サーバと接続される制御装置に用いられる制御方法であって、
    前記仮想マシンに入力されるユーザトラフィック量から、前記プライマリ仮想マシンと、前記セカンダリ仮想マシンとの間の同期トラフィック量を算出する第1の算出手順と、
    前記第1の算出手順により算出された前記同期トラフィック量から、前記クラスタ毎の前記同期トラフィック量の合計を示す同期トラフィック総量を算出する第2の算出手順と、
    前記第2の算出手順により算出された前記同期トラフィック総量が、所定の閾値を超えているか否かを判定する第1の判定手順と、
    前記第1の判定手順により前記同期トラフィック総量が前記閾値を超えていると判定された場合、該同期トラフィック総量に対応するクラスタの分割指示を前記管理サーバに通知する通知手順と、
    を有する制御方法。
JP2017027338A 2017-02-16 2017-02-16 制御装置及び制御方法 Active JP6668275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017027338A JP6668275B2 (ja) 2017-02-16 2017-02-16 制御装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017027338A JP6668275B2 (ja) 2017-02-16 2017-02-16 制御装置及び制御方法

Publications (2)

Publication Number Publication Date
JP2018133005A true JP2018133005A (ja) 2018-08-23
JP6668275B2 JP6668275B2 (ja) 2020-03-18

Family

ID=63249767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017027338A Active JP6668275B2 (ja) 2017-02-16 2017-02-16 制御装置及び制御方法

Country Status (1)

Country Link
JP (1) JP6668275B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020135101A (ja) * 2019-02-14 2020-08-31 日本電信電話株式会社 二重化運転システム及びその方法
CN113220421A (zh) * 2021-05-31 2021-08-06 深圳市恒扬数据股份有限公司 一种服务器集群的管理方法、管理服务器及管理系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020135101A (ja) * 2019-02-14 2020-08-31 日本電信電話株式会社 二重化運転システム及びその方法
JP7128419B2 (ja) 2019-02-14 2022-08-31 日本電信電話株式会社 二重化運転システム及びその方法
CN113220421A (zh) * 2021-05-31 2021-08-06 深圳市恒扬数据股份有限公司 一种服务器集群的管理方法、管理服务器及管理系统
CN113220421B (zh) * 2021-05-31 2023-01-31 深圳市恒扬数据股份有限公司 一种服务器集群的管理方法、管理服务器及管理系统

Also Published As

Publication number Publication date
JP6668275B2 (ja) 2020-03-18

Similar Documents

Publication Publication Date Title
US10942828B2 (en) Method for storing data shards, apparatus, and system
CN105426245B (zh) 包括分散的部件的动态地组成的计算节点
US11157457B2 (en) File management in thin provisioning storage environments
US11936731B2 (en) Traffic priority based creation of a storage volume within a cluster of storage nodes
US10169102B2 (en) Load calculation method, load calculation program, and load calculation apparatus
CN111124250B (zh) 用于管理存储空间的方法、设备和计算机程序产品
CN111857541A (zh) 用于管理存储系统的方法、设备和计算机程序产品
US20130185531A1 (en) Method and apparatus to improve efficiency in the use of high performance storage resources in data center
WO2015118679A1 (ja) 計算機、ハイパーバイザ、物理コアの割り当て方法
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
US20150378706A1 (en) Software overlays for disaggregated components
CN112948279A (zh) 管理存储系统中的访问请求的方法、设备和程序产品
US10019182B2 (en) Management system and management method of computer system
JP6668275B2 (ja) 制御装置及び制御方法
US20120150985A1 (en) VIOS Cluster Alert Framework
US8621260B1 (en) Site-level sub-cluster dependencies
US11294591B2 (en) Apparatus configured to create extended configuration proposal of storage system including multiple notes
JP7107981B2 (ja) 計算機システム
JP2010205208A (ja) ホストコンピュータ、マルチパスシステム、パス割当方法およびプログラム
JP2014167713A (ja) 情報処理装置、情報処理システム、情報処理装置管理プログラム及び情報処理装置管理方法
US20140380089A1 (en) Method and apparatus for recovering failed disk in virtual machine
WO2016046951A1 (ja) 計算機システム及びそのファイル管理方法
WO2018173300A1 (ja) I/o制御方法およびi/o制御システム
JP2010205207A (ja) ホストコンピュータ、マルチパスシステム、パス割当方法およびプログラム
WO2015193947A1 (ja) 物理計算機及び仮想計算機移行方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200226

R150 Certificate of patent or registration of utility model

Ref document number: 6668275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150