JP2015032219A - 管理装置および管理方法 - Google Patents
管理装置および管理方法 Download PDFInfo
- Publication number
- JP2015032219A JP2015032219A JP2013162685A JP2013162685A JP2015032219A JP 2015032219 A JP2015032219 A JP 2015032219A JP 2013162685 A JP2013162685 A JP 2013162685A JP 2013162685 A JP2013162685 A JP 2013162685A JP 2015032219 A JP2015032219 A JP 2015032219A
- Authority
- JP
- Japan
- Prior art keywords
- server
- slave
- spare
- determination unit
- servers
- 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.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】サービスを安定して提供できるようにする。
【解決手段】管理装置50は、収集部51と、判定部54とを備える。収集部51は、現用系のマスタサーバに障害が発生し、待機系のマスタサーバがフェイルオーバして新たな現用系のマスタサーバとなった場合に、当該新たな現用系のマスタサーバの負荷を示す計測情報を収集する。判定部54は、収集部51によって収集された計測情報が所定の閾値を下回った場合に、新たな現用系のマスタサーバに、予備サーバとの間でのデータの同期処理の開始を指示して、当該予備サーバを新たな待機系のマスタサーバに移行させる。
【選択図】図2
【解決手段】管理装置50は、収集部51と、判定部54とを備える。収集部51は、現用系のマスタサーバに障害が発生し、待機系のマスタサーバがフェイルオーバして新たな現用系のマスタサーバとなった場合に、当該新たな現用系のマスタサーバの負荷を示す計測情報を収集する。判定部54は、収集部51によって収集された計測情報が所定の閾値を下回った場合に、新たな現用系のマスタサーバに、予備サーバとの間でのデータの同期処理の開始を指示して、当該予備サーバを新たな待機系のマスタサーバに移行させる。
【選択図】図2
Description
本発明は、管理装置および管理方法に関する。
下記の非特許文献1には、大量のデータを多数のサーバで並列処理するための大規模分散処理システムについて開示されている。この大規模分散処理システムを構成する各サブシステムにおけるマスタ系サーバは、設計上、現用系マスタと1台以上の待機系マスタとで構成される。現用系マスタが故障した場合には、待機系マスタが新たに現用系マスタに昇格(フェイルオーバ)することで、システム全体としての可用性を向上させている。
このように、24時間365日安定したサービスを提供する必要のある商用システムでは、通常、サーバは冗長化されており、1台のサーバが故障しても、システム全体としては停止しないように構成されている。
鷲坂光一 他、「大量データ分析のための大規模分散処理基盤の開発」、NTT技術ジャーナル、2011 Vol.23 No.10、p.22-25
ところで、上記した大規模分散処理システムでは、現用系サーバに障害が発生し、ホットスタンバイ状態にある待機系サーバがフェイルオーバした場合、次の障害発生に備えて、別の待機系サーバを新たに準備する必要がある。待機系サーバを新たに準備する処理には、(フェイルオーバにより待機系サーバから昇格した)現用系サーバとの間で、データの同期をとる処理を実行する必要がある。データの同期をとる処理には、ある程度高い処理負荷がかかる。
また、待機系サーバがフェイルオーバにより現用系サーバに昇格してサービスを再開した直後は、旧現用系サーバが機能していなかった期間に溜まったリクエストが一気に押し寄せるため、一時的に処理負荷が高くなる。
そのため、待機系サーバを新たに準備する場合には、フェイルオーバにより昇格した現用系サーバの負荷状況を確認しながら、当該現用系サーバによって提供されるサービスへの影響が極力少なくなるように、フェイルオーバにより昇格した現用系サーバと、新たな待機系サーバとの間でデータの同期をとる処理を開始するタイミングを見計らう必要がある。
従来は、システムの保守者がこのような作業を行っていたため、保守者が不在の場合には、フェイルオーバにより昇格した現用系サーバ1台でサービスを継続する状況が続くことになる。そのため、保守者が不在の間に、フェイルオーバにより昇格した現用系サーバも故障してしまうと、システム全体のサービスが停止してしまうことになる。
また、複数の処理サーバで処理を分担する分散処理システムにおいて、1つの処理サーバが故障すると、その処理サーバの処理を他の処理サーバが引き継ぐことで、全体としてのサービスを継続することができる。その場合、故障した処理サーバに代えて、リソースプールにある予備サーバが、新たに処理サーバとしてシステムに組み入られることで、システム全体の計算機リソースが元の状態に戻される。
ここで、故障した処理サーバの処理を他の処理サーバが引き継ぐ場合、1台の処理サーバに負荷が集中しないように、故障した処理サーバの処理を他の処理サーバのそれぞれに分散させるリカバリ処理が行われる。このリカバリ処理では、各処理サーバには、ある程度高い処理負荷がかかる。そのため、処理サーバが故障すると、故障していない他の処理サーバの負荷が一時的に高くなる。
また、リソースプールにある予備サーバを、新たな処理サーバとしてシステムに組み入れる場合、複数の処理サーバで負荷を均等に配分するためのリバランス処理が実行される。この処理でも、各処理サーバには、ある程度高い処理負荷がかかる。
そのため、処理サーバが故障した場合に、リソースプールにある予備サーバを、新たな処理サーバとして即座にシステムに組み入れると、リカバリ処理とリバランス処理とが平行して実行されるため、各処理サーバの負荷がさらに高くなり、分散処理システム全体として提供するサービスの品質が悪化する場合がある。
そのため、処理サーバが故障した場合には、各処理サーバの負荷状況を確認しながら、サービスの品質への影響が極力少なくなるように、リバランス処理を開始するタイミングを見計らう必要がある。従来は、システムの保守者がこのような作業を行っていたため、保守者が不在の間に処理サーバが故障した場合には、システム全体の計算機リソースが少ない状態での運用を余儀なくされていた。
そこで、本発明は、上述した従来技術の課題を解決するためになされたものであり、サービスを安定して提供できるようにすることを目的とする。
上記課題を解決するための本発明の第一の態様は、例えば、現用系サーバと、待機系サーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置であって、前記現用系サーバに障害が発生し、前記待機系サーバがフェイルオーバして新たな現用系サーバとなった場合に、当該新たな現用系サーバの負荷を示す計測値を収集する収集部と、前記収集部によって収集された前記計測値が、所定の閾値を下回った場合に、前記新たな現用系サーバに、前記予備サーバとの間でのデータの同期処理の開始を指示して、当該予備サーバを新たな待機系サーバに移行させる判定部と、を備える。
また、本発明の第二の態様は、例えば、複数のスレーブサーバと、それぞれのスレーブサーバが保持するデータを管理するマスタサーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置であって、前記複数のスレーブサーバのいずれかに障害が発生した後に、当該障害が発生した前記スレーブサーバが保持しているデータと同一のデータを、当該スレーブサーバ以外の他のスレーブサーバに分散配置させるリカバリ処理が完了したか否かを判定し、当該リカバリ処理が完了した後に、前記予備サーバを新たなスレーブサーバとして、障害が発生していない複数のスレーブサーバのそれぞれが保持しているデータの量を調整するリバランス処理の開始を前記マスタサーバに指示する判定部を備える。
また、本発明の第三の態様は、例えば、現用系サーバと、待機系サーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置によって実行される管理方法であって、前記現用系サーバに障害が発生し、前記待機系サーバがフェイルオーバして新たな現用系サーバとなった場合に、当該新たな現用系サーバの負荷を示す計測値を収集する収集工程と、前記収集工程において収集した前記計測値が所定の閾値を下回ったか否かを判定する工程と、前記収集工程において収集した前記計測値が前記所定の閾値を下回ったと判定した場合に、前記新たな現用系サーバに、前記予備サーバとの間でのデータの同期処理の開始を指示して、当該予備サーバを新たな待機系サーバに移行させる工程と、を含む。
また、本発明の第四の態様は、例えば、複数のスレーブサーバと、それぞれのスレーブサーバが保持するデータを管理するマスタサーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置によって実行される管理方法であって、前記複数のスレーブサーバのいずれかに障害が発生した後に、当該障害が発生した前記スレーブサーバが保持しているデータと同一のデータを、当該スレーブサーバ以外の他のスレーブサーバに分散配置させるリカバリ処理が完了したか否かを判定する工程と、前記リカバリ処理が完了したと判定した後に、前記予備サーバを新たなスレーブサーバとして、障害が発生していない複数のスレーブサーバのそれぞれが保持しているデータの量を調整するリバランス処理の開始を前記マスタサーバに指示する工程と、を含む。
本発明の管理装置によれば、サービスを安定して提供することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
[サーバシステム10の全体構成]
図1は、本発明の一実施形態におけるサーバシステム10の構成の一例を示すシステム構成図である。本実施形態におけるサーバシステム10は、現用系のマスタサーバ20−1と、待機系のマスタサーバ20−2と、複数の予備サーバ31−1〜nと、複数のスレーブサーバ40−1〜nと、管理装置50と、死活監視装置60とを備える。
図1は、本発明の一実施形態におけるサーバシステム10の構成の一例を示すシステム構成図である。本実施形態におけるサーバシステム10は、現用系のマスタサーバ20−1と、待機系のマスタサーバ20−2と、複数の予備サーバ31−1〜nと、複数のスレーブサーバ40−1〜nと、管理装置50と、死活監視装置60とを備える。
それぞれのマスタサーバ20、それぞれの予備サーバ31、それぞれのスレーブサーバ40、管理装置50、および死活監視装置60は、相互に通信可能に通信回線11に接続されている。
実施形態では、サーバシステム10として、ユーザのデータを管理するデータベースシステムを例に説明する。当該データベースシステムでは、データを複数のスレーブサーバ40−1〜nに分散配置し、マスタサーバ20がユーザの端末からのデータの要求に応じて、当該データを保持しているスレーブサーバ40の情報を提供する。ユーザは、端末を操作して、マスタサーバ20から提供された情報に基づいてスレーブサーバ40にアクセスし、目的のデータを取得する。
複数の予備サーバ31−1〜nは、リソースプール30として管理されており、通信回線11を介した管理装置50からの制御により、必要なソフトウェアのインストールやパラメータの設定を経て、待機系のマスタサーバ20−2またはスレーブサーバ40として機能する。
死活監視装置60は、通信回線11を介して、それぞれのスレーブサーバ40の障害発生の有無を監視する。死活監視装置60は、例えば、それぞれのスレーブサーバ40から通信回線11を介して定期的に送信されるハートビート信号を監視し、一定期間以上ハートビート信号を受信しなかったスレーブサーバ40を検出した場合に、当該スレーブサーバ40の障害発生を検出する。障害発生を検出した場合、死活監視装置60は、障害が発生した旨よび障害が発生したスレーブサーバ40の識別情報等を、通信回線11を介して現用系のマスタサーバ20−1および管理装置50に通知する。
待機系のマスタサーバ20−2は、現用系のマスタサーバ20−1との間でデータの同期をとりながら、ホットスタンバイ状態で待機している。そして、待機系のマスタサーバ20−2は、現用系のマスタサーバ20−1に障害が発生した場合に、当該現用系のマスタサーバ20−1に代って現用系のマスタサーバ20−1に昇格(フェイルオーバ)する。
待機系のマスタサーバ20−2は、例えば、現用系のマスタサーバ20−1から通信回線11を介して定期的に送信されるハートビート信号を監視しており、一定期間以上ハートビート信号を受信しなかった場合に、現用系のマスタサーバ20−1の障害発生を検出し、フェイルオーバを実行する。フェイルオーバを実行して新たに現用系となったマスタサーバ20−1は、その旨を通信回線11を介して管理装置50に通知する。
複数のスレーブサーバ40−1〜nのそれぞれは、所定の処理を実行する処理サーバである。本実施形態において、それぞれのスレーブサーバ40は、データベースサーバであり、データ毎に、同一のデータを所定台数(例えば3台)の異なるスレーブサーバ40に分散配置することで、スレーブサーバ40の障害に対するデータ保持の信頼性を高めている。
それぞれのスレーブサーバ40は、現在の負荷を計測し、負荷の計測値を、スレーブサーバ40を識別するサーバID、スレーブサーバであることを示すサーバ種別、および計測時刻に対応付けて計測情報として保持する。本実施形態において、それぞれのスレーブサーバ40は、例えば、CPU利用率、メモリ利用率、単位時間当たりのリクエスト処理件数などを、現在の負荷として計測する。そして、通信回線11を介して管理装置50から計測情報を要求された場合、それぞれのスレーブサーバ40は、保持している計測情報を、通信回線11を介して管理装置50へ送信する。
また、本実施形態において、現用系のマスタサーバ20−1は、データ毎に、当該データを保持しているスレーブサーバ40の情報を格納する分散テーブルを保持している。そして、現用系のマスタサーバ20−1は、通信回線11を介して、ユーザの端末からデータを要求された場合に、分散テーブルを参照して、当該データを保持しているスレーブサーバ40の情報を特定し、特定した情報をユーザの端末に返す。ユーザは、端末を操作して、受け取った情報に対応するスレーブサーバ40にアクセスし、当該スレーブサーバ40から目的のデータを取得する。
また、現用系のマスタサーバ20−1は、現在の負荷を計測し、負荷の計測値を、マスタサーバ20−1を識別するサーバID、マスタサーバであることを示すサーバ種別、および計測時刻に対応付けて計測情報として保持する。本実施形態において、現用系のマスタサーバ20−1は、例えば、CPU利用率、メモリ利用率、単位時間当たりのリクエスト処理件数などを、処理負荷として計測する。そして、通信回線11を介して管理装置50から計測情報を要求された場合、現用系のマスタサーバ20−1は、保持している計測情報を、通信回線11を介して管理装置50へ送信する。
また、現用系のマスタサーバ20−1は、新たな待機系のマスタサーバ20−2の識別情報と共に、同期処理の開始を管理装置50から指示された場合に、通信回線11を介して、当該新たな待機系のマスタサーバ20−2との間で、内部データを同期させる同期処理を開始し、当該新たな待機系のマスタサーバ20−2をホットスタンバイ状態に移行させる。
また、現用系のマスタサーバ20−1は、スレーブサーバ40に障害が発生した旨を死活監視装置60から通知された場合に、当該スレーブサーバ40の稼働を停止させる。そして、現用系のマスタサーバ20−1は、分散テーブルを参照し、障害が発生したスレーブサーバ40が保持しているデータと同一のデータを保持している他のスレーブサーバ40を特定する。
そして、現用系のマスタサーバ20−1は、障害が発生したスレーブサーバ40が保持しているデータと同一のデータを、特定した他のスレーブサーバ40から抽出して、障害が発生していないスレーブサーバ40に分散配置させるリカバリ処理を実行する。これにより、障害が発生したスレーブサーバ40が保持しているデータと同一のデータが、障害が発生したスレーブサーバ40を除いた、所定台数の異なるスレーブサーバ40に分散配置される。リカバリ処理が完了した場合、現用系のマスタサーバ20−1は、その旨を通信回線11を介して管理装置50に通知する。
また、現用系のマスタサーバ20−1は、新たなスレーブサーバ40の情報と共に、リバランス処理の開始を管理装置50から指示された場合に、分散テーブルに当該新たなスレーブサーバ40の情報を登録する。そして、現用系のマスタサーバ20−1は、各スレーブサーバ40が保持するデータの容量の差が、全てのスレーブサーバ40間で小さくなるように、各スレーブサーバ40が保持するデータを調整するリバランス処理を実行する。
管理装置50は、(フェイルオーバ実行直前までは待機系のマスタサーバ20−2であった)現用系のマスタサーバ20−1からフェイルオーバが実行された旨の通知を受けた場合に、リソースプール30として管理されている予備サーバ31の中の1台に対して、待機系のマスタサーバ20−2として機能するのに必要なソフトウェアのインストールおよび設定等を、通信回線11を介して行う。そして、管理装置50は、現用系のマスタサーバ20−1から負荷の計測値を取得する。
次に、管理装置50は、現用系のマスタサーバ20−1の負荷の計測値が所定の閾値を下回った場合に、現用系のマスタサーバ20−1に、必要なソフトウェアのインストール等が行われた新たな待機系のマスタサーバ20−2との間で同期処理の開始を指示する。現用系のマスタサーバ20−1との間で同期処理が行われた新たな待機系のマスタサーバ20−2は、ホットスタンバイ状態に移行する。
また、死活監視装置60からスレーブサーバ40の障害発生を通知された場合、管理装置50は、リソースプール30とした管理されている予備サーバ31の中の1台に対して、スレーブサーバ40として機能するのに必要なソフトウェアのインストールおよび設定等を通信回線11を介して行う。
そして、リカバリ処理の完了を現用系のマスタサーバ20−1から通知された場合、管理装置50は、障害が発生していない各スレーブサーバ40から負荷の計測値を取得する。そして、各スレーブサーバ40の負荷の計測値が所定の閾値を下回った場合、管理装置50は、必要なソフトウェアのインストール等が行われた新たなスレーブサーバ40の情報と共に、現用系のマスタサーバ20−1にリバランス処理の開始を指示する。
なお、本実施形態において、現用系のマスタサーバ20−1と、死活監視装置60とは、別々の装置として説明するが、本発明はこれに限られず、現用系のマスタサーバ20−1が死活監視装置60の機能を有していてもよく、管理装置50が死活監視装置60の機能を有していてもよい。
[管理装置50の構成]
図2は、管理装置50の機能構成の一例を示すブロック図である。管理装置50は、収集部51、計測情報格納部52、通信部53、判定部54、設定部55、および閾値格納部56を有する。
図2は、管理装置50の機能構成の一例を示すブロック図である。管理装置50は、収集部51、計測情報格納部52、通信部53、判定部54、設定部55、および閾値格納部56を有する。
図3は、計測情報格納部52に格納されるデータの構造の一例を示す。計測情報格納部52には、例えば図3に示すように、複数のレコード524が格納される。それぞれのレコード524には、サーバID520、サーバ種別521、計測値522、および計測時刻523が含まれる。
サーバID520は、現用系のマスタサーバ20−1および複数のスレーブサーバ40−1〜nのそれぞれを識別する情報である。サーバ種別521は、サーバID520に対応するサーバが、マスタサーバ20か、スレーブサーバ40かを識別する情報である。計測値522は、サーバID520に対応するサーバの負荷を示す情報であり、例えば、CPU使用率、メモリ使用率、および単位時間当たりのリクエスト処理件数等が含まれる。計測時刻523は、サーバID520に対応するサーバにおいて、計測値522が計測された時刻を示す。
図3には、「S001」のサーバID520と、「マスタ」のサーバ種別521と、「91%」のCPU利用率、「72%」のメモリ使用率、および「16件/秒」のリクエスト処理件数等を含む計測値522と、「13:56:16」の計測時刻523とを含むレコード524が格納されている計測情報格納部52が例示されている。
図4は、閾値格納部56に格納されるデータの構造の一例を示す。閾値格納部56には、例えば図4に示すように、計測値の種別を示す計測種別560に対応付けて、当該計測値が計測されるサーバの種別を示すサーバ種別561、および、当該計測値の閾値562が格納される。
図4には、「リクエスト処理件数」の計測種別560に対応付けて、「マスタ」のサーバ種別561、および、「10件/秒」の閾値562が格納されている閾値格納部56が例示されている。
図2に戻って説明を続ける。通信部53は、現用系のマスタサーバ20−1、待機系のマスタサーバ20−2、それぞれの予備サーバ31−1〜n、それぞれのスレーブサーバ40−1〜n、および死活監視装置60と、通信回線11を介して通信する。
収集部51は、判定部54から現用系のマスタサーバ20−1の計測情報の収集を指示された場合に、通信部53に、現用系のマスタサーバ20−1への計測情報の要求を送る。通信部53は、通信回線11を介して、現用系のマスタサーバ20−1へ計測情報の要求を送信し、当該現用系のマスタサーバ20−1から計測情報を受信して収集部51へ送る。通信部53から計測情報を受け取った場合、収集部51は、受け取った計測情報に含まれている計測時刻毎にレコードを作成し、作成したレコードを計測情報格納部52に格納する。
また、判定部54からそれぞれのスレーブサーバ40の計測情報の収集を指示された場合、収集部51は、それぞれのスレーブサーバ40への計測情報の要求を通信部53へ送る。通信部53は、通信回線11を介して、それぞれのスレーブサーバ40へ計測情報の要求を送信し、それぞれのスレーブサーバ40から計測情報を受信して収集部51へ送る。通信部53から計測情報を受け取った場合、収集部51は、受け取った計測情報に含まれている計測時刻毎にレコードを作成し、作成したレコードを計測情報格納部52に格納する。
判定部54は、通信部53を介して、(フェイルオーバ実行直前までは待機系のマスタサーバ20−2であった)現用系のマスタサーバ20−1からフェイルオーバを実行した旨の通知を受けた場合に、予備サーバ31を待機系のマスタサーバ20−2として機能させるための設定を行う旨を設定部55に指示する。そして、判定部54は、所定の設定が行われた新たな待機系のマスタサーバ20−2の情報を設定部55から受け取る。また、判定部54は、現用系のマスタサーバ20−1の計測情報の収集を収集部51に指示する。
次に、判定部54は、閾値格納部56を参照し、「マスタ」のサーバ種別に対応付けられている計測種別および閾値の情報を抽出する。図4の例では、判定部54は、計測種別として「リクエスト処理件数」を、閾値として「10件/秒」を、それぞれ抽出する。
次に、判定部54は、計測情報格納部52を参照して、「マスタ」のサーバ種別が含まれているレコードの中で、フェイルオーバを実行した旨の通知を受けた時点以降の計測時刻が含まれているレコードを特定する。そして、判定部54は、閾値格納部56から抽出した計測種別に該当する種別の負荷の計測値(図3の例では、「リクエスト処理件数」の「16件/秒」)を、特定したレコードから抽出する。
次に、判定部54は、抽出した負荷の計測値が、閾値格納部56から抽出した閾値未満か否かを判定する。ここで、フェイルオーバ直後は、負荷が低く計測される可能性があるため、判定部54は、フェイルオーバを実行した旨の通知を受けた時点から所定時間(例えば1秒)経過後の計測時刻が含まれるレコードから抽出した負荷の計測値を用いることが好ましい。
また、フェイルオーバ直後は、負荷が安定せず、計測される値も大きく変動する場合が多いため、判定部54は、現在時刻から所定時間前(例えば数秒前)までの計測値を統計処理した値(例えば平均値)を、閾値格納部56から抽出した閾値と比較することが好ましい。
そして、現用系のマスタサーバ20−1の負荷の計測値が、閾値格納部56から抽出した閾値未満となった場合、判定部54は、通信部53を介して、現用系のマスタサーバ20−1に、新たな待機系のマスタサーバ20−2の情報と共に、同期処理の開始を指示する。
また、通信部53を介して死活監視装置60から、いずれかのスレーブサーバ40に障害が発生した旨の通知を受けた場合、判定部54は、予備サーバ31をスレーブサーバ40として機能させるための設定を行う旨を設定部55に指示する。そして、判定部54は、所定の設定が行われた新たなスレーブサーバ40の情報を設定部55から受け取る。また、判定部54は、通信部53を介して、現用系のマスタサーバ20−1からリカバリ処理の完了を通知されたか否かを判定する。
リカバリ処理の完了を通知された場合、判定部54は、障害が発生していないそれぞれのスレーブサーバ40の計測情報の収集を収集部51に指示する。そして、判定部54は、閾値格納部56を参照し、「スレーブ」のサーバ種別に対応付けられている計測種別および閾値の情報を抽出する。図4の例では、判定部54は、計測種別として「CPU使用率」を、閾値として「60%」を、それぞれ抽出する。
次に、判定部54は、計測情報格納部52を参照して、「スレーブ」のサーバ種別が含まれているレコードの中で、スレーブサーバ40の障害発生の通知を受けた時点以降の計測時刻が含まれているレコードを特定する。そして、判定部54は、閾値格納部56から抽出した計測種別に該当する種別の負荷の計測値(図3の例では、「CPU使用率」の「86%」)を、サーバIDと共に、特定したレコードから抽出する。
次に、判定部54は、サーバID毎に抽出した負荷の計測値に基づく値が、閾値格納部56から抽出した閾値未満か否かを判定する。判定部54は、例えば、サーバID毎に抽出した計測値を、障害が発生していない複数のスレーブサーバ40について統計処理した値(例えば平均値)を算出し、算出した値が、閾値格納部56から抽出した閾値未満か否かを判定する。また、他の例として、判定部54は、例えば、サーバID毎に抽出した計測値の中の最大値が、閾値格納部56から抽出した閾値未満か否かを判定するようにしてもよい。
なお、それぞれのスレーブサーバ40の負荷の計測値は、瞬間的に大きく変動する場合があるため、判定部54は、障害が発生していないそれぞれのスレーブサーバ40について、所定時間(例えば1秒)毎の計測値の平均を算出し、算出した平均を、これらのスレーブサーバ40についてさらに統計処理して閾値と比較したり、算出した平均の中の最大値と閾値とを比較するようにしてもよい。
そして、サーバID毎に抽出した計測値に基づく値が、閾値格納部56から抽出した閾値未満となった場合、判定部54は、通信部53を介して、現用系のマスタサーバ20−1に、新たなスレーブサーバ40の情報と共に、リバランス処理の開始を指示する。
設定部55は、予備サーバ31を待機系のマスタサーバ20−2として機能させるための設定を行う旨を判定部54から指示された場合に、リソースプール30として管理されている複数の予備サーバ31の中の1台を選択する。
そして、設定部55は、選択した予備サーバ31に、待機系のマスタサーバ20−2として機能するのに必要なソフトウェアのインストールやパラメータの設定等を、通信部53を介して行う。そして、設定部55は、所定の設定が行われた新たな待機系のマスタサーバ20−2の情報を判定部54に通知する。
また、予備サーバ31をスレーブサーバ40として機能させるための設定を行う旨を判定部54から指示された場合、設定部55は、リソースプール30として管理されている複数の予備サーバ31の中の1台を選択する。
そして、設定部55は、選択した予備サーバ31に、スレーブサーバ40として機能するのに必要なソフトウェアのインストールやパラメータの設定等を、通信部53を介して行う。そして、設定部55は、所定の設定が行われた新たなスレーブサーバ40の情報を判定部54に通知する。
[管理装置50の動作]
図5は、管理装置50の動作の一例を示すフローチャートである。例えば、本フローチャートに示す処理の開始を入力装置を介して管理者から指示される等の所定のタイミングで、管理装置50は、本フローチャートに示す動作を開始する。
図5は、管理装置50の動作の一例を示すフローチャートである。例えば、本フローチャートに示す処理の開始を入力装置を介して管理者から指示される等の所定のタイミングで、管理装置50は、本フローチャートに示す動作を開始する。
まず、判定部54は、通信回線11および通信部53を介して、(フェイルオーバ実行直前までは待機系のマスタサーバ20−2であった)現用系のマスタサーバ20−1からフェイルオーバを実行した旨の通知を受信したか否かを判定することにより、フェイルオーバが実行されたか否かを判定する(S100)。
フェイルオーバが実行された場合(S100:Yes)、判定部54は、予備サーバ31を待機系のマスタサーバ20−2として機能させるための設定を行う旨を設定部55に指示する。設定部55は、リソースプール30として管理されている複数の予備サーバ31の中の1台を選択する。
そして、設定部55は、通信回線11および通信部53を介して、選択した予備サーバ31に、待機系のマスタサーバ20−2として機能するのに必要なソフトウェアのインストールやパラメータの設定等の所定の設定を行う(S102)。そして、設定部55は、所定の設定が行われた新たな待機系のマスタサーバ20−2の情報を判定部54に通知する。
次に、判定部54は、閾値格納部56を参照し、「マスタ」のサーバ種別に対応付けられている計測種別および閾値の情報を取得する(S104)。そして、判定部54は、現用系のマスタサーバ20−1の計測情報の収集を収集部51に指示する。
収集部51は、現用系となったマスタサーバ20−1から計測情報を取得する(S106)。具体的には、収集部51は、現用系のマスタサーバ20−1への計測情報の要求を通信部53へ送る。通信部53は、通信回線11を介して、現用系のマスタサーバ20−1へ計測情報の要求を送信し、当該マスタサーバ20−1から計測情報を受信して収集部51へ送る。通信部53から計測情報を受信した場合、収集部51は、受信した計測情報に含まれている計測時刻毎にレコードを作成し、作成したレコードを計測情報格納部52に格納する。
次に、判定部54は、計測情報格納部52を参照して、「マスタ」のサーバ種別が含まれているレコードの中で、フェイルオーバを実行した旨の通知を受けた時点以降の計測時刻が含まれているレコードを特定する。そして、判定部54は、ステップS104で取得した計測種別に該当する種別の負荷の計測値を、特定したレコードから抽出する。
次に、判定部54は、抽出した負荷の計測値が、閾値格納部56から抽出した閾値未満か否かを判定する(S108)。ここで、判定部54は、例えば、フェイルオーバを実行した旨の通知を受けた時点から所定時間経過後の計測時刻が含まれるレコードから抽出した計測値を、例えば所定時間分平均した値を負荷の計測値として、閾値格納部56から抽出した閾値未満か否かを判定する。
負荷の計測値が、閾値格納部56から抽出した閾値未満となった場合(S108:Yes)、判定部54は、通信部53に、新たな待機系のマスタサーバ20−2の情報と共に、同期処理の開始指示を送る。通信部53は、通信回線11を介して、現用系のマスタサーバ20−1に、新たな待機系のマスタサーバ20−2の情報と共に、同期処理の開始を指示し(S110)、判定部54は、再びステップS100に示した処理を実行する。
負荷の計測値が、閾値格納部56から抽出した閾値以上である場合(S108:No)、判定部54は、フェイルオーバを実行した旨の通知を受けた時点から所定時間(例えば数分)が経過したか否かを判定する(S112)。所定時間が経過していない場合(S112:No)、収集部51は、所定時間(例えば数秒)経過してから再びステップS106に示した処理を実行する。一方、所定時間が経過した場合(S112:Yes)、判定部54は、管理装置50に接続された表示装置等の出力装置を介して、サーバシステム10の管理者にエラーを通知し(S114)、再びステップS100に示した処理を実行する。
フェイルオーバが実行されていない場合(S100:No)、判定部54は、通信回線11および通信部53を介して死活監視装置60から、いずれかのスレーブサーバ40に障害が発生した旨の通知を受けたか否かを判定することにより、いずれかのスレーブサーバ40に障害が発生したか否かを判定する(S116)。いずれのスレーブサーバ40にも障害が発生していない場合(S116:No)、判定部54は、再びステップS100に示した処理を実行する。
いずれかのスレーブサーバ40に障害が発生した場合(S116:Yes)、判定部54は、予備サーバ31をスレーブサーバ40として機能させるための設定を行う旨を設定部55に指示する。設定部55は、リソースプール30として管理されている複数の予備サーバ31の中の1台を選択する。
そして、設定部55は、通信回線11および通信部53を介して、選択した予備サーバ31に、スレーブサーバ40として機能するのに必要なソフトウェアのインストールやパラメータの設定等の所定の設定を行う(S118)。そして、設定部55は、所定の設定が行われた新たなスレーブサーバ40の情報を判定部54に通知する。
次に、判定部54は、通信部53を介して、現用系のマスタサーバ20−1からリカバリ処理の完了を通知されたか否かを判定することにより、リカバリ処理が完了したか否かを判定する(S120)。リカバリ処理が完了した場合(S120:Yes)、判定部54は、閾値格納部56を参照し、「スレーブ」のサーバ種別に対応付けられている計測種別および閾値の情報を取得する(S122)。
次に、判定部54は、それぞれのスレーブサーバ40の計測情報の収集を収集部51に指示する。収集部51は、それぞれのスレーブサーバ40から計測情報を取得する(S124)。具体的には、収集部51は、それぞれのスレーブサーバ40への計測情報の要求を通信部53へ送る。通信部53は、通信回線11を介して、それぞれのスレーブサーバ40へ計測情報の要求を送信し、それぞれのスレーブサーバ40から計測情報を受信して収集部51へ送る。通信部53から計測情報を受信した場合、収集部51は、受信した計測情報に含まれている計測時刻毎にレコードを作成し、作成したレコードを計測情報格納部52に格納する。
次に、判定部54は、計測情報格納部52を参照して、「スレーブ」のサーバ種別が含まれているレコードの中で、スレーブサーバ40の障害発生の通知を受けた時点以降の計測時刻が含まれているレコードを特定する。そして、判定部54は、閾値格納部56から抽出した計測種別に該当する種別の負荷の計測値を、サーバIDと共に、特定したレコードから抽出する。
次に、判定部54は、サーバID毎に抽出した負荷の計測値に基づく値が、閾値格納部56から抽出した閾値未満か否かを判定する(S126)。ここで、判定部54は、例えば、サーバID毎に抽出した計測値を、障害が発生していない複数のスレーブサーバ40について統計処理した値を算出し、算出した値が、閾値格納部56から抽出した閾値未満か否かを判定する。
負荷の計測値に基づく値が、閾値格納部56から抽出した閾値未満となった場合(S126:Yes)、判定部54は、新たなスレーブサーバ40の情報と共に、通信部53にリバランス処理の開始指示を送る。通信部53は、通信回線11を介して、現用系のマスタサーバ20−1に、新たなスレーブサーバ40の情報と共に、リバランス処理の開始を指示し(S128)、再びステップS100に示した処理を実行する。
負荷の計測値に基づく値が、閾値格納部56から抽出した閾値以上である場合(S126:No)、判定部54は、リカバリ処理の完了が通知された時点から所定時間(例えば数分)が経過したか否かを判定する(S130)。所定時間が経過していない場合(S130:No)、収集部51は、所定時間(例えば数秒)経過してから再びステップS124に示した処理を実行する。一方、所定時間が経過した場合(S130:Yes)、判定部54は、管理装置50に接続された表示装置等の出力装置を介して、サーバシステム10の管理者にエラーを通知し(S132)、再びステップS100に示した処理を実行する。
[管理装置50のハードウェア構成]
図6は、管理装置50の機能を実現するコンピュータ70の構成の一例を示すハードウェア構成図である。コンピュータ70は、CPU(Central Processing Unit)71、RAM(Random Access Memory)72、ROM(Read Only Memory)73、HDD(Hard Disk Drive)74、通信インターフェイス(I/F)75、入出力インターフェイス(I/F)76、およびメディアインターフェイス(I/F)77を備える。
図6は、管理装置50の機能を実現するコンピュータ70の構成の一例を示すハードウェア構成図である。コンピュータ70は、CPU(Central Processing Unit)71、RAM(Random Access Memory)72、ROM(Read Only Memory)73、HDD(Hard Disk Drive)74、通信インターフェイス(I/F)75、入出力インターフェイス(I/F)76、およびメディアインターフェイス(I/F)77を備える。
CPU71は、ROM73またはHDD74に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM73は、コンピュータ70の起動時にCPU71によって実行されるブートプログラムや、コンピュータ70のハードウェアに依存するプログラム等を格納する。
HDD74は、CPU71によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インターフェイス75は、通信回線11を介して他の機器からデータを受信してCPU71へ送り、CPU71が生成したデータを、通信回線11を介して他の機器へ送信する。
CPU71は、入出力インターフェイス76を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU71は、入出力インターフェイス76を介して、入力装置からデータを取得する。また、CPU71は、生成したデータを、入出力インターフェイス76を介して出力装置へ出力する。
メディアインターフェイス77は、記録媒体78に格納されたプログラムまたはデータを読み取り、RAM72を介してCPU71に提供する。CPU71は、当該プログラムを、メディアインターフェイス77を介して記録媒体78からRAM72上にロードし、ロードしたプログラムを実行する。記録媒体78は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
コンピュータ70のCPU71は、RAM72上にロードされたプログラムを実行することにより、収集部51、計測情報格納部52、通信部53、判定部54、設定部55、および閾値格納部56の各機能を実現する。また、HDD74には、計測情報格納部52および閾値格納部56内のデータが格納される。なお、計測情報格納部52および閾値格納部56内のデータは、通信回線11に接続された他の装置に格納されていてもよい。
コンピュータ70のCPU71は、これらのプログラムを、記録媒体78から読み取って実行するが、他の例として、他の装置から、通信回線11を介してこれらのプログラムを取得してもよい。
以上、本発明の実施の形態について説明した。
上記説明から明らかなように、本実施形態のサーバシステム10によれば、サービスを安定して提供することができる。
なお、上記した実施形態において、現用系および待機系のマスタサーバ20を、それぞれ1つの装置として説明したが、本発明はこれに限られず、各マスタサーバ20に含まれるそれぞれの機能を、2つ以上の装置にそれぞれ分散配置させ、これらの装置が、通信回線11を介して互いに通信データをやり取りすることにより協調動作して、全体として各マスタサーバ20の機能を実現するように構成してもよい。各スレーブサーバ40についても同様である。
また、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
20 マスタサーバ
31 予備サーバ
40 スレーブサーバ
50 管理装置
51 収集部
54 判定部
31 予備サーバ
40 スレーブサーバ
50 管理装置
51 収集部
54 判定部
Claims (7)
- 現用系サーバと、待機系サーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置であって、
前記現用系サーバに障害が発生し、前記待機系サーバがフェイルオーバして新たな現用系サーバとなった場合に、当該新たな現用系サーバの負荷を示す計測値を収集する収集部と、
前記収集部によって収集された前記計測値が所定の閾値を下回った場合に、前記新たな現用系サーバに、前記予備サーバとの間でのデータの同期処理の開始を指示して、当該予備サーバを新たな待機系サーバに移行させる判定部と、
を備えることを特徴とする管理装置。 - 複数のスレーブサーバと、それぞれのスレーブサーバが保持するデータを管理するマスタサーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置であって、
前記複数のスレーブサーバのいずれかに障害が発生した後に、当該障害が発生した前記スレーブサーバが保持しているデータと同一のデータを、当該スレーブサーバ以外の他のスレーブサーバに分散配置させるリカバリ処理が完了したか否かを判定し、当該リカバリ処理が完了した後に、前記予備サーバを新たなスレーブサーバとして、障害が発生していない複数のスレーブサーバのそれぞれが保持しているデータの量を調整するリバランス処理の開始を前記マスタサーバに指示する判定部
を備えることを特徴とする管理装置。 - 前記複数のスレーブサーバのいずれかに障害が発生した後に、当該スレーブサーバ以外の他のスレーブサーバの負荷を示す計測値を収集する収集部
をさらに備え、
前記判定部は、
前記リカバリ処理が完了した後に、障害が発生したスレーブサーバ以外の他のスレーブサーバの前記計測値が所定の閾値を下回った場合に、前記リバランス処理の開始を前記マスタサーバに指示することを特徴とする請求項2に記載の管理装置。 - 前記判定部は、
前記リカバリ処理が完了した後に、障害が発生したスレーブサーバ以外の他のスレーブサーバの前記計測値の平均が、前記所定の閾値を下回った場合に、前記リバランス処理の開始を前記マスタサーバに指示することを特徴とする請求項3に記載の管理装置。 - 前記判定部は、
前記リカバリ処理が完了した後に、障害が発生したスレーブサーバ以外の他のスレーブサーバの前記計測値の中で、最大の前記計測値が、前記所定の閾値を下回った場合に、前記リバランス処理の開始を前記マスタサーバに指示することを特徴とする請求項3に記載の管理装置。 - 現用系サーバと、待機系サーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置によって実行される管理方法であって、
前記現用系サーバに障害が発生し、前記待機系サーバがフェイルオーバして新たな現用系サーバとなった場合に、当該新たな現用系サーバの負荷を示す計測値を収集する収集工程と、
前記収集工程において収集した前記計測値が所定の閾値を下回ったか否かを判定する工程と、
前記収集工程において収集した前記計測値が前記所定の閾値を下回ったと判定した場合に、前記新たな現用系サーバに、前記予備サーバとの間でのデータの同期処理の開始を指示して、当該予備サーバを新たな待機系サーバに移行させる工程と、
を含むことを特徴とする管理方法。 - 複数のスレーブサーバと、それぞれのスレーブサーバが保持するデータを管理するマスタサーバと、リソースプール内の予備サーバとを備えるサーバシステムを管理する管理装置によって実行される管理方法であって、
前記複数のスレーブサーバのいずれかに障害が発生した後に、当該障害が発生した前記スレーブサーバが保持しているデータと同一のデータを、当該スレーブサーバ以外の他のスレーブサーバに分散配置させるリカバリ処理が完了したか否かを判定する工程と、
前記リカバリ処理が完了したと判定した後に、前記予備サーバを新たなスレーブサーバとして、障害が発生していない複数のスレーブサーバのそれぞれが保持しているデータの量を調整するリバランス処理の開始を前記マスタサーバに指示する工程と、
を含むことを特徴とする管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013162685A JP2015032219A (ja) | 2013-08-05 | 2013-08-05 | 管理装置および管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013162685A JP2015032219A (ja) | 2013-08-05 | 2013-08-05 | 管理装置および管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015032219A true JP2015032219A (ja) | 2015-02-16 |
Family
ID=52517462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013162685A Pending JP2015032219A (ja) | 2013-08-05 | 2013-08-05 | 管理装置および管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015032219A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10911295B2 (en) | 2016-10-20 | 2021-02-02 | Nec Corporation | Server apparatus, cluster system, cluster control method and program |
-
2013
- 2013-08-05 JP JP2013162685A patent/JP2015032219A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10911295B2 (en) | 2016-10-20 | 2021-02-02 | Nec Corporation | Server apparatus, cluster system, cluster control method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106856489B (zh) | 一种分布式存储系统的服务节点切换方法和装置 | |
US8156381B2 (en) | Storage management apparatus and storage system | |
US9652332B2 (en) | Information processing apparatus and virtual machine migration method | |
EP2523115B1 (en) | Operation management device, operation management method, and program storage medium | |
US8458398B2 (en) | Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system | |
JP5381336B2 (ja) | 管理プログラム、管理装置および管理方法 | |
US9183102B2 (en) | Hardware consumption architecture | |
US10037348B2 (en) | Database management system with database hibernation and bursting | |
JP2013148984A (ja) | プログラム、仮想マシン制御方法、情報処理装置および情報処理システム | |
US20140298114A1 (en) | Information processing apparatus, information processing system, and control method therefor | |
US20150317175A1 (en) | Virtual machine synchronization system | |
US20130205017A1 (en) | Computer failure monitoring method and device | |
JP5910444B2 (ja) | 情報処理装置、起動プログラム、および起動方法 | |
US20190327129A1 (en) | Connection control method and connection control apparatus | |
JP2013196274A (ja) | マルチノードストレージシステムのノード装置および処理速度管理方法 | |
KR101211207B1 (ko) | 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법 | |
WO2013048750A1 (en) | Live module diagnostic testing | |
US20130205162A1 (en) | Redundant computer control method and device | |
CN113568783A (zh) | 分布式数据存储系统、管理方法、装置及存储介质 | |
JP2015032219A (ja) | 管理装置および管理方法 | |
JP2007257645A (ja) | 資産情報の一元管理を行うコンピュータシステム | |
JP6237055B2 (ja) | ライセンス管理システム、装置、方法及びプログラム | |
JP5573332B2 (ja) | 処理装置の配置構成管理方法及び装置 | |
CN110716826B (zh) | 一种云盘升级、调度方法及云主机、调度装置和系统 | |
JP5467936B2 (ja) | 分散・並列処理システムの障害監視装置と方法およびプログラム |