JP2016018493A - 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム - Google Patents

情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム Download PDF

Info

Publication number
JP2016018493A
JP2016018493A JP2014142478A JP2014142478A JP2016018493A JP 2016018493 A JP2016018493 A JP 2016018493A JP 2014142478 A JP2014142478 A JP 2014142478A JP 2014142478 A JP2014142478 A JP 2014142478A JP 2016018493 A JP2016018493 A JP 2016018493A
Authority
JP
Japan
Prior art keywords
license
server
information
unit
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014142478A
Other languages
English (en)
Other versions
JP6417759B2 (ja
Inventor
英恵 石坂
Hanae Ishizaka
英恵 石坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014142478A priority Critical patent/JP6417759B2/ja
Publication of JP2016018493A publication Critical patent/JP2016018493A/ja
Application granted granted Critical
Publication of JP6417759B2 publication Critical patent/JP6417759B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】クラスタ構成の情報処理システムにおいてCPUライセンス数を最小化する。
【解決手段】情報処理装置2,3は、複数の処理部22,32と、複数の処理部22,32のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、複数の処理部22,32のいずれを動作させるかを規定するライセンス情報54を記憶するライセンス情報記憶部52と、情報処理装置2,3に対する電源投入が指示されると、ライセンス情報54に基づいて、複数の処理部22,32のそれぞれに対し、当該処理部22,32を動作させるかどうかを設定する設定部46と、設定部46による設定の完了後に、処理部22,33を動作させる制御部49と、をそなえる。
【選択図】図1

Description

本発明は、情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムに関する。
情報処理システムにおいては、サーバにそなえられた複数のCentral Processing Unit(CPU)に対して、システム管理者(以下、管理者と称する)が、システムで動作させるCPUの個数分のCPUライセンス(以降、ライセンスとも称する)を購入するという方式が広く採用されている。
上記方式を採用している情報処理システムでは、管理者は、購入した各ライセンスを、サーバの監視及び制御を行なうファームウェア(サービスプロセッサ)であるExtended System Control Facility(XSCF)を用いて、1つのCPUに適用(登録)する。
一方、システムの冗長性を向上させるために、業務に使用される運用系サーバと、バックアップ用の待機系サーバとをそなえたクラスタ構成の情報処理システムが広く用いられている。中でも、ホットスタンバイと呼ばれるクラスタ構成の情報処理システムにおいては、待機系サーバは業務には使用されず、運用系サーバの故障時にサーバ切り替えが実施されると、新たに運用系サーバとなる。このように、元は待機系であったサーバを運用系に切り替える処理を、「運用系サーバに昇格させる」と呼ぶ。逆に、元は運用系であったサーバを待機系に切り替える処理を、「待機系サーバに降格させる」と呼ぶ。
このようなクラスタ情報処理システムでCPUライセンスが採用される場合、管理者は、運用系サーバと待機系サーバとの両方で使用するCPUの個数分のCPUライセンスを購入していた。
特開2004−318885号公報
しかしながら、待機系サーバにおいては、運用系サーバで故障が発生し、サーバ切り替えが行なわれるまで、CPUが完全に停止されているか、或いは最小限の個数のCPUのみしか使用されない。
このように、クラスタ情報処理システムにおいては、待機系サーバのCPU(以降、待機系CPUとも称する)はほとんど使用されないにも関わらず、運用系、待機系の両サーバのCPUライセンスを購入し、登録する必要がある。このため、実際に使用されるCPUの個数のおよそ2倍のCPUライセンス費用がかかる。
又、運用系、待機系の両サーバのそれぞれのCPUライセンスを購入及び登録する作業は非常に煩雑であり、管理者の作業負荷が高い。
1つの側面では、本件は、クラスタ構成の情報処理システムにおいてCPUライセンス数を最小化することを目的とする。
このため、情報処理装置は、複数の処理部と、前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定する設定部と、前記設定部による前記設定の完了後に、前記処理部を動作させる制御部と、をそなえる。
又、複数の処理部と、前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、をそなえる情報処理装置の制御方法は、前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定し、前記設定の完了後に、前記処理部を動作させる。
さらに、複数の処理部と、前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、をそなえる情報処理装置の制御プログラムは、前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定し、前記設定の完了後に、前記処理部を動作させる処理をコンピュータに実行させる。
開示の技術によれば、クラスタ構成の情報処理システムにおいてCPUライセンス数を最小化することができる。
実施形態の一例としての情報処理システムのシステム構成を示す図である。 実施形態の一例としてのサーバのハードウェア構成を示す図である。 実施形態の一例としてのサーバにおけるCPUライセンスの登録手順を示す図である。 実施形態の一例としての情報処理システムにおける運用系サーバのOSハングアップ時のCPUライセンス移管処理を模式的に示す図である。 実施形態の一例としての情報処理システムにおけるCPUライセンス管理の概念を示す図である。 実施形態の一例としての情報処理システムにおけるCPUライセンス管理の概念を示す図である。 (a)は本情報処理システムにおける通常CPUライセンスを、(b)は拡張CPUライセンスをそれぞれ例示する図である。 実施形態の一例としてのライセンス属性テーブルを示す図である。 システム型及びCPUライセンスの種類毎に、電源投入時及び電源切断時に設定される使用許可状態の値を示す図である。 実施形態の一例としてのサーバにおけるライセンス登録処理を示すフローチャートである。 実施形態の一例としてのサーバにおける電源投入処理を示すフローチャートである。 実施形態の一例としてのサーバにおける電源切断処理を示すフローチャートである。 実施形態の一例としてのサーバにおける電源強制切断処理を示すフローチャートである。 ライセンス属性テーブルを例示する図である。 拡張ライセンスを登録する際の処理を示すフローチャートである。 ライセンス属性テーブルを例示する図である。 図15の処理で更新されたライセンス属性テーブルのデータを例示する図である。 運用系サーバの停止時のライセンス移管処理を示すフローチャートである。 図18のライセンス移管処理を模式的に示す図である。 図18の処理で更新されたライセンス属性テーブルのデータを例示する図である。 運用系サーバの停止時の強制ライセンス移管処理を示すフローチャートである。 図21の強制ライセンス移管処理を模式的に示す図である。 図21の処理で更新されたライセンス属性テーブルのデータを例示する図である。
以下、図面を参照して情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみをそなえるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
まず、図1〜図9を参照して、実施形態の一例としての情報処理システム1の構成を説明する。
図1は、実施形態の一例としての情報処理システム1のシステム構成を示す図であり、図2は、実施形態の一例としてのサーバ2,3のハードウェア構成を示す図である。
情報処理システム1は、ホットスタンバイ型のクラスタシステムである。
ここで、ホットスタンバイ型のクラスタシステムとは、ユーザに対してサービスを提供する運用系サーバ2と、当該運用系サーバ2の故障にそなえて待機(ホットスタンバイ)している待機系サーバ3とが存在するシステムである。
本情報処理システム1は、運用系サーバ2と、待機系サーバ3と、Personal Computer(PC)4とをそなえる。運用系サーバ2、待機系サーバ3及びPC4は、Local Area Network(LAN)等のネットワーク5により相互に接続されている。
情報処理システム1のユーザは、PC4を介して、運用系サーバ2が提供するサービスを利用する。
以降、簡潔を期するために、運用系サーバ2を単にサーバ2、待機系サーバ3を単にサーバ3とも呼ぶ。
サーバ2は、サーバ機能をそなえた情報処理装置であり、システムボード(System Board:SB)21とXSCF25とをそなえる。
SB21は、複数のCPU(処理部)22−1〜22−k(kは2以上の整数)、メモリ23、及び入出力(Input/Output;I/O)コントローラ(単にI/Oとも呼ぶ)24をそなえる。
CPU22−1〜22−kは、サーバ2のOperating System(OS)を実行すると共に、サーバ2で実行される種々の制御や演算を行なう処理装置であり、不図示のROMやHard Disk Drive(HDD)等に格納されているプログラム等を読み出し、各種処理を実行する。CPU22−1〜22−kは、例えば、公知のCPUを使用して実装することができる。
なお、以下、サーバ2のCPUを示す符号としては、複数のCPUのうち1つを特定する必要があるときには符号22−1〜22−kを用いるが、任意のCPUを指すときには符号22を用いる。
メモリ23は、CPU22が実行するプログラムや種々のデータや、CPU22の動作により得られたデータ等を格納する。メモリ23としては、例えば、Random Access Memory(RAM)など、既存の種々のメモリを使用することができる。
I/Oコントローラ24は、サーバ2と外部との入出力を制御するコントローラである。
XSCF25は、SB21のCPU22、メモリ23、及びI/Oコントローラ24等の監視及び制御を行なうファームウェア(サービスプロセッサ)であり、不図示のCPUと不揮発性メモリとをそなえる。
XSCF25の不図示のCPUは、プログラムを実行することにより、ユーザI/F部41、ライセンス登録部42、SB電源制御部43、ライセンス制御部(設定部)46、サーバ判定部47、ライセンス設定部(管理部)48、CPU制御部(制御部)49、サーバ監視部50、及びサーバ間通信部(通信部)51として機能する。
又、XSCF25の不図示の不揮発性メモリは、後述するライセンスデータベース(DB)(ライセンス情報記憶部)52を記憶する記憶部として機能する。
サーバ3は、サーバ機能をそなえた情報処理装置であり、SB31とXSCF35とをそなえる。
SB31は、複数のCPU(処理部)32−1〜32−k(kは2以上の整数)、メモリ33、及びI/O)コントローラ(単にI/Oとも呼ぶ)34をそなえる。
CPU32−1〜32−kは、サーバ3のOSを実行すると共に、サーバ3で実行される種々の制御や演算を行なう処理装置であり、不図示のROMやHDD等に格納されているプログラム等を読み出し、各種処理を実行する。CPU32−1〜32−kは、例えば、公知のCPUを使用して実装することができる。
なお、以下、サーバ3のCPUを示す符号としては、複数のCPUのうち1つを特定する必要があるときには符号32−1〜32−kを用いるが、任意のCPUを指すときには符号32を用いる。
メモリ33は、CPU32が実行するプログラムや種々のデータや、CPU32の動作により得られたデータ等を格納する。メモリ33としては、例えば、RAMなど、既存の種々のメモリを使用することができる。
I/Oコントローラ34は、サーバ3と外部との入出力を制御するコントローラである。
XSCF35は、SB31のCPU32、メモリ33、及びI/Oコントローラ34等の監視及び制御を行なうファームウェア(サービスプロセッサ)であり、不図示のCPUと不揮発性メモリとをそなえる。
XSCF35の不図示のCPUは、XSCF25の不図示のCPUと同様に、プログラムを実行することにより、ユーザI/F部41、ライセンス登録部42、SB電源制御部43、ライセンス制御部46、サーバ判定部47、ライセンス設定部48、CPU制御部49、サーバ監視部50、及びサーバ間通信部51として機能する。
又、XSCF35の不図示の不揮発性メモリは、後述するライセンス記憶域53及びライセンス属性テーブル(ライセンス情報)54を格納するライセンスDB52を記憶する記憶部として機能する。
本情報処理システム1はクラスタ構成のシステムであり、待機系サーバ3は、後述するように運用系サーバ2が稼働しているかどうかを常時監視する。詳細には、待機系サーバ3は、運用系サーバ2上で実行されているOSの稼動状況を監視する。運用系サーバ2のOSが動作を停止(ハングアップ)したことを検出すると、待機系サーバ3は、自らを運用系サーバに昇格させて、ユーザへのサービスの提供を継続しようとする。
このために、待機系サーバ3は、XSCF35を介して運用系サーバ2を強制的に停止させる強制停止を指示する。この指示を受けると、運用系サーバ2のXSCF25は、当該サーバ2の動作しているCPU22を停止させて、サーバ2のOSを停止させる。待機系サーバ3は、運用系サーバ2が完全に停止されると、自身が新たな運用系サーバ3に昇格する。
ユーザI/F部41は、PC4とXSCF25とを接続する。管理者は、PC4を用いてXSCF25に接続し、サーバ2の各種設定を行なったり、サーバ2の状態を閲覧する。
ライセンス登録部42は、管理者が購入したCPUライセンスのCPUライセンスデータ(図7(a),(b)参照)を後述するライセンスDB52のライセンスファイル53に登録すると共に、当該CPUライセンスデータに基づいてライセンス属性テーブル54を更新する。
ここで、CPUライセンスについて説明する。CPUライセンス(単にライセンスとも呼ぶ)とは、CPU22,32の使用権であり、1つのCPUライセンスに対して、システム内のCPU22,32のいずれか1つの使用が許可される。例えば、CPUライセンスは、例えば図7(a),(b)に示すようなCPUライセンスファイル(ライセンスファイルとも称する)の形でサーバ2,3に配布される。
SB電源制御部43は、SB21の不図示の電源を制御して、SB21の電源を投入又は切断する。
ライセンス制御部46は、CPUライセンスの管理を行なう。ライセンス制御部46は、サーバ判定部47とライセンス設定部48とをそなえる。
サーバ判定部47は、XSCF25の不図示の内部情報を参照して、自サーバ2がクラスタシステム用サーバか、非クラスタシステム用サーバかを判定する。又、サーバ判定部47は、自サーバ2がクラスタシステム用サーバである場合には、運用系サーバか待機系サーバかも判定する。
ライセンス設定部48は、自サーバ2の電源投入時に、ライセンスDB52の値に基づいて、CPU22を有効又は無効にする。
ライセンス制御部46、サーバ判定部47及びライセンス設定部48の詳細な処理については図3〜5を用いて後述する。
CPU制御部49は、CPU22の制御を行なう。詳細には、CPU制御部49は、SB21の電源投入後に、CPU22のライセンス設定が完了するまでCPU22をスタート(起動)させない状態に維持する。
サーバ監視部50は、クラスタシステムを構成している相手サーバ(自サーバ2の場合はサーバ3)の動作を監視する。サーバ監視部50は、例えばウオッチドッグの機能を用いることで相手サーバ3が正常に動作しているかどうかを確認する。
サーバ間通信部51は、相手サーバ3との間の通信を行なう。
ライセンスDB52は、CPUライセンスを管理するためのデータベースである。ライセンスDB52は、ライセンス記憶域53及びライセンス属性テーブル54をそなえる。
ライセンス記憶域53は、管理者がCPUライセンス発行サーバ6から購入したCPUライセンスに関する情報を格納しているライセンスファイル(図7(a),(b)参照)を格納する記憶域である。
ライセンス属性テーブル54は、情報処理システム1で購入済みのCPUライセンスの状態を管理するための情報を格納しているテーブルである。ライセンス属性テーブル54については、図8を用いて後述する。
なお、図1に示すサーバ3のユーザI/F部41、ライセンス登録部42、SB電源制御部43、ライセンス制御部46、サーバ判定部47、ライセンス設定部48、CPU制御部49、サーバ監視部50、サーバ間通信部51、ライセンスDB52、ライセンス記憶域53、及びライセンス属性テーブル54は、サーバ2の対応する構成要素と同様の構成及び機能を有するため、その詳細な説明は省略する。すなわち、これらは、サーバ2のSB21やCPU22に代えて、サーバ3のSB31やCPU32に対して各種処理を実行する。
次に、本実施形態の一例としてのライセンス制御部46の処理について説明する。
図3は、実施形態の一例としてのサーバ2におけるCPUライセンスの登録手順を示す図である。
図3にはサーバ2のCPUライセンスの登録手順のみを示すが、サーバ3においても同様の手順が実行される。
ステップSA1において、情報処理システム1の管理者が、情報処理システム1において同時に動作させるCPUの最大個数分のCPUライセンスを、CPUライセンス発行サーバ6から購入する。このとき、例えば、CPUライセンス発行サーバ6からCPUライセンスを定義する情報を記録しているライセンスファイルが、購入したCPUライセンスの数分、サーバ2に送信される。
次にステップSA2において、管理者は、購入したCPUライセンスをサーバ2のライセンスDB52に登録する。その際、管理者は、例えば図2や、図3のステップSA2に示すようなライセンス登録コマンドを、XSCF25のユーザインタフェース上で実行する。そして、XSCF25の後述するライセンス登録部42が、管理者によって実行されたコマンドに基づいて、CPUライセンスをライセンスDB52に格納する。
CPUライセンスが登録されると、ステップSA3において、CPU22が使用可能となる。その際、XSCF25の後述するライセンス制御部46は、後述するライセンス記憶域53内のCPUライセンスファイル及びライセンス属性テーブル54(図1参照)に応じて、動作可能なCPU22の個数を決定し、これを不図示のOSに通知する。そして、OSが、サーバ2の電源投入時に、ライセンス制御部46から通知された個数のCPU22を起動させる。
ライセンス制御部46は、後述するライセンス属性テーブル54の情報に基づいて、CPU22のうちの少なくとも一部のCPU22を動作させる。新たなCPUライセンスが情報処理システム1に登録された後、サーバ2の電源が投入されると、ライセンス制御部46は、サーバ2の状態(非クラスタシステム用サーバか、或いは、クラスタシステム用サーバの場合は運用系サーバか待機系サーバか)に応じて、CPU2にライセンス状態を割り当てる。このライセンス状態の割り当てについては、図11を用いて後述する。
又、ライセンス制御部46は、クラスタシステムにおいてサーバの運用系・待機系が切り替えられたとき、すなわち、サーバ2が運用系又は待機系から逆に切り替えられたときに、ライセンス属性テーブル54の情報に基づいて、CPU22のライセンス状態を変更する。このように、運用系サーバ2のOSがハングアップした場合に、運用系サーバ2に適用されていたCPUライセンスを、待機系サーバ3に移す処理をライセンス移管処理と呼ぶ。
図4は、実施形態の一例としての情報処理システム1における運用系サーバ2のOSハングアップ時のCPUライセンス移管処理を模式的に示す図である。
ステップSB1において、運用系サーバ2のOSがハングアップする。
ステップSB2において、待機系サーバ3のOSが運用系サーバ2のOSのハングアップを検出する。
ステップSB3において、待機系サーバ3のOSが、サーバ3のサーバ間通信部51を介して、運用系サーバ2のXSCF25に対して、OSを強制停止させるよう指示する。
ステップSB4において、運用系サーバ2のCPU制御部49は、OSを強制停止させる。
ステップSB5において、運用系サーバ2のサーバ間通信部51は、OSの強制停止完了を待機系サーバ3のOSに報告する。
運用系サーバ2のOS停止を確認後、ステップSB6において、待機系サーバ3のライセンス制御部46は、自サーバ3を運用系サーバに昇格させる。
又、ライセンス制御部46は、自サーバ2が待機系サーバのときに、運用系サーバが完全に停止した場合、自サーバ2を新たな運用系サーバに昇格させる。その際も、ライセンス制御部46は、ライセンス属性テーブル54の情報に基づいて、サーバの状態に応じて、CPU22のライセンス状態を変更する。
図5〜図6は、実施形態の一例としての情報処理システム1におけるCPUライセンス管理の概念を示す図である。
本実施形態の一例としての情報処理システム1においては、従来のCPUライセンスを拡張した、拡張CPUライセンスという概念を採用している。
ここで、従来のライセンス(以降、通常CPUライセンスとも称する)と、拡張CPUライセンスとの違いについて説明する。
通常CPUライセンスは、CPUの使用を許可するCPUライセンスがサーバ単位で管理される。このため、システムがクラスタシステムの場合には、運用系サーバ、待機系サーバのそれぞれについてCPUライセンスを購入及び登録する。
一方、拡張CPUライセンスは、クラスタシステムで用いられ、図5に示すように、CPUライセンスをクラスタ単位でグルーピングする。
詳細には、図5に示すように、クラスタシステムの運用系サーバ2で動作させるCPU個数分のCPUライセンスがグルーピングされ、そのライセンスデータがライセンスDB52のライセンス記憶域53にそれぞれに登録される。図6の例では、41番ライセンス〜m番ライセンスのn個のライセンスデータ(ライセンスファイル)が、運用系サーバ2と待機系サーバ3との両方のライセンスDB52に登録される。
しかし、実際に有効化されるのは、運用系サーバ2の一部のCPU22のみであり、運用系サーバ2の残りのCPU22や待機系サーバ3のCPU32は無効のままとなる。
例えば、41番のライセンスデータは、両サーバ2,3のライセンスDB52に登録されるが、当該CPUライセンスが有効化されるのは、運用系サーバ2のみである。このように、拡張CPUライセンスを使用する場合であっても、有効化されるCPUの個数が、管理者が購入したCPUライセンスの個数に制限され、CPUライセンス違反が生じることはない。
なお、図5〜図6には、拡張ライセンスのみを用いる例を示したが、クラスタ型の情報処理システム1で通常ライセンスも併用してもよい。この場合、通常ライセンスは、サーバ単位で管理され、ライセンスDB52に登録される。
図7に、本情報処理システムにおける通常CPUライセンスファイルと拡張CPUライセンスファイルとを例示する。図7(a)は通常CPUライセンスを、図7(b)は拡張CPUライセンスをそれぞれ示す。
図7(a)の例の通常CPUライセンスでは、テキストデータのヘッダの2行目の「SequenceNumber:」の後の値が、CPUライセンスを一意に識別するシーケンス番号を示す。
図7(b)に示す拡張CPUライセンスは、図7(a)の通常CPUライセンスと同様の情報に加えて、「SequenceNumber」の行の末尾に、拡張CPUライセンスであることを示す“Extended”との文字列を有する。
以降、簡潔を期するために、通常CPUライセンスを通常ライセンス、拡張CPUライセンスを拡張ライセンスともそれぞれ呼ぶ。
図8は、実施形態の一例としてのライセンス属性テーブル54を示す図である。
ライセンス属性テーブル54には、登録済みのCPUライセンス毎に、ライセンス登録部42によって1つのエントリ(行)が登録される。
ライセンス属性テーブル54は、種類(Category)541、ID542、サーバシステム型(Form)543、サーバ状態(Server)544、及び使用許可状態(Permit)545を、相互に関連付けて有する。
種類541は、CPUライセンスが、通常ライセンスであるか拡張ライセンスであるかどうかを示す値を記憶する。例えば、CPUライセンスが通常ライセンスの場合は値“Normal”(=‘x00’)が、拡張ライセンスの場合は値“Extended”(=‘x01’)が、それぞれ種類541に記憶される。
IDフィールド542は、CPUライセンスを一意に特定する識別子を記憶する。例えば、IDフィールド542には、CPUライセンスファイルのシーケンス番号が設定される。例えば、図7(a)のCPUライセンスファイル例の場合はシーケンス番号116、図7の(b)の例の場合はシーケンス番号40にそれぞれ相当する値が、IDフィールド542に記憶される。
サーバシステム型543は、情報処理システム1がクラスタシステムであるか非クラスタシステムであるかを示す値を記憶する。例えば、情報処理システム1がクラスタシステムの場合は値“Cluster”(=‘x01’)が、非クラスタシステムの場合は値“Non−Cluster”(=‘x00’)が、それぞれサーバシステム型543に記憶される。
サーバ状態544は、CPUライセンスが適用されているサーバ2,3が運用系であるか待機系であるかを示す値を記憶する。例えば、CPUライセンスが適用されているサーバが運用系の場合は値“Master”(=‘x01’)が、待機系の場合は値“Slave”(=‘x02’)が、それぞれサーバ状態544に記憶される。又、図8の3行目のエントリのように、CPUライセンスが拡張ライセンスであるが、サーバ2,3が非クラスタ用サーバの場合は、サーバ状態544の値がゼロクリアされる(‘x00’が設定される)。
使用許可状態545は、CPUライセンスが適用されているCPU22,32の使用許可状態を示す値を記憶しており、この値はライセンス設定部48によって設定される。例えば、CPUライセンスが適用されているCPU22,32の使用が許可されている場合は値“Active”(=‘x01’)が、使用が許可されていない場合は値“Non−Active”(=‘x00’)がそれぞれ設定される。或いは、後述する強制ライセンス移管処理により強制的に使用を許可した場合は値“Force−Active”(=‘x02’)が、それぞれ使用許可状態545に設定される。なお、ライセンス制御部46は、使用許可状態545の値を、情報処理システム1の種類及びサーバ2,3の種類に応じて設定する。例えば、サーバ2又は3が運用系サーバである場合、使用許可状態545に値“Active”が設定される。一方、情報処理システム1が非クラスタ型であるか又はサーバ2,3が待機系の場合、使用許可状態545に値“Non−Active”が設定される。
なお、通常ライセンスの状態もライセンス属性テーブル54によって管理される。通常ライセンスの場合、種類541に値“Normal”が設定され、電源投入時には使用許可状態545に値“Active”が設定される。
なお、ライセンス属性テーブル54は、実際には図8に示すようなテーブル形式で文字列が格納されるのではなく、種類541、ID542、サーバシステム型543、サーバ状態544、及び使用許可状態545を表す、‘x00’、‘x01’、‘x02’などの16進値を、左から順に連結したビット列が使用される。例えば、図8の例では、種類541には、値“Extended”ではなく、16進値‘x01’が格納される。なお、図面においては、文字列値の後に、対応する16進値を、丸括弧で囲んで併記している。
図9に、システム型及びCPUライセンスの種類毎に、電源投入時及び電源切断時に設定される使用許可状態545の値を示す。又、図9の最終行には、電源投入時に、ライセンス属性テーブル54に設定される値の例を示す。
例えば、図9の左端のケースでは、電源投入時にライセンス属性テーブル54に、
ライセンス種類:“Normal”(‘x00’)+ID値+サーバシステム型:“Non−Cluster”(‘x00’)+サーバ状態:“Non−Cluster”(‘x00’)+使用許可状態:“Active”(‘x01’)=
“00ID000001”(IDには、ID値が16進数表記で入る)
の値が設定される。
(B)動作
以下、図10〜図23を参照して、本情報処理システム1の動作について説明する。
最初に、図10〜図13を用いて各サーバ2,3で実行される処理を説明し、その後、図14〜図23を用いて、情報処理システム1全体としての処理を説明する。
図10は、実施形態の一例としてのサーバ2,3におけるライセンス登録処理を示すフローチャートである。
この処理は、サーバ2,3が運用系、待機系いずれの場合も実行される。
ステップS1において、情報処理システム1の管理者が、情報処理システム1において同時に動作させるCPUの最大個数分のCPUライセンスを、CPUライセンス発行サーバ6から購入する。そして、図3に示したようなコマンドを実行して、購入したCPUライセンスをサーバ2,3のライセンスDB52に登録する。
ステップS2において、ライセンス登録部42が、管理者がステップS1で登録したCPUライセンスが正当なCPUライセンスであるかと、ライセンスの種類(通常ライセンス又は拡張ライセンス)とを確認する。その際、ライセンスファイルのヘッダデータに文字列“Extended”が存在する場合(図7(b)参照)、ライセンス登録部42は、CPUライセンスが拡張ライセンスであると判断する。一方、ライセンスファイルのヘッダデータに文字列“Extended”がない場合(図7(a)参照)、ライセンス登録部42は、CPUライセンスが通常ライセンスであると判断する。
ステップS2でCPUライセンスが正当ではない場合(既に登録済みの場合など)、ステップS6において、ライセンス登録部42は管理者に登録エラーを通知し、本処理を終了する。
一方、CPUライセンスが正当である場合、ステップS3において、ライセンス登録部42は、CPUライセンスを適用するサーバ2又は3がクラスタシステム用サーバであるかどうかを確認する。その際、ライセンス登録部42は、XSCF25,35の内部情報に基づいて、サーバ2又は3がクラスタシステム用サーバか、非クラスタシステム用サーバかを判定する。
ステップS4において、ライセンス登録部42は、ライセンスファイルをライセンスDB52のライセンス記憶域53に格納する。
次にステップS5において、ライセンス登録部42は、ライセンスファイルからライセンスIDを取得して、登録したCPUライセンスに対する新規エントリをライセンス属性テーブル54に作成する。その際、ライセンス登録部42は、ステップS2で確認したライセンスの種類、ライセンスID、及びステップS3で確認したサーバシステム型に対応する値を、新規エントリの種類541、IDフィールド542及びサーバシステム型543にそれぞれ記憶する。
なお、複数のCPUライセンスを登録する場合、図10の処理が、登録するCPUライセンス数分繰り返される。
次に、図10のライセンス登録処理が終了した後にサーバ2,3で実行される電源投入処理について説明する。
図11は、実施形態の一例としてのサーバ2,3における電源投入処理を示すフローチャートである。
この処理も、サーバ2,3が運用系、待機系いずれの場合も実行される。
ステップS11において、サーバ2又は3のSB21,31に対する電源投入要求が行なわれる。電源投入要求は、管理者が、サーバ2又は3のXSCF25,35に対してコマンド(例えば、poweron PPAR 0)を実行することにより行なわれる。
ステップS12において、SB電源制御部43が、SB21又は31に電源を投入し、ハードウェアの初期化を実施させる。ステップS13において、CPU制御部49は、CPU22又は32をスタートさせずに、停止させた状態に維持する。
ステップS14において、サーバ判定部47が、ライセンス属性テーブル54を参照して、サーバ2又は3が非クラスタシステム用サーバであるか、クラスタシステム用サーバである場合は運用系か待機系かを判定する。なお、XSCF25,35の内部情報に基づいてこの判定が行なわれてもよい。
サーバ2又は3がクラスタシステム用の運用系サーバであるか、又は非クラスタ用サーバの場合(ステップS14の「運用系」及び「非クラスタ」ルート参照)、ステップS15において、サーバ判定部47は、ライセンス属性テーブル54を参照して、登録済みのライセンスが通常ライセンスか拡張ライセンスかを判定する。
通常ライセンスの場合(ステップS15の「通常」ルート参照)、ステップS16において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリの使用許可状態545の値を“Active”に設定する。
一方、拡張ライセンスの場合(ステップS15の「拡張」ルート参照)、ステップS17において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリのサーバ状態544の値を“Master”に、使用許可状態545の値を“Active”にそれぞれ設定する。
ステップS14でサーバ2又は3が待機系サーバである場合(ステップS14の「待機系」ルート参照)、ステップS18において、サーバ判定部47は、ライセンス属性テーブル54を参照して、登録済みのライセンスが通常ライセンスか拡張ライセンスかを判定する。
通常ライセンスの場合(ステップS18の「通常」ルート参照)、ステップS19において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリの使用許可状態545の値を“Active”に設定する。
一方、拡張ライセンスの場合(ステップS18の「拡張」ルート参照)、ステップS20において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリのサーバ状態544の値を“Slave”に、使用許可状態545の値を“Non−Active”にそれぞれ設定する。
ライセンス設定部48は、上記のサーバ状態544の値の設定を、登録済みの全ライセンスについて行なう。
次にステップS21において、電源切断要求が発行されたかどうかが判定される。
電源切断要求が発行された場合(ステップS21のYESルート参照)、本処理を終了する。
一方、電源切断要求が発行されていない場合(ステップS21のNOルート参照)、ステップS22において、ライセンス設定部48が、ライセンス属性テーブル54の当該ライセンスのエントリの使用許可状態545の値が“Active”又は“Force−Active”であるかどうかを判定する。
使用許可状態545の値が“Non−Active”の場合(ステップS22のNOルート参照)、所定時間待機した後に、処理がステップS21に戻る。
一方、使用許可状態545の値が“Active”又は“Force−Active”である場合(ステップS22のYESルート参照)、ステップS23において、CPU制御部49がCPU22又は32をスタートさせる。その際、CPU制御部49は、ライセンス属性テーブル54の使用許可状態545に“Active”又は“Force−Active”が設定されているエントリ数分の個数のCPU22,32をスタートさせる。スタートさせる候補のCPU22,32が複数存在する場合、CPU制御部49は、任意の選択方式を使用してスタートさせるCPU22,32を決定する。
その後、ステップS24において、サーバ2又は3のOSが起動され、本処理を終了する。
図12は、実施形態の一例としてのサーバ2,3における電源切断処理を示すフローチャートである。
この処理も、サーバ2,3が運用系、待機系いずれの場合も実行される。
ステップS31において、サーバ2又は3のSB21,31に対する電源切断要求が発行される。電源切断要求は、管理者、又は図18で後述するように待機系サーバ3により発行される。
ステップS32において、SB電源制御部43がCPU制御部49を呼び出す。
ステップS33において、サーバ判定部47は、ライセンス属性テーブル54を参照して、サーバ2又は3が非クラスタシステム用サーバであるか、クラスタシステム用サーバである場合は運用系か待機系かを判定する。なお、XSCF25,35の内部情報に基づいてこの判定が行なわれてもよい。
サーバ2又は3がクラスタシステム用の運用系サーバであるか、又は非クラスタ用サーバの場合(ステップS33の「運用系」及び「非クラスタ」ルート参照)、ステップS34において、サーバ判定部47は、ライセンス属性テーブル54を参照して、登録済みのライセンスが通常ライセンスか拡張ライセンスかを判定する。
通常ライセンスの場合(ステップS34の「通常」ルート参照)、ステップS35において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリの使用許可状態545の値を“Non−Active”に設定する。
一方、拡張ライセンスの場合(ステップS34の「拡張」ルート参照)、ステップS36において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリのサーバ状態544の値をゼロクリアすると共に、使用許可状態545の値を“Non−Active”に設定する。
ステップS33でサーバ2又は3が待機系サーバである場合(ステップS33の「待機系」ルート参照)、ステップS37において、サーバ判定部47は、ライセンス属性テーブル54を参照して、登録済みのライセンスが通常ライセンスか拡張ライセンスかを判定する。
通常ライセンスの場合(ステップS37の「通常」ルート参照)、ステップS38において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリの使用許可状態545の値を“Non−Active”に設定する。
一方、拡張ライセンスの場合(ステップS37の「拡張」ルート参照)、ステップS39において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリのサーバ状態544の値をゼロクリアすると共に、使用許可状態545の値を“Non−Active”に設定する。
ライセンス設定部48は、上記のサーバ状態544の値の設定を、登録済みの全ライセンスについて行なう。
次にステップS40において、CPU制御部49がCPU22又は32をストップさせる。
その後、ステップS41において、サーバ2又は3のOSが停止されて、SB21又は31の電源が切断され、本処理を終了する。
図13は、実施形態の一例としてのサーバ3における電源強制切断処理を示すフローチャートである。
電源強制切断処理は、運用系サーバ2で何らかの異常が発生したことによりサーバ2のOSがハングアップし、運用系サーバ2が完全に動作を停止して応答しなくなった場合に、待機系サーバ3のXSCF35により実行される。
ステップS51において、待機系サーバ3のOSが、運用系サーバ2のOSが完全に動作を停止したことを検出し、運用系サーバ2の完全強制停止を実施するよう、サーバ間通信部51に指示する。
ステップS52において、運用系サーバ2のサーバ間通信部51は、ネットワーク5経由で運用系サーバ2の不図示の入力電源(AC電源)を強制的に切断する。
ステップS53において、待機系サーバ3のサーバ監視部50が、運用系サーバ2が完全に停止したかどうかを判定する。
運用系サーバ2が完全には停止していない場合(ステップS53のNOルート参照)、所定時間待機した後に、処理がステップS53に戻る。
運用系サーバ2が完全に停止した場合(ステップS53のYESルート参照)、ステップS54において、待機系サーバ3のライセンス設定部48が、自サーバ3を運用系に昇格させるように設定する。詳細には、ライセンス設定部48は、待機系であり、かつ、該当IDのライセンス属性テーブル54の種類541が“Extended”であるサーバ32の、ライセンス属性テーブル54の使用許可状態545の値を“Force−Active”に切り替え、本処理を終了する。
これまで、サーバ2,3で個別に実行される処理を説明してきたが、以降、様々な場面を取り上げて、本情報処理システム1全体の動作を説明する。
(C)ケース1
最初に、情報処理システム1において拡張ライセンスを登録する際の情報処理システム1全体の処理について説明する。
このとき、両サーバ2,3のライセンス登録部42により、運用系サーバ2のCPUライセンスを有効化すると共に、待機系サーバ3のCPUライセンスを無効化するよう、ライセンス属性テーブル54に値が設定される。
ライセンス属性テーブル54に値が設定されたのち、電源投入指示が行なわれた際に、CPU制御部49は、ライセンス属性テーブル54を参照して、CPUライセンスが有効に設定されているCPU22,32のみを動作させる。
拡張ライセンスを登録する際の処理を、図14〜図18を用いて説明する。
ライセンス属性テーブル54に図14に例示する値が設定されている場合の拡張ライセンスを登録する際の処理を、図15のフローチャートに示す。
なお、図15には、運用系サーバ2でのみステップS101〜S108が実行されているように図示されているが、実際には、待機系サーバ3においてもステップS101〜S108と同様の処理が実行される。
ステップS101において、情報処理システム1の管理者が、情報処理システム1において同時に動作させるCPUの最大個数分のCPUライセンスを、CPUライセンス発行サーバ6から購入する。
ステップS102において、管理者は、購入した拡張ライセンスをクラスタシステム専用のライセンスとして登録するためのXSCFコマンドを、運用系サーバ2,3のXSCF25,35で実行する。例えば、管理者は、addcodactivation Cluster “ライセンステキスト”を実行する。
ステップS103において、ライセンス登録部42が、管理者がステップS102で登録したCPUライセンスの種類(通常ライセンス又は拡張ライセンス)を確認する。その際、ライセンスファイルのヘッダデータに文字列“Extended”が存在する場合(図7(b)参照)、ライセンス登録部42は、CPUライセンスが拡張ライセンスであると判断する。一方、ライセンスファイルのヘッダデータに文字列“Extended”がない場合(図7(a)参照)、ライセンス登録部42は、CPUライセンスが通常ライセンスであると判断する。
ステップS104において、ライセンス登録部42は、CPUライセンスを適用するサーバ2,3がクラスタシステム用サーバであるかどうかを確認する。その際、ライセンス登録部42は、XSCF25の内部情報に基づいて、サーバ2,3がクラスタシステム用サーバか、非クラスタシステム用サーバかを判定する。
ステップS105において、ライセンス登録部42は、ライセンスファイルをライセンスDB52のライセンス記憶域53に格納する。
次にステップS106において、ライセンス登録部42は、ライセンスファイルからライセンスIDを取得して、登録したCPUライセンスに対する新規エントリをライセンス属性テーブル54に作成する。その際、ライセンス登録部42は、ステップS103で確認したライセンスの種類、ライセンスID、及びステップS104で確認したサーバシステム型に対応する値を、新規エントリの種類541、IDフィールド542及びサーバシステム型543にそれぞれ記憶する。
ステップS107において、サーバ2,3のSB21,31に対する電源投入要求が行なわれる。電源投入要求は、管理者が、サーバ2,3のXSCF25,35に対してコマンド(例えば、poweron PPAR 0)を実行することにより行なわれる。
ステップS108において、SB電源制御部43が、SB21又は31に電源を投入し、ハードウェアの初期化を実施させる。このとき、CPU制御部49は、CPU22又は32をスタートさせずに、停止させた状態に維持する。
ステップS109において、サーバ判定部47が、ライセンス属性テーブル54を参照して、サーバ2又は3が非クラスタシステムのサーバ或いはクラスタシステム用の運用系サーバかどうかを判定する。
サーバ2又は3が非クラスタシステムのサーバ或いはクラスタシステム用の運用系サーバである場合(ステップS109のYESルート参照)、ステップS110において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリのサーバ状態544の値を“Master”に、使用許可状態545の値を“Active”にそれぞれ設定する。このように変更されたライセンス属性テーブル54のエントリの例を、図16に示す。
一方、サーバ2又は3がクラスタシステム用の待機系サーバである場合(ステップS109のNOルート参照)、ステップS111において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリのサーバ状態544の値を“Slave”に、使用許可状態545の値を“Non−Active”にそれぞれ設定する。このように変更されたライセンス属性テーブル54のエントリの例を、図17に示す。
ライセンス設定部48は、上記のサーバ状態544の値の設定を、登録済みの全ライセンスについて行なう。
次にステップS112において、電源切断要求が発行されたかどうかが判定される。
電源切断要求が発行された場合(ステップS112のYESルート参照)、本処理を終了する。
一方、電源切断要求が発行されていない場合(ステップS112のNOルート参照)、ステップS113において、ライセンス設定部48が、ライセンス属性テーブル54の当該ライセンスのエントリの使用許可状態545の値が“Active”又は“Force−Active”であるかどうかを判定する。
使用許可状態545の値が“Non−Active”の場合(ステップS113のNOルート参照)、ステップS114において待機系サーバ3のCPU32を停止させた状態に維持したまま、一定期間待機した後に、処理がステップS112に戻る。
一方、使用許可状態545の値が“Active”又は“Force−Active”である場合(ステップS113のYESルート参照)、ステップS115において、CPU制御部49がCPU22をスタートさせる。その際、CPU制御部49は、ライセンス属性テーブル54の使用許可状態545に“Active”又は“Force−Active”が設定されているエントリ数分の個数のCPU22,32をスタートさせる。スタートさせる候補のCPU22,32が複数存在する場合、CPU制御部49は、任意の選択方式を使用してスタートさせるCPU22,32を決定する。
その後、ステップS116において、サーバ2のSB21でOSが起動され、本処理を終了する。
(D)ケース2
次に、運用系サーバ2で何らかの異常が発生したことによりサーバ2のOSがハングアップしたが、運用系サーバ2が応答可能な場合に実行されるライセンス移管処理について、図18〜図20を用いて説明する。
図18は、運用系サーバ2の停止時のライセンス移管処理を示すフローチャートであり、図19は、図18のライセンス移管処理を模式的に示す図である。
この例では、図19のステップSC1において、両サーバ2,3に、クラスタ専用のライセンスの登録及びグルーピングが既に行なわれている。
このとき、ステップS121において、運用系サーバ2で何らかの異常が発生したことによりサーバ2のOSがハングアップする(図19のステップSC2参照)。このとき、待機系サーバ3のCPU32はライセンス違反とならないようストップされた状態に留まっている。
ステップS122において、待機系サーバ3のOSが、運用系サーバ2のOSがハングアップしたことを検出する(図19のステップSC3参照)。
ステップS123において、待機系サーバ3のOSが、サーバ間通信部51に対して、運用系サーバ2に対して強制停止を指示するように要求する。
ステップS124において、待機系サーバ3のサーバ間通信部51が、ネットワーク5経由で運用系サーバ2に対して強制停止を指示する(図19のステップSC4参照)。
ステップS125において、運用系サーバ2のサーバ間通信部51が、待機系サーバ3から停止指示を受け取る。
ステップS126において、運用系サーバ2のSB電源制御部43が、SB21で実行されていたOSを強制停止させるために、SB21の電源を強制的に切断するよう指示を出す(図19のステップSC5参照)。
ステップS127において、SB電源切断指示ののちに、SB電源制御部43はCPU制御部49を呼び出し、全CPU22を起動ループから抜けさせる。
以降、ライセンス状態の移管処理が実行される。ステップS128において、サーバ判定部47は、ライセンス属性テーブル54を参照して、サーバ2が非クラスタシステムのサーバ或いはクラスタシステム用の運用系サーバかどうかを判定する(図19のステップSC6参照)。
サーバ2が非クラスタシステムのサーバ或いはクラスタシステム用の運用系サーバである場合(ステップS128のYESルート参照)、ステップS129において、ライセンス設定部48は、ライセンス属性テーブル54の当該ライセンスのエントリの使用許可状態545の値を“Non−Active”に設定する(図19のステップSC6参照)。このように変更されたライセンス属性テーブル54のエントリの例を、図20に示す。
一方、サーバ2又は3がクラスタシステム用の待機系サーバである場合(ステップS109のNOルート参照)、CPU制御部49は、使用許可状態545の値を“Non−Active”のまま変更しない。
ライセンス設定部48は、上記のサーバ状態544の値の設定を、登録済みの全ライセンスについて行なう。
ステップS130において、運用系サーバ2のSB電源制御部43が、拡張ライセンス分のCPU22をストップさせる。
ステップS131において、運用系サーバ2のSB電源制御部43は、OSを強制停止し、SB21の電源切断を実施する。
ステップS132において、運用系サーバ2のOSは、サーバ間通信部51経由で強制停止完了を待機系サーバ3のOSに報告する(図19のステップSC7参照)。
次にステップS133において、待機系サーバ3のサーバ間通信部51が運用系サーバ2から停止報告を受け取る。そして、ステップS134において、待機系サーバ3のOSは、サーバ間通信部51から運用系サーバ2の停止報告を受け取り、ステップS135で自サーバ3を新たな運用系サーバに昇格させる(図19のステップSC8参照)。
一方、ステップS136において、運用系サーバ2のXSCF25は、自サーバ2を待機系サーバに降格させる(図19のステップSC9参照)。
ステップS137において、両サーバ2,3に対し電源投入が指示される。これ以降、図15のステップS107以降の処理が実行される。
ステップS138において、両サーバ2,3に電源が投入され、新運用系サーバ3及び新待機系サーバ2のライセンス属性テーブル54の値が参照/変更されてCPU22,32の使用許可状態が更新される。その後、新運用系サーバ3のCPU制御部49が、CPU32をスタートする(図19のステップSC10参照)。
(E)ケース3
最後に、運用系サーバ2で何らかの異常が発生したことによりサーバ2のOSがハングアップし、運用系サーバ2が完全に動作を停止した場合に実行される強制ライセンス移管処理について、図21〜図23を用いて説明する。
図21は、運用系サーバ2の停止時の強制ライセンス移管処理を示すフローチャートであり、図22は、図21の強制ライセンス移管処理を模式的に示す図である。
この例では、図22のステップSD1において、両サーバ2,3に、クラスタ専用のライセンスの登録及びグルーピングが既に行なわれている。
このとき、ステップS141において、運用系サーバ2で何らかの異常が発生したことによりサーバ2のOSがハングアップする(図22のステップSD2参照)。このとき、待機系サーバ3のCPU32はライセンス違反とならないようストップされた状態に留まっている。
ステップS142において、待機系サーバ3のOSが、運用系サーバ2のOSがハングアップしたことを検出する(図22のステップSD3参照)。
ステップS143において、待機系サーバ3のOSが、サーバ間通信部51に対して、運用系サーバ2に対して強制停止を指示するように要求する。
ステップS144において、待機系サーバ3のサーバ間通信部51が、ネットワーク5経由で運用系サーバ2に対して強制停止を指示する(図22のステップSD4参照)。
しかし、運用系サーバ2は完全に動作を停止しているため、ステップS144で発行された、待機系サーバ3からの指示に応答することができない。このため、ステップS145において、運用系サーバ2からの応答がタイムアウトする(図22のステップSD4参照)。
ステップS146において、待機系サーバ3のOSは、運用系サーバ2が完全な動作停止に陥っていると判断し、運用系サーバ2の完全強制停止を実施するよう、サーバ間通信部51に指示する(図22のステップSD4参照)。
ステップS147において、サーバ間通信部51は、ネットワーク5経由で運用系サーバ2の不図示の入力電源(AC電源)を強制的に切断する。
この結果、ステップS148において、運用系サーバ2のハードウェアが完全に停止する(図22のステップSD4参照)。
これ以降、ライセンス強制移管処理が実行される。ステップS149において、待機系サーバ3のサーバ判定部47が、運用系サーバ2がクラスタシステム用の運用系サーバであり、かつ運用系サーバ2が完全に停止したかどうかを判定する。
運用系サーバ2が完全には停止していない場合(ステップS149のNOルート参照)、所定時間待機した後に、処理がステップS149に戻る。
運用系サーバ2がクラスタシステム用の運用系サーバであり、かつ運用系サーバ2が完全に停止した場合(ステップS149のYESルート参照)、ステップS150において、待機系サーバ3のライセンス設定部48が、自サーバ3を運用系に昇格させるように設定する。詳細には、ライセンス設定部48は、待機系であり、かつ、該当IDのライセンス属性テーブル54の種類541が“Extended”であるサーバ32のライセンス属性テーブル54のサーバ状態544の値をクリアする。又、使用許可状態545の値を“Force−Active”に設定する。このように設定することで、ライセンスが強制的に待機系サーバ3に移管される(これを「自立有効化」と呼ぶ;図22のステップSD5参照)。このように変更されたライセンス属性テーブル54のエントリの例を、図23に示す。
ライセンス設定部48は、上記のサーバ状態544の値の設定を、登録済みの全ライセンスについて行なう。
ステップS151において、待機系サーバ3のOSは、サーバ間通信部51から運用系サーバ2の停止報告を受け取り、自サーバ3を運用系サーバに昇格させる(図22のステップSD6参照)。
これらの処理により、
ステップS152において、サーバ3に対し電源投入が指示される。これ以降、サーバ3において図15のステップS107以降の処理が実行される。
ステップS153において、サーバ3に電源が投入され、新運用系サーバ3が起動し(強制ライセンス移管後の新運用系サーバ3の起動を「自立起動」とも呼ぶ)、新運用系サーバ3のライセンス属性テーブル54の値が参照/変更されてCPU32の使用許可状態が参照/更新される。その後、新運用系サーバ3のCPU制御部49が、CPU32をスタートする。
その後、ステップS154において旧運用系サーバ2のハードウェアが復活した場合、ステップS155において、旧運用系サーバ2のXSCF25が、自サーバ2を待機系サーバに降格させる(図22のステップSD8参照)。
これ以降、サーバ2において図15のステップS107以降の処理が実行される。ステップS156において、新待機系サーバ2に電源が投入される。
そして、新待機系サーバ2のライセンス属性テーブル54の値が変更されてCPU22の使用許可状態が更新される。詳細には、ライセンスの使用許可状態545の値が、“Active”から“Non−Active”に更新される(図22のステップSD9参照)。
(F)作用・効果
上記の実施形態の一例によれば、ライセンス制御部46が、サーバ2,3のCPU22,32を停止させた状態で、ライセンス属性テーブル54に基づいてどのCPU22,32を動作させるのかを判断する。そして、ライセンス制御部46が動作させると判定したCPU22,32を、CPU制御部47がスタートさせる。つまり、運用系サーバ2のCPU22は動作させ、待機系サーバ3のCPU32は動作させないよう制御される。
このように、ライセンス制御部46とCPU制御部47とは、CPU22,32の動作制御を、運用系サーバ2及び待機系サーバ3のSB21,31の電源投入又は電源切断時に行なう。
待機系サーバ3のCPU32は動作させないので、運用系サーバ2で動作させるCPU22の個数分のCPUライセンスのみがあればよく、待機系サーバ3のCPU32のライセンスは必要ない。このため、CPUライセンスの購入コストをほぼ半分に削減することができる。
又、CPU22,32を実際に動作させる前に、各CPU22,32を動作させるかどうかが設定されるので、ライセンスの違反を防止することができる。
さらに、運用系サーバ2の故障時には、運用系サーバ2のCPUライセンスが自動的に待機系サーバ3に引き継がれる。
このため、煩雑なライセンスの移管作業が不要となり、サーバ切り替えが効率よく実行される。
(G)その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記の実施形態の一例においては、サーバ2が運用系サーバ、サーバ3が待機系サーバである例を採り上げたが、サーバ2,3のいずれが運用系、待機系であってもよい。
又、サーバ2にk個のCPU22が、サーバ3にk個のCPU32がそれぞれそなえられている例を採り上げたが、サーバ2,3のCPU22,32の個数が異なっていてもよい。
上記の実施形態の一例においては、運用系サーバ2の故障時に運用系サーバをサーバ2からサーバ3に切り替える例を採り上げてライセンス移管処理について説明したが、このライセンス移管処理は、運用系サーバ2の保守時にも実施される。
さらに、ライセンス属性テーブル54に、上記の実施形態の一例で使用した値とは異なる値を設定してもよい。又、ライセンス属性テーブル54に上記の実施形態の一例とは異なるフォーマットを使用してもよい。
なお、クラスタシステムにおいてCPU22,32の故障や縮退により動作しているCPU22,32が減った場合であっても、上記実施形態の一例の動作は変わらず、使用可能なCPUライセンスを、残っているCPU22,32に対して設定する。
なお、サーバ3のユーザI/F部41、ライセンス登録部42、SB電源制御部43、ライセンス制御部46、サーバ判定部47、ライセンス設定部48、CPU制御部49、サーバ監視部50、及びサーバ間通信部51としての機能を実現するための情報処理装置の制御プログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
サーバ3のユーザI/F部41、ライセンス登録部42、SB電源制御部43、ライセンス制御部46、サーバ判定部47、ライセンス設定部48、CPU制御部49、サーバ監視部50、及びサーバ間通信部51としての機能を実現する際には、内部記憶装置(本実施形態ではXSCF25,35の不図示のメモリやHDD)に格納された情報処理装置の制御プログラムがコンピュータのマイクロプロセッサ(本実施形態ではXSCF25,35の不図示のCPU)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
(H)付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
情報処理装置であって、
複数の処理部と、
前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、
前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定する設定部と、
前記設定部による前記設定の完了後に、前記処理部を動作させる制御部と、
をそなえることを特徴とする情報処理装置。
(付記2)
前記情報処理装置は、
該情報処理装置が冗長構成である場合に、該情報処理装置と冗長構成を構成している他の情報処理装置との間で通信を行なう通信部と、
該情報処理装置が冗長構成かどうか、及び該情報処理装置が冗長構成である場合には該情報処理装置が運用系か待機系かに基づいて、前記処理部のうちのいずれを動作させるかを判定し、当該判定結果を前記ライセンス情報として前記ライセンス情報記憶部に書き込む管理部をさらにそなえる
ことを特徴とする付記1記載の情報処理装置。
(付記3)
前記管理部は、該情報処理装置が冗長構成の待機系である場合に、前記処理部に対し、当該処理部の動作を不許可にするよう前記ライセンス情報を設定する
ことを特徴とする付記2記載の情報処理装置。
(付記4)
前記管理部は、前記情報処理装置が冗長構成の運用系である場合に、前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
ことを特徴とする付記2又は3記載の情報処理装置。
(付記5)
前記通信部が前記他の情報処理装置からの応答がないことを検出すると、
該通信部は前記他の情報処理装置の前記制御部に対して、電源の強制切断を指示すると共に、
前記管理部が、前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
ことを特徴とする付記2〜4のいずれか1項に記載の情報処理装置。
(付記6)
複数の処理部と、
前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、をそなえる情報処理装置の制御方法であって、
前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定し、
前記設定の完了後に、前記処理部を動作させる
ことを特徴とする情報処理装置の制御方法。
(付記7)
該情報処理装置が冗長構成である場合に、該情報処理装置と冗長構成を構成している他の情報処理装置との間で通信を行ない、
該情報処理装置が冗長構成かどうか、及び該情報処理装置が冗長構成である場合には該情報処理装置が運用系か待機系かに基づいて、前記処理部のうちのいずれを動作させるかを判定し、当該判定結果を前記ライセンス情報として前記ライセンス情報記憶部に書き込む
ことを特徴とする付記6記載の情報処理装置の制御方法。
(付記8)
該情報処理装置が冗長構成の待機系である場合に、前記処理部に対し、当該処理部の動作を不許可にするよう前記ライセンス情報を設定する
ことを特徴とする付記7記載の情報処理装置の制御方法。
(付記9)
前記情報処理装置が冗長構成の運用系である場合に、前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
ことを特徴とする付記7又は8記載の情報処理装置の制御方法。
(付記10)
前記通信部が前記他の情報処理装置からの応答がないことを検出すると、
前記他の情報処理装置の前記制御部に対して、電源の強制切断を指示すると共に、
前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
ことを特徴とする付記7〜9のいずれか1項に記載の情報処理装置の制御方法。
(付記11)
複数の処理部と、
前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、をそなえる情報処理装置の制御プログラムであって、
前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定し、
前記設定の完了後に、前記処理部を動作させる
処理をコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
(付記12)
該情報処理装置が冗長構成である場合に、該情報処理装置と冗長構成を構成している他の情報処理装置との間で通信を行ない、
該情報処理装置が冗長構成かどうか、及び該情報処理装置が冗長構成である場合には該情報処理装置が運用系か待機系かに基づいて、前記処理部のうちのいずれを動作させるかを判定し、当該判定結果を前記ライセンス情報として前記ライセンス情報記憶部に書き込む
処理を前記コンピュータに実行させることを特徴とする付記11記載の情報処理装置の制御プログラム。
(付記13)
該情報処理装置が冗長構成の待機系である場合に、前記処理部に対し、当該処理部の動作を不許可にするよう前記ライセンス情報を設定する
処理を前記コンピュータに実行させることを特徴とする付記12記載の情報処理装置の制御プログラム。
(付記14)
前記情報処理装置が冗長構成の運用系である場合に、前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
処理を前記コンピュータに実行させることを特徴とする付記12又は13記載の情報処理装置の制御プログラム。
(付記15)
前記通信部が前記他の情報処理装置からの応答がないことを検出すると、
前記他の情報処理装置の前記制御部に対して、電源の強制切断を指示すると共に、
前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
処理を前記コンピュータに実行させることを特徴とする付記12〜14のいずれか1項に記載の情報処理装置の制御プログラム。
1 情報処理システム
2 運用系サーバ
3 待機系サーバ
21,31 SB
22−1〜22−k(22) CPU(処理部)
32−1〜32−k(32) CPU(処理部)
25,35 XSCF
41 ユーザI/F部
42 ライセンス登録部
43 SB電源制御部
46 ライセンス制御部(設定部)
47 サーバ判定部
48 ライセンス設定部(管理部)
49 CPU制御部(制御部)
50 サーバ監視部
51 サーバ間通信部(通信部)
52 ライセンスDB(ライセンス情報記憶部)
53 ライセンス記憶域
54 ライセンス属性テーブル(ライセンス情報)

