(57)【特許請求の範囲】
【請求項１】
複数のラックに配置される複数のコンピュータの中から、異常温度である異常コンピュータを検出する異常検出手段と、
前記異常コンピュータと同一のラックに配置された同一ラックコンピュータ群について、各コンピュータの状態を分析し、分析結果に基づいて、前記同一ラックコンピュータ群の中から、温度上昇防止処理の実行対象となるコンピュータ群を、制御対象コンピュータ群として決定する、グループ分析手段と、
前記制御対象コンピュータ群に含まれる各制御対象コンピュータに対して、前記温度上昇防止処理を実行する、コンピュータ制御手段と、
を具備し、
前記コンピュータ制御手段は、前記温度上昇防止処理として、ライブマイグレーションの実行を試み、ライブマイグレーションが実行できない場合には、電源の切断を試み、電源を切断できない場合にはプロビジョニングを試みる
コンピュータ環境最適化システム。
【請求項２】
請求項１に記載されたコンピュータ環境最適化システムであって、
前記グループ分析手段は、前記各コンピュータの状態として、電源のオン／オフ、前記各コンピュータがどれだけ重要な処理を行っているかを示す業務重要度、及び前記各コンピュータの温度、のうちの少なくとも一つを分析し、分析結果に基づいて前記制御対象コンピュータ群を決定する
コンピュータ環境最適化システム。
【請求項３】
請求項１又は２に記載されたコンピュータ環境最適化システムであって、
前記グループ分析手段は、分析結果に基づいて、前記制御対象コンピュータ群に含まれる前記各制御対象コンピュータに優先順位を付し、
前記コンピュータ制御手段は、前記優先順位に従う順番で、前記各制御対象コンピュータに対して、前記温度上昇防止処理を実行する
コンピュータ環境最適化システム。
【請求項４】
請求項３に記載されたコンピュータ環境最適化システムであって、
前記グループ分析手段は、前記各制御対象コンピュータについて仮想化環境で動作しているか否かを示す環境情報に基づいて、前記優先順位をつける
コンピュータ環境最適化システム。
【請求項５】
請求項１乃至４のいずれかに記載されたコンピュータ環境最適化システムであって、
前記各コンピュータには、吸気温度を測定する吸気温度センサが設けられており、
前記異常検出手段は、前記吸気温度センサによる測定結果に基づいて、異常温度であるか否かを検出する
コンピュータ環境最適化システム。
【請求項６】
請求項１乃至５のいずれかに記載されたコンピュータ環境最適化システムであって、
前記異常検出手段は、予め設定された温度の閾値に基づいて、異常温度であるか否かを検出する
コンピュータ環境最適化システム。
【請求項７】
請求項６に記載されたコンピュータ環境最適化システムであって、
前記異常検出手段は、前記各コンピュータにおける温度と時間との関係に基づいて、前記各コンピュータの温度が前記閾値を超えるか否かを予測し、異常温度であるか否かを検出する
コンピュータ環境最適化システム。
【請求項８】
複数のラックに配置される複数のコンピュータの中から、異常温度である異常コンピュータを検出するステップと、
前記異常コンピュータと同一のラックに配置された同一ラックコンピュータ群について、各コンピュータの状態を分析し、分析結果に基づいて、前記同一ラックコンピュータ群の中から、温度上昇防止処理を実行する対象となるコンピュータ群を、制御対象コンピュータ群として決定するステップと、
前記制御対象コンピュータ群に含まれる各制御対象コンピュータに対して、前記温度上昇防止処理を実行するステップと、
を具備し、
前記温度上昇防止処理を実行するステップは、
前記温度上昇防止処理として、ライブマイグレーションの実行を試みるステップと、
ライブマイグレーションが実行できない場合に、電源の切断を試みるステップと、
電源を切断できない場合に、プロビジョニングを試みるステップとを含んでいる
コンピュータ環境最適化方法。
【請求項９】
請求項８に記載されたコンピュータ環境最適化方法であって、
前記制御対象コンピュータ群を決定するステップは、前記各コンピュータの状態として、電源のオン／オフ、前記各コンピュータの業務重要度、及び前記各コンピュータの温度のうちの少なくとも一つを分析し、分析結果に基づいて前記制御対象コンピュータ群を決定するステップを含んでいる
コンピュータ環境最適化方法。
【請求項１０】
請求項８又は９に記載されたコンピュータ環境最適化方法であって、
前記制御対象コンピュータ群を決定するステップは、
前記分析結果に基づいて、前記制御対象コンピュータ群に含まれる前記各制御対象コンピュータに優先順位をつけるステップを含み、
前記温度上昇防止処理を実行するステップは、前記優先順位の順番で、前記各制御対象コンピュータに対して、前記温度上昇防止処理を実行するステップを含んでいる
コンピュータ環境最適化方法。
【請求項１１】
請求項１０に記載されたコンピュータ環境最適化方法であって、
前記優先順位をつけるステップは、前記各制御対象コンピュータについて、仮想化環境で動作しているか否かを示す環境情報に基づいて前記優先順位をつけるステップを含んでいる
コンピュータ環境最適化方法。
【請求項１２】
請求項８乃至１１のいずれかに記載されたコンピュータ環境最適化方法であって、
前記異常コンピュータを検出するステップは、予め設定された温度の閾値に基づいて、異常温度であるか否かを検出するステップを含んでいる
コンピュータ環境最適化方法。
【請求項１３】
請求項１２に記載されたコンピュータ環境最適化方法であって、
前記異常コンピュータを検出するステップは、
前記各コンピュータにおける温度と時間との関係に基づいて、前記各コンピュータの温度が前記閾値を超えるか否かを予測するステップと、
前記予測するステップにおける予測結果に基づいて、異常温度であるか否かを検出するステップを含んでいる
コンピュータ環境最適化方法。
【請求項１４】
請求項８乃至１３のいずれかに記載されたコンピュータ環境最適化方法をコンピュータにより実現するための、コンピュータ環境最適化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータを備えるコンピュータシステムについての、コンピュータ環境最適化システム、コンピュータ環境最適化方法、及びコンピュータ環境最適化プログラムに関する。
【背景技術】
【０００２】
データセンターやマシンルームには、サーバシステムとして、複数のサーバ（コンピュータ）が設置される。複数のサーバの各々が動作するとき、熱が発生する。設置されるサーバの数が増えれば、発生する熱量も増える。発熱により温度が上昇するのを防ぐため、空調装置などによる冷却が行われる。発生する熱量が増えれば、空調装置により消費される電力量も増大してしまう。空調装置により多くの電力が消費されると、各サーバに供給される電力量が不足し、各サーバがダウンしてしまうことがある。また、冷却が追いつかなければ、熱によってサーバシステムが故障してしまうことがある。従って、サーバシステムにおける発熱を管理するための技術が要求されている。
【０００３】
関連する技術として、特許文献１（特表２００５−５３１０４７号公報）に記載されたコンピュータ・サーバのプールの電力消費を管理する方法が挙げられる。特許文献１に記載された方法は、現在の作業負荷需要を満足するのに必要なコンピュータ・サーバの数を判定することと、現在の作業負荷需要を満足するために電源をオンにされるコンピュータ・サーバの熱的に最適化される構成を判定することと、現在の作業負荷需要を満足するために、熱的に最適化される構成に基づいて、コンピュータ・サーバのプールからの少なくとも一つのコンピュータ・サーバの電源をオンまたはオフにすることとを含む。
【０００４】
【特許文献１】特表２００５−５３１０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
複数のサーバを備えるサーバシステムでは、複数のサーバの各々における発熱量が異なることがある。発熱量が異なっていれば、サーバシステムが設置された環境内で、温度が不均一となり、局所的に蓄熱された領域（熱だまり）が生じることがある。熱だまりによるサーバダウンを防止するため、個々のサーバの温度を測定しておき、温度が異常に上昇したサーバの電源を切断することが考えられる。しかし、近年のサーバシステムは大規模化されてきており、用いられるサーバの台数も増えてきている。大規模化されたサーバシステムでは、熱だまりの原因が単に一つのサーバにあるとは限らない。従って、単に温度が異常に上昇したサーバに対してのみ、電源をオフにするなどの処理を施したとしても、熱だまりが解消されるとは限らない。また、重要度の高い処理を行っているサーバに対しては、温度が異常に上昇しても、電源をオフにすることができない場合がある。
【０００６】
そこで、本発明の目的は、大規模化されたコンピュータシステムにおいても、熱だまりによる障害の発生を防止することのできる、コンピュータ環境最適化システム、コンピュータ環境最適化方法、及びコンピュータ環境最適化プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係るコンピュータ環境最適化システムは、複数のグループに区別される複数のコンピュータの中から、異常温度である異常コンピュータを検出する異常検出手段と、前記複数のグループと前記複数のコンピュータの各々の状態との対応関係を示す構成情報に基づいて、前記異常コンピュータと同一グループに含まれる同一グループコンピュータ群の状態を分析し、分析結果に基づいて前記同一グループコンピュータ群の中から制御対象コンピュータ群を決定するグループ分析手段と、前記制御対象コンピュータ群から選択コンピュータを選択し、前記選択コンピュータに対して温度上昇防止処理として実行する内容を決定し、決定した内容で前記温度上昇防止処理を実行するコンピュータ制御手段と、
を具備する。
【０００８】
本発明に係るコンピュータ環境最適化方法は、複数のグループに区別される複数のコンピュータの中から、異常温度である異常コンピュータを検出するステップと、前記複数のグループと前記複数のコンピュータの各々の状態との対応関係を示す構成情報に基づいて、前記異常コンピュータと同一グループに含まれる同一グループコンピュータ群の状態を分析し、分析結果に基づいて前記同一グループコンピュータ群の中から制御対象コンピュータ群を決定するステップと、前記制御対象コンピュータ群から選択コンピュータを選択し、前記選択コンピュータに対して温度上昇防止処理として実行する内容を決定し、決定した内容で前記温度上昇防止処理を実行するステップとを具備する。
【０００９】
本発明に係るコンピュータ環境最適化プログラムは、上述のコンピュータ環境最適化方法をコンピュータにより実現するためのプログラムである。
【発明の効果】
【００１０】
本発明によれば、大規模化されたコンピュータシステムにおいても、熱だまりによる障害の発生を防止することのできる、コンピュータ環境最適化システム、コンピュータ環境最適化方法、及びコンピュータ環境最適化プログラムが提供される。
【発明を実施するための最良の形態】
【００１１】
本発明の実施形態について図面を参照して詳細に説明する。
【００１２】
図１は、本実施形態のサーバシステム２０を示す概略ブロック図である。このサーバシステム２０は、サーバ環境最適化システム３０と、記憶装置５と、データセンタ１０内に配置された複数のサーバ（２−１、２−２、・・・）とを備えている。複数のサーバ２は、複数のラック１に分けられて配置されている。これらは、互いにアクセス可能に接続されている。記憶装置５は、データセンタ１０の外部に設置された補助記憶装置である。サーバ環境最適化システム３０は、サーバ環境最適化プログラムのインストールされたコンピュータにより実現される。そのサーバ環境最適化プログラムは、そのコンピュータの主記憶装置に格納されている。サーバ環境最適化システム３０は、制御部３と、インターフェース部４とを備えており、こららの間では、主記憶装置内で情報伝達が行われる。すなわち、プログラミング言語でメモリの記憶域を受け渡しすることにより、情報伝達が行われる。複数のサーバ２とサーバ環境最適化システム３０とは、ＴＣＰ／ＩＰ通信による情報伝達が可能であるように、接続されている。また、サーバ環境最適化システム３０と記憶装置５とは、ＳＱＬ言語による情報伝達が行われるように、接続されている。
【００１３】
概略的には、このサーバシステム２０では、サーバ環境最適化システム３０が複数のサーバ２の各々の温度を監視する。温度が異常であるサーバ２が存在する場合、そのサーバ２の配置されたラック１に熱だまりが発生しているものと考えられる。従って、そのラック１に搭載されたサーバ２全てについて、その状態が分析される。その分析の結果に基づいて、温度上昇を防止するための温度上昇防止処理が試みられる。温度上昇防止処理として、本実施形態では、ライブマイグレーション処理、電源の切断、及びプロビジョニング処理のいずれかが行われる。
【００１４】
以下に、このサーバシステム２０の各部の構成について、詳細に説明する。
【００１５】
データセンター１０内には、複数のラック（１ａ、１ｂ・・・）が置かれている。なお、図１中には、ラック１ａと１ｂのみが図示されている。既述のように、複数のサーバ２は、複数のラック１の各々に分けられて配置されている。図１に示される例では、ラック１ａに、サーバ２−１、サーバ２−２、及びサーバ２−３が配置されており、ラック１ｂにサーバ２−４が配置されている。複数のサーバ２の各々には、吸気温度を測定するための吸気温度センサ（２１−１、２１−２、・・・）が設けられている。
【００１６】
記憶装置５は、サーバ環境最適化システム３０がその機能を実現する際に必要とするデータを格納している。記憶装置５には、温度情報テーブル５１と、構成情報テーブル５２と、設定情報テーブル５３とが格納されている。記憶装置５は補助記憶装置であり、市販のデータベースエンジンを利用することができる。
【００１７】
温度情報テーブル５１は、各サーバ２の吸気温度を格納するテーブルである。温度情報テーブル５１は、サーバ２毎に、サーバ２の吸気温度と時間との関係を格納している。各サーバ２の吸気温度センサ２１による測定結果が、測定時刻と対応付けられて温度情報テーブル５１に格納される。
【００１８】
構成情報テーブル５２は、ラック１毎に、各サーバ２の状態を格納するテーブルである。構成情報テーブル５２において、複数のサーバ２はラック１単位でグループ分けされている。図２は、構成情報テーブルの内容を示す概念図である。図２に示されるように、構成情報テーブル５２は、各サーバ２の状態として、ラック１内におけるサーバ２の配置位置、サーバのサイズ（ＵＮＩＴサイズ）、サーバ環境、電源状態、及び業務重要度を格納している。
【００１９】
電源状態とは、電源がオンであるかオフであるかを示す情報である。
サーバ環境とは、物理サーバに直接ＯＳ（オペレーティングシステム）が搭載された状態であるのか、仮想化ソフトウェア上に仮想マシンが搭載された状態であるのかを示す情報である。
また、業務重要度とは、そのサーバで行われる処理内容がどれだけ重要であるかを示す情報である。業務重要度は、「Ｈｉｇｈ」、「Ｍｉｄｄｌｅ」、「Ｌｏｗ」の３段階で設定されている。業務重要度が「Ｈｉｇｈ」に設定されたサーバは、重要な処理を実行しているサーバであり、温度上昇防止処理を実行することのできないサーバである。「Ｍｉｄｄｌｅ」に設定されたサーバは、電源を切断することはできないが、ライブマイグレーション又はプロビジョニング処理であれば実行できるサーバである。「Ｌｏｗ」に設定されたサーバは、温度上昇防止処理として、電源の切断、ライブマイグレーション、及びプロビジョニング処理のいずれも実行可能であるサーバである。
サーバ２の配置位置、サーバのサイズ、及び業務重要度は、ユーザによって予め設定された情報である。
サーバ環境及び電源状態は、情報収集用のアプリケーションがインストールされたコンピュータ（図示せず）によって収集され、構成情報テーブル５２に格納される。その情報収集用のアプリケーションとしては、例えば、ＳｉｇｍａＳｙｓｔｅｍＣｅｎｔｅｒ（登録商標、日本電気株式会社）、ＥＳＭＰＲＯ（登録商標）などが挙げられる。情報収集用のアプリケーションは、サーバ環境最適化システム３０と同じサーバ装置にインストールされていてもよい。
【００２０】
設定情報テーブル５３は、ユーザにより設定された内容を示すテーブルである。設定情報テーブル５３には、閾値情報、異常検出方法の設定などについての情報が格納されている。その閾値情報は、各サーバ２の吸気温度が異常であるか正常であるかの判断基準となる閾値を示す情報である。異常検出方法の設定は、各サーバ２が異常温度であることをどのようにして検出するかについての条件を示す情報である。本実施形態では、異常検出方法の設定として、第１の手法と第２の手法とのいずれかの手法が設定されているものとする。
【００２１】
続いて、サーバ環境最適化システム３０について説明する。サーバ環境最適化システム３０は、データセンタ１０の外部に配置されている。サーバ環境最適化システム３０は、制御部３と、インターフェース４とを備えている。
【００２２】
制御部３は、データセンタ１０内で熱だまりによる障害が発生しないように、複数のサーバ２の動作を制御する機能を実現する。制御部３は、異常検出部３１と、ラック分析部３２と、サーバ制御部３３とを備えている。
【００２３】
異常検出部３１は、各サーバ２の吸気温度が異常であるか否かを判断するために設けられている。異常検出部３１は、温度情報テーブル５１より各サーバ２の吸気温度を示す情報を取得し、設定情報テーブル５３に設定された閾値情報に基づいて、各サーバ２の吸気温度が正常であるか異常であるかを判断する。異常検出部３１は、異常温度であると判断した場合、そのサーバ２を特定する情報（以下、異常サーバ情報）をラック分析部３２に通知する。
【００２４】
ラック分析部３２は、異常サーバを搭載したラック１の分析を行うために設けられている。既述のように、熱だまりはラック１単位で発生し易いので、異常サーバを搭載したラック１に含まれる全てのサーバ２に対して、温度上昇を防止するための処理を施すことが理想的である。しかし、業務重要度の高い処理を行っているサーバなどに対しては、温度上昇防止処理を施すことができない場合もある。そこで、ラック分析部３２は、異常サーバ情報を取得すると、構成情報テーブル５２を参照して、異常サーバを搭載したラック１の状態がどのようになっているかを分析する。そして、分析結果に基づいて、そのラック１の中から、温度上昇防止処理を施すことができないサーバを除外し、残ったサーバを制御対象サーバとしてリストアップする。ラック分析部３２は、作成した制御対象サーバのリスト（以下、制御対象情報）をサーバ制御部３３に通知する。また、制御対象サーバを見つけることが出来なかった場合には、その旨をインターフェース４に通知する。
【００２５】
サーバ制御部３３は、制御対象サーバに対して、温度上昇防止処理として実行できる内容を決定し、決定した内容で温度上昇防止処理を実行する。具体的には、制御対象情報の制御対象サーバ中から、一つづつ選択サーバを選択する。選択された選択サーバに対し、温度上昇防止処理としてどのような処理内容が実行できるかを検討し、実行可能な処理内容で温度上昇処理を実行する。温度上昇防止処理の処理内容としては、ライブマイグレーション、電源オフ、及びプロビジョニングが挙げられる。
【００２６】
インターフェース４は、ユーザとのインターフェース機能を実現する。インターフェース４は、設定インターフェース４１と、結果表示インターフェース４２とを備えている。設定インターフェース４１は、グラフィカルユーザインターフェースである。設定インターフェース４１は、マウスやキーボードに例示される入力装置を備えている。設定インターフェース４１は、その入力装置を介してユーザから入力された各種設定情報を、設定情報テーブル５３や構成情報テーブル５２に格納する。また、結果表示インターフェース４２は、ラック分析部３２及びサーバ制御部３３から通知された各種処理結果を、ディスプレイなどの表示装置を介してユーザに通知する。
【００２７】
続いて、本実施形態に係るサーバ環境最適化方法について説明する。図３は、サーバ環境最適化方法を概略的に示すフローチャートである。図３に示されるように、このサーバ環境最適化方法は、異常コンピュータを検出するステップ（ステップＳ１０）と、制御対象コンピュータを決定するステップ（ステップＳ２０）と、温度上昇防止処理を実行するステップ（ステップＳ３０）とを備えている。各ステップの詳細について、以下に説明する。
【００２８】
ステップＳ１０；異常サーバの検出
まず、異常検出部３１は、温度情報テーブル５１を参照して、各サーバ２の吸気温度が異常であるか否かを判断する。ここで、異常検出部３１は、設定情報テーブル５３にアクセスし、ユーザにより指定された異常検出方法の設定に基づいて、異常であるか否かの判定を行う。本実施形態では、異常検出方法の設定として、閾値を超えた段階で異常と判断する方法（第１の手法）と、閾値を超えると予測された段階で異常と判断する方法（第２の手法）とのいずれかが設定されているものとする。
【００２９】
図４Ａは、第１の手法を説明するための説明図である。図４Ａは、あるサーバ２に関する測定時間と吸気温度との関係を示したグラフである。この図に示される例では、時刻ｔ２において、吸気温度が閾値Ｚを超えている。異常検出部３１は、吸気温度が閾値Ｚを超えた時刻ｔ２の段階で、このサーバ２の吸気温度が異常であると判断する。尚、時刻ｔ２において異常であると判断するのではなくて、閾値Ｚを超えた状態が一定時間続いた段階（例えば、時刻ｔ４）で異常であると判断してもよい。
【００３０】
図４Ｂは、第２の手法を説明するための説明図である。図４Ａと同様に、図４Ｂは、あるサーバ２に関する測定時間と吸気温度の関係を示している。図４Ｂに示される例では、時刻ｔ１から時刻ｔ５までの間に、吸気温度が一定の割合で上昇している。このような場合に、異常検出部３１は、時刻ｔ５の段階でいずれ吸気温度が閾値Ｚを超えると予測し、異常であると判断する。
具体的には、吸気温度センサ２１が一定の時間間隔で吸気温度の測定を行っているものとすると、下記式１を満たすときに異常であると判断することができる。
（数式１）；Ｚ≦｛（Ｙｎ−Ｙｎ−１）／（Ｘｎ−Ｘｎ−１）｝（Ｘｎ＋１−Ｘｎ）＋Ｙｎ
尚、式１中、Ｘｎは現在の測定時刻を示し、Ｘｎ−１は前回の測定時刻を示し、Ｘｎ＋１は次回の測定予定時刻を示す。また、Ｙｎは時刻Ｘｎにおける吸気温度を示し、Ｙｎ−１は時刻Ｘｎ−１における吸気温度を示す。
この数式１を満たすときには、次回の測定予定時刻Ｘｎ＋１において吸気温度がＺを超えると予測される。従って、時刻Ｘｎの段階で、吸気温度が異常であると判断する。
【００３１】
異常検出部３１は、上述の手法により、各サーバ２の吸気温度が異常であるか否かを判断する。異常であるサーバ２を検出した場合には、そのサーバ２を特定する情報（搭載されるラックや配置位置などの情報）を異常サーバ情報として、ラック分析部３２に通知する。
【００３２】
ステップＳ２０；制御対象サーバの決定
ラック分析部３２は、異常サーバ情報を取得すると、制御対象サーバのリスト（制御対象情報）を作成する。図５Ａは、本ステップの動作を詳細に示すフローチャートである。
【００３３】
（ステップＳ２１；ラック情報の作成）
ラック分析部３２は、異常サーバ情報を受け取ると、まず、記憶装置５にアクセスして、異常サーバの搭載されたラック１に含まれるサーバについての構成情報を取得する。また、同様に、温度情報テーブル５２にアクセスして、異常サーバの搭載されたラック１に含まれる各サーバの吸気温度に関する情報を取得する。そして、取得した構成情報と吸気温度に関する情報とをマージして、新たなテーブルをラック情報（図５Ｂ参照）として作成する。
（ステップＳ２２；制御対象サーバの決定）
次に、ラック分析部３２は、ラック情報を分析し、その分析結果に基づいて、温度上昇防止処理の実行を行わないサーバを除外サーバとしてリストアップする。具体的には、電源がオフであるサーバ、及び吸気温度が低いサーバ（例えば、空調温度の設定値よりも吸気温度が低いサーバ）を、温度上昇防止処理を実行する必要がないサーバであると分析し、除外サーバとしてリストアップする。また、業務重要度の高い（Ｈｉｇｈ）のサーバについても、温度上昇防止処理を行うことができないサーバであると分析し、除外サーバとしてリストアップする。リストアップされたサーバについての情報（除外対象情報）の例が、図５Ｃに示される。
ラック分析部３２は、ラック情報中から、除外サーバに関する情報を削除して、制御対象情報を作成する。制御対象情報に含まれるサーバは、制御対象サーバに決定される。
（ステップＳ２３；制御対象サーバの有無を確認）
次に、ラック分析部３２は、制御対象サーバの有無を確認する。確認の結果、制御対象サーバが残っていない場合、すなわち、ラック情報中から全てのサーバが除外サーバとして除外されてしまった場合、その旨を結果表示インターフェース４２を介してユーザに通知し、処理を終了する。一方、制御対象サーバが残っている場合には、次のステップＳ２４の処理を行う。
（ステップＳ２４；制御対象サーバのソート）
次に、ラック分析部３２は、制御対象情報中に含まれる各サーバに優先順位を付し、優先順位に従って制御対象情報をソートする。ここでの優先順位は、温度上昇防止処理を試みる順番を示している。具体的には、仮想化環境で動作しているサーバに最も高い優先順位を付し、続いて、業務重要度の低い（Ｌｏｗ）のサーバ、吸気温度が高い（予め定められた閾値よりも高い）サーバの順に優先順位を付す。図５Ｄには、ソートされた後の制御対象情報の例が示されている。ラック分析部３２は、ソートした制御対象情報を、サーバ制御部３３に通知する。
ここで、仮想化環境で動作しているサーバに高い優先順位を付す理由は、ライブマイグレーションを実行することができる可能性があるからである。ライブマイグレーションを用いれば、実行中の処理を実質的に停止することなく、制御対象サーバの負荷を軽減することができる。したがって、複数のサーバ２が実行している処理を停止させない観点から、ライブマイグレーションを実行できるのであれば、優先的にライブマイグレーションを実行すことが好ましい。
また、熱は下方よりも上方に溜まり易い。従って、優先順位を付す段階で複数のサーバの優先順位が同じになった場合には、より上方に配置されたサーバに対して、より上位の優先順位を付す。
【００３４】
ステップＳ３０；温度上昇防止処理の実行
サーバ制御部３３は、ソートされた制御対象情報を取得すると、制御対象情報から優先順位の高い順に選択サーバを選択する。そして、選択サーバに対して温度上昇防止処理として実行する処理内容を決定し、決定した内容で温度上昇防止処理を実行する。既述の通り、その温度上昇防止処理としては、ライブマイグレーション、電源の切断、及びプロビジョニングが挙げられる。一つの選択サーバに対する処理が終了すると、制御対象情報の中から別のサーバを選択サーバとして選び、同様の処理を繰り返す。全ての制御対象サーバについて実行可能な温度上昇防止処理が無い場合には、その旨を結果表示インターフェース４２を介してユーザに通知し、処理を終了する。
【００３５】
図６Ａ及び６Ｂは、一つの選択サーバに対する処理を示すフローチャートである。サーバ制御部３３は、概略的には、一つの選択サーバに対して、ライブマイグレーションの実行を試み（ステップＳ３１）、ライブマイグレーションが実行できない場合には電源の切断を試み（ステップＳ３２）、電源を切断できない場合にはプロビジョニングを試みる（ステップＳ３３）。尚、ライブマイグレーションを最初に試みる理由は、無停止で高速に処理を移動させることができて温度上昇防止処理として最も好ましいからである。全てのステップにおいて処理を実行できない場合には、次の優先順位の制御対象サーバを選択サーバとして選択し、Ｓ３１〜３３の処理を繰り返す。各ステップの詳細を以下に説明する。
【００３６】
ステップＳ３１；ライブマイグレーション
まず、サーバ制御部３３は、選択サーバに対してライブマイグレーションを試みる。ライブマイグレーションは、サーバが仮想化環境で動作している場合に、その仮想化環境を別のサーバに実質的にノンストップでコピーする技術である。ライブマイグレーションを用いれば、選択サーバで行われる処理が少なくなり、選択サーバが発生する熱量が低減する。また、選択サーバの温度が上昇することも防止される。具体的には、以下のステップＳ３１−１〜Ｓ３１−６の処理が実行される。
（ステップＳ３１−１）
サーバ制御部３３は、選択サーバが、仮想化環境で動作しているか否かを確認する。確認の結果、仮想化環境で動作する場合には、次のステップＳ３１−２の処理を実行する。一方、仮想化環境で動作しない場合には、ステップＳ３２の処理を実行する。
（ステップＳ３１−２）
選択サーバが仮想化環境で動作している場合、サーバ制御部３３は、ライブマイグレーションの移行先となるサーバをリストアップする。具体的には、構成情報テーブル５２にアクセスして、データセンタ１０内に配置された複数のサーバ２の中から仮想化環境で動作しているサーバ２の全てをリストアップする。
（ステップＳ３１−３、３１−４）
続いて、Ｓ３１−２でリストアップしたサーバ２の中から一つのサーバ２を移行先候補サーバとして選択し、移行先候補サーバがライブマイグレーションを実行可能な構成であるかどうかを確認する（Ｓ３１−４）。具体的には、選択サーバと移行先候補サーバとが、同じＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）と接続されているか、又は同一のネットワーク環境であるか、等の条件を満たすか否かを確認する。また、選択サーバと移行先候補サーバとの双方にライブマイグレーション用のプログラム（例示；ＶＭｗａｒｅ社のＶＭｏｔｉｏｎ、Ｃｉｔｒｉｘ社のＸｅｎＭｏｔｉｏｎ）がインストールされているか否か等についても確認する。確認の結果、移動先候補サーバがライブマイグレーションを実行可能な構成である場合には、次のステップＳ３１−５の処理に移る。一方、実行できない構成であった場合には、Ｓ３１−２でリストアップしたサーバ２の中から別のサーバ２を移行先候補サーバに選択し、再度、ライブマイグレーションを実行可能な構成であるか否かを確認する。尚、Ｓ３１−２でリストアップしたサーバ２の全てが、ライブマイグレーションを実行できない構成であった場合には、次のステップＳ３２の処理に移る（ステップＳ３１−３）。
（ステップＳ３１−５）
Ｓ３１−４の処理において、移行先候補サーバがライブマイグレーションを実行可能な構成であった場合には、その移行先候補サーバの吸気温度を判断する。吸気温度が十分に低い場合には、その移行先候補サーバを移行先サーバに決定し、次のステップＳ３１−６の処理を行う。一方、吸気温度が高い場合には、Ｓ３１−３の処理に戻る。尚、吸気温度が高いか低いかは、例えば、予めユーザにより設定情報テーブル５３に設定された温度の閾値などに基づいて、判断される。
（ステップＳ３１−６）
Ｓ３１−５の処理で移行先サーバが決定された場合には、ライブマイグレーションにより、選択サーバの仮想化環境を、移行先サーバにノンストップで移動させる。選択サーバで実行されていた処理は、熱だまりから退避されることになる。また、選択サーバに対する処理の負担が軽減され、選択サーバによる発熱が防止される。これにより、熱だまりが解消される。また、ライブマイグレーションを用いることにより、選択サーバで行われていた処理を実質的に停止させることなく、移行先サーバに移動させることができる。
【００３７】
ステップＳ３２；電源の切断
ステップＳ３１の処理において、選択サーバが仮想化環境で動作していない場合、もしくは移行先サーバが決定できなかった場合、サーバ制御部３３は、業務重要度に基づいて、選択サーバの電源をＯＦＦにするかどうかを判定する(ステップＳ３２−１）。具体的には、選択サーバの業務重要度が「Ｌｏｗ」である場合に、電源をＯＦＦにすると判定する。データセンタ１０内の複数のサーバ２が、互いに並列的に接続されて負荷分散されて動作しているＷｅｂサーバである場合、１台の電源をＯＦＦしてもサービスレベルが損なわれない場合がある。このようなサーバについては、電源をＯＦＦにしてもかまわないので、業務重要度を「Ｌｏｗ」に設定しておけばよい。判定の結果、可能であれば、選択サーバの電源を切断し、運用を止める（ステップＳ３２−２）。電源の切断は、例えば、ＳｉｇｍａＳｙｓｔｅｍＣｅｎｔｅｒ（登録商標、日本電気株式会社）などの電源切断用アプリケーションを備えたコンピュータにより、実行可能である。選択サーバの電源をＯＦＦにすることができない場合には、ステップＳ３３の処理に移る。電源をＯＦＦにすることで、選択サーバが発熱することもなくなる。また、選択サーバの内部が高温状態となることもなく、障害が発生することもない。
【００３８】
ステップＳ３３；プロビジョニング
ステップＳ３２において、選択サーバの電源をＯＦＦにすることができない場合、プロビジョニングを試みる。プロビジョニングとは、電源の切断されている移行先サーバに、選択サーバのオペレーティングシステム（以下、ＯＳ）を移行する技術である。具体的には、一旦、選択サーバのＯＳをシャットダウンして、選択サーバのバックアップを採取し、移行先サーバへリストアする。具体的には、以下のように動作して、プロビジョニングを試みる。
（ステップＳ３３−１）
まず、サーバ制御部３３は、選択サーバが、プロビジョニング可能なサーバであるか否かを確認する。
（ステップＳ３３−２）
選択サーバがプロビジョニング可能なサーバである場合には、移行先の候補となるサーバをリストアップする。具体的には、構成情報テーブル５２に基づいて、データセンタ１０内に配置された複数のサーバ２の中からの電源がオフ状態であるサーバを、リストアップする。電源がオフ状態であるサーバが見つからなかった場合には、この選択サーバに対する処理を終了し、制御対象情報中から次の優先順位のサーバを選択サーバとして選び、ステップＳ３１からの処理を繰り返す。
（ステップＳ３３−３、Ｓ３３−４）
ステップＳ３３−２でリストアップされたサーバ群の中から一つのサーバを移行先候補サーバとして選択し、移行先候補サーバが選択サーバと同一のハードウェア構成であるか否かを判定する。同一のハードウェア構成である場合には、次のステップＳ３３−５の処理に移る。ハードウェア構成が同一でない場合には、別のサーバを移行先候補サーバとして選び、再び同一のハードウェア構成であるか否かの判定を繰り返す。Ｓ３３−２でリストアップされた全てのサーバについて、同一のハードウェア構成ではないと判定された場合には、この選択サーバに対する処理を終了し、次の優先順位のサーバを選択サーバとして選んで、ステップＳ３１からの処理を繰り返す。
（ステップＳ３３−５）
続いて、サーバ制御部３３は、移行先候補サーバの吸気温度に基づいて、プロビジョニングを行うか否かを決定する。ここで、移行先候補サーバは電源がオフ状態であるサーバであるので、吸気温度は測定されない。そこで、サーバ制御部３３は、移行先候補サーバに近接して配置された別のサーバの吸気温度に基づいて、移行先候補サーバの吸気温度を予測する。
図７は、移行先候補サーバの吸気温度を予測する方法を説明するための概念図である。図７に示されるように、ラック１の上から５段目に移行先候補サーバが配置されているものとする。また、４段目に稼動しているサーバが配置されており、６段目にも稼動しているサーバが配置されているものとする。このとき、例えば、４段目のサーバと６段目のサーバの吸気温度を線形補間することにより、５段目の移行先候補サーバの吸気温度を予測することができる。
図８Ａ及び８Ｂを参照して、より具体的に移行先候補サーバの吸気温度の予測方法について説明する。サーバ制御部３３は、構成情報テーブル５２にアクセスして、移行先候補サーバと同一ラック内に配置されたサーバ全てについて、サーバ配置、ＵＮＩＴサイズ、電源状態、吸気温度、及び業務重要度を示したリスト（図８Ｂ参照）を取得する（Ｓ３３−５−１）。次に、下記式２により、サーバ配置がＸｍであるサーバの吸気温度「Ｙｍ」と、サーバ配置がＸｎであるサーバの吸気温度「Ｘｍ」とに基づいて、サーバ配置が「Ｘ」である移行先候補サーバの吸気温度Ｙを予測する（Ｓ３３−５−２）。
（数式２）；Ｙ＝｛（Ｙｍ−Ｙｎ）／（Ｘｍ−Ｘｎ）｝・Ｘ＋（ＸｍＹｎ−ＸｎＹｍ）／（Ｘｍ−Ｘｎ）
例えば、図８Ｂに示されるリストにおいて、サーバ配置が「４」段目と「６」段目のサーバの吸気温度に基づいて、サーバ配置が「５」段目である移行先候補サーバの吸気温度を予測する場合、上式２において、Ｘ＝５、Ｘｍ＝４、Ｘｎ＝６、Ｙｍ＝３０、Ｙｎ＝２５、がそれぞれ代入され、Ｙ＝２７．５と計算が行われる。従って、移行先候補サーバの吸気温度が２７．５であると予測される。
（ステップＳ３３−６）
次に、サーバ制御部３３は、予測した移行先候補サーバの吸気温度が高いか低いかを、予め設定された閾値などに基づいて判定する。予測した吸気温度が低い場合には、この移行先候補サーバを移行先サーバとして決定し、次のステップＳ３３−７の処理を実行する。一方、予測した吸気温度が高い場合には、この選択サーバに対する処理を終了し、次の優先順位のサーバを選択サーバとして選んで、ステップＳ３１からの処理を繰り返す。
（ステップＳ３３−７）
Ｓ３３−６において、予測した吸気温度が低い場合、サーバ制御部３３は、プロビジョニングにより、選択サーバのＯＳを移行先サーバに移動させる。プロビジョニングは、プロビジョニング用のアプリケーション（例示；ＳｉｇｍａＳｙｓｔｅｍＣｅｎｔｅｒ；日本電気株式会社の登録商標）を備えるコンピュータにより、実現される。プロビジョニングが終了すると、この選択サーバに対する処理を終了し、次の優先順位の選択サーバに対して、ステップＳ３１からの処理を繰り返す。
このように、プロビジョニングを行うことにより、選択サーバ上で行われた処理が別のサーバ（移行先サーバ）に退避される。従って、熱だまりによって処理に障害が発生することが防止される。また、選択サーバに加わる負荷も減るので、選択サーバの発熱量が減る。その結果、選択サーバの温度上昇も防止され、熱だまりが解消されやすくなる。
【００３９】
以上説明した動作により、制御対象情報中に含まれるサーバに対して温度上昇防止処理が実行され、熱だまりによる障害発生が回避される。尚、上述した動作の結果により、各サーバ２の状態が変更された場合には、構成情報テーブル５２がアップデートされる。
【００４０】
本実施形態によれば、温度上昇防止処理を実行する候補として、吸気温度に異常の認められた異常サーバだけではなく、異常サーバと同一ラックに配置された他のサーバも選ばれる。本実施形態のように、データセンタ中に複数のラックが配置されている場合、熱だまりはラック単位で発生し易い。異常サーバと同一ラック内に配置されたサーバに対して温度上昇防止処理を行うことにより、そのラック内に配置されたサーバによる発熱を抑制し、熱だまりを解消させることができる。その結果、熱だまりの付近に配置されたサーバのデバイス（ＣＰＵやディスク装置）が高温になることを防ぐことができる。
【００４１】
また、異常サーバに対して温度上昇防止処理を実行できない場合でも、異常サーバと同一ラック内に配置された他のサーバに対して温度上昇防止処理を実行できる可能性があり、熱だまりを抑制することができる。
【００４２】
また、本実施形態では、制御対象サーバの状態（吸気温度、環境情報）に基づいて、温度上昇防止処理を実行する順序に優先順位が付される。従って、温度上昇防止処理の実行対象としてふさわしいサーバから順に、温度上昇防止処理が試みられる。
【００４３】
また、ライブマイグレーション又はプロビジョニングを行うにあたり、移行先候補サーバの吸気温度に基づいて移行先サーバが決定される。従って、ライブマイグレーション又はプロビジョニングを行う際に、吸気温度の高いサーバが移行先サーバに決定されることがない。制御対象サーバで行われていた処理の実行場所を、確実に熱だまりの外に移動させることができる。
【００４４】
また、温度上昇防止処理を試みる際に、ライブマイグレーション、電源の切断、及びサーバプロビジョニングの順に処理が試みられる。ライブマイグレーションが最優先で実行されるので、制御対象サーバで行われていた処理が温度上昇防止処理により妨げられる可能性を低くすることができる。
【図面の簡単な説明】
【００４５】
【図１】サーバシステムの概略構成図である。
【図２】構成情報テーブルの概念図である。
【図３】コンピュータ環境最適化方法の全体の流れを概略的に示すフローチャートである。
【図４Ａ】異常サーバの検出方法を説明するための概念図である。
【図４Ｂ】異常サーバの検出方法を説明するための概念図である。
【図５Ａ】制御対象情報を作成する方法を説明するためのフローチャートである。
【図５Ｂ】ラック情報を示す概念図である。
【図５Ｃ】除外対象情報を示す概念図である。
【図５Ｄ】制御対象情報を示す概念図である。
【図６Ａ】温度上昇防止処理の流れを示すフローチャートである。
【図６Ｂ】温度上昇防止処理の流れを示すフローチャートである。
【図７】移行先候補サーバの温度を予測する方法を説明するための概念図である。
【図８Ａ】移行先候補サーバの温度を予測する方法を説明するためのフローチャートである。
【図８Ｂ】移行先候補サーバの温度を予測する方法を説明するための概念図である。
【符号の説明】
【００４６】
１  ラック
２  サーバ
３  制御部
４  インターフェース
５  記憶装置
６  情報収集部
１０  データセンタ
２０  サーバシステム
３０  コンピュータ環境最適化システム
３１  異常検出部
３２  ラック分析部
３３  サーバ制御部
４１  設定インターフェース
４２  結果表示インターフェース
５１  温度情報テーブル
５２  構成情報テーブル
５３  設定情報テーブル
１００  データセンタ
【図１】
0004930909.tif 000002
【図２】
0004930909.tif 000003
【図３】
0004930909.tif 000004
【図４Ａ】
0004930909.tif 000005
【図４Ｂ】
0004930909.tif 000006
【図５Ａ】
0004930909.tif 000007
【図５Ｂ】
0004930909.tif 000008
【図５Ｃ】
0004930909.tif 000009
【図５Ｄ】
0004930909.tif 000010
【図６Ａ】
0004930909.tif 000011
【図６Ｂ】
0004930909.tif 000012
【図７】
0004930909.tif 000013
【図８Ａ】
0004930909.tif 000014
【図８Ｂ】
0004930909.tif 000015