以下、本発明の実施の形態を、図面を参照して説明する。
図1Aは、本発明の第1の実施の形態の計算機システムのハードウェア構成を示すブロック図である。
本実施の形態の計算機システムは、サーバ装置(0)100A、サーバ装置(1)100B、ストレージ装置120及び管理端末150を備える。
サーバ装置(0)100A及びサーバ装置(1)100Bでは、アプリケーションプログラム(図示省略)が動作する。物理資源の名称(例えば、「サーバ装置」等)の後に付された(0)等の括弧書きの数字は、各物理資源の識別子である。以下の説明において、サーバ装置(0)100A及びサーバ装置(1)100Bに共通する記述をする場合、これらのサーバ装置を総称して、サーバ装置100と記載する。サーバ装置100以外の物理資源も、総称される場合、同様の規則に従って、物理資源の識別子と、「A」等のアルファベットを省略して記載される。
ストレージ装置120は、サーバ装置100の動作に必要なデータを格納する。ストレージ装置120は、I/Oチャネル160A及び160Bを介してサーバ装置(0)100Aと接続され、I/Oチャネル160C及び160Dを介してサーバ装置(1)100Bと接続される。
ストレージ装置120は、チャネルボード(0)121A、チャネルボード(1)121B、内部ネットワーク131、ディスクボード(0)132A、ディスクボード(1)132B、ディスクキャッシュボード(0)142A、ディスクキャッシュボード(1)142B、システム電源制御部146A、システム電源制御部146B、バッテリ147A、バッテリ147B及び一つ以上の物理ディスクドライブ148等の物理資源を備える。
I/Oチャネル160Aから160Dは、例えば、ファイバーチャネル(FC)である。I/Oチャネル160Aから160Dは、一つ以上のストレージ装置120と、一つ以上のサーバ装置100とを接続するストレージエリアネットワーク(SAN)を構成する。I/Oチャネル160Aから160Dは、物理的には、I/Oアダプタ106のポート(図示省略)と、チャネルアダプタ129のポート(図示省略)とを接続するケーブルによって実現される。I/Oアダプタ106及びチャネルアダプタ129については後述する(図1B及び図1C参照)。
内部ネットワーク131は、チャネルボード121、ディスクボード132及びディスクキャッシュボード142を相互に接続する。内部ネットワーク131は、例えば、バスあるいはクロスバースイッチによって構成されてもよい。
管理端末150は、仮想計算機管理プログラム151を実行することによって、計算機システム全体の動作を管理する計算機である。仮想計算機管理プログラム151には、後で説明するように、計算機システムの管理情報が含まれる。管理端末150は、ネットワーク170を介して各サーバ装置100及びストレージ装置120と接続される。
ネットワーク170は、例えばLAN(Local Area Network)であるが、その他の種類のネットワークであってもよい。
物理ディスクドライブ148は、データを格納する記憶媒体である。一般に、この記憶媒体は磁気ディスクであるが、光ディスク又はフラッシュメモリ等、他の種類の媒体であってもよい。複数の物理ディスクドライブ148がRAID(Redundant Arrays of Independent Disks)を構成することによって、格納されるデータに冗長性が与えられてもよい。その結果、一部の物理ディスクドライブ148に障害が発生しても、格納されたデータが消失しない。
システム電源制御部146A及び146Bは、ストレージ装置120内の各物理資源への電源供給を制御する。
バッテリ147A及び147Bは、ストレージ装置120のバックアップ電源である。例えば停電が発生したときに、バッテリ147A及び147Bがストレージ装置120に電源を供給する。
以下、図1Aに示す計算機システムが備える各装置の詳細な構成について説明する。
図1Bは、本発明の第1の実施の形態のサーバ装置100のハードウェア構成を示すブロック図である。
サーバ装置(0)100Aは、CPU(0)101A、CPU(1)101B、不揮発メモリ(0)102A、主記憶メモリ(0)104A、LANアダプタ(0)105A、I/Oアダプタ(0)106A、I/Oアダプタ(1)106B及びI/Oコントローラ(0)107A等の物理資源を備える計算機である。サーバ装置(0)100Aは、さらに、上記の各物理資源への電源供給を制御する電源制御部108Aを備える。
CPU(0)101A及びCPU(1)101Bは、サーバ装置(0)100Aで実行されるオペレーティングシステム(OS)及びアプリケーションプログラムに関する演算処理を実行する。図1Bに示すサーバ装置(0)100Aは、例として、二つのCPU(0)101A及びCPU(1)101Bを備える。しかし、サーバ装置(0)100Aは、一つのCPU101のみを備えてもよいし、三つ以上のCPU101を備えてもよい。
主記憶メモリ(0)104Aは、CPU(0)101A及びCPU(1)101Bの動作に必要なプログラム及びデータを格納する。
I/Oコントローラ(0)107Aは、CPU(0)101A、CPU(1)101B、不揮発メモリ(0)102A、主記憶メモリ(0)104A、LANアダプタ(0)105A、I/Oアダプタ(0)106A及びI/Oアダプタ(1)106Bの間を接続し、データ及び制御信号を転送する。
I/Oアダプタ(0)106A及びI/Oアダプタ(1)106Bは、それぞれ、I/Oチャネル160A及びI/Oチャネル160Bを介してストレージ装置120と接続される。I/Oアダプタ(0)106A及びI/Oアダプタ(1)106Bは、ストレージ装置120に対してデータ入出力要求を送信し、ストレージ装置120に格納されたデータを受信する。図1Bには、各サーバ装置100について二つのI/Oアダプタ106を示すが、各サーバ装置100は、さらに多くのI/Oアダプタ106を備えてもよい。
これらの二つのI/Oアダプタ(0)106A及びI/Oアダプタ(1)106Bが独立して動作することによって、処理系が二重化される。このため、一方のI/Oアダプタ106に障害が発生しても、サーバ装置(0)100Aからストレージ装置120へのアクセスが停止しない。
LANアダプタ(0)105Aは、ネットワーク170を介して、他のサーバ装置(1)100B、ストレージ装置120及び管理端末150と接続される。LANアダプタ(0)105Aは、ネットワーク170を介して接続された装置との間で、制御情報及び管理情報を送受信する。
不揮発メモリ(0)102Aには、ハイパーバイザ103Aが格納されている。ハイパーバイザ103Aは、CPU101が実行する処理によって実現され、サーバ装置(0)100Aの物理資源の論理区画を実現する。
ハイパーバイザ103Aは、サーバ装置(0)100の電源投入時に不揮発メモリ102Aから専用のプログラムを実行することによって、読み出される。そして、このプログラムの実行によってハイパーバイザ103Aが起動され、サーバ装置(0)100Aが備える資源を管理する。すなわち、ハイパーバイザ103Aは、サーバ装置(0)100A内に論理区画を構成することによって、独立して動作する仮想計算機を生成するための管理プログラムである。
なお、サーバ装置(0)100Aの電源投入時にハイパーバイザ103Aが起動される代わりに、サーバ装置(0)100AのOS起動時に、仮想化エンジンが起動し、OS及び仮想化エンジンによってハイパーバイザが構成されてもよい。この場合、サーバ装置(0)100Aの電源投入時に起動したOSが、仮想化エンジンを読み出して、実行する。この仮想化エンジンは、不揮発メモリ102Aに格納されても、ストレージ装置120に格納されてもよい。
以下、本明細書では、多くの場合、ソフトウェアを主体として動作を説明するが、実際には、CPU101等がソフトウェアを実行することによって、ハイパーバイザ103等が動作する。
ハイパーバイザ103Aは、ソフトウェアではなく、ハードウェアによって構成されてもよい。例えば、サーバ装置(0)100Aがハイパーバイザ用の専用チップを備えてもよいし、CPU101が、仮想計算機を管理するためのハイパーバイザ部を備えてもよい。
サーバ装置(1)100Bは、サーバ装置(0)100Aと同様の構成を有するため、説明を省略する。具体的には、CPU(2)101C、CPU(3)101D、不揮発メモリ(1)102B、主記憶メモリ(1)104B、LANアダプタ(1)105B、I/Oアダプタ(2)106C、I/Oアダプタ(3)106D、I/Oコントローラ(1)107B及び電源制御部108Bが、それぞれ、CPU(0)101A、CPU(1)101B、不揮発メモリ(0)102A、主記憶メモリ(0)104A、LANアダプタ(0)105A、I/Oアダプタ(0)106A、I/Oアダプタ(1)106B、I/Oコントローラ(0)107A及び電源制御部108Aに対応する。
図1Cは、本発明の第1の実施の形態のストレージ装置120内のチャネルボード121のハードウェア構成を示すブロック図である。
チャネルボード(0)121Aは、CPU(4)122A、CPU(5)122B、主記憶メモリ(2)124A、不揮発メモリ(2)125A、LANアダプタ(2)127A、内部ネットアダプタ(0)128A、チャネルアダプタ(0)129A、チャネルアダプタ(1)129B及びI/Oコントローラ(2)130A等の物理資源を備える。チャネルボード(0)121Aは、さらに、上記の各物理資源への電源供給を制御する電源制御部123Aを備える。
CPU(4)122A及びCPU(5)122Bは、ストレージ装置120において実行される各種管理プログラムに関する演算処理を実行する。
主記憶メモリ(2)124Aは、CPU(4)122A及びCPU(5)122Bの動作に必要なプログラム及びデータを記憶する。
不揮発メモリ(2)125Aには、ストレージハイパーバイザ126Aが格納されている。ストレージハイパーバイザ126Aは、ハイパーバイザ103と同様、CPU122が実行する処理によって実現され、ストレージ装置120の物理資源の論理区画を実現する。
ストレージハイパーバイザ126Aは、ストレージ装置120に論理区画を構成し、独立して動作する仮想ストレージ装置を生成する管理プログラムによって実現される。ストレージハイパーバイザ126Aを実現するために、上記のサーバ装置(0)100Aのハイパーバイザ103Aと同様、多様な方法を採用することができる。
LANアダプタ(2)127Aは、ネットワーク170を介して、サーバ装置100、管理端末150、ディスクボード132及び他のチャネルボード121と接続される。LANアダプタ(2)127Aは、ネットワーク170を介して接続された装置との間で、制御信号及び管理情報を送受信する。
内部ネットアダプタ(0)128Aは、内部ネットワーク131を介して、ディスクボード132、ディスクキャッシュボード142及び他のチャネルボード121と接続される。内部ネットアダプタ(0)128Aは、内部ネットワーク131を介して接続された各部との間で、データ等を送受信する。
チャネルアダプタ(0)129A及びチャネルアダプタ(1)129Bは、それぞれ、I/Oチャネル160A及び160Cを介して、サーバ装置(0)100A及びサーバ装置(1)100Bと接続される。チャネルアダプタ(0)129A及びチャネルアダプタ(1)129Bは、サーバ装置100からデータ入出力要求を受信し、ストレージ装置120に格納されたデータを送信する。図1Cには、各チャネルボード121について二つのチャネルアダプタ129を示すが、各チャネルボード121は、さらに多くのチャネルアダプタ129を備えてもよい。
I/Oコントローラ(2)130Aは、CPU(4)122A、CPU(5)122B、主記憶メモリ(2)124A、不揮発メモリ(2)125A、LANアダプタ(2)127A、内部ネットアダプタ(0)128A、チャネルアダプタ(0)129A及びチャネルアダプタ(1)129Bの間を接続し、データ及び制御信号を転送する。
チャネルボード(1)121Bは、チャネルボード(0)121Aと同様の構成を有するため、説明を省略する。具体的には、CPU(6)122C、CPU(7)122D、電源制御部123B、主記憶メモリ(3)124B、不揮発メモリ(3)125B、LANアダプタ(3)127B、内部ネットアダプタ(1)128B、チャネルアダプタ(2)129C、チャネルアダプタ(3)129D及びI/Oコントローラ(3)130Bが、それぞれ、CPU(4)122A、CPU(5)122B、電源制御部123A、主記憶メモリ(2)124A、不揮発メモリ(2)125A、LANアダプタ(2)127A、内部ネットアダプタ(0)128A、チャネルアダプタ(0)129A、チャネルアダプタ(1)129B及びI/Oコントローラ(2)130Aに対応する。
チャネルボード(0)121A及びチャネルボード(1)121Bが独立して動作することによって、処理系が二重化される。このため、一方のチャネルボード121に障害が発生しても、ストレージ装置120が停止しない。ストレージ装置120は、さらに多くのチャネルボード121を備えてもよい。
図1Dは、本発明の第1の実施の形態のストレージ装置120内のディスクボード132のハードウェア構成を示すブロック図である。
ディスクボード(0)132Aは、CPU(8)133A、CPU(9)133B、主記憶メモリ(4)135A、不揮発メモリ(4)136A、LANアダプタ(4)138A、I/Oアダプタ(4)139A、内部ネットアダプタ(2)140A及びI/Oコントローラ(4)141A等の物理資源を備える。ディスクボード(0)132Aは、さらに、上記の各物理資源への電源供給を制御する電源制御部134Aを備える。
CPU(8)133A及びCPU(9)133Bは、ストレージ装置120において実行される各種プログラムに関する演算処理を実行する。
主記憶メモリ(4)135Aは、CPU(8)133A及びCPU(9)133Bの動作に必要なプログラム及びデータを記憶する。
不揮発メモリ(4)136Aには、ストレージハイパーバイザ137Aが格納されている。ストレージハイパーバイザ137Aは、ハイパーバイザ103と同様、CPU133が実行する処理によって実現され、ストレージ装置120の物理資源の論理区画を実現する。
ストレージハイパーバイザ137Aは、ストレージ装置120に論理区画を構成し、独立して動作する仮想ストレージ装置を生成する管理プログラムによって実現される。ストレージハイパーバイザ137Aを実現するために、上記のサーバ装置(0)100Aのハイパーバイザ103Aと同様、多様な方法を採用することができる。
LANアダプタ(4)138Aは、ネットワーク170を介して、サーバ装置100、管理端末150、チャネルボード121及び他のディスクボード132と接続される。LANアダプタ(4)138Aは、ネットワーク170を介して接続された装置との間で、制御信号及び管理情報を送受信する。
I/Oアダプタ(4)139Aは、物理ディスクドライブ148と接続される。I/Oアダプタ(4)139Aは、物理ディスクドライブ148に対してデータ入出力要求を送信し、物理ディスクドライブ148に格納されたデータを受信する。
内部ネットアダプタ(2)140Aは、内部ネットワーク131を介して、チャネルボード121、ディスクキャッシュボード142及び他のディスクボード132と接続される。内部ネットアダプタ(2)140Aは、内部ネットワーク131を介して接続された各部との間で、データ等を送受信する。
I/Oコントローラ(4)141Aは、CPU(8)133A、CPU(9)133B、主記憶メモリ(4)135A、不揮発メモリ(4)136A、LANアダプタ(4)138A、I/Oアダプタ(4)139A及び内部ネットアダプタ(2)140Aの間を接続し、データ及び制御信号を転送する。
ディスクボード(1)132Bは、ディスクボード(0)132Aと同様の構成を有するため、説明を省略する。具体的には、CPU(10)133C、CPU(11)133D、電源制御部134B、主記憶メモリ(5)135B、不揮発メモリ(5)136B、LANアダプタ(5)138B、I/Oアダプタ(5)139B、内部ネットアダプタ(3)140B及びI/Oコントローラ(5)141Bが、それぞれ、CPU(8)133A、CPU(9)133B、電源制御部134A、主記憶メモリ(4)135A、不揮発メモリ(4)136A、LANアダプタ(4)138A、I/Oアダプタ(4)139A、内部ネットアダプタ(2)140A及びI/Oコントローラ(4)141Aに対応する。
ディスクボード(0)132A及びディスクボード(1)132Bが独立して動作することによって、処理系が二重化される。このため、一方のディスクボード132に障害が発生しても、ストレージ装置120が停止しない。ストレージ装置120は、さらに多くのディスクボード132を備えてもよい。
図1Eは、本発明の第1の実施の形態のストレージ装置120内のディスクキャッシュボード142のハードウェア構成を示すブロック図である。
ディスクキャッシュボード(0)142Aは、ディスクキャッシュコントローラ143A、ディスクキャッシュ(0)144A及びディスクキャッシュ(1)144Bを備える。
ディスクキャッシュ(0)144A及びディスクキャッシュ(1)144Bは、物理ディスクドライブ148に読み書きされるデータを一時的に格納するメモリである。データを一時的にディスクキャッシュ144に格納することによって、サーバ装置100からストレージ装置120へのアクセス性能が向上する。ディスクキャッシュコントローラ143Aは、ディスクキャッシュ(0)144A及びディスクキャッシュ(1)144Bに対するデータの書き込み及び読み出しを制御する。
ディスクキャッシュボード(1)142Bは、ディスクキャッシュボード(0)142Aと同様の構成を有するため、説明を省略する。具体的には、ディスクキャッシュコントローラ143B、ディスクキャッシュ(2)144C及びディスクキャッシュ(3)144Dが、それぞれ、ディスクキャッシュコントローラ143A、ディスクキャッシュ(0)144A及びディスクキャッシュ(1)144Bに対応する。
図2は、本発明の第1の実施の形態のサーバ装置100の電源供給系統の説明図である。
サーバ装置100の電源供給系統は、交流電源201、システム電源スイッチ202、電源制御部108、及び、電源の供給を受ける各物理資源(すなわち、CPU101、I/Oコントローラ107、主記憶メモリ104、不揮発メモリ102、I/Oアダプタ106及びLANアダプタ105)からなる。
交流電源201は、サーバ装置100に供給される電源である。交流電源201は、例えば、電力会社から供給される商用電源であってもよいし、その他のいかなる種類の交流電源であってもよい。
システム電源スイッチ202は、交流電源201からサーバ装置100に供給される電源の投入(すなわち、電源供給の開始)及び切断(すなわち、電源供給の終了)を切り替える。システム電源スイッチ202が切断されると、サーバ装置100全体への電源供給が完全に停止する。
サーバ装置100の電源供給系統は、スタンバイ電源供給領域204と、メイン電源供給領域205の二つの領域に分けられる。電源制御部108及びLANアダプタ105は、スタンバイ電源供給領域204に属し、CPU101、I/Oコントローラ107、主記憶メモリ104、不揮発メモリ102及びI/Oアダプタ106は、メイン電源供給領域205に属する。
スタンバイ電源供給領域204には、交流電源201が稼動し、かつ、システム電源スイッチ202が投入されている限り、電源が供給される。すなわち、スタンバイ電源供給領域204に供給される電源は、電源制御部108によって切断されない。
一方、メイン電源供給領域205に供給される電源は、電源制御部108によって制御される。すなわち、電源制御部108は、メイン電源供給領域205に属する各物理資源への電源の投入及び切断を制御する。
電源制御部108は、LANアダプタ105がネットワーク170を介して受信した要求に従って、各物理資源への電源供給を制御することができる。例えば、LANアダプタ105は、メイン電源供給領域205への電源投入の要求を受信すると、メイン電源オン割り込み信号203を電源制御部108に送信する。メイン電源オン割り込み信号203を受信した電源制御部108は、メイン電源供給領域205に電源を投入する。あるいは、CPU101が電源制御部108に対してI/Oアダプタ106などの資源の電源投入,切断を指示することができる。
図3は、本発明の第1の実施の形態のストレージ装置120の電源供給系統の説明図である。
ストレージ装置120の電源供給系統は、交流電源301A、交流電源301B、システム電源スイッチ302A、システム電源スイッチ302B、システム電源制御部146A、システム電源制御部146B、バッテリ147A、バッテリ147B、及び、電源の供給を受ける各物理資源(すなわち、チャネルボード121、ディスクボード132、ディスクキャッシュボード142及び物理ディスク148)からなる。
交流電源301A及び301Bは、ストレージ装置120に供給される電源である。交流電源301A及び301Bは、図2の交流電源201と同様、いかなる種類の交流電源であってもよい。
システム電源スイッチ302A及び302Bは、図2のシステム電源スイッチ202と同様のスイッチである。
システム電源制御部146A、システム電源制御部146B、バッテリ147A、バッテリ147B及び各物理資源については、図1Aにおいて説明したため、ここでは説明を省略する。
図3に示すように、ストレージ装置120の電源供給系統は、交流電源301、システム電源スイッチ302、システム電源制御部146及びバッテリ147をそれぞれ二つずつ独立に備えている。このため、二つのうち一方に障害が発生しても、もう一方が電源を供給することができる。
図4は、本発明の第1の実施の形態のストレージ装置120のチャネルボード121の電源供給系統の説明図である。
チャネルボード121の電源供給系統は、電源制御部123、及び、電源の供給を受ける各物理資源(すなわち、CPU122、I/Oコントローラ130、主記憶メモリ124、不揮発メモリ125、チャネルアダプタ129、内部ネットアダプタ128及びLANアダプタ127)からなる。
電源制御部123は、システム電源146A及び146Bから電源供給を受けて、その電源の各物理資源への供給を制御する。
チャネルボード121の電源供給系統は、スタンバイ電源供給領域402と、メイン電源供給領域403の二つの領域に分けられる。電源制御部123及びLANアダプタ127は、スタンバイ電源供給領域402に属し、CPU122、I/Oコントローラ130、主記憶メモリ124、不揮発メモリ125、チャネルアダプタ129及び内部ネットアダプタ128は、メイン電源供給領域403に属する。
スタンバイ電源供給領域402は、図2に示すスタンバイ電源供給領域204と同様、電源制御部123によって電源を切断されない。すなわち、システム電源146A及び146Bの少なくとも一方から電源が供給される限り、スタンバイ電源供給領域402に電源が供給される。
一方、メイン電源供給領域403に供給される電源は、電源制御部123によって制御される。すなわち、電源制御部123は、メイン電源供給領域403に属する各物理資源への電源の投入及び切断を制御する。
電源制御部123は、LANアダプタ127がネットワーク170を介して受信した要求に従って、各物理資源への電源供給を制御することができる。例えば、LANアダプタ127は、メイン電源供給領域403への電源投入の要求を受信すると、メイン電源オン割り込み信号401を電源制御部123に送信する。メイン電源オン割り込み信号401を受信した電源制御部123は、メイン電源供給領域403に電源を投入する。あるいは、チャネルボード121A、ディスクボード132A、が電源制御部146A、147Bに対してディスクキャッシュ144、148などの資源の電源投入,切断を指示することができる。
図5は、本発明の第1の実施の形態のストレージ装置120のディスクボード132の電源供給系統の説明図である。
ディスクボード132の電源供給系統は、電源制御部134、及び、電源の供給を受ける各物理資源(すなわち、CPU133、I/Oコントローラ141、主記憶メモリ135、不揮発メモリ136、I/Oアダプタ139、内部ネットアダプタ140及びLANアダプタ138)からなる。
電源制御部134は、システム電源146A及び146Bから電源供給を受けて、その電源の各物理資源への供給を制御する。
ディスクボード132の電源供給系統は、スタンバイ電源供給領域502と、メイン電源供給領域503の二つの領域に分けられる。電源制御部134及びLANアダプタ138は、スタンバイ電源供給領域502に属し、CPU133、I/Oコントローラ141、主記憶メモリ135、不揮発メモリ136、I/Oアダプタ139及び内部ネットアダプタ140は、メイン電源供給領域503に属する。
スタンバイ電源供給領域502は、図2に示すスタンバイ電源供給領域204と同様、電源制御部134によって電源を切断されない。すなわち、システム電源146A及び146Bの少なくとも一方から電源が供給される限り、スタンバイ電源供給領域502に電源が供給される。
一方、メイン電源供給領域503に供給される電源は、電源制御部134によって制御される。すなわち、電源制御部134は、メイン電源供給領域503に属する各物理資源への電源の投入及び切断を制御する。
電源制御部134は、LANアダプタ138がネットワーク170を介して受信した要求に従って、各物理資源への電源供給を制御することができる。例えば、LANアダプタ138は、メイン電源供給領域503への電源投入の要求を受信すると、メイン電源オン割り込み信号501を電源制御部134に送信する。メイン電源オン割り込み信号501を受信した電源制御部134は、メイン電源供給領域503に電源を投入する。あるいは、CPU122がI/Oコントローラ130、主記憶メモリ124、不揮発メモリ125、チャネルアダプタ129、内部ネットアダプタ128などの資源の電源投入、切断を電源制御部134に指示することができる。
図6Aは、本発明の第1の実施の形態の計算機システムの機能ブロック図である。
サーバ装置(0)100Aは、機能に着目すると、物理層、ハイパーバイザ層及び仮想計算機層の各階層からなる。
サーバ装置(0)100Aの物理層は、CPU、LANアダプタ及びI/Oアダプタ等の計算機資源を備える物理計算機(0)601Aである。
ハイパーバイザ層は、前述したハイパーバイザ103Aによって実現される。物理計算機(0)100Aが備える計算機資源は、ハイパーバイザ103Aによって管理される。
なお、物理資源の後に付された括弧書きの数字は、各物理資源の識別子である。仮想資源の後に付された括弧書きの数字は、各仮想資源の識別子である。
仮想計算機層には、仮想計算機(0)602A及び仮想計算機(1)602Bが構成される。これらの仮想計算機は、ハイパーバイザ103Aが物理計算機(0)601Aの計算機資源を論理区画に分割することによって生成されたものである。仮想計算機(0)602A及び仮想計算機(1)602Bの上で、それぞれ、OS(0)603A及びOS(1)603Bが動作する。OS(0)603Aは、仮想計算機(0)602Aに割り当てられた計算機資源を使用して演算処理をする。OS(1)603Bは、仮想計算機(1)602Bに割り当てられた計算機資源を使用して演算処理をする。
サーバ装置(1)100Bは、上記のサーバ装置(0)100Aと同様の構成を有する。上記のサーバ装置(0)100Aの各階層に関する説明は、サーバ装置(1)100Bの物理計算機(1)601B、ハイパーバイザ103B、仮想計算機(2)602C、仮想計算機(3)602D、OS(2)603C及びOS(3)603Dについても適用することができる。
ストレージ装置120は、機能に着目すると、物理層、ハイパーバイザ層及び仮想ストレージ層の各階層からなる。
ストレージ装置120の物理層は、物理ディスクドライブ、CPU、ディスクキャッシュ、LANアダプタ及びチャネルアダプタ等のストレージ資源を備える物理ストレージ装置611である。
ハイパーバイザ層は、ストレージハイパーバイザ612によって実現される。ストレージハイパーバイザ612は、図1Cのストレージハイパーバイザ126A、126B、137A及び137Bに相当する。
仮想ストレージ層には、仮想ストレージ装置(0)613A及び仮想ストレージ装置(1)613Bが構成される。これらの仮想ストレージ装置は、ストレージハイパーバイザ612が物理ストレージ装置611のストレージ資源を論理区画に分割することによって生成されたものである。
サーバ装置100及びストレージ装置120の各階層については、後で詳細に説明する(図6B及び図6C参照)。
管理端末150の仮想計算機管理プログラム151は、計算機システム内の仮想計算機602を管理するためのプログラムである。以下の説明において、管理端末150が実行する処理は、実際には、管理端末150のCPU(図示省略)が、メモリ(図示省略)に格納されている仮想計算機管理プログラム151を実行することによって実現される。
仮想計算機管理プログラム151は、少なくとも、ストレージ資源管理テーブル621(図10参照)、仮想ディスク管理テーブル622(図8参照)、サーバ資源管理テーブル623(図7参照)、サーバ電源管理テーブル624(図11参照)及びストレージ電源管理テーブル625(図12参照)を含む。これらのテーブルについては、後で詳細に説明する。
図6Bは、本発明の第1の実施の形態のサーバ装置100の機能ブロック図である。
サーバ装置(0)100Aの物理計算機(0)601Aは、少なくとも、CPU(0)101A、CPU(1)101B、主記憶メモリ(0)104A、LANアダプタ(0)105A、I/Oアダプタ(0)106A及びI/Oアダプタ(1)106B等の物理資源を含む。これらは、図1Bにおいて説明したものである。物理計算機(0)601Aは、さらに他の物理資源を含んでもよいが、図6Bの説明に不要であるため、省略する。
ハイパーバイザ103Aは、サーバ電源管理テーブル651A、仮想ディスク管理テーブル652A及びサーバ資源管理テーブル653Aを含む。これらのテーブルは、それぞれ、サーバ電源管理テーブル624、仮想ディスク管理テーブル622及びサーバ資源管理テーブル623と同様のものであってもよい。
本実施の形態では、上記のテーブル651Aから653Aは、サーバ装置(0)100Aに関する情報のみを保持してもよい。同様にして、後述するサーバ装置(1)100Bのテーブル651Bから653Bは、サーバ装置(1)100Bに関する情報のみを保持してもよい。管理端末150は、各サーバ装置100及びストレージ装置120のハイパーバイザ内のテーブルが保持する情報を収集し、計算機システム全体に関する情報を保持するテーブル621から625を生成してもよい。
仮想計算機(0)602Aは、仮想I/Oアダプタ(0)654A、仮想I/Oアダプタ(1)654B、CPU資源655A及びメモリ資源656Aを含む。同様に、仮想計算機(1)602Bは、仮想I/Oアダプタ(2)654C、仮想I/Oアダプタ(3)654D、CPU資源655B及びメモリ資源656Bを含む。これらは、ハイパーバイザ103Aが物理計算機(0)601Aの物理資源を論理区画に分割することによって生成された仮想資源である。
サーバ装置(1)100Bの各階層の構成は、サーバ装置(0)100Aと同様である。すなわち、物理計算機(1)601Bは、少なくとも、CPU(2)101C、CPU(3)101D、主記憶メモリ(1)104B、LANアダプタ(1)105B、I/Oアダプタ(2)106C及びI/Oアダプタ(3)106D等の物理資源を含む。ハイパーバイザ103Bは、サーバ電源管理テーブル651B、仮想ディスク管理テーブル652B及びサーバ資源管理テーブル653Bを含む。
仮想計算機(2)602Cは、仮想I/Oアダプタ(4)654E、仮想I/Oアダプタ(5)654F、CPU資源655C及びメモリ資源656Cを含む。同様に、仮想計算機(3)602Dは、仮想I/Oアダプタ(6)654G、仮想I/Oアダプタ(7)654H、CPU資源655D及びメモリ資源656Dを含む。これらは、ハイパーバイザ103Bが物理計算機(1)601Bの物理資源を論理区画に分割することによって生成された仮想資源である。
図6Cは、本発明の第1の実施の形態のストレージ装置120の機能ブロック図である。
ストレージ装置120の物理ストレージ装置611は、少なくとも、CPU(4)122AからCPU(7)122D、CPU(8)133AからCPU(11)133D、チャネルアダプタ(0)129Aからチャネルアダプタ(3)129D、LANアダプタ(2)127A、LANアダプタ(3)127B、LANアダプタ(4)138A、LANアダプタ(5)138B、I/Oアダプタ(4)139A、I/Oアダプタ(5)139B、ディスクキャッシュボード(0)142A、ディスクキャッシュボード(1)142B及び物理ディスクドライブ148を含む。これらは、図1Cから図1Eにおいて説明したものである。物理ストレージ装置611は、さらに他の物理資源を含んでもよいが、図6Cの説明に不要であるため、省略する。
ストレージハイパーバイザ612は、少なくとも、仮想ディスク管理テーブル661、ディスクアドレス変換テーブル662、ストレージ資源管理テーブル663、ストレージ電源管理テーブル664及び一つ以上の仮想ディスク665を含む。仮想ディスク管理テーブル661、ストレージ資源管理テーブル663及びストレージ電源管理テーブル664は、管理端末150によって管理される仮想ディスク管理テーブル622、ストレージ資源管理テーブル621及びストレージ電源管理テーブル625と同様のものであってもよい。管理端末150は、ストレージハイパーバイザ612内の各テーブルが保持する情報を収集し、その収集した情報を管理端末150内の各テーブルに保持してもよい。
ディスクアドレス変換テーブル662については、後で詳細に説明する(図9参照)。
仮想ディスク665は、ストレージハイパーバイザ612が物理ストレージ装置611のストレージ資源を論理区画に分割することによって生成される。
仮想ストレージ装置(0)613Aは、少なくとも、仮想チャネルアダプタ(0)666A、仮想チャネルアダプタ(1)666B、ディスクキャッシュ資源667A、CPU資源668A、内部ネットワーク資源669A及び一つ以上の論理ユニット670を含む。同様に、仮想ストレージ装置(1)613Bは、少なくとも、仮想チャネルアダプタ(2)666C、仮想チャネルアダプタ(3)666D、ディスクキャッシュ資源667B、CPU資源668B、内部ネットワーク資源669B及び一つ以上の論理ユニット670を含む。これらは、ストレージハイパーバイザ612が物理ストレージ装置611の物理資源を論理区画に分割することによって生成された仮想資源である。
論理ユニット670は、サーバ装置100に提供される論理的な記憶領域である。サーバ装置100のOS603は、各論理ユニット670を一つのディスクとして認識する。論理ユニット670は、仮想ディスク665と対応付けられる。
図6Cには、二つの仮想ストレージ装置613を示すが、ストレージ装置120は、さらに多くの仮想ストレージ装置613(例えば、図示しない仮想ストレージ装置(2)及び仮想ストレージ装置(3))を含んでもよい。
図7は、本発明の第1の実施の形態のサーバ資源管理テーブル623の説明図である。
サーバ資源管理テーブル623は、サーバ装置100の仮想資源に対する物理資源の割り当てを管理するための情報を保持する。
具体的には、サーバ資源管理テーブル623は、仮想計算機番号701、CPU利用率702、メモリ容量703、仮想I/Oアダプタ番号704及びI/Oアダプタ番号705の五つのカラムからなる。
仮想計算機番号701には、仮想計算機602の識別子(すなわち、図6Aにおいて括弧内に記載されている数字)が登録される。
CPU利用率702及びメモリ容量703は、それぞれ、各仮想計算機602に割り当てられるCPU資源655及びメモリ資源656を示す。例えば、図7において、仮想計算機番号701の値「0」に対応するCPU利用率702及びメモリ容量703として、それぞれ、「20%」及び「512MB」が登録されている。これは、仮想計算機(0)602AのCPU資源655Aとして、物理計算機(0)601Aの物理資源のうち、CPU(0)101A及びCPU(1)101Bの20%が割り当てられ、メモリ資源656Aとして、主記憶メモリ104Aの512MB(メガバイト)の記憶領域が割り当てられることを意味する。
仮想I/Oアダプタ番号704には、各仮想計算機602に含まれる仮想I/Oアダプタ654の識別子が登録される。
図7の例では、仮想計算機番号701の値「0」に対応する仮想I/Oアダプタ番号704として、「0」及び「1」が登録されている。仮想計算機番号701の値「1」に対応する仮想I/Oアダプタ番号704として、「2」及び「3」が登録されている。これは、図6Bに示すように、仮想計算機(0)602Aが仮想I/Oアダプタ(0)654A及び仮想I/Oアダプタ(1)654Bを含み、仮想計算機(1)602Bが仮想I/Oアダプタ(2)654C及び仮想I/Oアダプタ(3)654Cを含むことを示す。
I/Oアダプタ番号705には、各仮想I/Oアダプタ654に割り当てられるI/Oアダプタ106の識別子が登録される。
図7の例では、仮想I/Oアダプタ番号704の値「0」、「1」、「2」及び「3」に対応するI/Oアダプタ106として、それぞれ、「0」、「1」、「0」及び「1」が登録されている。これは、仮想I/Oアダプタ(0)654A及び仮想I/Oアダプタ(2)654Cに、I/Oアダプタ(0)106Aが割り当てられ、仮想I/Oアダプタ(1)654B及び仮想I/Oアダプタ(3)654Dに、I/Oアダプタ(1)106Bが割り当てられていることを示す。このように、一つの物理資源を複数の仮想資源に割り当てることによって、物理資源より多い数の仮想資源を提供することができる。
図7ではサーバ装置(1)100Bが含む仮想計算機(2)602C及び仮想計算機(3)602Dに関する情報が省略されているが、サーバ資源管理テーブル623は、計算機システム内の全ての仮想計算機602に関する情報を保持する。
各サーバ装置100内のサーバ資源管理テーブル653も、図7に示すものと同様の情報を保持する。ただし、サーバ資源管理テーブル653は、そのテーブルを保持するサーバ装置100が含む仮想計算機602のみに関する情報を保持してもよい。例えば、サーバ装置(0)100A内のサーバ資源管理テーブル653Aは、仮想計算機(0)602A及び仮想計算機(1)602Bのみに関する情報を保持してもよい。
図8は、本発明の第1の実施の形態の仮想ディスク管理テーブル622の説明図である。
仮想ディスク管理テーブル622は、仮想計算機602に対する仮想ディスク665の割り当てを管理するための情報を保持する。
具体的には、仮想ディスク管理テーブル622は、仮想計算機番号801、仮想ストレージ番号802、論理ユニット番号803及び仮想ディスク番号804の四つのカラムからなる。
仮想計算機番号801には、図7の仮想計算機番号701と同様、仮想計算機602の識別子が登録される。
仮想ディスク番号804には、仮想計算機602に割り当てられる仮想ディスク665の識別子が登録される。
論理ユニット番号803には、仮想計算機602に割り当てられる仮想ディスク665と対応付けられた論理ユニット670の識別子が登録される。
仮想ストレージ番号802には、仮想計算機602に割り当てられる論理ユニット670が属する仮想ストレージ装置613の識別子が登録される。
図8の例では、仮想計算機(0)602Aに、仮想ストレージ装置(0)613A内の三つの論理ユニット670が割り当てられる。それらの論理ユニット670の識別子は、それぞれ、「0」、「1」及び「2」である。それらの論理ユニット670は、それぞれ、識別子「121」「122」及び「123」を有する仮想ディスク665と対応付けられている。
なお、図8の例では、一つの仮想計算機602に一つの仮想ストレージ装置613が割り当てられる。しかし、複数の仮想計算機602が一つの仮想ストレージ装置613を共有してもよい。この場合、一つの仮想計算機番号801の値に対応する仮想ストレージ番号802として、複数の値(識別子)が登録される。
また、図8の例では、一つの論理ユニット670に一つの仮想ディスク665が対応付けられる。しかし、一つの論理ユニット670に複数の仮想ディスク665が対応付けられてもよい。この場合、一つの論理ユニット番号803の値に対応する仮想ディスク番号804として、複数の値(識別子)が登録される。
図8ではサーバ装置(1)100Bが含む仮想計算機(2)602C及び仮想計算機(3)602Dに関する情報が省略されているが、仮想ディスク管理テーブル622は、計算機システム内の全ての仮想計算機602に関する仮想ディスク665の割り当てを管理するための情報を保持する。
各サーバ装置100内の仮想ディスク管理テーブル652も、図8に示すものと同様の情報を保持する。ただし、仮想ディスク管理テーブル652は、そのテーブルを保持するサーバ装置100が含む仮想計算機602のみに関する情報を保持してもよい。例えば、サーバ装置(0)100A内の仮想ディスク管理テーブル652Aは、仮想計算機(0)602A及び仮想計算機(1)602Bに割り当てられた仮想ディスク665のみに関する情報を保持してもよい。
ストレージ装置120内の仮想ディスク管理テーブル661も、図8に示すものと同様の情報を保持する。ただし、計算機システムが複数のストレージ装置120を備える場合、仮想ディスク管理テーブル661は、そのテーブルを保持するストレージ装置120内の仮想ディスク665のみに関する情報を保持してもよい。
図9は、本発明の第1の実施の形態のディスクアドレス変換テーブル662の説明図である。
ディスクアドレス変換テーブル662は、仮想ディスク665と、その仮想ディスク665に割り当てられる物理ディスクドライブ148との対応関係を管理するための情報を保持する。
具体的には、ディスクアドレス変換テーブル662は、仮想ディスク番号901、仮想ブロックアドレス902、物理ディスク番号903及び物理ブロックアドレス904の四つのカラムからなる。
仮想ディスク番号901には、仮想ディスク665の識別子が登録される。
仮想ブロックアドレス902には、仮想ディスク665内の論理ブロックを各仮想ディスク665内で一意に識別する仮想ブロックアドレスが登録される。
物理ディスク番号903には、仮想ディスク665に割り当てられる物理ディスクドライブ148の識別子が登録される。
物理ブロックアドレス904には、仮想ディスク665に割り当てられる物理ディスクドライブ148内の論理ブロックを各物理ディスクドライブ内で一意に識別する物理ブロックアドレスが登録される。
なお、論理ブロックとは、記憶領域の管理単位として扱われる所定の大きさの領域である。例えば、SCSI規格が適用される場合、論理ブロックは、512バイトの記憶領域である。
図9の例では、仮想ディスク番号901の値「121」に対応する仮想ブロックアドレス902として、「0x00000000」及び「0x80000000」が登録されている。仮想ブロックアドレス902の値「0x00000000」及び「0x80000000」に対応する物理ディスク番号903として、それぞれ、「8」及び「9」が登録されている。仮想ブロックアドレス902の値「0x00000000」及び「0x80000000」に対応する物理ブロックアドレス904として、それぞれ、「0x00000000」及び「0x00000000」が登録されている。
これは、識別子「121」を有する仮想ディスク665のアドレス「0x00000000」から始まる領域に、識別子「8」を有する物理ディスクドライブ148のアドレス「0x00000000」から始まる領域が割り当てられており、識別子「121」を有する仮想ディスク665のアドレス「0x80000000」から始まる領域に、識別子「9」を有する物理ディスクドライブ148のアドレス「0x00000000」から始まる領域が割り当てられていることを示す。
図10は、本発明の第1の実施の形態のストレージ資源管理テーブル621の説明図である。
ストレージ資源管理テーブル621は、仮想計算機602に対する仮想ストレージ装置613の割り当て、及び、ストレージ装置120の仮想資源に対する物理資源の割り当てを管理するための情報を保持する。
具体的には、ストレージ資源管理テーブル621は、仮想計算機番号1001、仮想ストレージ装置番号1002、仮想ディスク番号1003、ディスクキャッシュ容量1004、担当CPU1005、内部帯域1006、仮想チャネルアダプタ1007、チャネルアダプタ1008、I/Oアダプタ1009及び仮想I/Oアダプタ1010の10カラムからなる。
仮想計算機番号1001、仮想ストレージ装置番号1002及び仮想ディスク番号1003は、それぞれ、図8の仮想計算機番号801、仮想ストレージ番号802及び仮想ディスク番号804と同様であるため、説明を省略する。
ディスクキャッシュ容量1004には、各仮想ストレージ装置613のディスクキャッシュ資源667として割り当てられるディスクキャッシュ144の容量が登録される。
担当CPU1005には、各仮想ストレージ装置613のCPU資源668として割り当てられるCPU122及びCPU133の識別子が登録される。
内部帯域1006には、各仮想ストレージ装置613が含む内部ネットワーク資源669として割り当てられる内部ネットワーク131の帯域が登録される。
仮想チャネルアダプタ1007には、各仮想ストレージ装置613が含む仮想チャネルアダプタ666の識別子が登録される。
チャネルアダプタ1008には、各仮想ストレージ装置613の仮想チャネルアダプタ666として割り当てられるチャネルアダプタ129の識別子が登録される。
仮想I/Oアダプタ1010には、各仮想ストレージ装置613が含む仮想I/Oアダプタの識別子が登録される。
I/Oアダプタ1009には、各仮想ストレージ装置613の仮想I/Oアダプタとして割り当てられるI/Oアダプタ139の識別子が登録される。
ストレージ装置120内のストレージ資源管理テーブル663にも、図10に示すものと同様の情報が保持される。ただし、計算機システムが複数のストレージ装置120を備える場合、各ストレージ装置120のストレージ資源管理テーブル663は、そのストレージ装置120に関する情報のみを保持してもよい。その場合、ストレージ資源管理テーブル621は、計算機システム内の全ストレージ装置120から収集した、全ストレージ装置120に関する情報を保持してもよい。
図11は、本発明の第1の実施の形態のサーバ電源管理テーブル624の説明図である。
サーバ電源管理テーブル624は、サーバ装置100の各資源の電源状態を管理するための情報を保持する。
具体的には、サーバ電源管理テーブル624は、資源分類1101、資源1102、電源状態1103及び使用中仮想計算機番号1104の四つのカラムからなる。
資源分類1101は、サーバ電源管理テーブル624に登録される各資源が物理資源であるか仮想資源であるかを示す。資源分類1101の値「P」は物理資源を示し、値「V」は仮想資源を示す。
資源1102には、サーバ装置100が含む物理資源及び仮想資源の名前及び識別子が登録される。
電源状態1103には、「FULL ON」又は「OFF」等、各資源の電源状態を示す値が登録される。「FULL ON」は、資源に電源が投入され、その資源が全力運転していることを示す。「OFF」は、資源に供給される電源が切断されていることを示す。あるいは、電源状態1103には、資源に供給される電源の一部が切断されていることを示す「SLEEP」や,性能を低下させ,消費電力を抑制する「省電力モード」等が登録されてもよい。また、「OFF」は、いわゆるメカニカルOFF又はソフトOFFに区別されてもよい。
使用中仮想計算機番号1104には、各物理資源を使用している仮想計算機602(すなわち、各物理資源が割り当てられている仮想計算機602)の識別子が登録される。仮想資源に対応する使用中仮想計算機番号1104は、「該当なし(N/A)」となる。
図11ではサーバ装置(1)100Bが含む資源に関する情報が省略されている。しかし、サーバ電源管理テーブル624は、計算機システム内の全てのサーバ装置100が含む資源の電源状態を管理するための情報を保持する。
各サーバ装置100内のサーバ電源管理テーブル651も、図11に示すものと同様の情報を保持する。ただし、サーバ電源管理テーブル651は、そのテーブルを保持するサーバ装置100が含む資源のみに関する情報を保持してもよい。例えば、サーバ装置(0)100Aのサーバ電源管理テーブル651は、サーバ装置(0)100Aが含む資源のみに関する情報を保持してもよい。
図12は、本発明の第1の実施の形態のストレージ電源管理テーブル625の説明図である。
ストレージ電源管理テーブル625は、ストレージ装置120の各資源の電源状態を管理するための情報を保持する。
具体的には、ストレージ電源管理テーブル625は、資源分類1201、資源1202、電源状態1203及び使用中仮想ストレージ装置番号1204の四つのカラムからなる。
資源分類1201は、資源分類1101と同様、ストレージ電源管理テーブル625に登録される各資源が物理資源であるか仮想資源であるかを示す。
資源1202には、ストレージ装置120が含む物理資源及び仮想資源の名前及び識別子が登録される。
電源状態1203は、電源状態1103と同様、各資源の電源状態を示す。
使用中仮想ストレージ装置番号1204には、各物理資源を使用している仮想ストレージ装置613(すなわち、各物理資源が割り当てられている仮想ストレージ装置613)の識別子が登録される。仮想資源に対応する使用中仮想ストレージ装置番号1204は、「該当なし(N/A)」となる。
ストレージ装置120のストレージ電源管理テーブル664も、図12に示すものと同様の情報を保持する。ただし、計算機システムが複数のストレージ装置120を備える場合、各ストレージ装置120のストレージ電源管理テーブル664は、そのストレージ装置120に関する情報のみを保持してもよい。
図13は、本発明の第1の実施の形態において実行される資源割り当て設定処理のフローチャートである。
最初に、ユーザが、管理端末150を操作して、仮想計算機602及び仮想ストレージ装置613に割り当てる物理資源を設定する(1301)。
管理端末150は、ステップ1301において仮想計算機602について設定された内容をサーバ装置100に送信する(1302)。
サーバ装置100のハイパーバイザ103は、管理端末150から送信された設定に従って、仮想計算機602を生成する(1303)。
次に、サーバ装置100は、管理端末150に設定完了を報告する(1304)。
次に、管理端末150は、ステップ1301において仮想ストレージ装置613について設定された内容をストレージ装置120に送信する(1305)。
ストレージ装置120のストレージハイパーバイザ612は、管理端末150から送信された設定に従って、仮想ストレージ装置613を生成する(1306)。
次に、ストレージ装置120は、管理端末150に設定完了を報告する(1307)。
以上で、資源割り当て設定処理が終了する。
図14は、本発明の第1の実施の形態において実行される仮想計算機602の起動処理のフローチャートである。
最初に、ユーザが、ストレージ装置120のシステム電源スイッチ302が投入されているか否か(すなわち、「ON」になっているか否か)を判定する(1401)。
ステップ1401において、システム電源スイッチ302が投入されていると判定された場合、ステップ1403に進む。一方、ステップ1401において、システム電源スイッチ302が投入されていない(すなわち、電源が切断されている)と判定された場合、ユーザは、システム電源スイッチ302を投入する(1402)。
次に、ユーザは、サーバ装置100のシステム電源スイッチ202が投入されているか否かを判定する(1403)。
ステップ1403において、システム電源スイッチ202が投入されていると判定された場合、ステップ1405に進む。一方、ステップ1403において、システム電源スイッチ202が投入されていないと判定された場合、ユーザは、システム電源スイッチ202を投入する(1404)。
次に、ユーザは、コンソール端末を操作して、仮想計算機602の起動を指示する(1405)。コンソール端末は、各サーバ装置100を操作するために各サーバ装置100に接続された計算機である。第1の実施の形態では、管理端末150がコンソール端末として使用される。
次に、管理端末150は、ストレージ装置120のCPU122等のうち、起動される仮想計算機602に割り当てられたCPU122等の電源が投入されているか否かを判定する(1406)。この判定のために、ストレージ電源管理テーブル625が参照される。図14の説明において、起動される仮想計算機602に割り当てられたCPU122等を当該CPU122等と記載する。CPU122等の割り当ては、図13に示す処理によって設定されたものである。
ステップ1406において、当該CPU122等の電源が投入されていると判定された場合、処理はステップ1408に進む。一方、ステップ1406において、当該CPU122等の電源が投入されていないと判定された場合、管理端末150は、当該CPU122等の電源を投入する指示をストレージ装置120に送信する(1407)。この指示は、ネットワーク170を経由して、ストレージ装置120のLANアダプタ127及びLANアダプタ138に到達する。あるいは、以下の方法でもよい。すなわち、システム電源を投入すると、最低でも1個のCPU122が稼動し、前記CPU122がストレージハイパーバイザ137を実行させておき、管理端末150が前記CPU122に当該CPUの起動命令を送信し、ストレージハイパーバイザ137が当該CPU122を起動する。
次に、当該CPU122等は、ストレージ装置120の各資源の電源を投入する(1408)。この電源の投入は、ステップ1407に示す指示を受信したストレージ装置120の電源制御部123及び134によって実行される。
次に、ストレージ装置120は、ストレージ装置120の初期設定処理を実行する(1409)。
次に、管理端末150は、サーバ装置100のCPU101のうち、起動される仮想計算機602に割り当てられたCPU101の電源が投入されているか否かを判定する(1410)。この判定のために、サーバ電源管理テーブル624が参照される。図14の説明において、起動される仮想計算機602に割り当てられたCPU101を当該CPU101と記載する。CPU101の割り当ては、図13に示す処理によって設定されたものである。
ステップ1410において、当該CPU101の電源が投入されていると判定された場合、処理はステップ1412に進む。一方、ステップ1410において、当該CPU101の電源が投入されていないと判定された場合、管理端末150は、当該CPU101の電源を投入する指示をサーバ装置100に送信する(1411)。この指示は、ネットワーク170を経由して、サーバ装置100のLANアダプタ105に到達する。あるいは、以下の方法でもよい。すなわち、システム電源を投入すると、最低でも1個のCPU101が稼動し、前記CPU101がハイパーバイザ103を実行させておき、管理端末150が前記CPU101に当該CPUの起動命令を送信し、ストレージハイパーバイザ103が当該CPU101を起動する。
次に、当該CPU101は、サーバ装置100の各資源の電源を投入する(1412)。この電源の投入は、ステップ1411に示す指示を受信したサーバ装置100の電源制御部108によって実行される。
次に、サーバ装置100は、サーバ装置100の初期設定処理を実行する(1413)。
次に、サーバ装置100は、I/Oチャネル160を構成するケーブルがどのように接続されているかを検出する(1414)。この処理は、図15に示す方法によって実行されてもよい。その結果、どのI/Oアダプタ106とどのチャネルアダプタ129とがI/Oチャネル160によって接続されているかが判明する。
次に、管理端末150は、図13において設定された内容、及び、ステップ1414において検出された内容に基づいて、ストレージ資源管理テーブル621を作成する(1415)(図10参照)。
以上で、仮想計算機602の起動処理が終了する。
図15は、本発明の第1の実施の形態においてケーブル接続時に実行される処理のフローチャートである。
図15に示す処理は、各サーバ100及びストレージ装置120において実行される。以下の説明は、サーバ100が実行する場合を例としているが、ストレージ装置120も同様の処理を実行する。
最初に、サーバ装置100のI/Oアダプタ106は、ケーブル(すなわち、I/Oチャネル160)が接続されたことを検出する(1501)。
次に、サーバ装置100は、検出されたケーブルを介して通信可能な装置(図1Aから図1Cの例では、ストレージ装置120)と、物理アドレスを交換する(1502)。例えば、サーバ装置100がストレージ装置120と接続されている場合(図1A参照)、サーバ装置100は、ストレージ装置120に物理アドレスを問い合わせることによって、ストレージ装置120のチャネルアダプタ129の物理アドレスを取得する。
ステップ1502において交換される物理アドレスは、ケーブルが接続されるポートが一意に特定されるものであればよい。例えば、ファイバーチャネルプロトコルが適用される場合、物理アドレスはワールド・ワイド・ネーム(WWN)であってもよい。あるいは、iSCSIプロトコルが適用される場合、物理アドレスはMACアドレスであってもよい。I/Oアダプタ106は、交換によって取得した物理アドレスをハイパーバイザ103に通知する。
ハイパーバイザ103は、取得したケーブルの接続状況(すなわち、相互に接続されているI/Oアダプタ106とチャネルアダプタ129の物理アドレスの組)を、ネットワーク170経由で管理端末150に送信する(1503)。
以上で、ケーブル接続時に実行される処理が終了する。
図16は、本発明の第1の実施の形態において実行される仮想計算機602の停止処理のフローチャートである。
図16の処理は、ユーザが、いずれかの仮想計算機602の電源を切断しようとするときに実行される。図16の説明において、ユーザによって電源を切断されるべき仮想計算機602を、当該仮想計算機602と記載する。
最初に、ユーザが、管理端末150を操作して、当該仮想計算機602の上で動作しているOS603に、シャットダウンを指示する(1601)。
次に、OS603が、指示されたシャットダウン処理を実行する(1602)。
次に、OS603が、当該仮想計算機602の電源を切断する(1603)。ただし、この時点では、OS603が電源を切断する命令を発行するだけであり、実際に電源はまだ切断されていない。
次に、ハイパーバイザ103が、当該仮想計算機602が使用していた資源(すなわち、当該仮想計算機に割り当てられている資源)を特定する(1604)。
次に、ハイパーバイザ103は、ステップ1604において特定された各資源について、ループ処理を実行する(1605、1606、1607及び1608)。ここでは、ステップ1604において特定された各資源を、当該資源と記載する。
ステップ1606において、ハイパーバイザ103は、当該資源を他の仮想計算機602が使用しているか否かを判定する。言い換えると、ハイパーバイザ103は、当該資源が当該仮想計算機602以外の仮想計算機602にも割り当てられているか否かを判定する。具体的には、ハイパーバイザ103は、サーバ電源管理テーブル651を参照して、当該資源に対応するエントリの使用中仮想計算機番号1104が、当該仮想計算機602以外の識別子を含むか否かを判定する。
ここで、当該仮想計算機602が仮想計算機(0)602Aであり、当該資源がCPU(0)101Aである場合を例として説明する。この場合、ハイパーバイザ103は、サーバ電源管理テーブル651において、資源1102が「CPU(0)」であるエントリを参照し、そのエントリの使用中仮想計算機番号1104が「0」以外の値を含むか否かを判定する。サーバ電源管理テーブル651が図11に示す通りである場合、CPU(0)に対応する使用中仮想計算機番号1104が「0」だけでなく「1」も含む。この場合、CPU(0)101Aは、仮想計算機(1)602Bにも使用されている。このため、ステップ1606において、当該資源が当該仮想計算機602以外の仮想計算機602にも割り当てられている(YES)と判定される。
ステップ1606において、当該資源が当該仮想計算機602以外の仮想計算機602にも割り当てられていると判定された場合、当該資源は、いずれかの仮想計算機602によってまだ使用されている。このため、当該資源の電源を切断することはできない。この場合、当該資源の電源を切断せずに、ステップ1608に進む。
一方、ステップ1606において、当該資源が当該仮想計算機602以外の仮想計算機602に割り当てられていないと判定された場合、当該資源は、当該仮想計算機602がシャットダウンした後、どの仮想計算機602にも使用されない。このため、ハイパーバイザ103は、当該資源の電源を切断する(1607)。すなわち、ハイパーバイザ103が電源制御部108に電源切断を指示し、電源制御部108が当該資源の電源を切断する。
全ての当該資源について上記のループ処理が終了していない場合、残りの当該資源を対象として、ステップ1606の処理に戻る(1608)。
全ての当該資源について上記のループ処理が終了した結果、一つ以上の資源の電源が切断された場合、ハイパーバイザ103は、それらの資源の電源が切断されたことを管理端末150に報告する(1609)。
次に、管理端末150は、報告された電源の切断を反映させるために、サーバ電源管理テーブル624を変更する(1610)。さらに、ハイパーバイザ103は、報告した電源の切断を反映させるために、サーバ電源管理テーブル651を変更する。
次に、管理端末150は、ストレージ資源管理テーブル621を参照して、当該仮想計算機602に割り当てられている仮想ストレージ装置613に電源切断を指示する(1611)。このとき、管理端末150は、当該仮想計算機602に割り当てられている仮想ストレージ装置613を特定する。この指示によって電源を切断されるべき仮想ストレージ装置613を、図16の説明において、当該仮想ストレージ装置613と記載する。
なお、当該仮想計算機602に割り当てられている仮想ストレージ装置613は、ストレージ資源管理テーブル663(又は、ストレージ資源管理テーブル621)の仮想計算機番号1001及び仮想ストレージ装置番号1002を参照することによって特定される(図10参照)。例えば、当該仮想計算機602が仮想計算機(0)602Aである場合、仮想計算機番号1001の値「0」に対応する仮想ストレージ装置番号1002に「0」が登録されている。したがって、この場合、仮想ストレージ装置(0)613Aが当該仮想ストレージ装置613として特定される。
次に、ストレージハイパーバイザ612が、当該仮想ストレージ装置613に割り当てられている資源を特定する(1612)。そのために、ストレージハイパーバイザ612は、仮想ディスク管理テーブル661、ディスクアドレス変換テーブル662及びストレージ資源管理テーブル663を参照する。仮想ディスク管理テーブル661及びディスクアドレス変換テーブル662を参照することによって、当該仮想ストレージ装置613に割り当てられた物理ディスクドライブ148を特定することができる。ストレージ資源管理テーブル663を参照することによって、当該仮想ストレージ装置613に割り当てられたCPU122、CPU133、チャネルアダプタ129及びI/Oアダプタ139を特定することができる。
次に、ストレージハイパーバイザ612は、ステップ1612において特定された各資源について、ループ処理を実行する(1613、1614、1615及び1616)。ここでは、ステップ1612において特定された各資源を、当該資源と記載する。
ステップ1614において、ストレージハイパーバイザ612は、当該資源が当該仮想ストレージ装置613以外の仮想ストレージ装置613にも割り当てられているか否かを判定する。この判定は、ステップ1606と同様の方法によって実行される。具体的には、ストレージハイパーバイザ612は、ストレージ電源管理テーブル664を参照して、当該資源に対応するエントリの使用中仮想ストレージ装置番号1204が、当該仮想ストレージ装置613以外の識別子を含むか否かを判定する。
例えば、当該仮想ストレージ装置613が仮想ストレージ装置(0)613Aであり、当該資源がCPU(4)122Aである場合、図10の資源1202及び使用中仮想ストレージ装置番号1204を参照することによって、CPU(4)122Aが、仮想ストレージ装置(0)613Aだけでなく、仮想ストレージ装置(2)(図示省略)によっても使用されていると判定される。
あるいは、ストレージハイパーバイザ612は、ストレージ資源管理テーブル663を参照して、ステップ1614の判定を実行してもよい。例えば、図10に示す仮想ストレージ装置番号1002及び担当CPU1005を参照することによって、CPU(4)122Aが仮想ストレージ装置(0)613A及び仮想ストレージ装置(2)(図示省略)によって使用されていることがわかる。
ステップ1614において、当該資源が仮想ストレージ装置613以外の仮想ストレージ装置613にも割り当てられていると判定された場合、当該資源は、いずれかの仮想ストレージ装置613によってまだ使用されている。このため、当該資源の電源を切断することはできない。この場合、当該資源の電源を切断せずに、ステップ1616に進む。
一方、ステップ1614において、当該資源が当該仮想ストレージ装置613以外の仮想ストレージ装置613に割り当てられていないと判定された場合、当該資源は、当該仮想ストレージ装置613が停止した後、どの仮想ストレージ装置613にも使用されない。このため、ストレージハイパーバイザ612は、当該資源の電源を切断する(1615)。すなわち、ストレージハイパーバイザ137が電源制御部123、137に電源切断を指示し、電源制御部108が当該資源の電源を切断する。
全ての当該資源について上記のループ処理が終了していない場合、残りの当該資源を対象として、ステップ1614の処理に戻る(1616)。
全ての当該資源について上記のループ処理が終了した結果、一つ以上の資源の電源が切断された場合、ストレージハイパーバイザ612は、それらの資源の電源が切断されたことを管理端末150に報告する(1617)。
次に、管理端末150は、報告された電源の切断を反映させるために、ストレージ電源管理テーブル625を変更する(1618)。さらに、ストレージハイパーバイザ612は、報告した電源の切断を反映させるために、ストレージ電源管理テーブル664を変更する。
以上で、仮想計算機602の停止処理が終了する。
図16に示す処理を実行することによって、仮想計算機602がシャットダウン(停止)するときに、その仮想計算機602のみに割り当てられていた物理資源の電源が切断される。さらに、その仮想計算機602に仮想ストレージ装置613が割り当てられていた場合、その仮想ストレージ装置613のみに割り当てられていた物理資源の電源が切断される。その結果、サーバ装置100及びストレージ装置120を含む計算機システム全体で、消費電力を削減することができる。
次に、本発明の第2の実施の形態について説明する。以下、第2の実施の形態が第1の実施の形態と相違する点を主に説明する。このため、第2の実施の形態のうち、特に説明されていない点は、第1の実施の形態と同様である。
図17Aは、本発明の第2の実施の形態の計算機システムの機能ブロック図である。
第1の実施の形態では、管理端末150が、計算機システム全体を管理するための情報を保持し、計算機システム全体の管理を実行した。しかし、第2の実施の形態では、いずれかのサーバ装置100が、計算機システム全体を管理するための情報を保持し、計算機システム全体の管理を実行する。
このため、第2の実施の形態の計算機システムは、第1の実施の形態と異なり、管理端末150を備えない。代わりに、サーバ装置(0)100A及びサーバ装置(1)100Bには、それぞれ、コンソール端末1701A及びコンソール端末1701Bが接続される。コンソール端末1701は、各サーバ装置100を操作するための計算機である。
第2の実施の形態のストレージ装置120、I/Oチャネル160及びネットワーク170は、第1の実施の形態と同様であるため、説明を省略する。
図17Bは、本発明の第2の実施の形態のサーバ装置100の機能ブロック図である。
第2の実施の形態のサーバ装置100は、ハイパーバイザ103に含まれるテーブル及びプログラムを除いて、第1の実施の形態のサーバ装置100と同様である。
第2の実施の形態のハイパーバイザ103は、サーバ電源管理テーブル1702、仮想ディスク管理テーブル1703、サーバ資源管理テーブル1704、ストレージ資源管理テーブル1705、ストレージ電源管理テーブル1706及び仮想計算機管理プログラム1707を備える。サーバ電源管理テーブル1702、仮想ディスク管理テーブル1703、サーバ資源管理テーブル1704、ストレージ資源管理テーブル1705及びストレージ電源管理テーブル1706は、計算機システム全体を管理するための情報を保持する。これらのテーブルは、それぞれ、第1の実施の形態のサーバ電源管理テーブル624、仮想ディスク管理テーブル622、サーバ資源管理テーブル623、ストレージ資源管理テーブル621及びストレージ電源管理テーブル625と同様であるため、説明を省略する。
なお、サーバ装置(0)100A及びサーバ装置(1)100Bのいずれか一方は、第1の実施の形態と同様、サーバ電源管理テーブル651、仮想ディスク管理テーブル652及びサーバ資源管理テーブル653を含むハイパーバイザ103を含んでもよい。複数のサーバ装置100のうち少なくとも一つが計算機システムを管理すればよいからである。ただし、計算機システムの耐障害性を高めるためには、図17Bに示すように、複数のサーバ装置100が、計算機システム全体を管理するための情報を保持することが望ましい。
以下、第2の実施の形態において、サーバ装置100とは、計算機システム全体を管理するための情報を保持する一つ以上のサーバ装置100のうちの一つを意味する。
第2の実施の形態の計算機システムのハードウェア構成は、管理端末150が設けられない代わりにコンソール端末1701が設けられることを除いて、第1の実施の形態の計算機システムと同じである(図1Aから図1E参照)。このため、第2の実施の形態の計算機システムのハードウェア構成については説明を省略する。
図18は、本発明の第2の実施の形態のストレージ装置120のチャネルボード121の電源供給系統の説明図である。
第2の実施の形態のストレージ装置120のチャネルボード121の電源供給系統は、第1の実施の形態(図4参照)とほぼ同じである。ただし、メイン電源供給領域とスタンバイ電源供給領域の境界が異なる。以下、図18が図4と相違する点についてのみ説明する。
第2の実施の形態のCPU122、I/Oコントローラ130、主記憶メモリ124、不揮発メモリ125及び内部ネットアダプタ128は、メイン電源供給領域1803に属する。一方、チャネルアダプタ129及びLANアダプタ127は、スタンバイ電源供給領域1802に属する。なお、スタンバイ電源供給領域1802は、電源制御部123によって電源を切断されない。一方、メイン電源供給領域1803に供給される電源は、電源制御部123によって制御される。
第1の実施の形態において、電源の投入及び切断の指示は、管理端末150からネットワーク170を経由して(いわゆるout−bandで)サーバ装置100及びストレージ装置120に送信された。一方、第2の実施の形態において、電源の投入等の指示は、サーバ装置100からストレージ装置120に送信される。このとき、指示は、ネットワーク170を経由して(いわゆるout−bandで)送信されてもよいし、I/Oチャネル160を経由して(いわゆるin−bandで)送信されてもよい。
電源投入の指示がI/Oチャネル160を経由して送信される場合、メイン電源供給領域1803の電源が切断されているときに電源投入の指示を受信できるように、チャネルアダプタ129がスタンバイ電源供給領域1802に属している必要がある。チャネルアダプタ129は、電源投入の指示を受信したとき、メイン電源オン割り込み信号1801を電源制御部123に送信する。メイン電源オン割り込み信号1801は、メイン電源オン割り込み信号401と同様の信号である。
図19は、本発明の第2の実施の形態において実行される資源割り当て設定処理のフローチャートである。
第2の実施の形態において実行される資源割り当て設定処理は、一部のステップを除いて、第1の実施の形態において実行される処理(図13参照)と同じである。以下、図19の処理が図13の処理と相違する点を説明する。
図19のステップ1901からステップ1903は、それぞれ、図13のステップ1301からステップ1303に対応する。図19のステップ1904からステップ1906は、それぞれ、図13のステップ1305からステップ1307に対応する。
第2の実施の形態の計算機システムは、管理端末150を備えない。このため、ステップ1901において、ユーザは、コンソール端末1701を操作して、仮想計算機602及び仮想ストレージ装置613に割り当てる物理資源を設定する。そして、ステップ1902において、コンソール端末1701は、設定された内容をサーバ装置100に送信する。ステップ1904において、サーバ装置100が、仮想ストレージ装置613について設定された内容をストレージ装置120に送信する。ステップ1906において、ストレージ装置120は、サーバ装置100に設定完了を報告する。
図20は、本発明の第2の実施の形態において実行される仮想計算機602の起動処理のフローチャートである。
図20において、ステップ2001から2004までの処理は、図14のステップ1401から1404までと同じである。このため、これらのステップについての説明は省略する。
ステップ2005において、ユーザは、コンソール端末1701を操作して、仮想計算機602の起動を指示する。
次に、ハイパーバイザ103は、サーバ装置100のCPU101のうち、起動される仮想計算機602に割り当てられたCPU101(図20の説明において、当該CPU101と記載する)の電源が「ON」となっているか否かを判定する(2006)。この判定のために、サーバ電源管理テーブル1702が参照される。なお、CPU101の割り当ては、図19に示す処理によって設定されたものである。
ステップ2006において、当該CPU101の電源が投入されていると判定された場合、処理はステップ2008に進む。一方、ステップ2006において、当該CPU101の電源が投入されていないと判定された場合、ハイパーバイザ103は、当該CPU101の電源を投入する指示を当該CPU101に対して発行する(2007)。
次に、当該CPU101は、サーバ装置100の各資源の電源を投入する(2008)。
次に、サーバ装置100は、サーバ装置100の初期設定処理を実行する(2009)。
次に、ハイパーバイザ103は、ストレージ装置120のCPU122等のうち、起動される仮想計算機602に割り当てられたCPU122等(図20の説明において、当該CPU122等と記載する)の電源が投入されているか否かを判定する(2010)。この判定のために、ストレージ電源管理テーブル1706が参照される。なお、CPU122等の割り当ては、図19に示す処理によって設定されたものである。
ステップ2010において、当該CPU122等の電源が投入されていると判定された場合、処理はステップ2012に進む。一方、ステップ2010において、当該CPU122等の電源が投入されていないと判定された場合、ハイパーバイザ103は、当該CPU122等の電源を投入する指示をストレージ装置120に送信する(2011)。この指示は、ネットワーク170を経由して、ストレージ装置120のLANアダプタ127及びLANアダプタ138に到達する。
次に、当該CPU122等は、ストレージ装置120の各資源の電源を投入する(2012)。
次に、ストレージ装置120は、ストレージ装置120の初期設定処理を実行する(2013)。
次に、ハイパーバイザ103は、I/Oチャネル160を構成するケーブルがどのように接続されているかを検出する(2014)。この処理は、図15に示す方法によって実行されてもよい。その結果、どのI/Oアダプタ106とどのチャネルアダプタ129とがI/Oチャネル160によって接続されているかが判明する。
次に、ハイパーバイザ103の仮想計算機管理プログラム1707は、図19において設定された内容、及び、ステップ2014において検出された内容に基づいて、ストレージ資源管理テーブル1705を作成する(2015)。
以上で、仮想計算機602の起動処理が終了する。
なお、ステップ2011において、当該CPU122等の電源を投入する指示は、ネットワーク170を経由してストレージ装置120に送信される。ステップ2014においてケーブルの接続状態が検出された後でなければ、I/Oチャネル160を経由してデータを送信することができないためである。一方、ケーブルの接続状態が検出された結果、どのI/Oアダプタ106がどのチャネルアダプタ129と接続されているかが判明した後であれば、サーバ装置100は、電源を投入又は切断する指示を、I/Oチャネル160を経由して(すなわち、in−bandで)ストレージ装置120に送信することができる。
図21は、本発明の第2の実施の形態において実行される仮想計算機602の停止処理のフローチャートである。
図21の処理は、ユーザが、いずれかの仮想計算機602の電源を切断しようとするときに実行される。図21の説明において、ユーザによって電源を切断されるべき仮想計算機602を、当該仮想計算機602と記載する。
最初に、ユーザが、コンソール端末1701を操作して、当該仮想計算機602の上で動作しているOS603に、シャットダウンを指示する(2101)。
ステップ2102から2104は、それぞれ、図16のステップ1602からステップ1604と同様であるため、説明を省略する。
次に、ハイパーバイザ103は、ステップ2104において特定された各資源について、ループ処理を実行する(2105、2106、2107、2108及び2109)。ここでは、ステップ2104において特定された各資源を、当該資源と記載する。
ステップ2106において、ハイパーバイザ103は、当該資源を他の仮想計算機602が使用しているか否かを判定する。この判定は、図16のステップ1606と同様の方法で実行される。
ステップ2106において、当該資源が当該仮想計算機602以外の仮想計算機602にも割り当てられていると判定された場合、当該資源は、いずれかの仮想計算機602によってまだ使用されている。このため、当該資源の電源を切断することはできない。この場合、当該資源の電源を切断せずに、ステップ2109に進む。
一方、ステップ1606において、当該資源が当該仮想計算機602以外の仮想計算機602に割り当てられていないと判定された場合、当該資源は、当該仮想計算機602がシャットダウンした後、どの仮想計算機602にも使用されない。このため、当該資源の電源を切断することができる。ただし、第2の実施の形態において、サーバ装置100及びストレージ装置120の電源の投入/切断は、サーバ装置100のハイパーバイザ103を実行するCPU101によって制御される。このため、サーバ装置100の全てのCPU101の電源が切断されてしまうと、二度と電源を投入することができなくなる。したがって、当該資源が、現在稼動している唯一のCPU101である場合、その電源を切断することはできない。
このため、ステップ2106において、当該資源が当該仮想計算機602以外の仮想計算機602に割り当てられていないと判定された場合、ハイパーバイザ103は、当該資源がCPU101であり、かつ、現在稼動しているCPU101の数が1であるか否かを判定する(2107)。
ステップ2107において、当該資源がCPU101であり、かつ、現在稼動しているCPU101の数が1であると判定された場合、当該資源は、現在稼動している唯一のCPU101である。この場合、当該資源の電源を切断せずに、ステップ2109に進む。
ステップ2107において、当該資源がCPU101でないか、又は、現在稼動しているCPU101の数が1でないと判定された場合、当該資源は、現在稼動している唯一のCPU101でない。この場合、ハイパーバイザ103は、当該資源の電源を切断する(2108)。
なお、サーバ装置100が、ハイパーバイザ103による電源制御の対象でないCPU(図示省略)を備え、そのCPUが、各資源の電源制御のためだけに使用される場合、ステップ2107の判定を実行する必要はない。その場合、ステップ2106において「NO」と判定されると、ステップ2108が実行される。
全ての当該資源について上記のループ処理が終了していない場合、残りの当該資源を対象として、ステップ2106の処理に戻る(2109)。
全ての当該資源について上記のループ処理が終了した結果、一つ以上の資源の電源が切断された場合、ハイパーバイザ103は、それらの電源の切断を反映させるために、サーバ電源管理テーブル1702を変更する(2110)。
次に、サーバ装置100が、当該仮想計算機に割り当てられている仮想ストレージ装置613に電源切断を指示する(2111)。その指示によって電源を切断されるべき仮想ストレージ装置613を、図21の説明において、当該仮想ストレージ装置613と記載する。指示の方法にはさまざまあるが、I/Oチャネル160がファイバーチャネルである場合には、ファイバーチャネルプロトコルにおける「LOGOUT」メッセージが電源切断の指示とする方法もある。
なお、当該仮想計算機602に割り当てられている仮想ストレージ装置613は、ストレージ資源管理テーブル663(又は、ストレージ資源管理テーブル1705)の仮想計算機番号1001及び仮想ストレージ装置番号1002を参照することによって特定される(図10参照)。
次のステップ2112から2116までの処理は、図16のステップ1612から1616までと同様であるため、説明を省略する。
全ての当該資源についてステップ2113から2116のループが終了した結果、一つ以上の資源の電源が切断された場合、ストレージハイパーバイザ612は、それらの資源の電源が切断されたことをサーバ装置100に報告する(2117)。
次に、サーバ装置100は、報告された電源の切断を反映させるために、ストレージ電源管理テーブル1706を変更する(2118)。さらに、ストレージハイパーバイザ612は、報告した電源の切断を反映させるために、ストレージ電源管理テーブル664を変更する。
以上で、仮想計算機602の停止処理が終了する。
次に、本発明の第3の実施の形態について説明する。以下、第3の実施の形態が第1の実施の形態と相違する点を主に説明する。このため、第3の実施の形態のうち、特に説明されていない点は、第1の実施の形態と同様である。
図22Aは、本発明の第3の実施の形態の計算機システムの機能ブロック図である。
第1の実施の形態では、管理端末150が、計算機システム全体を管理するための情報を保持し、計算機システム全体の管理を実行した。第2の実施の形態では、いずれかのサーバ装置100が、計算機システム全体を管理するための情報を保持し、計算機システム全体の管理を実行した。しかし、第3の実施の形態では、ストレージ装置120が、計算機システム全体を管理するための情報を保持し、計算機システム全体の管理を実行する。
このため、第3の実施の形態の計算機システムは、第1の実施の形態と異なり、管理端末150を備えない。代わりに、ストレージ装置120には、コンソール端末2201が接続される。コンソール端末2201は、ストレージ装置120を操作するための計算機である。
第3の実施の形態のサーバ装置100、I/Oチャネル160及びネットワーク170は、第1の実施の形態と同様であるため、説明を省略する。
図22Bは、本発明の第3の実施の形態のストレージ装置120の機能ブロック図である。
第3の実施の形態のストレージ装置120は、ストレージハイパーバイザ612に含まれるテーブル及びプログラムを除いて、第1の実施の形態のストレージ装置120と同様である。
第3の実施の形態のストレージハイパーバイザ612は、仮想ディスク管理テーブル2202、ディスクアドレス変換テーブル2203、ストレージ資源管理テーブル2204、サーバ資源管理テーブル2205、ストレージ電源管理テーブル2206、サーバ電源管理テーブル2207、仮想計算機管理プログラム2208及び一つ以上の仮想ディスク665を含む。仮想ディスク管理テーブル2202、ストレージ資源管理テーブル2204、サーバ資源管理テーブル2205、ストレージ電源管理テーブル2206及びサーバ電源管理テーブル2207は、計算機システム全体を管理するための情報を保持する。これらのテーブルは、それぞれ、第1の実施の形態の仮想ディスク管理テーブル622、ストレージ資源管理テーブル621、サーバ資源管理テーブル623、ストレージ電源管理テーブル625及びサーバ電源管理テーブル624と同様であるため、説明を省略する。
第3の実施の形態の計算機システムのハードウェア構成は、管理端末150が設けられない代わりにコンソール端末2201が設けられることを除いて、第1の実施の形態の計算機システムと同じである(図1Aから図1E参照)。このため、第3の実施の形態の計算機システムのハードウェア構成については説明を省略する。
図23は、本発明の第3の実施の形態において実行される資源割り当て設定処理のフローチャートである。
第3の実施の形態において実行される資源割り当て設定処理は、一部のステップを除いて、第1の実施の形態において実行される処理(図13参照)と同じである。以下、図23の処理が図13の処理と共通する点については、詳細な説明を省略する。
図23のステップ2301、2302、2303、2304、2305及び2306は、それぞれ、図13のステップ1301、1305、1306、1302、1303及び1307に対応する。
第3の実施の形態の計算機システムは、管理端末150を備えない。このため、ステップ2301において、ユーザは、コンソール端末2201を操作して、仮想計算機602及び仮想ストレージ装置613に割り当てる物理資源を設定する。そして、ステップ2302において、コンソール端末2201は、設定された内容をストレージ装置120に送信する。ステップ2303において、ストレージ装置120は、仮想ストレージ装置613を生成する。ステップ2304において、ストレージ装置120が、仮想計算機602について設定された内容をサーバ装置100に送信する。ステップ2305において、サーバ装置は、仮想計算機602を生成する。ステップ2306において、サーバ装置100は、ストレージ装置120に設定完了を報告する。
図24は、本発明の第3の実施の形態において実行される仮想計算機602の停止処理のフローチャートである。
図24の処理は、ユーザが、いずれかの仮想計算機602の電源を切断しようとするときに実行される。図24の説明において、ユーザによって電源を切断されるべき仮想計算機602を、当該仮想計算機602と記載する。
最初に、ユーザが、コンソール端末2201を操作して、当該仮想計算機602の上で動作しているOS603に、シャットダウンを指示する(2401)。シャットダウンの指示は、ストレージ装置120及びネットワーク170を介してサーバ装置100に到達する。
ステップ2402から2408は、それぞれ、図16のステップ1602から1608と同様であるため、説明を省略する。
全ての当該資源についてステップ2405から2408のループ処理が終了した結果、一つ以上の資源の電源が切断された場合、ハイパーバイザ103は、それらの電源の切断を反映させるために、サーバ電源管理テーブル651を変更する(2409)。
次に、ハイパーバイザ103は、実行された電源の切断を、ストレージ装置120に報告する(2410)。ストレージ装置120は、報告に従って、サーバ電源管理テーブル2207を変更する。
次に、ストレージ装置120が、当該仮想計算機602に割り当てられている仮想ストレージ装置613に電源切断を指示する(2411)。具体的には、ストレージハイパーバイザ612が、ストレージ資源管理テーブル2204の仮想計算機番号1001及び仮想ストレージ番号1002を参照して、当該仮想計算機602に割り当てられている仮想ストレージ装置613を特定する。ステップ2411において特定された仮想ストレージ装置613は、以下の処理によって電源を切断されるべき仮想ストレージ装置613である。ステップ2411において特定された仮想ストレージ装置613を、図24の説明において、当該仮想ストレージ装置613と記載する。
次に、ストレージハイパーバイザ612が、当該仮想ストレージ装置613に割り当てられている資源を特定する(2412)。この処理は、図16のステップ1612と同様である。
次に、ストレージハイパーバイザ612は、ステップ2412において特定された各資源について、ループ処理を実行する(2413、2414、2415、2416及び2417)。ここでは、ステップ2412において特定された各資源を、当該資源と記載する。
ステップ2414において、ストレージハイパーバイザ612は、当該資源が当該仮想ストレージ装置613以外の仮想ストレージ装置613にも割り当てられているか否かを判定する。この判定は、ステップ1614と同様の方法によって実行される。
ステップ2414において、当該資源が仮想ストレージ装置613以外の仮想ストレージ装置613にも割り当てられていると判定された場合、当該資源は、いずれかの仮想ストレージ装置613によってまだ使用されている。このため、当該資源の電源を切断することはできない。この場合、当該資源の電源を切断せずに、ステップ2417に進む。
一方、ステップ2414において、当該資源が当該仮想ストレージ装置613以外の仮想ストレージ装置613に割り当てられていないと判定された場合、当該資源は、当該仮想ストレージ装置613が停止した後、どの仮想ストレージ装置613にも使用されない。このため、当該資源の電源を切断することができる。ただし、第3の実施の形態において、サーバ装置100及びストレージ装置120の電源の投入/切断は、ストレージ装置120のストレージハイパーバイザ612を実行するCPU122等によって制御される。このため、ストレージ装置120の全てのCPU122等の電源が切断されてしまうと、二度と電源を投入することができなくなる。したがって、当該資源が、現在稼動している唯一のCPU122等である場合、その電源を切断することはできない。
このため、ステップ2414において、当該資源が当該仮想計算機602以外の仮想計算機602に割り当てられていないと判定された場合、ストレージハイパーバイザ612は、当該資源がCPU122又は133であり、かつ、現在稼動しているCPU122等の数が1であるか否かを判定する(2415)。
ステップ2415において、当該資源がCPU122又は133であり、かつ、現在稼動しているCPU122等の数が1であると判定された場合、当該資源は、現在稼動している唯一のCPU122等である。この場合、当該資源の電源を切断せずに、ステップ2417に進む。
ステップ2415において、当該資源がCPU122又は133のいずれでもないか、又は、現在稼動しているCPU122等の数が1でないと判定された場合、当該資源は、現在稼動している唯一のCPU122等でない。この場合、ストレージハイパーバイザ612は、当該資源の電源を切断する(2416)。
なお、ストレージ装置120が、ストレージハイパーバイザ612による電源制御の対象でないCPU(図示省略)を備え、そのCPUが、各資源の電源制御のためだけに使用される場合、ステップ2415の判定を実行する必要はない。その場合、ステップ2414において「NO」と判定されると、ステップ2416が実行される。
全ての当該資源について上記のループ処理が終了していない場合、残りの当該資源を対象として、ステップ2414の処理に戻る(2417)。
全ての当該資源について上記のループ処理が終了した結果、一つ以上の資源の電源が切断された場合、ストレージハイパーバイザ612は、それらの電源の切断を反映させるために、ストレージ電源管理テーブル2206を変更する(2418)。
以上で、仮想計算機602の停止処理が終了する。
なお、以上に説明した第3の実施の形態において、電源投入及び切断の指示は、ネットワーク170を介して送信される。しかし、これらの指示は、I/Oチャネル160を介して送信されてもよい。
次に、本発明の第4の実施の形態について説明する。以下、第4の実施の形態が第1の実施の形態と相違する点を主に説明する。このため、第4の実施の形態のうち、特に説明されていない点については、第1の実施の形態と同様である。
図25は、本発明の第4の実施の形態の計算機システムのハードウェア構成を示すブロック図である。
第4の実施の形態の計算機システムのハードウェア構成は、サーバ装置100とストレージ装置120とがI/Oチャネル160及びI/Oチャネルスイッチ2501とを介して接続される点を除いて、第1の実施の形態(図1参照)と同じである。このため、I/Oチャネル160及びI/Oチャネルスイッチ2501以外の部分については説明を省略する。
I/Oチャネル160Aは、I/Oアダプタ(0)106AとI/Oチャネルスイッチ(0)2501Aとを接続する。I/Oチャネル160Bは、I/Oアダプタ(1)106BとI/Oチャネルスイッチ(1)2501Bとを接続する。I/Oチャネル160Cは、I/Oアダプタ(2)106CとI/Oチャネルスイッチ(0)2501Aとを接続する。I/Oチャネル160Dは、I/Oアダプタ(3)106DとI/Oチャネルスイッチ(1)2501Bとを接続する。
I/Oチャネル160Eは、I/Oチャネルスイッチ(0)2501Aとチャネルアダプタ(0)129Aとを接続する。I/Oチャネル160Fは、I/Oチャネルスイッチ(0)2501Aとチャネルアダプタ(2)129Cとを接続する。I/Oチャネル160Gは、I/Oチャネルスイッチ(1)2501Bとチャネルアダプタ(1)129Bとを接続する。I/Oチャネル160Hは、I/Oチャネルスイッチ(1)2501Bとチャネルアダプタ(3)129Dとを接続する。
I/Oチャネルスイッチ(0)2501A及びI/Oチャネルスイッチ(1)2501Bは、ネットワーク170を介して管理端末150と接続される。
なお、第4の実施の形態の機能ブロック図は、サーバ装置100とストレージ装置120とがI/Oチャネル160及びI/Oチャネルスイッチ2501とを介して接続される点を除いて、第1の実施の形態と同様である。第4の実施の形態の各装置の電源供給系統、それらの装置が保持するテーブル、及び、それらの装置が実行する処理は、以下に説明するものを除いて、第1の実施の形態と同様である。第4の実施の形態のうち、第1の実施の形態と同様の部分については、説明を省略する。
図26は、本発明の第4の実施の形態のI/Oチャネルスイッチ2501のハードウェア構成を示すブロック図である。
I/Oチャネルスイッチ2501は、電源制御部2601、スイッチ制御部2602、LANアダプタ(6)2604、クロスバースイッチ2605及び複数のポート2606を備える。
電源制御部2601は、I/Oチャネルスイッチ2501内の各物理資源への電源の供給を制御する(図27参照)。
スイッチ制御部2602は、クロスバースイッチ2605によるポート2606間の接続を制御する。具体的には、スイッチ制御部2602は、通信を許可又は禁止するポート2606の組み合わせを設定する。そして、スイッチ制御部2602は、設定したポート2606の組み合わせを示す情報を、ルーティングテーブル2603として保持する(図28参照)。
LANアダプタ(6)2604は、ネットワーク170を介して、管理端末150等の装置と通信するインターフェースである。
クロスバースイッチ2605は、ポート2606間の接続を切り替える。具体的には、クロスバースイッチ2605は、スイッチ制御部2602による設定に従って、ポート2606間の通信を許可又は禁止する。
各ポート2606は、I/Oチャネル160に接続され、I/Oチャネル160を介してサーバ装置100又はストレージ装置120と通信する。図26には、四つのポート2606Aから2606Dを示すが、I/Oチャネルスイッチ2501は、さらに多くのポート2606を備えてもよい。
図27は、本発明の第4の実施の形態のI/Oチャネルスイッチ2501の電源供給系統の説明図である。
I/Oチャネルスイッチ2501の電源供給系統は、交流電源2701、システム電源スイッチ2702、電源制御部2601、及び、電源の供給を受ける各物理資源(すなわち、各ポート2606、クロスバースイッチ2605、スイッチ制御部2602及びLANアダプタ2604)からなる。
交流電源2701は、I/Oチャネルスイッチ2501に供給される電源である。交流電源2701は、図2の交流電源201と同様、いかなる種類の交流電源であってもよい。
システム電源スイッチ2702は、図2のシステム電源スイッチ202と同様のスイッチである。
電源制御部2601は、交流電源2701からシステム電源スイッチ2702を介して電源供給を受けて、その電源の各物理資源への供給を制御する。
I/Oチャネルスイッチ2501の電源供給系統は、図2に示すように、複数の電源供給領域に分割されない。電源制御部2601は、ポート2606ごとに、電源の投入及び遮断を制御することができる。
図28は、本発明の第4の実施の形態のI/Oチャネルスイッチ2501が保持するルーティングテーブル2603の説明図である。
ルーティングテーブル2603は、入力ポート番号2801、出力ポート番号2802及び各ポート2606間の通信可否を示す情報を含む。入力ポート番号2801及び出力ポート番号2802は、各ポート2606に付与された識別子である。ルーティングテーブル2603において、通信可否を示す情報は、通信が許可されていることを示す「○」、及び、通信が禁止されていることを示す「×」によって表示される。
例えば、図28に示すルーティングテーブル2603によれば、ポート(0)2606に入力されたデータをポート(1)2606から出力することができるが、ポート(0)2606に入力されたデータをポート(n)2606から出力することはできない。したがって、この場合、ポート(0)2606に接続された装置は、ポート(1)2606に接続された装置にデータを送信することができるが、ポート(n)2606に接続された装置にデータを送信することはできない。ここで、ポート(0)2606、ポート(1)2606及びポート(n)2606は、それぞれ、識別子「0」、「1」及び「n」を有するポート2606である。
なお、第4の実施の形態の計算機システムの起動時には、ルーティングテーブル2603には「○」のみが設定され、「×」は設定されていない。すなわち、起動時において、全てのポート2606間の通信が許可されている。ストレージ資源管理テーブル621が作成された後、例えばユーザの指示に従って、ポート2606間の通信の許可及び禁止が設定される(図31及び図32参照)。
図29は、本発明の第4の実施の形態のストレージ資源管理テーブル621の説明図である。
第4の実施の形態のストレージ資源管理テーブル621は、第1の実施の形態のストレージ資源管理テーブル621(図10参照)に、ポート2606に関するカラム(すなわち、ストレージポート2901及びサーバポート2902)を追加した構成を有する。
第4の実施の形態のストレージ資源管理テーブル621のうち、仮想計算機番号1001、仮想ストレージ装置番号1002、仮想ディスク番号1003、ディスクキャッシュ容量1004、担当CPU1005、内部帯域1006、仮想チャネルアダプタ1007、チャネルアダプタ1008、I/Oアダプタ1009及び仮想I/Oアダプタ1010は、図10に示したものと同様であるため、説明を省略する。
ストレージポート2901は、チャネルアダプタ1008が示すチャネルアダプタ129に接続されたポート2606の識別子を示す。
サーバポート2902は、I/Oアダプタ1009が示すI/Oアダプタ106に接続されたポート2606の識別子を示す。
例えば、図29の例では、チャネルアダプタ1008の値「0」及びI/Oアダプタ1009の値「0」に対応するストレージポート2901及びサーバポート2902として、それぞれ、「10」及び「2」が登録されている。これは、チャネルアダプタ(0)129Aがポート(10)2606と接続されていること、I/Oアダプタ(0)106Aがポート(2)2606と接続されていること、及び、ポート(10)2606とポート(2)2606との間の通信が許可されていることを示す。
図30は、本発明の第4の実施の形態において実行される仮想計算機602の起動処理のフローチャートである。
図30において、ステップ3001及び3002は、それぞれ、図14のステップ1401及び1402と同様であるため、説明を省略する。
ステップ3001又は3002が終了すると、ユーザは、I/Oチャネルスイッチ2501のシステム電源スイッチ2702が投入されているか否かを判定する(3003)。
ステップ3003において、システム電源スイッチ2702が投入されていると判定された場合、ステップ3005に進む。一方、ステップ3003において、システム電源スイッチ2702が投入されていないと判定された場合、ユーザは、システム電源スイッチ2702を投入する(3004)。その後、処理はステップ3005に進む。
図30のステップ3005から3017は、それぞれ、図14のステップ1403から1415と同様であるため、説明を省略する。
図31は、本発明の第4の実施の形態においてケーブル接続時に実行される処理のフローチャートである。
最初に、サーバ装置100、ストレージ装置120及びI/Oチャネルスイッチ2501は、ケーブル(すなわち、I/Oチャネル160)が接続されたことを検出する(3101)。
次に、サーバ装置100、ストレージ装置120及びI/Oチャネルスイッチ2501は、検出されたケーブルを介して通信可能な装置(すなわち、検出されたケーブルを介して接続されている装置)と、物理アドレスを交換する(3102)。図25の例では、サーバ装置100は、I/Oアダプタ106に接続されているポート2606の物理アドレスを取得する。I/Oチャネルスイッチ2501は、ポート2606に接続されているI/Oアダプタ106及びチャネルアダプタ129の物理アドレスを取得する。ストレージ装置120は、チャネルアダプタ129に接続されているポート2606の物理アドレスを取得する。
ステップ3102において交換される物理アドレスは、図15において説明したように、ケーブルが接続されるポートが一意に特定されるものであればよい(例えば、WWN又はMACアドレス)。
次に、サーバ装置100、ストレージ装置120及びI/Oチャネルスイッチ2501は、ステップ3102において取得したケーブルの接続状況を、ネットワーク170経由で管理端末150に送信する(3103)。ここで、ケーブルの接続状況とは、相互に接続されているI/Oアダプタ106とポート2606の物理アドレスの組、及び、相互に接続されているポート2606とチャネルアダプタ129の物理アドレスの組である。
以上で、第4の実施の形態においてケーブル接続時に実行される処理が終了する。この処理によって、ストレージ資源管理テーブル621(図29参照)のチャネルアダプタ1008とストレージポート2901との対応関係、及び、サーバポート2902とI/Oアダプタ1009との対応関係が判明する。
図32は、本発明の第4の実施の形態においてルーティングテーブル2603を作成するために実行される処理のフローチャートである。
スイッチ制御部2602は、図31に示す処理によって作成されたストレージ資源管理テーブル621(図29参照)に従って、ルーティングテーブル2603を作成する(3202)。具体的には、ユーザがストレージ資源管理テーブル621を参照して、どのポート2606間の通信を許可するかを管理端末150に入力してもよい。管理端末150は、ユーザから入力された情報を、ネットワーク170を介してI/Oチャネルスイッチ2501に送信する。
図28において説明したように、ルーティングテーブル2603は、初期状態において、全てのポート2606間の通信を許可している。ステップ3202において、スイッチ制御部2602は、ユーザから通信を許可されたポート2606の組以外の組について、通信を禁止する。
以上で、ルーティングテーブル2603を作成する処理が終了する。
図33は、本発明の第4の実施の形態において実行される仮想計算機602の停止処理のフローチャートである。
第4の実施の形態において、仮想計算機602が停止するとき、第1の実施の形態と同じ処理が実行される(図16参照)。さらに、第4の実施の形態では、I/Oチャネルスイッチ2501のポート2606の電源を切断するために、図33に示す処理が実行される。なお、図16と同様、ユーザによって電源を切断されるべき仮想計算機602を、当該仮想計算機602と記載する。
最初に、管理端末150が、当該仮想計算機602のシャットダウンをI/Oチャネルスイッチ2501に通知する(3301)。
次に、スイッチ制御部2602が、ストレージ資源管理テーブル621及びルーティングテーブル2603に基づいて、当該仮想計算機が使用していたポート2606(すなわち、当該計算機に割り当てられているポート2606)を特定する(3302)。
次に、スイッチ制御部2602は、ステップ3302において特定された各ポート2606について、ループ処理を実行する(3303、3304、3305及び3306)。ここでは、ステップ3302において特定された各ポートを、当該ポート2606と記載する。
ステップ3304において、スイッチ制御部2602は、当該ポート2606を他の仮想計算機602が使用しているか否かを判定する。言い換えると、ハイパーバイザ103は、当該ポート2606が当該仮想計算機602以外の仮想計算機602にも割り当てられているか否かを判定する。このとき、ストレージ資源管理テーブル621の仮想計算機番号1001、ストレージポート2901及びサーバポート2902が参照される。
図29の例では、ポート(10)2606は、仮想計算機(0)602A及び仮想計算機(1)602Bに割り当てられている。仮想計算機(0)602Aが当該仮想計算機602であり、ポート(10)2606が当該ポート2606である場合、当該ポート2606は、当該仮想計算機602以外の仮想計算機602にも割り当てられていると判定される。
ステップ3304において、当該ポート2606が当該仮想計算機602以外の仮想計算機602にも割り当てられていると判定された場合、当該ポート2606は、当該仮想計算機602がシャットダウンした後も、いずれかの仮想計算機602によって使用される。このため、当該ポート2606の電源を切断することはできない。この場合、当該ポート2606の電源を切断せずに、ステップ3306に進む。
一方、ステップ3304において、当該ポート2606が当該仮想計算機602以外の仮想計算機602に割り当てられていないと判定された場合、当該ポート2606は、当該仮想計算機602がシャットダウンした後、どの仮想計算機602にも使用されない。このため、スイッチ制御部2602は、当該ポート2606の電源を切断する(3305)。
全ての当該ポート2606について上記のループ処理が終了していない場合、残りの当該ポート2606を対象として、ステップ3304の処理に戻る(3306)。
全ての当該ポート2606について上記のループ処理が終了すると、図33の処理が終了する。
次に、本発明の第5の実施の形態について説明する。以下、第5の実施の形態が第1の実施の形態と相違する点を主に説明する。このため、第5の実施の形態のうち、特に説明されていない点は、第1の実施の形態と同様である。
第1の実施の形態では、サーバ装置100が、ストレージ装置120を使用するアプリケーションプログラムを実行する。一方、第5の実施の形態では、ネットワーク170に接続されたクライアントが、ストレージ装置を使用するアプリケーションプログラムを実行する。このとき、サーバ装置は、クライアントにファイルを提供するためのファイルサーバとして動作する。
図34は、本発明の第5の実施の形態の計算機システムの機能ブロック図である。
第5の実施の形態の計算機システムは、クライアント(0)3401A、クライアント(1)3401B、ファイルサーバ装置(0)3403A、ファイルサーバ装置(1)3403B、ストレージ装置3405及び管理端末150を備える。この計算機システムの構成は、ネットワーク170にクライアント(0)3401A及びクライアント(1)3401Bが接続されている点を除いて、第1の実施の形態の計算機システムと同様である。ファイルサーバ装置3403は、第1の実施の形態のサーバ装置100に相当する。以下、第5の実施の形態について具体的に説明する。
クライアント(0)3401A及びクライアント(1)3401Bは、それぞれ、CPU(図示省略)、メモリ(図示省略)及びLANアダプタ(図示省略)を備える計算機である。各クライアント3401のメモリには、アプリケーションプログラム(図示省略)の他に、ハイパーバイザを実現するためのプログラム(図示省略)が格納されている。このプログラムの実行によって、クライアント(0)3401Aには仮想クライアント(0)3402A及び仮想クライアント(1)3402Bが、クライアント(1)3401Bには仮想クライアント(2)3402C及び仮想クライアント(3)3402Dが生成される。
ファイルサーバ装置(0)3403A及びファイルサーバ装置(1)3403Bは、ネットワーク170を介してクライアント3401にファイルを提供する計算機である。ファイルサーバ装置(0)3403A及びファイルサーバ装置(1)3403Bのハードウェア構成は、それぞれ、第1の実施の形態のサーバ装置(0)100A及びサーバ装置(1)100Bと同様であるため、説明を省略する(図1B参照)。
ファイルサーバ装置(0)3403A及びファイルサーバ装置(1)3403Bの機能ブロック図も、第1の実施の形態のサーバ装置(0)100A及びサーバ装置(1)100Bと同様であるため、詳細な説明を省略する(図6B参照)。各ファイルサーバ装置3403は、仮想ファイルサーバ装置3404を実現するためのハイパーバイザ103を含む。図34の仮想ファイルサーバ装置(0)3404Aから仮想ファイルサーバ装置(3)3404Dが、それぞれ、図6Bの仮想計算機(0)603Aから仮想計算機(3)603Dに相当する。各仮想ファイルサーバ装置3404上で、OS603が動作する。
ただし、第5の実施の形態のサーバ資源管理テーブル653は、第1の実施の形態と異なる(図35参照)。また、第5の実施の形態において実行される仮想ファイルサーバ停止処理は、第1の実施の形態において実行される仮想計算機停止処理と異なる(図36参照)。さらに、第5の実施の形態の仮想ファイルサーバ装置3404は、仮想LANアダプタ(図示省略)を含む。
ストレージ装置3405のハードウェア構成は、第1の実施の形態のストレージ装置120と同様であるため、説明を省略する(図1Cから図1E参照)。ストレージ装置3405の機能ブロック図も、第1の実施の形態のストレージ装置120と同様であるため、説明を省略する(図6C参照)。ただし、第5の実施の形態のストレージ装置3405は、四つの仮想ストレージ装置、すなわち、仮想ストレージ装置(0)3406Aから仮想ストレージ装置(3)3406Dを含む。
図34の例では、仮想クライアント(0)3402Aに仮想ファイルサーバ装置(0)3404Aが割り当てられ、仮想ファイルサーバ装置(0)3404Aに仮想ストレージ装置(0)3406Aが割り当てられている。すなわち、仮想クライアント(0)3402Aは、仮想ファイルサーバ装置(0)3404Aに対してファイルの書き込み又は読み出し要求を発行する。仮想ファイルサーバ装置(0)3404Aは、仮想クライアント(0)3402Aからの要求に従って、仮想ストレージ装置(0)3406Aに対するデータの書き込み又は読み出しを実行する。そして、仮想ファイルサーバ装置(0)3404Aは、実行した書き込み又は読み出しの結果を仮想クライアント(0)3402Aに返す。
同様にして、図34の例では、仮想クライアント(1)3402Bに仮想ファイルサーバ装置(1)3404Bが割り当てられ、仮想ファイルサーバ装置(1)3404Bに仮想ストレージ装置(1)3406Bが割り当てられている。仮想クライアント(2)3402Cに仮想ファイルサーバ装置(2)3404Cが割り当てられ、仮想ファイルサーバ装置(2)3404Cに仮想ストレージ装置(2)3406Cが割り当てられている。仮想クライアント(3)3402Dに仮想ファイルサーバ装置(3)3404Dが割り当てられ、仮想ファイルサーバ装置(3)3404Dに仮想ストレージ装置(3)3406Dが割り当てられている。
管理端末150は、第1の実施の形態のものと同様であるため、説明を省略する。ただし、仮想計算機管理プログラム151に含まれるサーバ資源管理テーブル623は、第1の実施の形態と異なる(図35参照)。
図35は、本発明の第5の実施の形態のサーバ資源管理テーブル623の説明図である。
第5の実施の形態のサーバ資源管理テーブル623のうち、仮想計算機番号701、CPU利用率702、メモリ容量703、仮想I/Oアダプタ番号704及びI/Oアダプタ番号705は、第1の実施の形態と同様であるので、説明を省略する(図7参照)。ただし、仮想計算機番号701には、仮想ファイルサーバ装置3404の識別子が登録される。
第5の実施の形態のサーバ資源管理テーブル623は、第1の実施の形態のサーバ資源管理テーブル623に、仮想LANアダプタ番号3501及びLANアダプタ番号3502の二つのカラムを追加した構成を有する。仮想LANアダプタ番号3501には、各仮想ファイルサーバ3404が含む仮想LANアダプタの識別子が登録される。LANアダプタ番号3502には、各仮想LANアダプタに割り当てられたLANアダプタ105の識別子が登録される。
図36は、本発明の第5の実施の形態において実行される仮想ファイルサーバ装置3404の停止処理のフローチャートである。
図36の処理は、ユーザが、いずれかの仮想ファイルサーバ装置3404の電源を切断しようとするときに実行される。図36の説明において、ユーザが電源を切断しようとする仮想ファイルサーバ3404を、当該仮想ファイルサーバ装置3404と記載する。
最初に、ユーザが、管理端末150を操作して、当該仮想ファイルサーバ装置3404の上で動作しているOS603に、シャットダウンを指示する(3601)。
次に、当該仮想ファイルサーバ装置3404が、シャットダウンすることを、当該仮想ファイルサーバ装置3404を使用する仮想クライアント3402に通知する(3602)。
次のステップ3603からステップ3609までは、それぞれ、図16のステップ1602からステップ1608までと同様である。このため、これらのステップについては説明を省略する。ただし、図16の説明における「仮想計算機602」が、図36における「仮想ファイルサーバ装置3404」に相当する。
次に、ハイパーバイザ103は、実行した電源の切断を反映させるために、サーバ電源管理テーブル651を変更する(3610)。
次に、ハイパーバイザ103は、電源を切断したことを管理端末150に報告する(3611)。管理端末150は、報告された電源の切断を反映させるために、サーバ電源管理テーブル624を変更する。
次のステップ3612からステップ3617までは、それぞれ、図16のステップ1611からステップ1616までと同様である。このため、これらのステップについては説明を省略する。
次に、ストレージハイパーバイザ612は、実行した電源の切断を反映させるために、ストレージ電源管理テーブル664を変更する(3618)。
以上で、仮想ファイルサーバ装置3404の停止処理が終了する。
次に、本発明の第6の実施の形態について説明する。
高いアクセス性能又は高い耐障害性が要求される計算機システムにおいては、システムを構成する資源に冗長性が与えられる場合がある。一方、計算機システムが使用される状況によっては、性能及び耐障害性の確保よりも、消費電力削減が優先される場合も考えられる。その場合、冗長な資源を維持することは、消費電力の削減を阻害する。以下、第6の実施の形態において、要求される性能又は耐障害性に応じて資源の冗長性を制御することによって消費電力を削減するシステムを説明する。
図1Aから図16までを参照して説明した第1の実施の形態の構成は、第6の実施の形態にも適用される。以下、第6の実施の形態が第1の実施の形態と相違する点について説明する。
図37は、本発明の第6の実施の形態の計算機システムにおいて二つの仮想計算機602が稼動している場合の説明図である。
図37では、説明に必要のない部分(例えば、管理端末150)の図示を省略する。
図37のサーバ装置(0)100Aでは、仮想計算機(0)602Aと仮想計算機(1)602Bが全力運転(FULL ON)している。
仮想計算機(0)602Aは、仮想ストレージ装置(0)613Aを使用している。一方、仮想計算機(1)602Bは、仮想ストレージ装置(1)613Bを使用している。
仮想計算機(0)602Aから仮想ストレージ装置(0)613Aに至るアクセス経路は、I/Oアダプタ(0)106AからI/Oチャネル160Aを経由してチャネルボード(0)121Aのチャネルアダプタ(0)129Aに至る経路と、I/Oアダプタ(1)106BからI/Oチャネル160Bを経由してチャネルボード(1)121Bのチャネルアダプタ(2)129Cに至る経路の二つが存在する。これらの二つの経路は、仮想計算機(1)602Bから仮想ストレージ装置(1)613Bに至るアクセス経路としても使用される。
なお、図37において、実線の曲線によって囲まれた領域は、仮想計算機(0)602Aに割り当てられた資源を示す。点線の曲線によって囲まれた領域は、仮想計算機(1)602Bに割り当てられた資源を示す。
このように、第6の実施の形態は、アクセス経路を構成する資源に冗長性が与えられている場合を例として説明する。
例えば、一方の仮想計算機602が上記の一方のアクセス経路を使用しているとき、もう一方の仮想計算機602が残りのアクセス経路を使用することで、負荷の集中を避けることができる。また、二つのアクセス経路の一方に障害が発生した場合、二つの仮想計算機602が残りのアクセス経路を使用することで、システムの停止を避けることができる。このように、アクセス経路を構成する資源に冗長性を与えることによって、高い性能及び高い耐障害性が実現される。
図38は、本発明の第6の実施の形態の計算機システムにおいて一方の仮想計算機602が停止した場合の説明図である。
例えば、仮想計算機(1)602Bが停止すると、仮想計算機(1)602Bを対象とする停止処理(図16参照)が実行され、その結果、仮想計算機(1)602Bのみが使用していた物理資源(すなわち、仮想計算機(1)602Bのみに割り当てられていた物理資源)の電源が切断される。
しかし、上記の二つのアクセス経路は、仮想計算機(0)602Aにも使用されている。このため、二つのアクセス経路を構成する物理資源の電源は、切断されない。性能及び耐障害性を確保するためには、二つのアクセス経路を維持することが望ましいが、その場合、これらのアクセス経路を構成する物理資源が電力を消費し続ける。
図39は、本発明の第6の実施の形態の計算機システムにおいて資源の冗長性を解除した場合の説明図である。
図39は、図38において存在していた二つのアクセス経路のうち一方(すなわち、I/Oアダプタ(1)106BからI/Oチャネル160Bを経由してチャネルボード(1)121Bのチャネルアダプタ(2)129Cに至る経路)の仮想計算機(0)602Aへの割り当てが解除された状態を示す。その結果、少なくとも、I/Oアダプタ(1)106B及びチャネルボード(1)121Bの電源を(これらが他の仮想資源にも割り当てられていない限り)切断することができる。その結果、計算機システムの消費電力が削減される。
図40は、本発明の第6の実施の形態において、冗長な資源の電源を切断するために実行される処理の説明図である。
最初に、管理端末150は、処理の対象となる仮想資源(例えば、仮想計算機602又は仮想ストレージ装置613)が「省電力優先モード」に設定されているか否かを判定する(4001)。この判定は、後述するテーブル(図41及び図42参照)を参照することによって実行される。
ステップ4001において、省電力優先モードに設定されていないと判定された場合、性能及び耐障害性の確保が優先されるため、資源の冗長性を解除することができない。この場合、資源の電源を切断することなく、処理を終了する。
一方、ステップ4001において、省電力優先モードに設定されていると判定された場合、管理端末150は、冗長な資源が存在するか否かを判定する(4002)。ここで、冗長な資源とは、例えば図38に示す二つのアクセス経路を構成する物理資源のように、同一の仮想資源(例えば、仮想計算機602)に多重に割り当てられた物理資源を意味する。
ステップ4002において、冗長な資源が存在しないと判定された場合、資源の冗長性を解除することができない。このため、資源の電源を切断することなく、処理を終了する。
一方、ステップ4002において、冗長な資源が存在すると判定された場合、管理端末150は、処理の対象となる仮想資源に対する冗長な資源の割り当てを解除するために、サーバ資源管理テーブル623(図7参照)及びストレージ資源管理テーブル622(図10参照)を変更する(4003)。
次に、管理端末150は、ステップ4003における変更に整合するように、冗長な資源の電源を切断する(4004)。
例えば、図38及び図39に示すように、I/Oアダプタ(1)106BからI/Oチャネル160Bを経由してチャネルボード(1)121Bのチャネルアダプタ(2)129Cに至るアクセス経路の割り当てを解除する場合について説明する。この場合、ステップ4003において、仮想計算機番号701の値「0」に対応するI/Oアダプタ番号705から「1」が削除される。さらに、仮想ストレージ装置番号1002の値「0」に対応するチャネルアダプタ1008から「2」が削除される。そして、ステップ4004において、I/Oアダプタ(1)106B及びチャネルアダプタ(2)129Cの電源が切断される。
なお、上記の図40の説明は、管理端末150が実行する処理として記載したが、同様の処理をハイパーバイザ103又はストレージハイパーバイザ612が実行してもよい。
図41は、本発明の第6の実施の形態のサーバ装置省電力モードテーブルの説明図である。
サーバ装置省電力モードテーブルは、例えば、管理端末150に保持されてもよい。図40に示す処理がハイパーバイザ103又はストレージハイパーバイザ612によって実行される場合、サーバ装置省電力モードテーブルは、ハイパーバイザ103又はストレージハイパーバイザ612に保持されてもよい。
サーバ装置省電力モードテーブルは、少なくとも、仮想計算機番号4101及び省電力優先モード4102の二つのカラムからなる。
仮想計算機番号4101には、仮想計算機602の識別子が登録される。
省電力優先モード4102には、各仮想計算機602の消費電力削減のレベルを示す情報が登録される。省電力優先モード4102に登録されたレベルに基づいて、各仮想計算機602が省電力優先モードに設定されているか否かが判定される。例えば、省電力優先モード4102に登録されたレベルが所定の値以上である場合、仮想計算機602が省電力優先モードに設定されていると判定されてもよい。仮想計算機602が省電力優先モードに設定されている場合、資源の冗長性の確保よりも消費電力の削減が優先される。
図41の例では、省電力優先モード4102として、「ON」又は「OFF」の二つの値のいずれかが登録される。「ON」は、仮想計算機602が省電力優先モードに設定されていることを示し、「OFF」は、仮想計算機602が省電力優先モードに設定されていないことを示す。図41の例では、仮想計算機(0)602Aが省電力優先モードに設定されている。
図42は、本発明の第6の実施の形態のストレージ装置省電力モードテーブルの説明図である。
ストレージ装置省電力モードテーブルは、例えば、管理端末150に保持されてもよい。図40に示す処理がハイパーバイザ103又はストレージハイパーバイザ612によって実行される場合、ストレージ装置省電力モードテーブルは、ハイパーバイザ103又はストレージハイパーバイザ612に保持されてもよい。
ストレージ装置省電力モードテーブルは、少なくとも、仮想ストレージ装置番号4201及び省電力優先モード4202の二つのカラムからなる。
仮想ストレージ装置番号4201には、仮想ストレージ装置613の識別子が登録される。
省電力優先モード4202には、各仮想ストレージ装置613の消費電力削減のレベルを示す情報が登録される。図41の省電力優先モード4102と同様、省電力優先モード4102に登録されたレベルに基づいて、各仮想ストレージ装置613が省電力優先モードに設定されているか否かが判定される。
図42の例では、省電力優先モード4202として、「ON」又は「OFF」の二つの値のいずれかが登録される。「ON」は、仮想ストレージ装置613が省電力優先モードに設定されていることを示し、「OFF」は、仮想ストレージ装置613が省電力優先モードに設定されていないことを示す。図42の例では、仮想ストレージ装置(0)613Aが省電力優先モードに設定されている。
図43は、本発明の第6の実施の形態において資源を割り当てるために使用される入力画面の説明図である。
図43には、例として、仮想計算機(0)602Aを設定するための入力画面を示す。この入力画面は、例えば、管理端末150の画面表示装置(図示省略)によって表示される。
図43の例では、仮想計算機(0)602Aに、3個のCPU101、2GBのディスクキャッシュ144、20%の内部帯域、3台の仮想ディスク665が割り当てられる。そして、仮想計算機(0)602Aは、省電力優先モードに設定される。管理端末150を使用するユーザは、図43の入力画面に任意の値を入力することができる。
以上の第6の実施の形態は、アクセス経路に冗長性が与えられている場合を例として説明したが、他の資源が冗長である場合にも、その資源に対して上記と同様の処理を適用することができる。
次に、本発明の第7の実施の形態について説明する。
図1Aから図16までを参照して説明した第1の実施の形態の構成は、第7の実施の形態にも適用される。以下、第7の実施の形態が第1の実施の形態と相違する点について説明する。
図44は、本発明の第7の実施の形態において、ディスクキャッシュ144の電源を切断するために実行される処理の説明図である。
最初に、ストレージハイパーバイザ612は、ディスクキャッシュ144に必要な容量を計算する(4401)。具体的には、ストレージハイパーバイザ612は、ストレージ資源管理テーブル663(図10)を参照して、全ての仮想ストレージ装置613に割り当てられているディスクキャッシュ容量1004の値を合計する。
次に、ストレージハイパーバイザ612は、ディスクキャッシュ144の電源を切断することができるか否かを判定する(4402)。言い換えると、ストレージハイパーバイザ612は、電源を切断しても仮想ストレージ装置613の運転に支障のないディスクキャッシュ144があるか否かを判定する。具体的には、ストレージ装置120が備える全ディスクキャッシュ144の容量の合計よりステップ4401において算出された容量が小さい場合、その差分の容量は、どの仮想ストレージ装置613にも割り当てられない。このため、その差分の容量に相当するディスクキャッシュ144の電源を切断しても、仮想ストレージ装置613の運転に支障がない。
例えば、ステップ4401において計算された容量が10ギガバイト(GB)であり、実際に搭載されているディスクキャッシュ144の容量の合計が16GBである場合、6GBのディスクキャッシュ144の電源を切断しても、仮想ストレージ装置613の運転に支障がない。このため、最大6GBのディスクキャッシュ144の電源を切断することができる。
ステップ4402において、ディスクキャッシュ144の電源を切断することができないと判定された場合、ディスクキャッシュ144の電源を切断せずに処理を終了する。
一方、ステップ4402において、ディスクキャッシュ144の電源を切断することができると判定された場合、ストレージハイパーバイザ612は、電源を切断しても仮想ストレージ装置613の運転に支障のないディスクキャッシュ144の電源を切断する(4403)。
ディスクキャッシュ144の電源は、例えば、物理的なメモリモジュールごとに切断できる場合がある。あるいは、メモリバンクごとに電源を切断できる場合がある。あるいは、メモリのページごとに電源を切断できる場合がある。上記の例のように6GBのメモリの電源を切断したい場合でも、4GBのメモリモジュールごとに電源を切断する場合、一つのメモリモジュールしか電源を切断することができない。二つのメモリモジュールの電源を切断すると、10GBのキャッシュ容量を確保できなくなるためである。このため、第7の実施の形態を適用するに当たっては、ディスクキャッシュ144の電源を、できるだけ細かい単位で(例えば、ページごとに)切断できることが望ましい。
また、図1Eの例において、二つのディスクキャッシュ144の電源を切断する場合、同一のディスクキャッシュボード142上の二つのディスクキャッシュ144(例えば、ディスクキャッシュ(0)144Aとディスクキャッシュ(1)144B)の電源を切断することは望ましくない。残りのディスクキャッシュ(例えば、ディスクキャッシュ(2)144Cとディスクキャッシュ(3)144D)が同一のディスクキャッシュボード142(例えば、ディスクキャッシュボード(1)142B)上にあるため、そのディスクキャッシュボード142の障害によって全てのキャッシュデータが消失するからである。
したがって、常に複数のディスクキャッシュボード142が使用されるように、ディスクキャッシュ144の電源を切断することが望ましい。上記の場合、例えば、ディスクキャッシュ(0)144Aとディスクキャッシュ(2)144Cの電源を切断することが望ましい。
以上の第7の実施の形態によれば、電源を切断しても仮想ストレージ装置613の運転に支障のないディスクキャッシュ144の電源を切断することによって、消費電力を削減することができる。
次に、本発明の第8の実施の形態について説明する。
図1Aから図16までを参照して説明した第1の実施の形態の構成は、以下に説明する相違点を除いて、第8の実施の形態にも適用される。以下、第8の実施の形態が第1の実施の形態と相違する点について説明する。
第1の実施の形態の計算機システムは、一つのストレージ装置120を備え、二つのサーバ装置100が一つのストレージ装置120に接続された。一方、第8の実施の形態の計算機システムは、二つのストレージ装置120を備え、それぞれのストレージ装置120にサーバ装置100が一つずつ接続される。そして、二つのストレージ装置120の間で、リモートコピーが実行される。
図45は、本発明の第8の実施の形態の計算機システムの機能ブロック図である。
第8の実施の形態の計算機システムは、サーバ装置100A、サーバ装置100B、ストレージ装置120A及びストレージ装置120Bを備える。
サーバ装置100A及びサーバ装置100Bのハードウェア構成及び機能ブロック図は、いずれも、第1の実施の形態のサーバ装置100と同様であるため、詳細な説明を省略する。サーバ装置100Aは、仮想計算機(0)602A及び仮想計算機(1)602Bを含む。サーバ装置100Bは、仮想計算機(2)602C及び仮想計算機(3)602Dを含む。
ストレージ装置120A及びストレージ装置120Bのハードウェア構成及び機能ブロック図は、いずれも、第1の実施の形態のストレージ装置120と同様であるため、詳細な説明を省略する。
ストレージ装置120Aは、仮想ストレージ装置(0)613A及び仮想ストレージ装置(1)613Bを含む。仮想ストレージ装置(0)613Aは、仮想ディスク(0)665A及び仮想ディスク(1)665Bを含む。仮想ストレージ装置(1)613Bは、仮想ディスク(16)665C及び仮想ディスク(17)665Dを含む。
ストレージ装置120Bは、仮想ストレージ装置(1’)613Cを含む。ストレージ装置120Bは、さらに多くの仮想ストレージ装置613を含んでもよい。仮想ストレージ装置(1’)613Cは、仮想ディスク(16’)665E及び仮想ディスク(17’)665Fを含む。
第8の実施の形態では、仮想ストレージ装置(0)613Aが、仮想計算機(0)602Aに割り当てられている。すなわち、仮想計算機(0)602Aは、仮想ストレージ装置(0)613Aを使用する。同様に、仮想ストレージ装置(1)613Bが、仮想計算機(1)602Bに割り当てられている。仮想ストレージ装置(1’)613Cが、仮想計算機(2)602Cに割り当てられている。
ストレージ装置120A及びストレージ装置120Bは、互いに地理的に離れた場所に設置される。仮想ストレージ装置(1)613Bと仮想ストレージ装置(1’)613Cは、遠隔地ネットワーク4501を介して接続されている。遠隔地ネットワーク4501は、例えば、インターネットプロトコル(IP)が適用される広域通信網である。
仮想ストレージ装置(1)613B及び仮想ストレージ装置(1’)613Cの間では、リモートコピーが実行される。リモートコピーとは、災害又はシステム障害によるデータの消失を防ぐために、ストレージ装置120に格納されているデータを別のストレージ装置にコピーする技術である。より詳細には、ストレージ装置120に格納されているデータの複製が別のストレージ装置に送信され、送信先のストレージ装置120に格納される。
図45の例では、仮想計算機(1)602Bが仮想ディスク(16)665C又は仮想ディスク(17)665Dにデータを書き込むことを要求する。仮想ストレージ装置(1)613Bは、要求に従ってデータを書き込み、さらに、仮想ディスク(16)665C及び仮想ディスク(17)665Dに書き込まれたデータの複製を、遠隔地ネットワーク4501を経由して仮想ストレージ装置(1’)613Cに送信する。
仮想ストレージ装置(1’)613Cは、仮想ディスク(16)665Cに書き込まれたデータを仮想ディスク(16’)665Eに書き込み、仮想ディスク(17)665Dに書き込まれたデータを仮想ディスク(17’)665Fに書き込む。その結果、仮想ディスク(16)665Cと仮想ディスク(16’)665Eには同じデータが格納され、仮想ディスク(17)665Dと仮想ディスク(17’)665Fには同じデータが格納される。
このように、リモートコピーの結果同じデータを格納する仮想ディスク665の組は「ペア」と記載される。以下の説明において、ペアに属する仮想ディスク665のうち、データのコピー元となる仮想ディスク665は「一次側仮想ディスク665」と記載される。一次側仮想ディスク665を含む仮想ストレージ装置613は、「一次側仮想ストレージ装置613」と記載される。データのコピー先となる仮想ディスク665は「二次側仮想ディスク665」と記載される。二次側仮想ディスク665を含む仮想ストレージ装置613は、「二次側仮想ストレージ装置613」と記載される。
図45の例において、仮想ストレージ装置(1)613Bは一次側仮想ストレージ装置613である。仮想ストレージ装置(1’)613Cは二次側仮想ストレージ装置613である。仮想ディスク(16)665C及び仮想ディスク(17)665Dは、一次側仮想ディスク665である。仮想ディスク(16’)665E及び仮想ディスク(17’)665Fは、二次側仮想ディスク665である。
なお、一次側仮想ディスク665にデータが書き込まれたとき、その書き込みが直ちに二次側仮想ディスク665にコピーされない場合もある。例えば、遠隔地ネットワーク4501が混雑している場合、その混雑が解消した後でコピーのためのデータ送信が実行されてもよい。
図46は、本発明の第8の実施の形態の仮想ディスク管理テーブル622の説明図である。
仮想ディスク管理テーブル622は、仮想計算機602に対する仮想ディスク665の割り当てを管理するための情報を保持する。さらに、第8の実施の形態の仮想ディスク管理テーブル622は、仮想ディスク665のペアを管理する情報も保持する。
具体的には、仮想ディスク管理テーブル622は、仮想計算機番号801、仮想ストレージ番号802、論理ユニット番号803、仮想ディスク番号804、ペア状態4601、二次側仮想ストレージ番号4602及び二次側仮想ディスク番号4603の7カラムからなる。
仮想計算機番号801、仮想ストレージ番号802、論理ユニット番号803及び仮想ディスク番号804は、第1の実施の形態と同様であるため、説明を省略する(図8参照)。
ペア状態4601には、仮想ディスク番号804が示す仮想ディスク665が属するペアに関する情報が登録される。具体的には、仮想ディスク665がペアに属さない場合、その仮想ディスク665に対応するペア状態4601には「0」が登録される。仮想ディスク665がペアに属し、かつ、その仮想ディスク665が一次側仮想ディスク665である場合、その仮想ディスク665に対応するペア状態4601には「1」が登録される。仮想ディスク665がペアに属し、かつ、その仮想ディスク665が二次側仮想ディスク665である場合、その仮想ディスク665に対応するペア状態4601には「2」が登録される。
二次側仮想ストレージ番号4602及び二次側仮想ディスク番号4603には、仮想ディスク番号804が示す仮想ディスク665と同じペアに属する二次側仮想ディスク665を示す情報が登録される。二次側仮想ストレージ番号4602には、二次側仮想ディスク665を含む仮想ストレージ装置613の識別子が登録され、二次側仮想ディスク番号4603には、二次側仮想ディスク665の識別子が登録される。なお、図46において、ペアに属さない仮想ディスク665に対応する二次側仮想ストレージ番号4602及び二次側仮想ディスク番号4603には、「該当なし(N/A)」が表示されている。
図46の例では、仮想ディスク番号804の値「121」に対応するペア状態4601、二次側仮想ストレージ番号4602及び二次側仮想ディスク番号4603には、それぞれ、「0」、「N/A」及び「N/A」が登録されている。これは、識別子「121」を有する仮想ディスク665がペアに属していないことを示す。
一方、仮想ディスク番号804の値「16」に対応するペア状態4601、二次側仮想ストレージ番号4602及び二次側仮想ディスク番号4603には、それぞれ、「1」、「1’」及び「16’」が登録されている。これは、仮想ディスク(16)665Cがペアに一次側仮想ディスク665として属し、そのペアの二次側仮想ディスク665が、仮想ストレージ装置(1’)613Cの仮想ディスク(16’)665Eであることを示す。
なお、第1の実施の形態と同様、各ストレージ装置120は、仮想ディスク管理テーブル622と同様の情報を含む仮想ディスク管理テーブル661を保持する。このため、以下の説明において図46は、仮想ディスク管理テーブル661の説明図としても参照される。ただし、仮想ディスク管理テーブル661は、その仮想ディスク管理テーブル661を保持するストレージ装置120に関する情報のみを含んでもよい。
図47は、本発明の第8の実施の形態において、仮想計算機602がシャットダウンしたときにストレージ装置120が実行する処理のフローチャートである。
例として、図47は、図45に示す仮想計算機(1)602Bがシャットダウン(停止)したときに仮想ストレージ装置(1)613Bが実行する処理を説明する。
最初に、仮想計算機(1)602Bがシャットダウンする(4701)。
次に、仮想ストレージ装置(1)613Bが、シャットダウン指示を受信する(4702)。この指示は、図16のステップ1611と同様、仮想ストレージ装置(1)613Bの電源を切断させる指示である。この指示は、例えば、管理端末150から送信される。
次に、仮想ストレージ装置(1)613Bは、仮想ディスク管理テーブル661(図46参照)を参照する(4703)。
次に、仮想ストレージ装置(1)613Bは、仮想ディスク管理テーブル661を参照した結果、ペアに属する仮想ディスク665を含んでいるか否かを判定する(4704)。具体的には、仮想ストレージ番号802の値「1」に対応するペア状態4601の値のうち少なくとも一つが「1」又は「2」である場合、ペアに属する仮想ディスク665を含んでいると判定される。
ステップ4704において、仮想ストレージ装置(1)613Bがペアに属する仮想ディスク665を含んでいないと判定された場合、仮想ストレージ装置(1)613Bがシャットダウンされ(4705)、処理が終了する。このとき、ステップ4705において、図16のステップ1612から1618が実行される。
一方、ステップ4704において、仮想ストレージ装置(1)613Bがペアに属する仮想ディスク665を含んでいると判定された場合、仮想ストレージ装置(1)613Bは、ペアに属する仮想ディスク665が一次側仮想ディスク665であるか否かを判定する(4706)。
ステップ4706において、ペアに属する仮想ディスク665が一次側仮想ディスク665でないと判定された場合、仮想ストレージ装置(1)613Bは、二次側仮想ディスク665を含んでいる。この場合、仮想ストレージ装置(1)613Bをシャットダウンすることができないため、シャットダウンを実行することなく処理が終了する。これは、次の理由による。
一次側仮想ディスク665に書き込まれたデータの複製が二次側仮想ディスク665に送信される前に、二次側仮想ディスク665を含む仮想ストレージ装置613がシャットダウンすると、一次側仮想ディスク665と二次側仮想ディスク665のデータに不整合が発生する。不整合のあるデータは、利用できない場合がある。二次側仮想ストレージ装置613は、一次側仮想ストレージ装置613から情報を取得しない限り、まだ二次側仮想ディスク665にコピーされていないデータが残っているか否かを知ることができない。このため、二次側仮想ストレージ装置613は、管理端末150からのシャットダウン指示に従ってシャットダウンすることができない。
ただし、後で図48を参照して説明するように、二次側仮想ストレージ装置613は、一次側仮想ストレージ装置613からシャットダウン指示を受信したときには、シャットダウンすることができる。
一方、ステップ4706において、ペアに属する仮想ディスク665が一次側仮想ディスク665であると判定された場合、仮想ストレージ装置(1)613Bは、二次側仮想ストレージ装置613に対してまだ送信されていないデータがあるか否かを判定する(4707)。ここで、まだ送信されていないデータとは、一次側仮想ディスク665に書き込まれたデータの複製であって、まだ二次側仮想ストレージ装置613に送信されていないものである。
ステップ4707において、まだ送信されていないデータがあると判定された場合、仮想ストレージ装置(1)613Bは、まだ送信されていないデータを送信する(4708)。そのデータを受信した二次側仮想ストレージ装置613は、受信したデータを二次側仮想ディスク665に書き込む。
次に、仮想ストレージ装置(1)613Bは、二次側仮想ストレージ装置(図45の例では、仮想ストレージ装置(1’)613C)に対してシャットダウン指示を送信する(4709)。
一方、ステップ4707において、まだ送信されていないデータがあると判定された場合、仮想ストレージ装置(1)613Bは、ステップ4708を実行せずにステップ4709を実行する。
次に、仮想ストレージ装置(1)613Bは、仮想ストレージ装置(1)613Bが他の仮想計算機602に割り当てられているか否かを判定する(4710)。ここで、他の仮想計算機602とは、ステップ4701においてシャットダウンした仮想計算機(1)602A以外の仮想計算機602を意味する。ステップ4701の判定は、仮想ディスク管理テーブル622(図46)の仮想計算機番号801及び仮想ストレージ番号802を参照することによって実行される。
ステップ4710において、仮想ストレージ装置(1)613Bが他の仮想計算機602に割り当てられていると判定された場合、仮想計算機(1)602Aがシャットダウンした後も、仮想ストレージ装置(1)613Bは他の仮想計算機602によって使用される。このため、仮想ストレージ装置(1)613Bをシャットダウンせずに処理が終了する。
一方、ステップ4710において、仮想ストレージ装置(1)613Bが他の仮想計算機602に割り当てられていないと判定された場合、仮想計算機(1)602Aがシャットダウンした後、仮想ストレージ装置(1)613Bは、どの仮想計算機602によっても使用されない。この場合、仮想ストレージ装置(1)613Bのシャットダウンが実行され(4711)、処理が終了する。このとき、ステップ4711において、図16のステップ1612から1618が実行される。
図48は、本発明の第8の実施の形態において、一次側仮想ストレージ装置613からシャットダウン指示を受信した二次側仮想ストレージ装置613が実行する処理のフローチャートである。
図48の処理は、図47のステップ4709において送信された指示を受信した二次側仮想ストレージ装置613によって実行される。以下、図45に示すように、二次側仮想ストレージ装置613が仮想ストレージ装置(1’)613Cである場合を例として説明する。
最初に、仮想ストレージ装置(1’)613Cは、一次側仮想ストレージ装置(1)613Bからシャットダウン指示を受信する(4801)。この指示は、図47のステップ4709において送信されたものである。
次に、仮想ストレージ装置(1’)613Cは、仮想ストレージ装置(1’)613Cが他の仮想計算機602に割り当てられているか否かを判定する(4802)。ここで、他の仮想計算機602とは、仮想ストレージ装置(1’)613Cが割り当てられている仮想計算機602のうち、ステップ4701においてシャットダウンした仮想計算機602に割り当てられた仮想ディスク665と同一のペアに属する仮想ディスク665に割り当てられた仮想計算機602を意味する。
図45から図47の例では、ステップ4701において、仮想ストレージ装置(1)613Bがシャットダウンする。仮想ストレージ装置(1)613Bには、仮想ディスク(16)665C及び仮想ディスク(17)665Dが割り当てられている。仮想ディスク(16’)665E及び仮想ディスク(17’)665Fは、それぞれ、仮想ディスク(16)665C及び仮想ディスク(17)665Dと同じペアに属する。このため、仮想ディスク(16’)665E及び仮想ディスク(17’)665F以外の仮想ディスク665が割り当てられた仮想計算機602が、ステップ4802における他の仮想計算機602である。
図45に示すように、仮想ストレージ装置(1’)613Cが仮想ディスク(16’)665E及び仮想ディスク(17’)665Fのみを含む場合、ステップ4802において、仮想ストレージ装置(1’)613Cが他の仮想計算機602に割り当てられていないと判定される。
ステップ4802において、仮想ストレージ装置(1’)613Cが他の仮想計算機602に割り当てられていると判定された場合、仮想ストレージ装置(1’)613Cをシャットダウンすることなく処理が終了する。
一方、ステップ4802において、仮想ストレージ装置(1’)613Cが他の仮想計算機602に割り当てられていないと判定された場合、仮想ストレージ装置(1’)613Cのシャットダウンが実行され(4803)、処理が終了する。ステップ4803におけるシャットダウンは、図47のステップ4711と同様に実行される。
なお、ステップ4803において、管理端末150は、シャットダウンされる仮想ストレージ装置(1’)613Cが割り当てられた仮想計算機(2)602Cに対して、シャットダウンの指示を送信してもよい。
以上、本発明の第8の実施の形態によれば、仮想ディスク665のペアが生成されている場合に、一次側仮想ストレージ装置613が割り当てられた仮想計算機602がシャットダウンすると、その一次側仮想ストレージ装置613と同じペアに属する二次側仮想ストレージ装置613(すなわち、その一次側仮想ストレージ装置613内の仮想ディスク665に書き込まれたデータのコピー先の二次側仮想ディスク665を含む二次側仮想ストレージ装置613)がシャットダウンされる。その結果、計算機システム全体の消費電力を削減することができる。
次に、本発明の第9の実施の形態について説明する。
図1Aから図16までを参照して説明した第1の実施の形態の構成は、以下に説明する相違点を除いて、第9の実施の形態にも適用される。以下、第9の実施の形態が第1の実施の形態と相違する点について説明する。
第1の実施の形態の計算機システムは、一つのストレージ装置120を備え、二つのサーバ装置100が一つのストレージ装置120に接続された。一方、第9の実施の形態の計算機システムは、二つのストレージ装置120を備える。一方のストレージ装置120は、もう一方のストレージ装置120に外部接続される。
図49は、本発明の第9の実施の形態の計算機システムの機能ブロック図である。
第9の実施の形態の計算機システムは、サーバ装置(0)100A、ストレージ装置(0)120A、ストレージ装置(1)120B及び管理端末150を備える。
サーバ装置(0)100Aのハードウェア構成及び機能ブロック図は、いずれも、第1の実施の形態のサーバ装置(0)100Aと同様であるため、詳細な説明を省略する。サーバ装置(0)100Aは、仮想計算機(0)602A及び仮想計算機(1)602Bを含む。
ストレージ装置(0)120A及びストレージ装置(1)120Bのハードウェア構成及び機能ブロック図は、いずれも、第1の実施の形態のストレージ装置120と同様であるため、詳細な説明を省略する。
ストレージ装置(0)120Aは、仮想ストレージ装置(n)613Eを含む。仮想ストレージ装置(n)613Eは、仮想ディスク(121)665G、仮想ディスク(122)665H、仮想ディスク(300)665J及び仮想ディスク(301)665Kを含む。
ストレージ装置(1)120Bは、仮想ストレージ装置(n+1)613Fを含む。仮想ストレージ装置(n+1)613Fは、仮想ディスク(500)665L及び仮想ディスク(501)665Mを含む。
第9の実施の形態では、仮想ストレージ装置(n)613Eが仮想ストレージ装置(n+1)613Fに外部接続されている。図49の例では、仮想ディスク(300)665Jに仮想ディスク(500)665Lが外部接続され、仮想ディスク(301)665Kに仮想ディスク(501)665Mが外部接続されている。この場合、ストレージ装置(0)120A内のいずれの物理ディスクドライブ148も、仮想ディスク(300)665J及び仮想ディスク(301)665Kに割り当てられていない。
例えば、仮想計算機602が仮想ディスク(300)665Jを対象とするアクセス要求(すなわち、書き込み要求又は読み出し要求)を発行する。そのアクセス要求を受信した仮想ストレージ装置(n)613Eは、受信したアクセス要求を、外部接続された仮想ディスク(500)665Lに対するアクセス要求に変換して、仮想ストレージ装置(n+1)613Fに送信する。アクセス要求を受信した仮想ストレージ装置(n+1)613Fは、要求に従ってアクセスを実行し、要求に対する応答を仮想ストレージ装置(n)613Eに送信する。応答を受信した仮想ストレージ装置(n)613Eは、受信した応答を仮想ストレージ装置(n)613Eからの応答に変換して、仮想計算機602に送信する。
図50は、本発明の第9の実施の形態のディスクアドレス変換テーブル662の説明図である。
ディスクアドレス変換テーブル662は、仮想ストレージ装置613内の仮想ディスク665と、その仮想ディスク665に割り当てられる物理ディスクドライブ148との対応関係を管理するための情報を保持する。さらに、ディスクアドレス変換テーブル662は、仮想ストレージ装置613内の仮想ディスク665と、その仮想ディスク665に外部接続される別の仮想ストレージ装置613内の仮想ディスク665との対応関係を管理するための情報も保持する。
具体的には、第9の実施の形態のディスクアドレス変換テーブル662は、仮想ストレージ装置番号5001、仮想ディスク番号901、仮想ブロックアドレス902、物理ディスク番号903、物理ブロックアドレス904及び外部ディスクフラグ5002の6カラムからなる。
仮想ディスク番号901及び仮想ブロックアドレス902は、第1の実施の形態と同様であるため、説明を省略する。
物理ディスク番号903には、仮想ディスク665に割り当てられる物理ディスクドライブ148の識別子が登録される。ただし、仮想ディスク665に別の仮想ストレージ装置613内の仮想ディスク665が外部接続されている場合、物理ディスク番号903には、外部接続される仮想ディスク665の識別子が登録される。
物理ブロックアドレス904には、仮想ディスク665に割り当てられる物理ディスクドライブ148内の論理ブロックを各物理ディスクドライブ内で一意に識別する物理ブロックアドレスが登録される。ただし、仮想ディスク665に別の仮想ストレージ装置613内の仮想ディスク665が外部接続されている場合、物理ブロックアドレス904には、外部接続された仮想ディスク665の仮想ブロックアドレスが登録される。
仮想ストレージ装置番号5001には、仮想ディスク番号901が示す仮想ディスク665を含む仮想ストレージ装置613の識別子が登録される。
外部ディスクフラグ5002には、仮想ディスク番号901が示す仮想ディスク665に、別の仮想ディスク665が外部接続されているか否かを示す情報が登録される。図50の例では、仮想ディスク665が外部接続されている場合、外部ディスクフラグ5002に「1」が登録される。その場合、物理ディスク番号903及び物理ブロックアドレス904に登録されている値は、外部接続された仮想ディスク655の識別子及び仮想ブロックアドレスである。
一例として、図50及び図49を参照して、仮想ディスク番号901の値「300」に対応する各カラムについて説明する。この例において、仮想ストレージ装置番号5001には、「n」が登録されている。これは、仮想ディスク(300)665Jが仮想ストレージ装置(n)613Eに含まれることを示す。
仮想ディスク(300)665Jに対応する外部ディスクフラグ5002には、「1」が登録されている。これは、仮想ディスク(300)665Jに別の仮想ディスク665が外部接続されていることを示す。この場合、物理ディスク番号903及び物理ブロックアドレス904には、外部接続された仮想ディスクの識別子及び仮想ブロックアドレスが登録される。
仮想ディスク(300)665Jに対応する仮想ブロックアドレス902、物理ディスク番号903及び物理ブロックアドレス904には、それぞれ、「0x00000000」、「500」及び「0x00000000」が登録されている。これは、仮想ディスク(300)665Jに仮想ディスク(500)665Lが外部接続され、仮想ディスク(300)665J内のアドレス「0x00000000」が仮想ディスク(500)665L内のアドレス「0x00000000」と対応することを示す。
この場合、仮想ストレージ装置(n)613Eは、仮想ディスク(300)665Jのアドレス「0x00000000」を対象とするアクセス要求を受信すると、受信したアクセス要求の対象を仮想ディスク(500)665Lのアドレス「0x00000000」に変更したアクセス要求を仮想ストレージ装置(n+1)613Fに送信する。
図51は、本発明の第9の実施の形態のストレージ資源管理テーブル621の説明図である。
第9の実施の形態のストレージ資源管理テーブル621は、仮想計算機番号1001、仮想ストレージ装置番号1002、仮想ディスク番号1003、ディスクキャッシュ容量1004、担当CPU1005、内部帯域1006、仮想チャネルアダプタ1007、チャネルアダプタ1008、I/Oアダプタ1009及び仮想I/Oアダプタ1010の10カラムからなる。これらのカラムの説明は、第1の実施の形態と同様であるため、省略する(図10参照)。
一つ以上の仮想計算機602及び一つ以上の仮想ストレージ装置613を含む計算機システム全体で一意の識別子を、計算機システム内の各資源に付与することによって、それらの資源を(それらがどの装置に属していても)統一的に管理することができる。
図52は、本発明の第9の実施の形態において実行される仮想計算機602の停止処理のフローチャートである。
図52に示す処理は、ユーザが、いずれかの仮想計算機602の電源を切断しようとするときに実行される。以下に説明する相違点を除き、第9の実施の形態の仮想計算機602の停止処理(図52)は、第1の実施の形態のもの(図16)と同様である。以下、第9の実施の形態の仮想計算機602の停止処理が第1の実施の形態のものと相違する点について説明する。なお、「当該資源」、「当該仮想ストレージ装置613」等の用語の意味は、図16において説明した通りである。
最初に、仮想計算機のシャットダウンが実行される(5201)。この処理は、図16のステップ1601から1610に相当するため、説明を省略する。
ステップ5201からステップ5205は、それぞれ、図16のステップ1611からステップ1614と同様であるため、説明を省略する。
ステップ5205において、当該資源が当該仮想ストレージ装置613以外の仮想ストレージ装置613に割り当てられていないと判定された場合、ストレージハイパーバイザ612は、当該資源が外部ディスクであるか否かを判定する(5206)。「当該資源が外部ディスクである」ことは、当該仮想ストレージ装置613が、当該資源に対するアクセス要求を、外部接続された仮想ストレージ装置に対するアクセス要求に変換して送信することを意味する。当該資源に対応する外部ディスクフラグ5002が「1」である場合、ステップ5206において、当該資源が外部ディスクであると判定される。
ステップ5206において、当該資源が外部ディスクであると判定された場合、当該資源は、当該仮想ストレージ装置613を含むストレージ装置120とは別のストレージ装置120に含まれる。このため、当該ストレージ装置613を含むストレージ装置120のストレージハイパーバイザ612は、当該資源の電源を直接制御することができない。この場合、ストレージハイパーバイザ612は、当該資源がいずれかの仮想ストレージ装置613によって管理されているか否かを判定する(5207)。
ステップ5207において、当該資源がいずれかの仮想ストレージ装置613によって管理されていると判定された場合、ストレージハイパーバイザ612は、当該資源を管理する仮想ストレージ装置613に、当該資源の電源を切断させる指示を送信する(5208)。
一方、ステップ5207において、当該資源がいずれの仮想ストレージ装置613によっても管理されていないと判定された場合、当該資源の電源を切断せずにステップ5210に進む。
ステップ5206において、当該資源が外部ディスクでないと判定された場合、当該資源は、当該仮想ストレージ装置613を含むストレージ装置120に含まれる。この場合、処理はステップ5209に進む。ステップ5209から5212は、それぞれ、図16のステップ1615から1618と同様であるため、説明を省略する。
ここで、図49から図52を参照して、仮想計算機(0)602Aがシャットダウンされる場合について説明する。この場合、ステップ5201において仮想計算機(0)602Aのシャットダウンが終了する。仮想計算機(0)602Aには、仮想ディスク(121)665G、仮想ディスク(122)665H、仮想ディスク(300)665J及び仮想ディスク(301)665Kが割り当てられている(図51)。
仮想ディスク(121)665Gには、物理ディスクドライブ(8)148及び物理ディスクドライブ(9)148が割り当てられている(図50)。仮想ディスク(122)665Hには、物理ディスクドライブ(10)148が割り当てられている。仮想ディスク(300)665Jには、外部接続された仮想ディスク(500)665Lが割り当てられている。仮想ディスク(301)665Kには、外部接続された仮想ディスク(501)665Mが割り当てられている。
この場合、物理ディスクドライブ(8)148、物理ディスクドライブ(9)148及び物理ディスクドライブ(10)148については、ステップ5206において、当該資源が外部ディスクでないと判定される。一方、仮想ディスク(500)665L及び仮想ディスク(501)665Mについては、ステップ5206において、当該資源が外部ディスクであると判定される。
以上の本発明の第9の実施の形態によれば、外部接続された仮想ストレージ装置613が仮想計算機602に割り当てられる。仮想計算機602がシャットダウンするときに、外部接続された仮想ストレージ装置613に割り当てられた物理資源の電源がシャットダウンされる。その結果、計算機システム全体の消費電力が削減される。
次に、本発明の第10の実施の形態について説明する。
図1Aから図16までを参照して説明した第1の実施の形態の構成は、以下に説明する相違点を除いて、第10の実施の形態にも適用される。以下、第10の実施の形態が第1の実施の形態と相違する点について説明する。
これまで説明した第1から第9の実施の形態では、仮想ストレージ装置613がシャットダウンするときに、それらの装置に割り当てられていた物理資源が他の装置にも割り当てられているか否かが判定される。そして、他の装置に割り当てられていない物理資源の電源が切断される(図16等参照)。一方、シャットダウンした仮想ストレージ装置613に割り当てられていた資源であっても、それが他の仮想ストレージ装置613にも割り当てられていた場合、その資源の電源を切断することができない。
しかし、仮想ストレージ装置613に割り当てられていた資源に課せられた負荷は、その仮想ストレージ装置613がシャットダウンした結果、軽減されるはずである。したがって、負荷の軽減に応じて、仮想ストレージ装置613に必要でない資源の電源を切断することができる。言い換えると、まだ運転している仮想ストレージ装置が課している負荷を賄うために必要な資源のみを残し、それ以外の資源の電源を切断すれば、仮想ストレージ装置の性能を低下させることなく消費電力を削減することができる。
このため、第10の実施の形態では、物理資源の利用率に基づいて、その物理資源の電源を切断するか否かが判定される。以下、第10の実施の形態について、図53及び図54を参照して具体的に説明する。
図53は、本発明の第10の実施の形態の計算機システムの機能ブロック図である。
第10の実施の形態の計算機システムは、サーバ装置(0)100A、ストレージ装置(0)120A及び管理端末150を備える。
サーバ装置(0)100Aのハードウェア構成及び機能ブロック図は、いずれも、第1の実施の形態のサーバ装置(0)100Aと同様であるため、詳細な説明を省略する。サーバ装置(0)100Aは、仮想計算機(0)602A及び仮想計算機(1)602Bを含む。
ストレージ装置(0)120Aのハードウェア構成及び機能ブロック図は、第1の実施の形態のストレージ装置120と同様であるため、詳細な説明を省略する。
ストレージ装置(0)120Aは、仮想ストレージ装置(n)613E及び仮想ストレージ装置(n+1)613Fを含む。仮想ストレージ装置(n)613Eには、CPU(4)122A、CPU(6)122C、CPU(8)133A及びCPU(10)133Cが割り当てられている。仮想ストレージ装置(n+1)613Fにも、同様に、CPU(4)122A、CPU(6)122C、CPU(8)133A及びCPU(10)133Cが割り当てられている。すなわち、第10の実施の形態において、各CPU122等は、それぞれ、二つの仮想ストレージ装置613に割り当てられている。
図53の例に第1の実施の形態を適用した場合、仮想計算機(0)602Aがシャットダウンすると、仮想計算機(0)602Aに割り当てられた仮想ストレージ装置(n)613Eもシャットダウンする。しかし、CPU(4)122A、CPU(6)122C、CPU(8)133A及びCPU(10)133Cは、いずれも、仮想ストレージ装置(n+1)613Fにも割り当てられている。このため、これらのCPUの電源を切断することはできない。
しかし、仮想ストレージ装置(n)613Eがシャットダウンしたことによって、CPU122等に課せられる負荷が低下すると、その負荷を賄うために必要なCPU122等の数も少なくなる。
例えば、図53において仮想計算機(0)602A及び仮想計算機(1)602Bが同量の負荷をストレージ装置120に課した結果、四つのCPU122等の平均利用率が100%であったと仮定する。この場合、仮想計算機(0)602A及び仮想ストレージ装置(n)613Eがシャットダウンすると、四つのCPU122等の平均利用率が50%に減少する。
ここで、四つのうち二つのCPU122等の電源を切断すると、残りの二つのCPU122等の平均利用率は100%となると予想される。すなわち、仮想計算機(1)602Bは、二つのCPU122等のみを必要としている。言い換えると、残りの二つのCPU122等によって、CPU122等に課せられた負荷を賄うことができる。したがって、二つのCPU122等の電源を切断することによって、仮想ストレージ装置(n+1)613Fの性能を低下させることなく、消費電力を削減することができる。そのために実行される処理について、図54を参照して説明する。
図54は、本発明の第10の実施の形態において実行される、利用率に基づいて物理資源の電源を切断する処理のフローチャートである。
図54は、図53において仮想ストレージ装置(n)613Eがシャットダウンした場合を例として説明する。
最初に、仮想ストレージ装置(n)613Eのシャットダウンが完了する(5401)。このシャットダウンの完了は、図16のステップ1618が終了したことに相当する。
次に、ストレージハイパーバイザ612は、シャットダウンした仮想ストレージ装置(n)613Eに割り当てられている資源を特定する(5402)。この特定は、図16のステップ1612と同様にして実行される。
次に、ストレージハイパーバイザ612は、ステップ5402において特定された資源(すなわち、当該資源)が、シャットダウンした仮想ストレージ装置(n)613E以外の仮想ストレージ装置613にも割り当てられているか否かを判定する(5403)。この判定は、図16のステップ1614と同様にして実行される。
ステップ5403において、当該資源がシャットダウンした仮想ストレージ装置(n)613E以外の仮想ストレージ装置613に割り当てられていないと判定された場合、当該資源の電源を切断することができる。この場合、後述するステップ5406における電源の切断を実行せずに、処理を終了する。
一方、ステップ5403において、当該資源がシャットダウンした仮想ストレージ装置(n)613E以外の仮想ストレージ装置613にも割り当てられていると判定された場合、ストレージハイパーバイザ612は、当該資源と同種の、個別に電源を制御可能な資源が複数存在するか否かを判定する(5404)。言い換えると、当該資源が、個別に電源を制御可能な複数のデバイスを含むか否かが判定される。
図53の例では、仮想ストレージ装置(n+1)613Fに四つのCPU122等が割り当てられている。この場合、四つのCPU122等からなるCPU群は、個別に電源を制御可能な複数のデバイス(すなわちCPU122等)を含む。この場合、ステップ5404において、当該資源と同種の資源が複数存在すると判定される。
ステップ5403において、当該資源と同種の資源が複数存在しないと判定された場合、当該資源の電源を切断することはできない。この場合、後述するステップ5406における電源の切断を実行せずに、処理を終了する。
一方、ステップ5403において、当該資源と同種の資源が複数存在すると判定された場合、ストレージハイパーバイザ612は、それらの複数の資源の平均利用率uが1−1/x以下であるか否かを判定する(5405)。ここで、xは、ステップ5404において検出された当該資源及び当該資源と同種の資源の数の合計値である。
ステップ5405において、平均利用率uが1−1/xより大きいと判定された場合、当該資源(又は、同種の資源のうちの一つ)の電源を切断すると、残された資源は、それらに課せられた負荷を賄うことができない。このため、後述するステップ5406における電源の切断を実行せずに、処理を終了する。
一方、ステップ5405において、平均利用率uが1−1/x以下であると判定された場合、少なくとも一つの資源の電源を切断しても、残された資源は、それらに課せられた負荷を賄うことができる。このため、ストレージハイパーバイザ612は、当該資源及びそれと同種の資源のうち、x(1−u)個の資源の電源を切断する(5406)。ただし、x(1−u)が整数でない場合、小数点以下の値は切り捨てられる。x(1−u)の整数部分は、仮想ストレージ装置613に必要でない資源の数を示している。
例えば、図53において、四つのCPU122等の平均利用率が60%である場合、uは「0.6」、xは「4」となる。この場合、1−1/xが0.75であるため、ステップ5405において「YES」と判定される。x(1−u)が1.6であるため、ステップ5406において、1個のCPU122等の電源が切断される。
以上で処理が終了する。
以上の本発明の第10の実施の形態によれば、図16に示す処理が終了した後で、図54に示す処理が実行される。その結果、図16に示す処理によって電源を切断することができなかった資源のうち、負荷が軽減されたために使用する必要がなくなった資源の電源を切断することができる。
次に、本発明の第11の実施の形態について説明する。
図55は、本発明の第11の実施の形態の計算機システムの機能ブロック図である。
これまで説明した第1から第10の実施の形態では、ハイパーバイザ103は、各サーバ装置100に論理区画を設定することによって、一つの計算機内に複数の仮想計算機602を実現した。同様にして、ストレージハイパーバイザ612は、一つのストレージ装置120に複数の仮想ストレージ装置613を実現した。しかし、これらのハイパーバイザは、複数の装置に跨る論理区画を設定することによって、複数の装置の物理資源を一つの仮想装置(仮想計算機602又は仮想ストレージ装置613に割り当てることができる。
図55に示す第11の実施の形態の計算機システムは、サーバ装置(0)100Aからサーバ装置(n−1)100Cまでのn個のサーバ装置100と、ストレージ装置(0)120Aからストレージ装置(m−1)120Cまでのm個のストレージ装置120とを含む。これらのサーバ装置100及びストレージ装置120は、ストレージエリアネットワーク(SAN)5501によって相互に接続されている。また、これらのサーバ装置100及びストレージ装置120は、ネットワーク170を介して管理端末150と接続されている。
図55の例では、全てのサーバ装置100を管理するハイパーバイザ103が複数の仮想計算機602を実現している。具体的には、サーバ装置(0)100A及びサーバ装置(1)100Bに跨る仮想計算機(0)602A、仮想計算機(1)602B及び仮想計算機(2)602Cが設定されている。これらの仮想計算機602には、サーバ装置(0)100A及びサーバ装置(1)100Bの物理資源が割り当てられている。さらに、サーバ装置(n−1)100Cのみの物理資源が割り当てられた仮想計算機(3)602Dが設定されている。
一方、全てのストレージ装置120を管理するストレージハイパーバイザ612が複数の仮想ストレージ装置613を実現している。具体的には、ストレージ装置(0)120A及びストレージ装置(1)120Bに跨る仮想ストレージ装置(0)613A、仮想ストレージ装置(1)613B及び仮想ストレージ装置(2)613Cが設定されている。これらの仮想ストレージ装置613には、ストレージ装置(0)120A及びストレージ装置(1)120Bの物理資源が割り当てられている。さらに、ストレージ装置(m−1)120Cのみの物理資源が割り当てられた仮想ストレージ装置(3)613Dが設定されている。
このように、複数の装置の物理資源が仮想計算機602及び仮想ストレージ装置612に割り当てられている計算機システムにも、これまでに説明した第1から第10の実施の形態を適用することができる。その場合も、既に説明されたものと同様の処理が実行される。