(57)【要約】【課題】ライブラリ機能を有するテープライブラリ装置をエミュレートする磁気ディスクを有する記憶装置システムを提供する。【解決手段】記憶装置システムは、計算機と接続されるインタフェースと、複数の磁気ディスクと、複数の磁気ディスクを制御する制御装置とを有する。テープライブラリ装置に対しテープ装置に磁気テープを装填するよう指示するコマンドを、計算機からインタフェースが受信すると、制御装置は磁気ディスク内の記憶領域の内、仮想テープとして管理されている記憶領域を選択する。更に、インタフェースが計算機からテープ装置へのアクセス要求を受信すると、制御装置は選択された記憶領域にアクセスするよう制御する。【選択図】図２
2005055945.tif 000002
【特許請求の範囲】
【請求項１】
計算機と接続するための１以上のインタフェースと、
複数の磁気ディスクと、
前記計算機から受信する指示に基づいて、前記複数の磁気ディスクを制御する制御装置とを有する記憶装置システムであって、
テープライブラリ装置に対して磁気テープをテープドライブに装填するよう指示するための第１の命令を、前記インタフェースが前記計算機から受信し、
前記第１の命令に基づいて、前記制御装置は少なくとも一の磁気ディスクの記憶領域から構成される第１の記憶領域を選択し、
前記テープライブラリ装置に対して前記磁気テープにデータを書き込むよう指示するための第２の命令を、前記インタフェースが前記計算機から受信し、
前記第２の命令に基づいて、前記制御装置はデータを前記第１の記憶領域に書き込むことを特徴とする記憶装置システム。
【請求項２】
請求項１記載の記憶装置システムにおいて、
前記制御装置は、前記第１の記憶領域内の位置を示すポインタを管理しており、前記第２の命令に基づいて、前記データを前記ポインタが示す位置から前記第１の記憶領域に書き込み、書き込んだデータのサイズ分だけ前記ポインタが示す位置をずらすよう制御することを特徴とする記憶装置システム。
【請求項３】
請求項１記載の記憶装置システムにおいて、
前記テープライブラリ装置に対して他の磁気テープを前記テープドライブに装填するよう指示するための第３の命令を、前記インタフェースが前記計算機から受信し、
前記第３の命令に基づいて、前記制御装置は少なくとも一の磁気ディスクの記憶領域から構成される第２の記憶領域を選択し、
前記テープライブラリ装置に対して前記他の磁気テープにデータを書き込むよう指示するための第４の命令を、前記インタフェースが前記計算機から受信し、
前記制御装置が、前記第４の命令に基づいて前記データを前記第２の記憶領域に書き込むことを特徴とする記憶装置システム。
【請求項４】
請求項１記載の記憶装置システムであって、
前記第２の命令は、前記テープライブラリ装置に、少なくとも一の磁気ディスクの記憶領域から構成される第３の記憶領域に格納されているファイルのバックアップを取得するよう指示するための命令であり、
前記制御装置は、前記第２の命令に基づいて、前記第３の記憶領域に格納されているファイルのデータを前記第１の記憶領域にコピーすることを特徴とする記憶装置システム。
【請求項５】
請求項４記載の記憶装置システムであって、
更に、前記複数の磁気ディスク内の記憶領域に格納されているデータの複製を、前記複数の磁気ディスク内の他の記憶領域内に作成するミラー／スプリット部を有しており、
前記制御装置は、前記ミラー／スプリット部を起動して、前記第２の命令に基づいて、前記第３の記憶領域に格納されているファイルのデータを前記第１の記憶領域にコピーすることを特徴とする記憶装置システム。
【請求項６】
請求項４記載の記憶装置システムであって、
前記制御装置は、前記第１の記憶領域の容量が不足した場合に、前記計算機に前記磁気テープの最後の記憶領域までデータを書き込んだ旨を通知するテープエンドの通知を発行し、
前記テープエンドの通知に応答して、前記計算機から、前記ライブラリ装置に磁気テープの交換を指示するための第３の命令を受信し、
前記第３の命令に基づいて、少なくとも一の磁気ディスクの記憶領域から構成される第２の記憶領域を前記制御装置が選択し、
前記第３の記憶領域に格納されているファイルのデータを前記第２の記憶領域にコピーすることを特徴とする記憶装置システム。
【請求項７】
計算機と接続するための１以上のインタフェースと、
複数の磁気ディスクと、
前記計算機から受信する指示に基づいて、前記複数の磁気ディスクを制御する制御装置とを有する記憶装置システムであって、
テープライブラリ装置に対して磁気テープをテープドライブに装填するよう指示するための第１の命令を、前記インタフェースが前記計算機から受信し、
前記第１の命令に基づいて、前記制御装置は少なくとも一の磁気ディスクの記憶領域から構成される第１の記憶領域を選択し、
前記テープライブラリ装置の前記テープドライブに対して磁気テープからデータを読み出すよう指示するための第２の命令を、前記インタフェースが前記計算機から受信し、
前記第２の命令に基づいて、前記制御装置はデータを前記第１の記憶領域から読み出すことを特徴とする記憶装置システム。
【請求項８】
請求項７記載の記憶装置システムにおいて、
前記テープライブラリ装置に対して他の磁気テープを前記テープドライブに装填するよう指示するための第３の命令を、前記インタフェースが前記計算機から受信し、
前記第３の命令に基づいて、前記制御装置は、少なくとも一の磁気ディスク内の記憶領域から構成される第２の記憶領域を選択し、
前記第２の命令を再び前記インタフェースが前記計算機から受信し、
前記第２の命令に基づいて、前記制御装置は前記第２の記憶領域からデータを読み出すことを特徴とする記憶装置システム。
【請求項９】
請求項８記載の記憶装置システムにおいて、
前記第２の命令は、一又は複数のテープに格納されているバックアップデータを磁気ディスクにリストアするよう前記テープライブラリ装置に指示するための命令であり、
前記制御装置は、前記第２の命令に基づいて、前記第１の記憶領域および前記第２の記憶領域に格納されているバックアップデータを読み出して、少なくとも一の磁気ディスクの記憶領域から構成される第３の記憶領域に格納することを特徴とする記憶装置システム。
【請求項１０】
請求項９記載の記憶装置システムにおいて、
更に、磁気ディスク内の記憶領域に格納されているデータの複製を、磁気ディスク内の他の記憶領域内に作成するミラー／スプリット部を有しており、
前記制御装置は、前記第２の命令に基づいて、前記ミラー／スプリット部を起動し、
前記ミラー／スプリット部が、前記第１の記憶領域に格納されているデータの複製、及び前記第２の記憶領域に格納されているデータの複製を、前記第３の記憶領域内に作成することを特徴とする記憶装置システム。
【請求項１１】
請求項９記載の記憶装置システムにおいて、
前記制御装置は、前記第１の記憶領域に格納されているデータの複製が前記第３の記憶領域内に作成された場合に、前記計算機に磁気テープの最後までリストア処理が終了したことを通知するためのテープエンドの通知を発行し、
前記テープエンドの通知に応答して、前記計算機から前記第３の命令を前記インタフェースが受信することを特徴とする記憶装置システム。
【請求項１２】
請求項１１記載の記憶装置システムにおいて、
前記制御装置は、前記第３の命令を前記インタフェースが受信した後に前記第２の命令を受信した場合に、前記第２の記憶領域に格納されているデータを前記第３の記憶領域にコピーするよう制御することを特徴とする記憶装置システム。
【請求項１３】
計算機と接続される少なくとも一以上のインタフェースと、
複数の磁気ディスクと、
インタフェースを介して受信する要求に応じて、前記複数の磁気ディスクの記憶領域を制御する制御装置とを有する記憶装置システムであって、
前記複数の磁気ディスクは、第１の記憶領域グループに属する少なくとも一以上の第１の記憶領域と、第２の記憶領域グループに属する少なくとも一以上の第２の記憶領域とを有しており、
前記制御装置は、前記インタフェースがテープライブラリ装置に対するコマンドを受信した場合には、第１の記憶領域を選択し、前記インタフェースが磁気ディスク装置に対するコマンドを受信した場合には、第２の記憶領域を選択し、選択された記憶領域に関する処理を、受信したコマンドに従って実行することを特徴とする記憶装置システム。
【請求項１４】
請求項１３記載の記憶装置システムにおいて、
前記制御装置は、前記第１の記憶領域グループに属する第１の記憶領域を前記第２の記憶領域グループに属する記憶領域に変更して第２の記憶領域として管理するよう、若しくは、前記第２の記憶領域グループに属する第２の記憶領域を前記第１の記憶領域グループに属する記憶領域に変更して第１の記憶領域として管理するよう制御することを特徴とする記憶装置システム。
【請求項１５】
請求項１４記載の記憶装置システムにおいて、
前記複数の磁気ディスクは、第３の記憶領域グループに属する第３の記憶領域を有しており、
前記制御装置は、前記第３の記憶領域グループに属する第３の記憶領域を前記第１の記憶領域グループに属する記憶領域に変更して第１の記憶領域として管理するよう、若しくは前記第３の記憶領域グループに属する第３の記憶領域を前記第２の記憶領域グループに属する記憶領域に変更して第２の記憶領域として管理するよう制御することを特徴とする記憶装置システム。
【請求項１６】
請求項１３記載の記憶装置システムにおいて、
前記制御装置は、前記テープライブラリ装置に対してテープドライブに磁気テープを装填するよう指示するためのコマンドを、前記インタフェースが受信した場合に、前記第１の記憶領域を選択し、
その後、前記テープドライブに対するアクセス要求を前記インタフェースが受信した場合に、前記制御装置は前記第１の記憶領域にアクセスすることを特徴とする記憶装置システム。
【請求項１７】
請求項１６記載の記憶装置システムにおいて、
前記制御装置は、前記テープライブラリ装置に対して前記テープドライブに他の磁気テープを装填するよう指示するためのコマンドを、前記インタフェースが受信した場合に、前記第１の記憶領域グループに属する他の第１の記憶領域を選択し、
その後、前記テープドライブに対するアクセス要求を前記インタフェースが受信した場合に、前記制御装置は、前記他の第１の記憶領域にアクセスすることを特徴とする記憶装置システム。
【請求項１８】
請求項１３記載の記憶装置システムにおいて、
前記制御装置は、前記テープライブラリ装置に対してテープドライブに磁気テープを装填するよう指示するためのコマンドを、前記インタフェースが受信した場合に、前記第一の記憶領域を選択し、
磁気テープに格納されているデータのリストアを前記テープライブラリ装置に対して指示するためのリストア要求を、前記インタフェースが受信した場合に、前記制御装置は、前記第１の記憶領域を前記第２の記憶領域グループに属する記憶領域に変更して管理することを特徴とする記憶装置システム。
【請求項１９】
請求項１８記載の記憶装置システムにおいて、
前記制御装置は、前記リストア要求の対象となるデータが前記第１の記憶領域以外の第１の記憶領域に格納されていない場合に、前記第１の記憶領域を前記第２の記憶領域グループに属する記憶領域に変更して管理することを特徴とする記憶装置システム。
【請求項２０】
請求項１９記載の記憶装置システムにおいて、
前記制御装置は、前記リストア要求の対象となるデータが、前記第１の記憶領域以外の他の第１の記憶領域にも格納されている場合に、前記第１の記憶領域に格納されているデータ及び前記他の第１の記憶領域に格納されているデータを、前記第２の記憶領域グループに属する第２の記憶領域にコピーすることを特徴とする記憶装置システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム、計算機システムなどにおける記憶装置システムに係り、特に、仮想テープ装置、仮想テープライブラリ装置に関する。
【０００２】
【従来の技術】
一般に計算機システムにおいては、データの保存に磁気ディスク若しくは磁気テープの２種類の記憶媒体が用いられる。磁気ディスクは、磁気円盤上の任意位置に記録されたデータに対して直接アクセスできる、いわゆるランダムアクセスが可能なデバイスであるため、頻繁に使うデータを記録するのに用いられる。一方で磁気テープはテープの先頭から順にデータが読み書きされる、いわゆるシーケンシャルアクセスのみが可能な記憶媒体であることから、磁気ディスク上に記録されたデータのバックアップや、古いデータを長期保存しておくアーカイブなどの用途に用いられる使用形態が主であった。このように磁気テープをバックアップ・アーカイブ用途に用いるのは、磁気テープのビットコストが磁気ディスクよりも安く、大量のデータを保管する際に低コストで済むというのが主な理由であった。
【０００３】
ところが近年では、計算機システムで取り扱うデータの急激な増加に伴い磁気ディスクから磁気テープへのバックアップ、リストア処理が長時間化して、磁気テープにバックアップを取得する運用が現実的でなくなってきている。バックアップは通常、夜間などオンライン業務が行われない時間帯（オフライン時間帯）に実施するが、バックアップに時間がかかりすぎてオフライン時間帯内にバックアップ処理が終了しない場面も出てきている。また磁気ディスクのビットコストも下がってきて磁気テープのビットコストに近づいてきている事から、磁気ディスクをバックアップデータの保管に用いる方法も考えられてきている。
【０００４】
例えば特許文献１では、磁気ディスク装置を用いてテープ装置をエミュレートする装置が開示されている。特許文献１では、ホスト計算機からテープ装置用のコマンドを受け付けると、それを磁気ディスク用のコマンドに変換して磁気ディスクへのデータアクセスを行うことで、磁気ディスク装置をテープ装置として使用できるようにしている。このような装置を仮想テープ装置と呼ぶ。
【０００５】
【特許文献１】
米国特許６０７０２２４号公報
【０００６】
【発明が解決しようとする課題】
仮想テープ装置の目的は、従来テープ装置を用いていた既存の計算機環境において、従来のテープ装置を仮想テープ装置に置き換えるだけで、ホスト計算機やバックアップソフトウェアには変更を加えることなく、仮想テープ装置へのバックアップなどの運用が行えるようにすることにある。
【０００７】
しかし実際にバックアップなどの運用を行う場合、多くの計算機環境では複数の磁気テープを維持管理するテープライブラリ装置によってバックアップが運用されており、複数の磁気テープにまたがるデータのバックアップ作業では、バックアップソフトがテープライブラリ装置を操作する事で、テープ装置への磁気テープの装填、磁気テープの交換を、人手を介さずに実施する。そのため計算機システムにおいて実際に仮想テープ装置を利用したバックアップ処理を行うためには、仮想テープメディアを仮想テープ装置に装填したり、仮想テープを交換したりする処理を実現する、仮想的なライブラリ機構が必要となる。
【０００８】
特許文献１には、テープ装置のエミュレートについては開示されているが、ライブラリ・チェンジャロボットの操作等、ライブラリ機構については開示していない。
【０００９】
また仮想テープ装置はテープ装置の機能しか持たず、ディスク装置として使用することは出来ない。そのためバックアップの際には、別のディスク装置からホスト計算機経由でデータを仮想テープ装置へとバックアップする作業が発生する。従って、磁気ディスクのアクセス速度が磁気テープ装置のアクセス速度より若干速い場合でも、バックアップ速度はそれほど大きく向上しない。とくに近年、テープ装置のリード・ライト速度は高速化しており、ディスク装置のシーケンシャルリード・ライト性能と遜色ない性能が出ているため、テープ装置に代えて仮想テープ装置を用いたとしても、それほど性能上有利になるわけではない。
【００１０】
本発明の目的は、ライブラリ装置のエミュレートを実現することである。
【００１１】
また本発明の他の目的は、磁気ディスクとしての機能と仮想テープライブラリ装置としての機能の両方を持つ記憶装置システムを提供することである。
【００１２】
また本発明の他の目的は、より高速なバックアップ処理が可能な記憶装置システムを提供することである。
【００１３】
【課題を解決するための手段】
記憶装置システムは、計算機と接続されるインタフェースと、複数の磁気ディスクと、複数の磁気ディスクを制御する制御装置とを有する。計算機からテープライブラリ装置に対しテープ装置に磁気テープを装填するよう指示するコマンドを、インタフェースが受信すると、制御装置は磁気ディスク内の記憶領域を選択し、インタフェースが計算機からテープ装置へのアクセス要求を受信すると、選択された記憶領域にアクセスするよう制御する。
【００１４】
【発明の実施の形態】
図１は、本発明を適用した計算機システムの一例を示す図である。
【００１５】
記憶装置システム０はディスクシステム１とフロントエンドサーバ６とで構成される。
【００１６】
ディスクシステム１は、ネットワークインタフェース１１（図中ではＬＡＮ  Ｉ／Ｆと略記）、ファイバチャネルインタフェース１２（図中ではＦＣ  Ｉ／Ｆと略記）、ＣＰＵ１３、メモリ１４、ディスクインタフェース１５（図中ではディスクＩ／Ｆと略記）、１つ以上のディスク１６で構成される。ディスクシステム１は、ネットワークインタフェース１１及びファイバチャネルインタフェース１２を介してフロントエンドサーバ６に接続される。
【００１７】
フロントエンドサーバ６は、ＬＡＮに接続されるネットワークインタフェース６１、ディスクシステム１に接続されるネットワークインタフェース６５、ファイバチャネルスイッチに接続されるファイバチャネルインタフェース６２、ディスクシステム１に接続されるファイバチャネルインタフェース６６、ＣＰＵ６３、及びメモリ６４とで構成される。ネットワークインタフェース６１は、ＬＡＮスイッチ５を介して１つ以上のＮＡＳクライアント計算機（以下ＮＡＳクライアントとも言う。）３に接続され、ＮＡＳクライアント３にファイルアクセスサービスを提供する。またファイバチャネルインタフェース６２は、ファイバチャネルスイッチ４（図中ではＦＣスイッチと略記）を介して、複数のホスト計算機（以下、ホストとも言う。）２に接続され、ホスト２に対してディスクアクセスとテープアクセス処理を提供する。
【００１８】
管理コンソール７はＬＡＮスイッチ５、ネットワークインタフェース６１を介してフロントエンドサーバ６に接続され、フロントエンドサーバ６の設定処理を行うとともに、ネットワークインタフェース６５、ネットワークインタフェース１１を経由してディスクシステム１の設定処理を行う。設定処理の具体的内容については後述する。
【００１９】
フロントエンドサーバ６では、ホスト２やＮＡＳクライアント３からのディスクアクセス要求、テープアクセス要求、ファイルアクセス要求の受け付けと、ディスクシステム１からのデータ読み出し、ディスクシステム１へのデータの書き込みを行う。これらの処理を行うプログラムはメモリ６４に格納され、ＣＰＵ６３で実行される。
【００２０】
ディスクシステム１では、主としてフロントエンドサーバ６からディスクアクセス要求を受け付けて要求に従った処理を実行する。ディスクシステム１で実行される処理に必要なプログラムがメモリ１４に格納されており、ＣＰＵ１３で実行される。またメモリ１４はＣＰＵ１３で動作するプログラムを格納する以外に、ホスト２やＮＡＳクライアント３からフロントエンドサーバ経由で受信するライトデータを一時的に格納するなどのキャッシュメモリとしての役割も持つ。ディスクインタフェース１５は例えばＳＣＳＩ  （Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）あるいはＦｉｂｒｅ  Ｃｈａｎｎｅｌなどのプロトコルに従ったインタフェースであり、ＣＰＵ１３はディスクインタフェース１５を介してディスク１６にアクセスする。
【００２１】
ディスク１６は物理的な磁気ディスクドライブであってもよいし、ディスクアレイ装置のように、複数の磁気ディスクドライブをまとめて１つの論理的なディスクドライブに見せかけた形態のものであっても良い。本実施形態における説明ではディスク１６はそれぞれが論理的なディスクであるものとし、以下とくに断りのない限り、ディスクという語は論理的なディスクを意味するものとする。磁気ディスク単体のような物理ディスクについては物理ディスクと表記する。
【００２２】
図２は記憶装置システム０の論理的な構成例を示した図である。とくにＣＰＵ１３、ＣＰＵ６３で動作するプログラムの内容を中心に説明する。
【００２３】
ファイルサービス６７はいわゆるＮＡＳ  （Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）の機能を提供するプログラムで、ディスク１６上のファイルを管理し、ＮＡＳクライアント３からフロントエンドサーバが受信する、ＮＦＳやＣＩＦＳなどのプロトコルに従ったファイルアクセスリクエストを処理する際に実行される。以下、ファイルサービス６７が管理するディスク１６上のデータをＮＡＳデータと呼び、ディスク１６のうち、ＮＡＳデータの格納されたディスク１６のことをＮＡＳデバイスと呼ぶ。
【００２４】
バックアップサービス６９は、ＮＡＳデータのバックアップ処理を専門に行うプログラムで、ＮＡＳクライアント３上のバックアップサーバ３１からフロントエンドサーバが受信するバックアップ・リストア要求に応答して動作する。
【００２５】
ブロックＩ／Ｏ受付部６８は、ホスト２からディスクアクセスリクエストやテープアクセスリクエスト、ライブラリ制御のリクエスト等を受け付け、ディスクアクセスリクエストの場合にはそのままディスクシステム１に処理を出し、テープアクセスやライブラリ制御等のリクエストの場合には、仮想テープ・ライブラリ部１１４に処理を転送する。
【００２６】
仮想テープ・ライブラリ部１１４は、ブロックＩ／Ｏ受付部６８からテープ装置又はライブラリ装置に対するコマンドを受け付けて、受け付けたコマンド処理する。例えばテープからのデータのリードを要求するコマンドを受け付けた場合には、仮想テープ・ライブラリ部１１４はこのコマンドをディスクに対するリードコマンドに変換して、ディスクシステム１にディスク１６のリード要求を出し、ディスクシステム１からリードデータを受け取り、ブロックＩ／Ｏ受付部６８へと渡す。
【００２７】
デバイス管理部１１５は、ディスク１６と仮想テープとの対応付けと、仮想テープ装置、仮想ライブラリ装置の準備を行う。デバイス管理部１１５は、ディスク１６をディスクデバイスグループ１６１、ファイルシステムグループ１６２、仮想テープデバイスグループ１６３、未割り当てデバイスグループ１６４の４つのグループに分けて管理する。ディスクデバイスグループ１６１はホスト２から磁気ディスクとしてアクセスされるディスクの集合、ファイルシステムグループ１６２はＮＡＳデータを格納するディスク、即ちＮＡＳデバイスの集合、仮想テープデバイスグループ１６３はホスト２などからテープ上のデータに対するアクセス要求を受けた際にアクセスされる、即ち仮想テープとしてアクセスされるデータを格納するディスクの集合、未割り当てデバイスグループ１６４は前述の３グループのいずれにも属さない、即ち未使用のディスクの集合である。以下、ディスクデバイスグループ１６１に属するディスクのことをディスクデバイスと呼ぶ。
【００２８】
尚、ファイルサービス６７及びバックアップサービス６９はフロントエンドサーバ６のメモリ６４に格納されており、ＣＰＵ６３によって実行されるプログラムである。又、ブロックＩ／Ｏ受付部６８、デバイス管理部１１５、及び仮想テープ・ライブラリ部１１４は各々、フロントエンドサーバ６のメモリ６４に格納されているプログラムがＣＰＵ６３によって実行されることにより実現される。
【００２９】
ディスクシステム１のディスクアクセス処理部１１１では、フロントエンドサーバ６からファイバチャネルインタフェース１２を介してディスク１６へのアクセス要求を受け付け、ディスク１６に対するリード・ライト処理を行う。
【００３０】
またミラー／スプリット部１１２では、ディスク１６に格納されたデータの複製データ、あるいはディスク１６の一部の記憶領域に格納されたデータの複製データを作成して、ディスクシステム内の別ディスクに格納する処理を実行する。即ち、ミラー／スプリット部１１２が複製指示を受信すると、指示対象のディスクに複製指示を受信した時点で格納されていたデータ（スナップショットデータ）が複製されて、別ディスクに格納される。尚、ディスクシステム１においては、複製作業中もデータのリード・ライトが可能である。スナップショットを取得しながらデータのリード又はライトコマンドを受け付けるための具体的な実現方式は、例えば特開２００２−７３０４号や特開２０００−２４２４３７に開示されている。
【００３１】
尚、ディスクアクセス処理部１１１及びミラー／スプリット部１１２は、ディスクシステム１のメモリ１４に格納されているプログラムがＣＰＵ１３によって実行されることにより、実現される。
【００３２】
続いて図３から図６を用いて、デバイス管理部１１５、又は仮想テープ・ライブラリ部１１４で管理される情報を説明する。
【００３３】
まず図３は、ディスクデバイスグループ１６１若しくはファイルシステムグループ１６２に属するディスクを管理する、ディスク管理テーブル２００の一例を示す図である。ディスクシステム１は、ディスク１６の各々に一意な識別子を付与して管理する。識別子としては０以上の整数値が用いられる。この識別子をデバイス番号と呼ぶ。
【００３４】
ディスク管理テーブル２００の各行には、それぞれのディスクのデバイス番号２０１、サイズ２０２、割当種別２０３、ＷＷＮ  ２０４、ＬＵＮ  ２０５が存在する。サイズ２０２はデバイス番号２０１に対応したディスクのサイズを表す。割当種別２０３は各ディスクがディスクデバイスグループ１６１若しくはファイルシステムグループ１６２のいずれに属するかを表し、ディスクデバイスグループ１６１に属するディスクには”ＦＣ”、ファイルシステムグループ１６２に属するディスクには”ＬＡＮ”の識別子がつけられて、管理されている。
【００３５】
ＷＷＮ  ２０４とＬＵＮ  ２０５は各ディスクに付与されるＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）とＬＵＮ  （Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）であり、ホスト２からディスク１６をアクセスするとき、そしてフロントエンドサーバ６のブロックＩ／Ｏ受付部６８がディスク１６をアクセスするときに用いられるものである。ホスト２がディスク１６をアクセスするときに指定するＷＷＮと、フロントエンドサーバ６がディスク１６をアクセスするときに指定するＷＷＮとは、ここでは同一の値であることとする。発明の実施の形態によってはそれぞれのＷＷＮが異なる形態もありえるが、その場合にはディスク管理テーブル２００でホスト２がディスクにアクセスする際に指定するＷＷＮと、フロントエンドサーバ６がディスク１６をアクセスするときに指定するＷＷＮの両方を管理する。
【００３６】
マウント名２０６は、ＮＡＳクライアント３がＮＡＳデバイスをマウントする際に指定するディレクトリ名であり、ファイルシステムグループ１６２に属するディスクにのみ関連する項目である。そのためディスクデバイスグループ１６１に属するディスクの場合には、マウント名２０６には何も値が入らない。
【００３７】
図４は仮想テープデバイスグループ１６３に属するディスクを管理する仮想テープ管理テーブル２１０の一例を示している。
【００３８】
仮想テープ管理テーブル２１０の説明の前に、まず一般的なテープライブラリ装置について説明する。テープライブラリ装置は、磁気テープを格納しておく複数のスロット、スロットからテープ装置へ、あるいはテープ装置からスロットへと磁気テープを搬送するロボット、及び磁気テープが装填されるテープ装置（以下、テープドライブとも言う。）で構成される。テープ装置とロボットは１台のテープライブラリ装置についてそれぞれ１台あるいは複数台存在する。テープライブラリ装置では、各磁気テープ、各スロットを一意に特定するために、各磁気テープ、各スロットに識別情報をもたせる。各テープに付いている識別情報をボリュームタグ、各スロットの識別情報をエレメントアドレスと呼ぶ。
【００３９】
本発明の実施形態では、実際の磁気テープの代わりに磁気ディスクを用い、ディスクを使用して磁気テープをエミュレートする。このエミュレートされた磁気テープのことを仮想テープと呼ぶ。また本実施形態においては、スロット、ロボット及びテープ装置をも記憶装置システム０がエミュレートし、記憶装置システム０はテープライブラリ装置として振舞うことができる。この様に記憶装置システム０によってエミュレートされたテープライブラリ装置を、仮想テープライブラリ装置と呼ぶ。仮想テープライブラリ装置においては、ホスト２などからテープデバイスに対するＷＲＩＴＥコマンドとライトデータが送られてきた場合、ライトデータはＷＲＩＴＥコマンドで指定される仮想テープに対応するディスク内の指定領域に格納される。本実施形態では、各仮想テープに付いている識別情報をテープ番号２１１とよび、各スロットの識別情報をスロット番号２１２と呼ぶ。
【００４０】
記憶装置システム０は、１つないしそれ以上のテープライブラリ装置をエミュレートし、仮想テープライブラリ装置１台について、１つの仮想テープ管理テーブル２１０を持つ。仮想テープ管理テーブル２１０の各行には、テープ番号２１１、スロット番号２１２、サイズ２１３、デバイス番号２１４、開始ＬＢＡ２１５、終了ＬＢＡ２１６、ポインタ２１７、そしてｏｐｔｉｏｎフラグ２１８の項目がある。
【００４１】
テープ番号２１１は、仮想テープ・ライブラリ部１１４が生成する仮想テープの識別情報である。スロット番号２１２は仮想テープ・ライブラリ部１１４が生成する仮想テープライブラリ装置のスロットの番号である。各仮想テープに付与されるテープ番号は１以上の整数値であり、仮想テープ管理テーブル２１０のテープ番号２１１の欄が０の場合、その行に対応するスロットにはテープが格納されていない事を示す。そしてテープ番号２１１の欄の値が０でない行については、そのテープ番号２１１によって識別される仮想テープが、スロット番号２１２で示される番号のスロットに格納されている事を表している。
【００４２】
サイズ２１３は仮想テープの容量を表す。デバイス番号２１４は仮想テープのデータが実際に格納されるディスク１６のデバイス番号を示し、開始ＬＢＡ  ２１５及び終了ＬＢＡ  ２１６は、当該デバイス番号で示されるディスク１６のどの領域を用いて仮想テープをエミュレートしているかを示す。開始ＬＢＡ２１５は仮想テープをエミュレートしているディスク上の記憶領域の先頭アドレスを、終了ＬＢＡ２１６は末尾アドレスを各々示す。
【００４３】
ポインタ２１７は、仮想テープに対するリード若しくはライト要求が来たときに、データの読み書きが開始される位置（ＬＢＡ）を示す。テープデバイスのようなシーケンシャルアクセスデバイスでは、ディスクのようにＲＥＡＤ若しくはＷＲＩＴＥコマンド内でアクセス対象のＬＢＡが指定される事はなく、テープの先頭から順にアクセスされる。そのため仮想テープにおいては、仮想テープへのアクセスが終了するたびに、現在どの位置までアクセスがされたかを記録しておく必要があり、ポインタはそのために使用される。最後のｏｐｔｉｏｎフラグ２１８は、ＮＡＳデータのバックアップデータが格納された仮想テープについて使用されるもので、具体的な使われ方については後述する。
【００４４】
図５は、未割り当てデバイスグループ１６４に属するディスクを管理する、未割当デバイス管理テーブル２２０の一例を示す図である。未割当デバイス管理テーブル２２０の各エントリには、それぞれのディスクのデバイス番号２２１、サイズ２２２、開始ＬＢＡ２２３、終了ＬＢＡ２２４が存在する。サイズ２２２はデバイス番号２２１に相当するディスクの容量を表し、開始ＬＢＡ２２３、終了ＬＢＡ２２４は、当該ディスクの中で仮想テープとして使用されていない領域を表す。即ち、本発明の実施形態では、１つのディスクに複数の仮想テープが割り当てられることがある。また１つのディスクに仮想テープとして用いられる記憶領域と未割当の記憶領域が存在する場合もある。いずれの領域も使用されていないディスクについては、開始ＬＢＡ２２３、終了ＬＢＡ２２４に−１が入る。
【００４５】
図６は、仮想テープ・ライブラリ部１１４で管理される、仮想テープ装置の情報を管理するための仮想テープドライブテーブル２３０、及び仮想ロボットの情報を管理するための仮想ロボットテーブル２４０の一例を示す図である。本実施形態における仮想テープライブラリ装置では、各仮想テープ装置、各仮想ロボットそれぞれがＷＷＮとＬＵＮを持ち、ホスト２等は仮想テープ装置や仮想ロボットをファイバチャネルデバイスとしてアクセスできる。
【００４６】
仮想テープ管理テーブル２１０と同様、仮想テープドライブテーブル２３０、仮想ロボットテーブル２４０は、仮想テープライブラリ装置１台に対して１つ生成される。
【００４７】
まず仮想テープドライブテーブル２３０について説明する。ドライブ番号２３１は仮想テープライブラリにある仮想テープドライブそれぞれに付与される識別子である。図６の仮想テープドライブテーブル２３０では４つのエントリがあるので、本実施形態における仮想テープライブラリ装置では４台の仮想テープドライブ（即ち、仮想テープ装置）があることになる。ＷＷＮ２３２及び  ＬＵＮ２３３はそれぞれ仮想テープドライブのＷＷＮ、ＬＵＮである。ＴＡＰＥ  ＩＮ  ２３４は、当該仮想テープドライブに仮想テープが装填されている場合に、どの仮想テープが装填されているかを示す。仮想テープが装填されていない仮想テープドライブについては、ＴＡＰＥ  ＩＮ  ２３４のエントリには０が入る。図６の例ではドライブ番号２３１が１の仮想テープドライブにテープ番号３の仮想テープが装填されている様子が示されている。
【００４８】
次に仮想ロボットテーブル２４０について説明する。ロボット番号２４１は、各仮想ロボットに割り当てられた識別番号である。ＷＷＮ２４２及びＬＵＮ２４３は各々、仮想ロボットに割り当てられたＷＷＮ及びＬＵＮである。
【００４９】
以上図３から図６に示す各テーブルは、フロントエンドサーバ６のメモリ６４に格納されている。
【００５０】
続いて図７から図１０を用いて、ディスク、仮想テープドライブ、及び仮想ロボットの設定又は管理のための処理を説明する。図７から図１０に示す処理は、記憶装置システム０の利用者が管理コンソール７から指示を出す事で開始される。
【００５１】
図７は、ディスクシステム１に新規に物理ディスクを増設し、増設された物理ディスクから論理ディスクを形成して、この論理ディスクを未割当デバイスグループ１６４に登録する処理の一例を示す図である。
【００５２】
記憶装置システム０では、全てのディスク１６は最初は未割当デバイスグループ１６４に所属する。また新たにディスクを増設した場合にも、そのディスクはまずは未割当デバイスグループ１６４に所属する。また、実際にディスクシステム１に増設されるディスクは物理ディスクであるため、物理ディスクから論理ディスクを形成する作業が最初に必要となる。
【００５３】
まずステップ１００１において、利用者は管理コンソール７から、増設された物理ディスクを指定するための情報を入力する。続いてステップ１００２では、管理者は管理コンソール７を用いて、ステップ１００１で指定された物理ディスクからどのような論理ディスクを形成するかを指定する。具体的には論理ディスクの容量、ＲＡＩＤ１やＲＡＩＤ５などの冗長モード等が指定される。
【００５４】
ステップ１００２の論理ディスクの指定が完了すると、未割当デバイス管理テーブル２２０にエントリが追加され、指定された論理ディスクの容量が未割当デバイス管理テーブル２２０のサイズ２２２エントリに登録される。また、開始ＬＢＡ２２３および終了ＬＢＡ２２４には“−１”の値が登録される。さらに、当該論理ディスクにデバイス番号が付けられ、未割当デバイス管理テーブル２２０のデバイス番号欄２２１に登録される（ステップ１００３）。以上により、未割当デバイスグループ１６４への登録処理が完了する。
【００５５】
尚、未割当デバイス管理テーブル２２０への情報の登録は、管理コンソール７から利用者の入力情報に基づいて、デバイス管理部１１５によって実行される。但し、論理ディスクの識別情報であるデバイス番号に関しては、ディスクシステム１が自動的に番号付けを行い、付与した番号をデバイス管理部１１５に通知する形態でもよいし、装置の利用者が管理コンソール７から番号を指定する形態でも良い。
【００５６】
図８は、未割当デバイスグループ１６４に登録されているディスクを、ディスクデバイスグループ１６１、ファイルシステムグループ１６２、あるいは仮想テープデバイスグループ１６３のいずれかに割り当てる処理の一例を示す図である。
【００５７】
まず利用者は管理コンソール７から、記憶装置システム０に対し、未割当デバイスグループに属するディスクを、ディスクデバイスグループ１６１またはファイルシステムグループ１６２のいずれかに割り当てるのか、又は仮想テープデバイスグループに割り当てるのかを指定する。記憶装置システム０ではこの指定情報を受け、デバイス管理部１１５が、利用者の指示がディスクデバイス若しくはＮＡＳデバイスの割当か、それとも仮想テープの割り当てかを判定し（ステップ１１０１）、ディスクデバイス若しくはＮＡＳデバイスの割当の場合にはステップ１１０２以降の処理を行う。
【００５８】
ステップ１１０２で、記憶装置システム０は、管理コンソール７を介して利用者から、割り当て対象ディスクの容量、ＷＷＮ及びＬＵＮの情報と、未割当デバイスグループ１６４に属するディスクをディスクデバイスグループ１６１若しくはファイルシステムグループ１６２のどちらに所属させるかを示す種別情報を受け取る。そして記憶装置システム０のデバイス管理部１１５では、これらの指定情報に問題がないかチェックし（ステップ１１０３）、問題がない場合にはステップ１１０４へと進む。問題がある場合、例えば別のディスクに割り当てられていたＬＵＮと同一のＬＵＮが指定された場合、あるいは未割り当てデバイスグループ１６４に属するディスクよりも大きい容量を指定された場合には、そのディスクデバイスは定義できないため、ステップ１１０２に戻って、利用者にふたたび容量、ＷＷＮ、ＬＵＮを指定させる。
【００５９】
ステップ１１０４でデバイス管理部１１５は、未割当デバイス管理テーブル２２０を検索して、適切なディスクを選択する。適切なディスクとは、例えば指定された容量ともっとも近い容量を持つディスクなどである。そしてデバイス管理部１１５は、選択されたディスクにステップ１１０２で指定されたＷＷＮやＬＵＮを設定する。
【００６０】
そしてステップ１１０５でデバイス管理部１１５は、選択されたディスクのデバイス番号と、ステップ１１０２で指定された容量や、種別や、ＷＷＮや、ＬＵＮをディスク管理テーブル２００に設定する。更にデバイス管理部１１５は、未割り当てデバイス管理テーブル２２０から当該ディスクのエントリを削除し、処理を終了する。
【００６１】
ステップ１１０１で記憶装置システム０が、利用者が未割当ディスクを、仮想テープデバイスグループに割り当てるよう指示したと判断した場合、ステップ１１１１以降の処理に進む。
【００６２】
ステップ１１１１では、記憶装置システム０は、管理コンソール７を介して利用者から、新たに割り当てたい仮想テープの数と容量の情報を受け取り、ステップ１１１２ではデバイス管理部１１５は受信したそれらの情報に問題がないかをチェックする。このチェックはステップ１１０３とほぼ同様であり、割り当てたい仮想テープの容量が、未割り当てデバイスグループ１６４にあるディスクの総容量よりも多い場合には仮想テープを利用者の指定通りに形成することができないために、ステップ１１１１に戻って再び利用者に仮想テープの数と容量を指定させる。
【００６３】
ステップ１１１３では、記憶装置システム０は管理コンソール７を介して利用者から、生成した仮想テープをどのライブラリに搬入するかについての指定情報を受け取る。記憶装置システム０では複数の仮想テープライブラリを定義でき、仮想テープライブラリ１台に対して１つの仮想テープ管理テーブル２１０が対応するので、ステップ１１１３での指定により、どの仮想テープ管理テーブル２１０に仮想テープを登録するかが決まる。
【００６４】
ステップ１１１４では、デバイス管理部１１５が、未割当デバイス管理テーブル２２０を検索して、適切なディスクを選択する。そして仮想テープ・ライブラリ部１１４が、選択されたディスクにテープ番号を付与すると共に、ステップ１１１２で利用者から指定された容量に合わせて開始ＬＢＡと終了ＬＢＡを決定し、さらにスロットを割り当てることにより、選択されたディスクに対する仮想テープの割り当てを行う。
【００６５】
そして、ステップ１１１５ではデバイス管理部１１５が、ステップ１１１４で仮想テープに割り当てられたテープ番号をステップ１１１３で指定された仮想テープライブラリに対応する仮想テープ管理テーブル２１０に登録する。更にデバイス管理部１１５は、ステップ１１１４で仮想テープに割り当てられたスロットの番号、ステップ１１１２で利用者から指定された仮想テープのサイズ、ステップ１１１４で選択されたディスクの番号、ステップ１１１４で割り当てられた開始ＬＢＡと終了ＬＢＡを仮想テープ管理テーブル２１０に登録する。また仮想テープ管理テーブルのポインタ２１７には初期値として“０”が格納される。そして、デバイス管理部１１５は、未割り当てデバイス管理テーブル２２０の内容も更新して、仮想テープの割り当て処理を終了する。
【００６６】
図９は、仮想テープライブラリ装置の定義処理の一例を示す図である。記憶装置システム０では、実際のテープライブラリ装置をエミュレートした仮想テープライブラリ装置を定義できる。テープライブラリ装置では、各ベンダの製品・モデルにより、格納できるテープ数やテープドライブ数、ロボット数が決まっているので、まずエミュレート対象の装置名を利用者が指定する必要がある。
【００６７】
ステップ１２０１では、管理コンソール７を通してエミュレート対象の装置名・モデルを利用者が指定し、記憶装置システム０はその情報を受信する。これによりスロット数、テープドライブ数、ロボット数が決まるため、ステップ１２０２では、受け取ったエミュレート対象装置名に基づき、仮想テープ・ライブラリ部１１４が、仮想テープ管理テーブル２１０を生成する。ステップ１２０３では、利用者は仮想テープドライブ及び仮想ロボットのＷＷＮとＬＵＮを管理コンソール７を介して指定し、記憶装置システム０はその情報を受信する。ステップ１２０４では仮想テープ・ライブラリ部１１４がそれらの情報に問題がないかチェックし、問題がない場合には仮想テープ・ライブラリ部１１４が仮想テープドライブテーブル２３０と仮想ロボットテーブル２４０とを生成して、ステップ１２０３で指定されたＷＷＮ及びＬＵＮを登録し、処理が終了する。
【００６８】
記憶装置システム０では、ディスクデバイスグループ１６１、ファイルシステムグループ１６２に属するディスクや、仮想テープのなかで不要になったものについて、別のグループに割り当てなおす事もできる。例えばＮＡＳクライアント３の書き込みデータが増加してきた場合にはファイルシステムグループ１６２のディスクを増やす必要があるが、未割り当てデバイスグループ１６４に必要な容量のディスクがない場合には、仮想テープデバイスグループループ１６３に登録されているディスクの一部をファイルシステムグループ１６２に転用する事が可能である。この場合、仮想テープデバイスグループ１６３に属するディスクを一旦未割り当てデバイスグループに登録して、再度図８に示す割り当て処理を実行する。
【００６９】
図１０は、ディスクデバイスグループ１６１、ファイルシステムグループ１６２、あるいは仮想テープデバイスグループ１６３に登録されているディスクを、未割当デバイスグループ１６４に返却する際の、デバイス管理部１１５の処理の一例を示す図である。
【００７０】
返却の要求は利用者が管理コンソール７を介して記憶装置システム０に指示することで行われる。
【００７１】
まずステップ１３０１では、利用者からの入力情報に基づいて、ディスクデバイスグループ１６１あるいはファイルシステムグループ１６２に属するディスクを未割り当てデバイスグループに返却するのかをデバイス管理部１１５が判定し、そうである場合には、返却されるディスクデバイス若しくはＮＡＳデバイスのデバイス番号を、管理コンソール７を介して利用者から受け取る（ステップ１３０２）。
【００７２】
そしてデバイス管理部１１５は、ディスク管理テーブル２００から当該デバイス番号のエントリを削除し、未割り当てデバイス管理テーブル２２０のほうに当該デバイス番号のディスクの情報を登録して処理を終了する（ステップ１３０３）。
【００７３】
ステップ１３０１において、仮想テープとして使用しているディスクの返却だと判断された場合には、ステップ１３０５に進み、デバイス管理部１１５は利用者から管理コンソール７を介してテープ番号を受け取る。
【００７４】
続いてデバイス管理部１１５は、仮想テーブドライブテーブル２３０の各エントリのＴＡＰＥ  ＩＮ２３４の欄を参照して、当該仮想テープがテープドライブに装填されているか判定する（ステップ１３０６）。装填されている場合には、デバイス管理部１１５は、この仮想テープは現在使用中であると判断してエラー終了する。装填されていない場合には仮想テープ管理テーブル２１０から、ステップ１３０５で受信したテープ番号のエントリを削除し、未割り当てデバイス管理テーブル２２０に削除された仮想テープを構成していたディスクを登録して処理を終了する（ステップ１３０７）。
【００７５】
尚、返却対象の仮想テープがあるディスクの一部領域だけを使用していた仮想テープであり、未割り当てデバイス管理テーブル２２０にはすでに当該ディスクのエントリが存在する場合には、デバイス管理部１１５は当該ディスクのエントリの開始ＬＢＡ２２３、終了ＬＢＡ２２４を更新し、処理を終了する。
【００７６】
続いて図１１以降では、仮想テープライブラリ装置がホスト２から操作されるときの処理の流れと、仮想テープライブラリ装置を使用したバックアップ・リストア処理の流れについて説明する。
【００７７】
まず図１１では、ホスト２から記憶装置システム０に対して、テープライブラリ装置のテープドライブやロボットへの指示に関するコマンドが到着した時の処理の流れと、仮想テープライブラリ装置へのデータの書き込み処理を説明する。
【００７８】
仮想テープドライブと仮想ロボットは、ホスト２などからファイバチャネルインタフェース６２を介して記憶装置システム０が受信する、ＡＮＳＩにて規定されているＳＣＳＩシーケンシャルアクセス型デバイス用のコマンドであるＳＣＳＩ  Ｓｔｒｅａｍ  Ｃｏｍｍａｎｄｓ、又はＳＣＳＩメディアチェンジャ型デバイス用のコマンドであるＳＣＳＩ  Ｍｅｄｉａ  Ｃｈａｎｇｅｒ  Ｃｏｍｍａｎｄｓコマンドに従って動作する。図１１ではテープドライブへのテープの装填処理を要求するコマンドと、テープへのデータライト処理を要求するコマンドが発行された場合を例にとって説明する。
【００７９】
まずステップ１５０１で記憶装置システム０のブロックＩ／Ｏ受付部６８は、ホスト２から、ライブラリ装置のスロットからテープを取り出して、テープドライブにテープを装填するよう要求する、ＭＯＶＥ  ＭＥＤＩＵＭコマンドを受信する。ブロックＩ／Ｏ受付部は受信したＭＯＶＥ  ＭＥＤＩＵＭコマンドを仮想テープ・ライブラリ部１１４に引き渡す。
【００８０】
例えばこのときのコマンドが、図４の仮想テープ管理テーブル２１０中のスロット番号２１２が２のスロットに格納されている仮想テープ、即ちテープ番号２１１が３の仮想テープを、仮想テープドライブテーブル２３０で管理されている仮想テープドライブのうち、ドライブ番号２３１が１の仮想テープドライブに移動するよう指示するコマンドだったとする。
【００８１】
ステップ１５０２では、仮想テープドライブに仮想テープが装填された状態にするために、仮想テープ・ライブラリ部１１４が、仮想テープドライブテーブル２３０中のドライブ番号２３１が１の仮想テープドライブのＴＡＰＥ  ＩＮ  ２３４のエントリに装填すべき仮想テープのテープ番号である３を書き込む。
【００８２】
ステップ１５０３では、記憶装置システム０のブロックＩ／Ｏ受付部６８が、ホスト２から、ドライブ番号が１のテープドライブに対するＷＲＩＴＥコマンドを受信する。このＷＲＩＴＥコマンドは仮想テープドライブに対するコマンドであるから、ブロックＩ／Ｏ受付部はこのコマンドを仮想テープ・ライブラリ部１１４に引き渡す。
【００８３】
ステップ１５０４及びステップ１５０５では、ドライブ番号が１の仮想テープドライブに現在装填されている仮想テープにデータを書き込むため、仮想テープ・ライブラリ部１１４が仮想テープドライブに装填されている仮想テープのテープ番号を特定し、さらにテープ番号から、その仮想テープに対応するディスクのデバイス番号と、書き込みを開始するべきＬＢＡを特定していく。そして特定されたＬＢＡからライトデータが仮想テープに書き込まれる。
【００８４】
具体的には、仮想テープ・ライブラリ部１１４はまず、仮想テープドライブテーブル２３０を参照し、ドライブ番号２３１が１の仮想テープドライブに対応するＴＡＰＥ  ＩＮ  ２３４には３が書き込まれている事から、テープ番号が３の仮想テープにデータを書き出せばよいことを把握する。続いて仮想テープ・ライブラリ部１１４は、仮想テープ管理テーブル２１０を参照してテープ番号２１１が３の仮想テープに相当するディスクのデバイス番号は１０２であるから、デバイス番号が１０２であるディスクにライトデータを書き込めばよいことを認識する（ステップ１５０４）。
【００８５】
ステップ１５０５では、仮想テープ・ライブラリ部１１４が仮想テープ管理テーブル２１０のポインタ２１７を参照して、書き込みを開始するＬＢＡを決定する。そして、仮想テープ・ライブラリ部１１４が、決定されたＬＢＡからライトデータを書き込むようディスクシステム１にライト要求を発行する。仮想テープ・ライブラリ部１１４からのライト要求を受信したディスクアクセス処理部１１１は、ライトデータをデバイス番号が２１４のディスクの決定されたＬＢＡに続く記憶領域に書き込む。
【００８６】
書き込みが終了すると、ステップ１５０６で仮想テープ・ライブラリ部１１４が仮想テープ管理テーブル２１０のポインタ２１７の値を更新して、処理を終了する。即ち仮想テープ・ライブラリ部１１４はポインタ２１７を、ライトデータのサイズ分だけ後にずらす。
【００８７】
次に図１２から図１６を用いて、ＮＡＳデータのバックアップ・リストア処理について説明する。
【００８８】
ファイルシステムグループ１６２に属するディスクは、ファイルサービス６７によってファイルシステムが形成されＮＡＳクライアント３からファイルレベルでアクセスされる。ＮＡＳデータのバックアップは、バックアップサーバ３１からの指示に従ってバックアップサービス６９が仮想テープへデータをバックアップすることによって実施される。本実施形態におけるバックアップ処理においては、バックアップサーバ３１とバックアップサービス６９との間でＮＤＭＰ  （Ｎｅｔｗｏｒｋ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）に従った命令を用いてバックアップ・リストア処理に必要な命令・情報をやり取りするものとするが、これに限定されるものではない。ＮＤＭＰでは、バックアップサーバ３１とバックアップサービス６９との間でＬＡＮを介した通信を行い、ＬＡＮを介してテープドライブやライブラリロボットの制御を行うためのＳＣＳＩコマンドをやりとりする方法と、バックアップ・リストアのコマンドに関する命令形式が規定されている。
【００８９】
図１２及び図１３は、ＮＡＳデータのバックアップ処理において、主にバックアップサービス６９が行う処理の一例を示す図である。バックアップ処理における最初の処理は図１１における処理と同様、仮想テープの装填処理である。そのため図１２及び図１３に示すバックアップ処理ではまず、ブロックＩ／Ｏ受付部６８と仮想テープ・ライブラリ部１１４が図１１のステップ１５０１、１５０２と同様の処理を行い、仮想テープの準備を行う。
【００９０】
続いてバックアップサービス６９は、バックアップサーバ３１からバックアップを指示するコマンドを受信する。その時同時にバックアップサービス６９は、バックアップ対象のファイルシステム名、バックアップに使用する仮想テープドライブの情報を、コマンドのパラメータあるいは環境変数などの手段で受け取る（ステップ２００１）。
【００９１】
ステップ２００２ではバックアップサービス６９が、ステップ２００１で受け取ったバックアップ対象ファイルシステム名をディスク管理テーブル２００のマウント名２０６から検索し、バックアップ対象のデバイス番号を特定する。
【００９２】
ステップ２００３では、バックアップサービス６９が、ステップ２００１で受け取っているバックアップに用いられる仮想テープドライブの情報から、仮想テープドライブテーブル２３０を参照して、当該仮想テープドライブに現在装填されているテープ番号を得る。さらにバックアップサービス６９は、テープ番号から、仮想テープ管理テーブル２１０を参照して、その仮想テープに対応するディスクのデバイス番号を得る。その際、バックアップサービス６９は、当該仮想テープをＮＡＳデータのバックアップに使用することを示すフラグとして、仮想テープ管理テーブル２１０のｏｐｔｉｏｎフラグ２１８の値を１にする。
【００９３】
ステップ２００４以降では、バックアップ対象のディスクからバックアップ先の仮想テープを構成するディスクへの複製処理を、ディスクシステム１のミラー／スプリット部１１２を利用して実施するよう、バックアップサービス６９がディスクシステム１に対してミラー／スプリット部１１２の起動を指示する。ミラー／スプリット部１１２では、ディスク全体の複製だけでなく、ディスクの特定領域の複製を作成することもできる。従って、複製の指示にあたっては、バックアップサービス６９は、バックアップ元のディスク（ＮＡＳデバイス）のバックアップ開始ＬＢＡと終了ＬＢＡ、そしてバックアップ先のディスク（仮想テープ）の開始ＬＢＡと終了ＬＢＡとを指定してミラー／スプリット部１１２の起動を指示する。
【００９４】
ステップ２００４ではまず、仮想テープの容量がバックアップ対象のディスクの容量よりも大きいかどうかを、バックアップサービス６９が判定する。大きい場合にはバックアップ元ディスクに格納されているデータ全体をバックアップ先のディスクに複製するよう、バックアップサービス６９がディスクシステム１に対して指示する（ステップ２００５）。
【００９５】
もし仮想テープの容量がバックアップ元ディスクの容量よりも小さい場合には、ステップ２００６以降に進み、複数の仮想テープにまたがってバックアップデータをコピーする処理に移る。ステップ２００６移行の処理は図１３を用いて説明する。
【００９６】
ステップ２００６ではバックアップ元のディスクの一部記憶領域に格納されたデータを、仮想テープを構成するバックアップ先ディスクに複製するよう、バックアップサービス６９がディスクシステム１に指示する。複製を行うサイズは、仮想テープのサイズに合わせることになる。
【００９７】
ステップ２００７では、バックアップサービス６９が、仮想テープ管理テーブル２１０のバックアップ先の仮想テープのＯｐｔｉｏｎフラグ２１８の値を２にする。このｏｐｔｉｏｎフラグ２１８は、当該仮想テープにＮＡＳデータをバックアップした場合に、１ないし２の値をとる。バックアップサービス６９が取得するバックアップデータが１巻の仮想テープに収まらない場合には、ｏｐｔｉｏｎフラグ２１８の値が２になり、バックアップデータが１巻の仮想テープに収まる場合にはｏｐｔｉｏｎフラグ２８１の値が１になる。
【００９８】
ステップ２００８では、バックアップサービス６９が、仮想テープの交換処理が必要か否かを判定する。バックアップ元のディスクに、仮想テープにコピーされていないデータがまだ存在する場合には、仮想テープの交換が必要と判定される。
【００９９】
交換が必要な場合、ステップ２００９に進み、バックアップサービス６９はバックアップサーバ３１に対して現在の仮想テープが終端に達したことを通知する。バックアップサーバ３１はこの通知を受け、テープの交換処理の要求を記憶装置システム０に出し、バックアップサービス６９がその要求を受け取る（ステップ２０１０）。この要求は具体的にはＭＯＶＥ  ＭＥＤＩＵＭコマンドあるいはＥＸＣＨＡＮＧＥ  ＭＥＤＩＵＭコマンドなどをバックアップサーバ３１が送信することで実現される。
【０１００】
ステップ２０１１では、バックアップサービス６９からＭＯＶＥ  ＭＥＤＩＵＭコマンド若しくはＥＸＣＨＡＮＧＥ  ＭＥＤＩＵＭコマンド等のコマンドを引き渡された仮想テープ・ライブラリ部１１４が、仮想ドライブテーブルを更新する。この処理は図１０のステップ１５０２とほぼ同様である。
【０１０１】
ステップ２０１２にてバックアップサービス６９がバックアップ処理の再開要求をバックアップサーバ３１から受信すると、バックアップサービス６９はバックアップ処理を再開する。
【０１０２】
ステップ２０１３ではステップ２００３と同様の処理が実行され、仮想テープを構成するディスクが特定される。その後はステップ２００６に戻って、バックアップ元のディスクに格納されているデータを仮想テープを構成するディスクへコピーする処理と、仮想テープの交換処理を、バックアップ元のディスクに格納されているデータがすべて仮想テープにコピーされるまで繰り返す。
【０１０３】
続いて図１４、図１５を用いて、仮想テープからファイルシステムグループ１６２に属するＮＡＳデバイスへＮＡＳデータをリストアする時の、バックアップサービス６９における処理の流れを説明する。
【０１０４】
リストア処理でも図１２及び図１３に示すバックアップ処理と同様、仮想テープの装填処理を行う。そのため、最初に図１１のステップ１５０１、１５０２の処理を行って仮想テープの準備を実施する。仮想テープの準備の完了後、バックアップサービス６９はバックアップサーバ３１よりリストアコマンドを受信し（ステップ２１０１）、これによりバックアップサービス６９におけるリストア処理が開始される。
【０１０５】
ステップ２１０２及びステップ２１０３は、各々図１２のステップ２００２及びステップ２００３とほぼ同様の処理で、これらの処理によってリストア先のディスクとリストア元の仮想テープを構成するディスクが特定される。
【０１０６】
ステップ２１０４では、バックアップデータすなわち仮想テープに格納されているこれからリストアすべきデータが、複数の仮想テープにまたがって格納されているか否かを、バックアップサービス６９が仮想テープ管理テーブル２１０のｏｐｔｉｏｎフラグ２１８をチェックすることにより判定する。
【０１０７】
バックアップデータが複数の仮想テープにまたがって格納されていない場合にはステップ２１０５に進み、当該仮想テープを構成するディスク内に他の仮想テープが定義されていないかを、バックアップサービス６９が仮想テープ管理テーブル２１０を参照してチェックする。
【０１０８】
仮想テープを構成するディスクに他の仮想テープが定義されていない場合は、当該ディスクの中にはリストア対象のデータだけがそのまま格納されているはずなので、このディスクをそのままファイルシステムグループ１６２に属するＮＡＳデバイスに変更することでリストア処理を完了する事ができる。そのためステップ２１０６では、現在仮想テープ管理テーブル２１０で管理されているリストア元データの入っているディスクと現在ディスク管理テーブル２００で管理されているリストア先のディスクとを、バックアップサービス６９が入れ替えることで、リストア処理と同等の処理を実現し、リストア処理を終了する。具体的には、バックアップサービス６９は、仮想テープ管理テーブル２１０に登録されているリストア元の仮想テープに対応するデバイス番号と、ディスク管理テーブル２００に登録されているリストア先のＮＡＳデバイスに対応するデバイス番号とを入れ替え、仮想テープ管理テーブル２１０に現在ＮＡＳデバイスとして管理されているディスクのデバイス番号を、ディスク管理テーブル２００に現在仮想テープとして管理されているディスクのデバイス番号を各々登録する。
【０１０９】
リストア処理が終了すると、リストア前に仮想テープとして使用されていたディスクに対してＮＡＳクライアント３からアクセスできるようになり、ＮＡＳクライアント３からアクセスされていたディスクは、仮想テープとして取り扱われることになる。
【０１１０】
ステップ２１０４においてバックアップデータが複数の仮想テープに跨って格納されていると判断された場合、若しくはステップ２１０５においてリストア元のディスクに他の仮想テープが定義されていると判断された場合には、図１５に示すステップ２１１１移行の処理が実行される。
【０１１１】
ステップ２１１１以降では、リストア元のディスクからリストア先のディスクへのデータコピー処理を、図１２及び図１３に示すバックアップ処理と同様に、ディスクシステム１のミラー／スプリット部１１２を利用して行う。ディスクからディスクへのコピーを複数回行うため、バックアップサービス６９はコピー位置を記憶するディスクポインタを用意してこれを管理する。
【０１１２】
ステップ２１１１ではバックアップサービス６９がディスクポインタの値を０に初期化する。続いてステップ２１１２で、リストア元ディスクに格納されているデータを、ミラー／スプリット部１１２を利用してリストア先ディスクに複製するよう、バックアップサービス６９がディスクシステム１に指示して、ミラー／スプリット部１１２を起動させる。この時リストア先ディスクにおける複製開始位置（即ち、バックアップデータの書き込みを開始する位置）はディスクポインタで示されたＬＢＡであり、コピーのサイズは仮想テープの容量と同一であるものとして、バックアップサービス６９からディスクシステム１にコピーの指示が発行される。
【０１１３】
ステップ２１１３ではバックアップサービス６９が、ディスクポインタの値を仮想テープの容量に相当するブロック数の分だけ加算する。ステップ２１１４では、ディスクポインタがリストア先のディスクの終端に達したかをバックアップサービス６９が判定し、ディスク終端まで達した場合にはリストア処理は終了する。
【０１１４】
ディスクポインタがリストア先のディスクの終端に達していない場合には、仮想テープを入れ替えてリストア処理を継続するため、バックアップサービス６９はテープが終端まで達した事をバックアップサーバ３１に通知し（ステップ２００９）、バックアップサーバ３１の指示に従った仮想テープの交換処理を行う（ステップ２０１０及びステップ２０１１）。これらの処理は図１３のステップ２００９からステップ２０１１の処理と同一である。
【０１１５】
仮想テープの交換処理が終了すると、バックアップサービス６９は、バックアップサーバ３１からリストア処理の再開要求を受信し（ステップ２１１５）、受信したリストア処理の再開要求に基づいて、リストア元の仮想テープを構成するディスクを特定する（ステップ２０１３）。その後は、ステップ２１１２に戻ってリストアすべきバックアップデータが全てリストアされるまでステップ２１１２以降の処理が繰り返される。
【０１１６】
図１６では、ファイルシステムグループ１６２に属するディスクの内容、即ちＮＡＳデータをバックアップした仮想テープの内容を、ホスト２から読み出す場合の処理の流れを説明する。ステップ１５０１、ステップ１５０２は仮想テープ装填などの準備処理であり、図１１に示す仮想テープへのライト処理におけるステップ１５０１からステップ１５０２までの処理と同じである。
【０１１７】
続いてステップ２３０３においてブロックＩ／Ｏ受付部６８がホスト２から仮想テープドライブに対するＲＥＡＤコマンド受信する。するとこのＲＥＡＤコマンドは仮想テープ・ライブラリ部１１４に引き渡され、ステップ２３０４において仮想テープ・ライブラリ部１１４が、仮想テープドライブテーブルと仮想テープ管理テーブルを参照し、ＲＥＡＤコマンドにて指定されるドライブ番号に基づいてアクセス対象の仮想テープに対応するディスクのデバイス番号を特定する。
【０１１８】
ステップ２３０５にて、仮想テープ・ライブラリ部１１４は、リード対象の仮想テープの内容がファイルシステムグループ１６２に属するディスクのデータ（即ちＮＡＳデータ）をバックアップしたものであるか判定する。この判定は、仮想テープ管理テーブル２１０のｏｐｔｉｏｎフラグ２１８を参照することによって可能である。
【０１１９】
ＮＡＳデータのバックアップ内容をリードする場合には、ステップ２３０６でファイルサービス６９は仮想テープを構成しているディスクをマウントし、当該ディスクにファイルシステムとしてアクセスできるようにする。ステップ２３０７では、ファイルサービス３１において当該ディスクのデータを読み出し、一般的なバックアップ形式、例えばｔａｒなどの形式のデータを生成し、仮想テープ・ライブラリ部１１４に順次データを渡し（ステップ２３０８）、仮想テープ・ライブラリ部１１４からブロックＩ／Ｏ受付部６２を介してホスト２にデータを送出する（ステップ２３１１）。
【０１２０】
ステップ２３０５で、ＮＡＳデータのバックアップデータのリード処理ではないと判定された場合には、ステップ２３１０に進み、仮想テープ・ライブラリ部１１４が通常の方法でデータを読み出す。即ちステップ２３１０で仮想テープ・ライブラリ部１１４は、仮想テープを構成しているディスクからデータを読み出して、読み出したデータをそのままの形でブロックＩ／Ｏ受付部を介してホスト２にデータを送出する。
【０１２１】
これまで説明してきた実施の形態では、図１のようにディスクシステム１とフロントエンドサーバ６とで、ディスクデバイス、ファイルサーバ、テープライブラリの機能を持った記憶装置システム０を実現しているが、必ずしも図１の構成には限定されない。例えば図１、図２のディスクシステム１とフロントエンドサーバ６が、１台の装置に搭載されるような形態や、ファイルサービス６７やバックアップサービス６９が別の装置で動作する形態などでも、本発明は適用可能である。
【０１２２】
以上で説明した記憶装置システムによれば、テープ装置のみならず、ライブラリ機構を有するライブラリ装置のエミュレートを実現し、磁気ディスクを有する記憶装置で大量のテープメディアを維持管理することができる。
【０１２３】
また、ディスクを磁気ディスクとしても仮想テープとしても取扱うことができ、磁気ディスクとして取扱われるディスクを仮想テープとして取扱われるように変更したり、逆に仮想テープとして取扱われるディスクを磁気ディスクとして取扱われるように変更することもできるので、磁気ディスク及び仮想テープの容量を自由に変更することができる。
【０１２４】
また、１つのストレージ装置にディスクデバイスとファイルサービスとテープライブラリ装置を統合化することができ、それぞれの間で自由な容量割り当てが可能になる。
【０１２５】
更に仮想テープ装置へのバックアップ処理や仮想テープ装置からのリストア処理に、ディスク装置の持つデータ複製機能を利用できるため、バックアップ処理やリストア処理の際にデータを一旦バックアップサーバに読み出す必要がなく、高速かつ低負荷なバックアップ処理やリストア処理が可能となる。また、仮想テープから磁気ディスクへのリストア処理を仮想テープとディスクのマッピングを変更することで実現することにより、リストア処理を高速かつ低負荷で実行することもできる。
【０１２６】
【発明の効果】
磁気テープを有する記憶装置システムにおいて、テープライブラリ装置をエミュレートし、磁気ディスクとしての機能と仮想テープとしての機能の双方を有する記憶装置を実現することができる。また、仮想テープを用いた高速なバックアップ処理及びリストア処理を実現することができる。
【図面の簡単な説明】
【図１】本発明が適用される計算機システムの構成例を示すブロック図である。
【図２】本発明が適用される計算機システムの論理的な構成例を示すブロック図である。
【図３】ディスク管理テーブル２００の一例を示す図である。
【図４】仮想テープ管理テーブル２１０の一例を示す図である。
【図５】未割当デバイス管理テーブル２２０の一例を示す図である。
【図６】仮想テープドライブテーブル２３０、仮想ロボットテーブル２４０の一例を示す図である。
【図７】物理ディスクから論理ディスクを形成して、未割当デバイスグループ１６４に登録する処理の一例を示すフローチャートである。
【図８】未割当デバイスグループ１６４に登録されているディスクを、ディスクデバイスグループ１６１、ファイルシステムグループ１６２、あるいは仮想テープデバイスグループ１６３のいずれかに割り当てる処理の一例を示すフローチャートである。
【図９】仮想テープライブラリ装置の定義処理の一例を示すフローチャートである。
【図１０】ディスクデバイスグループ１６１、ファイルシステムグループ１６２、あるいは仮想テープデバイスグループ１６３に登録されているディスクを、未割当デバイスグループ１６４に返却する処理の一例を示すフローチャートである。
【図１１】仮想テープライブラリへのデータの書き込み処理の一例を示すフローチャートである。
【図１２】バックアップ処理の一例を示すフローチャートである。
【図１３】バックアップ処理の一例を示すフローチャートである。
【図１４】仮想テープからファイルシステムグループ１６２に属するディスクへデータをリストアする処理の一例を示すフローチャートである。
【図１５】仮想テープからファイルシステムグループ１６２に属するディスクへデータをリストアする処理の一例を示すフローチャートである。
【図１６】仮想テープライブラリからのデータの読み出し処理の一例を示すフローチャートである。
【符号の説明】
０…記憶装置システム
１…ディスクシステム
２…ホスト
３…ＮＡＳクライアント
４…ファイバチャネルスイッチ
５…ネットワークスイッチ
６…フロントエンドサーバ
７…管理コンソール
１１…ネットワークインタフェイス
１２…ファイバチャネルインタフェース
１３…ＣＰＵ
１４…メモリ
１５…ディスクインタフェース
１６…ディスク
３１…バックアップサーバ
６１…ネットワークインタフェイス
６２…ファイバチャネルインタフェース
６３…ＣＰＵ
６４…メモリ
６５…ネットワークインタフェイス
６６…ファイバチャネルインタフェース
【図１】
2005055945.tif 000003
【図２】
2005055945.tif 000004
【図３】
2005055945.tif 000005
【図４】
2005055945.tif 000006
【図５】
2005055945.tif 000007
【図６】
2005055945.tif 000008
【図７】
2005055945.tif 000009
【図８】
2005055945.tif 000010
【図９】
2005055945.tif 000011
【図１０】
2005055945.tif 000012
【図１１】
2005055945.tif 000013
【図１２】
2005055945.tif 000014
【図１３】
2005055945.tif 000015
【図１４】
2005055945.tif 000016
【図１５】
2005055945.tif 000017
【図１６】
2005055945.tif 000018