図1は、本発明における実施例の全体図を示している。複数のサーバ107は、それぞれのネットワークインターフェースカード(NIC)112を介してネットワークスイッチ(NW SW)108に接続され、ファイバチャネルアダプタ(FCA)111を介してファイバチャネルスイッチ106に接続されている。また、ファイバチャネルスイッチ106はディスクアレイ装置109にも接続され、サーバ107からアクセスできる。ネットワークスイッチ108は、システムを管理する管理サーバ101にも接続されている。また、サーバ107の各々にはBMC(Baseboard Management Controller)113が内蔵されており、ネットワークを介して、サーバ107のハードウェアの状態監視や、電源制御、サーバ107のリセットを行うことができる。一般に、BMC113は、サーバ107とは別の電源が供給されており、サーバ107が停止していても、ネットワークを介してBMC113を遠隔操作することができる。管理サーバ101は、サーバ107,ネットワークスイッチ108,ファイバチャネルスイッチ106,ディスクアレイ装置109に対し、ネットワークを経由して状態の監視や必要に応じて制御を行う。
管理サーバ101は、サーバ管理機構102とブートディスク管理機構103から構成されている。サーバ管理機構102は、サーバや、サーバに接続されているデバイスを管理する。ブートディスク管理機構103は、サーバの起動に必要なディスクの管理を行う機構であり、本発明の特徴の一つである。ブートディスク管理機構103は、セキュリティ設定機構104とサーバ情報取得機構105から構成されている。セキュリティ機構104は、ディスクアレイ装置109内のディスクアレイ管理機構115を制御する機構であり、より具体的にはセキュリティ機能116を制御する事でサーバとディスクアレイ内のディスク110との関係づけを行う。サーバ情報取得機構は、サーバの情報を取得するための機構であり、ネットワークスイッチ108内のネットワークスイッチ管理機能114等を制御し、サーバ107の情報を取得する機能を有する。
本実施例では、サーバ107はディスクアレイ装置109内にオペレーティングシステムが格納されるケースにおいて、オペレーティングシステムをインストールする前に、サーバ107とディスクアレイ装置109内のディスク110との対応付けを行う。図2は、本実施例におけるサーバ107の詳細な構成を示している。サーバ107にはプログラムやデータを格納するメモリ201と、メモリ内のプログラムを実行するプロセッサ202と、ファイバチャネルアダプタ111と、ネットワークインターフェースカード112と、BMC113から構成されている。ファイバチャネルアダプタ111は通信機構203によりファイバチャネル通信を行うが、ファイバチャネル通信にはWWN(World Wide Name)と呼ばれるユニークなデバイス識別子が必要とされる。WWNによってファイバチャネルの通信相手を特定することができる。ファイバチャネルアダプタ111内には、このWWNを格納しておくWWN格納メモリ204が用意されており、通信機構203はWWN格納メモリ204を参照しながら通信を行う。
ネットワークインターフェースカード112は、ネットワーク通信をおこなう通信機構205とネットワークブート機構206から構成される。ネットワークブート機構206は、サーバ107の起動時に動作させることができ、ネットワークを介してサーバ107の起動に必要なプログラムを取得する機能を有している。BMC113は、主にサーバ107のハードウェアの監視や制御を行う。サーバのハードウェアの情報転送や制御コマンドの受付・転送は通信機構207を介して行う。通信機構207は、一般的なネットワークと同じで構わない。サーバ107のハードウェアに異常が発生した場合はサーバ監視機構208が検知し、通信機構207から異常を通知する。また、遠隔から通信機構207を介して、サーバ107の電源をON/OFFやハードウェアリセットを行うことができる。そのため、BMCは一般には、サーバ107の電源とは別系統の電源が供給されており、サーバの電源がOFFの状態でもBMC113は通信機構207を介して遠隔制御を行う事ができる。
図3は、図1における管理サーバ101の構成を示している。管理サーバ101は、サーバ管理機構102と、ブートディスク管理機構103から構成されている。サーバ管理機構102は、サーバの状態監視や制御を行う。例えば、現在稼働しているサーバが正常に稼働しているかといったイベントや、あるいは新たに追加されたサーバのイベントを監視などである。この際、重要になる情報は管理対象となるサーバの把握である。そのために、サーバ管理テーブル301を有している。サーバ管理テーブル301は、現在監視や制御の対象となっているサーバの構成情報や設定情報が格納されている。サーバ管理テーブル301の詳細は後で述べる。ブートディスク管理機構103は、サーバ情報取得機構105とセキュリティ設定機構104から構成される。サーバ情報取得機構105は仮想ネットワーク設定機構306,ネットワークブート管理機構302から構成される。仮想ネットワーク設定機構は、図1におけるネットワークスイッチ108の仮想ネットワーク(VLAN)を設定する機能を有している。
仮想ネットワークとは、物理的に同一のネットワークスイッチに接続された機器を、論理的に複数のネットワークに分離する機能である。本実施例における仮想ネットワーク設定機構306は、制御対象となるサーバと、管理サーバとの間でプライベートなネットワークを構築する動作を行う。ネットワークブート管理機構302は、図2におけるネットワークブート機構206に対応する処理を行う。ネットワークブート機構206は、ネットワークブート機構206からの要求に対応して、ネットワークブートイメージデータ303の転送や、ネットワークブートに必要な情報を転送する。本実施例におけるネットワークブートイメージには、オペレーティングシステム(OS)305とOS上で稼働するサーバ情報取得エージェント304が格納されている。サーバ情報取得エージェント304は、OS305が起動すると自動的に動作するように設定されている。セキュリティ設定機構104は、ディスクアレイ装置109のセキュリティ機能116を制御し、サーバとディスクとの対応付けを行う。
図4は、図3におけるサーバ管理テーブル301の詳細を示している。サーバ管理テーブル301は、管理サーバ101に管理されるテーブルであり、管理サーバ101が管理対象としているサーバの一覧と、各サーバの管理情報が格納されている。テーブルのカラム401は、サーバの識別子が格納されている。サーバ識別子401は、サーバが特定できる情報であれば良い。サーバのシリアル番号や、ブレードサーバであれば、ブレード番号などである。カラム402は、ネットワーク接続ポート番号を示している。これは、サーバ107とネットワークスイッチ108の接続対応を示している。この情報は、独立したサーバであれば、システム管理者が設定しても良いし、ブレードサーバのように接続状態があらかじめ決まっている場合は、あらかじめ固定情報として設定される場合もある。
本実施例では、どちらの方法を使っても構わない。カラム403はサーバのプロセッサ種別を示している。カラム404はサーバが搭載しているメモリ容量を示している。カラム405はブートディスクの場所を示している。サーバに内蔵されたディスクからOSを起動する場合は内蔵ディスクと記述され、外部のディスクアレイ装置から起動する場合は、そのディスク番号が記述される。ディスクアレイ装置が複数存在する場合は装置番号を含んでも構わない。カラム406は仮想ネットワークの識別子が格納される。仮想ネットワークの識別子が同じサーバは、同じネットワークに属していることを意味し、異なる場合は論理的に通信が切り離されていることを意味する。
図5は、本実施例のディスクアレイ装置106におけるセキュリティ機能116の詳細を示している。セキュリティ機能は、サーバとディスクとの対応付けを行う機能を有する。ディスクアレイ装置のように、大規模なディスクを有するケースでは、多数のサーバが同一のディスクアレイ装置に接続される。こういったケースにおいて、ディスクに格納されたデータのセキュリティを保護する意味で、サーバが参照・更新できるディスクを制限する機能である。具体的には、セキュリティ機構104はディスクマッピング機構501とディスクマッピング機構501とディスクマッピングテーブル(502,503,504)から構成される。ディスクマッピング機構は、サーバからのアクセス時に、ディスクマッピングテーブル(502,503,504)に従って、サーバがアクセスできるディスクを制限する。カラム502は、サーバの識別子であり、前述のWWNが使用される。
カラム503は仮想ディスク番号であり、カラム504は物理ディスク番号が格納されている。ディスクマッピング機構は、例えばWWN1を有するファイバチャネルアダプタからのアクセスであれば、仮想ディスク番号(LU0,LU1,LU3)へのアクセスを許す制御を行う。仮想ディスク番号(LU0,LU1,LU3)は、実際には物理ディスク(LU10,LU11,LU17)に対応している。このように、セキュリティ機能は、ある特定のサーバに対して特定のディスクを仮想化してアクセスする機能を有している。ディスクマッピングテーブル502に格納されていないWWNからのアクセスに対しては、ディスクへのアクセスはできない制御を行う。
図6は、図5におけるセキュリティ機能116の動作を図示している。サーバ1(601)はファイバチャネルアダプタ605を有し、ファイバチャネルアダプタ605はWWN1(605)が記録されている。サーバ2(602)はファイバチャネルアダプタ604を有し、ファイバチャネルアダプタ604はWWN2(606)が記録されている。サーバ1(601)とサーバ2(602)はファイバチャネルスイッチ607に接続され、ファイバチャネルスイッチ607からはディスクアレイ装置608に接続されている。セキュリティ機能609によりサーバ1(601)には、物理ディスクLU10(617),LU11(618),LU17(619)に対応した仮想ディスクLU0(612),LU1(613),LU2(614)へアクセスすることができる。一方、サーバ2(602)には、物理ディスクLU21(620),LU22(621)に対応した仮想ディスクLU0(615),LU1(616)へアクセスすることができる。サーバ1(601)から、物理ディスクLU21(620)やLU22(621)にアクセスすることはできない。
図7は、本発明における実施例の動作シーケンスを示している。図示するシーケンスは、サーバ701,ブートディスク管理機構702,ディスクアレイセキュリティ機能703である。704は、新規サーバの導入イベント示している。例えば、ブレードサーバ等では、新たにサーバが導入されると自動的に発行される。また、単体サーバの場合は、サーバをネットワークスイッチに接続した後、システム管理者が手動でイベントを発行しても構わない。また、新規サーバ導入ではなく、既に導入されている未設定サーバを使用するといったケースにおけるイベントでも構わない。ここでのイベントは、未だOSをインストールするディスクが決定していないサーバを新たに使用する際に発生するイベントである。このイベントにより、ブートディスク管理機構702のサーバ管理機構705が動作する。サーバ管理機構705は、イベントを解析した後、サーバの新規導入であることを解析し、仮想ネットワーク設定機構706を呼び出す。仮想ネットワーク設定機構706は、新規に導入されたサーバと管理サーバ間でプライベートなネットワークを構築する。
その後、リセット707指示をサーバに対して転送する。リセット指示によりサーバがリセットされると、サーバは前述のネットワークブート機構708が動作する。これにより、イメージデータがブートディスク管理機構702から転送される709。サーバ701は、転送されたイメージデータを使用してOSのブートが開始される710。OSの起動に連動して、自動的にサーバ情報取得エージェント711が起動し、サーバのさまざまな情報を取得した後、取得した情報をブートディスク管理機構702に対して転送する(712)。この情報の中には、サーバが有しているファイバチャネルアダプタのWWNが含まれる。サーバ情報の転送を確認すると、ブートディスク管理機構702は、仮想ネットワーク設定機構により706で設定された仮想ネットワークを解除し、ブートディスク管理機構702が起動する前のネットワーク状態に戻す。その後、セキュリティ機構104は、取得したサーバ情報内に含まれるWWNを使用して、ディスクアレイ装置のセキュリティ機能703に対して、サーバとディスクとの対応付けを指示する。上記一連の処理により、新規に導入されたサーバに対し、OSをインストールするためのディスクを自動的に準備することができる。これにより、OSインストール716を開始することができる。
以下では、図7におけるシーケンスをより詳細に説明する。図8は、サーバ管理機構102の動作フローを示している。ステップ801はサーバイベント検知を行う。ステップ802では、イベントを解析し、ブートディスクの割当てが必要なイベントかどうかを判定する。ブートディスクの割当てが必要なイベントの場合は、ステップ803でイベント発生サーバのネットワークの接続ポートを検索する。これは、図4のサーバ管理テーブルを検索することで実現できる。ステップ804は、ブートディスク管理機構を呼び出す。この際、ステップ803で取得した接続ポート番号をパラメタとして転送する。ステップ802において、ブートディスクの割当てが必要でないイベントの場合は、そのイベントに対応した処理を行いフローを終了する。
図9は、ブートディスク管理機構103の処理フローを示している。ステップ901は、仮想ネットワーク設定機構の呼出を行う。仮想ネットワーク設定機構には、新規に仮想ネットワークを設定する機能と、既に設定している仮想ネットワークを解除する機能を有するが、ステップ901では仮想ネットワークの設定を行う。ステップ901の処理により、イベントを発生したサーバと、管理サーバ101との間で1対1のプライベートな仮想ネットワークが構築される。ステップ902では、イベントを発生したサーバに対し、リセット指示を行う。リセットは、BMC113に対して発行され、この指示を受けたサーバのBMCは該当サーバをリセットする。サーバはリセットによりブートディスクの検索を開始するが、本実施例では未だOSディスクは決定していないため、ネットワークブート機構206が優先して動作する。ネットワークブート機構206の動作に連動して、ネットワークブート管理機構302が動作する。この動作については、後で詳細に説明する。ネットワークブート管理機構302は、イベントを発生したサーバが有するWWNを取得する。ステップ904では、ステップ901で設定したプライベートなネットワークを元の状態に戻す処理を行う。ステップ905では、ステップ903により取得したWWNをパラメタとして、セキュリティ設定機構104を呼び出す。
図10では、仮想ネットワーク設定機構306の動作フローを示している。ステップ1001では、要求された指示が仮想ネットワークの設定なのか解除なのかを判断する。仮想ネットワークの設定の場合はステップ1002に移り、解除の場合はステップ1002に移る。ステップ1002では、イベント発生サーバの現状の接続ポート番号を保存する。ステップ1003は、管理サーバの接続ポート番号を検索する。ステップ1004は、イベント発生サーバの現状の仮想ネットワーク(VLAN)番号を保存する。これは、仮想ネットワークを解除する場合に使用される。現状のVLAN番号は図4におけるサーバ管理テーブルを参照することで実現できる。
ステップ1005は、現状の管理サーバのVLAN番号を保存する。ステップ1006では、イベント発生サーバと管理サーバとを他とは独立したVLANを設定する。この際使用される情報は、サーバと管理サーバの接続ポート番号である。ネットワークスイッチ108の管理機能114に対して、指定したポート番号に接続された機器を指定されたVLANに属するように指示する。独立したVLAN番号は、例えば、図4におけるサーバ管理テーブルの仮想ネットワークカラム406をサーチし、設定されていないVLAN番号を検索するといった処理により実現することができる。あるいは、あらかじめ所定のVLAN番号を決定し、そのVLAN番号は他では使用しないことでも実現できる。
仮想ネットワークを解除するケースでは、ステップ1007においてイベント発生サーバの接続番号を取り出す。ステップ1008では管理サーバの接続ポート番号を取り出す。ステップ1009ではステップ1004で保存されたVLAN番号を取り出す。ステップ1010では、ステップ1005で保存されたVLAN番号を取り出す。上記ステップで取り出した情報を基に、ステップ1011ではイベント発生サーバと管理サーバのVLAN番号を元の状態に戻す。仮想ネットワークを設定することで、管理サーバ101以外のサーバがネットワークブート機構206に反応する誤動作を防ぐ事ができ、また他サーバのネットワークへの影響を無くすことができる。
図11は、図10における仮想ネットワーク設定機構306によって設定された仮想ネットワークの設定例を示している。サーバ(1101、1102、1103)はそれぞれ、ネットワークスイッチ1105に接続されている。ここで、サーバ1104が新たに導入された場合に、管理サーバ1107と導入されたサーバ1104とを独立した仮想ネットワーク1106が自動的に構成される。本実施例では、仮想ネットワークの設定にVLANを用いたが、目的は他サーバとのネットワークの影響をなくすことであり、VLANを使用する以外にもネットワークスイッチ108の制御ハードウェアを直接制御し、ハードウェアレベルで仮想ネットワークを構築しても構わない。これによりサーバ1104と管理サーバ間で完全に独立したネットワークを構築できるため、サーバ1104から発行されるネットワークを経由したリクエストが、他のサーバに影響を与えることなく処理を行うことができるようになる。
図12はネットワークブート機構206の処理フローを示している。ステップ1201は、接続されているネットワークに対してブロードキャストパケットを発行する。これは、IPアドレスを取得するためである。サーバの電源がONされた直後は、まだIPアドレス(ネットワークアドレス)を持っておらず、他の機器とIPを使ったネットワーク通信を行う事ができない。本実施例においては、仮想ネットワークを構築しているため、ブロードキャストを発行しても管理サーバにしかパケットは届かない。これにより、他のサーバに影響を与えることなく新規導入サーバを管理することができるようになる。IPアドレスを管理しているサーバは、ブロードキャストに応答してIPアドレスを与える。ステップ1202は、IPアドレスの受け取りを行い、ネットワークインターフェースカードにIPアドレスを設定する。ステップ1203は、ブートに必要なデータを保持しているサーバを受け取る。ステップ1204は、ステップ1203で取得したサーバからイメージデータを取得する。ステップ1205は、取得したイメージデータを起動する。この一連の処理により、ネットワークを介してシステムを起動することができる。
図13は、図12のネットワークブート機構に対応するサーバ側となるネットワークブート管理機構の処理フローを示している。ステップ1301は、ブロードキャストに対応してIPアドレスを付与する。ステップ1302は、イメージデータを保持するサーバを送信するが、本実施例では管理サーバ101がイメージデータの保持サーバとなる。ステップ1303は、ネットワークブートイメージを送信する。上記処理により、ネットワークを介したブートが可能となる。
図14は、サーバ情報取得エージェント304の処理フローを示している。この処理は、図12および図13において示したネットワークブートにより自動的に起動される。ステップ1401はプロセッサ種別を取得する。ステップ1402はメモリ容量を取得する。ステップ1403はファイバチャネルアダプタのWWNを取得する。ステップ1404は取得した情報を管理サーバ101に転送する。一連の処理は、ネットワークブートによりOS305が起動した後、自動的にサーバ情報取得エージェント304が起動し処理されるように設定しておく。
図15はセキュリティ設定機構の処理フローを示している。ステップ1501は、イベントを発生したサーバのWWNを取得する。図14においてステップ1403にて取得したWWNを受け取ることで実現できる。ステップ1502は、ステップ1501、サーバに対して新たに割り当てるブートディスクを生成する。このステップは、ディスクアレイに新規ディスクの生成を要求しても構わないし、別な手段としては、あらかじめ複数のブートディスクをプールしておき、必要に応じてプールから取り出す方法などが考えられる。ステップ1503はステップ1501で取得したWWNをパラメタとして、イベント発生サーバとステップ1502で割り当てたブートディスクとを対応づけの要求を行う。要求は、セキュリティ機能116が処理する。上記処理により、サーバに新なディスクが対応付けされ、OSをインストールするディスクを用意することができる。また、本実施例では、ブートディスクの割り当てに本発明を用いたが、必ずしもブートディスクの割り当てだけでなく、例えばデータディスクの割り当ても同じ手順で行うことができる。
図16は、本発明における実施例2の管理サーバの構成を示している。実施例2では、ファイバチャネルアダプタ111に格納されているWWN204を書き換えることができる場合の実施例を示す。実施例1と異なるのは、サーバ管理テーブル1601、ブートディスク管理機構1602、セキュリティ設定機構1605である。ブートディスク管理機構1602はネットワークブートイメージデータの構造が大きく異なる。1602は、OS305上で稼働するエージェントプログラムであるが、実施例1とは異なり、情報を書き込む機能を有する。
図17は、サーバ管理テーブル1601を示している。実施例1のサーバ管理テーブル301に、カラム1701が追加される。カラム1701は、各サーバに割り当てるWWNが格納されている。サーバが新たに追加された場合に、ファイバチャネルアダプタ111のWWNに書き込むWWNデータが格納されている。
図18は、サーバ情報取得・設定エージェント1602の処理フローを示している。この処理は、図12および図13において示したネットワークブートにより自動的に起動される。ステップ1801はプロセッサ種別を取得する。ステップ1802はメモリ容量を取得する。ステップ1803はファイバチャネルアダプタに対しWWNを設定する。ここで設定されるWWNデータは、サーバ管理テーブル1601のサーバに対応するWWNである。ステップ1804は取得した情報を管理サーバ101に転送する。一連の処理は、ネットワークブートによりOS305が起動した後、自動的にサーバ情報取得エージェント1602が起動し処理されるように設定しておく。
図19は、セキュリティ設定機構1605の処理フローを示している。ステップ1901は、イベントを発生したサーバの識別子を取得する。ステップ1902は、ステップ1901で取得したサーバに対応するWWN情報を取得する。ステップ1903は、ブートディスクの割当てを行う。このステップは、ディスクアレイに新規ディスクの生成を要求しても構わないし、別な手段としては、あらかじめ複数のブートディスクをプールしておき、必要に応じてプールから取り出す方法などが考えられる。ステップ1904はステップ1902で取得したWWNをパラメタとして、イベント発生サーバとステップ1903で割り当てたブートディスクとを対応づけの要求を行う。要求は、セキュリティ機能116が処理する。上記処理により、WWNを変更可能なファイバチャネルアダプタの場合において、サーバに新なディスクが対応付けされ、OSをインストールするディスクを用意することができる。
図20は、実施例2におけるシーケンスを示している。図示するシーケンスは、サーバ2001,ブートディスク管理機構2002,ディスクアレイセキュリティ機能2003である。2004は、新規サーバの導入イベント示している。例えば、ブレードサーバ等では、新たにサーバが導入されると自動的に発行される。また、単体サーバの場合は、サーバをネットワークスイッチに接続した後、システム管理者が手動でイベントを発行しても構わない。また、新規サーバ導入ではなく、既に導入されている未設定サーバを使用するといったケースにおけるイベントでも構わない。ここでのイベントは、未だOSをインストールするディスクが決定していないサーバを新たに使用する際に発生するイベントである。このイベントにより、ブートディスク管理機構2005のサーバ管理機構2005が動作する。サーバ管理機構2005は、イベントを解析した後、サーバの新規導入であることを解析し、仮想ネットワーク設定機構2006を呼び出す。仮想ネットワーク設定機構2006は、新規に導入されたサーバと管理サーバ間でプライベートなネットワークを構築する。その後、リセット2007指示をサーバに対して転送する。リセット指示によりサーバがリセットされると、サーバは前述のネットワークブート機構2008が動作する。これにより、イメージデータがブートディスク管理機構2002から転送される(2009)。
サーバ2001は、転送されたイメージデータを使用してOSのブートが開始される2010。OSの起動に連動して、自動的にサーバ情報取得。設定エージェント2011が起動し、サーバのさまざまな情報を取得およびWWNの設定(2012)をした後、取得した情報をブートディスク管理機構2002に対して転送する。サーバ情報の転送を確認すると、ブートディスク管理機構2002は、仮想ネットワーク設定機構により2013で設定された仮想ネットワークを解除し、ブートディスク管理機構2002が起動する前のネットワーク状態に戻す。その後、セキュリティ機構2014は、サーバに設定したWWNを使用して、ディスクアレイ装置のセキュリティ機能2003に対して、サーバとディスクとの対応付けを指示する。上記一連の処理により、新規に導入されたサーバに対し、OSをインストールするためのディスクを自動的に準備することができる。
実施例3では、セキュリティ制御をファイバチャネルスイッチで行うことに特徴がある。まず、図21を参照して構成を説明する。ファイバチャネルスイッチ106は、接続されたポートやWWN毎にゾーニングと呼ばれる接続制限を設ける機能を有している。例えば、ファイバチャネルスイッチ106のポート1に接続された機器とポート10に接続された機器とを対応付け、他の機器からは見せなくする機能である。この機能を本発明におけるディスク割当に使用することができる。
複数のサーバ107は、ネットワークインターフェースカード(NIC)112を介してネットワークスイッチ(NW SW)108に接続され、ファイバチャネルアダプタ(FCA)111を介してファイバチャネルスイッチ106に接続されている。また、ファイバチャネルスイッチ106はディスク装置2107にも接続され、サーバ107からアクセスできる。ネットワークスイッチ108は、システムを管理する管理サーバ2101にも接続されている。ファイバチャネルスイッチ106には、ファイバチャネルスイッチ管理機能2106が内蔵され、ネットワークを介して遠隔からファイバチャネルスイッチ106を制御することができる。サーバ107にはBMC(Baseboard Management Controller)113が内蔵されており、ネットワークを介して、サーバ107のハードウェアの状態を監視したり、電源を制御したり、リセットすることができる。
一般に、BMC113は、サーバ107とは別の電源が供給されており、サーバ107が停止していても、ネットワークを介してBMC113を遠隔操作することができる。管理サーバ2101は、サーバ107,ネットワークスイッチ108,ファイバチャネルスイッチ106,ディスク装置2107に対し、ネットワークを経由して状態の監視や必要に応じて制御を行う。管理サーバ2101は、サーバ管理機構2102とブートディスク管理機構2103から構成されている。サーバ管理機構2102は、サーバや、サーバに接続されているデバイスを管理する。ブートディスク管理機構2103は、サーバの起動に必要なディスクの管理を行う機構であり、本発明の特徴の一つである。ブートディスク管理機構2103は、セキュリティ設定機構2104とサーバ情報取得機構2105から構成されている。セキュリティ機構2104は、ファイバチャネルスイッチ106内のファイバチャネルスイッチ管理機構2106を制御する機構である。サーバ情報取得機構は、サーバの情報を取得するための機構であり、ネットワークスイッチ108内のネットワークスイッチ管理機能114等を制御し、サーバ107の情報を取得する機能を有する。本発明の実施例3では、サーバ107はディスク装置2107内にオペレーティングシステムが格納されるケースにおいて、オペレーティングシステムをインストールする前に、サーバ107とディスク装置2107との対応付けを行う。
図22は、管理サーバ2101の構成図を示している。管理サーバ2101は、サーバ管理機構2201と、ブートディスク管理機構103から構成されている。サーバ管理機構2201は、サーバの状態監視や制御を行う。例えば、現在稼働しているサーバが正常に稼働しているかといったイベントや、あるいは新たに追加されたサーバのイベントを監視などである。この際、重要になる情報は管理対象となるサーバの把握である。そのために、サーバ管理テーブル301とストレージ管理テーブル2202を有している。サーバ管理テーブル301は、現在監視や制御の対象となっているサーバの構成情報や設定情報が格納されている。ストレージ管理テーブル2202は、各サーバに接続されているストレージの接続関係を示すテーブルである。ブートディスク管理機構103は、サーバ情報取得機構105とセキュリティ設定機構104から構成される。
サーバ情報取得機構105は仮想ネットワーク設定機構306,ネットワークブート管理機構302から構成される。仮想ネットワーク設定機構は、図21におけるネットワークスイッチ108の仮想ネットワークを設定する機能を有している。仮想ネットワークとは、物理的に同一のネットワークスイッチに接続された機器を、論理的に複数のネットワークに分離する機能である。本実施例における仮想ネットワーク設定機構306は、制御対象となるサーバと、管理サーバとの間でプライベートなネットワークを構築する動作を行う。ネットワークブート管理機構302は、図2におけるネットワークブート機構206に対応する処理を行う。
ネットワークブート機構206は、ネットワークブート機構206からの要求に対応して、ネットワークブートイメージデータ303の転送や、ネットワークブートに必要な情報を転送する。本実施例におけるネットワークブートイメージには、オペレーティングシステム(OS)305とOS上で稼働するサーバ情報取得エージェント304が格納されている。サーバ情報取得エージェント304は、OS305が起動すると自動的に動作するように設定されている。セキュリティ設定機構104は、ファイバチャネルスイッチ106のファイバチャネル管理機能2106を制御し、サーバとディスクとの対応付けを行う。
図23はストレージ管理テーブル2202の構成を示している。カラム2301は接続装置の識別子であり、サーバの識別子やディスク装置の識別子が格納される。カラム2302はファイバチャネルスイッチの接続ポート番号を示している。カラム2303は接続装置の種別を示している。このテーブルにより、ファイバチャネルスイッチ106の接続構成を把握することができる。
図24は、セキュリティ設定機構2203の処理フローを示している。ステップ2401は、イベントが発生したサーバの識別子を取得する。サーバ識別子を取得することで、図23のストレージ管理テーブルを検索することで、イベントが発生したサーバが接続されているファイバチャネルスイッチ106のポート番号を知ることができるようになる。ステップ2402では、ブートディスクの割り当てを行う。ステップ2403では、ファイバチャネルスイッチ106のファイバチャネルスイッチ管理機能2106を制御し、ファイバチャネルスイッチ106のポートに接続されたサーバあるいはエージェントが取得したWWNを用いて、同じくファイバチャネルスイッチ106に接続されたディスク装置2107との対応付けを行う。
図25は、実施例3の動作シーケンスを示している。図示するシーケンスは、サーバ2501,ブートディスク管理機構2502,ファイバチャネルスイッチ管理機能2503である。2504は、新規サーバの導入イベント示している。例えば、ブレードサーバ等では、新たにサーバが導入されると自動的に発行される。また、単体サーバの場合は、サーバをネットワークスイッチに接続した後、システム管理者が手動でイベントを発行しても構わない。また、新規サーバ導入ではなく、既に導入されている未設定サーバを使用するといったケースにおけるイベントでも構わない。ここでのイベントは、未だOSをインストールするディスクが決定していないサーバを新たに使用する際に発生するイベントである。このイベントにより、ブートディスク管理機構2502のサーバ管理機構2505が動作する。サーバ管理機構2505は、イベントを解析した後、サーバの新規導入であることを解析し、仮想ネットワーク設定機構2506を呼び出す。仮想ネットワーク設定機構2506は、新規に導入されたサーバと管理サーバ間でプライベートなネットワークを構築する。その後、リセット2507指示をサーバに対して転送する。リセット指示によりサーバがリセットされると、サーバは前述のネットワークブート機構2508が動作する。
これにより、イメージデータがブートディスク管理機構2502から転送される(2509)。サーバ2501は、転送されたイメージデータを使用してOSのブートが開始される2510。OSの起動に連動して、自動的にサーバ情報取得エージェント2511が起動し、サーバのさまざまな情報を取得した後、取得した情報をブートディスク管理機構2502に対して転送する(2512)。この情報の中には、サーバが有しているファイバチャネルアダプタのWWNが含まれる。サーバ情報の転送を確認すると、ブートディスク管理機構2502は、仮想ネットワーク設定機構により2506で設定された仮想ネットワークを解除し、ブートディスク管理機構2502が起動する前のネットワーク状態に戻す。その後、ファイバチャネルスイッチ管理機構2503は、取得したサーバ情報内に含まれるWWNやストレージ管理テーブル2202を使用して、ファイバチャネルスイッチ106のファイバチャネルスイッチ管理機能2106に対して、サーバとディスクとの対応付けを指示する。上記一連の処理により、ファイバチャネルスイッチ106を使用して、新規に導入されたサーバに対し、OSをインストールするためのディスクを自動的に準備することができる。
実施例4では、ディスクアレイ装置に新規に接続されたサーバのディスクを自動的に割り当てる機能を有している点に特徴がある。図26は、実施例4の全体図を示している。複数のサーバ107は、ネットワークインターフェースカード(NIC)112を介してネットワークスイッチ(NW SW)108に接続され、ファイバチャネルアダプタ(FCA)111を介してファイバチャネルスイッチ106に接続されている。また、ファイバチャネルスイッチ106はディスクアレイ装置109にも接続され、サーバ107からアクセスできる。ネットワークスイッチ108は、システムを管理する管理サーバ2601にも接続されている。また、サーバ107にはBMC(Baseboard Management Controller)113が内蔵されており、ネットワークを介して、サーバ107のハードウェアの状態を監視したり、電源を制御したり、リセットすることができる。一般に、BMC113は、サーバ107とは別の電源が供給されており、サーバ107が停止していても、ネットワークを介してBMC113を遠隔操作することができる。
管理サーバ101は、サーバ107,ネットワークスイッチ108,ファイバチャネルスイッチ106,ディスクアレイ装置109に対し、ネットワークを経由して状態の監視や必要に応じて制御を行う。管理サーバ2601は、サーバ管理機構2602とブートディスク管理機構2603から構成されている。サーバ管理機構2602は、サーバや、サーバに接続されているデバイスを管理する。ブートディスク管理機構2603は、サーバの起動に必要なディスクの管理を行う機構であり、本発明の特徴の一つである。ブートディスク管理機構2603は、セキュリティ設定機構2610から構成されている。セキュリティ機構2606は、ディスクアレイ装置2605内のディスクアレイ管理機構2611を制御する機構であり、より具体的にはセキュリティ機能2606を制御する事でサーバとディスクアレイ装置内のディスク110との関係づけを行う。
また、動的ディスク割当機能2607は、本発明の特徴の一つである。動的ディスク割当機能2607は、サーバ107からのディスクアクセス時に、新たなWWNを有するサーバからのアクセスの場合、動的にディスク110を割り当てる機能を有する。本発明の実施例4では、サーバ107はディスクアレイ装置109内にオペレーティングシステムが格納されるケースにおいて、オペレーティングシステムをインストールする前に、サーバ107とディスクアレイ装置109内のディスク110との対応付けを動的に行う。
図27は、図26における管理サーバ2601の構成を示している。管理サーバ2601は、サーバ管理機構2602と、ブートディスク管理機構2603から構成されている。サーバ管理機構2602は、サーバの状態監視や制御を行う。例えば、現在稼働しているサーバが正常に稼働しているかといったイベントや、あるいは新たに追加されたサーバのイベントを監視などである。この際、重要になる情報は管理対象となるサーバの把握である。そのために、サーバ管理テーブル301を有している。サーバ管理テーブル301は、現在監視や制御の対象となっているサーバの構成情報や設定情報が格納されている。ブートディスク管理機構2603は、セキュリティ設定機構2610から構成される。セキュリティ設定機構2610は、ディスクアレイ装置2605のセキュリティ機能2607を制御し、サーバとディスクとの対応付けを行う。
図28は、ブートディスク管理機構2603の処理フローを示している。ステップ2801は、イベント発生サーバのサーバ番号を取得する。ステップ2802は、ディスク割当確認を行う。これは、ディスクアレイ装置2605の動的ディスク割当機能2607がサーバに対して割り当てたディスクが、正しい対応かどうかを判断する処理である。これは、不当なサーバに対してディスクを割り当てていないか確認する処理である。ステップ2803は、サーバから転送されたWWNとディスクアレイ装置2605が対応づけたディスクと一致しているかどうか検査する。もし、WWNが一致しない場合は、ステップ2804にて割当を即座に解除する。この処理により、動的ディスク割当機能2607を介して、不当なサーバにディスクを割り当てる事を防ぐことができる。
図29は、動的ディスク割当機能2607の処理フローを示している。ステップ2901は、アクセスしたサーバが有するWWNがセキュリティ機能2606に登録されたWWNかどうかを判断する。もし、登録されていないWWNを有するサーバからのアクセスであればステップ2902に移行し規程内のWWNかどうかを判断する。あるメーカが発行するWWNには一定の決まりがあるため、これを利用して特定のメーカの機器からのアクセスであれば動的ディスク割当を許す判断を行う。規程内のWWNであればステップ2903により新規ディスクを割り当てる。ステップ2904にて、当該WWNと新規に割り当てたディスクとの対応付けを行う。上記処理により、不当なサーバからのアクセス時に、ディスク割当を行う事を防ぐことができる。
図30は、実施例4の動作シーケンスを示している。図示するシーケンスは、サーバ3001,ブートディスク管理機構3002,ディスクアレイのセキュリティ機構3003である。3004は、新規サーバのディスクアレイ装置へのアクセスを示している。このアクセスにより、ディスクアレイ装置内のセキュリティ機構3003は、動的にディスクを割り当てる。これにより、他の実施例にくらべ、少ない処理でディスクを割り当てることができる。しかし、複数のサーバから構成される場合、正しいサーバにディスクを割り当てたかどうか確認する必要がある。そのため、インストールされたOS上で稼働するサーバ情報取得エージェントから受け取ったWWNを用いて、新規サーバに対して正しくディスクを割り当てたかどうかを確認する必要がある(3008)。これらの処理により、少ない処理で正しくディスクを対応づけることができるようになる。