JP2008009622A - 管理サーバ、およびサーバシステム - Google Patents
管理サーバ、およびサーバシステム Download PDFInfo
- Publication number
- JP2008009622A JP2008009622A JP2006178252A JP2006178252A JP2008009622A JP 2008009622 A JP2008009622 A JP 2008009622A JP 2006178252 A JP2006178252 A JP 2006178252A JP 2006178252 A JP2006178252 A JP 2006178252A JP 2008009622 A JP2008009622 A JP 2008009622A
- Authority
- JP
- Japan
- Prior art keywords
- server
- job
- execution
- environment
- management
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
【課題】バッチ処理に対応できる信頼性を有し運用の煩雑さを隠蔽できるサーバシステムを低コストで提供する。
【解決手段】複数のサーバを管理する管理サーバが、バッチ処理対象のジョブネットを実行する第一のサーバの未割り当ての第二のサーバを複数のサーバの中から動的に選択し、選択した第二のサーバに、第一のサーバに関する環境であるサーバ環境を設定させ、第一のサーバと、サーバ環境が設定された第二のサーバに、それぞれ、ジョブネットを構成する各ジョブを実行させ、第一のサーバと第二のサーバからそれぞれジョブネットの実行終了通知を受けた場合に、第二のサーバを解放する。
【選択図】図1
【解決手段】複数のサーバを管理する管理サーバが、バッチ処理対象のジョブネットを実行する第一のサーバの未割り当ての第二のサーバを複数のサーバの中から動的に選択し、選択した第二のサーバに、第一のサーバに関する環境であるサーバ環境を設定させ、第一のサーバと、サーバ環境が設定された第二のサーバに、それぞれ、ジョブネットを構成する各ジョブを実行させ、第一のサーバと第二のサーバからそれぞれジョブネットの実行終了通知を受けた場合に、第二のサーバを解放する。
【選択図】図1
Description
本発明は、サーバシステムに関し、特に、オープン系のサーバシステムに関する。
例えば、低コスト化を目的として、メインフレーム系のサーバシステム(以下、メインフレームサーバシステム)で所定の業務を実行することを、オープン系のサーバシステム(以下、オープンサーバシステム)でその業務を実行することの移行が進んでいる。
オープンサーバシステムは、オープンサーバの台数を増やすことで拡張できるが、オープンサーバシステムの構成要素である各サーバ(以下、オープンサーバ)は、低コストのため、拡張を低コストで行えるという特徴がある。そのため、オープンサーバシステムは、例えば、多数の要求(例えば、多数のトランザクション処理或いは多数のリクエスト)が発生するWEBサーバシステムで適用される。また、WEBサーバシステムでは、一要求当たりの処理量が少なく、そのため処理時間が短く済み、サーバシステムの障害時の影響範囲が小さいことや、回復処理技術が確立していることもあり、WEBサーバシステムにおいて、オープンサーバシステムの信頼性は大きな問題にはならない。
しかし、夜間バッチのような、処理時間が何時間にもおよぶバッチ処理の場合には、処理時間が長い上、多量のデータを処理するため、サーバシステムの障害の影響範囲が大きい。また、通常、バッチ処理では、所定時刻(例えば、翌日の午前○時)までに終了しなければならない等の、実行時における制約が厳しい。
そのため、オープンサーバシステムでバッチ処理を実行する場合には、その信頼性(例えば、ハードウェア及び/又はソフトウェアの信頼性)を高める必要がある。オープンサーバシステムの高信頼化のアプローチとしては、以下の2つ、
(1)プロセッサやパスなどのハードウェアを多重化する方法(例えば特許文献1及び2)、
(2)サーバを複数台備え、それら複数台のサーバにリクエストを発行する方法(例えば、特許文献3及び4)、
を挙げることができる。
(1)プロセッサやパスなどのハードウェアを多重化する方法(例えば特許文献1及び2)、
(2)サーバを複数台備え、それら複数台のサーバにリクエストを発行する方法(例えば、特許文献3及び4)、
を挙げることができる。
上記(1)の方法によれば、多重化のために専用のハードウェアを開発する必要がある。そのため、高いコストがかかってしまう。
一方、上記(2)の方法によれば、コスト高を抑えることができるが、リクエスト発行側に複数台のサーバが見えてしまうので、実際の運用が煩雑になってしまう。
従って、本発明の目的は、バッチ処理に対応できる信頼性を有し運用の煩雑さを隠蔽できるサーバシステムを低コストで提供することにある。
本発明に従う管理サーバは、複数のサーバと前記複数のサーバを管理する管理サーバとを備えるサーバシステムの前記管理サーバであって、第二サーバ選択部、サーバ環境設定部、ジョブネット実行部及びサーバ解放部を備える。第二サーバ選択部は、バッチ処理の対象である一以上のジョブから成るジョブネットを実行させる際に、前記ジョブネットを実行する第一のサーバを含んだ前記複数のサーバの中から、未割り当ての第二のサーバを選択する。サーバ環境設定部は、前記選択した第二のサーバに、前記第一のサーバに関する環境であるサーバ環境を設定させる。ジョブネット実行部は、前記第一のサーバと、前記サーバ環境が設定された第二のサーバに、それぞれ、前記ジョブネットを構成する各ジョブを実行させる。サーバ解放部は、前記第一のサーバと前記第二のサーバからそれぞれ前記ジョブネットの実行終了通知を受けた場合に、前記第二のサーバを解放する。第二のサーバの解放では、例えば、そのサーバから、設定されたサーバ環境を破棄させる。
第一の実施態様では、管理サーバが、各サーバのリソースに関する情報と各サーバの割り当てに関する状態とを含んだサーバ管理情報を記憶するサーバ管理記憶部(例えばメモリ領域)と、前記ジョブネットの実行に必要なリソースに関する情報を含んだジョブ定義情報を記憶するジョブ定義記憶部(例えばメモリ領域)とを更に備える。前記第二サーバ選択部は、前記サーバ管理情報と前記ジョブ定義情報とを参照することにより、前記ジョブネットの実行に必要なリソースを有する未割り当てのサーバを選択する。
第二の実施態様では、前記第一の実施態様において、前記ジョブ定義情報は、前記ジョブネットについての多重度も含んでおり、前記第二選択部は、前記多重度と同数のサーバを第二サーバとして選択する。
第三の実施態様では、前記サーバ環境の設定の際、前記第一のサーバも前記第二のサーバも起動しておらず、前記サーバ環境には、ジョブネットの実行環境が含まれている。前記サーバ環境設定部は、前記第二のサーバを起動した後、前記第二のサーバに設定される、前記第一のサーバと同じ実行環境と異なる実行環境を、該第二のサーバに設定し、その後で、前記第一のサーバを起動する。
第四の実施態様では、前記第三の実施態様において、前記複数のサーバ及び前記管理サーバは、インターネットプロトコルの通信ネットワークに接続され、前記実行環境は、IPアドレスである。
第五の実施態様では、前記第三の実施態様において、前記サーバシステムには、前記複数のサーバ及び前記管理サーバに通信可能に接続されたストレージシステムが含まれている。前記ストレージシステムには、複数の記憶装置とコントローラとが備えられ、前記複数の記憶装置には、前記第一のサーバの前記サーバ環境が記憶された第一の記憶装置が含まれている。前記サーバ環境設定部は、前記コントローラに、前記第一の記憶装置内のサーバ環境を前記複数の記憶装置のうちの他の記憶装置にコピーさせ、且つ、前記第二のサーバに前記他の記憶装置を接続させ、該コピーが完了した後に、前記第二のサーバを起動し、それにより、前記他の記憶装置から前記サーバ環境を前記第二のサーバに読み出されるようにする。
第六の実施態様では、前記ジョブネット実行部は、要求したジョブの実行中に障害が検知された第一のサーバから障害の通知を受けた場合、前記第二のサーバを第一のサーバとして、前記ジョブネットの実行を継続する。
第七の実施態様では、管理サーバは、前記ジョブネットの構成に関する情報を含んだジョブ定義情報を記憶するジョブ定義記憶部を更に備える。前記ジョブネット実行部は、ジョブの要求先のサーバからジョブの正常終了通知を受け、該正常終了通知から、該ジョブが正常に終了したことを把握し、ジョブの要求先のサーバから、ジョブの実行中に障害が検知されたことの障害通知を受けた場合、該ジョブの別の要求先のサーバから正常終了通知を受けたか否かと、前記ジョブ定義情報とに基づき、前記障害通知の通知元のサーバで障害が検知されたことと前記別の要求先のサーバでの該ジョブでの処理状況とを前記ジョブネットの構成と共に示し且つ該ジョブを継続するか中止するかを管理者に問い合わせるGUIを作成して表示し、継続の入力を受けた場合に、該ジョブを継続する。
第八の実施態様では、前記第一のサーバは、オリジナルとするサーバである。前記第二のサーバは、前記オリジナルのサーバのクローンとするサーバである。
第八の実施態様では、前記第一のサーバは、オリジナルとするサーバである。前記第二のサーバは、前記オリジナルのサーバのクローンとするサーバである。
各部は、ハードウェア(例えば回路)、コンピュータプログラム、或いはそれらの組み合わせ(例えば、コンピュータプログラムを読み込んで実行する一又は複数のCPU)によって実現することもできる。各コンピュータプログラムは、コンピュータマシンに備えられる記憶資源(例えばメモリ)から読み込むことができる。その記憶資源には、CD−ROMやDVD(Digital Versatile Disk)等の記録媒体を介してインストールすることもできるし、インターネットやLAN等の通信ネットワークを介してダウンロードすることもできる。
本発明によれば、バッチ処理に対応できる信頼性を有し運用の煩雑さを隠蔽できるサーバシステムを低コストで提供することができる。
以下、本発明の実施の形態を説明する。まず、実施の形態の概要を説明する。
バッチ処理対象のジョブネット(複数のジョブから構成されるジョブ群)を構成するジョブを実行することができる複数のサーバと、ジョブをサーバに実行させる管理サーバとが備えられる。管理サーバは、ジョブネットを実行するオリジナルのサーバのクローンとするサーバを複数のサーバから動的に選択し、選択されたクローンのサーバとオリジナルのサーバとをそれぞれ起動する。そして、管理サーバは、ジョブネットを構成するジョブを、それら二以上のサーバ(クローン及びオリジナル)に実行させる。管理サーバは、二以上のサーバからジョブ終了の通知を受けたならば、少なくともクローンサーバを解放する。また、管理サーバは、ジョブを実行しているサーバから障害の通知を受けた場合には、どのジョブについてどのサーバで障害が発生し他のどのサーバでそのジョブについて処理の継続が可能であるかを管理者に見せ且つジョブの実行を継続するか或いは中止するかを管理者に問い合わせるためのGUIを表示する。その問合せに対する回答の結果に応じて、管理サーバは、ジョブを継続するか中止するかを決定する。
以下、本実施形態について詳細に説明する。尚、本実施形態に本発明が限定されるものではない。
図1は、本発明の一実施形態に係る計算機システムの構成例を示した図である。なお、以下の説明では、同種の要素については、親番号(例えば105)を用いて説明し、特に区別する場合には、親番号と子符合のセット(例えば105a)を用いて説明する。
この計算機システムでは、ネットワークスイッチ103に、管理サーバ101、複数のサーバ105及びストレージシステム109が接続され、ファイバチャネルスイッチ107に、それら複数のサーバ105とストレージシステム109とが接続されている。ネットワークスイッチ103は、例えば、インターネットプロトコルの通信ネットワーク(例えばLAN(Local Area Network))の一構成要素であり、ファイバチャネルスイッチ107は、例えば、SAN(Storage Area Network)の一構成要素である。各スイッチ103、107は、同種のスイッチであっても良い。
図2は、管理サーバ101の構成例を示す。
管理サーバ101は、一種の計算機であり、ジョブやサーバを管理する。管理サーバ101は、NIC(Network Interface Card)131と、メモリ111(他種の記憶資源でも良い)と、プロセッサ(例えばCPU)129とを備える。
NIC131には、例えば、MAC(Media Access Control)アドレスの記憶域133や、通信を制御する機構(以下、通信機構)135が備えられる。NIC153を介して、ジョブ実行管理サーバ105との通信が行われる。サーバ105との通信に利用されるネットワーク種類に応じて、NIC131に代えて他種の通信インタフェース装置が採用されても良い。
メモリ111には、プロセッサ129に実行されるコンピュータプログラムや、そのコンピュータプログラムの実行の際に参照される情報が格納される。具体的には、例えば、メモリ111には、例えば、ジョブの実行を管理するためのコンピュータプログラム(以下、ジョブ実行管理プログラム)113、サーバを動的に多重化するためのプログラム(以下、システム多重化プログラム)117、ジョブの実行を命じるためのプログラム(以下、ジョブ実行プログラム)119、及びオペレーティングシステム(OS)120が格納される(OS120上で、各プログラム113、115、117及び119が動作する)。また、メモリ111には、例えば、ジョブの定義を示すテーブル(以下、ジョブ定義テーブル)121、サーバを管理するためのテーブル(以下、サーバ管理テーブル)123、ジョブを管理するためのテーブル(以下、ジョブ管理テーブル)125、及びストレージを管理するためのテーブル(以下、ストレージ管理テーブル)127も格納される。各種プログラムや情報については、後に適宜に詳述する。また、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するプロセッサによって処理が行われるものとする。
図3は、サーバ105の構成例を示す。
サーバ105は、一種の計算機であり、ジョブを実行するサーバとしての一候補である。サーバ105は、NIC153と、HBA(Host Bus Adapter)151と、メモリ141(他種の記憶資源であっても良い)と、プロセッサ(例えばCPU)149とを備える。
NIC153には、例えば、MACアドレスの記憶域206や、通信機構205が備えられる。NIC153を介して、管理サーバ101との通信が行われる。ジョブ実行管理サーバ105との通信に利用されるネットワーク種類に応じて、NIC153に代えて他種の通信インタフェース装置が採用されても良い。
HBA151には、例えば、WWN(World Wide Name)の記憶域204や、通信機構203が備えられる。HBA151を介して、ストレージシステム109へのデータの書込みや、ストレージシステム109からのデータの読出しが行われる。ストレージシステム109との通信に利用されるネットワーク種類に応じて、HBA151に代えて他種の通信インタフェース装置が採用されても良い。
メモリ141には、例えば、プロセッサ149に実行されるコンピュータプログラムが格納される。具体的には、例えば、メモリ141には、ジョブを実行するコンピュータプログラム(以下、ジョブプログラム)145、ジョブの実行の命令を受け付けるコンピュータプログラム(以下、ジョブ実行エージェント)143、及び、OS147が格納される(OS147上で、各プログラム143、145が動作する)。これらのコンピュータプログラムのうちの全部又は一部が、予めメモリ141に格納されていても良いが、本実施形態では、それらのコンピュータプログラムの全部が、動的に、ストレージシステム109から取得されたり、メモリ141から消去されたりする。具体的には、例えば、それらのコンピュータプログラムは、ジョブの実行の必要がある場合に、ストレージシステム109から読み出されてメモリ141に格納され、必要なくなった場合に(例えば、ジョブの実行が終了した場合に)、メモリ141から消去される。
図4は、ストレージシステム109の構成例を示す。
ストレージシステム109は、複数のディスク装置221と、それらディスク装置221に接続されたコントローラ210とを備える。コントローラ210は、例えば、内部バスで接続されたI/F211(ネットワークスイッチ103のインタフェースや、ファイバチャネルスイッチ107のインタフェース)、プロセッサ(例えばCPU)213、キャッシュメモリ215及びメモリ217を有する。メモリ217には、ストレージシステム109を制御するためのコンピュータプログラム(以下、制御プログラム)219が格納され、プロセッサ213によって実行される。尚、ディスク装置221は、例えば、ハードディスクドライブであり、ストレージシステム109は、複数のディスク装置をRAID(Redundant Array of Independent (or Inexpensive) Disks)構成にしていても良い。また、ディスク装置221に代えて、他種の記憶装置(例えばフラッシュメモリ)が採用されても良い。メモリ217とキャッシュメモリ215は、一体であっても良い。
ストレージシステム109がサーバ105からライト要求及びデータを受信した場合、制御プログラム219は、受信したデータをキャッシュメモリ215に一時的に記憶させ、その後、キャッシュメモリ215からそのデータを読み出して、ライト要求に従うアクセス先となるディスク装置221にそのデータを書込む。ストレージシステム109がサーバ105からリード要求を受信した場合、制御プログラム219は、リード要求に従うアクセス先となるディスク装置221からデータを読み出してキャッシュメモリ215に一時的に記憶させ、その後、キャッシュメモリ215からそのデータを読み出してサーバ105に送信する。
ストレージシステム109は、複数の仮想LUと、複数の物理LUとを有する。LUとは、論理ボリューム或いは論理ユニットと呼ばれる論理的な記憶デバイスである。仮想LUとは、ストレージシステム109の上位装置(本実施形態ではサーバ105)に提供され、物理LUに対応付けられる仮想的なLUである。物理LUとは、複数のディスク装置221により提供される記憶資源を用いて設定されたLUである。
このストレージシステム109は、本実施形態で「ホストグループ機能」と呼ぶセキュリティ機能を有している。ホストグループ機能とは、ファイバチャネルスイッチ103に接続される通信ポートに二以上の物理LU(及びそれらに対応付けられた二以上に仮想LU)が対応付けられ、且つ、その通信ポートを介して複数のサーバ105と通信が行われるようになっている場合に、各サーバ105に、それら二以上の物理LUのうちの、割り当てられた所定の物理LUにしかアクセスできないようにする機能である。ホストグループとは、サーバ105と、それに割り当てられた仮想LU及び物理LUとで構成することができる。
図5は、ホストグループ機能の説明の一例を示す。
例えば、ストレージシステム109に、複数の物理LUとして、二以上のシステム物理LU301a、301c、301eと、二以上のデータ物理LU301b、301d、301fとがあるとする。システム物理LUとは、サーバ105のサーバ環境(例えば、複数のコンピュータプログラムや実行環境(例えばIPアドレス))が格納されている物理LUである。データ物理LUとは、そのサーバ環境でジョブが実行されることにより、サーバ105にアクセスされるデータ(読み出されるデータ或いは書込まれるデータ)が格納される物理LUである。
図5によれば、ホストグループ機能により、3つのホストグループが設定されている。ホストグループ1では、サーバ105aに、物理LU301a及び301bが割り当てられる。ホストグループ2では、サーバ105bに、物理LU301c及び301dが割り当てられる。ホストグループ3では、サーバ105cに、物理LU301e及び301fが割り当てられる。これにより、ストレージシステム109は、サーバ105aに対して、そのサーバ105aが属するホストグループ1内の物理LU301a及び301bへのアクセスを許可するが、他のホストグループ2或いは3内の物理LUへのアクセスを禁止する。
ホストグループの設定は、例えば、ストレージシステム109のコントローラ210に接続されている計算機(以下、保守端末)から行うことができる。
図6は、ホストグループの設定の一例を示す。
例えば、システム多重化プログラム117が実行されることにより、制御プログラム219に対するインタフェース(以下、設定インタフェース)351でサポートされているコマンドが利用され、それにより、ホストグループの設定或いは解除が動的に行われる。サポートされているコマンドとしては、ホストグループを新たに追加するためのsetmappingコマンドと、ホストグループを削除するためのremovemappingコマンドの2種類がある。
システム多重化プログラム117は、ホストグループを新たに設定する場合、設定するホストグループに関する情報を、setmappingコマンドを使用して入力する。これにより、制御プログラム219が、そのsetmappingコマンドに従って、入力された情報を、ディスクマッピングテーブル220に格納する。ディスクマッピングテーブル220は、制御プログラム219に保持される情報であって、ホストグループ名が書かれるカラム220a、サーバID(例えばWWN)が書かれるカラム220b、仮想LUNが書かれるカラム220c、及び、物理LUNが書かれるカラム220dを有する。一つのホストグループについて、ホストグループ名、サーバID、仮想LUN及び物理LUNが登録される。すなわち、ホストグループに関する情報としては、ホストグループ名、サーバID、仮想LUN及び物理LUNがある。LUNとは、LUを識別するための番号である(番号に代えて他種のコードが採用されても良い)。
一方、システム多重化プログラム117は、ホストグループを解除する場合、解除するホストグループに関する情報を、removemappingコマンドを使用して入力する。これにより、制御プログラム219が、そのremovemappingコマンドに従って、入力された情報を、ディスクマッピングテーブル220から削除する。
さて、この実施形態では、ジョブネットを実行するためのサーバ105(以下、オリジナルサーバ)のクローン(以下、クローンサーバ)を動的に生成したり、そのクローンサーバを動的に解除したりすることができる。クローンサーバを生成するとは、オリジナルサーバのサーバ環境を他のサーバ105に動的に設定することであり、クローンサーバを解除するとは、その設定されたサーバ環境をクローンサーバ(他のサーバ)105から破棄することである。
本実施形態において、サーバ環境は、ジョブネットを実行するためのコンピュータプログラム群と実行環境の両方で表すことができる。実行環境とは、例えばIPアドレスである。コンピュータプログラム群は、例えば、特定の計算機或いはストレージシステムからサーバ105に送信されても良いが、本実施形態では、クローンとして選出されたサーバ105により、システム物理LU301から読み出される。
以下、クローンサーバの生成の流れの概要を、図7及び図8を参照して説明する。
図7は、クローンサーバの生成の流れの一部を示す。図8は、その流れの他の一部を示す。なお、以下の説明では、オリジナルサーバをサーバ105aとし、クローンサーバとなるサーバを105bとする。
クローンサーバの生成において、オリジナルサーバ105aが稼動中であれば、例えば、システム多重化プログラム117は、オリジナルサーバ105aが属するホストグループ1内のデータ物理LU301bに対応した仮想LU(以下、データ仮想LU)313bへの書き込みが発生しないような制御を行う。具体的には、例えば、システム多重化プログラム117は、オリジナルサーバの静止化する(例えば、データ仮想LU313bへの書き込みを禁止させる)。或いは、システム多重化プログラム117は、オリジナルサーバ105aを終了する(例えば電源をターンオフさせる)。
図7に示すように、システム多重化プログラム117は、オリジナルサーバ105aが属するホストグループ1内のシステム物理LU301a及びデータ物理LU301bを特定する。そして、システム多重化プログラム117は、複数の他の物理LUの中から、未使用の物理LUであって、特定されたシステム物理LU301aと同じ記憶容量の物理LU301cを選択し、制御プログラム219に、特定されたシステム物理LU301a内のサーバ環境を、選択した物理LU301cにコピーさせる。また、システム多重化プログラム117は、複数の他の物理LUの中から、未使用の物理LUであって、特定されたデータ物理LU301bと同じ記憶容量の物理LU301dを選択し、制御プログラム219に、特定されたデータ物理LU301b内のデータ群を、選択した物理LU301dにコピーさせる。コピーが終了した場合、例えば図5のホストグループ2のようになる。
次に、システム多重化プログラム117は、クローンサーバとするサーバ105bを、オリジナルサーバ105a以外の未稼働のサーバ105の中から選択する。そして、システム多重化プログラム117は、選択した未稼働のサーバ105bのIDと、システム物理LU301cの物理LUNと、そのシステム物理LU301cに対応付けた仮想LU(以下、システム仮想LU)313cの仮想LUN(以下、システム仮想LUN)と、データ物理LU301dの物理LUNと、そのデータ仮想LU313dの仮想LUN(以下、データ仮想LUN)とを含んだホストグループ情報を動的に設定する。そして、システム多重化プログラム117は、選択した未稼動のサーバ105bに、起動命令を発行すると共に、設定したシステム仮想LUNとデータ仮想LUNとを通知する。これにより、図8に示すように、サーバ105bが、起動命令に応答して起動し、起動の際に、通知されたシステム仮想LUNに対するリードコマンドを制御プログラム219に発行する。制御プログラム219は、リードコマンドで指定されたシステム仮想LUNに対応するシステム物理LUNを特定し、特定されたシステム物理LUNからシステム物理LU301cを特定し、そのシステム物理LU301cからサーバ環境を読出し、読み出したサーバ環境を、サーバ105bに送信する。この結果、サーバ105bに、送信されたサーバ環境が設定される。つまり、サーバ105bは、オリジナルサーバ105aのクローンとなる。
ここで、サーバ環境が設定された直後のサーバ105bの実行環境は、オリジナルサーバ105aの実行環境と同一である。このため、オリジナルサーバ105aが起動すると、エラーが生じる可能性がある。それを解消するために、図7に示すように、システム多重化プログラム117は、クローンサーバ105bに対し、一旦設定された実行環境と異なる実行環境(具体的には、オリジナルサーバ105aとは異なるIPアドレス)を設定する。
以上の一連の処理により、クローンサーバの生成が完了する。
さて、次に、管理サーバ101に保持される種々の情報について説明する。
図9は、ジョブ定義テーブル121の概念図である。
ジョブ定義テーブル121は、一以上のジョブネットの各々に関する情報を表す。ジョブネットに関する情報としては、例えば、ジョブネットを幾つのクローンサーバで実行させるか(多重度)や、そのジョブネットが幾つのジョブを有しそれらのジョブをどんなタイミングで実行するか等である。多重度は、より高い信頼性が要求されればより大きな値とされる。図9の例では、ジョブネット1を1つのクローンサーバ(換言すれば多重度1であって、オリジナルとクローンの2台のサーバ)でジョブネット1を実行させ、且つ、ジョブネット1では、ジョブ1〜4の4つのジョブがあり、ジョブ1が初めに実行され、その次にジョブ2及び3が並行して実行され、最後に、ジョブ4が実行されることが分かる。
ちなみに、ジョブネットを構成する各ジョブは、図10に示すように、管理サーバ101のジョブ実行プログラム119によって、ネットワークスイッチ103を経由してサーバ105に送られる。サーバ105では、ジョブ実行エージェント143が、ジョブを受け、そのジョブを、そのジョブを実行するジョブプログラム145に割り振る。ジョブプログラム145は、割り振られたジョブを実行する。
図11は、ジョブ定義テーブル121の構成例を示す。
ジョブ定義テーブル121は、ジョブネット識別子(例えば名称)が書かれるカラム501と、多重度(生成するクローンサーバの数)が書かれるカラム502と、ジョブネットの実行開始日時が書かれるカラム503と、ジョブに関する情報(以下、ジョブ情報)が書かれるカラムとを有する。一つのジョブネットについて、ジョブネットID、多重度、実行開始日時及びジョブ情報が書かれる。
ジョブ情報が書かれるカラムにおいて、ジョブネットにどんな複数のジョブがあって、それら複数のジョブをどのようなタイミングで実行し、各ジョブをどんな時間内で終了すべきかが定義されている。具体的には、ジョブ情報が書かれるカラムには、ジョブネットを構成する複数のジョブの各々について、ジョブの実行順番が書かれるカラム504と、ジョブ名(他種のIDでもよい)が書かれるカラム505と、ジョブを実行するジョブプログラムの名称が書かれるカラム506と、プログラム実行同期が書かれるカラム507と、ジョブの処理時間長が書かれるカラム508とがある。プログラム実行同期とは、ジョブの実行開始タイミングと言い換えることができる。例えば、ジョブ2のプログラム実行同期として、「ジョブ1」となっているが、これは、ジョブ1の終了に同期してジョブ2の実行が開始されることを意味する。
図12は、サーバ管理テーブルの構成例を示す。
サーバ管理テーブル123は、サーバ識別子(例えば名称)が書かれるカラム511と、サーバリソースに関する情報が書かれるカラム512及び513と、デバイスに関する情報(例えば、通信インタフェース装置に関する種別)が書かれるカラム514と、割り当て状態が書かれるカラム515と、装置状態が書かれるカラム516とを有する。一つのサーバについて、サーバ識別子、サーバリソースに関する情報、割り当て状態及び装置状態が書かれる。なお、サーバリソースに関する情報としては、例えば、プロセッサに関する情報(例えばプロセッサ種別及びクロック数)と、メモリに関する情報(例えばメモリの記憶容量)とがある。割り当て状態とは、例えば、オリジナルサーバ或いはクローンサーバとしてジョブ実行のために既に使用されているかどうかに関する状態であり、割り当て状態としては、例えば、割り当て済みか否かの2種類の状態がある。割り当て状態は、例えば、システム多重化プログラム117によるサーバ選択と共に割り当て済みに更新され、クローンサーバの解放と共に未割り当てに更新される。装置状態とは、例えば、サーバの稼動に関する状態であり、装置状態としては、例えば、正常、障害が発生していればどんな障害かなどがある。装置状態が正常の場合、クローンサーバの割り当ての際に選択され得るサーバとなる。
図13は、ジョブ管理テーブル125の構成例を示す。
ジョブ管理テーブル121は、ジョブネット識別子(例えば名称)が書かれるカラム521と、ジョブネットを実行するサーバに関する情報が書かれるカラムとを有する。一つのジョブネットについて、ジョブネット識別子と、一以上のサーバに関する情報とが書かれる。
サーバに関する情報が書かれるカラムとしては、サーバ種類(オリジナル、クローン)が書かれるカラム522と、ジョブネットの実行に必要なリソース(例えば、CPU種別、クロック数及びメモリ容量)が書かれるカラム523と、割り当てサーバ識別子が書かれるカラム524と、ホストグループ識別子が書かれるカラム525と、IPアドレスが書かれるカラム526とがある。一つのサーバについて、サーバ種類、必要リソース、割り当てサーバ識別子、ホストグループ識別子及びIPアドレスが書かれる。なお、サーバ種類とは、オリジナルサーバとしてジョブネットが実行されるか、クローンサーバとしてジョブネットが実行されるかを表す。割り当てサーバ識別子とは、対応するサーバ種類として割り当てられているサーバの識別子である。ホストグループ識別子とは、そのサーバが属するホストグループの識別子である。IPアドレスとは、そのサーバに割り当てられているIPアドレスである。
図14は、ストレージ管理テーブル127の構成例を示す。
ストレージ管理テーブル127は、ストレージシステムの識別子(例えば名称)が書かれるカラム531と、そのストレージシステムが備える物理LUの物理LUNが書かれるカラム532と、その物理LUが属するホストグループの識別子が書かれるカラム530と、その物理LUの記憶容量が書かれるカラム533と、その物理LUの使用状態(例えば、使用中か未使用か)が書かれるカラム534とがある。このストレージ管理テーブル127は、ストレージシステム109内の空きの物理LUを管理するために使用される。具体的には、例えば、物理LU間のコピーが完了した場合に、コピー先の物理LUの使用状態は使用中に更新され、そのコピー先の物理LUが割り当てられていたクローンサーバが解放された場合に、その物理LUの使用状態は未使用に更新される。未使用に更新された際、その物理LU内のデータは、消去される。
以上が、管理サーバ101に保持される種々の情報についての説明である。次に、本実施形態で行われる処理の流れの一例を説明する。
図15は、ジョブ実行管理プログラム113が行う処理の流れの一例を示す。
ジョブ実行管理プログラム113は、バッチ処理の対象であるジョブネットを選択する(ステップS10)。具体的には、例えば、ジョブ実行管理プログラム113は、ジョブ定義テーブル121を参照し、実行開始日時になったジョブネットをバッチ処理の対象として選択する。以下、選択されたジョブネットがジョブネット1であるとする。
また、ジョブ実行管理プログラム113は、ジョブネット1を選択した場合に、ジョブネット1を実行するオリジナルサーバとして必要なリソースを、ジョブ管理テーブル121から特定し、特定された必要リソースを有する、未割り当てのサーバを、サーバ管理テーブル123から特定する。ジョブ実行管理プログラム113は、特定されたサーバの識別子を、ジョブ管理テーブル125の"ジョブネット1"及び"オリジナルサーバ"に対応した欄に書く。なお、必要リソースとして、ハードウェア的なリソースに加えて、ソフトウェア的なリソース、例えば、ジョブネット1の実行に必要なコンピュータプログラムを有するか否かが含まれても良い。ソフトウェア的なリソースを有する場合としては、サーバにソフトウェアがインストール済みである場合であってもよいし、インストールはされていないが、外部の論理ボリュームから取得できる場合であってもよい。
以下、ジョブネット1のオリジナルサーバを、「オリジナルサーバ1」或いは単に「サーバ1」と言い、クローンサーバを、「クローンサーバ2」或いは単に「サーバ2」と言うことにする。
また、ジョブ実行管理プログラム113は、ジョブネット1を選択した場合に、ジョブネット1を実行するオリジナルサーバとして必要なリソースを、ジョブ管理テーブル121から特定し、特定された必要リソースを有する、未割り当てのサーバを、サーバ管理テーブル123から特定する。ジョブ実行管理プログラム113は、特定されたサーバの識別子を、ジョブ管理テーブル125の"ジョブネット1"及び"オリジナルサーバ"に対応した欄に書く。なお、必要リソースとして、ハードウェア的なリソースに加えて、ソフトウェア的なリソース、例えば、ジョブネット1の実行に必要なコンピュータプログラムを有するか否かが含まれても良い。ソフトウェア的なリソースを有する場合としては、サーバにソフトウェアがインストール済みである場合であってもよいし、インストールはされていないが、外部の論理ボリュームから取得できる場合であってもよい。
以下、ジョブネット1のオリジナルサーバを、「オリジナルサーバ1」或いは単に「サーバ1」と言い、クローンサーバを、「クローンサーバ2」或いは単に「サーバ2」と言うことにする。
さて、次に、ジョブ実行管理プログラム113は、ジョブネット1に対応した多重度をジョブ定義テーブル121から特定し、特定された多重度が1以上であれば、ジョブ多重化プログラム117を呼び出す(特定された多重度が0であれば、次にS50を行う)(S20)。図11に例示したジョブ定義テーブル121によれば、ジョブネット1に対応した多重度は"1"であるので、S20は行われる。このS20では、例えば、ジョブ実行管理プログラム113は、図16に例示するように、システム多重化要求と共に、ジョブネット1の識別子"ジョブネット1"を送信する。それにより、システム多重化プログラム117によって、システム多重化が行われ、その結果が、図16に例示するように、システム多重化プログラム117からジョブ実行管理プログラム113に対して回答される。システム多重化に成功した場合、ジョブ実行管理プログラム113は、実行環境設定情報を取得する(S30)。実行環境設定情報とは、クローンサーバ2に設定された実行環境を表す情報であり、具体的には、例えば、クローンサーバ2のIPアドレスである。
S20及びS30が、(多重度−1)回繰り返される。具体的には、ジョブ実行管理プログラム113は、ジョブネット1に対応した多重度から1差し引いた分だけS20及びS30を繰り返したか否かを判断し、繰り返していなければ(S40でNO)、再度S20を行う。ここでは、ジョブネット1に対応した多重度は"1"であり、1−1=0となるので、S20及びS30の繰り返しは行われない。
S20及びS30の繰り返しが終わったならば(S40でYES)、ジョブ実行管理プログラム113は、上記選択されたオリジナルサーバ1を起動する(S50)。
次に、ジョブ実行管理プログラム113は、ジョブ実行プログラム119を呼び出す(S60)。その際、サーバ105の識別子が、ジョブ実行プログラム119に通知される。
そして、ジョブ実行管理プログラム113は、所定時間待ち(S70)、S60及びS70を多重度分繰り返したかどうかを判断する(S80)。S60及びS70が多重度分繰り返されていない場合(S80でNO)、ジョブ実行管理プログラム113は、再度S60を行う。
S60及びS70が多重度分繰り返された場合(S80でYES)、ジョブ実行管理プログラム113は、ジョブネット1を実行するサーバ1、2でジョブネット1が終了するまで待つ(S90)。
それら全てのサーバ1、2でジョブネット1が終了した場合、ジョブ実行管理プログラム113は、後述するクローン用カウンタが1以上であれば、ジョブ管理テーブル125を参照し、ジョブネット1についてクローンサーバ2が存在することを検出した場合には、そのクローンサーバ2を解放する(後述するクローン用カウンタが0であれば、終了してよい)(S100)。具体的には、例えば、ジョブ実行管理プログラム113は、図13に例示したように、クローンサーバとしてサーバ2が割り当てられている場合、そのサーバ2に関する情報("サーバ2"、"ホストグループ2"及び"Adr2")をジョブ管理テーブル125から削除し、且つ、そのサーバ2の割り当て状態(図12に例示した割り当て状態)を"未割り当て"に更新する。
クローンサーバ2を解放した場合、ジョブ実行管理プログラム113は、クローン用カウンタを1減算する(S110)。クローン用カウンタとは、クローンサーバの数を表す値であり、図17に例示する処理流れにおいて、クローンサーバが生成される都度に加算された値である。
ジョブ実行管理プログラム113は、クローン用カウンタが0にならなければ(S120でYes)、再度S100を実行し、クローン用カウンタが0になれば(S120でNO)、終了する。
図17は、ジョブ実行管理プログラム113から呼び出されたシステム多重化プログラム117が行う処理の流れの一例を示す。
システム多重化プログラム117は、ストレージ管理テーブル127を参照し、使用状態が"未使用"の物理LUを選択する(S210)。その際、システム多重化プログラム117は、オリジナルサーバ1が属するホストグループ1をジョブ管理テーブル125から特定し、特定されたホストグループ1に属する物理LU及びその記憶容量をストレージ管理テーブル127から特定し、特定された記憶容量以上の記憶容量を有する"未使用"の物理LUを選択する。ここでは、一つの物理LUに対して、"未使用"の一つの物理LUが選択される。
システム多重化プログラム117は、制御プログラム219に、ホストグループ1に属する物理LUから、選択された物理LUにデータをコピーさせる(S220)。これにより、ホストグループ1に属する全物理LU(システム物理LU及びデータ物理LU)から、選択された全物理LUに、それぞれデータコピーされる。
次に、システム多重化プログラム117は、ホストグループを選択する(S240)。また、システム多重化プログラム117は、サーバ管理テーブル123を参照することにより、"未割り当て"のサーバ105であって、ジョブネット1の必要リソースを満たすサーバ105を選択する(S250)。そして、システム多重化プログラム117は、選択したサーバ105に、S210で選択した物理LUを接続する(S260)。具体的には、例えば、システム多重化プログラム117は、S210で選択した全物理LUのLUNと、それら物理LUに対応付けられる仮想LUのLUNと、S250で選択したサーバ105の識別子と、S240で選択したホストグループの識別子とをsetmappingコマンドを用いて入力する。これにより、入力された情報が、制御プログラム219が保持するディスクマッピングテーブル220に登録される。
システム多重化プログラム117は、S250で選択したサーバ105(以下、「多重化用サーバ105」とも言う)を起動する(S270)。これにより、多重化用サーバ105(つまりクローンサーバ2)により、接続された一以上の物理LUのうちのシステム物理LUから、サーバ環境が読み出され、実行環境が設定される。
システム多重化プログラム117は、その多重化用サーバ105の実行環境を設定する(S280)。具体的には、システム多重化プログラム117は、サーバ環境の読み出しにより設定された実行環境と異なる実行環境をその多重化用サーバ105に設定する。図15のS50でオリジナルサーバが起動されるが、そのオリジナルサーバの実行環境(例えばIPアドレス)と同じにならないようにするためである。
システム多重化プログラム117は、クローン用カウンタを1加算する(290)。
また、システム多重化プログラム117は、S280で設定した実行環境と、その実行環境が設定された多重化用サーバ105の識別子とを、ジョブ実行管理プログラム113に通知する(S300)。
システム多重化プログラム117は、S290で更新したクローン用カウンタが、ジョブ実行管理プログラム113により特定された多重度未満か否かを判断し、クローン用カウンタが多重度未満であれば(S310でYES)、再度S210を実行し、クローン用カウンタが多重度になっていれば(S310でNO)、終了する。
図18は、ジョブ実行管理プログラム113から呼び出されたジョブ実行プログラム119が行う処理の流れの一例を示す。
ジョブ実行プログラム119は、ジョブ実行管理プログラム113から通知されたサーバ識別子に対応するサーバ105を特定し、特定されたサーバ105内のジョブ実行エージェント143に、ジョブ実行を要求する(S410)。その際、ジョブ実行プログラム119は、実行対象のジョブのジョブ名及びプログラム名(ジョブ定義テーブル121から特定されるジョブ名及びプログラム名)を、そのジョブ実行エージェント143に通知する。
その後、ジョブ実行プログラム119は、ジョブの実行結果を受ける(S415)。
その実行結果が、障害を表していない場合(S420でNO)、ジョブ実行プログラム119は、ジョブネット1に、実行すべきジョブが存在すれば(S430でYES)、そのジョブの実行をさせるためにS410を行う。なお、そのS410を実行するタイミングは、ジョブ定義テーブル121に基づいて決定される。具体的には、例えば、ジョブネット1におけるジョブ1について、S410が行われた場合、そのジョブ1が終了したことの回答を、ジョブ実行プログラム119がジョブ実行エージェント143から受けた場合に、ジョブ2及びジョブ3について、S410が行われる。
受けた実行結果が、障害を表している場合(S420でYES)、ジョブ実行プログラム119は、S410の要求先(サーバ105)のサーバ識別子に対応した装置状態(サーバ管理テーブル123に記載の装置状態)を更新する(S440)。ここで、更新された装置状態に対応するサーバ種類がオリジナルサーバの場合(S450でYES)、ジョブ実行プログラム119は、ジョブネット1に対応するクローンサーバのうち装置状態が"正常"のクローンサーバを任意に選択して一時的にオリジナルサーバとする(S460)。
ジョブ実行プログラム119は、クローン用カウンタを1減算する(S470)。ジョブネット1を実行するサーバ105の台数が1減ったためである。
ジョブ実行プログラム119は、そのオリジナルサーバを一時停止して(S480)、ジョブネット1の実行状況を表すGUI(以下、実行状況GUI)を作成し、作成した実行状況GUIを管理者に対して表示する。実行状況GUIには、ジョブネット1が幾つのサーバで実行され、それらのサーバのうちのどのサーバにおいて、ジョブネット1のうちのどのジョブの障害が検知され、他のどのサーバでそのジョブの実行が可能であるかに関する情報が表示される。その実行状況GUIの一例を図20に示す。この実行状況GUIは、ジョブ1、ジョブ2及びジョブ3は全サーバ1,2で正常に終了し、ジョブ4について、サーバ1で障害が発生したが故に、サーバ2がクローンサーバからオリジナルサーバに更新された後に表示された実行状況GUIである(ただし、クローンサーバとオリジナルサーバの表示は、管理者が混乱しないよう、更新前の表示とされる)。ジョブ実行プログラム119は、ジョブ実行終了時刻を各ジョブ毎に登録し、その時刻をGUIに展開することができる。その時刻や、正常終了か障害かは、ジョブネット1の構成図と共に表示される。ジョブネット1の構成図は、ジョブ定義テーブル121のジョブ情報(特に、例えば、カラム504、505及び507に記述されている情報)を基に作成可能である。また、サーバ1で停止したジョブ4がサーバ2で実行可能(但し現在一時停止)であることが示される。ジョブ4について、サーバ2で一時停止であることは、サーバ2をオリジナルサーバとしS480で一時停止にしたことと、ジョブ4についての実行結果をサーバ2のジョブ実行エージェント143から受けていないこととから特定することができる。また、この実行状況GUIにおいて、「継続」ボタンと「中止」ボタンが用意されており、「継続」ボタンが押された場合には、サーバ2でジョブ4が継続され(つまりバッチ処理が継続され)、「中止」ボタンが押された場合には、ジョブ4の実行が停止される(つまりバッチ処理が停止される)。管理者は、この実行状況GUIを見て、ジョブ4の実行を継続するか中止するかを判断する。なお、この例では、サーバ2がオリジナルサーバとなるため、一時停止となったが、サーバ2に加えて、クローンサーバとして他のサーバが存在する場合には、サーバ2のみ一時停止し、他のサーバでは、ジョブ4の実行が継続されてもよい。
中止或いは継続が選択された場合、ジョブ実行プログラム119は、一時的なオリジナルサーバを正式にオリジナルサーバとするために、ジョブ管理テーブル125を更新する。具体的には、例えば、オリジナルサーバに対応したサーバ識別子を、サーバ1からサーバ2に変更する。
ジョブ中止が選択された場合(S490でYES)、ジョブ実行プログラム119は、ジョブ終了を、要求元(ジョブ実行管理プログラム113)に通知する(S500)。ジョブ継続が選択された場合(S490でYES)、ジョブ実行プログラム119は、ジョブが継続されるサーバについて、S430を実行する。
図19は、ジョブ実行エージェント143が行う処理の流れの一例を示す。
ジョブ実行エージェント143は、ジョブ実行要求、ジョブ名及びプログラム名を受け(S610)、そのジョブ実行要求に応答して、通知されたプログラム名に対応するジョブプログラム145に、通知されたジョブ名に対応するジョブを実行させる(S620)。
ジョブ実行エージェント143は、そのジョブの実行中に障害が発生したか否かを監視する(S630)。その結果、障害を検出した場合(S640でYES)、ジョブ実行エージェント143は、実行結果として障害をジョブ実行プログラム119に通知し、一方、障害を検出することなくジョブ終了を受けた場合(S640でNO、S660)、実行結果として正常終了をジョブ実行プログラム119に通知する。
以上、上述した実施形態によれば、バッチ処理対象のジョブネットの実行の際に、その実行に必要なリソースを有するサーバ105が動的にクローンサーバとして選択され、オリジナルサーバとクローンサーバらで、それぞれジョブネットが実行される。この実施形態では、多重化のための専用のハードウェアは不要である。これにより、バッチ処理に対応できるほどの高信頼性を有するオープンサーバシステムを低コストで実現することができる。また、この実施形態では、予め存在する全てのサーバがシステム管理者に見えるわけではなく、それらのサーバのうち、動的に多重化されたサーバのみが見えることになるので、運用の煩雑さを抑えることもできる。すなわち、本実施形態によれば、必要なリソース情報さえ定義しておけばクローンサーバが動的に生成されるようになっており、オリジナルサーバに対するクローンサーバを予め定義しておく必要が無い。
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をその実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、障害が検出される都度に実行状況GUIを作成して表示するのではなく(つまり、管理者に問い合わせることなく他のサーバでのジョブ実行を継続させ)、予め管理サーバ101に登録された状況(例えば、多重化されたサーバのうちの残り台数がN台(N≧1の整数))になった場合にのみ、実行状況GUIが作成されてもよい。また、例えば、前述した種々のコンピュータプログラム(例えば、ジョブ実行管理プログラム113、システム多重化プログラム117など)のうちの少なくとも一つのコンピュータプログラムについて、少なくとも一部を、ハードウェア(例えば、ASIC(Application Specific Integrated Circuit)等の専用ハードウェア)で実現してもよい。
101…管理サーバ、105…サーバ、109…ストレージシステム、113…ジョブ実行管理プログラム、117…システム多重化プログラム、119…ジョブ実行プログラム、121…ジョブ定義テーブル、123…サーバ管理テーブル、125…ジョブ管理テーブル、127…ストレージ管理テーブル
Claims (11)
- 複数のサーバと前記複数のサーバを管理する管理サーバとを備えるサーバシステムの前記管理サーバであって、
バッチ処理の対象である一以上のジョブから成るジョブネットを実行させる際に、前記ジョブネットを実行する第一のサーバを含んだ前記複数のサーバの中から、未割り当ての第二のサーバを選択する第二サーバ選択部と、
前記選択した第二のサーバに、前記第一のサーバに関する環境であるサーバ環境を設定させるサーバ環境設定部と、
前記第一のサーバと、前記サーバ環境が設定された第二のサーバに、それぞれ、前記ジョブネットを構成する各ジョブを実行させるジョブネット実行部と、
前記第一のサーバと前記第二のサーバからそれぞれ前記ジョブネットの実行終了通知を受けた場合に、前記第二のサーバを解放するサーバ解放部と
を備える管理サーバ。 - 各サーバのリソースに関する情報と各サーバの割り当てに関する状態とを含んだサーバ管理情報を記憶するサーバ管理記憶部と、
前記ジョブネットの実行に必要なリソースに関する情報を含んだジョブ定義情報を記憶するジョブ定義記憶部と
を更に備え、
前記第二サーバ選択部は、前記サーバ管理情報と前記ジョブ定義情報とを参照することにより、前記ジョブネットの実行に必要なリソースを有する未割り当てのサーバを選択する、
請求項1記載の管理サーバ。 - 前記ジョブ定義情報は、前記ジョブネットについての多重度も含んでおり、
前記第二サーバ選択部は、前記多重度と同数のサーバを第二のサーバとして選択する、
請求項2記載の管理サーバ。 - 前記サーバ環境の設定の際、前記第一のサーバも前記第二のサーバも起動しておらず、前記サーバ環境には、ジョブネットの実行環境が含まれており、
前記サーバ環境設定部は、前記第二のサーバを起動した後、前記第二のサーバに設定される、前記第一のサーバと同じ実行環境と異なる実行環境を、該第二のサーバに設定し、その後で、前記第一のサーバを起動する、
請求項1記載の管理サーバ。 - 前記複数のサーバ及び前記管理サーバは、インターネットプロトコルの通信ネットワークに接続され、
前記実行環境は、IPアドレスである、
請求項4記載の管理サーバ。 - 前記サーバシステムには、前記複数のサーバ及び前記管理サーバに通信可能に接続されたストレージシステムが含まれており、
前記ストレージシステムには、複数の記憶装置とコントローラとが備えられ、前記複数の記憶装置には、前記第一のサーバの前記サーバ環境が記憶された第一の記憶装置が含まれており、
前記サーバ環境設定部は、前記コントローラに、前記第一の記憶装置内のサーバ環境を前記複数の記憶装置のうちの他の記憶装置にコピーさせ、且つ、前記第二のサーバに前記他の記憶装置を接続させ、該コピーが完了した後に、前記第二のサーバを起動し、それにより、前記他の記憶装置から前記サーバ環境を前記第二のサーバに読み出されるようにする、
請求項4記載の管理サーバ。 - 前記ジョブネット実行部は、要求したジョブの実行中に障害が検知された第一のサーバから障害の通知を受けた場合、前記第二のサーバを第一のサーバとして、前記ジョブネットの実行を継続する、
請求項1記載の管理サーバ。 - 前記ジョブネットの構成に関する情報を含んだジョブ定義情報を記憶するジョブ定義記憶部を更に備え、
前記ジョブネット実行部は、ジョブの要求先のサーバからジョブの正常終了通知を受け、該正常終了通知から、該ジョブが正常に終了したことを把握し、ジョブの要求先のサーバから、ジョブの実行中に障害が検知されたことの障害通知を受けた場合、該ジョブの別の要求先のサーバから正常終了通知を受けたか否かと、前記ジョブ定義情報とに基づき、前記障害通知の通知元のサーバで障害が検知されたことと前記別の要求先のサーバでの該ジョブの処理状況とを前記ジョブネットの構成と共に示し且つ該ジョブを継続するか中止するかを管理者に問い合わせるGUIを作成して表示し、継続の入力を受けた場合に、該ジョブを継続する、
請求項1記載の管理サーバ。 - 前記第一のサーバは、オリジナルとするサーバであり、
前記第二のサーバは、前記オリジナルのサーバのクローンとするサーバである、
請求項1記載の管理サーバ。 - 複数のサーバと、
前記複数のサーバを管理する管理サーバと
を備え、
前記管理サーバが、
バッチ処理の対象である一以上のジョブから成るジョブネットを実行させる際に、前記ジョブネットを実行する第一のサーバを含んだ前記複数のサーバの中から、未割り当ての第二のサーバを選択する第二サーバ選択部と、
前記選択した第二のサーバに、前記第一のサーバに関する環境であるサーバ環境を設定させるサーバ環境設定部と、
前記第一のサーバと、前記サーバ環境が設定された第二のサーバに、それぞれ、前記ジョブネットを構成する各ジョブを実行させるジョブネット実行部と、
前記第一のサーバと前記第二のサーバからそれぞれ前記ジョブネットの実行終了通知を受けた場合に、前記第二のサーバを解放するサーバ解放部と
を備える、
サーバシステム。 - 複数のサーバを備えるサーバシステムで実現するジョブ実行方法であって、
バッチ処理の対象である一以上のジョブから成るジョブネットを実行させる際に、前記ジョブネットを実行する第一のサーバを含んだ前記複数のサーバの中から、未割り当ての第二のサーバを選択し、
前記選択した第二のサーバに、前記第一のサーバに関する環境であるサーバ環境を設定させ、
前記第一のサーバと、前記サーバ環境が設定された第二のサーバに、それぞれ、前記ジョブネットを構成する各ジョブを実行させ、
前記第一のサーバと前記第二のサーバからそれぞれ前記ジョブネットの実行終了通知を受けた場合に、前記第二のサーバを解放する、
ジョブ実行方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006178252A JP2008009622A (ja) | 2006-06-28 | 2006-06-28 | 管理サーバ、およびサーバシステム |
US11/683,460 US20080005745A1 (en) | 2006-06-28 | 2007-03-08 | Management server and server system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006178252A JP2008009622A (ja) | 2006-06-28 | 2006-06-28 | 管理サーバ、およびサーバシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008009622A true JP2008009622A (ja) | 2008-01-17 |
Family
ID=38878399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006178252A Withdrawn JP2008009622A (ja) | 2006-06-28 | 2006-06-28 | 管理サーバ、およびサーバシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080005745A1 (ja) |
JP (1) | JP2008009622A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086317A (ja) * | 2008-09-30 | 2010-04-15 | Hitachi Ltd | リソース割当方法、リソース割当プログラム、および、フロー処理システム |
US9112750B2 (en) | 2011-05-31 | 2015-08-18 | Hitachi, Ltd. | Job management server and job management method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250577B2 (en) * | 2008-04-16 | 2012-08-21 | International Business Machines Corporation | Mechanism to enable and ensure failover integrity and high availability of batch processing |
US8566930B2 (en) * | 2009-02-27 | 2013-10-22 | Science Applications International Corporation | Monitoring module |
JP5533877B2 (ja) * | 2009-09-18 | 2014-06-25 | 日本電気株式会社 | データセンタシステム、再構成可能ノード、再構成可能ノード制御方法、再構成可能ノード制御プログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2184368A1 (en) * | 1994-02-28 | 1995-08-31 | Michael S. Peters | Method and apparatus for processing discrete billing events |
US6148323A (en) * | 1995-12-29 | 2000-11-14 | Hewlett-Packard Company | System and method for managing the execution of system management |
US6581104B1 (en) * | 1996-10-01 | 2003-06-17 | International Business Machines Corporation | Load balancing in a distributed computer enterprise environment |
US20010047348A1 (en) * | 2000-02-01 | 2001-11-29 | Lemuel Davis | Consumer driven content media duplication system |
US6711607B1 (en) * | 2000-02-04 | 2004-03-23 | Ensim Corporation | Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service |
US6718481B1 (en) * | 2000-05-26 | 2004-04-06 | Emc Corporation | Multiple hierarichal/peer domain file server with domain based, cross domain cooperative fault handling mechanisms |
US6578160B1 (en) * | 2000-05-26 | 2003-06-10 | Emc Corp Hopkinton | Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions |
US6944788B2 (en) * | 2002-03-12 | 2005-09-13 | Sun Microsystems, Inc. | System and method for enabling failover for an application server cluster |
US7467387B2 (en) * | 2002-05-31 | 2008-12-16 | International Business Machines Corporation | Method for off-loading user queries to a task manager |
JP4341897B2 (ja) * | 2002-08-29 | 2009-10-14 | 株式会社日立製作所 | 記憶装置システム及びデータ複製方法 |
JP2005108098A (ja) * | 2003-10-01 | 2005-04-21 | Hitachi Ltd | データi/o装置及びデータi/o装置の制御方法 |
US7590623B2 (en) * | 2005-01-06 | 2009-09-15 | International Business Machines Corporation | Automated management of software images for efficient resource node building within a grid environment |
US7546484B2 (en) * | 2006-02-08 | 2009-06-09 | Microsoft Corporation | Managing backup solutions with light-weight storage nodes |
-
2006
- 2006-06-28 JP JP2006178252A patent/JP2008009622A/ja not_active Withdrawn
-
2007
- 2007-03-08 US US11/683,460 patent/US20080005745A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086317A (ja) * | 2008-09-30 | 2010-04-15 | Hitachi Ltd | リソース割当方法、リソース割当プログラム、および、フロー処理システム |
US9112750B2 (en) | 2011-05-31 | 2015-08-18 | Hitachi, Ltd. | Job management server and job management method |
Also Published As
Publication number | Publication date |
---|---|
US20080005745A1 (en) | 2008-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4890033B2 (ja) | 記憶装置システム及び記憶制御方法 | |
EP1837751B1 (en) | Storage system, storage extent release method and storage apparatus | |
JP5352132B2 (ja) | 計算機システム及びそのi/o構成変更方法 | |
EP1860560B1 (en) | Storage control method and system for performing backup and/or restoration | |
JP5234342B2 (ja) | 計算機システム及びその制御方法 | |
JP4813385B2 (ja) | ストレージシステムの複数の論理リソースを制御する制御装置 | |
JP5069011B2 (ja) | ストレージモジュール及び容量プール空き容量調整方法 | |
JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
JP4818395B2 (ja) | ストレージ装置及びデータコピー方法 | |
WO2017022002A1 (ja) | ストレージ装置、ストレージシステム、ストレージシステムの制御方法 | |
JP2006331158A (ja) | ストレージシステム | |
JP2007280319A (ja) | 記憶領域動的割当方法 | |
JP2007058728A (ja) | データ移行方式 | |
JP2007102760A (ja) | ストレージエリアネットワークにおけるボリュームの自動割り当て | |
JP2005149276A (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2010039986A (ja) | データのバックアップを管理する計算機システム及び方法 | |
JP2009199584A (ja) | 階層型ストレージシステムにおけるhddのスピンダウンとスピンアップを管理する方法及び装置 | |
JP4818843B2 (ja) | リモートコピーを行うストレージシステム | |
JP4731420B2 (ja) | 複数の仮想計算機からのテープ媒体へのアクセスを制御する方法及びシステム | |
JP2008269469A (ja) | ストレージシステム及びその管理方法 | |
JP2009026091A (ja) | 接続管理プログラム、接続管理方法および情報処理装置 | |
JP2007079749A (ja) | ストレージ装置およびディスク制御方法 | |
JP2008009622A (ja) | 管理サーバ、およびサーバシステム | |
JP6019940B2 (ja) | 情報処理装置、コピー制御プログラム、およびコピー制御方法 | |
JP2005010997A (ja) | データアクセスシステム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081216 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100521 |