JP2010267156A - 計算機システム及び管理方法 - Google Patents
計算機システム及び管理方法 Download PDFInfo
- Publication number
- JP2010267156A JP2010267156A JP2009119219A JP2009119219A JP2010267156A JP 2010267156 A JP2010267156 A JP 2010267156A JP 2009119219 A JP2009119219 A JP 2009119219A JP 2009119219 A JP2009119219 A JP 2009119219A JP 2010267156 A JP2010267156 A JP 2010267156A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- nas
- node
- physical
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】物理ノードの障害による影響を局所化し、物理ノードの障害に対する影響の拡大を未然に回避し得る計算機システム及び管理方法を提供する。
【解決手段】それぞれ異なる単一ネームスペースをクライアントに提供する1又は複数のサーバと、いずれかの単一ネームスペースに属し、クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノードと、仮想ノードを管理する管理装置とを有する計算機システムにおいて、仮想ノードごとのユーザへの貢献度を計算し、仮想ノードごとのユーザへの貢献度に基づいて、物理ノード上で稼働する各仮想ノードの貢献度の合計値を物理ノード間で平均化させるように、移動対象の仮想ノード及び移動先の物理ノードを選択し、移動対象として選択した仮想ノードを移動先として選択した物理ノードに移動するための制御を実行するようにした。
【選択図】図15
【解決手段】それぞれ異なる単一ネームスペースをクライアントに提供する1又は複数のサーバと、いずれかの単一ネームスペースに属し、クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノードと、仮想ノードを管理する管理装置とを有する計算機システムにおいて、仮想ノードごとのユーザへの貢献度を計算し、仮想ノードごとのユーザへの貢献度に基づいて、物理ノード上で稼働する各仮想ノードの貢献度の合計値を物理ノード間で平均化させるように、移動対象の仮想ノード及び移動先の物理ノードを選択し、移動対象として選択した仮想ノードを移動先として選択した物理ノードに移動するための制御を実行するようにした。
【選択図】図15
Description
本発明は、計算機システム及び管理方法に関し、例えば仮想化技術が適用された複数のNASサーバを備える計算機システムに適用して好適なものである。
従来、仮想化技術をNAS(Network Attached System)に適用した技術として、物理ノード(NASサーバ)上で、クライアントに対してファイル共有サービスを提供する仮想ノード(以下、これを仮想NASと呼ぶ)を稼働させ、ファイルサーバ機能をサービスする技術が提案されている(特許文献1参照)。
また仮想化技術をNASに適用した他の技術として、複数のNASを単一ネームスペース(GNS:Global Name Space)上で管理することにより、ユーザに対して、複数のNASに分散したファイルシステムを一元化する(つまり単一のNASであるかのようにみせる)技術が提案されている(特許文献2参照)。
特開2003−223346号公報
特開2008−234568号公報
ところで、上記特許文献1に開示された仮想NAS技術と、上記特許文献2に開示された複数のNASを単一ネームスペース上で管理する技術とを併用することによって、複数の仮想NASを1つのGNS上で管理することができるものと考えられる。
ただし、このような技術を複数の会社が利用するデータセンタ等で利用した場合、それぞれ異なるGNS上に存在する複数の仮想NAS(例えばA社のGNS上に存在する仮想NASと、B社のGNS上に存在する仮想NASと、C社のGNS上に存在する仮想NASと、……)が同じ物理ノード上で稼働する事態が生じることも考えられる。
そして、このような場合、かかる物理ノード上で稼働する複数の仮想NASに、対応するGNSが割り当てられた各会社の重要なファイルシステムが配置されてしまうと(すなわちA社のGNS上の仮想NASにA社の重要なファイルシステムが配置され、B社のGNS上の仮想NASにB社の重要なファイルシステムが配置され、……、となると)、その物理ノードに障害が発生した場合に、その影響が複数の会社に及ぶことになる。
本発明は以上の点を考慮してなされたもので、物理ノードの障害による影響を局所化し、物理ノードの障害に対する影響の拡大を未然に回避し得る計算機システム及び管理方法を提案しようとするものである。
かかる課題を解決するため本発明においては、計算機システムにおいて、それぞれ異なる単一ネームスペースをクライアントに提供する1又は複数のサーバと、いずれかの前記単一ネームスペースに属し、前記クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノードと、前記仮想ノードを管理する管理装置とを設け、前記管理装置は、前記仮想ノードごとのユーザへの貢献度を計算する貢献度計算処理部と、前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する移動制御部とを備えることを特徴とする。
また本発明においては、クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノード上でそれぞれ稼働する前記仮想ノードを管理する管理方法において、各前記仮想ノードは、それぞれ1又は複数の単一ネームスペースのうちのいずれかの前記単一ネームスペースに属し、前記仮想ノードごとのユーザへの貢献度を計算する第1のステップと、前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する第2のステップとを備えることを特徴とする。
本発明によれば、貢献度の高い仮想ノードを複数の物理ノードに分散させることができるため、それぞれ異なる単一ネームスペースに属する仮想ノードであって、それぞれ貢献度が高い仮想ノードが1つの物理ノード上に集中するのを未然に防止することができる。
本発明によれば、それぞれ異なる単一ネームスペースに属する仮想ノードであって、それぞれ貢献度が高い仮想ノードが1つの物理ノード上に集中するのを未然に防止することができることから、1つの物理ノードに障害が発生したときの影響を局所化し、物理ノードの障害に対する影響の拡大を未然に回避することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による計算機システムの構成
図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1では、複数の会社(A社、B社、C社、……)2内のクライアント3がそれぞれネットワーク4を介してデータセンタ5と接続されている。
図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1では、複数の会社(A社、B社、C社、……)2内のクライアント3がそれぞれネットワーク4を介してデータセンタ5と接続されている。
クライアント3は、CPU(Central Processing Unit)、メモリ、NIC(Network Interface Card)及びハードディスク装置などの情報処理装置を備えるコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。
データセンタ5には、複数のGNSサーバ10と、複数のNASサーバ11と、管理サーバ12と、FC(Fibre Chanel)ネットワーク13と、RAID(Redundant Arrays of Inexpensive Disks)サブシステム14とが設置されている。そしてデータセンタ5では、各GNSサーバ10、各NASサーバ11及び管理サーバ12間が第1のネットワーク15を介して接続され、各GNSサーバ10、管理サーバ12及びFCネットワーク13間が第2のネットワーク16を介して接続されている。
GNSサーバ10は、複数のNASサーバ11を一元化してクライアント3に対して単一のネームスペース(GNS)として見せるためのサーバであり、CPU20及びメモリ21等の情報処理資源を備えて構成される。このGNSサーバ10は、図示しないNICを介して第1のネットワーク15と接続されており、この第1のネットワーク15を介して管理サーバ12や対応するクライアント3との間で通信を行い得るようになされている。またGNSサーバ10は、図示しないHBA(Host Bus Adapter)を介して第2のネットワーク16と接続されており、この第2のネットワーク16を介して後述するGNS管理プログラム65(図2)などの制御プログラムを起動時にRAIDサブシステム14から読み出し得るようになされている。
NASサーバ11は、クライアント3に対してファイル共有サービスを提供するサーバであり、CPU22及びメモリ23等の情報処理資源を備えて構成される。NASサーバ11は、GNSサーバ10と同様に、図示しないNICを介して第2のネットワーク15と接続されており、この第2のネットワーク15を介して管理サーバ12やGNSサーバ10との間で通信を行い得るようになされている。またNASサーバ11は、図示しないHBAを介してFCネットワーク13と接続されている。
管理サーバ12は、システム管理者がデータセンタ5内のGNSサーバ10、NASサーバ11、FCネットワーク13及びRAIDサブシステム14を管理するためのサーバであり、パーソナルコンピュータ又はワークステーションなどから構成される。管理サーバ12は、CPU24及びメモリ25等の情報処理資源と、キーボード及びマウスなどの入力装置と、ディスプレイ及びスピーカなどの出力装置とを備えて構成される。この管理サーバ12は、GNSサーバ10、NASサーバ11、FCネットワーク13及びRAIDサブシステム14などから必要な情報を収集し、収集した情報を必要に応じて表示したり、GNSサーバ10、NASサーバ11、FCネットワーク13及びRAIDサブシステム14にコマンドを送信して制御する。
FCネットワーク13は、1又は複数のFCスイッチから構成される。GNSサーバ10、NASサーバ11又は管理サーバ12と、RAIDサブシステム14との間におけるデータやコマンドのやり取りは、このFCネットワーク13を介して行われる。
RAIDサブシステム14は、1又は複数のディスク装置26と、ディスク装置26に対するデータの入出力を制御するコントロール部27とから構成されるストレージ装置である。なお図1においては、計算機システム1内にRAIDサブシステム14を1台だけ設けるようにした場合について例示しているが、RAIDサブシステム14を複数台設けるようにしても良い。
ディスク装置26は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクや、SATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクなどから構成される。1又は複数のディスク装置26により1つのRAIDグループ28が構成され、1つのRAIDグループ28を構成する各ディスク装置26が提供する物理的な記憶領域上に、1又は複数の論理ボリュームが設定される。そしてクライアントからのデータは、この論理ボリューム内に所定大きさのブロック(以下、これを論理ブロックと呼ぶ)を単位として記憶される。
各論理ボリュームには、それぞれ固有のボリューム番号が付与される。本実施の形態の場合、データの入出力は、このボリューム番号と、各論理ブロックにそれぞれ付与されるその論理ブロックのブロック番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
コントロール部27は、1又は複数のチャネルアダプタ(CHA)29と、1又は複数のディスクコントローラ(DKC)30とを備えて構成される。コントロール部27は、NASサーバ11からFCネットワーク13を介して与えられるI/O(Input/Output)要求をチャネルアダプタ29において受信し、このI/O要求に応じて、ディスクコントローラ30の制御のもとに、対応するディスク装置26にデータを読み書きする。
図2は、かかる計算機システム1のソフトウェア構成を示す。計算機システム1において、RAIDサブシステム14のRAIDグループ28(図1)上には、上述のように論理ボリュームが複数作成される。NAS環境では、かかる論理ボリュームとして、OSボリューム(OS−LU)40及びユーザボリューム(User−LU)41の2種類の論理ボリュームが作成される。
OSボリューム40は、GNSサーバ10やNASサーバ11のOS(Operation System)が使用するプログラムが格納される論理ボリュームである。またユーザボリューム41は、クライアント3からのI/O要求によるデータが格納される論理ボリュームである。このユーザボリューム41が提供する記憶領域は、ファイルシステムにより使用される。
NASサーバ11には、ファイル共有プログラム50、仮想NAS管理プログラム51及びファイルシステムプログラム52が実装される。
ファイルシステムプログラム52は、物理ボリューム上にファイルという管理単位を実現するために構築された論理構造であるファイルシステムを管理するためのプログラムである。
ここでファイルシステムについて説明すると、ファイルシステムは、図3に示すように、スーパーブロック60、ディレクトリエントリ61、iノード管理テーブル62及びデータブロック63を備える。このうちスーパーブロック60は、ファイルシステムの大きさ及び空き容量などのファイルシステムの情報を一括して保持する論理ブロックである。
またファイルシステムでは、1つのファイルに1つのiノードを対応させて管理しており、これらの対応関係がディレクトリエントリ61において管理される。具体的に、ディレクトリエントリは、図4に示すように、ディレクトリパス名61Aと、iノードを指すインデックス(以下、これをiノード番号と呼ぶ)61Bとを組みにしたテーブルである。
なお、iノードとは、対応するファイルの所有権、アクセス権、ファイルサイズ及びデータの格納位置などの情報からなる当該ファイルの管理情報のことをいう。iノードとデータブロック63との参照関係を図5に示す。この図5の左側の枠線内の表において、「100」、「200」及び「250」はブロックアドレスを示し、「3」、「2」及び「5」はそのブロックアドレスから連続する、データが格納されたデータブロック63のブロック数を示す。このiノードは、図6に示すように、iノード管理テーブル62に格納されて管理される。
またデータブロック63は、実際のファイルデータや管理データなどが格納される論理ブロックのことをいう。
ファイル共有プログラム50は、CIFS(Common Internet File System)やNFS(Network File System)といった通信プロトコルを使用してクライアント3に対してファイル共有サービスを提供するプログラムである。
また仮想NAS管理プログラム51は、物理ノード(NASサーバ)上で複数の仮想的なNAS(以下、これを仮想NASと呼ぶ)を実行するための管理プログラムであり、図7に示すように、仮想NAS53の起動、停止及び移動を行う。仮想NAS53の移動は、移動元のNASサーバ11において仮想NAS53を停止後、ユーザボリューム41(図2)に格納されているデータを移動先のNASサーバ11に移動させ、さらにOSボリューム40(図2)やユーザデータが格納されているユーザボリューム41の接続を移動先のNASサーバ11に切り替えた後、OSボリューム40を再起動することにより行われる。
なおNASサーバ11は、ファイル共有プログラム50、仮想NAS管理プログラム51及びファイルシステムプログラム52に加えて図示しないカーネルをも備える。カーネルは、NASサーバ11上で動作する複数のプログラム(プロセス)のスケジュール制御やハードウェアからの割り込みをハンドリングするなど、全般的な制御を実施する。
GNSサーバ10には、GNS管理プログラム65が実装されている。GNS管理プログラム65は、クライアント3に対して複数のNASサーバ11に分散格納されているファイルデータを単一のディレクトリイメージで一元化したビューを提供するためのプログラムである。例えばクライアント3に対して図8に示すようなディレクトリイメージを提供する。
この際、GNS管理プログラム65は、図9に示すようなファイル管理テーブル64を作成する。このファイル管理テーブル64は、ディレクトリパス名欄64A、ホスト名欄64B、ファイルシステム名欄64C及びiノード番号欄64Dから構成される。このうちディレクトリパス名欄64Aには、そのGNS管理プログラム65がクライアント3に提供するGNSに属する各ファイルへのディレクトリパス名が格納され、ホスト名欄64Bにはそのファイルを管理するNASサーバ11のNAS名が格納される。またファイルシステム名欄64Cには、そのファイルを提供するファイルシステムのファイルシステム名が格納され、iノード欄64Dには、そのファイルのiノードのiノード番号が格納される。
そしてGNS管理プログラム65は、例えば図9の例において、クライアント3からディレクトリパス名が「/Holder-2/a.txt」のファイルへのリード要求を受け取った場合(図10、SP1)、図10に示すように、このリード要求を、かかるファイル管理テーブル64を使用して、「NAS-3」がもつファイルシステム「FS31」上にあるiノード番号が「1000(a.txt)」のファイルのリード要求に変換し、このリード要求を「NAS-3」に送信する(SP2)。そして「NAS-3」は、このリード要求に応じて「a.txt」をユーザボリューム41から読み出す(SP3,SP4)。そしてこの「a.txt」は、この後、「NAS-3」からGNSサーバ10を介してクライアント3へと転送される(SP5,SP6)。
なおGNSサーバ10には、GNS管理プログラム65の他にファイルシステムプログラム66及びカーネル(図示せず)も実装されているが、これらファイルシステムプログラム66及びカーネルは、NASサーバ11のものと同様の機能を有するものであるため、ここでの説明は省略する。
一方、管理サーバ12には、図2に示すように、仮想NAS貢献度計算処理プログラム70及び仮想NAS移動制御プログラム71が実装されている。仮想NAS貢献度計算処理プログラム70は後述する仮想NAS貢献度を計算するためのプログラムであり、仮想NAS移動制御プログラム71は、かかる仮想NAS貢献度に基づいて選択及び決定された移動対象の仮想NASを他のNASサーバ11に移動させるためのプログラムである。これら仮想NAS貢献度計算処理プログラム70及び仮想NAS移動制御プログラム71の詳細については後述する。なお図2では図示していないが、管理サーバ12にもカーネル及びファイルシステムプログラムが実装される。
さらにクライアント3には、各種のアプリケーションソフトウェアが実装されており、このアプリケーションソフトウェアが使用するデータがデータセンタのRAIDサブシステム14に読み書きされる。そのための手段として、クライアント3にもファイルシステムプログラム及びカーネルが実装される。
(2)本実施の形態による仮想NAS管理機能
(2−1)概要及び各種管理テーブルの構成
次に、かかる管理サーバ12に搭載された仮想NAS管理機能について説明する。本実施の形態による管理サーバ12には、計算機システム1内に定義された仮想NASごとにその仮想NASがユーザに役立っている度合いを貢献度として計算し、貢献度の高い仮想NASが1つのNASサーバ11上に複数存在するときには、NASサーバ11上で稼働する各仮想NASの貢献度の合計値をNASサーバ11間で平均化するように、そのうちのいずれかの仮想NASを他のNASサーバ11に移動させる仮想NAS管理機能が搭載されている。
(2−1)概要及び各種管理テーブルの構成
次に、かかる管理サーバ12に搭載された仮想NAS管理機能について説明する。本実施の形態による管理サーバ12には、計算機システム1内に定義された仮想NASごとにその仮想NASがユーザに役立っている度合いを貢献度として計算し、貢献度の高い仮想NASが1つのNASサーバ11上に複数存在するときには、NASサーバ11上で稼働する各仮想NASの貢献度の合計値をNASサーバ11間で平均化するように、そのうちのいずれかの仮想NASを他のNASサーバ11に移動させる仮想NAS管理機能が搭載されている。
このような仮想NAS管理機能に基づく仮想NASの管理処理(以下、これを仮想NAS管理処理と呼ぶ)を実行するための手段として、管理サーバ12のメモリ25(図1)には、図11〜図13に示すGNS別NAS一覧テーブル80、NAS別仮想NAS一覧テーブル81及びGNS重複度管理テーブル82が格納されている。
GNS別NAS一覧テーブル80は、GNSを構成するNASサーバ11を管理するためのテーブルであり、図11に示すように、GNS名欄80A及びNAS名欄80Bから構成される。そしてNAS名欄80Bには、計算機システム1内に定義された各仮想NASのNAS名が格納され、GNS名欄80Aには、その仮想NASが属するGNSの識別子(以下、これをGNS名と呼ぶ)が格納される。
さらにNAS別仮想NAS一覧テーブル81は、NASサーバ11上で稼働する仮想NASを管理するためのテーブルであり、図12に示すように、NAS名欄81A及び仮想NAS名欄81Bから構成される。そして仮想NAS名欄81Bには、計算機システム1内に作成された各仮想NASのNAS名がそれぞれ格納され、NAS名欄81Aには、その仮想NASが作成されたNASサーバ11のNAS名が格納される。
さらにGNS重複度管理テーブル82は、NASサーバ11におけるGNSの重複度を管理するためのテーブルであり、図13に示すように、NAS名欄82A、重複度欄82B及びGNS名欄82Cから構成される。そしてNAS名欄82Aには、対応するNASサーバ11のNAS名が格納され、重複度欄82Bには、そのNASサーバ11が関わっているGNSの数(以下、これを重複度と呼ぶ)が格納される。またGNS名欄82Cには、対応するNASサーバ11が関わっているすべてのGNSについて、そのGNS名が格納される。
(2−2)仮想NAS管理処理の流れ
図14は、複数のNASサーバ11に跨って複数のGNS90を構成したときの一例を示す。この例では、「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サーバであり、「NAS-11」〜「NAS-73」はそれぞれ仮想NASである。
図14は、複数のNASサーバ11に跨って複数のGNS90を構成したときの一例を示す。この例では、「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サーバであり、「NAS-11」〜「NAS-73」はそれぞれ仮想NASである。
そして「NAS-11」、「NAS-21」、「NAS-41」及び「NAS-71」という仮想NAS53は、「GNSサーバA」というGNSサーバ10により同一GNS上に存在した状態で「A社」の各クライアント3に提供され、「NAS-22」、「NAS-31」及び「NAS-72」という仮想NAS53は、「GNSサーバB」というGNSサーバ10により同一GNS上に存在した状態で「B社」の各クライアント3に提供され、「NAS-42」、「NAS-51」及び「NAS-73」という仮想NAS53は、「GNSサーバC」というGNSサーバ10により同一GNS上に存在状態で「C社」の各クライアント3に提供されている。
以上の事例において、本実施の形態による仮想NAS管理処理の流れについて説明する。
管理サーバ12は、図15に示すように、まず、各GNSサーバ10に対して、そのGNSサーバ10が管理するGNS90に属するすべての仮想NAS53のNAS名を通知するように指示を与える。そしてかかる指示を受けたGNSサーバ10は、それぞれファイル管理テーブル64(図9)を参照して、自己が管理するGNS90に属するすべての仮想NAS53のNAS名を管理サーバ12に通知する(SP10)。
管理サーバ12は、GNSサーバ10からのかかる通知を受信すると、そのNAS名をGNS別NAS一覧テーブル80に格納する。また管理サーバ12は、各NASサーバ11に順番にそれぞれアクセスして、そのNASサーバ11上で稼働している仮想NAS53のNAS名を取得し(SP11)、取得したNAS名をNAS別仮想NAS一覧テーブル81に格納する。
そして管理サーバ12は、上述のようにして作成したGNS別NAS一覧テーブル80及びNAS別仮想NAS一覧テーブル81を照合して、各NASサーバ11におけるGNS90の重複度(以下、これをGNS重複度と呼ぶ)をそれぞれ求め、求めたNASサーバ11ごとのGNS重複度及びGNS名をGNS重複度管理テーブル82に登録する(SP13)。
続いて管理サーバは12、以上のようにして作成したGNS重複度管理テーブル82を参照して、GNS重複度が予め定められた閾値以上のNASサーバ11上で稼働する各仮想NAS53のユーザの貢献度(以下、適宜、これを仮想NAS貢献度と呼ぶ)をそれぞれ計算する。
なお、以下においては、かかる閾値を「2」とする。従って、図15に示す例の場合、GNS重複度が「2」以上のNASサーバ11は「NAS-B」、「NAS-D」及び「NAS-G」であるため、ここでの処理としては、これら「NAS-B」、「NAS-D」又は「NAS-G」上で稼働する仮想NAS53(「NAS-21」、「NAS-22」、「NAS-41」、「NAS-42」、「NAS-71」、「NAS-72」及び「NAS-73」)の仮想NAS貢献度を計算することになる。
ここで仮想NAS貢献度とは、その仮想NAS53がどれだけユーザの役に立っているかを定量的に表した尺度であり、この値が大きいほどその仮想NAS53のユーザに対する貢献度が高いことを意味する。かかる仮想NAS貢献度は、いくつかの評価項目から算出する評価関数を用いることで計算する。
このような評価関数として、次式
のように各種の評価項目のスコアを単に掛け合わせるものや、次式
のように各種の評価項目のスコアを重み付けして加算するものが考えられる。なお(2)式においてW1,W2,……は重付け値を表し、0以上の実数が選定される。
のように各種の評価項目のスコアを単に掛け合わせるものや、次式
のように各種の評価項目のスコアを重み付けして加算するものが考えられる。なお(2)式においてW1,W2,……は重付け値を表し、0以上の実数が選定される。
そして、評価関数として上述の(1)式を用いた場合、評価項目の大小が仮想NAS貢献度に大きく反映され、仮想NAS貢献度の差が強調されるため、移動対象の仮想NAS53の選択が容易となる。また評価関数として上述の(2)式を用いた場合、各評価項目の効き具合を調整することができるため、評価特性を制御することができる。
なお、評価項目が複数ある場合、各評価項目の単位が異なるため、単純に各評価項目のスコアを加算したり、乗算することはできない。従って、このような場合には、比や倍率(評価項目のスコア/平均値)のように単位を消去した値を評価項目にする必要がある。
また上述のように仮想NASがユーザにとってどれだけ重宝され、ユーザへの貢献度がどのくらい高いかを定量的に評価するために使用する評価項目としては、以下のものが考えられる。
(a)仮想NASで管理されるファイルへのリンク数
他の仮想NASで管理されるファイルからのリンク数も含め、自身以外のファイルからの引用回数が多いものほど、貢献度が高いと考える。
(b)仮想NASにアクセスするユーザ数
仮想NASにアクセスする頻度が一定以上でなおかつユーザアカウントが登録されてから一定期間以上経過しているユーザ数。常連のユーザの数が多いほど仮想NASのユーザへの貢献が高いと考えられる。
(c)仮想NASが提供する共有ディレクトリ数
共有ディレクトリ数に基づいて、ファイル共有サービスに関するユーザへの貢献度を評価する。
(d)クライアントに複数されたファイル数
仮想NASがクライアントにアクセス可能な場合、仮想NASからクライアント上に複製されたファイルの有無を調査し、かかる複製されたファイルの個数に基づいて仮想NASの貢献度を評価する。
(a)仮想NASで管理されるファイルへのリンク数
他の仮想NASで管理されるファイルからのリンク数も含め、自身以外のファイルからの引用回数が多いものほど、貢献度が高いと考える。
(b)仮想NASにアクセスするユーザ数
仮想NASにアクセスする頻度が一定以上でなおかつユーザアカウントが登録されてから一定期間以上経過しているユーザ数。常連のユーザの数が多いほど仮想NASのユーザへの貢献が高いと考えられる。
(c)仮想NASが提供する共有ディレクトリ数
共有ディレクトリ数に基づいて、ファイル共有サービスに関するユーザへの貢献度を評価する。
(d)クライアントに複数されたファイル数
仮想NASがクライアントにアクセス可能な場合、仮想NASからクライアント上に複製されたファイルの有無を調査し、かかる複製されたファイルの個数に基づいて仮想NASの貢献度を評価する。
次いで管理サーバ12は、上述のようにして算出した対応する各仮想NAS53の仮想NAS貢献度に基づいて、NASサーバ11単位での統計値(平均値及び分散値)を求め、これらの統計値に基づいて移動対象とすべき仮想NAS53を選択し決定する。
例えば、図15の例の場合、GNS重複度が「2」以上のNASサーバは、上述のように「NAS-B」、「NAS-D」及び「NAS-G」の3つであり、これら3つの仮想サーバ53上でそれぞれ稼働する仮想NAS(「NAS-21」、「NAS-22」、「NAS-41」、「NAS-42」、「NAS-71」、「NAS-72」及び「NAS-73」)の仮想NAS貢献度がそれぞれ図16に示す値であったとする。この場合、各NASサーバ11における仮想NAS貢献度の平均と分散は、図17に示すようになる。
またデータセンタ内の全仮想NASを母集団として考え、これら全仮想NAS53の仮想NAS貢献度がそれぞれ図17に示すような値であったとすると、データセンタ5内全体での仮想NAS貢献度の平均値AVEは、次式
のように算出することができる。
のように算出することができる。
そして管理サーバ12は、このようにして求めたGNS重複度が「2」以上の各NASサーバ12における仮想NAS貢献度の平均値及び分散値と、データセンタ5内全体での仮想NAS貢献度の平均値AVEとに基づいて、移動対象の仮想NAS53を選択し決定する。
例えば、NASサーバ11における仮想NAS貢献度の平均値が全体の平均値よりも高く、かつそのNASサーバ11における分散値が全体の分散値よりも小さい場合、そのNASサーバ11には仮想NAS貢献度の高い仮想NAS53が集中していると考えることができる。図17の例の場合、「NAS-G」というNASサーバ11がこのようなNASサーバ11に該当する。そこで管理サーバ12は、この「NAS-G」というNASサーバ11内の最も貢献度が高い仮想NAS(「NAS-71」)53を移動対象の仮想NAS53として決定する。
次に管理サーバ12は、以上のようにして決定した移動対象の仮想NAS53について、移動先のNASサーバ11を選択し決定する。具体的には、以下の(a)〜(c)のいずれかの条件を満たすNASサーバ11を移動先として決定する。
(a)GNS重複度が「0」の仮想NAS
(b)GNS重複度が「1」の場合、仮想NAS貢献度が最も低いNAS
(c)GNS重複度が「2」以上の場合、仮想NAS貢献度の統計値(平均値及び分散値)が一定値以下のNASサーバ
(a)GNS重複度が「0」の仮想NAS
(b)GNS重複度が「1」の場合、仮想NAS貢献度が最も低いNAS
(c)GNS重複度が「2」以上の場合、仮想NAS貢献度の統計値(平均値及び分散値)が一定値以下のNASサーバ
例えば図18の例の場合、上述の(a)の条件に従うものとすると、GNS重複度が「0」である「NAS-F」が移動先の候補となり、(b)の条件に従うものとすると、GNS重複度が「1」である「NAS-A」、「NAS-C」及び「NAS-E」のうちの仮想NAS貢献度が最も低い「NAS-E」が移動先の候補となる。また(c)の条件に従うものとすると、かかる一定値を「10」とした場合、「NAS-B」が移動先の候補となる。
ただし、例えば移動先の候補の選定方法として「(a)の条件に従う」と規定しておいてもそのようなNASサーバ11が存在しない場合もあり得る。そこで、かかる移動先の候補の選定方法として、かかる(a)〜(c)の条件に優先順位を設け、優先順位の最も高い条件を満たすNASサーバ11が存在しないときには次に優先順位が高い条件を満たすNASサーバ11を移動先の候補とし、そのような条件を満たすNASサーバ11が存在しないときには、その次に優先順位の高い条件を満たすNASサーバ11を移動先の候補とする。本実施の形態の場合、かかる優先順位が高い条件は、順番に(a)、(b)及び(c)である。
またNASサーバ11の構成情報に基づいて、仮想NAS53の移動先の候補を選択し決定する方法も考えられる。例えば、NASサーバ11の構成として、シングルノード及びクラスタノードの2種類があり、NASサーバ11及びRAIDディスクサブシステム14間の接続形態として、冗長パスの有無がある。従って、管理サーバ12が例えば図19に示すような構成情報管理テーブル91を保持していれば、移動先の候補を決定する際に、移動対象の仮想NAS53の仮想NAS貢献度の大きさに応じて、より信頼性の高いNASサーバ11に移動させるか、又はより信頼性の低いNASサーバ11に移動させるかを判断することが可能になる。
なお、この構成情報管理テーブル91は、NASサーバ11ごとの信頼性に関する構成状態を管理するためのテーブルであり、順位欄91A、NAS名欄91B、NAS構成欄91C、パス構成欄91D及びスイッチ構成欄91Eから構成される。そしてNAS名欄91Bには、対応するNASサーバ11のNAS名が格納され、NAS構成欄91Cには、そのNASサーバ11がシングルノード及びクラスタノードのいずれの構成をとっているかを表す情報が格納される。またパス構成欄91Dには、そのNASサーバ11及びRAIDサブシステム14間のパス構成がマルチパス及びシングルパスのいずれであるかを表す情報が格納され、スイッチ構成欄91Eには、そのNASサーバ11及びRAIDサブシステム14間を接続するFCネットワーク13(図1)を構成するFCスイッチがクラスタ構成及びシングル構成のいずれであるかを表す情報が格納される。さらに順位欄91Aには、計算機システム1内に存在するすべてのNASサーバ11のうちの信頼性に関する順位が格納される。この順位は、冗長構成の高いNASサーバ11ほど高い順位となる。なお、この構成情報管理テーブル91において保持される各種情報は、予め管理者により格納される。
次に、管理サーバ12は、上述のようにして移動対象として決定した仮想NAS53を、上述のようにして移動先として決定したNASサーバ11に移動させる(図15のステップSP14)。この際、管理サーバ12は、仮想NAS貢献度が高い仮想NASが複数存在する場合には、当該仮想NAS53をGNS重複度が低い別のNASサーバ11への再配置し、各NASサーバ11における仮想NAS貢献度の合計値を下げるように制御する。
(2−3)仮想NAS管理処理に関する管理サーバの具体的な処理
次に、以上のような本実施の形態による仮想NAS管理処理に関する管理サーバ12の具体的な処理内容について説明する。なお、以下においては各種処理の処理主体を管理サーバ12に実装された「プログラム」として説明するが、実際上は、そのプログラムに基づいて管理サーバ12のCPU24(図1)又は対応するNASサーバ11のCPU22(図1)がその処理を実行することは言うまでもない。
次に、以上のような本実施の形態による仮想NAS管理処理に関する管理サーバ12の具体的な処理内容について説明する。なお、以下においては各種処理の処理主体を管理サーバ12に実装された「プログラム」として説明するが、実際上は、そのプログラムに基づいて管理サーバ12のCPU24(図1)又は対応するNASサーバ11のCPU22(図1)がその処理を実行することは言うまでもない。
(2−3−1)仮想NAS貢献度計算処理
図20は、仮想NAS53ごとの仮想NAS貢献度の計算に関して管理サーバ12の仮想NAS貢献度計算処理プログラム70(図2)により実行される仮想NAS貢献度計算処理の処理手順を示す。仮想NAS貢献度計算処理プログラム70は、定期的にこの仮想NAS貢献度計算処理を実行することにより、仮想NAS53ごとの仮想NAS貢献度を算出する。
図20は、仮想NAS53ごとの仮想NAS貢献度の計算に関して管理サーバ12の仮想NAS貢献度計算処理プログラム70(図2)により実行される仮想NAS貢献度計算処理の処理手順を示す。仮想NAS貢献度計算処理プログラム70は、定期的にこの仮想NAS貢献度計算処理を実行することにより、仮想NAS53ごとの仮想NAS貢献度を算出する。
すなわち仮想NAS貢献度計算処理プログラム70は、この仮想NAS貢献度計算処理を開始すると、まず、データセンタ5内の各GNSサーバ10にそれぞれアクセスして、そのGNSサーバ10が提供するGNS90(図15)に属するすべての仮想NAS53のNAS名を取得し、取得した各NAS名を、それぞれその仮想NAS53が属するGNS90と対応付けてGNS別NAS一覧テーブル80(図11)に登録する(SP20)。
続いて仮想NAS貢献度計算処理プログラム70は、データセンタ5内の各NASサーバ11にそれぞれアクセスして、NASサーバ11ごとに、そのNASサーバ11上で稼働するすべての仮想NAS53のNAS名を取得し、取得した各仮想NAS53のNAS名を、それぞれその仮想NAS53が稼働するNASサーバ11と対応付けてNAS別仮想NAS一覧テーブル81(図12)に登録する(SP21)。
次いで仮想NAS貢献度計算処理プログラム70は、GNS別NAS一覧テーブル80及びNAS別仮想NAS一覧テーブル81を照合して、NASサーバ11ごとのGNS90のGNS重複度を求める。また仮想NAS貢献度計算処理プログラム70は、求めたNASサーバ10ごとのGNS重複度と、当該NASサーバ11が属する具体的なGNS名とを関連付けてGNS重複度管理テーブル82(図13)に格納する(SP22)。
この後、仮想NAS貢献度計算処理プログラム70は、GNS重複度管理テーブル82を参照して、GNS重複度が「2」以上のNASサーバ11をすべて抽出する(SP23)。また仮想NAS貢献度計算処理プログラム70は、抽出した各NASサーバ11について、そのNASサーバ上で稼働するすべての仮想NAS53の仮想NAS貢献度をそれぞれ計算し、計算結果に基づいて移動対象の仮想NAS53を選択及び決定する(SP24)。
続いて仮想NAS貢献度計算処理プログラム70は、GNS重複度管理テーブル82から重複度が「1」以下のNASサーバ11を抽出する(SP25)。また仮想NAS貢献度計算処理プログラム70は、このとき抽出したNASサーバ11上で稼働する仮想NASの仮想NAS貢献度を計算し、計算結果に基づいてステップSP24において決定した移動対象の仮想NAS53の移動先の候補を選択及び決定する(SP26)。
次いで仮想NAS貢献度計算処理プログラム70は、仮想NAS移動制御プログラム71(図2)を起動すると共に、ステップSP24において決定した移動対象の仮想NAS53のNAS名と、ステップSP26において決定したその移動先のNASサーバ11のサーバ名とを仮想NAS移動制御プログラム71に引き渡し(SP27)、この後、この仮想NAS貢献度計算処理を終了する。
(2−3−2)仮想NAS移動制御処理
一方、図21は、上述した仮想NAS貢献度計算処理(図20)のステップSP27において起動された仮想NAS移動制御プログラム71により実行される仮想NAS移動制御処理の処理手順を示す。
一方、図21は、上述した仮想NAS貢献度計算処理(図20)のステップSP27において起動された仮想NAS移動制御プログラム71により実行される仮想NAS移動制御処理の処理手順を示す。
仮想NAS移動制御プログラム71は、仮想NAS貢献度計算処理プログラム70により起動されると、この図21に示す仮想NAS移動制御処理を開始し、まず、移動対象の仮想NAS53と、移動先のNASサーバ11との照合を行い、当該仮想NAS53の移動先を決める(SP30)。また仮想NAS移動制御プログラム71は、移動対象の仮想NAS53を1つ選択し(SP31)、この後、すべての仮想NAS53に対してステップSP33の処理を実行したか否かを判断する(SP32)。
仮想NAS移動制御プログラム71は、この判断において否定結果を得ると、移動対象の仮想NAS53が稼働するNASサーバ11の仮想NAS管理プログラム51に対してその移動対象の仮想NAS53の稼働を停止させるよう停止要求を送信し(SP33)、この後、ステップSP31に戻る。
そして仮想NAS移動制御プログラム71は、この後、ステップSP31において順次異なる仮想NAS53を選択しながら、ステップSP31〜ステップSP33の処理を繰り返す。これにより仮想NAS移動制御プログラム71は、仮想NAS貢献度計算処理のステップSP27において仮想NAS貢献度計算処理プログラム70からNAS名等が引き渡された各移動対象の仮想NAS53の稼働を順次停止させる。
そして仮想NAS移動制御プログラム71は、やがてすべての移動対象の仮想NAS53についての稼働を停止させ終えることによりステップSP32において肯定結果を得ると、移動対象の仮想NAS53及び移動先のNASサーバ11上に存在する仮想NAS53の中でマージ可能な複数の仮想NAS53が存在する場合には、これらの仮想NAS53をマージする(SP34)。
次いで仮想NAS移動制御プログラム71は、仮想NAS貢献度計算処理(図20)のステップSP26において決定した移動先候補の仮想NAS53のうちの1つの仮想NAS53を選択し(SP35)、この後、仮想NAS貢献度計算処理のステップSP26において決定したすべての移動先候補の仮想NAS53についてステップSP37の処理を実行したか否かを判断する(SP36)。
仮想NAS移動制御プログラム71は、この判断において否定結果を得ると、移動先のNASサーバ11の仮想NAS管理プログラム51(図2)に対して当該NASサーバ11に移動させた仮想NAS53を起動するよう起動要求を送信し(SP37)、この後、ステップSP35に戻る。
そして仮想NAS移動制御プログラム71は、この後、ステップSP35において順次異なる仮想NAS53を選択しながら、ステップSP35〜ステップSP37の処理を繰り返す。これにより仮想NAS移動制御プログラム71は、各移動対象の仮想NAS53を移動先のNASサーバ11において順次起動させる。
そして仮想NAS移動制御プログラム71は、やがてすべての移動対象の仮想NAS53を移動先のNASサーバ11上で起動させ終えることによりステップSP36において肯定結果を得ると、この仮想NAS移動制御処理を終了する。
ここで、かかる仮想NAS移動制御処理のステップSP34において実行されるマージ処理の具体的な処理内容について説明する。
図22(A)〜(C)に示すように、例えば「NAS-B」というNASサーバ11上で稼働していた「NAS-21」という仮想NAS53を、「NAS-A」というNASサーバ11に移動する際、それまで「NAS-21」と同一のGNS90内に存在していた「NAS-11」という仮想NAS53とマージすることができ、このようにすることによって仮想NAS53(ひいてはNASサーバ11)の利用効率を向上させることができる。
図23は、かかる仮想NAS移動制御処理(図21)のステップSP34において実行されるマージ処理の具体的な処理内容を示す。
仮想NAS移動制御プログラム71は、仮想NAS移動制御処理のステップSP34に進むと、このマージ処理を開始し、まず、ステップSP31〜ステップSP33のループ処理により稼働を停止したすべての移動対象の仮想NAS53のリソース(IPアドレス、CPUの動作周波数及びメモリ容量など)に関する各種情報を取得する(SP40)。この情報は、仮想NAS貢献度計算処理(図20)のステップSP27において仮想NAS貢献度計算処理プログラム70から与えられたものである。
続いて仮想NAS移動制御プログラム71は、NAS別仮想NAS一覧テーブル81(図12)上において、移動先のNASサーバ11上で稼働中の仮想NAS53を検索し(SP41)、この検索結果に基づいて、稼働中の仮想NAS41が存在するか否かを判断する(SP42)。
仮想NAS移動制御プログラム71は、この判断において否定結果を得ると、このマージ処理を終了して仮想NAS移動制御処理(図21)に戻り、これに対して肯定結果を得ると、GNS別NAS一覧テーブル80(図11)を参照して、移動対象の仮想NAS53と、ステップSP41の検索において検出した仮想NAS53とが同じGNS90に属するか否かを判断する(SP43)。
仮想NAS移動制御プログラム71は、この判断において否定結果を得ると、このマージ処理を終了して仮想NAS移動制御処理(図21)に戻り、これに対して肯定結果を得ると、移動対象の仮想NAS53と、ステップSP41において検出した仮想NAS43とをマージする(SP44)。このマージは、マージする2つの仮想NAS53のリソースを統合(仮想NAS53のリソースを管理する図示しない管理テーブル上でリソースを統合)することにより行われる。そして仮想NAS移動制御プログラム71は、この後、このマージ処理を終了して仮想NAS移動制御処理に戻る。
(2−3−3)仮想NAS移動制御処理
他方、図24は、仮想NAS53の起動及び動作停止に関連してNASサーバ11の仮想NAS管理プログラム51(図2)により実行される仮想NAS管理処理の処理手順を示す。
他方、図24は、仮想NAS53の起動及び動作停止に関連してNASサーバ11の仮想NAS管理プログラム51(図2)により実行される仮想NAS管理処理の処理手順を示す。
仮想NAS管理プログラム51は、仮想NAS53の起動後、この仮想NAS管理処理を開始し、まず、管理サーバ12からの要求の有無をチェックし(SP50)、管理サーバ12から何らかの要求を受け付けたか否かを判断する(SP51)。そして仮想NAS管理プログラム51は、この判断において否定結果を得るとステップSP50に戻る。
これに対して仮想NAS管理プログラム51は、かかる判断において肯定結果を得ると、その要求が停止要求であるか否かを判断し(SP52)、否定結果を得ると、その要求が起動要求であるか否かを判断する(SP53)。そして仮想NAS管理プログラム51は、この判断において否定結果を得るとステップSP50に戻り、この後ステップSP52又はステップSP53において肯定結果を得るまで、同様の処理を繰り返す。
そして仮想NAS管理プログラム51は、やがて管理サーバ12からいずれかの仮想NAS53の停止要求が与えられることにより、ステップSP52において肯定結果を得ると、その停止要求において指定された仮想NAS53のシャットダウンを実行し(SP54)、その仮想NAS53が使用していたCPU、メモリ及び論理ボリューム等のリソースを解放する(SP55)。また仮想NAS管理プログラム51は、解放したリソースが他の仮想NAS53に割り当てられないようにするため、当該リソースを停止要求の要求元である管理サーバ12に返す(SP56)。なお、このリソースは、この後、ステップSP58において移動後に起動される仮想NAS53に割り当てることになる。そして仮想NAS管理プログラム51は、この後、ステップSP50に戻る。
これに対して仮想NAS管理プログラム51は、やがて管理サーバ12からいずれかの仮想NAS53の起動要求が与えられることによりステップSP53において肯定結果を得ると、その起動要求において指定された仮想NAS53のリソース情報(ステップSP56において管理サーバ12に返されたリソースのリソース情報)を当該起動要求から取得し(SP57)、その仮想NAS53に対してそのリソースを割り当てた後(SP58)、その仮想NAS53を起動する(SP59)。また仮想NAS管理プログラム51は、この後、ステップSP50に戻る。
(3)本実施の形態の効果
以上のように本実施の形態による計算機システム1では、仮想NAS53ごとの仮想NAS貢献度に基づいて、NASサーバ11上で稼働する各仮想NAS53の仮想NAS貢献度の合計値をNASサーバ11間で平均化させるように、移動対象の仮想NAS53及び移動先の仮想NAS53を選択し、移動対象として決定した仮想NAS53を移動先として決定したNASサーバ11に移動するため、それぞれ仮想NAS貢献度が高い、異なるGNS90に属する複数の仮想NAS53が1つのNASサーバ11上に集中するのを未然に防止することができる。かくするにつき、1つのNASサーバ11に障害が発生したときの影響を局所化し、NASサーバ11の障害に対する影響の拡大を未然に回避することができる。
以上のように本実施の形態による計算機システム1では、仮想NAS53ごとの仮想NAS貢献度に基づいて、NASサーバ11上で稼働する各仮想NAS53の仮想NAS貢献度の合計値をNASサーバ11間で平均化させるように、移動対象の仮想NAS53及び移動先の仮想NAS53を選択し、移動対象として決定した仮想NAS53を移動先として決定したNASサーバ11に移動するため、それぞれ仮想NAS貢献度が高い、異なるGNS90に属する複数の仮想NAS53が1つのNASサーバ11上に集中するのを未然に防止することができる。かくするにつき、1つのNASサーバ11に障害が発生したときの影響を局所化し、NASサーバ11の障害に対する影響の拡大を未然に回避することができる。
(4)他の実施の形態
なお上述の実施の形態においては、仮想NAS53を管理する管理装置としての管理サーバ12において、仮想NAS53ごとのユーザへの貢献度(仮想NAS貢献度)を計算する貢献度計算処理部を仮想NAS貢献度計算処理プログラム70及びCPU24により構成し、仮想NAS53ごとのユーザへの貢献度に基づいて、NASサーバ11上で稼働する各仮想NAS53の貢献度の合計値をNASサーバ11間で平均化させるように、移動対象の仮想NAS53及び移動先のNASサーバ11を選択し、移動対象として決定した仮想NASを移動先として決定したNASサーバ11に移動するための制御を実行する移動制御部を仮想NAS移動制御プログラム71及びCPU24により構成するようにした場合について述べたが、本発明はこれに限らず、これら貢献度計算処理部及び移動制御部をハードウェア構成としても良い。
なお上述の実施の形態においては、仮想NAS53を管理する管理装置としての管理サーバ12において、仮想NAS53ごとのユーザへの貢献度(仮想NAS貢献度)を計算する貢献度計算処理部を仮想NAS貢献度計算処理プログラム70及びCPU24により構成し、仮想NAS53ごとのユーザへの貢献度に基づいて、NASサーバ11上で稼働する各仮想NAS53の貢献度の合計値をNASサーバ11間で平均化させるように、移動対象の仮想NAS53及び移動先のNASサーバ11を選択し、移動対象として決定した仮想NASを移動先として決定したNASサーバ11に移動するための制御を実行する移動制御部を仮想NAS移動制御プログラム71及びCPU24により構成するようにした場合について述べたが、本発明はこれに限らず、これら貢献度計算処理部及び移動制御部をハードウェア構成としても良い。
また上述の実施の形態においては、計算機システム1内に3台のGNSサーバ10と、7台のNASサーバ11とが設けられている場合について述べたが、本発明はこれに限らず、これらGNSサーバ10及びNASサーバ11の台数が何台の場合でも本発明を適用することができる。
さらに上述の実施の形態においては、図20について上述した仮想NAS貢献度計算処理のステップSP23において、GNS重複度が「2」以上のNASサーバ11を抽出し、ステップSP25においてGNS重複度が「1」以下のNASサーバ11を抽出するようにした場合について述べたが、本発明はこれに限らず、このステップSP23やステップSP25において抽出するNASサーバ11のGNS重複度はGNSサーバ10の数に応じて決定すれば良く、「2」や「1」以外であっても良い。
本発明は、複数のNASサーバを備える計算機システムに広く適用することができる。
1……計算機システム、3……クライアント、5……データセンタ、10……GNSサーバ、11……NASサーバ、12……管理サーバ、14……RAIDサブシステム、20,22……CPU、21,23……メモリ、26……ディスク装置、28……RAIDグループ、50……ファイル共有プログラム、51……仮想NAS管理プログラム、52,66……ファイルシステムプログラム、53……仮想NAS、64……ファイル管理テーブル、65……GNS管理プログラム、70……仮想NAS貢献度計算処理プログラム、71……仮想NAS移動制御プログラム、80……GNS別NAS一覧テーブル、81……NAS別仮想NAS一覧テーブル、82……GNS重複度管理テーブル。
Claims (16)
- それぞれ異なる単一ネームスペースをクライアントに提供する1又は複数のサーバと、
いずれかの前記単一ネームスペースに属し、前記クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノードと、
前記仮想ノードを管理する管理装置と
を有し、
前記管理装置は、
前記仮想ノードごとのユーザへの貢献度を計算する貢献度計算処理部と、
前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する移動制御部とを備える
ことを特徴とする計算機システム。 - 前記貢献度計算処理部は、
予め定められた複数の評価項目ごとのスコアに基づいて前記貢献度を計算する
ことを特徴とする請求項1に記載の計算機システム。 - 前記評価項目は、
前記仮想ノードにおいて管理しているファイルへのリンク数、当該仮想ノードにアクセスするユーザ数、当該仮想ノードが提供する共有ディレクトリ数及びクライアントに複製されたファイル数の少なくとも1つを含む
ことを特徴とする請求項2に記載の計算機システム。 - 前記移動制御部は、
稼働する各前記仮想ノードの前記貢献度の合計値が、すべての前記物理ノードにおける当該合計値の平均値よりも大きく、かつ稼働する前記仮想ノードごとの前記貢献度の分散が最も小さい前記物理ノード上で稼働する前記仮想ノードの中から移動対象の前記仮想ノードを選択する
ことを特徴とする請求項1に記載の計算機システム。 - 前記移動制御部は、
各前記物理ノードにおける前記単一ネームスペースの重複度を求め、当該重複度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項1に記載の計算機システム。 - 前記移動制御部は、
前記重複度及び各前記仮想サーバの貢献度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項5に記載の計算機システム。 - 前記移動制御部は、
前記物理ノードの構成情報に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項1に記載の計算機システム。 - 前記移動制御部は、
移動対象の前記仮想ノードと同じ前記単一ネームスペースに属する前記仮想ノードが移動先の前記物理ノード上で稼働しているときには、当該移動対象の仮想ノードと、当該移動先の物理ノード上で稼働する前記仮想ノードとをマージする
ことを特徴とする請求項1に記載の計算機システム。 - クライアントに対してファイル共有サービスを提供する仮想ノードを複数実行可能な複数の物理ノード上でそれぞれ稼働する前記仮想ノードを管理する管理方法において、
各前記仮想ノードは、それぞれ1又は複数の単一ネームスペースのうちのいずれかの前記単一ネームスペースに属し、
前記仮想ノードごとのユーザへの貢献度を計算する第1のステップと、
前記仮想ノードごとのユーザへの貢献度に基づいて、前記物理ノード上で稼働する各前記仮想ノードの貢献度の合計値を前記物理ノード間で平均化させるように、移動対象の前記仮想ノード及び移動先の前記物理ノードを選択し、移動対象として選択した前記仮想ノードを移動先として選択した前記物理ノードに移動するための制御を実行する第2のステップとを備える
ことを特徴とする管理方法。 - 前記第1のステップでは、
予め定められた複数の評価項目ごとのスコアに基づいて前記貢献度を計算する
ことを特徴とする請求項9に記載の管理方法。 - 前記評価項目は、
前記仮想ノードにおいて管理しているファイルへのリンク数、当該仮想ノードにアクセスするユーザ数、当該仮想ノードが提供する共有ディレクトリ数及びクライアントに複製されたファイル数の少なくとも1つを含む
ことを特徴とする請求項10に記載の管理方法。 - 前記第2のステップでは、
稼働する各前記仮想ノードの前記貢献度の合計値が、すべての前記物理ノードにおける当該合計値の平均値よりも大きく、かつ稼働する前記仮想ノードごとの前記貢献度の分散が最も小さい前記物理ノード上で稼働する前記仮想ノードの中から移動対象の前記仮想ノードを選択する
ことを特徴とする請求項9に記載の管理方法。 - 前記第2のステップでは、
各前記物理ノードにおける前記単一ネームスペースの重複度を求め、当該重複度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項9に記載の管理方法。 - 前記第2のステップでは、
前記重複度及び各前記仮想サーバの貢献度に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項13に記載の管理方法。 - 前記第2のステップでは、
前記物理ノードの構成情報に基づいて、前記仮想ノードの移動先の前記物理ノードを選択する
ことを特徴とする請求項9に記載の管理方法。 - 前記第2のステップでは、
移動対象の前記仮想ノードと同じ前記単一ネームスペースに属する前記仮想ノードが移動先の前記物理ノード上で稼働しているときには、当該移動対象の仮想ノードと、当該移動先の物理ノード上で稼働する前記仮想ノードとをマージする
ことを特徴とする請求項9に記載の管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009119219A JP2010267156A (ja) | 2009-05-15 | 2009-05-15 | 計算機システム及び管理方法 |
US12/510,051 US8788667B2 (en) | 2009-05-15 | 2009-07-27 | Computer system and management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009119219A JP2010267156A (ja) | 2009-05-15 | 2009-05-15 | 計算機システム及び管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010267156A true JP2010267156A (ja) | 2010-11-25 |
Family
ID=43069404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009119219A Pending JP2010267156A (ja) | 2009-05-15 | 2009-05-15 | 計算機システム及び管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8788667B2 (ja) |
JP (1) | JP2010267156A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014142764A (ja) * | 2013-01-23 | 2014-08-07 | Nec Corp | コンピュータ、nasアクセス方法およびnasアクセスプログラム |
JP2014174870A (ja) * | 2013-03-12 | 2014-09-22 | Nec Corp | 仮想ファイルアクセスシステム、仮想ファイルアクセス方法、及び、仮想ファイルアクセスプログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013042269A1 (ja) * | 2011-09-22 | 2013-03-28 | 富士通株式会社 | 電源管理装置、電源管理方法および電源管理プログラム |
WO2013066397A1 (en) * | 2011-10-31 | 2013-05-10 | Hewlett-Packard Development Company, L.P. | File lock preservation |
US20240311248A1 (en) * | 2023-03-13 | 2024-09-19 | Dell Products L.P. | Delivering file system namespace features without on-disk layout changes |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7360034B1 (en) * | 2001-12-28 | 2008-04-15 | Network Appliance, Inc. | Architecture for creating and maintaining virtual filers on a filer |
JP4448719B2 (ja) * | 2004-03-19 | 2010-04-14 | 株式会社日立製作所 | ストレージシステム |
US7730486B2 (en) * | 2005-02-28 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | System and method for migrating virtual machines on cluster systems |
JP4919851B2 (ja) * | 2007-03-23 | 2012-04-18 | 株式会社日立製作所 | ファイルレベルの仮想化を行う中間装置 |
JP4912996B2 (ja) * | 2007-09-18 | 2012-04-11 | 株式会社日立製作所 | 情報処理装置及び計算機システム |
US8161260B2 (en) * | 2009-02-09 | 2012-04-17 | Oracle International Corporation | Optimal memory allocation for guested virtual machine(s) |
-
2009
- 2009-05-15 JP JP2009119219A patent/JP2010267156A/ja active Pending
- 2009-07-27 US US12/510,051 patent/US8788667B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014142764A (ja) * | 2013-01-23 | 2014-08-07 | Nec Corp | コンピュータ、nasアクセス方法およびnasアクセスプログラム |
JP2014174870A (ja) * | 2013-03-12 | 2014-09-22 | Nec Corp | 仮想ファイルアクセスシステム、仮想ファイルアクセス方法、及び、仮想ファイルアクセスプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100293279A1 (en) | 2010-11-18 |
US8788667B2 (en) | 2014-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10769036B2 (en) | Distributed transaction log | |
US9760574B1 (en) | Managing I/O requests in file systems | |
JP6050316B2 (ja) | データストレージシステムにおいて使用される方法及びネットワークストレージサーバ | |
JP5158074B2 (ja) | ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム | |
JP4920898B2 (ja) | 計算機システム、データ管理方法およびプログラム | |
US7870105B2 (en) | Methods and apparatus for deduplication in storage system | |
EP3039575B1 (en) | Scalable distributed storage architecture | |
US9116913B2 (en) | File storage system and file cloning method | |
US20180157674A1 (en) | Distributed nfs metadata server | |
US10521316B2 (en) | System and method for handling multi-node failures in a disaster recovery cluster | |
JP2007328396A (ja) | 記憶システム並びに管理装置及び方法 | |
CN103597440A (zh) | 用于创建克隆文件的方法以及采用该方法的文件系统 | |
JP2012505439A (ja) | ストレージ装置及びその制御方法 | |
US10895995B2 (en) | Capacity based load balancing in distributed storage systems with deduplication and compression functionalities | |
JP2004295465A (ja) | 計算機システム | |
US8224879B2 (en) | Management system and management method for storage system | |
JP2007219611A (ja) | バックアップ装置及びバックアップ方法 | |
US20220066786A1 (en) | Pre-scanned data for optimized boot | |
US9063892B1 (en) | Managing restore operations using data less writes | |
JP2008146212A (ja) | 共有ディレクトリの設定情報を変更する方法、及びファイルサーバ装置 | |
JP2010267156A (ja) | 計算機システム及び管理方法 | |
US20220283915A1 (en) | Network Storage Failover Systems and Associated Methods | |
US11216350B2 (en) | Network storage failover systems and associated methods | |
Dell | ||
US11520490B2 (en) | Hierarchical consistency group for storage and associated methods thereof |