以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の計算機システムの構成のブロック図である。
計算機システムは、親NAS、NAS、クライアント計算機4、管理計算機5及びLAN(Local Area Network)7を備える。
親NASは、親NASサーバ6及びディスクサブシステム3を備える。また、NASは、NASサーバ1、FC(Fibre Channel)スイッチ2及びディスクサブシステム3を備える。
LAN7は、親NASサーバ6、NASサーバ1、クライアント計算機4及び管理計算機5を相互に接続する。FCスイッチ2は、NASサーバ1とディスクサブシステム3とを接続する。
NASサーバ1は、FCスイッチ2を介して一つ以上のディスクサブシステム3に接続される。また、本説明図では、親NASサーバ6は、一つのディスクサブシステム3に接続されているが、複数のディスクサブシステム3に接続されていてもよい。
ディスクサブシステム3は、クライアント計算機4から書き込みを要求されたデータを記憶する。なお、ディスクサブシステム3については、図4で詳細を説明する。
計算機システムは、ディスクサブシステム3の代わりに、半導体記憶装置を備えてもよい。半導体記憶装置には、例えば、フラッシュメモリがメモリ素子として用いられる。
NASサーバ1は、ファイル共有サービスをクライアント計算機4に提供する。例えば、NASサーバ1は、ファイル入出力要求を受信する。すると、NASサーバ1は、受信したファイル入出力要求を、ブロック入出力要求に変換する。そして、NASサーバ1は、変換されたブロック入出力要求をディスクサブシステム3に送信する。なお、NASサーバ1については、図2で詳細を説明する。
親NASサーバ6は、NASサーバ1と同一の機能に加えて、GNS(Global Name Space)機能を備える。なお、親NASサーバ6については、図3で詳細を説明する。また、GNSについては、図6で詳細を説明する。
クライアント計算機4は、CPU、メモリ及びインタフェースを備える計算機である。また、クライアント計算機4には、親NASサーバ6及びNASサーバ1によってファイル共有サービスが提供される。そのため、クライアント計算機4は、ファイル入出力要求を親NASサーバ6に送信する。
管理計算機5は、CPU、メモリ及びインタフェースを備える計算機である。また、管理計算機5は、当該計算機システムの全体を管理する。
図2は、本発明の実施の形態の計算機システムに備わるNASサーバ1の構成のブロック図である。
NASサーバ1は、FCポート11、CPU12、メモリ13及びLANポート14を備える。
FCポート11は、FCスイッチ2を介して、ディスクサブシステム3に接続されるインタフェースである。LANポート14は、LAN7を介して、クライアント計算機4、管理計算機5、親NASサーバ6及び他のNASサーバ1に接続されるインタフェースである。
CPU12は、メモリ13に記憶されるプログラムを実行することによって、各種処理を行う。
メモリ13は、CPU12に実行されるプログラム及びCPU12に必要とされる情報等を記憶する。具体的には、メモリ13は、ファイル共有プログラム131、NAS用移行プログラム133及びOS(Operating System)139を記憶する。
ファイル共有プログラム131は、ファイル共有サービスをクライアント計算機4に提供する。なお、NASサーバ1とクライアント計算機4との間では、NFS(Network File System)プロトコル又はCIFS(Common Internet File System)プロトコル等のファイル共有プロトコルが使用される。なお、ファイル共有プログラム131は、NFSプロトコル及びCIFSプロトコルの双方に対応していてもよいし、NFSプロトコル又はCIFSプロトコルの一方にのみ対応していてもよい。
NAS用移行プログラム133は、NASサーバ1間でのファイルグループの移行に関する処理を行う。また、NAS用移行プログラム133は、利用状況取得サブプログラム1331及び移行サブプログラム1332を含む。
利用状況取得サブプログラム1331は、ファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138の利用状況を取得する。次に、利用状況取得サブプログラム1331は、取得した利用状況を含む利用状況通知ファイル13311を作成する。そして、利用状況取得サブプログラム1331は、作成した利用状況通知ファイル13311を、親NASサーバ6に送信する。なお、利用状況取得サブプログラム1331によって実行される利用状況取得処理については、図18で詳細を説明する。また、利用状況通知ファイル13311については、図13で詳細を説明する。
移行サブプログラム1332は、NASサーバ1間でファイルを移行する。なお、移行サブプログラム1332で実行される移行処理については、図21で詳細を説明する。
OS139は、NASサーバ1の処理の全体を制御する。また、OS139は、ファイルシステム134、LVM(Logical Volume Manager)135、デバイスドライバ136、スナップショットサブプログラム137及びバックアップサブプログラム138を含む。
ファイルシステム134は、ディスクサブシステム3に記憶されるデータをファイルとして、クライアント計算機4等に提供する。例えば、ファイルシステム134は、ファイル入出力要求を、ブロック入出力要求に変換する。なお、メモリ13は、複数のファイルシステム134を記憶していてもよい。この場合、NASサーバ1は、クライアント計算機4に複数のファイル共有サービスを提供できる。
LVM135は、ディスクサブシステム3から提供される複数のLU35を一つのLUとして、ファイルシステム134に提供する。
デバイスドライバ136は、ブロック入出力要求をディスクサブシステム3に送信する。これによって、デバイスドライバ136は、ディスクサブシステム3に対して、データを入出力する。
スナップショットサブプログラム137は、クライアント計算機4から当該NASサーバ1へのアクセスを継続させたままの状態で、特定の時刻における運用ボリュームの複製であるスナップショットを作成する。
なお、運用ボリュームは、ディスクサブシステム3によって提供される論理ボリューム(LU)35のうち、クライアント計算機4から書き込み要求されたデータを記憶するLU35である。また、本実施の形態におけるスナップショットは、クライアント計算機4から当該NASサーバ1へのアクセスを継続させたままの状態において作成された複製であれば、いかなるものであってもよい。例えば、スナップショットは、複製スナップショット又は差分スナップショットである。
また、スナップショットサブプログラム137は、スナップショットのマウント要求を受けると、当該スナップショットをマウントする。
なお、スナップショットサブプログラム137は、OS139に含まれていなくてもよい。
バックアップサブプログラム138は、クライアント計算機4から当該NASサーバ1へのアクセスを停止した状態で、ディスクサブシステム3に記憶されるデータをバックアップする。また、バックアップサブプログラム138は、リストア要求を受けると、バックアップデータを用いて、ディスクサブシステム3に記憶されるデータをリストアする。本実施の形態におけるバックアップ及びリストアは、いかなる方法で実行されてもよい。
なお、バックアップサブプログラム138は、OS139に含まれていなくてもよい。
NASサーバ1に備わるメモリ13は、更に、親NAS用移行プログラム632を記憶していてもよい。この場合、親NASサーバ6に障害が発生しても、当該NASサーバ1が親NASサーバ6として機能できる。なお、親NAS用移行プログラム632については、図3で詳細を説明する。
図3は、本発明の実施の形態の計算機システムに備わる親NASサーバ6の構成のブロック図である。
親NASサーバ6は、FCポート61、CPU62、メモリ63及びLANポート64を備える。
FCポート61は、FCスイッチ2を介して、ディスクサブシステム3に接続されるインタフェースである。LANポート64は、LAN7を介して、NASサーバ1、クライアント計算機4及び管理計算機5に接続されるインタフェースである。
CPU62は、メモリ63に記憶されるプログラムを実行することによって、各種処理を行う。
メモリ63は、CPU62に実行されるプログラム及びCPU62に必要とされる情報等を記憶する。具体的には、メモリ63は、ファイル共有プログラム131、親NAS用移行プログラム632、NAS用移行プログラム133及びOS(Operating System)139を記憶する。ファイル共有プログラム131、NAS用移行プログラム133及びOS139は、NASサーバ1(図2)に備わるメモリ13に記憶されるものと同一なので、説明を省略する。
親NAS用移行プログラム632は、NASサーバ1間でのファイルグループの移行に関する処理を行う。親NAS用移行プログラム632は、NAS監視サブプログラム6321、利用状況集計サブプログラム6322及び移行判定サブプログラム6323を含む。
NAS監視サブプログラム6321は、当該親NASサーバ6によって管理されるGNSに新たに追加されたNASサーバ1に、NAS用移行プログラム133をダウンロードさせる。なお、NAS監視サブプログラム6321によって実行されるNAS監視処理については、図17で詳細を説明する。
利用状況集計サブプログラム6322は、利用状況通知ファイル13311をNASサーバ1から受信する。そして、利用状況集計サブプログラム6322は、受信した利用状況通知ファイル13311に基づいて、ファイル共有プログラム利用状況テーブル92、スナップショットサブプログラム利用状況テーブル93、バックアップサブプログラム利用状況テーブル94及びインストール済みプログラム管理テーブル95を更新する。なお、利用状況集計サブプログラム6322によって実行される利用状況集計処理については、図19で詳細を説明する。
移行判定サブプログラム6323は、NASサーバ1間でのファイルグループの移行が必要であるか否かを判定する。ファイルグループの移行が必要な場合、移行判定サブプログラム6323は、ファイルグループの移行先となるNASサーバ1に、ファイルグループの移行要求を送信する。なお、移行判定サブプログラム6323によって実行される移行判定処理については、図20で詳細を説明する。
図4は、本発明の実施の形態の計算機システムに備わるディスクサブシステム3の構成のブロック図である。
ディスクサブシステム3は、ディスクコントローラ(DKC)30及び物理ディスクを備える。
物理ディスクは、クライアント計算機4から書き込みを要求されたデータを記憶する。ディスクコントローラ30は、物理ディスクの記憶領域を一つ以上の論理ボリューム(LU)35として、NASサーバ1又は親NASサーバ6に提供する。
ディスクコントローラ30は、FCポート31、CPU32及びメモリ33を備える。FCポート31は、FCを介して、NASサーバ1又は親NASサーバ6に接続されるインタフェースである。
CPU32は、メモリ33に記憶されるプログラムを実行することによって、各種処理を行う。
メモリ33は、CPU32に実行されるプログラム及びCPU32に必要とされる情報等を記憶する。例えば、メモリ33は、IOPを記憶する。IOPは、NASサーバ1又は親NASサーバ6から受信したブロック入出力要求に応じて、物理ディスクに対してデータを入出力する。
また、メモリ33の一部は、キャッシュメモリとして使用される。キャッシュメモリは、物理ディスクに書き込まれるデータ及び物理ディスクから読み出されるデータを一時的に記憶する。
なお、親NASサーバ6に接続されるディスクサブシステム3のLU35は、GNS定義テーブル91、ファイル共有プログラム利用状況テーブル92、スナップショットサブプログラム利用状況テーブル93、バックアップサブプログラム利用状況テーブル94、インストール済みプログラム管理テーブル95、移行先NASタイプ決定ルール96及びNASタイプ定義テーブル97を記憶する。
なお、GNS定義テーブル91、ファイル共有プログラム利用状況テーブル92、スナップショットサブプログラム利用状況テーブル93、バックアップサブプログラム利用状況テーブル94、インストール済みプログラム管理テーブル95、移行先NASタイプ決定ルール96及びNASタイプ定義テーブル97のうち少なくとも一つは、親NASサーバ6に接続されるディスクサブシステム3のLU35でなく、親NASサーバ6に備わるメモリ63に記憶されていてもよい。
GNS定義テーブル91は、ファイルシステム134を当該計算機システムにおいて一意に特定するために使用されるグローバルパスと、ファイルシステム134をNASサーバ1において一意に特定するために使用されるローカルパスとの対応を示す。なお、GNS定義テーブル91については、図5で詳細を説明する。
ファイル共有プログラム利用状況テーブル92は、NASサーバ1に備わるファイル共有プログラム131の利用状況を示す。なお、ファイル共有プログラム利用状況テーブル92については、図7で詳細を説明する。
スナップショットサブプログラム利用状況テーブル93は、NASサーバ1に備わるスナップショットサブプログラム137の利用状況を示す。なお、スナップショットサブプログラム利用状況テーブル93については、図8で詳細を説明する。
バックアップサブプログラム利用状況テーブル94は、NASサーバ1に備わるバックアップサブプログラム138の利用状況を示す。なお、バックアップサブプログラム利用状況テーブル94については、図9で詳細を説明する。
インストール済みプログラム管理テーブル95は、NASサーバ1にインストール済みのプログラム(サブプログラムを含む)の種類を示す。なお、インストール済みプログラム管理テーブル95については、図10で詳細を説明する。
移行先NASタイプ決定ルール96は、ファイルグループの移行先となるNASサーバ1を決定するためのルールを示す。なお、移行先NASタイプ決定ルール96については、図11で詳細を説明する。
NASタイプ定義テーブル97は、NASタイプと当該NASタイプに分類されるNASサーバ1のスペックとの対応を示す。NASサーバ1は、当該NASサーバ1のスペックに応じて、NASタイプのいずれかに分類される。なお、NASタイプ定義テーブル97については、図12で詳細を説明する。
図5は、本発明の実施の形態のGNS定義テーブル91の構成図である。
GNS定義テーブル91は、グローバルパス911、NAS名912及びローカルパス913を含む。
グローバルパス911は、NASサーバ1に備わるファイルシステム134を当該計算機システムにおいて一意に特定するために使用されるパスである。
NAS名912は、当該レコードのグローバルパス911によって特定されるファイルシステム134を備えるNASサーバ1の一意な識別子である。
ローカルパス913は、当該レコードのグローバルパス911によって特定されるファイルシステム134を、当該レコードのNAS名912によって識別されるNASサーバ1において一意に特定するために使用されるパスである。
図6は、本発明の実施の形態の計算機システムにおけるGNSの説明図である。
親NASサーバ6は、複数のNASサーバ1に備わる複数のファイルシステム134を、一つのツリービューとして、クライアント計算機4に提供する。
例えば、親NASサーバ6に接続されるディスクサブシステム3のLU35に、図5に示すGNS定義テーブル91が格納されている場合を説明する。
この場合、「NAS−01」によって識別されるNASサーバ1は、「FS1」によって識別されるファイルシステム134を備える。また、「NAS−02」によって識別されるNASサーバ1は、「FS2」によって識別されるファイルシステム134を備える。また、「NAS−03」によって識別されるNASサーバ1は、「FS3」によって識別されるファイルシステム134を備える。「NAS−04」によって識別されるNASサーバ1は、「FS4」によって識別されるファイルシステム134を備える。更に、ファイルシステム134は、NASサーバ1のローカルディレクトリである「/mnt」下にマウントされている。
クライアント計算機4は、親NASサーバ6にアクセスすることによって、図6の吹き出し内に示すようなツリービューを参照できる。
ここで、クライアント計算機4が、「/GNS-Root/Dir-01/FS2/a.txt」をアクセスしようとする。この場合、クライアント計算機4は、「/GNS-Root/Dir-01/FS2/a.txt」をアクセス先として含むアクセス要求を、親NASサーバ6に送信する。なお、アクセス要求は、書込要求又は読出要求などである。
親NASサーバ6は、アクセス要求を受信する。すると、親NASサーバ6は、受信したアクセス要求に含まれるグローバルパスの「/GNS-Root/Dir-01/FS2」とGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ6は、選択したレコードから、NAS名912及びローカルパス913を抽出する。
これによって、親NASサーバ6は、「/GNS-Root/Dir-01/FS2/a.txt」を、抽出したローカルパス913の「/mnt/FS2」によって特定されるファイルシステム134から提供されるファイルとして認識する。なお、抽出されたローカルパス913の「/mnt/FS2」によって特定されるファイルシステム134は、抽出されたNAS名912の「NAS−02」によって識別されるNASサーバ1に備わる。
そこで、親NASサーバ6は、受信したアクセス要求に含まれる「/GNS-Root/Dir-01/FS2/a.txt」を、「/mnt/FS2/a.txt」に変換する。そして、親NASサーバ6は、抽出したNAS名912の「NAS−02」によって識別されるNASサーバ1に、変換したアクセス要求を送信する。
また、親NASサーバ6は、以下のような処理を行ってもよい。
親NASサーバ6は、アクセス要求を受信する。すると、親NASサーバ6は、受信したアクセス要求に含まれるグローバルパスとGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ6は、選択したレコードから、NAS名912及びローカルパス913を抽出する。
次に、親NASサーバ6は、抽出したNAS名912及びローカルパス913を、クライアント計算機4に送信する。クライアント計算機4は、受信したNAS名912及びローカルパス913をアクセス先として含むアクセス要求を、受信したNAS名912によって識別されるNASサーバ1に送信する。
これによって、クライアント計算機4は、親NASサーバ6を経由せずに、ファイルにアクセスできる。そのため、親NASサーバ6の負荷を軽減できる。
図7は、本発明の実施の形態のファイル共有プログラム利用状況テーブル92の構成図である。
ファイル共有プログラム利用状況テーブル92は、NAS名921、ファイルグループ名922、NFSアクセス回数923及びCIFSアクセス回数924を含む。
NAS名921は、ファイル共有プログラム131を備えるNASサーバ1の一意な識別子である。
ファイルグループ名922は、当該レコードのNAS名921によって識別されるNASサーバ1によって管理されるファイルグループの一意な識別子である。なお、ファイルグループは、ファイルが移行される単位であり、一つ以上のファイルを含む。
例えば、一つのファイルグループは、一つのファイル共有サービスに対応するすべてのファイルを含む。なお、一つのファイル共有サービスは、NASサーバ1に備わる一つのファイルシステムに134によって提供される。
NFSアクセス回数923は、所定の時間内における、当該レコードのファイルグループ名922によって識別されるファイルグループに対する、NFSプロトコルによるアクセスの回数である。CIFSアクセス回数924は、所定の時間内における、当該レコードのファイルグループ名922によって識別されるファイルグループに対する、CIFSプロトコルによるアクセスの回数である。
図8は、本発明の実施の形態のスナップショットサブプログラム利用状況テーブル93の構成図である。
スナップショットサブプログラム利用状況テーブル93は、NAS名931、ファイルグループ名932、スナップショット作成回数933及びスナップショットマウント回数934を含む。
NAS名931は、スナップショットサブプログラム137を備えるNASサーバ1の一意な識別子である。ファイルグループ名932は、当該レコードのNAS名931によって識別されるNASサーバ1によって管理されるファイルグループの一意な識別子である。
スナップショット作成回数933は、所定の時間内において、当該レコードのファイルグループ名932によって識別されるファイルグループのスナップショットが作成された回数である。スナップショットマウント回数934は、所定の時間内において、当該レコードのファイルグループ名932によって識別されるファイルグループのスナップショットがマウントされた回数である。
図9は、本発明の実施の形態のバックアップサブプログラム利用状況テーブル94の構成図である。
バックアップサブプログラム利用状況テーブル94は、NAS名941、ファイルグループ名942、バックアップ実行回数943及びリストア実行回数944を含む。
NAS名941は、バックアップサブプログラム138を備えるNASサーバ1の一意な識別子である。ファイルグループ名942は、当該レコードのNAS名931によって識別されるNASサーバ1によって管理されるファイルグループの一意な識別子である。
バックアップ実行回数943は、所定の時間内において、当該レコードのファイルグループ名942によって識別されるファイルグループのデータがバックアップされた回数である。リストア実行回数944は、所定の時間内において、当該レコードのファイルグループ名942によって識別されるファイルグループのデータがリストアされた回数である。
図10は、本発明の実施の形態のインストール済みプログラム管理テーブル95の構成図である。
インストール済みプログラム管理テーブル95は、NAS名951、ファイル共有プログラム有無952、スナップショットサブプログラム有無953、バックアップサブプログラム有無954、ファイルシステム容量955、NAS−CPU利用率956及びディスクサブシステム利用率957を含む。
NAS名951は、GNSを構成するNASサーバ1の一意な識別子である。
ファイル共有プログラム有無952は、当該レコードのNAS名951によって識別されるNASサーバ1がファイル共有プログラム131を備えるか否かを示す。例えば、当該NASサーバ1がファイル共有プログラム131を備えている場合、ファイル共有プログラム有無952には、「○」が格納される。一方、当該NASサーバ1がファイル共有プログラム131を備えていない場合、ファイル共有プログラム有無952には、「×」が格納される。
なお、ファイル共有プログラム有無952は、CIFSファイル共有プログラム有無9521及びNFSファイル共有プログラム有無9522を含んでいてもよい。CIFSファイル共有プログラム有無9521は、当該レコードのNAS名951によって識別されるNASサーバ1が、CIFSプロトコルに対応可能なファイル共有プログラム131を備えるか否かを示す。NFSファイル共有プログラム有無9522は、当該レコードのNAS名951によって識別されるNASサーバ1が、NFSプロトコルに対応可能なファイル共有プログラム131を備えるか否かを示す。
スナップショットサブプログラム有無953は、当該レコードのNAS名951によって識別されるNASサーバ1がスナップショットサブプログラム137を備えるか否かを示す。例えば、当該NASサーバ1がスナップショットサブプログラム137を備えている場合、スナップショットサブプログラム有無953には、「○」が格納される。一方、当該NASサーバ1がスナップショットサブプログラム137を備えていない場合、スナップショットサブプログラム有無953には、「×」が格納される。
バックアップサブプログラム有無954は、当該レコードのNAS名951によって識別されるNASサーバ1がバックアップサブプログラム138を備えるか否かを示す。例えば、当該NASサーバ1がバックアップサブプログラム138を備えている場合、バックアップサブプログラム有無954には、「○」が格納される。一方、当該NASサーバ1がバックアップサブプログラム138を備えていない場合、バックアップサブプログラム有無954には、「×」が格納される。
ファイルシステム容量955は、当該レコードのNAS名951によって識別されるNASサーバ1に備わるファイルシステム134の容量である。NAS−CPU利用率956は、当該レコードのNAS名951によって識別されるNASサーバ1に備わるCPU12の利用率である。
ディスクサブシステム利用率957は、当該レコードのNAS名951によって識別されるNASサーバ1に接続されるディスクサブシステム3の利用率である。ディスクサブシステム3の利用率は、所定の時間に対する、当該所定の時間のうち当該ディスクサブシステム3が稼動している時間の割り合いを示す。
図11は、本発明の実施の形態の移行先NASタイプ決定ルール96の構成図である。
移行先NASタイプ決定ルール96は、条件961及び移行先NASタイプ名962を含む。
条件961は、当該レコードの移行先NASタイプ名962によって識別されるNASタイプに分類されるNASサーバ1が管理すべきファイルグループに関する条件である。例えば、条件961は、当該ファイルグループに対するアクセスの回数、当該ファイルグループのスナップショットが作成された回数、当該ファイルグループのスナップショットがマウントされた回数、当該ファイルグループのデータがバックアップされた回数及び当該ファイルグループのデータがリストアされた回数のうち少なくとも一つに関する条件を含む。
移行先NASタイプ名962は、当該レコードの条件961を満たすファイルグループを管理すべきNASサーバ1が分類されるNASタイプの一意な識別子である。
図12は、本発明の実施の形態のNASタイプ定義テーブル97の構成図である。
NASタイプ定義テーブル97は、NASタイプ名971、インストール済みプログラム972及び負荷状況973を含む。
NASタイプ名971は、NASタイプの一意な識別子である。
インストール済みプログラム972は、当該レコードのNASタイプ名971によって識別されるNASタイプに分類されるNASサーバ1に備わるプログラムの種類である。
例えば、インストール済みプログラム972に「CIFS」が格納されている場合、当該NASサーバ1は、CIFSプロトコルに対応可能なファイル共有プログラム131を備える。また、インストール済みプログラム972に「NFS」が格納されている場合、当該NASサーバ1は、NFSプロトコルに対応可能なファイル共有プログラム131を備える。
また、インストール済みプログラム972に「snapshot」が格納されている場合、当該NASサーバ1は、スナップショットサブプログラム137を備える。また、インストール済みプログラム972に「backup」が格納されている場合、当該NASサーバ1は、バックアップサブプログラム138を備える。
負荷状況973は、当該レコードのNASタイプ名971によって識別されるNASタイプに分類されるNASサーバ1の負荷に関する条件である。例えば、負荷状況973は、当該NASサーバ1に備わるCPU12の利用率及び当該NASサーバ1に接続されるディスクサブシステム3の利用率のうち少なくとも一方に関する条件を含む。
図13は、本発明の実施の形態の利用状況通知ファイル13311の構成図である。
利用状況通知ファイル13311は、NASサーバ1から親NASサーバ6へ送信される。利用状況通知ファイル13311は、当該利用状況通知ファイル13311の送信元であるNASサーバ1に関する情報を含む。
例えば、利用状況通知ファイル13311は、NAS名、ファイルシステム容量、利用率、プログラム名、プログラムの利用状況を含む。
NAS名は、当該利用状況通知ファイル13311の送信元であるNASサーバ1の一意な識別子である。ファイルシステム容量は、当該NASサーバ1に備わるファイルシステム134の容量である。
利用率は、NAS−CPU利用率及びディスクサブシステム利用率の少なくとも一つを含む。NAS−CPU利用率は、当該NASサーバ1に備わるCPU12の利用率である。ディスクサブシステム利用率は、当該NASサーバ1に接続されるディスクサブシステム3の利用率である。
プログラム名は、当該NASサーバ1に備わるプログラムの一意な識別子である。
プログラムの利用状況は、当該NASサーバ1に備わるプログラムの利用状況である。本説明図では、プログラムの利用状況は、ファイル共有プログラム131の利用状況、スナップショットサブプログラム137の利用状況及びバックアップサブプログラム138の利用状況を含む。
次に、本発明の実施の形態の計算機システムの処理の概要を説明する。
図14は、本発明の実施の形態の計算機システムの処理の第1の概要の説明図である。
NASサーバ1は、所定の間隔で、当該NASサーバ1に備わるファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138のうち少なくとも一つの利用状況を取得する。次に、NASサーバ1は、取得した利用状況を含む利用状況通知ファイル13311を作成する。そして、NASサーバ1は、作成した利用状況通知ファイル13311を、親NASサーバ6に送信する(S1001)。
親NASサーバ6は、利用状況通知ファイル13311をそれぞれのNASサーバ1から受信する。次に、親NASサーバ6は、受信した利用状況通知ファイル13311に基づいて、NASサーバ1に備わるプログラムがファイルグループに有効利用されているか否かを判定する。
NASサーバ1に備わるプログラムが有効利用されていない場合、親NASサーバ6は、プログラムを有効利用していないファイルグループの管理に適したNASサーバ1を、当該ファイルグループの移行先として特定する。次に、親NASサーバ6は、特定した移行先のNASサーバ1に、ファイルグループの移行要求を送信する。
すると、移行対象のファイルグループは、移行元のNASサーバ1から移行先のNASサーバ1に移行される(S1002)。
ファイルグループの移行が完了すると、移行元のNASサーバ1は、当該移行元のNASサーバ1によって管理されるファイルグループが存在するか否かを判定する。当該ファイルグループが存在しない場合、移行元のNASサーバ1は、当該移行元のNASサーバ1に接続されるディスクサブシステム3のデータを消去する。これによって、当該移行元のNASサーバ1を備えるNASは、初期化される(S1003)。
その後、初期化されたNASは、ファイルグループの移行先となるまで待機する。
図15は、本発明の実施の形態の計算機システムの処理の第2の概要の説明図である。
GNSに新たなNASが追加された場合、親NASサーバ6は、当該新たに追加されたNASに備わるNASサーバ1(追加NASサーバ1)に、NAS用移行プログラム133をインストールさせる。
これによって、追加NASサーバ1は、所定の間隔で、当該追加NASサーバ1に備わるファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138のうち少なくとも一つの利用状況を取得する。次に、追加NASサーバ1は、取得した利用状況を含む利用状況通知ファイル13311を作成する。そして、追加NASサーバ1は、作成した利用状況通知ファイル13311を、親NASサーバ6に送信する(S1011)。
親NASサーバ6は、利用状況通知ファイル13311を追加NASサーバ1から受信する。次に、親NASサーバ6は、受信した利用状況通知ファイル13311に基づいて、追加NASサーバ1に備わるプログラムがファイルグループに有効利用されているか否かを判定する。
追加NASサーバ1に備わるプログラムが有効利用されていない場合、親NASサーバ6は、プログラムを有効利用していないファイルグループの管理に適したNASサーバ1を、当該ファイルグループの移行先として特定する。次に、親NASサーバ6は、特定した移行先のNASサーバ1に、ファイルグループの移行要求を送信する。
すると、移行対象のファイルグループは、追加NASサーバ1から移行先のNASサーバ1に移行される(S1012)。
ファイルグループの移行が完了すると、追加NASサーバ1は、当該追加NASサーバ1によって管理されるファイルグループが存在するか否かを判定する。当該ファイルグループが存在しない場合、追加NASサーバ1は、当該追加NASサーバ1に接続されるディスクサブシステム3のデータを消去する。これによって、新たに追加されたNASは、初期化される(S1013)。
その後、新たに追加されたNASは、ファイルグループの移行先となるまで待機する。
図16は、本発明の実施の形態の計算機システムの処理の第3の概要の説明図である。
親NASサーバ6は、ファイルグループの移行が必要と判定すると、移行先のNASサーバ1に、ファイルグループの移行要求を送信する(S1021)。
移行先のNASサーバ1は、ファイルグループの移行要求を親NASサーバ6から受信する。次に、移行先のNASサーバ1は、移行元のNASサーバ1に、ファイルグループの移行要求を送信する(S1022)。
移行元のNASサーバ1は、ファイルグループの移行要求を移行先のNASサーバ1から受信する。すると、移行元のNASサーバ1は、移行対象のファイルグループの移行に必要な情報を、移行先のNASサーバ1に送信する。
移行先のNASサーバ1は、ファイルグループの移行に必要な情報を、移行元のNASサーバ1から受信する。すると、移行先のNASサーバ1は、受信したファイルグループの移行に必要な情報に基づいて、ファイル共有サービスを提供するための環境を構築する。
次に、移行先のNASサーバ1は、移行対象のファイルグループを、移行元のNASサーバ1から取得する(S1023)。次に、移行先のNASサーバ1は、取得したファイルグループを、当該移行先のNASサーバ1に接続されるディスクサブシステム3に格納する。これによって、移行対象のファイルグループの移行が完了する。
図17は、本発明の実施の形態の親NASサーバ6によって実行されるNAS監視処理のフローチャートである。
親NASサーバ6は、GNS定義テーブル91を定期的に監視する。そして、親NASサーバ6は、GNS定義テーブル91に新たなレコードが追加されたか否かを判定する(S601)。
GNS定義テーブル91に新たなレコードが追加されていない場合、親NASサーバ6は、GNS定義テーブル91に新たなレコードが追加されるまで待機する。
GNS定義テーブル91に新たなレコードが追加された場合、当該GNSに新たなNASが追加されている。そこで、親NASサーバ6は、GNSに新たに追加されたNASに備わるNASサーバ1(追加NASサーバ1)を特定する(S602)。
具体的には、親NASサーバ6は、GNS定義テーブル91に追加された新たなレコードから、NAS名912を抽出する。次に、親NASサーバ6は、抽出されたNAS名912によって識別されるNASサーバ1を、追加NASサーバ1として特定する。
次に、親NASサーバ6は、特定したすべての追加NASサーバ1を一つずつ順番に選択する(S603)。次に、親NASサーバ6は、選択した追加NASサーバ1に、リモートログインする(S604)。
次に、親NASサーバ6は、リモートログインした追加NASサーバ1に、NAS用移行プログラム133を当該親NASサーバ6からダウンロードさせる。次に、親NASサーバ6は、ダウンロードされたNAS用移行プログラム133を、リモートログインした追加NASサーバ1に実行させる(S605)。
更に、親NASサーバ6は、リモートログインした追加NASサーバ1に、NAS用移行プログラム133に含まれる利用状況取得サブプログラム1331を定期的に実行するための設定を行う(S606)。これによって、追加NASサーバ1は、利用状況取得サブプログラム1331を定期的に実行する。
そして、親NASサーバ6は、リモートログインした追加NASサーバ1からログアウトする(S607)。
次に、親NASサーバ6は、ステップS602で特定したすべての追加NASサーバ1を、ステップS603で選択したか否かを判定する(S608)。
すべての追加NASサーバ1を選択していない場合、親NASサーバ6は、ステップS603に戻る。そして、親NASサーバ6は、特定したすべての追加NASサーバ1の中から、選択されていない追加NASサーバ1を選択し、処理を繰り返す。
一方、すべての追加NASサーバ1を選択した場合、親NASサーバ6は、ステップS601に戻る。そして、親NASサーバ6は、当該NAS監視処理を繰り返す。
図18は、本発明の実施の形態のNASサーバ1によって実行される利用状況取得処理のフローチャートである。
NASサーバ1は、定期的に当該利用状況取得処理を実行する。
まず、NASサーバ1は、利用状況通知ファイル13311(図13)を作成する(S611)。このときの利用状況通知ファイル13311には、情報が格納されていない。
次に、NASサーバ1は、当該NASサーバ1の識別子をNAS名として、作成された利用状況通知ファイル13311に格納する。
次に、NASサーバ1は、当該NASサーバ1に備わるファイルシステム134の容量、当該NASサーバ1に備わるCPU12の利用率及び当該NASサーバ1に接続されるディスクサブシステム3の利用率を取得する。次に、NASサーバ1は、取得したファイルシステム134の容量、CPU12の利用率及びディスクサブシステム3の利用率を、作成した利用状況通知ファイル13311に格納する(S612)。
次に、NASサーバ1は、当該NASサーバ1に備わるプログラムを特定する(S613)。ここでは、NASサーバ1は、ファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138の中から、当該NASサーバ1に備わるプログラムを特定する。
次に、NASサーバ1は、特定したプログラムの識別子を、作成された利用状況通知ファイル13311に格納する(S614)。
次に、NASサーバ1は、特定したすべてのプログラムを一つずつ順番に選択する(S615)。例えば、NASサーバ1は、ファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138をステップS613で特定した場合、ファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138を一つずつ順番に選択する。
次に、NASサーバ1は、ファイルグループごとに、選択したプログラムの利用状況を取得する(S616)。なお、ファイル共有プログラム131が選択された場合、プログラムの利用状況は、NFSアクセス回数及びCIFSアクセス回数である。また、スナップショットサブプログラム137が選択された場合、プログラムの利用状況は、スナップショット作成回数及びスナップショットマウント回数である。また、バックアップサブプログラム138が選択された場合、プログラムの利用状況は、バックアップ実行回数及びリストア実行回数である。
次に、NASサーバ1は、取得したプログラムの利用状況を、作成した利用状況通知ファイル13311に格納する。次に、NASサーバ1は、ステップS613で特定したすべてのプログラムを、ステップS615で選択したか否かを判定する(S618)。
すべてのプログラムを選択していない場合、NASサーバ1は、ステップS615に戻る。そして、NASサーバ1は、特定したすべてのプログラムの中から、選択されていないプログラムを選択し、処理を繰り返す。
一方、すべてのプログラムを選択した場合、NASサーバ1は、作成した利用状況通知ファイル13311を、親NASサーバ6の共有ディレクトリに格納する(S619)。なお、共有ディレクトリは、NASサーバ1から親NASサーバ6へ利用状況通知ファイル13311を受け渡すために使用される。
次に、NASサーバ1は、ファイルグループの移行要求を受信したか否かを判定する。例えば、NASサーバ1は、ログを参照して、ファイルグループの移行要求を受信したか否かを判定する。
ファイルグループ移行要求を受信していない場合、当該NASサーバ1によって管理されるファイルが存在する。そこで、NASサーバ1は、当該利用状況取得処理を終了する。
一方、ファイルグループ移行要求を受信した場合、NASサーバ1は、現時点から所定の時間遡るまでの間に、当該NASサーバ1によって管理されるファイルへのアクセスを受信したか否かを判定する(S620)。
ファイルへのアクセスを受信した場合、当該NASサーバ1によって管理されるファイルが存在する。そこで、NASサーバ1は、当該利用状況取得処理を終了する。
一方、ファイルへのアクセスを受信していない場合、当該NASサーバ1によって管理されるファイルが存在しない。そこで、NASサーバ1は、当該追加NASサーバ1に接続されるディスクサブシステム3のデータを消去する。これによって、当該NASサーバ1を備えるNASは、初期化される(S621)。そして、NASサーバ1は、当該利用状況取得処理を終了する。
図19は、本発明の実施の形態の親NASサーバ6によって実行される利用状況集計処理のフローチャートである。
親NASサーバ6は、定期的に当該利用状況集計処理を実行する。
まず、親NASサーバ6は、GNSを構成するすべてのNASサーバ1を、一つずつ順番に選択する(S631)。
次に、親NASサーバ6は、選択したNASサーバ1によって格納された利用状況通知ファイル13311を、当該親NASサーバ6の共有ディレクトリから取得する。具体的には、親NASサーバ6は、選択したNASサーバ1の識別子と利用状況通知ファイル13311に含まれるNAS名とが一致する利用状況通知ファイル13311を、当該親NASサーバ6の共有ディレクトリから取得する(S632)。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311に基づいて、インストール済みプログラム管理テーブル95を更新する(S633)。
具体的には、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるNAS名とインストール済みプログラム管理テーブル95のNAS名951とが一致するレコードを、インストール済みプログラム管理テーブル95から選択する。
次に、親NASサーバ6は、ファイル共有プログラム131の識別子が、取得した利用状況通知ファイル13311に含まれているか否かを判定する。
ファイル共有プログラム131の識別子が利用状況通知ファイル13311に含まれている場合、親NASサーバ6は、選択したレコードのファイル共有プログラム有無952に「○」を格納する。
一方、ファイル共有プログラム131の識別子が利用状況通知ファイル13311に含まれていない場合、親NASサーバ6は、選択したレコードのファイル共有プログラム有無952に「×」を格納する。
次に、親NASサーバ6は、スナップショットサブプログラム137の識別子が、取得した利用状況通知ファイル13311に含まれているか否かを判定する。
スナップショットサブプログラム137の識別子が利用状況通知ファイル13311に含まれている場合、親NASサーバ6は、選択したレコードのスナップショットサブプログラム有無953に「○」を格納する。
一方、スナップショットサブプログラム137の識別子が利用状況通知ファイル13311に含まれていない場合、親NASサーバ6は、選択したレコードのスナップショットサブプログラム有無953に「×」を格納する。
次に、親NASサーバ6は、バックアップサブプログラム138の識別子が、取得した利用状況通知ファイル13311に含まれているか否かを判定する。
バックアップサブプログラム138の識別子が利用状況通知ファイル13311に含まれている場合、親NASサーバ6は、選択したレコードのバックアップサブプログラム有無954に「○」を格納する。
一方、バックアップサブプログラム138の識別子が利用状況通知ファイル13311に含まれていない場合、親NASサーバ6は、選択したレコードのバックアップサブプログラム有無954に「×」を格納する。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるファイルシステム134の容量を、選択したレコードのファイルシステム容量955に格納する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるCPU12の利用率を、選択したレコードのNAS−CPU利用率956に格納する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるディスクサブシステム3の利用率を、選択したレコードのディスクサブシステム利用率957に格納する。
このようにして、親NASサーバ6は、インストール済みプログラム管理テーブル95を更新する。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311にファイル共有プログラム131の利用状況が含まれているか否かを判定する。利用状況通知ファイル13311にファイル共有プログラム131の利用状況が含まれていない場合、親NASサーバ6は、そのままステップS635に進む。
一方、利用状況通知ファイル13311にファイル共有プログラム131の利用状況が含まれている場合、親NASサーバ6は、ファイル共有プログラム利用状況テーブル92を更新する(S634)。
具体的には、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるNAS名とファイル共有プログラム利用状況テーブル92のNAS名921とが一致するレコードを、ファイル共有プログラム利用状況テーブル92から選択する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるファイルグループ名とファイル共有プログラム利用状況テーブル92のファイルグループ名922とが一致するレコードを、選択したレコードの中から選択する。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるNFSアクセス回数を、選択したレコードのNFSアクセス回数923に格納する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるCIFSアクセス回数を、選択したレコードのCIFSアクセス回数924に格納する。
このようにして、親NASサーバ6は、ファイル共有プログラム利用状況テーブル92を更新する。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311にスナップショットサブプログラム137の利用状況が含まれているか否かを判定する。利用状況通知ファイル13311にスナップショットサブプログラム137の利用状況が含まれていない場合、親NASサーバ6は、そのままステップS636に進む。
一方、利用状況通知ファイル13311にスナップショットサブプログラム137の利用状況が含まれている場合、親NASサーバ6は、スナップショットサブプログラム利用状況テーブル93を更新する(S635)。
具体的には、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるNAS名とスナップショットサブプログラム利用状況テーブル93のNAS名931とが一致するレコードを、スナップショットサブプログラム利用状況テーブル93から選択する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるファイルグループ名とスナップショットサブプログラム利用状況テーブル93のファイルグループ名932とが一致するレコードを、選択したレコードの中から選択する。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるスナップショット作成回数を、選択したレコードのスナップショット作成回数933に格納する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるスナップショットマウント回数を、選択したレコードのスナップショットマウント回数934に格納する。
このようにして、親NASサーバ6は、スナップショットサブプログラム利用状況テーブル93を更新する。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311にバックアップサブプログラム138の利用状況が含まれているか否かを判定する。利用状況通知ファイル13311にバックアップサブプログラム138の利用状況が含まれていない場合、親NASサーバ6は、そのままステップS637に進む。
一方、利用状況通知ファイル13311にバックアップサブプログラム138の利用状況が含まれている場合、親NASサーバ6は、バックアップサブプログラム利用状況テーブル94を更新する(S636)。
具体的には、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるNAS名とバックアップサブプログラム利用状況テーブル94のNAS名941とが一致するレコードを、バックアップサブプログラム利用状況テーブル94から選択する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるファイルグループ名とバックアップサブプログラム利用状況テーブル94のファイルグループ名942とが一致するレコードを、選択したレコードの中から選択する。
次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるバックアップ実行回数を、選択したレコードのバックアップ実行回数943に格納する。次に、親NASサーバ6は、取得した利用状況通知ファイル13311に含まれるリストア実行回数を、選択したレコードのリストア実行回数944に格納する。
このようにして、親NASサーバ6は、バックアップサブプログラム利用状況テーブル94を更新する。
次に、親NASサーバ6は、GNSを構成するすべてのNASサーバ1をステップS631で選択したか否かを判定する(S637)。
すべてのNASサーバ1を選択していない場合、親NASサーバ6は、ステップS631に戻る。そして、親NASサーバ6は、GNSを構成するすべてのNASサーバ1の中から、選択されていないNASサーバ1を選択し、処理を繰り返す。
一方、すべてのNASサーバ1を選択した場合、親NASサーバ6は、当該利用状況集計処理を終了する。
図20は、本発明の実施の形態の親NASサーバ6によって実行される移行判定処理のフローチャートである。
親NASサーバ6は、定期的に当該移行判定処理を実行する。
まず、親NASサーバ6は、GNSを構成するすべてのNASサーバ1を、一つずつ順番に選択する(S641)。
次に、親NASサーバ6は、選択したNASサーバ1によって管理されるすべてのファイルグループを、一つずつ順番に選択する(S642)。
次に、親NASサーバ6は、選択したNASサーバ1の識別子とファイル共有プログラム利用状況テーブル92のNAS名921とが一致するレコードを、ファイル共有プログラム利用状況テーブル92から選択する。次に、親NASサーバ6は、選択したファイルグループの識別子とファイル共有プログラム利用状況テーブル92のファイルグループ名922とが一致するレコードを、選択したレコードの中から選択する。次に、親NASサーバ6は、選択したレコードから、NFSアクセス回数923及びCIFSアクセス回数924を抽出する。
次に、親NASサーバ6は、選択したNASサーバ1の識別子とスナップショットサブプログラム利用状況テーブル93のNAS名931とが一致するレコードを、スナップショットサブプログラム利用状況テーブル93から選択する。次に、親NASサーバ6は、選択したファイルグループの識別子とスナップショットサブプログラム利用状況テーブル93のファイルグループ名932とが一致するレコードを、選択したレコードの中から選択する。次に、親NASサーバ6は、選択したレコードから、スナップショット作成回数933及びスナップショットマウント回数934を抽出する。
次に、親NASサーバ6は、選択したNASサーバ1の識別子とバックアップサブプログラム利用状況テーブル94のNAS名941とが一致するレコードを、バックアップサブプログラム利用状況テーブル94から選択する。次に、親NASサーバ6は、選択したファイルグループの識別子とバックアップサブプログラム利用状況テーブル94のファイルグループ名942とが一致するレコードを、選択したレコードの中から選択する。次に、親NASサーバ6は、選択したレコードから、バックアップ実行回数943及びリストア実行回数944を抽出する。
次に、親NASサーバ6は、抽出したNFSアクセス回数923、CIFSアクセス回数924、スナップショット作成回数933、スナップショットマウント回数934、バックアップ実行回数943及びリストア実行回数944と、移行先NASタイプ決定ルール96の条件961とが適合するレコードを、移行先NASタイプ決定ルール96から選択する。次に、親NASサーバ6は、選択したレコードから、移行先NASタイプ名962を抽出する。
次に、親NASサーバ6は、選択したNASサーバ1が分類されているNASタイプの識別子と抽出した移行先NASタイプ名962とが一致するか否かを判定する。これによって、親NASサーバ6は、選択したファイルグループの移行が必要か否かを判定する(S643)。
NASタイプの識別子と移行先NASタイプ名962とが一致した場合、親NASサーバ6は、選択したファイルグループの移行が不要と判定する。そこで、親NASサーバ6は、そのままステップS647に進む。
一方、NASタイプの識別子と移行先NASタイプ名962とが一致しない場合、親NASサーバ6は、選択したファイルグループの移行が必要と判定する。そこで、親NASサーバ6は、抽出した移行先NASタイプ名962とNASタイプ定義テーブル97のNASタイプ名971とが一致するレコードを、NASタイプ定義テーブル97から選択する。次に、親NASサーバ6は、選択したレコードから、インストール済みプログラム972及び負荷状況973を抽出する。
次に、親NASサーバ6は、抽出したインストール済みプログラム972と、インストール済みプログラム管理テーブル95のファイル共有プログラム有無952、スナップショットサブプログラム有無953及びバックアップサブプログラム有無954とが適合するレコードを、インストール済みプログラム管理テーブル95から選択する。次に、親NASサーバ6は、抽出した負荷状況973と、インストール済みプログラム管理テーブル95のNAS−CPU利用率956及びディスクサブシステム利用率957とが適合するレコードを、選択したレコードの中から選択する。次に、親NASサーバ6は、選択したレコードから、NAS名951を抽出する。
次に、親NASサーバ6は、抽出したNAS名951によって識別されるNASサーバ1を、選択したファイルグループの移行先に決定する(S644)。
次に、親NASサーバ6は、決定した移行先のNASサーバ1に、ファイルグループの移行要求を送信する(S645)。なお、ファイルグループの移行要求は、ステップS641で選択されたNASサーバ1の識別子を、移行元のNASサーバ1の識別子として含む。更に、ファイルグループの移行要求は、ステップS642で選択されたファイルグループの識別子を、移行対象のファイルグループの識別子として含む。
次に、親NASサーバ6は、GNS定義テーブル91を更新する(S646)。
具体的には、親NASサーバ6は、移行対象のファイルグループへのアクセスに使用されるグローバルパスとGNS定義テーブル91のグローバルパス911とが一致するレコードを、GNS定義テーブル91から選択する。次に、親NASサーバ6は、選択したレコードのNAS名912に、決定した移行先のNASサーバ1の識別子を格納する。次に、親NASサーバ6は、選択したレコードのローカルパス913に、決定した移行先のNASサーバ1に備わるファイルシステム134のローカルパスを格納する。
次に、親NASサーバ6は、選択したNASサーバ1によって管理されるすべてのファイルグループを、ステップS642で選択したか否かを判定する(S647)。
すべてのファイルグループを選択していない場合、親NASサーバ6は、ステップS642に戻る。そして、親NASサーバ6は、選択したNASサーバ1によって管理されるすべてのファイルグループの中から、選択されていないファイルグループを選択し、処理を繰り返す。
一方、すべてのファイルグループを選択した場合、親NASサーバ6は、GNSを構成するすべてのNASサーバ1を、ステップS641で選択したか否かを判定する(S648)。
すべてのNASサーバ1を選択していない場合、親NASサーバ6は、ステップS641に戻る。そして、親NASサーバ6は、GNSを構成するすべてのNASサーバ1の中から、選択されていないNASサーバ1を選択し、処理を繰り返す。
一方、すべてのNASサーバを選択した場合、親NASサーバ6は、当該移行判定処理を終了する。
図21は、本発明の実施の形態のNASサーバ1によって実行される移行処理のフローチャートである。
NASサーバ1は、ファイルグループの移行要求を、親NASサーバ6又は他のNASサーバ1から受信すると、当該移行処理を実行する。
まず、NASサーバ1は、受信したファイルグループの移行要求の送信元が、親NASサーバ6であるか否かを判定する(S651)。具体的には、NASサーバ1は、受信したファイルグループの移行要求に含まれる送信元のIPアドレスに基づいて、受信したファイルグループの移行要求の送信元が、親NASサーバ6であるか否かを判定する(S652)。
ファイルグループの移行要求の送信元が親NASサーバ6でない場合、当該NASサーバ1は、ファイルグループの移行元である。そこで、移行元のNASサーバ1は、ファイルグループの移行要求の送信元である移行先のNASサーバ1が、移行対象のファイルグループへアクセス可能であるか否かを判定する。
移行先のNASサーバ1が移行対象のファイルグループへアクセス可能な場合、移行元のNASサーバ1は、そのままステップS653に進む。
一方、移行先のNASサーバ1が移行対象のファイルグループへアクセスできない場合、移行元のNASサーバ1は、移行先のNASサーバ1が移行対象のファイルグループへアクセス可能となるように、アクセス設定を行う(S655)。
次に、移行元のNASサーバ1は、ファイルグループの移行に必要な情報を、移行先のNASサーバ1に送信する(S653)。なお、ファイルグループの移行に必要な情報は、当該移行対象のファイルグループを管理するファイルシステム134の容量などを含む。
次に、移行元のNASサーバ1は、ファイルグループの移行要求を受信したことを、ログに記録する(S654)。そして、移行元のNASサーバ1は、当該移行処理を終了する。
一方、ファイルグループの移行要求の送信元が親NASサーバ6の場合、当該NASサーバ1は、ファイルグループの移行先である。そこで、移行先のNASサーバ1は、ファイルグループの移行に必要な情報を、移行元のNASサーバ1から受信する(S656)。
次に、移行先のNASサーバ1は、受信したファイルグループの移行に必要な情報に基づいて、ファイル共有サービスを提供するための環境を構築する(S657)。
次に、移行先のNASサーバ1は、移行対象のファイルグループを、移行元のNASサーバ1から取得する。次に、移行先のNASサーバ1は、取得したファイルグループを、当該移行先のNASサーバ1に接続されるディスクサブシステム3に格納する。これによって、移行対象のファイルグループの移行が完了する(S658)。
なお、移行先のNASサーバ1は、移行対象のファイルグループの移行だけでなく、当該移行対象のファイルグループのスナップショットをも移行してもよい。
例えば、移行先のNASサーバ1は、当該移行対象のファイルグループのスナップショットのマウントを移行元のNASサーバ1に要求する。すると、移行元のNASサーバ1は、マウントを要求されたスナップショットをマウントする。
次に、移行先のNASサーバ1は、マウントされたスナップショットを移行元のNASサーバ1から取得する。次に、移行先のNASサーバ1は、取得したスナップショットを、当該移行先のNASサーバ1に接続されるディスクサブシステム3に格納する。
また、移行元のNASサーバ1に接続されるディスクサブシステム3と移行先のNASサーバに接続されるディスクサブシステム3とが接続されている場合、当該移行対象のファイルグループとスナップショットとの差分データが格納された論理ボリュームが、ディスクサブシステム3間で移行されてもよい。
そして、移行先のNASサーバ1は、当該移行処理を終了する。
なお、親NASサーバ6は、ファイルグループの移行が完了すると、ファイルグループ移行完了通知を管理計算機5に送信してもよい。管理計算機5は、ファイルグループ移行完了通知を受信すると、図22に示すファイルグループ移行完了通知画面を表示する。
図22は、本発明の実施の形態の管理計算機5に表示されるファイルグループ移行完了通知画面の説明図である。
ファイルグループ移行完了通知画面は、ファイルグループの移行が完了されたことを示す。更に、ファイルグループ移行完了画面は、移行対象のファイルグループの識別子、移行元のNASサーバ1の識別子、移行先のNASサーバ1の識別子、及び移行が必要となった理由などを含む。
本実施の形態では、ファイルグループの移行が必要と判定されると、当該ファイルグループが自動的に移行された。しかしながら、親NASサーバ6は、移行判定処理(図20)のステップS643においてファイルグループの移行が必要と判定した場合に、ファイルグループ移行推奨通知を管理計算機5に送信してもよい。管理計算機5は、ファイルグループ移行推奨通知を受信すると、ファイルグループ移行推奨画面を表示する。
図23は、本発明の実施の形態の管理計算機5に表示されるファイルグループ移行推奨画面の説明図である。
ファイルグループ移行推奨画面は、ファイルグループの移行が推奨されることを示す。また、ファイルグループ移行推奨画面は、移行が推奨されるファイルグループの識別子、移行元のNASサーバ1の識別子、及びファイルグループの移行が推奨される理由などを含む。
更に、ファイルグループ移行推奨画面は、移行先NAS入力欄、移行ボタン及びキャンセルボタンを含む。移行先NAS入力欄には、移行先となるNASサーバ1の識別子が格納される。管理者は、移行ボタンを操作することによって、移行先NAS入力欄に入力された識別子によって識別されるNASサーバ1への移行を要求する。また、管理者は、キャンセルボタンを操作することによって、ファイルグループの移行を行わないことを要求する。
ファイルグループ移行推奨画面に含まれる移行ボタンが操作されると、管理計算機5は、移行先NAS入力欄に入力された識別子を親NASサーバ6へ通知する。すると、親NASサーバ6は、通知された識別子によって識別されるNASサーバ1を移行先として決定する。
本実施の形態によれば、NASサーバ1に備わるファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138のうちの少なくとも一つの利用状況に応じて、ファイルグループが移行される。このため、NASサーバ1に備わるファイル共有プログラム131、スナップショットサブプログラム137及びバックアップサブプログラム138が効率的に利用される。