Claims (7)

  1. 情報処理装置であって、
    複数の処理部と、
    前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、
    前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定する設定部と、
    前記設定部による前記設定の完了後に、前記処理部を動作させる制御部と、
    をそなえることを特徴とする情報処理装置。
  2. 前記情報処理装置は、
    該情報処理装置が冗長構成である場合に、該情報処理装置と冗長構成を構成している他の情報処理装置との間で通信を行なう通信部と、
    該情報処理装置が冗長構成かどうか、及び該情報処理装置が冗長構成である場合には該情報処理装置が運用系か待機系かに基づいて、前記処理部のうちのいずれを動作させるかを判定し、当該判定結果を前記ライセンス情報として前記ライセンス情報記憶部に書き込む管理部をさらにそなえる
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記管理部は、該情報処理装置が冗長構成の待機系である場合に、前記処理部に対し、当該処理部の動作を不許可にするよう前記ライセンス情報を設定する
    ことを特徴とする請求項2記載の情報処理装置。
  4. 前記管理部は、前記情報処理装置が冗長構成の運用系である場合に、前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
    ことを特徴とする請求項2又は3記載の情報処理装置。
  5. 前記通信部が前記他の情報処理装置からの応答がないことを検出すると、
    該通信部は前記他の情報処理装置の前記制御部に対して、電源の強制切断を指示すると共に、
    前記管理部が、前記ライセンスの数を上限とする数の前記処理部に対し、当該処理部の動作を許可するよう前記ライセンス情報を設定する
    ことを特徴とする請求項2〜4のいずれか1項に記載の情報処理装置。
  6. 複数の処理部と、
    前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、をそなえる情報処理装置の制御方法であって、
    前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定し、
    前記設定の完了後に、前記処理部を動作させる
    ことを特徴とする情報処理装置の制御方法。
  7. 複数の処理部と、
    前記複数の処理部のうちの1つの動作を許可する少なくとも1つのライセンスに基づいて、前記複数の処理部のいずれを動作させるかを規定するライセンス情報を記憶するライセンス情報記憶部と、をそなえる情報処理装置の制御プログラムであって、
    前記情報処理装置に対する電源投入が指示されると、前記ライセンス情報に基づいて、前記複数の処理部のそれぞれに対し、当該処理部を動作させるかどうかを設定し、
    前記設定の完了後に、前記処理部を動作させる
    処理をコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
