(57)【要約】【課題】  より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システム及び障害対応方法を提案する。【解決手段】  物理サーバの仮想化機構が、仮想サーバの現用系の仮想デバイスに割り当てられた現用系の物理デバイスに障害が発生した場合に、当該仮想サーバの待機系の仮想デバイスに対して、いずれの仮想サーバにも高い優先度で使用設定されていない待機系の物理デバイスを高い優先度で使用する物理デバイスとして設定し、他の仮想サーバの待機系の仮想デバイスから発行されるリクエストを、いずれかの仮想サーバにも高い優先度で使用設定されていない待機系の物理デバイスに振り分ける一方、そのような待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの仮想サーバの待機系の仮想デバイスに高い優先度で使用設定された待機系の物理デバイスに振り分けるようにした。【選択図】        図１４
2011141609.tif 000002
【特許請求の範囲】
【請求項１】
物理サーバを有する計算機システムにおいて、
前記物理サーバは、
現用系及び待機系の物理デバイスと、
前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを備え、
前記仮想化機構は、
前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける機能を有し、
前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、
当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが、他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、
前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする計算機システム。
【請求項２】
前記仮想化機構は、
他の仮想サーバの前記待機系の仮想デバイスから発行される前記リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスに振り分ける一方、
いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記物理サーバを管理する管理サーバをさらに備え、
前記仮想化機構は、
前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせ、
前記管理サーバは、
各前記仮想サーバが実行する業務の優先順位に基づいて、当該リクエストを振り分けるべき前記待機系の物理デバイスを判断し、判断結果を前記仮想化機構に通知し、
前記仮想化機構は、
前記管理サーバの判断結果に基づいて、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記仮想化機構は、
前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しない場合であって、いずれかの前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタの中に、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに割り込ませ、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる
ことを特徴とする請求項３に記載の計算機システム。
【請求項５】
前記物理サーバを管理する管理サーバ及び又は当該物理サーバからのデータを読み書きするための記憶領域を提供するストレージ装置をさらに備え、
前記現用系及び待機系の物理デバイスは、
前記管理サーバ又は前記ストレージ装置と通信を行うためのアダプタである
ことを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記仮想化機構は、
前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストの種別に基づいて、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したか否かを判断する
ことを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記仮想化機構は、
いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったとき、又は、前記待機系の仮想デバイスから発行されたリクエストのパケットサイズが閾値よりも小さいとき以外のときには、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したと判断する
ことを特徴とする請求項６に記載の計算機システム。
【請求項８】
前記仮想化機構は、
いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであって、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに振り分け、
いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在しないときには、当該リクエストを、優先順位が最も低い業務を実行する前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタ、又は、負荷が最も低い前記待機系の物理アダプタに振り分ける
ことを特徴とする請求項７に記載の計算機システム。
【請求項９】
物理サーバを有する計算機システムの可用化方法において、
前記物理サーバは、
現用系及び待機系の物理デバイスと、
前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを有し、
前記仮想化機構が、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける第１のステップと、
前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける第２のステップと
を備えることを特徴とする計算機システムの可用化方法。
【請求項１０】
前記第２のステップでは、
他の仮想サーバの前記待機系の仮想デバイスから発行される前記リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスに振り分ける一方、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする請求項９に記載の計算機システムの可用化方法。
【請求項１１】
前記計算機システムは、
前記物理サーバを管理する管理サーバをさらに備え、
前記第２のステップは、
前記仮想化機構が、前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる問合わせステップと、
前記管理サーバが、各前記仮想サーバが実行する業務の優先順位に基づいて、当該リクエストを振り分けるべき前記待機系の物理デバイスを判断し、判断結果を前記仮想化機構に通知する判断ステップと、
前記仮想化機構が、前記管理サーバの判断結果に基づいて、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける振分けステップとを備える
ことを特徴とする請求項９に記載の計算機システムの可用化方法。
【請求項１２】
前記問合わせステップでは、
前記仮想化機構が、前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しない場合であって、いずれかの前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタの中に、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに割り込ませ、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる
ことを特徴とする請求項１１に記載の計算機システムの可用化方法。
【請求項１３】
前記計算機システムは、
前記物理サーバを管理する管理サーバ及び又は当該物理サーバからのデータを読み書きするための記憶領域を提供するストレージ装置をさらに備え、
前記現用系及び待機系の物理デバイスは、
前記管理サーバ又は前記ストレージ装置と通信を行うためのアダプタである
ことを特徴とする請求項９に記載の計算機システムの可用化方法。
【請求項１４】
前記第２のステップでは、
前記仮想化機構は、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストの種別に基づいて、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したか否かを判断する
ことを特徴とする請求項９に記載の計算機システムの可用化方法。
【請求項１５】
前記第２のステップでは、
前記仮想化機構は、いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったとき、又は、前記待機系の仮想デバイスから発行されたリクエストのパケットサイズが閾値よりも小さいとき以外のときには、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したと判断する
ことを特徴とする請求項１４に記載の計算機システムの可用化方法。
【請求項１６】
前記第２のステップにおいて、前記仮想化機構は、
いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在するときには、当該待機系の物理アダプタに振り分け、
いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在しないときには、当該リクエストを、優先順位が最も低い業務を実行する前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタ、又は、負荷が最も低い前記待機系の物理アダプタに振り分ける
ことを特徴とする請求項１５に記載の計算機システムの可用化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム及びその可用化方法に関し、例えば、冗長化を目的として物理デバイス及び仮想デバイスを多重構成とした計算機システムに適用して好適なものである。
【背景技術】
【０００２】
近年、仮想化技術の進歩により、１台の物理サーバ上で複数台の仮想サーバを稼働させることが可能となってきている。このような仮想化技術を利用することによって１台の物理サーバ上で複数台の仮想サーバを稼働させることによって、物理的な計算機資源を削減することが可能となり、コスト削減を図ることができる。
【０００３】
一方、上述のように１台の物理サーバ上で複数台の仮想サーバを稼働させる場合、物理的な計算機資源を複数の仮想サーバ間で共有することになるが、物理的な計算機資源を複数の仮想サーバで共有する場合、個々の仮想サーバの性能や可用性が低下するという問題がある。
【０００４】
そこで、仮想サーバの現用系として用いる計算機資源（以下、これを仮想計算機資源と呼ぶ）に対しては、特定の物理的な計算機資源（以下、これを物理計算機資源と呼ぶ）を占有で使用するように割り当て、仮想サーバの待機系の仮想計算機資源に対しては、他の物理計算機資源を共有で使用するように割り当てるための技術が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４９５７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上述のように仮想サーバの現用系の仮想計算機資源に対して特定の物理計算機資源（以下、これを現用系の物理計算機資源と呼ぶ）を占有で割り当て、かかる仮想サーバの待機系の仮想計算機資源に他の物理計算機資源（以下、これを待機系の物理計算機資源と呼ぶ）を共有で割り当てる計算機システムにおいて、現用系の物理計算機資源に障害が発生した場合、当該仮想サーバの待機系の仮想計算機資源で処理を継続することによって、可用性を向上させることができる。
【０００７】
この場合において、かかる計算機システムでは、複数の待機系の仮想計算機資源に対して、これらと同等又は少ない数の待機系の物理計算機資源が割り当てられるため、上述のような障害の発生時における対応策として、以下の２つの対応策の中から１つを選択しておく必要がある。
（１）待機系の仮想計算機資源に待機系の物理計算機資源を１００パーセント割り当てる（占有させる）ことによって性能を保つ
（２）性能を犠牲にしてより多くの仮想計算機資源を救済する
【０００８】
ところが前者の対応策によれば、障害が発生した物理計算機資源が割り当てられていた仮想サーバの性能を維持することはできるが、それまでその物理計算機資源に割り振られていたリクエストが他の待機系の物理計算機資源に分散して割り振られることになるため、システム全体としての性能が低下する問題がある。また例えば、待機系の物理計算機資源が１つしか存在しないようなシステムでは、次に他の現用系の物理計算機資源に障害が発生した場合に、その障害が発生した物理計算機資源が割り当てられていた仮想サーバが実行していた業務を救済し得なくなる問題がある。
【０００９】
本発明は以上の点を考慮してなされたもので、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システム及び障害対応方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、物理サーバを有する計算機システムにおいて、前記物理サーバは、現用系及び待機系の物理デバイスと、前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを備え、前記仮想化機構は、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける機能を有し、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが、他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分けるようにした。
【００１１】
また本発明においては、物理サーバを有する計算機システムの可用化方法において、前記物理サーバは、現用系及び待機系の物理デバイスと、前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを有し、前記仮想化機構が、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける第１のステップと、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける第２のステップとを設けるようにした。
【発明の効果】
【００１２】
本発明によれば、いずれかの仮想サーバの待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない待機系の物理デバイスが存在しないときには、リクエストを、いずれかの仮想サーバの待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された待機系の物理デバイスに振り分けるようにしているため、障害が発生した物理アダプタが割り当てられている仮想サーバが実行している業務のみならず、他の業務をも救済しながら、これら業務の処理性能をできる限り維持し得る可用性の高い計算機システム及びその可用化方法を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態による計算機システムの概略構成を示すブロック図である。
【図２】管理サーバの概略構成を示すブロック図である。
【図３】物理サーバの概略構成を示すブロック図である。
【図４】仮想化機構の概略構成の説明に供するブロック図である。
【図５】本実施の形態によるリクエスト振分け機能の説明に供する概念図である。
【図６】本実施の形態によるリクエスト振分け機能の説明に供する概念図である。
【図７】物理サーバ管理テーブルの説明に供する概念図である。
【図８】仮想サーバ管理テーブルの説明に供する概念図である。
【図９】ＯＳ管理テーブルの説明に供する概念図である。
【図１０】業務及びＳＬＡ管理テーブルの説明に供する概念図である。
【図１１】システム管理テーブルの説明に供する概念図である。
【図１２】アダプタ管理テーブルの説明に供する概念図である。
【図１３】リクエスト種別管理テーブルの説明に供する概念図である。
【図１４】リクエスト振分け処理の処理手順を示すフローチャートである。
【図１５】障害判定処理の処理手順を示すフローチャートである。
【図１６】振分け処理の処理手順を示すフローチャートである。
【図１７】振分け設定処理の処理手順を示すフローチャートである。
【図１８】第２の実施の形態によるリクエスト振分け処理の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）第１の実施の形態
（１−１）本実施の形態による計算機システムの構成
図１において、１は全体として本実施の形態による計算機システムを示す。この計算機システム１は、管理サーバ２、管理用ネットワーク３、複数の物理サーバ４、業務用ネットワーク５及びストレージサブシステム６から構成される。
【００１６】
管理サーバ２は、計算機システム１内の物理サーバ４を管理するために用いられるサーバ装置であり、管理用ネットワーク３を介して各物理サーバ４と接続されている。また管理サーバ２は、管理用ネットワーク３の管理インタフェース３Ａ及び業務用ネットワーク５の管理インタフェース５Ａとそれぞれ接続されており、これにより管理サーバ２から管理用ネットワーク３及び業務用ネットワーク５のＶＬＡＮ（Virtual LAN）を設定することができるようになされている。
【００１７】
管理用ネットワーク３は、例えばＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。管理用ネットワーク３は、ＯＳ（Operating System）又はアプリケーションの配信や電源制御などの物理サーバ４の運用管理を行うために利用される。
【００１８】
物理サーバ４は、例えばブレードサーバから構成される。物理サーバ４には、ハイパーバイザと呼ばれる仮想化ソフトウェアが実装されており、この仮想化ソフトウェアを実行することにより構築される後述の仮想化機構上で１又は複数の仮想サーバを稼働させることができるようになされている。
【００１９】
業務用ネットワーク５は、例えばＦＣ−ＳＡＮ（Fibre Chanel- Storage Area Network）又はＩＰ−ＳＡＮ（Internet Protocol-Storage Area Network）などから構成される。業務用ネットワーク５は、物理サーバ４上で稼働する仮想サーバがデータをストレージサブシステム６に読み書きするために利用される。
【００２０】
ストレージサブシステム６は、物理サーバ４に対してデータを読み書きするための記憶領域を提供するストレージ装置であり、複数の記憶デバイス１０と、これら複数の記憶デバイス１０に対するデータの入出力を制御するコントローラ１１とから構成される。
【００２１】
記憶デバイス１０は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクデバイス、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクデバイスなどから構成される。
【００２２】
これらの記憶デバイス１０は、コントローラ１１によりＲＡＩＤ（Redundant Arrays of Inexpensive Disks）方式で運用される。１又は複数の記憶デバイス１０により提供される物理的な記憶領域上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームと呼ぶ）ＶＯＬが設定される。そしてデータは、この論理ボリュームＶＯＬ内に所定大きさのブロックを単位として記憶される。
【００２３】
図２は、管理サーバ２の概略構成を示す。この図２に示すように、管理サーバ２は、ＣＰＵ（Central Processing Unit）２０、メモリ２１、ネットワークインタフェース２２及びディスクインタフェース２３を備えて構成される。
【００２４】
ＣＰＵ２０は、管理サーバ２全体の動作制御を司るプロセッサであり、起動時に図示しない外部ディスク装置からプログラム及びデータをメモリ２１にロードし、ロードしたプログラム及びデータに基づいて各種処理を実行する。メモリ２１は、外部ディスク装置からロードされたプログラム及びデータなどを記憶するために用いられるほか、ＣＰＵ２０のワークメモリとしても用いられる。後述する制御プログラム群２４及び管理テーブル群２５もこのメモリ２１に格納されて保持される。
【００２５】
ネットワークインタフェース２２は、管理サーバ２が管理用ネットワーク３を介して物理サーバ４と通信するためのインタフェースとして機能し、管理サーバ２及び物理サーバ４間の通信時におけるプロトコル変換などの処理を実行する。またディスクインタフェース２３は、上述の外部ディスク装置との間のインタフェースとして機能する。
【００２６】
なお、図２においては、ネットワークインタフェース２２及びディスクインタフェース２３をそれぞれ１つずつ図示しているが、実際には、ネットワークインタフェース２２及びディスクインタフェース２３はそれぞれ複数存在する。例えば、管理用ネットワーク３に対するネットワークインタフェース２２と、業務用ネットワーク５に対するネットワークインタフェース２２とはそれぞれ別個のものが使用される。
【００２７】
物理サーバ４は、図３に示すように、ＣＰＵ３０、メモリ３１、ＢＭＣ（Basement Management Controller）３２、ネットワークインタフェース３３及びディスクインタフェース３４を備えて構成される。
【００２８】
ＣＰＵ３０は、物理サーバ４全体の動作制御を司るプロセッサであり、起動時に図示しない外部ディスク装置からＯＳ（Operating System）、各種業務アプリケーションプログラム及び管理プログラムなどの各種プログラムと、必要なデータとをメモリ３１にロードし、ロードしたプログラムに従って各種処理を実行する。メモリ３１は、かかる外部ディスク装置からロードされた各種プログラム及びデータなどを記憶するために用いられるほか、ＣＰＵ３０のワークメモリとしても用いられる。後述する制御プログラム群３５及び管理テーブル群３６もこのメモリ２１に格納されて保持される。
【００２９】
ＢＭＣ３２は、電源制御や各インタフェースの制御を行う。またネットワークインタフェース３３及びディスクインタフェース３４は、管理サーバ２のネットワークインタフェース３３及びディスクインタフェース３４と同様の機能を有するもので、それぞれ管理用ネットワーク３を介して管理サーバ２と通信し、又は業務用ネットワーク５を介してストレージサブシステム６との間でデータを送受するときのインタフェースとして利用される。
【００３０】
なお、図３においては、ネットワークインタフェース３３及びディスクインタフェース３４をそれぞれ１つずつ図示しているが、実際には、ネットワークインタフェース３３及びディスクインタフェース３４がそれぞれ複数存在する。例えば、管理用ネットワーク３に対するネットワークインタフェース３３と、業務用ネットワーク５に対するネットワークインタフェース３３とはそれぞれ別個のものが利用される。
【００３１】
ここで図３に示すように、物理サーバ４のメモリ３１には外部ディスク装置からロードした仮想化ソフトウェアを実行することにより構築される仮想化機構４０が配備される。この仮想化機構４０は、物理サーバ４の計算機資源を仮想化する機能を有するもので、物理サーバ４のＣＰＵ３０、メモリ３１、ＢＭＣ３２、ネットワークインタフェース３３及びディスクインタフェース３４をそれぞれ仮想化してなる仮想ＣＰＵ５０、仮想メモリ５１、仮想ＢＭＣ５２、仮想ネットワークインタフェース５３及び仮想ディスクインタフェース５４等の仮想デバイス群を備える１又は複数の仮想サーバ５５を提供する。
【００３２】
各仮想サーバ５５の仮想メモリ５１には、ＯＳ５６が論理的に格納されており、このＯＳ５６に基づいて仮想ＣＰＵ５０により仮想サーバ５５内の仮想デバイス群が管理される。またＯＳ５６上では業務アプリケーションプログラム５７が実行されており、これにより各仮想サーバ５５においてそれぞれ個別の業務処理を実行し得るようになされている。さらにＯＳ５６上では、管理プログラム５８が稼働しており、この管理プログラム５８によって障害検知やＯＳ５６の電源制御及びインベントリ管理などを行い得るようになされている。
【００３３】
仮想化機構４０は、物理サーバ４の計算機資源（物理計算機資源）と、当該物理サーバ４上で稼働する１又は複数の仮想サーバ５５の計算機資源（仮想計算機資源）との対応付けを管理しており、管理サーバ２からこの仮想化機構４０に指示を与えることによって、仮想計算機資源に対する物理計算機資源の割り当てや、当該割り当ての解除を行うことができる。また仮想化機構４０は、各仮想サーバ５５にそれぞれ物理計算機資源がどの程度割り当てられ、また各仮想サーバ５５がそれぞれ自己に割り当てられた物理計算機資源をどの程度使用しているかといった構成情報及び稼働履歴を管理する。
【００３４】
この仮想化機構４０は、図３に示すように、仮想化機構管理用インタフェース４１及び振分け機構４２と、物理サーバ４の計算機資源を仮想化し、仮想サーバ５５を提供する機能（図示せず）とを備える。
【００３５】
このうち仮想化機構管理用インタフェース４１は、仮想化機構４０が管理サーバ２と通信を行うためのインタフェースであり、仮想化機構４０から管理サーバ２に情報を通知したり、管理サーバ２から仮想化機構４０に指示を与える際に使用される。なお仮想化機構管理用インタフェース４１をユーザが直接使用することも可能である。
【００３６】
振分け機構４２は、待機系の仮想ネットワークインタフェース５３から発行されたリクエストを、待機系のネットワークインタフェース３３又はディスクインタフェース３４に振り分ける機能を有するもので、制御プログラム群３５及び管理テーブル群３６を備えて構成される。これら制御プログラム群３５及び管理テーブル群３６の詳細については後述する。
【００３７】
現用系の仮想ネットワークインタフェース５３又は仮想ディスクインタフェース５４に割り当てられた物理サーバ４のネットワークインタフェース３３又はディスクインタフェース３４に障害が発生した場合、仮想サーバ５５のＯＳ５６は、その現用系の仮想ネットワークインタフェース５３又は仮想ディスクインタフェース５４を通じた通信を行えなくなる。このため仮想サーバ５５のＯＳ５６は、かかる障害を契機に待機系の仮想ネットワークインタフェース５３又は仮想ディスクインタフェース５４を通じてリクエストを発行するようになる。
【００３８】
つまり、現用系の仮想ネットワークインタフェース５３又は仮想ディスクインタフェース５４に割り当てられたネットワークインタフェース３３又はディスクインタフェース３４に障害が発生したことを契機として、待機系の仮想ネットワークインタフェース５３又は仮想ディスクインタフェース５４から振分け機構部４２にリクエストが送られるようになる。
【００３９】
ただし、かかる障害の発生以外の通常運用時にも、死活監視リクエストが待機系の仮想ネットワークインタフェース５３又は仮想ディスクインタフェース５４から発行される。従って、仮想ネットワークインタフェース５３又は仮想ディスクインタフェース５４からのリクエストを仮想化機構４０が受信したときに、受信したリクエストが死活監視リクエストなのか、又は、死活監視リクエスト以外のリクエスト（ネットワークインタフェース３３の障害に起因して送られてきたリクエスト）なのかを判定し、然るべきネットワークインタフェース３３又はディスクインタフェース３４にリクエストを振り分けることが本実施の形態による振分け機構４２の基本的な役割である。
【００４０】
図４は、仮想化機構４０により仮想化された物理サーバ４のネットワークインタフェース３３と、仮想サーバ５５の仮想ネットワークインタフェース５３との対応関係を示す。本実施の形態による計算機システム１では、仮想サーバ５５の現用系の仮想ネットワークインタフェース５３に対して物理サーバ４のネットワークインタフェース３３が占有モードで割り当てられる。
【００４１】
ここで占有モードとは、仮想デバイスが物理デバイスを占有できる割当てモードのことをいう。仮想デバイスに対して物理デバイスを割り当てる割当てモードとしては、占有モードの他に、複数の仮想デバイスが１つの物理デバイスを共有する共有モードが存在する。仮想デバイスに対する物理デバイスの割当てモードを占有モード及び共有モードのいずれにするかは、ユーザ指定とすることができるが、例えば運用ポリシとして現用系は占有モード、待機系は共有モードとしても、また、占有モード又は共有モードの一部を現用系の仮想デバイスに割り当てるようにしても良い。
【００４２】
上述のように本実施の形態においては、現用系の仮想ネットワークインタフェース５３に対しては占有モードでネットワークインタフェース３３が割り当てられるため、これら現用系の仮想ネットワークインタフェース５３は、自己に割り当てられたネットワークインタフェース３３を１００パーセント利用することができる。
【００４３】
一方、本実施の形態による計算機システム１の場合、仮想サーバ５５の待機系の仮想ネットワークインタフェース５３に対しては、仮想化機構４０内の振分け機構４２を介して物理サーバ４のネットワークインタフェース３３が共有モードで割り当てられる。従って、例えば１０個の仮想ネットワークインタフェース５３に対して物理サーバ４の２個のネットワークインタフェース３３を割り当て、これら２個のネットワークインタフェース３３をかかる１０個の仮想ネットワークインタフェース５３によって共同で利用するという運用ができる。
【００４４】
これにより、待機系の仮想ネットワークインタフェース５３を必要な仮想サーバ５５すべてに設定することが可能となり、また、同時に物理サーバ４のネットワークインタフェース３３を仮想ネットワークインタフェース５３と同数分だけ用意する必要がなくなり、ネットワークインタフェース３３の数を低減させることができる。また、このようにデバイス数を低減させることができるため、消費電力量の削減を見込むことができ、コスト削減効果を得ることができる。
【００４５】
なお以上のことは、物理サーバ４のネットワークインタフェース３３及び仮想サーバ５５の仮想ネットワークインタフェース５３間の関係に限らず、物理サーバ４のディスクインタフェース３４及び仮想サーバ５５の仮想ディスクインタフェース５４間の関係についても同様のことが言える。
【００４６】
（１−２）リクエスト振分け機能
次に、本計算機システム１に搭載されたリクエスト振分け機能について説明する。なお、以下においては、物理サーバ４のネットワークインタフェース３３及びディスクインタフェース３４をまとめて物理アダプタ６０（図５）と呼び、仮想サーバ５５の仮想ネットワークインタフェース５３及び仮想ディスクインタフェース５４をまとめて仮想アダプタ６１（図５）と呼ぶものとする。
【００４７】
本計算機システム１においては、現用系の仮想アダプタ６１に割り当てられている物理アダプタ（現用系の物理アダプタ）６０に障害が発生した場合に、その障害が発生した物理アダプタ６０が割り当てられている仮想サーバ５５の仮想アダプタ６１を特定し、待機系の物理アダプタ６０に余剰がある場合、すなわち、いずれの仮想サーバ５５の待機系の仮想アダプタ６１にも高い優先度で使用する物理デバイスとして設定されていない待機系の物理アダプタ６０が存在する場合には、図５に示すように、当該待機系の物理アダプタ６０の中からかかる仮想アダプタ６１が高い優先度で使用する物理アダプタ６０を１つ決定して（図５では「物理アダプタＡ」）、その物理アダプタ６０を共有モードのままその仮想アダプタ６１に割り当てる機能を備える。
【００４８】
すなわち図６に示すように、本実施の形態による物理サーバ４の仮想化機構４０は、仮想サーバ５５の現用系の仮想アダプタ（ＶＡ：Virtual Adapter）６１に割り当てられている物理アダプタ（ＰＡ：Physical Adapter）６０に障害が発生した場合、待機系として用意された物理アダプタ６０のうちの１つをその仮想サーバ５５の待機系の仮想アダプタ６１に割り当て、当該物理アダプタ６０を当該仮想アダプタ６１に高い優先度で使用させる役割を担う。また、かかる仮想化機構４０は、その他の障害が発生していない仮想アダプタ６１からのリクエストを、高い優先度で使用する設定をした物理アダプタ６０以外の待機系の物理アダプタ６０へ振り分ける役割も担う。
【００４９】
加えて、本計算機システム１の場合、待機系の物理アダプタ６０に余剰がない場合には、その旨を管理サーバ２に通知し、管理サーバ２が、かかる障害が発生した物理アダプタ６０が割り当てられていた仮想サーバ５５が実行している業務の優先順位に基づき、リクエストを割り込ませることができる物理アダプタ６０を、既に他の仮想アダプタ６１に高い優先度で使用するよう設定された物理アダプタ６０の中から１つ決定し、その物理アダプタ６０にリクエストを振り分けるように振分け機構４２に指示を与えるようになされている。
【００５０】
これにより、待機系の物理アダプタ６０に余剰がない状態で、重要度の高い業務を担当する仮想サーバ５５の現用系の仮想アダプタ６１に割り当てられていた物理アダプタ６０に障害が発生した場合にも、その重要度の高い業務が停止することを防ぐことが可能である。
【００５１】
以上のように本実施の形態による計算機システム１の特徴は、仮想サーバ５５の待機系の仮想アダプタ６１に待機系の物理アダプタ６０を割り当てる際に、当該物理アダプタ６０を共有モードのまま割り当てる点にある。これにより、障害があった業務以外の他の業務に影響なく、障害が発生した業務を救済することが可能になる。
【００５２】
本実施の形態に反して、かかる待機系の物理アダプタ６０を占有モードに切り替えると、一旦、救済された業務のみしか救われないという問題がある。また、待機系の物理アダプタ６０を１つにした場合、占有モードに切り替えてしまうと、他の待機の仮想アダプタ６１からの死活監視リクエストなどを処理することができず、ＯＳ５６からは待機の仮想アダプタ６１に障害が発生したように見える。本実施の形態によれば、そのようなことは起こらず、従来のままの運用を継続することが可能である。
【００５３】
以上のような障害対処機能を実現するための手段として、図２に示すように、管理サーバ２のメモリ２１には、振分け設定プログラム７０、障害判定プログラム７１及びネットワークトポロジ収集プログラム７２を含む制御プログラム群２４と、物理サーバ管理テーブル７３、仮想サーバ管理テーブル７４、ＯＳ管理テーブル７５、業務及びＳＬＡ管理テーブル７６、並びに、システム管理テーブル７７を含む管理テーブル群２５とが格納されている。また物理サーバ４の仮想化機構４０（図４）の振分け機構４２（図４）は、図４に示すように、リクエスト検出プログラム８０、障害判定プログラム８１、管理サーバ通信プログラム８２及び振分けプログラム８３を含む制御プログラム群３５と、アダプタ管理テーブル８４及びリクエスト種別管理テーブル８５を含む管理テーブル群３６とを保持している。
【００５４】
このうち管理サーバ２の振分け設定プログラム７０は、各物理サーバ４の振分け機構４２に対し、仮想ネットワークインタフェース５３からのリクエストをどのように振り分けるかを設定するためのプログラムである。また障害判定プログラム７１は、管理対象である物理サーバ４や仮想サーバ５５、仮想化機構４０、管理用ネットワーク３、業務用ネットワーク５及びストレージサブシステム６からの障害情報を受け付けるためのプログラムである。障害判定プログラム７１による障害検知の手法としては公知技術を適用することができる。
【００５５】
さらにネットワークトポロジ収集プログラム７２は、ネットワークに関する設定や接続関係に関する情報を収集するためのプログラムである。このネットワークトポロジ収集プログラム７２に基づく情報収集作業は、自動的に実行するものであっても、ユーザ操作を契機として実行するものであっても良い。ネットワークトポロジ収集プログラム７２による情報収集の手法に関しても公知技術を適用することができる。
【００５６】
一方、物理サーバ管理テーブル７３は、計算機システム１内に存在する物理サーバ４を管理するために用いられるテーブルであり、図７に示すように、物理サーバ識別子欄７３Ａ、ＵＵＩＤ欄７３Ｂ、物理アダプタ欄７３Ｃ、スイッチ情報欄７３Ｄ、サーバモデル欄７３Ｅ、構成欄７３Ｆ及び性能情報欄７３Ｇから構成される。
【００５７】
このうち物理サーバ識別子欄７３Ａには、そのエントリ（図７の１つの行に相当。以下、同様。）に対応する物理サーバ４に付与された識別子（以下、これを物理サーバ識別子と呼ぶ）が格納される。この物理サーバ識別子は、その物理サーバ４に固有の識別子であり、ＭＡＣ（Media Access Control）アドレスやＷＷＮ（World Wide Name）などを適用することができる。ただし、物理サーバ識別子として、本物理サーバ管理テーブル７３におけるそのエントリのいずれか１つの欄に格納された情報又はいずれか複数の欄にそれぞれ格納された情報を組み合わせたものを適用するようにしても良く、また物理サーバ識別子を昇順で自動的に物理サーバ４に割り振るようにしても良い。
【００５８】
またＵＵＩＤ欄７３Ｂには、その物理サーバ４に付与されたＵＵＩＤ（Universal Unique IDentifier）が格納される。ＵＵＩＤは、全宇宙規模で重複しないように形式が既定された識別子である。従って、物理サーバ４ごとのＵＵＩＤを管理することにより、各物理サーバ４の確実なユニーク性を保証することができる。このＵＵＩＤは、物理サーバ識別子の候補ともなり得る識別子であり、広範囲に渡ったサーバ管理には非常に有効である。ただし、物理サーバ識別子は、システム管理者が物理サーバ４を識別するための識別子であって、物理サーバ４間で重複しなければ問題はないため、ＵＵＩＤを適用することが望ましいものの必須ではない。
【００５９】
物理アダプタ欄７３Ｃは、物理サーバ４に搭載された物理アダプタ６０に関する情報を管理するための欄であり、デバイス欄７３Ｈ、ＷＷＮ欄７３Ｉ及びステータス欄７３Ｊから構成される。そしてデバイス欄７３Ｈには、対応する物理サーバ４に搭載された各物理アダプタ６０にそれぞれ付与されたデバイスＩＤが格納される。なお、物理アダプタ６０の種別としては、ＨＢＡ（Host Bus Adaptor）、ＮＩＣ（Network Interface Card）及びＣＮＡ（Converged Network Adapter）などがあるが、図７においては、「１番目のＨＢＡ」は「ＨＢＡ１」、「１番目のＮＩＣ」は「ＮＩＣ１」という具合に、その物理アダプタ６０の種別を表す文字列に種別ごとの通し番号を付加したものをデバイスＩＤとしている。
【００６０】
またＷＷＮ欄７３Ｉには、その物理アダプタ６０のネットワーク上での識別子が格納される。例えばその物理アダプタ６０がＨＡＢである場合にはＷＷＮが格納され、その物理アダプタ６０がＮＩＣである場合にはＭＡＣアドレスが格納される。さらにステータス欄７３Ｊには、その物理アダプタ６０の現在のステータスが格納される。物理アダプタ６０のステータスとしては、問題がない（障害が発生していない）状態を表す「正常」と、障害が発生していることを表す「障害」とがある。
【００６１】
スイッチ情報欄７３Ｄには、その物理サーバ４がその物理アダプタ６０を介して接続されている管理用ネットワーク３又は業務用ネットワーク５上のスイッチに関する情報（そのスイッチの種別及び識別子や、接続ポート及びセキュリティ設定情報など）が格納される。
【００６２】
サーバモデル欄７３Ｅには、対応する物理サーバ４のモデルが格納される。インフラに関する情報であり、性能や構成可能なシステム限界を知ることができる情報である。
【００６３】
構成欄７３Ｆには、対応する物理サーバ４の構成が格納される。具体的には、その物理サーバ４に搭載されたＣＰＵ３０（図３）のアーキテクチャ、シャーシやスロットなどの物理位置情報と、特徴機能（ブレード間ＳＭＰ（Symmetric Multi-Processing）や、ＨＡ構成などの有無）に関する情報とが格納される。構成欄７３Ｆに格納される情報は、サーバモデル欄７３Ｅに格納される情報と同様に、インフラに関する情報である。
【００６４】
さらに性能情報欄７３Ｇには、対応する物理サーバ４の性能情報が格納される。具体的には、ＣＰＵ３０の処理速度、コア数、メモリ容量、ハードディスク容量、ＮＩＣやＨＢＡの通信速度などが、この性能情報欄に格納されることになる。
【００６５】
仮想サーバ管理テーブル７４は、計算機システム１内に存在する仮想サーバ５５を管理するためのテーブルであり、図８に示すように、仮想サーバ識別子欄７４Ａ、ＵＵＩＤ欄７４Ｂ、Ｉ／Ｏデバイス欄７４Ｃ、仮想化種別欄７４Ｄ及び性能情報欄７４Ｅから構成される。
【００６６】
このうち仮想サーバ識別子欄７４Ａには、そのエントリに対応する仮想サーバ５５に付与された識別子（以下、これを仮想サーバ識別子と呼ぶ）が格納される。この仮想サーバ識別子は、その仮想サーバ５５に固有の識別子であり、例えば仮想ＭＡＣアドレスや仮想ＷＷＮなどを適用することができる。またＯＳ５６によっては、独自にユニーク性を保つための識別子を採用している場合があるので、この識別子を一部に用いてそのＯＳ５６が搭載された仮想サーバ５５の仮想サーバ識別子を生成するようにしても良い。さらにはユニーク性を確保するために、上記以外の独自の方法により仮想サーバ識別子を生成するようにしても良い。
【００６７】
ＵＵＩＤ欄７４Ｂには、その仮想サーバ５５に付与されたＵＵＩＤが格納される。ＵＵＩＤは、仮想サーバ識別子の候補ともなり得る識別子であり、広範囲に渡ったサーバ管理には非常に有効な識別子である。ただし、仮想サーバ識別子は、システム管理者が仮想サーバ５５を識別するための識別子であって、仮想サーバ５５間で重複しなければ問題はないため、ＵＵＩＤを適用することが望ましいものの必須ではない。
【００６８】
Ｉ／Ｏデバイス欄７４Ｃは、仮想サーバ５５に搭載された仮想アダプタ６１に関する情報を管理するための欄であり、仮想デバイス欄７４Ｆ、仮想ＷＷＮ欄７４Ｇ、現用／待機欄７４Ｈ、モード欄７４Ｉ及びセキュリティ欄７４Ｊから構成される。
【００６９】
そして仮想デバイス欄７４Ｆには、対応する仮想サーバ５５に設定された各仮想アダプタ６１にそれぞれ付与されたデバイスＩＤが格納される。なお、図８においては、「１番目の仮想ＨＢＡ」は「ｖＨＢＡ１」、「１番目のＮＩＣ」は「ｖＮＩＣ１」という具合に、その仮想アダプタ６１の種別を表す文字列に種別ごとの通し番号を付加したものをデバイスＩＤとして付与した場合を例示している。また仮想ＷＷＮ欄７４Ｇには、その仮想アダプタ６１のネットワーク上での識別子が格納される。例えばその仮想アダプタ６１が仮想ＨＢＡである場合には仮想ＷＷＮが格納され、その仮想アダプタ６１が仮想ＮＩＣである場合には仮想ＭＡＣアドレスが格納される。
【００７０】
さらに現用／待機欄７４Ｈには、対応する仮想アダプタ６１が現用系及び待機系のいずれであるかを表す情報が格納される。具体的には、その仮想アダプタ６１が現用系の「１」番目のアダプタである場合には「現用１」、待機系の「２」番目のアダプタである場合には「待機２」といった情報が格納されることになる。
【００７１】
さらにモード欄７４Ｉには、その仮想アダプタ６１の利用モードが格納される。この利用モードとしては、その仮想アダプタ６１が当該仮想アダプタ６１に対応付けられた物理アダプタ６０を占有して使用する「占有」と、その仮想アダプタ６１が当該仮想アダプタ６１に対応付けられた物理アダプタ６０を他の仮想アダプタ６１と共有して使用する「共有」とがある。さらにセキュリティ欄７４Ｊには、その仮想アダプタ６１のセキュリティに関する設定情報が格納される。
【００７２】
さらに仮想化種別欄７４Ｄには、その仮想サーバ５５の仮想化種別に関する情報が格納される。仮想化種別とは、仮想化製品や仮想化技術のことを意味し、制御インタフェースや機能差が明確に判別できるものである。仮想化種別に関する情報として、バージョン情報を含めても良く、また、独自に管理機能をもつ場合には、その管理機能の名称や管理インタフェースを含めても良い。
【００７３】
さらに性能情報欄７４Ｅには、対応する仮想サーバ５５の性能情報が格納される。この性能情報としては、仮想ＣＰＵ５０（図３）の動作周波数及びコア数や、仮想メモリ５１（図３）のメモリ容量、仮想ハードディスク装置のディスク容量及び仮想アダプタ６１の通信速度などが含まれる。
【００７４】
ＯＳ管理テーブル７５は、物理サーバ４のメモリ３１（図３）に格納され、仮想サーバ５５にＯＳ５６として使用されるＯＳを管理するためのテーブルであり、図９に示すように、ＯＳ識別子欄７５Ａ、ＵＵＩＤ欄７５Ｂ、ＯＳ種別欄７５Ｃ、ＯＳ設定情報欄７５Ｄ及び冗長化欄７５Ｅから構成される。
【００７５】
そしてＯＳ識別子欄７５Ａには、そのエントリに対応するＯＳに付与されたそのＯＳに固有の識別子（以下、これをＯＳ識別子と呼ぶ）が格納される。なお、ＯＳ識別子として、例えばＯＳ設定情報欄に格納されるＯＳ設定情報を適用するようにしても良い。またＵＵＩＤ欄７５Ｂには、そのＯＳに付与されたＵＵＩＤが格納される。ただし、ＯＳ識別子は、システム管理者がＯＳを識別するための識別子であって、ＯＳ間で重複しなければ問題はないため、ＵＵＩＤを適用することが望ましいものの必須ではない。
【００７６】
またＯＳ種別欄７５Ｃには、そのＯＳの種別が格納される。さらにＯＳ設定情報欄７５Ｄには、ＩＰアドレスやホスト名、ＩＤ、パスワード及びディスクイメージなどのそのＯＳに対して設定されたＯＳ設定情報が格納される。なお、ディスクイメージとは、設定前後のＯＳが物理サーバ４又は仮想サーバ５５に配信されたシステムディスクのディスクイメージを指す。ただしデータディスクをディスクイメージに含めるようにしても良い。さらに冗長化欄７５Ｅには、そのＯＳに関して設定されている冗長化に関する情報が格納される。
【００７７】
業務及びＳＬＡ管理テーブル７６は、物理サーバ４上で稼働する仮想サーバ５５により実行される業務に関する情報を管理するためのテーブルであり、図１０に示すように、業務識別子欄７６Ａ、ＵＵＩＤ欄７６Ｂ、業務種別欄７６Ｃ、業務設定情報欄７６Ｄ及び優先順位・ＳＬＡ欄７６Ｅから構成される。
【００７８】
このうち業務識別子欄７６Ａには、そのエントリに対応する業務に付与された識別子（以下、これを業務識別子と呼ぶ）が格納される。業務識別子としては、例えば業務設定情報欄に格納された業務設定情報を適用するようにしても良い。
【００７９】
またＵＵＩＤ欄７６Ｂには、その業務に付与されたＵＵＩＤが格納される。ＵＵＩＤは、業務識別子の候補ともなり得る識別子であり、広範囲に渡った業務には非常に有効な識別子である。ただし、業務識別子は、システム管理者が業務を識別するための識別子であって、業務間で重複しなければ問題はないため、ＵＵＩＤを適用することが望ましいものの必須ではない。
【００８０】
業務種別欄７６Ｃには、業務種別に関する情報として、使用するアプリケーションやミドルウェアといったその業務を特定するソフトウェアに関する情報が格納される。また業務設定情報欄７６Ｄには、その業務について設定された事項に関する情報として、業務で使用する論理的なＩＰアドレスやＩＤ、パスワード、ディスクイメージ、その業務で使用するポート番号などが格納される。なお、ディスクイメージとは、設定前後のその業務が物理サーバ４又は仮想サーバ５５上のＯＳに配信されたシステムディスクのディスクイメージを指す。ただしデータディスクをディスクイメージに含めるようにしても良い。
【００８１】
さらに優先順位・ＳＬＡ欄７６Ｅには、業務及びＳＬＡ管理テーブル７６に登録された各業務間におけるその業務の優先順位や、その業務について設定された要件（ＳＬＡ：Service Level Agreement）が格納される。これによりこの優先順位・ＳＬＡ欄７６Ｅに格納された情報に基づいて、どの業務が優先的に救済される必要があり、どの程度であれば計算機資源を共有モードで他の業務とシェアすることができるのかという判断をすることができる。後述のように本実施の形態による計算機システム１では、待機系の計算機資源を共有するため、どこまでのシェアが可能かを設定しておく必要があり、これにより最も本発明の効果を得ることができる運用（どこまで待機の物理計算機資源を減らせるか）を決めることが可能となる。
【００８２】
システム管理テーブル７７は、物理サーバ４、仮想サーバ５５、ＯＳ５６及び業務の組合せによるシステム構成を管理するためのテーブルである。このようなシステムを管理することにより、システム間の優先順位に応じて後述する振分け機構に設定する振分け構成を、業務やＳＬＡに応じて変更することが可能となる。このシステム管理テーブル７７は、図１１に示すように、システム識別子欄７７Ａ、ＵＵＩＤ欄７７Ｂ、物理サーバ欄７７Ｃ、仮想サーバ欄７７Ｄ、ＯＳ欄７７Ｅ及び業務欄７７Ｆから構成される。
【００８３】
そしてシステム識別子欄７７Ａには、そのエントリに対応するシステムに付与されたそのシステムに固有の識別子（以下、これをシステム識別子と呼ぶ）が格納される。またＵＵＩＤ欄７７Ｂには、そのシステムに付与されたＵＵＩＤが格納される。このＵＵＩＤとしては、物理サーバ欄７７Ｃから業務欄７７Ｆまでの各欄にそれぞれ格納された情報の一部又は全部を組み合わせたものを適用するようにしても良い。
【００８４】
さらに物理サーバ欄７７Ｃ、仮想サーバ欄７７Ｄ、ＯＳ欄７７Ｅ及び業務欄７７Ｆには、それぞれそのシステムを構成する物理サーバ４の物理サーバ識別子、仮想サーバ５５の仮想サーバ識別子、ＯＳ５６のＯＳ識別子及び業務の業務識別子がそれぞれ格納される。
【００８５】
なお、図１１には記載していないが、各システムにそれぞれ関連するラックやフロア、コンセントボックス、ブレーカ、センタ、ＨＡ構成の有無、ネットワークインフラ情報、電力グリッド、ネットワーク結線関係、ネットワークスイッチ、ファイバチャネルスイッチ、各スイッチの収容量及びネットワーク帯域などに関する情報をシステム管理テーブル７７において管理するようにしても良く、このようにすることによってシステムの可用性についても本発明の効果を得ることができる。
【００８６】
一方、物理サーバ４のリクエスト検出プログラム８０（図４）は、仮想化機構４０上で稼働している仮想サーバ５５からリクエストが発行された場合にこれを検出するためのプリグラムであり、障害判定プログラム８１は、仮想サーバ５５から仮想化機構４０にリクエストが与えられたときに、物理サーバ４のネットワークインタフェース３３に障害が発生したことによるものか否かを判定するためのプログラムである。
【００８７】
また管理サーバ通信プログラム８２は、振分け機構４２が仮想化機構管理用インタフェース４１を介して管理サーバ２と通信を行うためのプログラムであり、振分けプログラム８３は、障害判定プログラム８１の判定結果に従って、仮想アダプタ６１から発行されたリクエストを対応する物理アダプタ６０に振り分けるためのプログラムである。
【００８８】
さらに物理サーバ４のアダプタ管理テーブル８４は、各仮想サーバ５５にそれぞれ搭載された仮想アダプタ６１を管理するためのテーブルであり、図１２に示すように、仮想サーバ識別子欄８４Ａ、仮想アダプタ欄８４Ｂ、現用／待機欄８４Ｃ、モード欄８４Ｄ、セキュリティ欄８４Ｅ、セキュリティ種別欄８４Ｆ、物理アダプタ欄８４Ｇ及びステータス欄８４Ｈから構成される。
【００８９】
そして仮想サーバ識別子欄８４Ａ、仮想アダプタ欄８４Ｂ、現用／待機欄８４Ｃ、モード欄８４Ｄ及びセキュリティ欄８４Ｅには、図８について上述した仮想サーバ管理テーブル７４の仮想サーバ識別子欄７４Ａ、仮想デバイス欄７４Ｆ、現用／待機欄７４Ｈ、モード欄７４Ｉ及びセキュリティ欄７４Ｊのうちの対応する欄に格納されている情報と同じ情報がそれぞれ格納される。またセキュリティ種別欄８４Ｆには、対応するセキュリティ欄８４Ｅに格納されたセキュリティ等に関する具体的な種別が格納される。
【００９０】
さらに物理アダプタ欄８４Ｇには、対応する仮想アダプタ６１が割り当てられた物理アダプタ６０のアダプタＩＤが格納される。なお、物理アダプタ６０が占有モードに設定された仮想アダプタ６１に割り当てられている場合、その物理アダプタ６０のアダプタＩＤが他の仮想アダプタ６１の物理アダプタ欄８４Ｇに格納されることはない。これに対して物理アダプタ６０が共有モードに設定された仮想アダプタ６１に割り当てられている場合には、その物理アダプタ６０のアダプタＩＤが他の仮想アダプタ６１の物理アダプタ欄８４Ｇに格納されることがある。
【００９１】
ステータス欄８４Ｈには、対応する仮想アダプタ６１又は物理アダプタ６０のステータスに関する情報が格納される。この場合、かかるステータスとしては、障害が発生していない状態を意味する「正常」や、障害が発生したことを意味する「障害」などがある。またステータスに関する他の情報としては、「待機系の仮想アダプタ６１がある物理アダプタ６０（ＮＩＣ５とする）を高い優先度で使用している」ことや、「待機系の仮想アダプタ６１がある物理アダプタ６０を共有使用している」ことなどがある。これらのステータスに関する情報には、仮想化機構４０で判断及び決定した内容と、管理サーバ２が設定、判断及び指示した内容とのいずれか又は両方が含まれる。
【００９２】
リクエスト種別管理テーブル８５は、物理アダプタ６０若しくは仮想アダプタ６１から発行され、又は、これら物理アダプタ６０若しくは仮想アダプタ６１に対して発行されたリクエストの種別を管理し、これらのリクエストに対して振分け機構４２が実行すべき振分け動作のルールを管理するためのテーブルである。このリクエスト種別管理テーブル８５は、図１３に示すように、リクエスト識別子欄８５Ａ、リクエスト種別欄８５Ｂ及び振分け指示欄８５Ｃから構成される。
【００９３】
そしてリクエスト識別子欄８５Ａには、そのエントリに対応するリクエストに付与された識別子（以下、これをリクエスト識別子と呼ぶ）が格納され、リクエスト種別欄８５Ｂには、対応するリクエストの種別（以下、これを単にリクエスト種別と呼ぶ）が格納される。この「リクエスト種別」としては、「死活監視」、「マルチキャスト」及び「ユニキャスト」などがある。
【００９４】
また振分け指示欄８５Ｃには、そのリクエスト種別に対して振分け機構が実行すべき振分け処理の処理内容が格納される。例えば図１３の例の場合、「死活監視」としてＡＲＰ（Address Resolution Protocol）リクエストが仮想アダプタ６１から発行されたときに、以下のような振分け処理が実行される。
【００９５】
振分け機構４２は、まず、待機系の物理アダプタ６０の中から他の仮想アダプタ６１が高い優先度で使用する設定がなされていない物理アダプタ６０を検索し、そのような物理アダプタ６０が存在する場合には、その物理アダプタ６０にそのＡＲＰリクエストを振り分ける（図１３の「他の待機の物理アダプタで処理」）。
【００９６】
これに対して、振分け機構４２は、上述のような仮想アダプタ６１が高い優先度で使用する設定がなされていない待機系の物理アダプタ６０が存在しない場合には、優先順位の低い業務を担当している待機系の物理アダプタ６０を管理サーバ２に問い合わせ、そのような物理アダプタ６０が存在する場合には、その物理アダプタ６０にそのＡＲＰリクエストを振り分ける（図１３の「上記がない場合、優先順位の低いアダプタで処理」）。
【００９７】
また振分け機構４２は、上述のような優先順位の低い業務を担当している待機系の物理アダプタ６０が存在しない場合には、負荷の低い物理アダプタ６０を管理サーバ２に問い合わせ、そのような物理アダプタ６０が存在する場合には、その物理アダプタ６０にそのＡＲＰリクエストを振り分ける（図１３の「上記がない場合、負荷の低いアダプタで処理」）。
【００９８】
なお、上述のような負荷の低い物理アダプタ６０が存在しなかった場合には、振分け機構４２が、占有モードで使用している現用系の物理アダプタ６０を共有モードにして、その物理アダプタ６０にそのＡＲＰリクエストを振り分けるようにしても良い。
【００９９】
そして振分け機構４２は、最終的にＡＲＰリクエストを振り分けるべき物理アダプタ６０を見つけ出すことができなかった場合には、そのＡＲＰリクエストを通さない、つまりＡＲＰリクエストの振分け先となる物理アダプタ６０がないことを管理サーバ２に通知する（図１３の「通さない」）。
【０１００】
なお、各仮想サーバ５５における待機系の仮想アダプタ６１からは、現用系の仮想アダプタ６１に割り当てられた物理アダプタ６０の障害の有無に関わりなく、死活監視リクエスト以外の各種管理パケットが発行される。この場合、これら管理パケットはパケットサイズが小さいため、リクエストのパケットサイズの大小や多少によって、リクエストの振分け先を決定することも可能である（図１３の「リクエスト識別子６」の振分け指示欄８５Ｃ及び「リクエスト識別子７」の振分け指示欄８５Ｃ参照）。これにより判断が速くなったり、死活監視リクエスト以外の管理パケットにも対応することが可能になる。
【０１０１】
（１−３）本実施の形態による振分け処理に関する各種処理
（１−３−１）リクエスト振分け処理
次に、かかる本実施の形態による振分け処理に関する各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明する場合があるが、実際上は、そのプログラムに基づいて、管理サーバ２のＣＰＵ２０又は物理サーバ４のＣＰＵ３０がその処理を実行することは言うまでもない。
【０１０２】
図１４は、かかる振分け処理に関連して物理サーバ４の仮想化機構４０の制御プログラム群３５において実行される振分け処理の一連の流れを示す。
【０１０３】
かかる制御プログラム群３５では、自物理サーバ４上で稼働するいずれかの仮想サーバ５５の待機系の仮想アダプタ６１からリクエストが発行されるのをリクエスト検出プログラム８０（図４）が待ち受けている。そしてリクエスト検出プログラム８０がいずれかの仮想サーバ５５の待機系の仮想アダプタ６１から何らかのリクエストが発行されたことを検出すると、これを契機として、その仮想アダプタ６１に割り当てられている物理アダプタ６０に障害が発生しているか否かを障害判定プログラム８１（図４）が判定する（ＳＰ１）。
【０１０４】
ここで、この判定において否定結果（障害が発生していない）を得ることは、そのときリクエスト検出プログラム８０が検出したリクエストは、死活監視リクエスト又は他の管理用のリクエストであることを意味する。かくしてこのとき障害判定プログラム８１は、そのリクエストを振分けプログラム８３に渡たす。そして、振分けプログラム８３は、この後、図１６について後述する振分け処理を実行する（ＳＰ７）。
【０１０５】
これに対してステップＳＰ１の判定において肯定結果（障害が発生している）を得ることは、そのときのリクエスト発行元の仮想サーバ５５の現用系の仮想アダプタ６１に割り当てられている物理アダプタ６０に障害が発生していることを意味する。かくしてこのとき障害判定プログラム８１は、その旨の通知を管理サーバ通信プログラム８２（図４）を介して管理サーバ２に送信する（ＳＰ２）。
【０１０６】
また障害判定プログラム８１は、この後、アダプタ管理テーブル８４（図１２）を参照して、リクエスト発行元の仮想サーバ５５におけるリクエスト発行元の仮想アダプタ６１を特定し（ＳＰ３）、さらに待機系の物理アダプタ６０に余剰があるか否か（いずれの仮想サーバ５５の待機系の仮想アダプタ６１にも高い優先度で使用する物理デバイスとして設定されていない待機系の物理アダプタ６０が存在するか否か）を判定する（ＳＰ４）。
【０１０７】
そして障害判定プログラム８１は、待機系の物理アダプタ６０に余剰がないと判定した場合には、その旨の通知（以下、これを判断要求通知と呼ぶ）を管理サーバ２に送信することにより、かかるリクエストを振り分けるべき待機系の物理アダプタ６０を管理サーバ２に問い合わせる（ＳＰ５）。かくして管理サーバ２は、かかる判断要求通知を受信すると、図１７について後述する振分け先判断処理に従ってリクエスト発行元の仮想アダプタ６１にどの物理アダプタ６０を割り当てるかを判断し、その判断結果でなる後述の振分け条件を障害判定プログラム８１に通知する。
【０１０８】
ここで、振分け条件とは、後述のようにリクエスト発行元の仮想アダプタ６１に割り当てる物理アダプタ６０の候補を含む情報である。リクエスト発行元の仮想アダプタ６１に割り当てる物理アダプタ６０の候補としては、例えば、優先順位が最も低い業務を実行している仮想サーバ５５の仮想アダプタ６１に割り当てられている待機系の物理アダプタ６０や、そのとき負荷が最も低い又は低負荷状態が継続している仮想アダプタ６１に割り当てられている待機系の物理アダプタ６０が挙げられる。また、優先順位の高い業務を実行している他の仮想サーバ５５の仮想アダプタ６１に待機系の物理アダプタ６０がすべて割り当て済みの場合や、ＳＬＡ要件を満たせないときには物理アダプタ６０を割り当てないという判断もあり得る。
【０１０９】
そして障害判定プログラム８１は、管理サーバ２から送信される上述の振分け条件を受信すると、リクエスト発行元の仮想サーバ５５のリクエスト発行元の仮想アダプタ６１に割り当てる物理アダプタ６０を決定すると共に、リクエスト種別管理テーブル８５を参照して、当該物理アダプタ６０にリクエストを振り分ける際の振分け条件を振分けプログラム８３に設定する。また障害判定プログラム８１は、そのリクエストを振分けプログラム８３に転送する（ＳＰ６）。
【０１１０】
かくして、振分けプログラム８３は、ステップＳＰ６において設定された振分け条件及びリクエスト種別管理テーブル８５（図１３）において規定されたリクエスト種別ごとの処理方法に従って、そのとき障害判定プログラム８１から転送されたリクエストを対応する物理アダプタ６０に振り分ける（ＳＰ７）。
【０１１１】
これにより、物理サーバ４の制御プログラム群３５における一連のリクエスト振分け処理が終了する。
【０１１２】
（１−３−２）障害判定処理
一方、図１５は、図１４のステップＳＰ１において障害判定プログラム８１により実行される障害判定処理の具体的な処理手順を示す。この図１５は、リクエスト検出プログラム８０が受け付けたリクエストが、死活監視リクエスト、又は予め定められた閾値（以下、これを管理パケット判定閾値と呼ぶ）以下のパケットサイズのリクエストのときには障害が発生していないと判断し、これ以外のときには障害が発生していると障害判定プログラム８１が判断する場合の一例である。
【０１１３】
すなわち障害判定プログラム８１は、いずれかの仮想アダプタ６１からのリクエストをリクエスト検出プログラム８０が検出すると、この障害判定処理を開始し、まず、そのリクエストが死活監視リクエストであるか否かを判断する（ＳＰ１０）。そして障害判定プログラム８１は、この判断において肯定結果を得ると、この障害判定処理を終了して図１４について上述したリクエスト振分け処理のステップＳＰ７に進む。
【０１１４】
これに対して障害判定プログラム８１は、ステップＳＰ１０の判断において否定結果を得ると、そのリクエストのサイズが上述の管理パケット判定用閾値よりも大きいか否かを判断する（ＳＰ１１）。
【０１１５】
そして障害判定プログラム８１は、この判断において肯定結果を得ると、障害が発生したと判断して、アダプタ管理テーブル８４（図１２）における対応するエントリのステータス欄８４Ｈ（図１２）に格納されているステータスを更新する（ＳＰ１２）。そして障害判定プログラム８１は、この後、この障害判定処理を終了して図１４について上述したリクエスト振分け処理のステップＳＰ２に進む。
【０１１６】
これに対して障害判定プログラム８１は、ステップＳＰ１１の判断において否定結果を得ると、障害が発生していないと判断し、この障害判定処理を終了してリクエスト振分け処理のステップＳＰ７に進む。
【０１１７】
（１−３−３）振分け処理
他方、図１６は、図１４のステップＳＰ７において振分けプログラム８３により実行される振分け処理の具体的な処理手順を示す。
【０１１８】
振分けプログラム８３は、いずれかの仮想アダプタ６１からのリクエストを障害判定プログラム８１から与えられると、この振分け処理を開始し、まず、アダプタ管理テーブル８４を参照して、振分け先の物理アダプタ６０のステータスが「障害」となっているか否かを判断する。
【０１１９】
そして振分けプログラム８３は、この判断において肯定結果を得ると、図１４のステップＳＰ６において高い優先度で利用するように設定された物理アダプタ６０にそのリクエストを振り分ける（ＳＰ２１）。そして振分けプログラム８３は、この後、この振分け処理を終了する。
【０１２０】
これに対して振分けプログラム８３は、ステップＳＰ２０の判断において否定結果を得ると、待機系の物理アダプタ６０のうち、いずれの仮想アダプタ６１にも高い優先度で使用するように設定されていない、いずれかの待機系の物理アダプタ６０にリクエストを振り分ける（ＳＰ２２）。そして振分けプログラム８３は、この後、この振分け処理を終了する。
【０１２１】
（１−３−４）振分け設定処理
図１７は、物理サーバ４の仮想化機構４０から上述の判断要求通知を受信した管理サーバ２の振分け設定プログラム７０（図２）により実行される振分け設定処理の処理手順を示す。
【０１２２】
振分け設定プログラム７０は、かかる判断要求通知を受信すると、この振分け設定処理を開始し、まず、業務及びＳＬＡ管理テーブル７６（図２）を参照して、既に物理アダプタ６０が高い優先度で使用できるように割り当てられている仮想アダプタ６１の中から、そのときのリクエスト発行元の仮想アダプタ６１と当該物理アダプタ６０を共有すべき仮想アダプタ６１と、当該リクエスト発行元の仮想アダプタ６１との組（以下、これを振分け条件と呼ぶ）を優先順位や計算機資源の使用量及び使用頻度などから決定する（ＳＰ３０）。
【０１２３】
かかる振分け条件の決定方法としては、例えば、優先順位が高い業務を実行する仮想サーバ５５の仮想アダプタ６１と、優先順位が低い業務を実行する仮想サーバ５５の仮想アダプタ６１と組み合わせる方法や、計算機資源の使用量や使用頻度が高い業務を実行する仮想サーバ５５の仮想アダプタ６１と、計算機資源の使用量や使用頻度が低い業務を実行する仮想サーバ５５の仮想アダプタ６１とを組み合わせる方法、ベストエフォート型の業務を実行する仮想サーバ５５の仮想アダプタ６１のみを組み合わせる方法などがある。
【０１２４】
また、ある現用系の仮想アダプタ６１に割り当てられている物理アダプタ６０の割当てモードを占有モードから共有モードに変更して、その物理アダプタ６０をリクエスト発行元の仮想アダプタ６１に割り当てるように、振分け条件を決定する方法も考えられる。この際、かかる物理アダプタ６０としては、使用率や使用頻度が低いものが対象となる。また繁忙期でない休閑期の業務を実行する仮想サーバ５５の現用系の仮想アダプタ６１に割り当てられている物理アダプタ６０から融通するという方法も考えられる。さらにそのような物理アダプタ６０が存在しない場合には、その仮想アダプタ６１に物理アダプタ６０を割り当てないという方法も考えられる。
【０１２５】
続いて、振分け設定プログラム７０は、上述のようにして設定した振分け条件を仮想化機構４０の振分け機構４２に通知し（ＳＰ３１）、さらに管理サーバ２のメモリ２１に格納された管理テーブル群２５を構成する物理サーバ管理テーブル７３及び又は仮想サーバ管理テーブル７４を必要に応じて更新する（ＳＰ３２）。そして振分け設定プログラム７０は、この後、この振分け設定処理を終了する。
【０１２６】
（１−４）本実施の形態の効果
以上のように本実施の形態による計算機システム１では、待機系の物理アダプタ６０がすべていずれかの仮想アダプタ６１に高い優先度で使用する設定に割り当てられている場合には、これら優先度の高い待機系の物理アダプタ６０の処理の隙間を見つけて、他の仮想アダプタ６１のリクエストを割り込ませるようにしているため、障害があった物理アダプタ６０が割り当てられている仮想サーバ５５が実行している業務以外の他の業務に影響なく、当該仮想サーバ５５が実行している業務を救済することができる。かくするにつき、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システムを実現できる。
【０１２７】
（２）第２の実施の形態
第１の実施の形態においては、図１４について上述したリクエスト振分け処理のステップＳＰ４において物理アダプタ６０に余剰がないと障害判定プログラム７１が判断したときに、そのリクエストを割り込ませる物理アダプタ６０を管理サーバ２が判断していたが、この判断の一部を物理サーバ４の振分け機構４２が行うこともできる。
【０１２８】
すなわち、リクエスト振分け処理のステップＳＰ４において物理アダプタ６０に余剰がないと障害判定プログラム７１が判断したときに、仮想アダプタ６１からのリクエストのリクエスト種別を振分け機構４２が判定し、そのリクエストの処理負荷が軽いときや、いずれかの仮想アダプタ６１が高い優先度で使用する設定がなされている待機系の物理アダプタ６０に空き帯域がある場合などの処理を割り込ませる余裕があるときに、かかるリクエストを余裕がある物理アダプタ６０に割り込ませる方法である。
【０１２９】
この方法によれば、第１の実施の形態と同様により、待機系の物理アダプタ６０に余剰がない状態で、重要度の高い業務を担当の仮想サーバ５５の現用系の仮想アダプタ６１に割り当てられていた物理アダプタ６０に障害が発生した場合にも、その重要度の高い業務が停止することを防ぐことが可能である。
【０１３０】
この方法を活用できるシーンとしては、他の仮想アダプタ６１が発行する死活監視リクエストや、予め利用者が設定している閾値よりも少量のリクエストや、高い優先度で使用している仮想アダプタ６１の帯域使用量を鑑みて性能劣化を生じさせない（例えば、閾値設定をしておく、監視プログラムなどで応答時間を計測しておきＳＬＡ違反しない範囲など）場合が考えられる。これらに対応することで、待機系の物理アダプタ６０で処理を交替した業務以外の他の業務も救済することが可能になる。さらに、物理アダプタ６０を増やす必要がないため、本発明の効果である「仮想化環境における高可用システムを安価に提供」することが可能になる。
【０１３１】
図１８は、以上を考慮した第２の実施の形態によるリクエスト振分け処理の処理手順を示す。本実施の形態の場合、物理サーバ４の振分け機構４０は、ステップＳＰ４０〜ステップＳＰ４３の処理を図１４について上述した第１の実施の形態によるリクエスト振分け処理のステップＳＰ１〜ステップＳＰ４と同様に処理する。
【０１３２】
そしてステップＳＰ４３の判断において肯定結果が得られた場合には、この後ステップＳＰ４６及びステップＳＰ４７の処理が第１の実施の形態によるリクエスト振分け処理のステップＳＰ６及びステップＳＰ７と同様の処理が行われ、この後、物理サーバ４の制御プログラム群３５における一連のリクエスト振分け処理が終了する。
【０１３３】
これに対してステップＳＰ４３の判断において否定結果が得られた場合、障害判定プログラム８１は、アダプタ管理テーブル８４（図１２）及びリクエスト種別管理テーブル８５（図１３）を参照して、いずれかの仮想アダプタ６１に高い優先度で使用するように設定された待機系の物理アダプタ６０の中に、そのリクエストを割り込ませ得る物理アダプタ６０が存在するか否かを判断する（ＳＰ４４）。具体的に、障害判定プログラム８１は、そのリクエストの処理負荷や、いずれかの仮想アダプタ６１が高い優先度で使用する設定がなされている待機系の物理アダプタ６０に空き帯域があるか否かなどを考慮してこの判断を行う。
【０１３４】
そして障害判定プログラム８１は、この判断において肯定結果を得ると、そのリクエストを割り込ませるべき物理アダプタ６０を決定し、決定した物理アダプタ６０を当該リクエストの振分け先として振分けプログラム８３に通知すると共に、そのリクエストを振分けプログラム８３転送する（ＳＰ４８）。
【０１３５】
これに対して障害判定プログラム８１は、ステップＳＰ４４の判断において否定結果を得ると、管理サーバ２に判断要求通知を管理サーバ２に送信することにより、かかるリクエストを振り分けるべき待機系の物理アダプタ６０を管理サーバ２に問い合わせる（ＳＰ４５）。かくして管理サーバ２は、かかる判断要求通知を受信すると、第１の実施の形態と同様にして、リクエスト発行元の仮想アダプタ６１にどの物理アダプタ６０を割り当てるかを判断し、その判断結果を振分け条件として障害判定プログラム８１に通知する。
【０１３６】
そして障害判定プログラム８１は、管理サーバ２から送信される上述の振分け条件を受信すると、リクエスト発行元の仮想サーバ５５のリクエスト発行元の仮想アダプタ６１に割り当てる物理アダプタ６０を決定すると共に、リクエスト種別管理テーブル８５を参照して、当該物理アダプタ６０にリクエストを振り分ける際の振分け条件を振分けプログラム８３に設定する。また障害判定プログラム８１は、そのリクエストを振分けプログラム８３に転送する（ＳＰ４６）。
【０１３７】
かくして、振分けプログラム８３は、ステップＳＰ６において設定された振分け条件及びリクエスト種別管理テーブル８５（図１３）において規定されたリクエスト種別ごとの処理方法に従って、そのとき障害判定プログラム８１から転送されたリクエストを対応する物理アダプタ６０に振り分ける（ＳＰ４７）。
【０１３８】
そしてこの後、物理サーバ４の制御プログラム群３５における一連のリクエスト振分け処理が終了する。
【０１３９】
以上のように本実施の形態においては、物理アダプタ６０に余剰はないが、そのリクエストの処理負荷が軽いときや、いずれかの仮想アダプタ６１が高い優先度で使用する設定がなされている待機系の物理アダプタ６０に空き帯域がある場合などの処理を割り込ませる余裕があるときには、かかるリクエストを余裕がある物理アダプタ６０に割り込ませるようにしているため、第１の実施の形態と同様に、障害があった物理アダプタ６０が割り当てられている仮想サーバ５５が実行している業務以外の他の業務に影響なく、当該仮想サーバ５５が実行している業務を救済することができる。かくするにつき、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システムを実現できる。
【０１４０】
（３）第３の実施の形態
待機系の仮想アダプタ６１をグループ化し、グループごとに優先順位付けを行うことで、例えばあるシステムを構成する複数の業務が等しく救済することが可能になる。ある業務だけが優先的に救済されるのではなく、その業務と別の業務を救済することで、システムとして救済することが可能になる。このような場合、多くは一方だけを救済するだけでは不十分で、他方も同時に救うことで冗長構成の意味を成す。グループの種別としては、ユーザ種別・役割種別・業務種別・アプリケーション種別・OS種別・VM種別・ハードウェア種別などの計算機システムおよび計算機システムの運用に類する項目であれば、単独または組み合わせることにより、上記の効果を得ることが可能である。種別に関する情報は、管理テーブル群２５または管理テーブル群３６に格納される。
【０１４１】
（４）第４の実施の形態
障害発生を契機として、待機系の物理アダプタ６０が接続されている外部スイッチ（例えば管理用ネットワーク３、または業務用ネットワーク５に接続）のポートを、特定の設定（例えば、セキュリティ設定など）へ変更したり、現用の物理アダプタ６０が接続されているポートの設定（例えば、セキュリティ設定など）を継承させる。管理サーバ２が指示しても良いし、振分け機構４２が指示しても良い。これにより、現用の物理アダプタ６０と同じセキュリティ強度を実現できたり、QoS（Quality of Service）設定をすることで同じ性能を実現できたり、VLAN（Virtual Local Area Network）設定やSANセキュリティ設定をすることで正常に接続することが可能になる。
【０１４２】
（５）他の実施の形態
なお上述の実施の形態においては、本発明を図１のように構成された計算機システム１に適用するようにした場合について述べたが、本発明はこれに限らず、冗長化を目的として仮想デバイスを多重構成としたこの他種々の構成の計算機システムに広く適用することができる。
【０１４３】
また上述の実施の形態においては、現用系の仮想アダプタ６１に割り当てられた物理アダプタ６０に障害が発生した仮想サーバ５５の待機系の仮想アダプタ６１に対して待機系の物理アダプタ６０を割り当てる場合についてのみ述べたが、例えば、かかる待機系の物理アダプタ６０に障害が発生したときには、さらに他の待機系の物理アダプタ６０を高い優先度で使用する物理アダプタとしてその待機系の仮想アダプタ６１に割り当てるようにしても良い。
【産業上の利用可能性】
【０１４４】
冗長化を目的として仮想デバイスを多重構成としたこの他種々の構成の計算機システムに広く適用することができる。
【符号の説明】
【０１４５】
１……計算機システム、２……管理サーバ、３……管理用ネットワーク、４……物理サーバ、５……業務用ネットワーク、６……ストレージサブシステム、２０，３０……ＣＰＵ、２１，３１……メモリ、２２，３３……ネットワークインタフェース、２３，３３……ディスクインタフェース、２４，３５……制御プログラム群、２５，３６……管理テーブル群、４０……仮想化機構、４２……振分け機構、５３……仮想ネットワークインタフェース、５４……仮想ディスクインタフェース、５５……仮想サーバ、６０……物理アダプタ、６１……仮想アダプタ、７０……振分け設定プログラム、７１……障害判定プログラム、７２……ネットワークトポロジ収集プログラム、７３……物理サーバ管理テーブル、７４……仮想サーバ管理テーブル、７５……ＯＳ管理テーブル、７６……業務及びＳＬＡ管理テーブル、７７……システム管理テーブル、８０……リクエスト検出プログラム、８１……障害判定プログラム、８２……管理サーバ通信プログラム、８３……振分けプログラム、８４……アダプタ管理テーブル、８５……リクエスト種別管理テーブル。
【図１】
2011141609.tif 000003
【図２】
2011141609.tif 000004
【図３】
2011141609.tif 000005
【図４】
2011141609.tif 000006
【図５】
2011141609.tif 000007
【図６】
2011141609.tif 000008
【図７】
2011141609.tif 000009
【図８】
2011141609.tif 000010
【図９】
2011141609.tif 000011
【図１０】
2011141609.tif 000012
【図１１】
2011141609.tif 000013
【図１２】
2011141609.tif 000014
【図１３】
2011141609.tif 000015
【図１４】
2011141609.tif 000016
【図１５】
2011141609.tif 000017
【図１６】
2011141609.tif 000018
【図１７】
2011141609.tif 000019
【図１８】
2011141609.tif 000020