(57)【要約】      （修正有）【課題】物理ノードの障害による影響を局所化し、物理ノードの障害に対する影響の拡大を未然に回避し得る計算機システム及び管理方法を提供する。【解決手段】それぞれ異なる単一ネームスペースをクライアントに提供する１又は複数のサーバと、いずれかの単一ネームスペースに属し、クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノードと、仮想ノードを管理する管理装置とを有する計算機システムにおいて、仮想ノードごとのユーザへの貢献度を計算し、仮想ノードごとのユーザへの貢献度に基づいて、物理ノード上で稼働する各仮想ノードの貢献度の合計値を物理ノード間で平均化させるように、移動対象の仮想ノード及び移動先の物理ノードを選択し、移動対象として選択した仮想ノードを移動先として選択した物理ノードに移動するための制御を実行するようにした。【選択図】図１５
2010267156.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ異なる単一ネームスペースをクライアントに提供する１又は複数のサーバと、
いずれかの前記単一ネームスペースに属し、前記クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノードと、
前記仮想ノードを管理する管理装置と
を有し、
前記管理装置は、
前記仮想ノードごとのユーザへの貢献度を計算する貢献度計算処理部と、
前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する移動制御部とを備える
ことを特徴とする計算機システム。
【請求項２】
前記貢献度計算処理部は、
予め定められた複数の評価項目ごとのスコアに基づいて前記貢献度を計算する
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記評価項目は、
前記仮想ノードにおいて管理しているファイルへのリンク数、当該仮想ノードにアクセスするユーザ数、当該仮想ノードが提供する共有ディレクトリ数及びクライアントに複製されたファイル数の少なくとも１つを含む
ことを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記移動制御部は、
稼働する各前記仮想ノードの前記貢献度の合計値が、すべての前記物理ノードにおける当該合計値の平均値よりも大きく、かつ稼働する前記仮想ノードごとの前記貢献度の分散が最も小さい前記物理ノード上で稼働する前記仮想ノードの中から移動対象の前記仮想ノードを選択する
ことを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記移動制御部は、
各前記物理ノードにおける前記単一ネームスペースの重複度を求め、当該重複度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記移動制御部は、
前記重複度及び各前記仮想サーバの貢献度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項５に記載の計算機システム。
【請求項７】
前記移動制御部は、
前記物理ノードの構成情報に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記移動制御部は、
移動対象の前記仮想ノードと同じ前記単一ネームスペースに属する前記仮想ノードが移動先の前記物理ノード上で稼働しているときには、当該移動対象の仮想ノードと、当該移動先の物理ノード上で稼働する前記仮想ノードとをマージする
ことを特徴とする請求項１に記載の計算機システム。
【請求項９】
クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノード上でそれぞれ稼働する前記仮想ノードを管理する管理方法において、
各前記仮想ノードは、それぞれ１又は複数の単一ネームスペースのうちのいずれかの前記単一ネームスペースに属し、
前記仮想ノードごとのユーザへの貢献度を計算する第１のステップと、
前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する第２のステップとを備える
ことを特徴とする管理方法。
【請求項１０】
前記第１のステップでは、
予め定められた複数の評価項目ごとのスコアに基づいて前記貢献度を計算する
ことを特徴とする請求項９に記載の管理方法。
【請求項１１】
前記評価項目は、
前記仮想ノードにおいて管理しているファイルへのリンク数、当該仮想ノードにアクセスするユーザ数、当該仮想ノードが提供する共有ディレクトリ数及びクライアントに複製されたファイル数の少なくとも１つを含む
ことを特徴とする請求項１０に記載の管理方法。
【請求項１２】
前記第２のステップでは、
稼働する各前記仮想ノードの前記貢献度の合計値が、すべての前記物理ノードにおける当該合計値の平均値よりも大きく、かつ稼働する前記仮想ノードごとの前記貢献度の分散が最も小さい前記物理ノード上で稼働する前記仮想ノードの中から移動対象の前記仮想ノードを選択する
ことを特徴とする請求項９に記載の管理方法。
【請求項１３】
前記第２のステップでは、
各前記物理ノードにおける前記単一ネームスペースの重複度を求め、当該重複度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項９に記載の管理方法。
【請求項１４】
前記第２のステップでは、
前記重複度及び各前記仮想サーバの貢献度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項１３に記載の管理方法。
【請求項１５】
前記第２のステップでは、
前記物理ノードの構成情報に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項９に記載の管理方法。
【請求項１６】
前記第２のステップでは、
移動対象の前記仮想ノードと同じ前記単一ネームスペースに属する前記仮想ノードが移動先の前記物理ノード上で稼働しているときには、当該移動対象の仮想ノードと、当該移動先の物理ノード上で稼働する前記仮想ノードとをマージする
ことを特徴とする請求項９に記載の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム及び管理方法に関し、例えば仮想化技術が適用された複数のＮＡＳサーバを備える計算機システムに適用して好適なものである。
【背景技術】
【０００２】
従来、仮想化技術をＮＡＳ（Network Attached System）に適用した技術として、物理ノード（ＮＡＳサーバ）上で、クライアントに対してファイル共有サービスを提供する仮想ノード（以下、これを仮想ＮＡＳと呼ぶ）を稼働させ、ファイルサーバ機能をサービスする技術が提案されている（特許文献１参照）。
【０００３】
また仮想化技術をＮＡＳに適用した他の技術として、複数のＮＡＳを単一ネームスペース（ＧＮＳ：Global Name Space）上で管理することにより、ユーザに対して、複数のＮＡＳに分散したファイルシステムを一元化する（つまり単一のＮＡＳであるかのようにみせる）技術が提案されている（特許文献２参照）。
【特許文献１】特開２００３−２２３３４６号公報
【特許文献２】特開２００８−２３４５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に開示された仮想ＮＡＳ技術と、上記特許文献２に開示された複数のＮＡＳを単一ネームスペース上で管理する技術とを併用することによって、複数の仮想ＮＡＳを１つのＧＮＳ上で管理することができるものと考えられる。
【０００５】
ただし、このような技術を複数の会社が利用するデータセンタ等で利用した場合、それぞれ異なるＧＮＳ上に存在する複数の仮想ＮＡＳ（例えばＡ社のＧＮＳ上に存在する仮想ＮＡＳと、Ｂ社のＧＮＳ上に存在する仮想ＮＡＳと、Ｃ社のＧＮＳ上に存在する仮想ＮＡＳと、……）が同じ物理ノード上で稼働する事態が生じることも考えられる。
【０００６】
そして、このような場合、かかる物理ノード上で稼働する複数の仮想ＮＡＳに、対応するＧＮＳが割り当てられた各会社の重要なファイルシステムが配置されてしまうと（すなわちＡ社のＧＮＳ上の仮想ＮＡＳにＡ社の重要なファイルシステムが配置され、Ｂ社のＧＮＳ上の仮想ＮＡＳにＢ社の重要なファイルシステムが配置され、……、となると）、その物理ノードに障害が発生した場合に、その影響が複数の会社に及ぶことになる。
【０００７】
本発明は以上の点を考慮してなされたもので、物理ノードの障害による影響を局所化し、物理ノードの障害に対する影響の拡大を未然に回避し得る計算機システム及び管理方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明においては、計算機システムにおいて、それぞれ異なる単一ネームスペースをクライアントに提供する１又は複数のサーバと、いずれかの前記単一ネームスペースに属し、前記クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノードと、前記仮想ノードを管理する管理装置とを設け、前記管理装置は、前記仮想ノードごとのユーザへの貢献度を計算する貢献度計算処理部と、前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する移動制御部とを備えることを特徴とする。
【０００９】
また本発明においては、クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノード上でそれぞれ稼働する前記仮想ノードを管理する管理方法において、各前記仮想ノードは、それぞれ１又は複数の単一ネームスペースのうちのいずれかの前記単一ネームスペースに属し、前記仮想ノードごとのユーザへの貢献度を計算する第１のステップと、前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する第２のステップとを備えることを特徴とする。
【００１０】
本発明によれば、貢献度の高い仮想ノードを複数の物理ノードに分散させることができるため、それぞれ異なる単一ネームスペースに属する仮想ノードであって、それぞれ貢献度が高い仮想ノードが１つの物理ノード上に集中するのを未然に防止することができる。
【発明の効果】
【００１１】
本発明によれば、それぞれ異なる単一ネームスペースに属する仮想ノードであって、それぞれ貢献度が高い仮想ノードが１つの物理ノード上に集中するのを未然に防止することができることから、１つの物理ノードに障害が発生したときの影響を局所化し、物理ノードの障害に対する影響の拡大を未然に回避することができる。
【発明を実施するための最良の形態】
【００１２】
以下図面について、本発明の一実施の形態を詳述する。
【００１３】
（１）本実施の形態による計算機システムの構成
図１において、１は全体として本実施の形態による計算機システムを示す。この計算機システム１では、複数の会社（Ａ社、Ｂ社、Ｃ社、……）２内のクライアント３がそれぞれネットワーク４を介してデータセンタ５と接続されている。
【００１４】
クライアント３は、ＣＰＵ（Central Processing Unit）、メモリ、ＮＩＣ（Network Interface Card）及びハードディスク装置などの情報処理装置を備えるコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。
【００１５】
データセンタ５には、複数のＧＮＳサーバ１０と、複数のＮＡＳサーバ１１と、管理サーバ１２と、ＦＣ（Fibre Chanel）ネットワーク１３と、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）サブシステム１４とが設置されている。そしてデータセンタ５では、各ＧＮＳサーバ１０、各ＮＡＳサーバ１１及び管理サーバ１２間が第１のネットワーク１５を介して接続され、各ＧＮＳサーバ１０、管理サーバ１２及びＦＣネットワーク１３間が第２のネットワーク１６を介して接続されている。
【００１６】
ＧＮＳサーバ１０は、複数のＮＡＳサーバ１１を一元化してクライアント３に対して単一のネームスペース（ＧＮＳ）として見せるためのサーバであり、ＣＰＵ２０及びメモリ２１等の情報処理資源を備えて構成される。このＧＮＳサーバ１０は、図示しないＮＩＣを介して第１のネットワーク１５と接続されており、この第１のネットワーク１５を介して管理サーバ１２や対応するクライアント３との間で通信を行い得るようになされている。またＧＮＳサーバ１０は、図示しないＨＢＡ（Host Bus Adapter）を介して第２のネットワーク１６と接続されており、この第２のネットワーク１６を介して後述するＧＮＳ管理プログラム６５（図２）などの制御プログラムを起動時にＲＡＩＤサブシステム１４から読み出し得るようになされている。
【００１７】
ＮＡＳサーバ１１は、クライアント３に対してファイル共有サービスを提供するサーバであり、ＣＰＵ２２及びメモリ２３等の情報処理資源を備えて構成される。ＮＡＳサーバ１１は、ＧＮＳサーバ１０と同様に、図示しないＮＩＣを介して第２のネットワーク１５と接続されており、この第２のネットワーク１５を介して管理サーバ１２やＧＮＳサーバ１０との間で通信を行い得るようになされている。またＮＡＳサーバ１１は、図示しないＨＢＡを介してＦＣネットワーク１３と接続されている。
【００１８】
管理サーバ１２は、システム管理者がデータセンタ５内のＧＮＳサーバ１０、ＮＡＳサーバ１１、ＦＣネットワーク１３及びＲＡＩＤサブシステム１４を管理するためのサーバであり、パーソナルコンピュータ又はワークステーションなどから構成される。管理サーバ１２は、ＣＰＵ２４及びメモリ２５等の情報処理資源と、キーボード及びマウスなどの入力装置と、ディスプレイ及びスピーカなどの出力装置とを備えて構成される。この管理サーバ１２は、ＧＮＳサーバ１０、ＮＡＳサーバ１１、ＦＣネットワーク１３及びＲＡＩＤサブシステム１４などから必要な情報を収集し、収集した情報を必要に応じて表示したり、ＧＮＳサーバ１０、ＮＡＳサーバ１１、ＦＣネットワーク１３及びＲＡＩＤサブシステム１４にコマンドを送信して制御する。
【００１９】
ＦＣネットワーク１３は、１又は複数のＦＣスイッチから構成される。ＧＮＳサーバ１０、ＮＡＳサーバ１１又は管理サーバ１２と、ＲＡＩＤサブシステム１４との間におけるデータやコマンドのやり取りは、このＦＣネットワーク１３を介して行われる。
【００２０】
ＲＡＩＤサブシステム１４は、１又は複数のディスク装置２６と、ディスク装置２６に対するデータの入出力を制御するコントロール部２７とから構成されるストレージ装置である。なお図１においては、計算機システム１内にＲＡＩＤサブシステム１４を１台だけ設けるようにした場合について例示しているが、ＲＡＩＤサブシステム１４を複数台設けるようにしても良い。
【００２１】
ディスク装置２６は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクや、ＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクなどから構成される。１又は複数のディスク装置２６により１つのＲＡＩＤグループ２８が構成され、１つのＲＡＩＤグループ２８を構成する各ディスク装置２６が提供する物理的な記憶領域上に、１又は複数の論理ボリュームが設定される。そしてクライアントからのデータは、この論理ボリューム内に所定大きさのブロック（以下、これを論理ブロックと呼ぶ）を単位として記憶される。
【００２２】
各論理ボリュームには、それぞれ固有のボリューム番号が付与される。本実施の形態の場合、データの入出力は、このボリューム番号と、各論理ブロックにそれぞれ付与されるその論理ブロックのブロック番号（ＬＢＡ：Logical Block Address）とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００２３】
コントロール部２７は、１又は複数のチャネルアダプタ（ＣＨＡ）２９と、１又は複数のディスクコントローラ（ＤＫＣ）３０とを備えて構成される。コントロール部２７は、ＮＡＳサーバ１１からＦＣネットワーク１３を介して与えられるＩ／Ｏ（Input/Output）要求をチャネルアダプタ２９において受信し、このＩ／Ｏ要求に応じて、ディスクコントローラ３０の制御のもとに、対応するディスク装置２６にデータを読み書きする。
【００２４】
図２は、かかる計算機システム１のソフトウェア構成を示す。計算機システム１において、ＲＡＩＤサブシステム１４のＲＡＩＤグループ２８（図１）上には、上述のように論理ボリュームが複数作成される。ＮＡＳ環境では、かかる論理ボリュームとして、ＯＳボリューム（ＯＳ−ＬＵ）４０及びユーザボリューム（Ｕｓｅｒ−ＬＵ）４１の２種類の論理ボリュームが作成される。
【００２５】
ＯＳボリューム４０は、ＧＮＳサーバ１０やＮＡＳサーバ１１のＯＳ（Operation System）が使用するプログラムが格納される論理ボリュームである。またユーザボリューム４１は、クライアント３からのＩ／Ｏ要求によるデータが格納される論理ボリュームである。このユーザボリューム４１が提供する記憶領域は、ファイルシステムにより使用される。
【００２６】
ＮＡＳサーバ１１には、ファイル共有プログラム５０、仮想ＮＡＳ管理プログラム５１及びファイルシステムプログラム５２が実装される。
【００２７】
ファイルシステムプログラム５２は、物理ボリューム上にファイルという管理単位を実現するために構築された論理構造であるファイルシステムを管理するためのプログラムである。
【００２８】
ここでファイルシステムについて説明すると、ファイルシステムは、図３に示すように、スーパーブロック６０、ディレクトリエントリ６１、ｉノード管理テーブル６２及びデータブロック６３を備える。このうちスーパーブロック６０は、ファイルシステムの大きさ及び空き容量などのファイルシステムの情報を一括して保持する論理ブロックである。
【００２９】
またファイルシステムでは、１つのファイルに１つのｉノードを対応させて管理しており、これらの対応関係がディレクトリエントリ６１において管理される。具体的に、ディレクトリエントリは、図４に示すように、ディレクトリパス名６１Ａと、ｉノードを指すインデックス（以下、これをｉノード番号と呼ぶ）６１Ｂとを組みにしたテーブルである。
【００３０】
なお、ｉノードとは、対応するファイルの所有権、アクセス権、ファイルサイズ及びデータの格納位置などの情報からなる当該ファイルの管理情報のことをいう。ｉノードとデータブロック６３との参照関係を図５に示す。この図５の左側の枠線内の表において、「100」、「200」及び「250」はブロックアドレスを示し、「３」、「２」及び「５」はそのブロックアドレスから連続する、データが格納されたデータブロック６３のブロック数を示す。このｉノードは、図６に示すように、ｉノード管理テーブル６２に格納されて管理される。
【００３１】
またデータブロック６３は、実際のファイルデータや管理データなどが格納される論理ブロックのことをいう。
【００３２】
ファイル共有プログラム５０は、ＣＩＦＳ（Common Internet File System）やＮＦＳ（Network File System）といった通信プロトコルを使用してクライアント３に対してファイル共有サービスを提供するプログラムである。
【００３３】
また仮想ＮＡＳ管理プログラム５１は、物理ノード（ＮＡＳサーバ）上で複数の仮想的なＮＡＳ（以下、これを仮想ＮＡＳと呼ぶ）を実行するための管理プログラムであり、図７に示すように、仮想ＮＡＳ５３の起動、停止及び移動を行う。仮想ＮＡＳ５３の移動は、移動元のＮＡＳサーバ１１において仮想ＮＡＳ５３を停止後、ユーザボリューム４１（図２）に格納されているデータを移動先のＮＡＳサーバ１１に移動させ、さらにＯＳボリューム４０（図２）やユーザデータが格納されているユーザボリューム４１の接続を移動先のＮＡＳサーバ１１に切り替えた後、ＯＳボリューム４０を再起動することにより行われる。
【００３４】
なおＮＡＳサーバ１１は、ファイル共有プログラム５０、仮想ＮＡＳ管理プログラム５１及びファイルシステムプログラム５２に加えて図示しないカーネルをも備える。カーネルは、ＮＡＳサーバ１１上で動作する複数のプログラム（プロセス）のスケジュール制御やハードウェアからの割り込みをハンドリングするなど、全般的な制御を実施する。
【００３５】
ＧＮＳサーバ１０には、ＧＮＳ管理プログラム６５が実装されている。ＧＮＳ管理プログラム６５は、クライアント３に対して複数のＮＡＳサーバ１１に分散格納されているファイルデータを単一のディレクトリイメージで一元化したビューを提供するためのプログラムである。例えばクライアント３に対して図８に示すようなディレクトリイメージを提供する。
【００３６】
この際、ＧＮＳ管理プログラム６５は、図９に示すようなファイル管理テーブル６４を作成する。このファイル管理テーブル６４は、ディレクトリパス名欄６４Ａ、ホスト名欄６４Ｂ、ファイルシステム名欄６４Ｃ及びｉノード番号欄６４Ｄから構成される。このうちディレクトリパス名欄６４Ａには、そのＧＮＳ管理プログラム６５がクライアント３に提供するＧＮＳに属する各ファイルへのディレクトリパス名が格納され、ホスト名欄６４Ｂにはそのファイルを管理するＮＡＳサーバ１１のＮＡＳ名が格納される。またファイルシステム名欄６４Ｃには、そのファイルを提供するファイルシステムのファイルシステム名が格納され、ｉノード欄６４Ｄには、そのファイルのｉノードのｉノード番号が格納される。
【００３７】
そしてＧＮＳ管理プログラム６５は、例えば図９の例において、クライアント３からディレクトリパス名が「/Holder-2/a.txt」のファイルへのリード要求を受け取った場合（図１０、ＳＰ１）、図１０に示すように、このリード要求を、かかるファイル管理テーブル６４を使用して、「NAS-3」がもつファイルシステム「FS31」上にあるｉノード番号が「1000(a.txt)」のファイルのリード要求に変換し、このリード要求を「NAS-3」に送信する（ＳＰ２）。そして「NAS-3」は、このリード要求に応じて「a.txt」をユーザボリューム４１から読み出す（ＳＰ３，ＳＰ４）。そしてこの「a.txt」は、この後、「NAS-3」からＧＮＳサーバ１０を介してクライアント３へと転送される（ＳＰ５，ＳＰ６）。
【００３８】
なおＧＮＳサーバ１０には、ＧＮＳ管理プログラム６５の他にファイルシステムプログラム６６及びカーネル（図示せず）も実装されているが、これらファイルシステムプログラム６６及びカーネルは、ＮＡＳサーバ１１のものと同様の機能を有するものであるため、ここでの説明は省略する。
【００３９】
一方、管理サーバ１２には、図２に示すように、仮想ＮＡＳ貢献度計算処理プログラム７０及び仮想ＮＡＳ移動制御プログラム７１が実装されている。仮想ＮＡＳ貢献度計算処理プログラム７０は後述する仮想ＮＡＳ貢献度を計算するためのプログラムであり、仮想ＮＡＳ移動制御プログラム７１は、かかる仮想ＮＡＳ貢献度に基づいて選択及び決定された移動対象の仮想ＮＡＳを他のＮＡＳサーバ１１に移動させるためのプログラムである。これら仮想ＮＡＳ貢献度計算処理プログラム７０及び仮想ＮＡＳ移動制御プログラム７１の詳細については後述する。なお図２では図示していないが、管理サーバ１２にもカーネル及びファイルシステムプログラムが実装される。
【００４０】
さらにクライアント３には、各種のアプリケーションソフトウェアが実装されており、このアプリケーションソフトウェアが使用するデータがデータセンタのＲＡＩＤサブシステム１４に読み書きされる。そのための手段として、クライアント３にもファイルシステムプログラム及びカーネルが実装される。
【００４１】
（２）本実施の形態による仮想ＮＡＳ管理機能
（２−１）概要及び各種管理テーブルの構成
次に、かかる管理サーバ１２に搭載された仮想ＮＡＳ管理機能について説明する。本実施の形態による管理サーバ１２には、計算機システム１内に定義された仮想ＮＡＳごとにその仮想ＮＡＳがユーザに役立っている度合いを貢献度として計算し、貢献度の高い仮想ＮＡＳが１つのＮＡＳサーバ１１上に複数存在するときには、ＮＡＳサーバ１１上で稼働する各仮想ＮＡＳの貢献度の合計値をＮＡＳサーバ１１間で平均化するように、そのうちのいずれかの仮想ＮＡＳを他のＮＡＳサーバ１１に移動させる仮想ＮＡＳ管理機能が搭載されている。
【００４２】
このような仮想ＮＡＳ管理機能に基づく仮想ＮＡＳの管理処理（以下、これを仮想ＮＡＳ管理処理と呼ぶ）を実行するための手段として、管理サーバ１２のメモリ２５（図１）には、図１１〜図１３に示すＧＮＳ別ＮＡＳ一覧テーブル８０、ＮＡＳ別仮想ＮＡＳ一覧テーブル８１及びＧＮＳ重複度管理テーブル８２が格納されている。
【００４３】
ＧＮＳ別ＮＡＳ一覧テーブル８０は、ＧＮＳを構成するＮＡＳサーバ１１を管理するためのテーブルであり、図１１に示すように、ＧＮＳ名欄８０Ａ及びＮＡＳ名欄８０Ｂから構成される。そしてＮＡＳ名欄８０Ｂには、計算機システム１内に定義された各仮想ＮＡＳのＮＡＳ名が格納され、ＧＮＳ名欄８０Ａには、その仮想ＮＡＳが属するＧＮＳの識別子（以下、これをＧＮＳ名と呼ぶ）が格納される。
【００４４】
さらにＮＡＳ別仮想ＮＡＳ一覧テーブル８１は、ＮＡＳサーバ１１上で稼働する仮想ＮＡＳを管理するためのテーブルであり、図１２に示すように、ＮＡＳ名欄８１Ａ及び仮想ＮＡＳ名欄８１Ｂから構成される。そして仮想ＮＡＳ名欄８１Ｂには、計算機システム１内に作成された各仮想ＮＡＳのＮＡＳ名がそれぞれ格納され、ＮＡＳ名欄８１Ａには、その仮想ＮＡＳが作成されたＮＡＳサーバ１１のＮＡＳ名が格納される。
【００４５】
さらにＧＮＳ重複度管理テーブル８２は、ＮＡＳサーバ１１におけるＧＮＳの重複度を管理するためのテーブルであり、図１３に示すように、ＮＡＳ名欄８２Ａ、重複度欄８２Ｂ及びＧＮＳ名欄８２Ｃから構成される。そしてＮＡＳ名欄８２Ａには、対応するＮＡＳサーバ１１のＮＡＳ名が格納され、重複度欄８２Ｂには、そのＮＡＳサーバ１１が関わっているＧＮＳの数（以下、これを重複度と呼ぶ）が格納される。またＧＮＳ名欄８２Ｃには、対応するＮＡＳサーバ１１が関わっているすべてのＧＮＳについて、そのＧＮＳ名が格納される。
【００４６】
（２−２）仮想ＮＡＳ管理処理の流れ
図１４は、複数のＮＡＳサーバ１１に跨って複数のＧＮＳ９０を構成したときの一例を示す。この例では、「NAS-A」上で「NAS-11」、「NAS-B」上で「NAS-21」及び「NAS-22」、「NAS-C」と上で「NAS-31」、「NAS-D」上で「NAS-41」及び「NAS-42」、「NAS-E」上で「NAS-51」、「NAS-G」上で「NAS-71」、「NAS-72」及び「NAS-73」がそれぞれ稼働している。なお、「NAS-A」〜「NAS-G」はそれぞれＮＡＳサーバであり、「NAS-11」〜「NAS-73」はそれぞれ仮想ＮＡＳである。
【００４７】
そして「NAS-11」、「NAS-21」、「NAS-41」及び「NAS-71」という仮想ＮＡＳ５３は、「GNSサーバA」というＧＮＳサーバ１０により同一ＧＮＳ上に存在した状態で「Ａ社」の各クライアント３に提供され、「NAS-22」、「NAS-31」及び「NAS-72」という仮想ＮＡＳ５３は、「GNSサーバB」というＧＮＳサーバ１０により同一ＧＮＳ上に存在した状態で「Ｂ社」の各クライアント３に提供され、「NAS-42」、「NAS-51」及び「NAS-73」という仮想ＮＡＳ５３は、「GNSサーバC」というＧＮＳサーバ１０により同一ＧＮＳ上に存在状態で「Ｃ社」の各クライアント３に提供されている。
【００４８】
以上の事例において、本実施の形態による仮想ＮＡＳ管理処理の流れについて説明する。
【００４９】
管理サーバ１２は、図１５に示すように、まず、各ＧＮＳサーバ１０に対して、そのＧＮＳサーバ１０が管理するＧＮＳ９０に属するすべての仮想ＮＡＳ５３のＮＡＳ名を通知するように指示を与える。そしてかかる指示を受けたＧＮＳサーバ１０は、それぞれファイル管理テーブル６４（図９）を参照して、自己が管理するＧＮＳ９０に属するすべての仮想ＮＡＳ５３のＮＡＳ名を管理サーバ１２に通知する（ＳＰ１０）。
【００５０】
管理サーバ１２は、ＧＮＳサーバ１０からのかかる通知を受信すると、そのＮＡＳ名をＧＮＳ別ＮＡＳ一覧テーブル８０に格納する。また管理サーバ１２は、各ＮＡＳサーバ１１に順番にそれぞれアクセスして、そのＮＡＳサーバ１１上で稼働している仮想ＮＡＳ５３のＮＡＳ名を取得し（ＳＰ１１）、取得したＮＡＳ名をＮＡＳ別仮想ＮＡＳ一覧テーブル８１に格納する。
【００５１】
そして管理サーバ１２は、上述のようにして作成したＧＮＳ別ＮＡＳ一覧テーブル８０及びＮＡＳ別仮想ＮＡＳ一覧テーブル８１を照合して、各ＮＡＳサーバ１１におけるＧＮＳ９０の重複度（以下、これをＧＮＳ重複度と呼ぶ）をそれぞれ求め、求めたＮＡＳサーバ１１ごとのＧＮＳ重複度及びＧＮＳ名をＧＮＳ重複度管理テーブル８２に登録する（ＳＰ１３）。
【００５２】
続いて管理サーバは１２、以上のようにして作成したＧＮＳ重複度管理テーブル８２を参照して、ＧＮＳ重複度が予め定められた閾値以上のＮＡＳサーバ１１上で稼働する各仮想ＮＡＳ５３のユーザの貢献度（以下、適宜、これを仮想ＮＡＳ貢献度と呼ぶ）をそれぞれ計算する。
【００５３】
なお、以下においては、かかる閾値を「２」とする。従って、図１５に示す例の場合、ＧＮＳ重複度が「２」以上のＮＡＳサーバ１１は「NAS-B」、「NAS-D」及び「NAS-G」であるため、ここでの処理としては、これら「NAS-B」、「NAS-D」又は「NAS-G」上で稼働する仮想ＮＡＳ５３（「NAS-21」、「NAS-22」、「NAS-41」、「NAS-42」、「NAS-71」、「NAS-72」及び「NAS-73」）の仮想ＮＡＳ貢献度を計算することになる。
【００５４】
ここで仮想ＮＡＳ貢献度とは、その仮想ＮＡＳ５３がどれだけユーザの役に立っているかを定量的に表した尺度であり、この値が大きいほどその仮想ＮＡＳ５３のユーザに対する貢献度が高いことを意味する。かかる仮想ＮＡＳ貢献度は、いくつかの評価項目から算出する評価関数を用いることで計算する。
【００５５】
このような評価関数として、次式
【数１】
2010267156.tif 000003
のように各種の評価項目のスコアを単に掛け合わせるものや、次式
【数２】
2010267156.tif 000004
のように各種の評価項目のスコアを重み付けして加算するものが考えられる。なお（２）式においてＷ１，Ｗ２，……は重付け値を表し、０以上の実数が選定される。
【００５６】
そして、評価関数として上述の（１）式を用いた場合、評価項目の大小が仮想ＮＡＳ貢献度に大きく反映され、仮想ＮＡＳ貢献度の差が強調されるため、移動対象の仮想ＮＡＳ５３の選択が容易となる。また評価関数として上述の（２）式を用いた場合、各評価項目の効き具合を調整することができるため、評価特性を制御することができる。
【００５７】
なお、評価項目が複数ある場合、各評価項目の単位が異なるため、単純に各評価項目のスコアを加算したり、乗算することはできない。従って、このような場合には、比や倍率（評価項目のスコア／平均値）のように単位を消去した値を評価項目にする必要がある。
【００５８】
また上述のように仮想ＮＡＳがユーザにとってどれだけ重宝され、ユーザへの貢献度がどのくらい高いかを定量的に評価するために使用する評価項目としては、以下のものが考えられる。
（a）仮想ＮＡＳで管理されるファイルへのリンク数
他の仮想ＮＡＳで管理されるファイルからのリンク数も含め、自身以外のファイルからの引用回数が多いものほど、貢献度が高いと考える。
（b）仮想ＮＡＳにアクセスするユーザ数
仮想ＮＡＳにアクセスする頻度が一定以上でなおかつユーザアカウントが登録されてから一定期間以上経過しているユーザ数。常連のユーザの数が多いほど仮想ＮＡＳのユーザへの貢献が高いと考えられる。
（c）仮想ＮＡＳが提供する共有ディレクトリ数
共有ディレクトリ数に基づいて、ファイル共有サービスに関するユーザへの貢献度を評価する。
（d）クライアントに複数されたファイル数
仮想ＮＡＳがクライアントにアクセス可能な場合、仮想ＮＡＳからクライアント上に複製されたファイルの有無を調査し、かかる複製されたファイルの個数に基づいて仮想ＮＡＳの貢献度を評価する。
【００５９】
次いで管理サーバ１２は、上述のようにして算出した対応する各仮想ＮＡＳ５３の仮想ＮＡＳ貢献度に基づいて、ＮＡＳサーバ１１単位での統計値（平均値及び分散値）を求め、これらの統計値に基づいて移動対象とすべき仮想ＮＡＳ５３を選択し決定する。
【００６０】
例えば、図１５の例の場合、ＧＮＳ重複度が「２」以上のＮＡＳサーバは、上述のように「NAS-B」、「NAS-D」及び「NAS-G」の３つであり、これら３つの仮想サーバ５３上でそれぞれ稼働する仮想ＮＡＳ（「NAS-21」、「NAS-22」、「NAS-41」、「NAS-42」、「NAS-71」、「NAS-72」及び「NAS-73」）の仮想ＮＡＳ貢献度がそれぞれ図１６に示す値であったとする。この場合、各ＮＡＳサーバ１１における仮想ＮＡＳ貢献度の平均と分散は、図１７に示すようになる。
【００６１】
またデータセンタ内の全仮想ＮＡＳを母集団として考え、これら全仮想ＮＡＳ５３の仮想ＮＡＳ貢献度がそれぞれ図１７に示すような値であったとすると、データセンタ５内全体での仮想ＮＡＳ貢献度の平均値ＡＶＥは、次式
【数３】
2010267156.tif 000005
のように算出することができる。
【００６２】
そして管理サーバ１２は、このようにして求めたＧＮＳ重複度が「２」以上の各ＮＡＳサーバ１２における仮想ＮＡＳ貢献度の平均値及び分散値と、データセンタ５内全体での仮想ＮＡＳ貢献度の平均値ＡＶＥとに基づいて、移動対象の仮想ＮＡＳ５３を選択し決定する。
【００６３】
例えば、ＮＡＳサーバ１１における仮想ＮＡＳ貢献度の平均値が全体の平均値よりも高く、かつそのＮＡＳサーバ１１における分散値が全体の分散値よりも小さい場合、そのＮＡＳサーバ１１には仮想ＮＡＳ貢献度の高い仮想ＮＡＳ５３が集中していると考えることができる。図１７の例の場合、「NAS-G」というＮＡＳサーバ１１がこのようなＮＡＳサーバ１１に該当する。そこで管理サーバ１２は、この「NAS-G」というＮＡＳサーバ１１内の最も貢献度が高い仮想ＮＡＳ（「NAS-71」）５３を移動対象の仮想ＮＡＳ５３として決定する。
【００６４】
次に管理サーバ１２は、以上のようにして決定した移動対象の仮想ＮＡＳ５３について、移動先のＮＡＳサーバ１１を選択し決定する。具体的には、以下の（a）〜（c）のいずれかの条件を満たすＮＡＳサーバ１１を移動先として決定する。
（a）ＧＮＳ重複度が「０」の仮想ＮＡＳ
（b）ＧＮＳ重複度が「１」の場合、仮想ＮＡＳ貢献度が最も低いＮＡＳ
（c）ＧＮＳ重複度が「２」以上の場合、仮想ＮＡＳ貢献度の統計値（平均値及び分散値）が一定値以下のＮＡＳサーバ
【００６５】
例えば図１８の例の場合、上述の（a）の条件に従うものとすると、ＧＮＳ重複度が「０」である「NAS-F」が移動先の候補となり、（b）の条件に従うものとすると、ＧＮＳ重複度が「１」である「NAS-A」、「NAS-C」及び「NAS-E」のうちの仮想ＮＡＳ貢献度が最も低い「NAS-E」が移動先の候補となる。また（c）の条件に従うものとすると、かかる一定値を「10」とした場合、「NAS-B」が移動先の候補となる。
【００６６】
ただし、例えば移動先の候補の選定方法として「（a）の条件に従う」と規定しておいてもそのようなＮＡＳサーバ１１が存在しない場合もあり得る。そこで、かかる移動先の候補の選定方法として、かかる（a）〜（c）の条件に優先順位を設け、優先順位の最も高い条件を満たすＮＡＳサーバ１１が存在しないときには次に優先順位が高い条件を満たすＮＡＳサーバ１１を移動先の候補とし、そのような条件を満たすＮＡＳサーバ１１が存在しないときには、その次に優先順位の高い条件を満たすＮＡＳサーバ１１を移動先の候補とする。本実施の形態の場合、かかる優先順位が高い条件は、順番に（a）、（b）及び（c）である。
【００６７】
またＮＡＳサーバ１１の構成情報に基づいて、仮想ＮＡＳ５３の移動先の候補を選択し決定する方法も考えられる。例えば、ＮＡＳサーバ１１の構成として、シングルノード及びクラスタノードの２種類があり、ＮＡＳサーバ１１及びＲＡＩＤディスクサブシステム１４間の接続形態として、冗長パスの有無がある。従って、管理サーバ１２が例えば図１９に示すような構成情報管理テーブル９１を保持していれば、移動先の候補を決定する際に、移動対象の仮想ＮＡＳ５３の仮想ＮＡＳ貢献度の大きさに応じて、より信頼性の高いＮＡＳサーバ１１に移動させるか、又はより信頼性の低いＮＡＳサーバ１１に移動させるかを判断することが可能になる。
【００６８】
なお、この構成情報管理テーブル９１は、ＮＡＳサーバ１１ごとの信頼性に関する構成状態を管理するためのテーブルであり、順位欄９１Ａ、ＮＡＳ名欄９１Ｂ、ＮＡＳ構成欄９１Ｃ、パス構成欄９１Ｄ及びスイッチ構成欄９１Ｅから構成される。そしてＮＡＳ名欄９１Ｂには、対応するＮＡＳサーバ１１のＮＡＳ名が格納され、ＮＡＳ構成欄９１Ｃには、そのＮＡＳサーバ１１がシングルノード及びクラスタノードのいずれの構成をとっているかを表す情報が格納される。またパス構成欄９１Ｄには、そのＮＡＳサーバ１１及びＲＡＩＤサブシステム１４間のパス構成がマルチパス及びシングルパスのいずれであるかを表す情報が格納され、スイッチ構成欄９１Ｅには、そのＮＡＳサーバ１１及びＲＡＩＤサブシステム１４間を接続するＦＣネットワーク１３（図１）を構成するＦＣスイッチがクラスタ構成及びシングル構成のいずれであるかを表す情報が格納される。さらに順位欄９１Ａには、計算機システム１内に存在するすべてのＮＡＳサーバ１１のうちの信頼性に関する順位が格納される。この順位は、冗長構成の高いＮＡＳサーバ１１ほど高い順位となる。なお、この構成情報管理テーブル９１において保持される各種情報は、予め管理者により格納される。
【００６９】
次に、管理サーバ１２は、上述のようにして移動対象として決定した仮想ＮＡＳ５３を、上述のようにして移動先として決定したＮＡＳサーバ１１に移動させる（図１５のステップＳＰ１４）。この際、管理サーバ１２は、仮想ＮＡＳ貢献度が高い仮想ＮＡＳが複数存在する場合には、当該仮想ＮＡＳ５３をＧＮＳ重複度が低い別のＮＡＳサーバ１１への再配置し、各ＮＡＳサーバ１１における仮想ＮＡＳ貢献度の合計値を下げるように制御する。
【００７０】
（２−３）仮想ＮＡＳ管理処理に関する管理サーバの具体的な処理
次に、以上のような本実施の形態による仮想ＮＡＳ管理処理に関する管理サーバ１２の具体的な処理内容について説明する。なお、以下においては各種処理の処理主体を管理サーバ１２に実装された「プログラム」として説明するが、実際上は、そのプログラムに基づいて管理サーバ１２のＣＰＵ２４（図１）又は対応するＮＡＳサーバ１１のＣＰＵ２２（図１）がその処理を実行することは言うまでもない。
【００７１】
（２−３−１）仮想ＮＡＳ貢献度計算処理
図２０は、仮想ＮＡＳ５３ごとの仮想ＮＡＳ貢献度の計算に関して管理サーバ１２の仮想ＮＡＳ貢献度計算処理プログラム７０（図２）により実行される仮想ＮＡＳ貢献度計算処理の処理手順を示す。仮想ＮＡＳ貢献度計算処理プログラム７０は、定期的にこの仮想ＮＡＳ貢献度計算処理を実行することにより、仮想ＮＡＳ５３ごとの仮想ＮＡＳ貢献度を算出する。
【００７２】
すなわち仮想ＮＡＳ貢献度計算処理プログラム７０は、この仮想ＮＡＳ貢献度計算処理を開始すると、まず、データセンタ５内の各ＧＮＳサーバ１０にそれぞれアクセスして、そのＧＮＳサーバ１０が提供するＧＮＳ９０（図１５）に属するすべての仮想ＮＡＳ５３のＮＡＳ名を取得し、取得した各ＮＡＳ名を、それぞれその仮想ＮＡＳ５３が属するＧＮＳ９０と対応付けてＧＮＳ別ＮＡＳ一覧テーブル８０（図１１）に登録する（ＳＰ２０）。
【００７３】
続いて仮想ＮＡＳ貢献度計算処理プログラム７０は、データセンタ５内の各ＮＡＳサーバ１１にそれぞれアクセスして、ＮＡＳサーバ１１ごとに、そのＮＡＳサーバ１１上で稼働するすべての仮想ＮＡＳ５３のＮＡＳ名を取得し、取得した各仮想ＮＡＳ５３のＮＡＳ名を、それぞれその仮想ＮＡＳ５３が稼働するＮＡＳサーバ１１と対応付けてＮＡＳ別仮想ＮＡＳ一覧テーブル８１（図１２）に登録する（ＳＰ２１）。
【００７４】
次いで仮想ＮＡＳ貢献度計算処理プログラム７０は、ＧＮＳ別ＮＡＳ一覧テーブル８０及びＮＡＳ別仮想ＮＡＳ一覧テーブル８１を照合して、ＮＡＳサーバ１１ごとのＧＮＳ９０のＧＮＳ重複度を求める。また仮想ＮＡＳ貢献度計算処理プログラム７０は、求めたＮＡＳサーバ１０ごとのＧＮＳ重複度と、当該ＮＡＳサーバ１１が属する具体的なＧＮＳ名とを関連付けてＧＮＳ重複度管理テーブル８２（図１３）に格納する（ＳＰ２２）。
【００７５】
この後、仮想ＮＡＳ貢献度計算処理プログラム７０は、ＧＮＳ重複度管理テーブル８２を参照して、ＧＮＳ重複度が「２」以上のＮＡＳサーバ１１をすべて抽出する（ＳＰ２３）。また仮想ＮＡＳ貢献度計算処理プログラム７０は、抽出した各ＮＡＳサーバ１１について、そのＮＡＳサーバ上で稼働するすべての仮想ＮＡＳ５３の仮想ＮＡＳ貢献度をそれぞれ計算し、計算結果に基づいて移動対象の仮想ＮＡＳ５３を選択及び決定する（ＳＰ２４）。
【００７６】
続いて仮想ＮＡＳ貢献度計算処理プログラム７０は、ＧＮＳ重複度管理テーブル８２から重複度が「１」以下のＮＡＳサーバ１１を抽出する（ＳＰ２５）。また仮想ＮＡＳ貢献度計算処理プログラム７０は、このとき抽出したＮＡＳサーバ１１上で稼働する仮想ＮＡＳの仮想ＮＡＳ貢献度を計算し、計算結果に基づいてステップＳＰ２４において決定した移動対象の仮想ＮＡＳ５３の移動先の候補を選択及び決定する（ＳＰ２６）。
【００７７】
次いで仮想ＮＡＳ貢献度計算処理プログラム７０は、仮想ＮＡＳ移動制御プログラム７１（図２）を起動すると共に、ステップＳＰ２４において決定した移動対象の仮想ＮＡＳ５３のＮＡＳ名と、ステップＳＰ２６において決定したその移動先のＮＡＳサーバ１１のサーバ名とを仮想ＮＡＳ移動制御プログラム７１に引き渡し（ＳＰ２７）、この後、この仮想ＮＡＳ貢献度計算処理を終了する。
【００７８】
（２−３−２）仮想ＮＡＳ移動制御処理
一方、図２１は、上述した仮想ＮＡＳ貢献度計算処理（図２０）のステップＳＰ２７において起動された仮想ＮＡＳ移動制御プログラム７１により実行される仮想ＮＡＳ移動制御処理の処理手順を示す。
【００７９】
仮想ＮＡＳ移動制御プログラム７１は、仮想ＮＡＳ貢献度計算処理プログラム７０により起動されると、この図２１に示す仮想ＮＡＳ移動制御処理を開始し、まず、移動対象の仮想ＮＡＳ５３と、移動先のＮＡＳサーバ１１との照合を行い、当該仮想ＮＡＳ５３の移動先を決める（ＳＰ３０）。また仮想ＮＡＳ移動制御プログラム７１は、移動対象の仮想ＮＡＳ５３を１つ選択し（ＳＰ３１）、この後、すべての仮想ＮＡＳ５３に対してステップＳＰ３３の処理を実行したか否かを判断する（ＳＰ３２）。
【００８０】
仮想ＮＡＳ移動制御プログラム７１は、この判断において否定結果を得ると、移動対象の仮想ＮＡＳ５３が稼働するＮＡＳサーバ１１の仮想ＮＡＳ管理プログラム５１に対してその移動対象の仮想ＮＡＳ５３の稼働を停止させるよう停止要求を送信し（ＳＰ３３）、この後、ステップＳＰ３１に戻る。
【００８１】
そして仮想ＮＡＳ移動制御プログラム７１は、この後、ステップＳＰ３１において順次異なる仮想ＮＡＳ５３を選択しながら、ステップＳＰ３１〜ステップＳＰ３３の処理を繰り返す。これにより仮想ＮＡＳ移動制御プログラム７１は、仮想ＮＡＳ貢献度計算処理のステップＳＰ２７において仮想ＮＡＳ貢献度計算処理プログラム７０からＮＡＳ名等が引き渡された各移動対象の仮想ＮＡＳ５３の稼働を順次停止させる。
【００８２】
そして仮想ＮＡＳ移動制御プログラム７１は、やがてすべての移動対象の仮想ＮＡＳ５３についての稼働を停止させ終えることによりステップＳＰ３２において肯定結果を得ると、移動対象の仮想ＮＡＳ５３及び移動先のＮＡＳサーバ１１上に存在する仮想ＮＡＳ５３の中でマージ可能な複数の仮想ＮＡＳ５３が存在する場合には、これらの仮想ＮＡＳ５３をマージする（ＳＰ３４）。
【００８３】
次いで仮想ＮＡＳ移動制御プログラム７１は、仮想ＮＡＳ貢献度計算処理（図２０）のステップＳＰ２６において決定した移動先候補の仮想ＮＡＳ５３のうちの１つの仮想ＮＡＳ５３を選択し（ＳＰ３５）、この後、仮想ＮＡＳ貢献度計算処理のステップＳＰ２６において決定したすべての移動先候補の仮想ＮＡＳ５３についてステップＳＰ３７の処理を実行したか否かを判断する（ＳＰ３６）。
【００８４】
仮想ＮＡＳ移動制御プログラム７１は、この判断において否定結果を得ると、移動先のＮＡＳサーバ１１の仮想ＮＡＳ管理プログラム５１（図２）に対して当該ＮＡＳサーバ１１に移動させた仮想ＮＡＳ５３を起動するよう起動要求を送信し（ＳＰ３７）、この後、ステップＳＰ３５に戻る。
【００８５】
そして仮想ＮＡＳ移動制御プログラム７１は、この後、ステップＳＰ３５において順次異なる仮想ＮＡＳ５３を選択しながら、ステップＳＰ３５〜ステップＳＰ３７の処理を繰り返す。これにより仮想ＮＡＳ移動制御プログラム７１は、各移動対象の仮想ＮＡＳ５３を移動先のＮＡＳサーバ１１において順次起動させる。
【００８６】
そして仮想ＮＡＳ移動制御プログラム７１は、やがてすべての移動対象の仮想ＮＡＳ５３を移動先のＮＡＳサーバ１１上で起動させ終えることによりステップＳＰ３６において肯定結果を得ると、この仮想ＮＡＳ移動制御処理を終了する。
【００８７】
ここで、かかる仮想ＮＡＳ移動制御処理のステップＳＰ３４において実行されるマージ処理の具体的な処理内容について説明する。
【００８８】
図２２（Ａ）〜（Ｃ）に示すように、例えば「NAS-B」というＮＡＳサーバ１１上で稼働していた「NAS-21」という仮想ＮＡＳ５３を、「NAS-A」というＮＡＳサーバ１１に移動する際、それまで「NAS-21」と同一のＧＮＳ９０内に存在していた「NAS-11」という仮想ＮＡＳ５３とマージすることができ、このようにすることによって仮想ＮＡＳ５３（ひいてはＮＡＳサーバ１１）の利用効率を向上させることができる。
【００８９】
図２３は、かかる仮想ＮＡＳ移動制御処理（図２１）のステップＳＰ３４において実行されるマージ処理の具体的な処理内容を示す。
【００９０】
仮想ＮＡＳ移動制御プログラム７１は、仮想ＮＡＳ移動制御処理のステップＳＰ３４に進むと、このマージ処理を開始し、まず、ステップＳＰ３１〜ステップＳＰ３３のループ処理により稼働を停止したすべての移動対象の仮想ＮＡＳ５３のリソース（ＩＰアドレス、ＣＰＵの動作周波数及びメモリ容量など）に関する各種情報を取得する（ＳＰ４０）。この情報は、仮想ＮＡＳ貢献度計算処理（図２０）のステップＳＰ２７において仮想ＮＡＳ貢献度計算処理プログラム７０から与えられたものである。
【００９１】
続いて仮想ＮＡＳ移動制御プログラム７１は、ＮＡＳ別仮想ＮＡＳ一覧テーブル８１（図１２）上において、移動先のＮＡＳサーバ１１上で稼働中の仮想ＮＡＳ５３を検索し（ＳＰ４１）、この検索結果に基づいて、稼働中の仮想ＮＡＳ４１が存在するか否かを判断する（ＳＰ４２）。
【００９２】
仮想ＮＡＳ移動制御プログラム７１は、この判断において否定結果を得ると、このマージ処理を終了して仮想ＮＡＳ移動制御処理（図２１）に戻り、これに対して肯定結果を得ると、ＧＮＳ別ＮＡＳ一覧テーブル８０（図１１）を参照して、移動対象の仮想ＮＡＳ５３と、ステップＳＰ４１の検索において検出した仮想ＮＡＳ５３とが同じＧＮＳ９０に属するか否かを判断する（ＳＰ４３）。
【００９３】
仮想ＮＡＳ移動制御プログラム７１は、この判断において否定結果を得ると、このマージ処理を終了して仮想ＮＡＳ移動制御処理（図２１）に戻り、これに対して肯定結果を得ると、移動対象の仮想ＮＡＳ５３と、ステップＳＰ４１において検出した仮想ＮＡＳ４３とをマージする（ＳＰ４４）。このマージは、マージする２つの仮想ＮＡＳ５３のリソースを統合（仮想ＮＡＳ５３のリソースを管理する図示しない管理テーブル上でリソースを統合）することにより行われる。そして仮想ＮＡＳ移動制御プログラム７１は、この後、このマージ処理を終了して仮想ＮＡＳ移動制御処理に戻る。
【００９４】
（２−３−３）仮想ＮＡＳ移動制御処理
他方、図２４は、仮想ＮＡＳ５３の起動及び動作停止に関連してＮＡＳサーバ１１の仮想ＮＡＳ管理プログラム５１（図２）により実行される仮想ＮＡＳ管理処理の処理手順を示す。
【００９５】
仮想ＮＡＳ管理プログラム５１は、仮想ＮＡＳ５３の起動後、この仮想ＮＡＳ管理処理を開始し、まず、管理サーバ１２からの要求の有無をチェックし（ＳＰ５０）、管理サーバ１２から何らかの要求を受け付けたか否かを判断する（ＳＰ５１）。そして仮想ＮＡＳ管理プログラム５１は、この判断において否定結果を得るとステップＳＰ５０に戻る。
【００９６】
これに対して仮想ＮＡＳ管理プログラム５１は、かかる判断において肯定結果を得ると、その要求が停止要求であるか否かを判断し（ＳＰ５２）、否定結果を得ると、その要求が起動要求であるか否かを判断する（ＳＰ５３）。そして仮想ＮＡＳ管理プログラム５１は、この判断において否定結果を得るとステップＳＰ５０に戻り、この後ステップＳＰ５２又はステップＳＰ５３において肯定結果を得るまで、同様の処理を繰り返す。
【００９７】
そして仮想ＮＡＳ管理プログラム５１は、やがて管理サーバ１２からいずれかの仮想ＮＡＳ５３の停止要求が与えられることにより、ステップＳＰ５２において肯定結果を得ると、その停止要求において指定された仮想ＮＡＳ５３のシャットダウンを実行し（ＳＰ５４）、その仮想ＮＡＳ５３が使用していたＣＰＵ、メモリ及び論理ボリューム等のリソースを解放する（ＳＰ５５）。また仮想ＮＡＳ管理プログラム５１は、解放したリソースが他の仮想ＮＡＳ５３に割り当てられないようにするため、当該リソースを停止要求の要求元である管理サーバ１２に返す（ＳＰ５６）。なお、このリソースは、この後、ステップＳＰ５８において移動後に起動される仮想ＮＡＳ５３に割り当てることになる。そして仮想ＮＡＳ管理プログラム５１は、この後、ステップＳＰ５０に戻る。
【００９８】
これに対して仮想ＮＡＳ管理プログラム５１は、やがて管理サーバ１２からいずれかの仮想ＮＡＳ５３の起動要求が与えられることによりステップＳＰ５３において肯定結果を得ると、その起動要求において指定された仮想ＮＡＳ５３のリソース情報（ステップＳＰ５６において管理サーバ１２に返されたリソースのリソース情報）を当該起動要求から取得し（ＳＰ５７）、その仮想ＮＡＳ５３に対してそのリソースを割り当てた後（ＳＰ５８）、その仮想ＮＡＳ５３を起動する（ＳＰ５９）。また仮想ＮＡＳ管理プログラム５１は、この後、ステップＳＰ５０に戻る。
【００９９】
（３）本実施の形態の効果
以上のように本実施の形態による計算機システム１では、仮想ＮＡＳ５３ごとの仮想ＮＡＳ貢献度に基づいて、ＮＡＳサーバ１１上で稼働する各仮想ＮＡＳ５３の仮想ＮＡＳ貢献度の合計値をＮＡＳサーバ１１間で平均化させるように、移動対象の仮想ＮＡＳ５３及び移動先の仮想ＮＡＳ５３を選択し、移動対象として決定した仮想ＮＡＳ５３を移動先として決定したＮＡＳサーバ１１に移動するため、それぞれ仮想ＮＡＳ貢献度が高い、異なるＧＮＳ９０に属する複数の仮想ＮＡＳ５３が１つのＮＡＳサーバ１１上に集中するのを未然に防止することができる。かくするにつき、１つのＮＡＳサーバ１１に障害が発生したときの影響を局所化し、ＮＡＳサーバ１１の障害に対する影響の拡大を未然に回避することができる。
【０１００】
（４）他の実施の形態
なお上述の実施の形態においては、仮想ＮＡＳ５３を管理する管理装置としての管理サーバ１２において、仮想ＮＡＳ５３ごとのユーザへの貢献度（仮想ＮＡＳ貢献度）を計算する貢献度計算処理部を仮想ＮＡＳ貢献度計算処理プログラム７０及びＣＰＵ２４により構成し、仮想ＮＡＳ５３ごとのユーザへの貢献度に基づいて、ＮＡＳサーバ１１上で稼働する各仮想ＮＡＳ５３の貢献度の合計値をＮＡＳサーバ１１間で平均化させるように、移動対象の仮想ＮＡＳ５３及び移動先のＮＡＳサーバ１１を選択し、移動対象として決定した仮想ＮＡＳを移動先として決定したＮＡＳサーバ１１に移動するための制御を実行する移動制御部を仮想ＮＡＳ移動制御プログラム７１及びＣＰＵ２４により構成するようにした場合について述べたが、本発明はこれに限らず、これら貢献度計算処理部及び移動制御部をハードウェア構成としても良い。
【０１０１】
また上述の実施の形態においては、計算機システム１内に３台のＧＮＳサーバ１０と、７台のＮＡＳサーバ１１とが設けられている場合について述べたが、本発明はこれに限らず、これらＧＮＳサーバ１０及びＮＡＳサーバ１１の台数が何台の場合でも本発明を適用することができる。
【０１０２】
さらに上述の実施の形態においては、図２０について上述した仮想ＮＡＳ貢献度計算処理のステップＳＰ２３において、ＧＮＳ重複度が「２」以上のＮＡＳサーバ１１を抽出し、ステップＳＰ２５においてＧＮＳ重複度が「１」以下のＮＡＳサーバ１１を抽出するようにした場合について述べたが、本発明はこれに限らず、このステップＳＰ２３やステップＳＰ２５において抽出するＮＡＳサーバ１１のＧＮＳ重複度はＧＮＳサーバ１０の数に応じて決定すれば良く、「２」や「１」以外であっても良い。
【産業上の利用可能性】
【０１０３】
本発明は、複数のＮＡＳサーバを備える計算機システムに広く適用することができる。
【図面の簡単な説明】
【０１０４】
【図１】本実施の形態による計算機システムのハードウェア構成を示すブロック図である。
【図２】本実施の形態による計算機システムのソフトウェア構成を示すブロック図である。
【図３】ファイルシステムの説明に供する概念図である。
【図４】ディレクトリエントリの構成例を示す概念図である。
【図５】ｉノードによるデータブロックの参照例を示す概念図である。
【図６】ｉノード管理テーブルとｉノードとの関係を示す概念図である。
【図７】仮想ＮＡＳ管理プログラムの説明に供するブロック図である。
【図８】ＧＮＳサーバによりクライアントに提供されるディレクトリイメージの一例を示す概念図である。
【図９】ファイル管理テーブルの構成を示す概念図である。
【図１０】ＧＮＳの処理の流れの説明に供するブロック図である。
【図１１】ＧＮＳ別ＮＡＳ一覧テーブルの構成を示す概念図である。
【図１２】ＮＡＳ別ＮＡＳ一覧テーブルの構成を示す概念図である。
【図１３】ＧＮＳ重複度管理テーブルの構成を示す概念図である。
【図１４】仮想ＮＡＳでＧＮＳを構成した一例を示す概念図である。
【図１５】本実施の形態による仮想ＮＡＳ管理処理の流れの説明に供する概念図である。
【図１６】移動対象の仮想ＮＡＳの選択方法の説明に供する概念図である。
【図１７】移動対象の仮想ＮＡＳの選択方法の説明に供する概念図である。
【図１８】移動先候補の選択方法の説明に供する概念図である。
【図１９】構成情報管理テーブルの構成を示すブロック図である。
【図２０】仮想ＮＡＳ貢献度計算処理の処理手順を示すフローチャートである。
【図２１】仮想ＮＡＳ移動制御処理の処理手順を示すフローチャートである。
【図２２】（Ａ）〜（Ｃ）は、仮想サーバのマージの説明に供する概念図である。
【図２３】マージ処理の処理手順を示すフローチャートである。
【図２４】仮想ＮＡＳ移動制御処理の処理手順を示すフローチャートである。
【符号の説明】
【０１０５】
１……計算機システム、３……クライアント、５……データセンタ、１０……ＧＮＳサーバ、１１……ＮＡＳサーバ、１２……管理サーバ、１４……ＲＡＩＤサブシステム、２０，２２……ＣＰＵ、２１，２３……メモリ、２６……ディスク装置、２８……ＲＡＩＤグループ、５０……ファイル共有プログラム、５１……仮想ＮＡＳ管理プログラム、５２，６６……ファイルシステムプログラム、５３……仮想ＮＡＳ、６４……ファイル管理テーブル、６５……ＧＮＳ管理プログラム、７０……仮想ＮＡＳ貢献度計算処理プログラム、７１……仮想ＮＡＳ移動制御プログラム、８０……ＧＮＳ別ＮＡＳ一覧テーブル、８１……ＮＡＳ別仮想ＮＡＳ一覧テーブル、８２……ＧＮＳ重複度管理テーブル。
【図１】
2010267156.tif 000006
【図２】
2010267156.tif 000007
【図３】
2010267156.tif 000008
【図４】
2010267156.tif 000009
【図５】
2010267156.tif 000010
【図６】
2010267156.tif 000011
【図７】
2010267156.tif 000012
【図８】
2010267156.tif 000013
【図９】
2010267156.tif 000014
【図１０】
2010267156.tif 000015
【図１１】
2010267156.tif 000016
【図１２】
2010267156.tif 000017
【図１３】
2010267156.tif 000018
【図１４】
2010267156.tif 000019
【図１５】
2010267156.tif 000020
【図１６】
2010267156.tif 000021
【図１７】
2010267156.tif 000022
【図１８】
2010267156.tif 000023
【図１９】
2010267156.tif 000024
【図２０】
2010267156.tif 000025
【図２１】
2010267156.tif 000026
【図２２】
2010267156.tif 000027
【図２３】
2010267156.tif 000028
【図２４】
2010267156.tif 000029