JP2014142478A 2014-07-10 2014-07-10 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム Active JP6417759B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014142478A JP6417759B2 (ja) 2014-07-10 2014-07-10 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014142478A JP6417759B2 (ja) 2014-07-10 2014-07-10 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2016018493A true JP2016018493A (ja) 2016-02-01
JP6417759B2 JP6417759B2 (ja) 2018-11-07

Family

ID=55233643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014142478A Active JP6417759B2 (ja) 2014-07-10 2014-07-10 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム

Country Status (1)

Country Link
JP (1) JP6417759B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020135571A (ja) * 2019-02-22 2020-08-31 横河電機株式会社 コンピュータシステム、コンピュータ装置およびライセンス管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158639A (ja) * 2006-12-21 2008-07-10 Hitachi Ltd プロセッサライセンスを管理するサーバ装置
WO2009118886A1 (ja) * 2008-03-28 2009-10-01 富士通株式会社 ハードウェアリソースの管理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158639A (ja) * 2006-12-21 2008-07-10 Hitachi Ltd プロセッサライセンスを管理するサーバ装置
WO2009118886A1 (ja) * 2008-03-28 2009-10-01 富士通株式会社 ハードウェアリソースの管理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
菅井 光浩: "プロダクト 知る・選ぶ・使う", 日経SYSTEMS 第158号, JPN6018003809, 26 May 2006 (2006-05-26), JP, pages 106 - 113, ISSN: 0003733832 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020135571A (ja) * 2019-02-22 2020-08-31 横河電機株式会社 コンピュータシステム、コンピュータ装置およびライセンス管理方法

