(57)【要約】【課題】複数の更新可能なスナップショットに格納されたデータを効率的に更新する。【解決手段】複数の記憶領域を提供する計算機と、記憶領域に読み書きされるデータを格納するストレージ装置とを含む計算機システムで、ストレージ装置は、各記憶領域に共有されるデータを格納する第１ボリュームと、各記憶領域で保持されるデータを格納する第２ボリュームとを提供し、計算機は、記憶領域管理情報と更新データの格納先を示す格納先フラグとを記憶し、要求に応じて格納先フラグを設定し、第１ボリュームに格納されたデータの更新を受け付け、かつ、格納先フラグが第２ボリュームに設定されている場合に、第１領域に対応する第２領域が第２ボリュームに割り当てられていない場合には、第２ボリュームに新たに割り当てられた第２領域を更新し、新たに割り当てられた第２領域の位置情報を第１領域に対応させて記憶領域管理情報に格納する。【選択図】図１
2010102479.tif 000002
【特許請求の範囲】
【請求項１】
データを読み書きするための複数の記憶領域を提供する計算機と、前記記憶領域に読み書きされるデータを格納するストレージ装置とを含む計算機システムであって、
前記計算機は、前記ストレージ装置に接続される第１のインターフェースと、前記第１のインターフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、を備え、
前記ストレージ装置は、前記計算機に接続される第２のインターフェースと、前記第２のインターフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、を備え、
前記ストレージ装置は、前記各記憶領域に共有されるデータを格納する第１のボリュームと、前記各記憶領域で保持されるデータを格納する第２のボリュームとを前記計算機に提供し、
前記第１のメモリには、前記各記憶領域を管理する記憶領域管理情報と、前記データの更新を受け付けた場合に更新データの格納先を設定する格納先フラグとが記憶され、
前記第１のプロセッサは、
前記データの格納先の指定を受け付けると、前記指定された格納先に基づいて、前記格納先フラグを設定し、
前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第１のボリュームに設定されている場合には、前記第１のボリュームの更新対象である第１の領域を特定し、前記特定された第１の領域を更新し、
前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第２のボリュームに設定されている場合には、前記記憶領域管理情報に基づいて、前記第１の領域に対応する第２の領域が前記第２のボリュームに割り当てられているか否かを判定し、
前記第２のボリュームに前記第２の領域が割り当てられている場合には、前記第２の領域を更新し、
前記第２のボリュームに前記第２の領域が割り当てられていない場合には、前記第２のボリュームに前記第２の領域を新たに割り当て、前記新たに割り当てられた第２の領域を更新し、
前記新たに割り当てられた第２の領域の位置情報を前記第１の領域に対応させて前記記憶領域管理情報に格納することを特徴とする計算機システム。
【請求項２】
前記第１のプロセッサは、
前記第１のボリュームに格納されたデータの読み出しを受け付けた場合には、前記読み出し対象のデータを格納する第３の領域を特定し、
前記記憶領域管理情報に基づいて、前記第３の領域に対応する第４の領域が前記第２のボリュームに割り当てられているか否かを判定し、
前記第２のボリュームに前記第４の領域が割り当てられている場合には、前記第４の領域に格納されたデータを提供することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記記憶領域管理情報には、前記第１のボリュームを所定のサイズで分割された領域ごとに、前記第２のボリュームに対応する領域が存在するか否かを示す情報と、前記第２のボリュームに対応する領域が存在する場合に当該領域の位置を示す情報とが含まれることを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記計算機は、前記各記憶領域を管理するコントローラ及びファイルシステムを含むオペレーティングシステムを備え、
前記第１のプロセッサは、前記記憶領域ごとに前記オペレーティングシステムを実行することを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記第１のボリューム及び前記第２のボリュームには、前記オペレーティングシステムを実行するためのファイルが格納され、
前記第１のプロセッサは、前記格納先フラグを前記第１のボリュームに設定し、前記オペレーティングシステムを一括して更新することを特徴とする請求項４に記載の計算機システム。
【請求項６】
データを読み書きするための複数の記憶領域を提供するストレージ装置であって、
インターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記各記憶領域に共有されるデータを格納する第１のボリュームと、前記各記憶領域で保持されるデータを格納する第２のボリュームとを提供し、
前記メモリには、前記各記憶領域を管理する記憶領域管理情報と、前記データの更新を受け付けた場合に更新データの格納先を設定する格納先フラグとが記憶され、
前記プロセッサは、
前記データの格納先の指定を受け付けると、前記指定された格納先に基づいて、前記格納先フラグを設定し、
前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第１のボリュームに設定されている場合には、前記第１のボリュームの更新対象である第１の領域を特定し、前記特定された第１の領域を更新し、
前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第２のボリュームに設定されている場合には、前記記憶領域管理情報に基づいて、前記第１の領域に対応する第２の領域が前記第２のボリュームに割り当てられているか否かを判定し、
前記第２のボリュームに前記第２の領域が割り当てられている場合には、前記第２の領域を更新し、
前記第２のボリュームに前記第２の領域が割り当てられていない場合には、前記第２のボリュームに前記第２の領域を新たに割り当て、前記新たに割り当てられた第２の領域を更新し、
前記新たに割り当てられた第２の領域の位置情報を前記第１の領域に対応させて前記記憶領域管理情報に格納することを特徴とするストレージ装置。
【請求項７】
前記プロセッサは、
前記第１のボリュームに格納されたデータの読み出しを受け付けた場合には、前記読み出し対象のデータを格納する第３の領域を特定し、
前記記憶領域管理情報に基づいて、前記第３の領域に対応する第４の領域が前記第２のボリュームに割り当てられているか否かを判定し、
前記第２のボリュームに前記第４の領域が割り当てられている場合には、前記第４の領域に格納されたデータを提供することを特徴とする請求項６に記載のストレージ装置。
【請求項８】
前記記憶領域管理情報には、前記第１のボリュームを所定のサイズで分割された領域ごとに、前記第２のボリュームに対応する領域が存在するか否かを示す情報と、前記第２のボリュームに対応する領域が存在する場合に当該領域の位置を示す情報とが含まれることを特徴とする請求項６に記載のストレージ装置。
【請求項９】
前記ストレージ装置は、前記各記憶領域を管理するコントローラ及びファイルシステムを含むオペレーティングシステムを備え、
前記プロセッサは、前記記憶領域ごとに前記オペレーティングシステムを実行することを特徴とする請求項６に記載のストレージ装置。
【請求項１０】
前記第１のボリューム及び前記第２のボリュームには、前記オペレーティングシステムを実行するためのファイルが格納され、
前記プロセッサは、前記格納先フラグを前記第１のボリュームに設定し、前記オペレーティングシステムを一括して更新することを特徴とする請求項９に記載のストレージ装置。
【請求項１１】
データを読み書きするための複数の記憶領域を提供する計算機と、前記記憶領域に読み書きされるデータを格納するストレージ装置とを含む計算機システムにおけるデータ更新方法であって、
前記計算機は、前記ストレージ装置に接続される第１のインターフェースと、前記第１のインターフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、を備え、
前記ストレージ装置は、前記計算機に接続される第２のインターフェースと、前記第２のインターフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、を備え、
前記ストレージ装置は、前記各記憶領域に共有されるデータを格納する第１のボリュームと、前記各記憶領域で保持されるデータを格納する第２のボリュームとを前記計算機に提供し、
前記第１のメモリには、前記各記憶領域を管理する記憶領域管理情報と、前記データの更新を受け付けた場合に更新データの格納先を設定する格納先フラグとが記憶され、
前記方法は、
前記第１のプロセッサが、前記データの格納先の指定を受け付けると、前記指定された格納先に基づいて、前記格納先フラグを設定し、
前記第１のプロセッサが、前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第１のボリュームに設定されている場合には、前記第１のボリュームの更新対象である第１の領域を特定し、前記特定された第１の領域を更新し、
前記第１のプロセッサが、前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第２のボリュームに設定されている場合には、前記記憶領域管理情報に基づいて、前記第１の領域に対応する第２の領域が前記第２のボリュームに割り当てられているか否かを判定し、
前記第１のプロセッサが、前記第２のボリュームに前記第２の領域が割り当てられている場合には、前記第２の領域を更新し、
前記第１のプロセッサが、前記第２のボリュームに前記第２の領域が割り当てられていない場合には、前記第２のボリュームに前記第２の領域を新たに割り当て、前記新たに割り当てられた第２の領域を更新し、
前記第１のプロセッサが、前記新たに割り当てられた第２の領域の位置情報を前記第１の領域に対応させて前記記憶領域管理情報に格納することを特徴とするデータ更新方法。
【請求項１２】
前記方法は、
前記第１のプロセッサが、前記第１のボリュームに格納されたデータの読み出しを受け付けた場合には、前記読み出し対象のデータを格納する第３の領域を特定し、
前記第１のプロセッサが、前記記憶領域管理情報に基づいて、前記第３の領域に対応する第４の領域が前記第２のボリュームに割り当てられているか否かを判定し、
前記第１のプロセッサが、前記第２のボリュームに前記第４の領域が割り当てられている場合には、前記第４の領域に格納されたデータを提供することを特徴とする請求項１１に記載のデータ更新方法。
【請求項１３】
前記記憶領域管理情報には、前記第１のボリュームを所定のサイズで分割した領域ごとに、前記第２のボリュームに対応する領域が存在するか否かを示す情報と、前記第２のボリュームに対応する領域が存在する場合に当該領域の位置を示す情報とが含まれることを特徴とする請求項１１に記載のデータ更新方法。
【請求項１４】
前記計算機は、前記各記憶領域を管理するコントローラ及びファイルシステムを含むオペレーティングシステムを備え、前記記憶領域ごとに前記オペレーティングシステムが実行され、
前記第１のボリューム及び前記第２のボリュームには、前記オペレーティングシステムを実行するためのファイルが格納され、
前記方法は、前記第１のプロセッサが、前記格納先フラグを前記第１のボリュームに設定し、前記オペレーティングシステムを一括して更新することを特徴とする請求項１１に記載のデータ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶領域を提供する計算機システムに関し、特に、各記憶領域を一括して更新する技術に関する。
【背景技術】
【０００２】
データの損失を防ぐために、データを格納するボリュームのバックアップを作成する方法の一つとして、スナップショットを作成することが挙げられる。スナップショットとは、バックアップ作成時点のボリュームのイメージである。スナップショットは、ファイルシステムの損傷などを修復するために利用されるため、通常、読み取り専用である。
【０００３】
また、スナップショットは、バックアップを目的とせずにデータの複製を利用する場合に活用することができる。例えば、複数のテスト環境を構築する場合などである。しかし、スナップショットは前述のように、通常、読み取り専用であるため、テストデータと利用するためには、更新可能であると都合がよい。
【０００４】
特許文献１には、オリジナルの読み取り専用のスナップショットに加え、更新されたデータを格納する差分ボリュームを備えることによって、更新可能なスナップショットを提供する技術が開示されている。特許文献１に開示された技術では、複数のスナップショットを提供する場合には、提供されたスナップショットごとに差分ボリュームの領域を確保し、更新データを格納することによって個別に対応することができる。
【０００５】
具体例として、３つの開発チームでソフトウェアを開発する場合に、特許文献１に開示された技術を適用する場合について説明する。また、各開発チームでは、もともと存在するベースとなるプログラムを利用して開発を行う。このとき、ベースとなるプログラム（オリジナルデータ）の複製（スナップショット）を開発チームごとに３つ作成し、１つのオリジナルデータをそれぞれポイントする。そして、ある開発チームがオリジナルデータに変更を加えた場合には、変更されたデータを差分として差分ボリュームに格納することによってスナップショットを更新することができる。
【特許文献１】特表２００５−５２９４１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術では、生成されたスナップショットごと、すなわち、開発チームごとに差分が格納されるため、ある開発チームによって変更されたデータを他の開発チームで参照することができない。他の開発チームで変更された内容を反映させるためには、データを変更した開発チームで行われた操作を再度実行し、変更されたデータを参照しようとする開発チームに対応する差分ボリュームに改めて格納する必要がある。したがって、すべての開発チームで同じ変更データを参照するためには、すべての開発チームで同じ操作を実行する必要がある。
【０００７】
すなわち、一つのスナップショットにおける更新データをすべてのスナップショットに反映させるためには、差分ボリュームのすべてのスナップショットに対応する領域を更新しなければならない。したがって、スナップショットの数（開発チームの数）だけ更新データを格納しなければならないため、必要な記憶容量が増大してしまう。
【０００８】
本発明は、以上の問題を鑑みてなされたものであり、複数の更新可能なスナップショットが提供されている場合に、必要に応じてすべてのスナップショットに更新内容を効率的に反映させることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な一形態では、データを読み書きするための複数の記憶領域（更新可能スナップショット）を提供する計算機と、前記記憶領域に読み書きされるデータを格納するストレージ装置とを含む計算機システムであって、前記計算機は、前記ストレージ装置に接続される第１のインターフェースと、前記第１のインターフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、を備え、前記ストレージ装置は、前記計算機に接続される第２のインターフェースと、前記第２のインターフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、を備え、前記ストレージ装置は、前記各記憶領域に共有されるデータ（オリジナルデータ）を格納する第１のボリュームと、前記各記憶領域で保持されるデータ（差分データ）を格納する第２のボリュームとを前記計算機に提供し、前記第１のメモリには、前記各記憶領域を管理する記憶領域管理情報（スナップショット管理情報）と、前記データの更新を受け付けた場合に更新データの格納先を設定する格納先フラグとが記憶され、前記第１のプロセッサは、前記データの格納先の指定を受け付けると、前記指定された格納先に基づいて、前記格納先フラグを設定し、前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第１のボリュームに設定されている場合には、前記第１のボリュームの更新対象である第１の領域を特定し、前記特定された第１の領域を更新し、前記第１のボリュームに格納されたデータの更新を受け付け、かつ、前記格納先フラグが前記第２のボリュームに設定されている場合には、前記記憶領域管理情報に基づいて、前記第１の領域に対応する第２の領域が前記第２のボリュームに割り当てられているか否かを判定し、前記第２のボリュームに前記第２の領域が割り当てられている場合には、前記第２の領域を更新し、前記第２のボリュームに前記第２の領域が割り当てられていない場合には、前記第２のボリュームに前記第２の領域を新たに割り当て、前記新たに割り当てられた第２の領域を更新し、前記新たに割り当てられた第２の領域の位置情報を前記第１の領域に対応させて前記記憶領域管理情報に格納する。
【発明の効果】
【００１０】
本発明の一形態によれば、複数の記憶領域（更新可能スナップショット）が提供されている場合に、必要に応じてすべての記憶領域に対して効率的に更新内容を反映させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００１２】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムの構成を示す図である。
【００１３】
本発明の第１の実施の形態の計算機システムには、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）ヘッド１００及びストレージ装置２００が含まれる。ＮＡＳヘッド１００及びストレージ装置２００は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３０を介して接続される。ＳＡＮ３０は、例えば、ファイバチャネルなどのネットワークである。
【００１４】
ＮＡＳとは、ネットワークに直接接続され、ドメインからの要求に基づいて、データを入出力するファイルサーバである。ＮＡＳヘッド１００は、データを格納するストレージ装置を切り離し、ファイルシステムとコントローラをＮＡＳから独立させたものである。ＮＡＳヘッド１００を利用することによって、ＮＡＳとＳＡＮを共存させることが可能となる。
【００１５】
また、ＮＡＳヘッド１００には、ドメイン１（１０Ａ）及びドメイン２（１０Ｂ）がＬＡＮ２０を介して接続されている。なお、図１には、２つのドメインが含まれているが、ドメインの数はいくつであってもよい。
【００１６】
ＮＡＳヘッド１００は、ＣＰＵ１０１、メモリ１０２、ＮＩＣ（１０３Ａ及び１０３Ｂ）、及びＦＣＩ／Ｆ（１０４Ａ及び１０４Ｂ）を備える。
【００１７】
ＣＰＵ１０１は、メモリ１０２に記憶されたプログラムを実行することによって、各種処理を実行する。
【００１８】
メモリ１０２は、ＣＰＵ１０１によって処理されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、ＮＡＳとしての機能を提供するためのＮＡＳ＿ＯＳ１１０が記憶される。
【００１９】
ＮＡＳヘッド１００は、ＮＡＳ＿ＯＳ１１０によって、複数の仮想的なＮＡＳ（以下、「仮想ＮＡＳ」）を提供することができる。複数の仮想ＮＡＳを提供することによって、各ドメインは、それぞれ仮想ＮＡＳにアクセスすることによって、あたかも独立したＮＡＳにアクセスしているように振る舞うことができる。本発明の第１の実施の形態では、ドメインごとに仮想ＮＡＳが提供される。具体的には、ドメイン１（１０Ａ）には仮想ＮＡＳ０１（ＶＮＡＳ０１）１２０Ａが対応し、ドメイン２（１０Ｂ）には仮想ＮＡＳ０２（ＶＮＡＳ０２）１２０Ｂが対応する。各ドメインは、仮想ＮＡＳを介して、ストレージ装置２００に格納されたデータにアクセスする。
【００２０】
ＮＡＳ＿ＯＳ１１０には、ＬＶＭ制御部１２５、ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０及びスナップショット管理情報１４０が含まれる。
【００２１】
ＬＶＭ制御部１２５には、ＮＡＳとしての機能を提供するための制御プログラム及び制御情報が含まれる。ＬＶＭ制御部１２５は、ドメインから要求されたデータにアクセスするために、スナップショット管理情報１４０に格納された情報に基づいて、要求されたデータが格納されている場所（ｃｈｕｎｋＮｏ）を特定する。ｃｈｕｎｋとは、ストレージ装置２００によって提供される記憶領域の管理単位である。ｃｈｕｎｋのサイズは、記憶領域を提供する記憶媒体などに応じて決定される。ｃｈｕｎｋＮｏは、各ｃｈｕｎｋを識別する識別子である。
【００２２】
ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０には、仮想ＮＡＳとストレージ装置２００によって提供される記憶領域（ＨＬＵＮ、Ｈｏｓｔ  ＬＵＮ）との対応が格納される。ＨＬＵＮとは、外部からストレージ装置２００によって提供される記憶領域を識別する識別情報である。具体的には、対応するスナップショットの識別情報、データを格納するボリュームの識別情報などが格納される。ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０の詳細については、図２にて後述する。
【００２３】
スナップショット管理情報１４０には、スナップショットのデータ格納領域の管理単位であるＣｈｕｎｋごとに、データの格納先及びデータが更新されたか否かなどの情報が格納されている。スナップショット管理情報１４０の詳細については、図３にて後述する。
【００２４】
さらに、ＮＡＳ＿ＯＳ１１０は、更新可能なスナップショットを提供する機能を有する。更新可能なスナップショットとは、前述したように、ストレージ装置２００に格納されたオリジナルデータを更新する場合に、更新されたデータを差分として別に格納することによって、データの更新を可能とするスナップショットである。本発明の第１の実施の形態では、複数の仮想ＮＡＳで同じオリジナルデータを利用し、仮想ＮＡＳごとに更新データに対応する差分を格納する。
【００２５】
ＮＩＣ（１０３Ａ及び１０３Ｂ）は、ＬＡＮ２０を介してドメインに接続されるインターフェースである。ＦＣＩ／Ｆ（１０４Ａ及び１０４Ｂ）は、ＳＡＮ３０を介してストレージ装置２００に接続するためのインターフェースである。
【００２６】
ストレージ装置２００は、マイクロプロセッサ２０１、メモリ２０２、ＦＣＩ／Ｆ（２０４Ａ及び２０４Ｂ）、オリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０を備える。
【００２７】
マイクロプロセッサ２０１は、ＮＡＳヘッド１００などから送信されたアクセス要求を受け付け、各種制御を実行する。メモリ２０２は、ストレージ装置２００によって提供された記憶領域に対して読み書きされるデータを一時的に格納する。また、マイクロプロセッサ２０１による各種制御を実行するためのプログラムを記憶する。ＦＣＩ／Ｆ（２０４Ａ及び２０４Ｂ）は、ＳＡＮ３０を介して、ＮＡＳヘッド１００などに接続されるインターフェースである。
【００２８】
オリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０は、更新可能なスナップショットを提供するために用いられる。オリジナルデータ格納ボリューム２１０は、オリジナルのデータが格納されるボリュームである。差分データ格納ボリューム２２０は、更新可能スナップショットに格納されたデータを更新する場合に、更新されたデータが格納される。すなわち、通常の処理ではオリジナルデータ格納ボリューム２１０に格納されたデータは更新されず、更新されたデータは、差分データ格納ボリューム２２０に格納される。
【００２９】
ストレージ装置２００のＦＣＩ／Ｆ２０４Ａ及び２０４Ｂは、ＨＬＵＮ（Ｈｏｓｔ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｏ）によって識別される。また、オリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０などの各ボリュームは、ＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｏ）によって識別される。ＮＡＳヘッド１００などからＨＬＵＮを指定して送信されたコマンドは、マイクロプロセッサ２０１によって解析される。マイクロプロセッサ２０１は、受け付けたコマンドに含まれるＨＬＵＮ及び論理ブロックアドレス（ＬＢＡ）などの情報に基づいて、アクセス先のボリューム及びアドレスを特定し、要求された処理を実行する。
【００３０】
図２は、本発明の第１の実施の形態のＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０の一例を示す図である。
【００３１】
ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０には、前述のように、仮想ＮＡＳとストレージ装置２００によって提供される記憶領域（ボリューム）との対応が格納される。
【００３２】
ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０は、ＶＮＡＳＩＤ１３１、テーブル種別１３２、オリジナルデータ格納ボリュームＨＬＵＮ１３３、差分データ格納ボリュームＨＬＵＮ１３４及びＳｎａｐｓｈｏｔＮｏ１３５を含む。
【００３３】
ＶＮＡＳＩＤ１３１は、ＮＡＳヘッド１００によって提供されている仮想ＮＡＳを一意に識別する識別子である。
【００３４】
テーブル種別１３２は、仮想ＮＡＳに対応するスナップショットが更新可能スナップショットであるか否かを示す情報である。更新可能スナップショットである場合には、オリジナルデータ格納ボリュームと差分データ格納ボリュームによって仮想的に１つのＬＵ（論理ユニット、Ｌｏｇｉｃａｌ  Ｕｎｉｔ）を構成する仮想ＬＵを示す「ＶｉｒｔｕａｌＬＵ」が設定される。更新可能スナップショットでない場合には、オリジナルデータ格納ボリュームのみが対応する実ＬＵを示す「ＰｈｙｓｉｃａｌＬＵ」が設定される。「ＰｈｙｓｉｃａｌＬＵ」が設定されている場合には、オリジナルデータ格納ボリューム２１０のみが割り当てられた読み取り専用のスナップショットであってもよいし、通常のＬＵが割り当てられてもよい。
【００３５】
一例として、各仮想ＮＡＳを制御するＮＡＳ＿ＯＳ（ＶＮＡＳ＿ＯＳ）を構成するファイルが当該ＬＵに格納される場合について説明する。テーブル種別１３２に「ＶｉｒｔｕａｌＬＵ」が設定されている場合には、コマンドファイルなどの各仮想ＮＡＳで共有可能なデータがオリジナルデータ格納ボリューム２１０に格納され、環境設定情報などの仮想ＮＡＳごとに設定可能なデータが差分データ格納ボリューム２２０に格納される。一方、テーブル種別１３２に「ＰｈｙｓｉｃａｌＬＵ」が設定されている場合には、ＶＮＡＳ＿ＯＳを構成するすべてのファイルが他の仮想ＮＡＳと独立して格納される。この場合には、更新ログなど更新されるファイルを格納するために、スナップショットではなく、更新可能な通常のＬＵが割り当てられる。
【００３６】
オリジナルデータ格納ボリュームＨＬＵＮ１３３は、オリジナルデータ格納ボリューム２１０を識別するＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）である。差分データ格納ボリュームＨＬＵＮ１３４には、差分データ格納ボリューム２２０を識別するＬＵＮである。
【００３７】
ＳｎａｐｓｈｏｔＮｏ１３５は、ＶＮＡＳＩＤ１３１によって識別される仮想ＮＡＳに対応するスナップショットの識別子である。
【００３８】
図３は、本発明の第１の実施の形態のスナップショット管理情報１４０の一例を示す図である。
【００３９】
スナップショット管理情報１４０は、スナップショット管理テーブル１５０、テーブル配置マップ１６０、更新ビットマップ１７０及び格納先フラグ１８０を含む。
【００４０】
スナップショット管理テーブル１５０には、オリジナルデータ格納ボリューム２１０のｃｈｕｎｋごとに、各スナップショットで実際に参照されるデータの格納位置などが格納される。
【００４１】
スナップショット管理テーブル１５０は、ｃｈｕｎｋＮｏ１５２ごとに、ＳｎａｐｓｈｏｔＮｏ１５１によって特定される各スナップショットに対応する情報が格納される。スナップショットに対応する情報には、ＣｏＷ（Ｃｏｐｙ  Ｏｎ  Ｗｒｉｔｅ）要求情報１５３、更新状態ビット１５４及びマッピング情報１５５が含まれる。
【００４２】
ＣｏＷ要求情報１５３は、対応するｃｈｕｎｋに格納されたデータがオリジナルデータ格納ボリューム２１０に格納されているか、差分データ格納ボリューム２２０に格納されているかを示す情報である。対応するＣｈｕｎｋに格納されたデータがオリジナルデータ格納ボリューム２１０に格納されている場合には「Ｎｅｅｄ＿ＣｏＷ」が設定され、差分データ格納ボリューム２２０に格納されている場合には「ＣｏＷ＿Ｔｈｒｏｕｇｈ」が設定される。
【００４３】
更新状態ビット１５４には、スナップショットの採取又は削除時に遅延更新処理が実行されている場合に、対応するｃｈｕｎｋに格納されたデータが更新中であるか否かが格納される。更新中の場合には「Ｂｕｓｙ」が設定され、処理されていない場合には「Ｉｄｌｅ」が設定される。
【００４４】
マッピング情報１５５には、対応するｃｈｕｎｋに格納されたデータが差分データ格納ボリューム２２０に格納されている場合に、差分データ格納ボリューム２２０のアドレス（ｃｈｕｎｋＮｏ）が格納される。したがって、ＣｏＷ要求情報１５３に「ＣｏＷ＿Ｔｈｒｏｕｇｈ」が設定されている場合に値が設定される。なお、ＣｏＷ要求情報１５３に「Ｎｅｅｄ＿ＣｏＷ」が設定されている場合には、データが更新されていないため、オリジナルデータ格納ボリューム２１０に指定されたデータが参照され、マッピング情報１５５にはＮＵＬＬが設定される。
【００４５】
テーブル配置マップ１６０は、スナップショット管理情報１４０が格納されている実ＬＵのアドレスが格納される。スナップショット管理情報１４０は、システムの稼働中にはメモリ１０２に記憶されているが、システム停止時などには実ＬＵに退避されているため、システム起動時などにはテーブル配置マップ１６０を参照し、スナップショット管理情報１４０をメモリ１０２に読み出す。
【００４６】
更新ビットマップ１７０は、スナップショット採取時にシステムがリブートされた場合などにデータの更新処理の整合性を保証するためにデータの更新状況を記録する。
【００４７】
格納先フラグ１８０は、ドメインから更新が要求されたデータの格納先を指定するフラグである。格納先フラグ１８０には、「オリジナルデータ」又は「差分データ」が設定される。格納先フラグ１８０に「オリジナルデータ」が設定されている場合にはオリジナルデータ格納ボリューム２１０に更新データが格納され、「差分データ」が設定されている場合には差分データ格納ボリューム２２０に更新データが格納される。本発明の第１の実施の形態では、格納先フラグ１８０を切り替えることによって、同じオリジナルデータ格納ボリューム２１０にポイントされた複数の更新可能なスナップショットに対し、個別に更新したり、一括して更新したりすることができる。
【００４８】
以上が本発明の第１の実施の形態の計算機システムの構成である。以下、本発明の第１の実施の形態の処理について詳細を説明する。まず、通常の更新処理について図４から図６を参照しながら説明する。
【００４９】
図４は、本発明の第１の実施の形態のスナップショットに対する更新処理の手順を示すフローチャートである。
【００５０】
ＮＡＳヘッド１００のＣＰＵ１０１は、ドメイン１０ＡからＶＮＡＳ１２０Ａ（又はドメイン１０ＢからＶＮＡＳ１２０Ｂ）に対するデータの更新要求を受け付けると、更新要求に含まれる更新データの格納先領域（対象ｃｈｕｎｋ）を取得するために、スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理を実行する（Ｓ４０１）。スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理の詳細については、図５にて後述する。
【００５１】
ＮＡＳヘッド１００のＣＰＵ１０１は、Ｓ４０１のスナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理によって取得された対象ｃｈｕｎｋの情報を、ドメインから要求された処理に基づいて参照又は更新するために、スナップショット管理テーブル参照／更新処理を実行する（Ｓ４０２）。スナップショット管理テーブル参照／更新処理の詳細については、図６にて後述する。
【００５２】
最後に、ＮＡＳヘッド１００のＣＰＵ１０１は、Ｓ４０１及びＳ４０２の処理によって特定された対象ｃｈｕｎｋに更新データを書き込む（Ｓ４０３）。
【００５３】
図５は、本発明の第１の実施の形態のスナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理の手順を示すフローチャートである。
【００５４】
スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理は、ドメインから送信された更新要求に基づいて、オリジナルデータ格納ボリューム２１０における対象ｃｈｕｎｋを特定する。さらに、スナップショット管理テーブル１５０から対応する情報を取得する。以下、処理について具体的に説明する。
【００５５】
ＮＡＳヘッド１００のＣＰＵ１０１は、ＮＡＳ＿ＯＳ１１０のＬＶＭ制御部１２５によって、ドメインから受信した更新要求に含まれる「宛先ＨＬＵＮ」、「宛先ＬＢＡ」及び「ブロックサイズ」を取得する（Ｓ５０１）。宛先ＨＬＵＮは、更新対象のデータが格納されるボリュームを識別するＬＵＮである。宛先ＬＢＡは、宛先ＨＬＵＮによって特定されたボリュームの論理アドレスである。ブロックサイズは、データが読み書きされるブロックのサイズである。
【００５６】
ＮＡＳヘッド１００のＣＰＵ１０１は、Ｓ５０１の処理で取得された宛先ＬＢＡ及びブロックサイズに基づいて宛先ｃｈｕｎｋＮｏを算出する（Ｓ５０２）。宛先ｃｈｕｎｋＮｏは、更新対象のデータが格納される領域の識別情報である。具体的には、宛先ｃｈｕｎｋＮｏは、宛先ＬＢＡ／ブロックサイズで算出される。
【００５７】
ＮＡＳヘッド１００のＣＰＵ１０１は、ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０を参照し、更新要求を受け付けた仮想ＮＡＳの識別情報がＶＮＡＳＩＤ１３１に一致するレコードのテーブル種別１３２から対応するＬＵの種類を取得する（Ｓ５０３）。
【００５８】
なお、更新要求を受け付けた仮想ＮＡＳに対応するＬＵが実ＬＵの場合、又は、格納先フラグ１８０が「オリジナルデータ」の場合には、Ｓ５０２の処理で算出された宛先ｃｈｕｎｋＮｏに基づいて、更新データを格納すればよい。一方、更新要求を受け付けた仮想ＮＡＳに対応するＬＵが仮想ＬＵであって、かつ、格納先フラグ１８０が「差分データ」の場合には、スナップショット管理テーブル１５０を参照し、更新データを実際に格納する領域を特定する必要がある。
【００５９】
ＮＡＳヘッド１００のＣＰＵ１０１は、ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０を参照し、更新要求を受け付けた仮想ＮＡＳの識別情報に基づいて、対応するスナップショットの識別情報（ＳｎａｐｓｈｏｔＮｏ１３５）を取得する（Ｓ５０４）。
【００６０】
さらに、ＮＡＳヘッド１００のＣＰＵ１０１は、Ｓ５０２の処理で取得された宛先ｃｈｕｎｋＮｏとＳ５０４の処理で取得されたＳｎａｐｓｈｏｔＮｏ１３５に基づいて、スナップショット管理テーブル１５０から対応する情報を取得する（Ｓ５０５）。
【００６１】
図６は、本発明の第１の実施の形態のスナップショット管理テーブル参照／更新処理の手順を示すフローチャートである。
【００６２】
スナップショット管理テーブル参照／更新処理では、更新データの格納先が更新中の場合には更新が完了するまで待機し、さらに、仮想ＬＵに更新データを格納する場合には格納先である差分データ格納ボリューム２２０のｃｈｕｎｋを特定する。
【００６３】
ＮＡＳヘッド１００のＣＰＵ１０１は、スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理で取得された対象ｃｈｕｎｋの更新状態ビット１５４の値が「Ｂｕｓｙ」か否かを判定する（Ｓ６０１）。更新状態ビット１５４の値が「Ｂｕｓｙ」の場合には（Ｓ６０１の結果が「Ｙｅｓ」）、更新が終了するまで待機する（Ｓ６０２）。
【００６４】
ＮＡＳヘッド１００のＣＰＵ１０１は、次に、対象の仮想ＮＡＳに対応するＬＵが仮想ＬＵ、かつ、格納先フラグが「差分データ」であるか否かを判定する（Ｓ６０３）。すなわち、更新データの格納先が差分データ格納ボリューム２２０であるか否かを判定する。更新先が差分データ格納ボリューム２２０でない場合には（Ｓ６０３の結果が「Ｎｏ」）、スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理で取得された対象ｃｈｕｎｋに格納されているデータを更新すればよいため、本処理を終了する。
【００６５】
ＮＡＳヘッド１００のＣＰＵ１０１は、更新先が差分データ格納ボリューム２２０である場合には（Ｓ６０３の結果が「Ｙｅｓ」）、ＣｏＷ要求情報１５３を参照し、対象ｃｈｕｎｋが更新されたことがあるか否かを判定する（Ｓ６０４）。なお、対象ｃｈｕｎｋが更新されたことがある場合には、更新データが差分データ格納ボリューム２２０に格納されているため、ＣｏＷ要求情報１５３に「ＣｏＷ＿Ｔｈｒｏｕｇｈ」が設定されている。一方、対象ｃｈｕｎｋが更新されたことがない場合には、オリジナルデータ格納ボリューム２１０に格納されたデータを参照するため、ＣｏＷ要求情報１５３に「Ｎｅｅｄ＿ＣｏＷ」が設定されている。
【００６６】
ＮＡＳヘッド１００のＣＰＵ１０１は、対象ｃｈｕｎｋが更新されたことがある場合には（Ｓ６０４の結果が「Ｙｅｓ」）、マッピング情報１５５を参照し、差分データ格納ボリューム２２０のｃｈｕｎｋを識別するｃｈｕｎｋＮｏを取得する（Ｓ６０５）。一方、対象ｃｈｕｎｋが更新されたことがない場合には（Ｓ６０４の結果が「Ｎｏ」）、差分データ格納ボリューム２２０に新たに更新データを格納するための領域を特定し、当該領域に対応するｃｈｕｎｋＮｏをマッピング情報１５５に書き込む（Ｓ６０６）。このとき、ＣｏＷ要求情報１５３の値を「Ｎｅｅｄ＿ＣｏＷ」から「ＣｏＷ＿Ｔｈｒｏｕｇｈ」に更新する。
【００６７】
スナップショット管理テーブル参照／更新処理が終了すると、ＮＡＳヘッド１００のＣＰＵ１０１は、図４のＳ４０３の処理で、以上の処理によって特定されたｃｈｕｎｋに更新データを書き込み、本処理を終了する。
【００６８】
以上説明した更新処理は、格納先フラグ１８０がユーザによってあらかじめ設定され、更新が要求されたスナップショットに仮想ＬＵが割り当てられている場合に、設定された格納先フラグ１８０の値に基づいてデータが更新される。すなわち、ユーザが更新する内容などに応じて更新データを格納する領域を随時切り替える。例えば、複数の環境で利用されているシステムにおいて、マスタ情報など共通して利用される情報を更新する場合に利用される。各システムで個別に更新及び追加される情報については、仮想ＮＡＳごとに割り当てられた差分データ格納ボリューム２２０の領域に格納される。
【００６９】
さらに、本発明の第１の実施の形態の計算機システムで提供されている仮想ＮＡＳごとに実行されているＶＮＡＳ＿ＯＳをバージョンアップする場合について説明する。前述のように、ＶＮＡＳ＿ＯＳのコマンドファイルなどは各仮想ＮＡＳで共通に利用することが可能であるため、オリジナルデータ格納ボリューム２１０に格納される。一方、ログファイルなどは仮想ＮＡＳごとに保持される情報であるため、差分データ格納ボリューム２２０に格納される。
【００７０】
図７は、本発明の第１の実施の形態のＶＮＡＳ＿ＯＳを更新するための手順を示すフローチャートである。
【００７１】
ＮＡＳヘッド１００のＣＰＵ１０１は、任意のドメインからＶＮＡＳ＿ＯＳのバージョンアップ要求を受け付ける（Ｓ７０１）。計算機システムに管理端末が含まれている場合には、管理端末からＶＮＡＳ＿ＯＳのバージョンアップ要求を受け付けるようにしてもよい。ここでは、ＮＡＳヘッド１００によって提供されているすべての仮想ＮＡＳについて、ＶＮＡＳ＿ＯＳをバージョンアップする。また、ＶＮＡＳ＿ＯＳのバージョンアップ要求の受け付け時にＶＮＡＳ＿ＯＳのバージョンアップに必要な更新データは既にＮＡＳヘッド１００に受け付けられているものとする。
【００７２】
ＮＡＳヘッド１００のＣＰＵ１０１は、ＶＮＡＳ＿ＯＳのバージョンアップ要求を受け付けると、格納先フラグ１８０を「オリジナルデータ」に設定する（Ｓ７０２）。前述のように、格納先フラグ１８０を「オリジナルデータ」に設定することによって、各ＶＮＡＳ＿ＯＳを構成するファイルの更新対象を差分データ格納ボリューム２２０からオリジナルデータ格納ボリューム２１０に切り替えることができる。
【００７３】
ＮＡＳヘッド１００のＣＰＵ１０１は、スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理を実行し（Ｓ７０３）、更新データを格納する対象ｃｈｕｎｋを特定する。なお、スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理は、図５にて説明した手順と同様である。
【００７４】
ＮＡＳヘッド１００のＣＰＵ１０１は、スナップショット管理テーブル参照／更新処理を実行する（Ｓ７０４）。なお、スナップショット管理テーブル参照／更新処理は、図６にて説明した手順と同様である。
【００７５】
ＮＡＳヘッド１００のＣＰＵ１０１は、スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理で特定された対象ｃｈｕｎｋに更新データを書き込む（Ｓ７０５）。更新データの書き込みが終了すると、格納先フラグ１８０を「差分データ」に設定し（Ｓ７０６）、更新データの格納先を差分データ格納ボリューム２２０に切り替える。
【００７６】
このようにＶＮＡＳ＿ＯＳのバージョンアップの際に、ＶＮＡＳ＿ＯＳを構成するファイルの格納先について、格納先フラグを「オリジナルデータ」に切り替えることによって、各仮想ＮＡＳのＯＳのバージョンアップを同時に行うことができる。また、各仮想ＮＡＳで設定された設定ファイル及びログファイルなどは、差分データ格納ボリューム２２０にそのまま保持されているため、カスタマイズされた環境などを維持することができる。
【００７７】
さらに、本発明の第１の実施の形態のＮＡＳヘッド１００において、仮想ＮＡＳを追加する手順及び稼働中の仮想ＮＡＳのＯＳをバージョンアップする手順を、画面例を参照しながら説明する。まず、画面例を説明する前に、共通のオリジナルデータ格納ボリューム２１０を利用する仮想ＮＡＳの集合である仮想ＮＡＳグループについて説明する。
【００７８】
図８は、本発明の第１の実施の形態の仮想ＮＡＳグループを説明する図である。
【００７９】
本発明の第１の実施の形態では、仮想ＮＡＳごとにＶＮＡＳ＿ＯＳが稼働している。このとき、ＶＮＡＳ＿ＯＳを稼働させるために必要なファイルのうち、コマンドファイルのように、各仮想ＮＡＳで共通して利用可能なファイルをオリジナルデータ格納ボリューム２１０に格納する。また、ログファイルのように、各仮想ＮＡＳで保持されるデータを差分データ格納ボリューム２２０に格納する。このように、同じオリジナルデータ格納ボリューム２１０に格納された構成ファイルによってＶＮＡＳ＿ＯＳが稼働している仮想ＮＡＳを「仮想ＮＡＳグループ」とする。
【００８０】
本発明の第１の実施の形態では、１つの仮想ＮＡＳグループにオリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０が一つずつ対応するように構成されている。また、差分データ格納ボリューム２２０に各仮想ＮＡＳ固有のデータが格納されているが、仮想ＮＡＳごとに差分データ格納ボリューム２２０を有するように構成してもよい。また、１つの仮想ＮＡＳグループに複数のオリジナルデータ格納ボリューム２１０を対応させてもよい。
【００８１】
続いて、ＮＡＳヘッド１００に仮想ＮＡＳの追加を要求する手順について、画面例を参照しながら説明する。
【００８２】
図９は、本発明の第１の実施の形態の仮想ＮＡＳを追加するための仮想ＮＡＳ追加画面９００の一例を示す図である。
【００８３】
図９に示す仮想ＮＡＳ追加画面９００では、単体の仮想ＮＡＳを追加する機能と、仮想ＮＡＳグループを追加する機能を実行することができる。
【００８４】
単体の仮想ＮＡＳを追加する場合には、まず、仮想ＮＡＳ追加（単体）９１０を選択し、さらに、入力欄９１１などに必要な情報を入力する。
【００８５】
一方、仮想ＮＡＳグループを新たに生成、又は既存の仮想ＮＡＳグループに新たに仮想ＮＡＳを追加する場合には、まず、仮想ＮＡＳ追加（グループ）９２０を選択する。そして、仮想ＮＡＳグループの新規作成、又は仮想ＮＡＳグループリスト９２１から追加する仮想ＮＡＳグループを選択する。
【００８６】
既存の仮想ＮＡＳグループを選択した場合には、選択された仮想ＮＡＳグループに対応するオリジナルデータ格納ボリューム２１０と差分データ格納ボリューム２２０を新たに追加された仮想ＮＡＳに割り当てる。
【００８７】
仮想ＮＡＳグループを新規作成する場合には、ＬＵ選択欄９３０からオリジナルデータ格納ボリューム２１０に対応するＬＵと、差分データ格納ボリューム２２０に対応するＬＵとを選択する。オリジナルデータ格納ボリューム２１０に対応するＬＵを選択する場合には、オリジナルデータ格納ボリューム追加ボタン９３１を操作する。また、差分データ格納ボリューム２２０に対応するＬＵを選択する場合には差分データ格納ボリューム追加ボタン９３２を操作する。選択されたオリジナルデータ格納ボリューム及び差分データ格納ボリュームは、選択済みＬＵリスト９３４に追加される。また、選択されたＬＵを解除する場合には、選択済みＬＵリスト９３４に含まれているＬＵを選択し、ＬＵ削除ボタン９３３を操作する。
【００８８】
すべての必要な項目の入力を完了し、ＯＫボタン９３５を操作すると、仮想ＮＡＳグループ確認画面が表示される。なお、仮想ＮＡＳ追加グループ確認画面の詳細については、図１０にて後述する。
【００８９】
新たに仮想ＮＡＳが追加される仮想ＮＡＳグループの内容が確認されると、仮想ＮＡＳの追加処理が実行され、仮想ＮＡＳグループ追加完了通知画面が表示される。なお、仮想ＮＡＳグループ追加完了通知画面の詳細については、図１１にて後述する。
【００９０】
図１０は、本発明の第１の実施の形態の仮想ＮＡＳ追加グループ確認画面の一例を示す図である。
【００９１】
仮想ＮＡＳ追加グループ確認画面には、仮想ＮＡＳが追加された仮想ＮＡＳグループに含まれる仮想ＮＡＳの一覧と、当該仮想ＮＡＳグループに割り当てられたオリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０に対応するＬＵの識別情報が表示される。
【００９２】
管理者は、表示された内容が正しければ、「ＯＫ」ボタンを操作し、内容を変更する必要がある場合には、「Ｃａｎｃｅｌ」ボタンを操作する。「ＯＫ」ボタンが操作されると、前述のように、仮想ＮＡＳの追加処理が実行される。
【００９３】
図１１は、本発明の第１の実施の形態の仮想ＮＡＳグループ追加完了通知画面の一例を示す図である。
【００９４】
前述のように、仮想ＮＡＳ追加グループ確認画面の「ＯＫ」ボタンが操作されると、仮想ＮＡＳの追加処理が実行される。仮想ＮＡＳグループ追加完了通知画面は、仮想ＮＡＳの追加処理が完了したことを通知するために表示される。
【００９５】
さらに、仮想ＮＡＳのＯＳをバージョンアップする手順について説明する。ここでは、特に仮想ＮＡＳグループに属するすべての仮想ＮＡＳのＯＳをバージョンアップする場合について説明する。
【００９６】
図１２は、本発明の第１の実施の形態の仮想ＮＡＳのＯＳを管理する仮想ＮＡＳ＿ＯＳ管理画面１２００の一例を示す図である。
【００９７】
仮想ＮＡＳ＿ＯＳ管理画面１２００では、ＯＳに関連するファイル（プログラム）を新たにインストールしたり、インストール済みのファイルをアンインストールしたりする機能を有する。さらに、インストール済みのファイルをバージョンアップする機能を有する。
【００９８】
仮想ＮＡＳ＿ＯＳ管理画面１２００には、インストール済みプログラムリスト１２０１及びインストール可能プログラムリスト１２０３が含まれている。
【００９９】
インストール済みプログラムリスト１２０１には、仮想ＮＡＳにインストール済みのプログラムが格納されている。インストール済みプログラムリスト１２０１に示されているファイルは処理を実行するためのプログラムであって、設定ファイルなどは、プログラムのインストール後、仮想ＮＡＳごとの設定画面（別画面）で作成又は設定される。
【０１００】
なお、インストール済みのファイルは、ファイル選択後、アンインストールボタン１２０２を操作することによって削除することが可能である。
【０１０１】
インストール可能プログラムリスト１２０３には、仮想ＮＡＳに新たにインストール可能なファイルの一覧が表示される。インストール可能プログラムリスト１２０３に表示されたファイルは、インストール済みプログラムよりもバージョンが新しいファイル、又はインストールされていないプログラムのファイルなどである。
【０１０２】
インストールモード１２０４には、既存の仮想ＮＡＳにファイルをインストールする更新モードと、新たに追加された仮想ＮＡＳにＯＳをインストールする新規インストールとがある。図７に示した仮想ＮＡＳのＯＳバージョンアップ処理を実行する場合には、更新インストールが選択される。
【０１０３】
バージョンアップモード１２０５には、指定された仮想ＮＡＳが属する仮想ＮＡＳグループに含まれるすべての仮想ＮＡＳに対してファイルをインストールするグループモードと、指定された仮想ＮＡＳに対してのみファイルをインストールする単体モードとがある。本発明の第１の実施の形態における図７に示した仮想ＮＡＳのＯＳバージョンアップ処理を実行する場合には、グループモードが選択される。
【０１０４】
単体モードでは、インストールされるファイルが差分データ格納ボリューム２２０に格納される。一方、グループモードでは、オリジナルデータ格納ボリューム２１０に格納されることで、指定された仮想ＮＡＳが属する仮想ＮＡＳグループに含まれるすべての仮想ＮＡＳに対してファイルをインストール（バージョンアップ）することができる。
【０１０５】
仮想ＮＡＳ＿ＯＳ管理画面１２００に設定が必要な項目に値を入力した後、ＯＫボタン１２０６が操作されると、インストール対象の仮想ＮＡＳの確認画面が表示される。なお、確認画面の詳細については、図１３にて後述する。
【０１０６】
さらに、インストール対象の仮想ＮＡＳの確認画面で、インストール対象の仮想ＮＡＳが確認されると、ファイルのインストールが開始され、インストールの完了後、完了通知画面が表示される。なお、完了通知画面の詳細については、図１４にて後述する。
【０１０７】
図１３は、本発明の第１の実施の形態の仮想ＮＡＳのＯＳのバージョンアップ時の確認画面の一例を示す図である。
【０１０８】
インストール確認画面には、グループモードの場合には、インストール対象の仮想ＮＡＳが追加された仮想ＮＡＳグループに含まれる仮想ＮＡＳの一覧と、当該仮想ＮＡＳグループに割り当てられたオリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０に対応するＬＵの識別情報が表示される。一方、単体モードの場合には、仮想ＮＡＳ名のみが表示される。
【０１０９】
管理者は、表示された内容が正しければ、「ＯＫ」ボタンを操作し、内容を変更する必要がある場合には、「Ｃａｎｃｅｌ」ボタンを操作する。「ＯＫ」ボタンが操作されると、ファイルのインストールが開始される。具体的は、図７に示した仮想ＮＡＳのＯＳバージョンアップ処理が実行される。
【０１１０】
図１４は、本発明の第１の実施の形態の仮想ＮＡＳのＯＳのバージョンアップの完了を通知する画面の一例を示す図である。
【０１１１】
前述のように、インストール確認画面の「ＯＫ」ボタンが操作されると、選択されたファイルのインストールが実行される。インストール完了通知画面は、ファイルのインストールが完了したことを通知するために表示される。
【０１１２】
以上が、複数の仮想ＮＡＳでそれぞれ稼働しているＶＮＡＳ＿ＯＳを一括してバージョンアップする手順である。
【０１１３】
なお、仮想ＮＡＳのＯＳをバージョンアップする例を、図１２などを参照しながら説明したが、例えば、ファイルを保存する際に、格納先フラグ１８０を切り替えるための画面を表示するなどして、個別にファイルの格納先を切り替えるようにしてもよい。また、格納先フラグ１８０を切り替えるための画面は、ファイルの保存するための画面に格納先フラグ１８０を切り替えるチェックボックスを追加することでも実現することが可能である。ＮＡＳヘッド１００は、更新データの格納先の切り替え指示を受け付けると、要求に応じて格納先フラグ１８０を設定する。このように、ドメインからの要求に応じて格納先フラグ１８０を設定することも可能である。
【０１１４】
さらに、本発明の第１の実施の形態では、ＮＡＳヘッド１００とストレージ装置２００とが分離された構成となっていたが、ＮＡＳヘッド１００とストレージ装置２００とが一体のＮＡＳであっても、本発明を適用するとは可能である。この場合、仮想ＮＡＳとＨＬＵＮとの対応を格納するＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０の代わりに、仮想ＮＡＳとボリューム（ＬＵＮ）との対応を管理するテーブルを利用すればよい。
【０１１５】
本発明の第１の実施の形態によれば、複数の仮想ＮＡＳに対して一括してデータを更新するか、仮想ＮＡＳごとに個別にデータを更新するかを、利用者によって容易に切り替えることができる。したがって、すべての仮想ＮＡＳで共有されているデータを仮想ＮＡＳごとに更新せずに一括してデータを更新することができる。
【０１１６】
さらに、仮想ＮＡＳごとに個別に更新データを格納する場合には仮想ＮＡＳごとに更新データを保持する必要があるが、本発明の第１の実施の形態によれば、共有するボリュームに格納されたデータを更新することによって、更新データを保持するために必要な記憶容量を少なくすることができる。
【０１１７】
本発明の第１の実施の形態によれば、共有されているデータを更新した差分はそのまま保持されているため、更新前に変更された内容を仮想ＮＡＳごとにそのまま保持することができる。
【０１１８】
本発明の第１の実施の形態によれば、ＯＳを一括してバージョンアップすることが可能であるため、ＯＳのバージョンアップに要する時間を削減することができ、運用コストを低減させることができる。また、前述のように、オリジナルデータから変更された差分データは、そのまま保持されているため、カスタマイズされた環境設定などをそのまま継承することができる。
【０１１９】
（第２の実施の形態）
本発明の第１の実施の形態では、ＮＡＳヘッド１００が更新データの格納先を切り替えていたが、第２の実施の形態では、ストレージ装置２００が単体で更新データの格納先を切り替える。
【０１２０】
なお、第２の実施の形態において、第１の実施の形態と共通する内容については適宜説明を省略する。
【０１２１】
図１５は、本発明の第２の実施の形態の計算機システムの構成を示す図である。
【０１２２】
本発明の第２の実施の形態の計算機システムには、第１の実施の形態と同様に、ＮＡＳヘッド１００及びストレージ装置２００が含まれている。
【０１２３】
本発明の第２の実施の形態では、前述のように、ストレージ装置２００が単体で更新データの格納先を切り替える機能を有する。したがって、ＶＮＡＳ−ＨＬＵＮマッピングテーブル１３０及びスナップショット管理情報１４０をＮＡＳヘッド１００に必要としないため、従来技術によって実装されたＮＡＳヘッドを利用することができる。
【０１２４】
一方、ストレージ装置２００には、更新データの格納先を切り替えるために必要なＨＬＵＮ−ＬＵＮマッピングテーブル２３０及びスナップショット管理情報２４０が備えられる。また、ストレージ装置２００には、更新可能なスナップショットを提供する機能を有している。なお、その他の構成については、第１の実施の形態と同様である。
【０１２５】
ＨＬＵＮ−ＬＵＮマッピングテーブル２３０は、ストレージ装置２００のＦＣＩ／Ｆ２０４に対応するＨＬＵＮとオリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０とを対応付ける。ＨＬＵＮ−ＬＵＮマッピングテーブル２３０の詳細については、図１７にて後述する。
【０１２６】
スナップショット管理情報２４０の構成は、第１の実施の形態のスナップショット管理情報１４０と同じである。
【０１２７】
図１６は、本発明の第２の実施の形態のＨＬＵＮ−ＬＵＮマッピングテーブル２３０の一例を示す図である。
【０１２８】
ＨＬＵＮ−ＬＵＮマッピングテーブル２３０には、前述のように、ＨＬＵＮとオリジナルデータ格納ボリューム２１０及び差分データ格納ボリューム２２０との対応が格納される。なお、仮想ＮＡＳとＨＬＵＮとの関係については、ＮＡＳヘッド１００に記憶されるが、一般的な仮想ＮＡＳの実装に必要な情報である。
【０１２９】
ＨＬＵＮ−ＬＵＮマッピングテーブル２３０は、ＨＬＵＮＩＤ２３１、テーブル種別１３２、オリジナルデータ格納ボリュームＬＵＮ２３３、差分データ格納ボリュームＬＵＮ２３４及びＳｎａｐｓｈｏｔＮｏ２３５を含む。
【０１３０】
ＨＬＵＮＩＤ２３１は、ＮＡＳヘッド１００によって認識されるホストＬＵＮを一意に識別する識別子である。
【０１３１】
テーブル種別２３２は、第１の実施の形態のテーブル種別１３２と同様に、ＨＬＵＮＩＤ２３１に対応するスナップショットが仮想ＬＵに割り当てられているか、実ＬＵに割り当てられているかを示す情報である。仮想ＬＵの場合には「ＶｅｒｔｉａｌＬＵ」、実ＬＵの場合には「ＰｈｙｓｉｃａｌＬＵ」が設定される。
【０１３２】
オリジナルデータ格納ボリュームＬＵＮ２３３は、オリジナルデータ格納ボリューム２１０を識別するＬＵＮである。差分データ格納ボリュームＬＵＮ２３４には、差分データ格納ボリューム２２０を識別するＬＵＮである。
【０１３３】
ＳｎａｐｓｈｏｔＮｏ１３５は、ＨＬＵＮＩＤ２３１によって識別されるＨＬＵＮに対応するスナップショットの識別子である。
【０１３４】
図１７は、本発明の第２の実施の形態のスナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理の手順を示すフローチャートである。
【０１３５】
スナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理は、ＮＡＳヘッド１００から受信したＷｒｉｔｅコマンドに含まれる情報に基づいて、対象ｃｈｕｎｋを特定する。基本的には、第１の実施の形態の図５に示した手順と同じである。以下、具体的に処理について説明する。
【０１３６】
ストレージ装置２００のマイクロプロセッサ２０１は、ＮＡＳヘッド１００からＷｒｉｔｅコマンドを受信すると、受信したＷｒｉｔｅコマンドに含まれる「宛先ＨＬＵＮ」、「宛先ＬＢＡ」及び「ブロックサイズ」を取得する（Ｓ１７０１）。「宛先ＨＬＵＮ」、「宛先ＬＢＡ」及び「ブロックサイズ」については、第１の実施の形態と同様である。
【０１３７】
ストレージ装置２００のマイクロプロセッサ２０１は、Ｓ１７０１の処理で取得された宛先ＬＢＡ及びブロックサイズに基づいて宛先ｃｈｕｎｋＮｏを算出する（Ｓ１７０２）。算出方法については、第１の実施の形態と同様である。
【０１３８】
ストレージ装置２００のマイクロプロセッサ２０１は、ＨＬＵＮ−ＬＵＮマッピングテーブル２３０を参照し、更新要求を受け付けたＨＬＵＮの識別情報がＨＬＵＮＩＤ２３１に一致するレコードのテーブル種別２３２から対応するＬＵの種類を取得する（Ｓ１７０３）。
【０１３９】
ストレージ装置２００のマイクロプロセッサ２０１は、ＨＬＵＮ−ＬＵＮマッピングテーブル２３０を参照し、更新要求を受け付けた仮想ＮＡＳの識別情報に基づいて、対応するスナップショットの識別情報（ＳｎａｐｓｈｏｔＮｏ２３５）を取得する（Ｓ１７０４）。
【０１４０】
さらに、ストレージ装置２００のマイクロプロセッサ２０１は、Ｓ１７０２の処理で取得された宛先ｃｈｕｎｋＮｏとＳ１７０４の処理で取得されたＳｎａｐｓｈｏｔＮｏ２３５の値に基づいて、スナップショット管理テーブル１５０から対応するレコードを取得する（Ｓ１７０５）。
【０１４１】
なお、仮想ＮＡＳのＯＳをバージョンアップする手順についても、動作主体がＮＡＳヘッド１００のＣＰＵ１０１からストレージ装置２００のマイクロプロセッサ２０１に変更されるが、基本的な処理手順は第１の実施の形態と同様である。
【０１４２】
本発明の第２の実施の形態によれば、仮想ＮＡＳを提供する機能を有するＮＡＳヘッド１００と、本発明の第２の実施の形態のストレージ装置２００とを組み合わせることによって、本発明の第１の実施の形態と同様の効果を得ることができる。
【０１４３】
さらに、本発明の第２の実施の形態では、ストレージ装置２００に更新データの格納先を切り替える機能が備えられている。したがって、ストレージ装置２００にスナップショットを提供する機能を有していれば、ＮＡＳヘッド１００を必要とせずに、本発明の効果を享受することができる。
【図面の簡単な説明】
【０１４４】
【図１】本発明の第１の実施の形態の計算機システムの構成を示す図である。
【図２】本発明の第１の実施の形態のＶＮＡＳ−ＨＬＵＮマッピングテーブルの一例を示す図である。
【図３】本発明の第１の実施の形態のスナップショット管理情報の一例を示す図である。
【図４】本発明の第１の実施の形態のスナップショットに対する更新処理の手順を示すフローチャートである。
【図５】本発明の第１の実施の形態のスナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理の手順を示すフローチャートである。
【図６】本発明の第１の実施の形態のスナップショット管理テーブル参照／更新処理の手順を示すフローチャートである。
【図７】本発明の第１の実施の形態のＶＮＡＳ＿ＯＳを更新するための手順を示すフローチャートである。
【図８】本発明の第１の実施の形態の仮想ＮＡＳグループを説明する図である。
【図９】本発明の第１の実施の形態の仮想ＮＡＳを追加するための仮想ＮＡＳ追加画面の一例を示す図である。
【図１０】本発明の第１の実施の形態の仮想ＮＡＳ追加グループ確認画面の一例を示す図である。
【図１１】本発明の第１の実施の形態の仮想ＮＡＳグループ追加完了通知画面の一例を示す図である。
【図１２】本発明の第１の実施の形態の仮想ＮＡＳのＯＳを管理する仮想ＮＡＳ＿ＯＳ管理画面の一例を示す図である。
【図１３】本発明の第１の実施の形態の仮想ＮＡＳのＯＳのバージョンアップ時の確認画面の一例を示す図である。
【図１４】本発明の第１の実施の形態の仮想ＮＡＳのＯＳのバージョンアップの完了を通知する画面の一例を示す図である。
【図１５】本発明の第２の実施の形態の計算機システムの構成を示す図である。
【図１６】本発明の第２の実施の形態のＨＬＵＮ−ＬＵＮマッピングテーブルの一例を示す図である。
【図１７】本発明の第２の実施の形態のスナップショット管理テーブル対象ｃｈｕｎｋ割り出し処理の手順を示すフローチャートである。
【符号の説明】
【０１４５】
１００    ＮＡＳヘッド
１０１    ＣＰＵ
１０２    メモリ
１１０    ＮＡＳ＿ＯＳ
１２５    ＬＶＭ制御部
１３０    ＶＮＡＳ−ＨＬＵＮマッピングテーブル
１４０    スナップショット管理情報
１５０    スナップショット管理テーブル
１６０    テーブル配置マップ
１７０    更新ビットマップ
１８０    格納先フラグ
２００    ストレージ装置
２０１    マイクロプロセッサ
２０２    メモリ
２１０    オリジナルデータ格納ボリューム
２２０    差分データ格納ボリューム
２３０    ＨＬＵＮ−ＬＵＮマッピングテーブル
２４０    スナップショット管理情報
【図１】
2010102479.tif 000003
【図２】
2010102479.tif 000004
【図３】
2010102479.tif 000005
【図４】
2010102479.tif 000006
【図５】
2010102479.tif 000007
【図６】
2010102479.tif 000008
【図７】
2010102479.tif 000009
【図８】
2010102479.tif 000010
【図９】
2010102479.tif 000011
【図１０】
2010102479.tif 000012
【図１１】
2010102479.tif 000013
【図１２】
2010102479.tif 000014
【図１３】
2010102479.tif 000015
【図１４】
2010102479.tif 000016
【図１５】
2010102479.tif 000017
【図１６】
2010102479.tif 000018
【図１７】
2010102479.tif 000019