Also Published As

Publication number Publication date
JP6417759B2 (ja) 2018-11-07

Similar Documents

Publication Publication Date Title
JP5637873B2 (ja) 計算機システムおよびpciカードのhba識別子引き継ぎ方式
JP4939102B2 (ja) ネットワークブート計算機システムの高信頼化方法
JP6034990B2 (ja) サーバ制御方法及びサーバ制御装置
JP2010510592A (ja) システムプロセッサーのトランスペアレントな交換
JP6237406B2 (ja) 情報処理装置、ストレージシステム、およびプログラム
JP2006163963A (ja) ディスク引き継ぎによるフェイルオーバ方法
JP5413514B2 (ja) 管理装置、情報処理装置、制御方法及びプログラム
JP6555096B2 (ja) 情報処理装置およびプログラム更新制御方法
JP6813010B2 (ja) 可用性のシステム、方法、およびプログラム
JP2004295270A (ja) 共用記憶システム
JP2016042249A (ja) 設定検証方法、設定検証プログラムおよび設定検証装置
JP2005242574A (ja) 情報処理システム、および情報処理方法
US8312211B2 (en) Disk array apparatus, method for application of control firmware, and controlling unit for controlling application of control firmware
JP2013161130A (ja) 制御装置、制御システムおよび制御方法
JP5509176B2 (ja) 計算機システムおよび計算機システムにおけるモジュール引き継ぎ方法
JP2015148861A (ja) 情報処理システム及びプログラム管理方法
JP6417759B2 (ja) 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
JP6749072B2 (ja) ストレージ管理装置及びストレージ管理プログラム
US20210034376A1 (en) Boot personality for network device
JP5484434B2 (ja) ネットワークブート計算機システム、管理計算機、及び計算機システムの制御方法
JP6089835B2 (ja) 情報処理装置及び制御方法
JP2009042932A (ja) 記憶制御装置の制御プログラムの更新方法
JP2007018049A (ja) 記憶制御システム
JP6435842B2 (ja) ストレージ制御装置及びストレージ制御プログラム
JP6012479B2 (ja) 情報処理システム、制御方法および制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180409

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180924

R150 Certificate of patent or registration of utility model

Ref document number: 6417759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150