(57)【特許請求の範囲】
【請求項１】
第１のデータフォーマットを用いてデータを入出力する第１の計算機と、前記第１のデータフォーマットとは異なる第２のデータフォーマットを用いてデータを入出力する第２の計算機と、前記第１の計算機と記憶制御装置を介して接続される第１の記憶装置と、前記第１の計算機に接続される第２の記憶装置と、前記第２の計算機と相互接続装置を介して接続される第３の記憶装置とを有する計算機システムにおけるデータバックアップ方法であって、
前記第１の計算機と前記第２の計算機は、第１のネットワークを介して接続され、
前記記憶制御装置と前記相互接続装置は、第２のネットワークを介して接続され、
前記記憶制御装置は、前記第１および前記第３の記憶装置内のデータの位置を特定する情報を含むテーブルを有し、
前記記憶制御装置は、前記第１および前記第３の記憶装置内のデータを前記第１の計算機に提供し、
前記第１の計算機は、前記第２の計算機に対して、前記第１のネットワークを介して、前記第３の記憶装置に格納されているバックアップの対象となるデータの更新の禁止を指示し、前記記憶制御装置に対して、前記第３の記憶装置内の前記バックアップの対象となるデータに対するリード要求を送信し、
前記記憶制御装置は、前記テーブルを参照して前記第３の記憶装置内の前記バックアップの対象となるデータの位置を特定し、前記リード要求を前記第１のデータフォーマットから前記第２のデータフォーマットに変換し、前記変換したリード要求を、前記第２のネットワークおよび前記相互接続装置を介して前記第３の記憶装置に送信し、
前記第３の記憶装置は、前記バックアップの対象となるデータを読み出して前記記憶制御装置に送信し、
前記記憶制御装置は、前記バックアップの対象となるデータを前記第２のデータフォーマットから前記第１のデータフォーマットに変換し、前記変換したデータを前記第１の計算機に送信し、
前記第１の計算機は、前記記憶制御装置から受信した前記変換されたデータを、前記第２の記憶装置に格納することを特徴とするデータバックアップ方法。
【請求項２】
請求項１に記載のデータバックアップ方法であって、
前記第１の計算機は、前記相互接続装置および前記第３の記憶装置の構成に変更があった場合、該変更に関する情報を、前記第１のネットワークを介して前記第２の計算機から受信し、前記受信した変更に関する情報に基づいて、前記テーブルを更新することを特徴とするデータバックアップ方法。
【請求項３】
請求項１に記載のデータバックアップ方法であって、
前記第２のネットワークはファイバチャネルであることを特徴とするデータバックアップ方法。
【請求項４】
請求項１に記載のデータバックアップ方法であって、
前記第１の計算機は、前記第２の計算機に対して、前記バックアップの対象となるデータを更新する場合、該データが格納されている領域とは異なる領域に更新データが格納されるモードへの移行を指示することを特徴とするデータバックアップ方法。
【請求項５】
請求項１に記載のデータバックアップ方法であって、
前記第１の計算機は、前記バックアップの対象となるデータのバックアップが完了した場合、前記第２の計算機に対して、前記バックアップの対象となるデータの更新禁止の解除を指示することを特徴とするデータバックアップ方法。
【請求項６】
請求項５に記載のデータバックアップ方法であって、
前記第１の計算機は、前記バックアップの対象となるデータのバックアップが完了した場合、前記第２の計算機に対して、前記モードへの移行の解除を指示することを特徴とするデータバックアップ方法。
【請求項７】
請求項１に記載のデータバックアップ方法であって、
前記第１の計算機は、前記第２の計算機に対して、前記第２の計算機が有するデータベース管理システム（DBMS）をホットバックアップモードに移行するよう指示することを特徴とするデータバックアップ方法。
【請求項８】
第１のデータフォーマットを用いてデータを入出力する第１の計算機と、前記第１のデータフォーマットとは異なる第２のデータフォーマットを用いてデータを入出力する第２の計算機と、前記第１の計算機と記憶制御装置を介して接続される第１の記憶装置と、前記第１の計算機に接続される第２の記憶装置と、前記第２の計算機と相互接続装置を介して接続される第３の記憶装置とを有する計算機システムであって、
前記第１の計算機と前記第２の計算機は、第１のネットワークを介して接続され、
前記記憶制御装置と前記相互接続装置は、第２のネットワークを介して接続され、
前記記憶制御装置は、
前記第１および前記第３の記憶装置内のデータの位置を特定する情報を含むテーブルを有するメモリ部と、
前記第１の計算機と接続される第１のインタフェース部と、
前記相互接続装置と前記第２のネットワークを介して接続され、前記第１の計算機から前記第３の記憶装置内のデータに対するリード要求を受信した場合、前記テーブルを参照して前記第３の記憶装置内のデータの位置を特定し、前記リード要求を前記第１のデータフォーマットから前記第２のデータフォーマットに変換して前記第３の記憶装置に送信し、
前記第３の記憶装置が読み出した前記リード要求の対象のデータを受信し、前記第２のデータフォーマットから前記第１のデータフォーマットに変換する第２のインタフェース部とを有し、
前記第１の計算機は、
前記第３の記憶装置内のデータの位置に関する情報を、前記第１のネットワークを介して前記第２の計算機から受信する第３のインタフェース部と、
前記受信した位置に関する情報を前記記憶制御装置に送信する第４のインタフェース部と、
前記第３の記憶装置内のデータを前記第２の記憶装置にバックアップする場合、前記第２の計算機に対して、前記第１のネットワークを介して、前記第３の記憶装置に格納されているバックアップの対象となるデータの更新の禁止を指示し、前記記憶制御装置に対して、前記第３の記憶装置内の前記バックアップの対象となるデータに対するリード要求を送信し、前記記憶制御装置から受信した前記変換された前記バックアップの対象となるデータを、前記第２の記憶装置に格納する制御部とを有することを特徴とする計算機システム。
【請求項９】
請求項８に記載の計算機システムであって、
前記第１の計算機は、前記相互接続装置および前記第３の記憶装置の構成に変更があった場合、該変更に関する情報を、前記第１のネットワークを介して前記第２の計算機から受信し、該受信した変更に関する情報を前記記憶制御装置に送信し、
前記記憶制御装置は、前記受信した変更に関する情報に基づいて、前記テーブルを更新することを特徴とする計算機システム。
【請求項１０】
請求項８に記載の計算機システムであって、
前記第２のネットワークはファイバチャネルであり、
前記第２のインタフェースはファイバチャネル用のインタフェースであることを特徴とする計算機システム。
【請求項１１】
請求項８に記載の計算機システムであって、
前記第１の計算機は、前記第２の計算機に対して、前記バックアップの対象となるデータを更新する場合に、該データが格納されている領域とは異なる領域に更新データが格納されるモードへの移行を指示することを特徴とする計算機システム。
【請求項１２】
請求項１１に記載の計算機システムであって、
前記第１の計算機は、前記バックアップの対象となるデータのバックアップが完了した場合、前記第２の計算機に対して、前記バックアップの対象となるデータの更新禁止の解除を指示することを特徴とする計算機システム。
【請求項１３】
請求項８に記載の計算機システムであって、
前記第１の計算機は、前記バックアップの対象となるデータのバックアップが完了した場合、前記第２の計算機に対して、前記モードへの移行の解除を指示することを特徴とする計算機システム。
【請求項１４】
請求項８に記載の計算機システムであって、
前記第１の計算機は、前記第２の計算機に対して、前記第２の計算機が有するデータベース管理システム（DBMS）をホットバックアップモードに移行するよう指示することを特徴とする計算機システム。
【請求項１５】
第１のデータフォーマットを用いてデータを入出力する第１および第２の記憶装置と接続され、前記第１のデータフォーマットとは異なる第２のデータフォーマットを用いてデータを入出力する第３の記憶装置と第２のネットワークおよび相互接続装置を介して接続され、前記第３の記憶装置に対して前記第２のデータフォーマットを用いてデータを入出力する他の計算機と第１のネットワークを介して接続される計算機であって、
前記第１および前記第３の記憶装置内のデータの位置を特定する情報を含むテーブルを有するメモリ部と、
前記第３の記憶装置内のデータの位置に関する情報を、前記第１のネットワークを介して前記他の計算機から受信して前記テーブルに格納し、前記第３の記憶装置内のバックアップの対象となるデータを読み出す場合、前記他の計算機に対して、前記第１のネットワークを介して、前記第３の記憶装置に格納されている前記バックアップの対象となるデータの更新の禁止の指示を送信するインタフェース部と、
前記第３の記憶装置内のバックアップの対象となるデータを読み出す場合、前記テーブルを参照して前記第３の記憶装置内の前記データの位置を特定し、前記第３の記憶装置内の前記データに対するリード要求を前記第１のデータフォーマットから前記第２のデータフォーマットに変換し、前記第２のネットワークおよび前記相互接続装置を介して前記第３の記憶装置に送信し、前記第３の記憶装置が読み出した前記バックアップの対象となるデータを受信し、該バックアップの対象となるデータを前記第２のデータフォーマットから前記第１のデータフォーマットに変換するアダプタ部と、
前記アダプタ部が変換した前記バックアップの対象となるデータを前記第２の記憶装置に格納するチャネルインタフェース部とを有することを特徴とする計算機。
【請求項１６】
請求項１５に記載の計算機であって、
前記相互接続装置および前記第３の記憶装置の構成に変更があった場合、該変更に関する情報を、前記第１のネットワークを介して前記他の計算機から受信し、
前記受信した変更に関する情報に基づいて、前記テーブルを更新することを特徴とする計算機。
【請求項１７】
請求項１５に記載の計算機であって、
前記第２のネットワークはファイバチャネルであることを特徴とする計算機。
【請求項１８】
請求項１５に記載の計算機であって、
前記他の計算機に対して、前記バックアップの対象となるデータを更新する場合、該データが格納されている領域とは異なる領域に更新データが格納されるモードへの移行を指示することを特徴とする計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージ・エリア・ネットワーク（SAN）を介して、ストレージシステムのデータバックアップ方式に関する。特に、ホスト計算機とストレージ間のインタフェース方式や、オペレーティングシステムが異なる複数のストレージデータの包括的なバックアップに適する。
【０００２】
【従来の技術】
従来、ストレージデータのバックアップは、個々のホスト計算機に磁気テープ装置等のバックアップデバイスをそれぞれ接続し、そのホスト計算機が行っていた。メインフレーム計算機システムにおいては、バックアップの重要性が古くから認識されていたため、高機能なバックアップユーティリティプログラム等、バックアップ処理の運用管理の環境が整っている。一方UNIX（UNIXはX/Open Company Ltd.が独占的にライセンスする米国ならびに他の国における登録商標）やWindows（Windowsは米国及びその他の国における米国Microsoft Corp.の登録商標）等のオープン系システムにおいても、近年、ストレージシステムの記憶容量の増加により、ディスクストレージ内のデータのバックアップを効率的に行うことが重要な問題となっている。特に大規模な計算機システムを構築している企業では、メインフレームシステムとオープン系システムが混在して運用されているため、同一のバックアップユーティリティプログラムを用いて、同一のバックアップデバイスに、両方のシステムのバックアップを行えるにすることが望ましい。
【０００３】
また、オープン系システムにおいては、ストレージエリアネットワーク(SAN)を利用したストレージシステムの構築が脚光をあびている。具体的には、このシステムは、ディスクインタフェースにファイバチャネル（FC）を用い、複数のホストコンピュータとファイバチャネルディスク装置をファイバチャネルのスイッチ又はハブで結合した構成を意味する。ここで、ファイバチャネルディスク装置とは、FCのインタフェースをもつディスク装置を意味する。ファイバチャネルのプロトコル上には、SCSIのコマンドをマッピングできる。また、ファイバチャネルディスク装置も、インタフェースがFCに変わっても、そのプロトコルの上にマッピングされたSCSIコマンドを解釈して実行することができる。このため、ホストコンピュータ上で動作するOSやアプリケーションプログラムは、ディスク装置へのアクセスにおいて広く用いられているSCSIコマンドで、ディスク装置に対する操作を行うことが出来る。
【０００４】
一方、オープン系データをメインフレームシステムにバックアップする点を開示するものとして、特開平１０−２８３２７２号公報がある。当該公報は、メインフレーム系とオープン系のディスク制御装置間を通信路で結び、メインフレームからオープン系のディスク制御装置をアクセスし、そのデータをバックアップする手段を開示している。
【０００５】
【発明が解決しようとする課題】
しかし、特開平１０−２８３２７２号に開示された手段では、メインフレーム系のディスク制御装置とオープン系のディスク制御装置間を一対一の通信路で接続するため、メインフレーム系およびオープン系のディスク制御装置の両方に、それぞれのホストへのインタフェースと別に、当該通信路のインタフェースを備える必要がある。また、当該公報には、この通信路を用いてデータの授受をどのように行うかという点も開示されていない。さらに、メインフレーム上のファイルシステムが使用する可変長記録方式と、オープン系ホスト上のファイルシステムが使用する固定長記録方式間の具体的な変換方法も開示されていない。また、当該公報は、SAN環境下でのデータバックアップについては検討されていない。
【０００６】
バックアップを正確に実行するためには、アプリケーションプログラムとの連携についても配慮する必要がある。すなわち、アプリケーションが動作している最中に、そのプログラムが参照/更新するデータをバックアップやレストアを行う場合は注意を要するのである。バックアップを行っている最中に、アプリケーションプログラムがバックアップ対象となるデータの一部が変更される可能性があるからである。この場合バックアップデータは整合していないデータとなり、このデータは、レストアしても意味を持たないものとなってしまう。この状態をバックアップデータの非整合状態と呼ぶことにする。特開平１０−２８３２７２号公報では、このような非整合状態を避ける手段については検討されていない。
【０００７】
そこで、本発明の目的は、メインフレームホスト上のOSやプログラムが、オープン系のストレージの内容を、メインフレーム系のストレージ同様な方法でアクセスできるようにすることである。これにより、オープン系ストレージの内容を、メインフレーム系へバックアップすることができる。
【０００８】
また本発明の他の目的は、オープン系のホスト上でアプリケーションプログラムが動作中に、そのアプリケーションが参照しているデータを、整合の取れた状態でバックアップする手段を提供することにある。
【０００９】
【課題を解決するための手段】
メインフレーム系のディスク制御装置に、ファイバチャネル等のSAN上のストレージにアクセスする手段と、ストレージの入出力データのフォーマットを変換させる手段を設ける。そして、当該ディスク制御装置に接続されているメインフレーム系ホストに対し、該SAN上のストレージのボリウムを本来のディスク制御装置の配下のボリウムと同様にアクセスさせる。また、メインフレーム系ホストの入出力制御プロセッサに、SAN上のストレージにアクセスする手段と、ストレージの入出力データのフォーマットを変換させる手段を設けてもよい。そして、メインフレームに、該SAN上のストレージのボリウムをアクセスさせてもよい。
【００１０】
さらに、メインフレーム系ホスト上のプログラムとオープン系ホスト上のプログラムとの間で通信する手段を設け、バックアップデータの整合性を保持する。
【００１１】
【発明の実施の形態】
<<実施例１>>
本発明の第一の実施例を説明する。
【００１２】
図２は、ディスク制御装置と磁気テープ装置を装備した計算機システムの一構成例を示す。ホストコンピュータ１は、プロセッサ１３および主記憶１２を持ち、アプリケーションプログラムを実行する。ディスク装置および磁気テープ装置１４との入出力は、Ｉ／Ｏ制御プロセッサ１５を経由で行われる。Ｉ／Ｏ制御プロセッサ１５は、プロセッサ１３から入出力の命令を受けた後は自律的に動作し、ディスク装置および磁気テープ装置１４に対し、チャネルインタフェース２９を用いて制御を行い、指定されたデータの読み出しや書き込みを行う。また、ホストコンピュータ１はLANインタフェース９を持ち、他のホストコンピュータとのデータの送受信を行うことができる。
【００１３】
ディスク制御装置７は、ホストインタフェース２とチャネルパス８によりホストコンピュータ１と接続される。ディスク制御装置７は、キャッシュメモリ３、共有メモリ１０、LANインタフェース２１、ディスク駆動装置５と接続するディスクインタフェース４およびこれらを接続する共通バス６により構成されている。LANインタフェース２１により、ディスク制御装置７は、LANに接続されているホストコンピュータ１や他の装置と通信が可能である。また、ディスク制御装置７には、複数のディスクインタフェース又は複数のホストインタフェース２の実装が可能である。複数のホストインタフェース２が実装される場合には、それらの接続先がすべてホスト１であるとは限らない。図２は、一つのホストインタフェースがホスト１に接続されている例を示している。
【００１４】
ホストインタフェース２とディスクインタフェース４はプロセッサを装備し、それぞれ自律的に動作する。またキャッシュメモリ３は、複数のホストインタフェース２や複数のディスクインタフェース４から参照可能な共有資源である。キャッシュメモリ３は、本ディスク制御装置へ書き込まれたデータや、ディスク駆動装置５から読み出されホストに出力されたデータを一時的に保存する。
【００１５】
ディスク制御装置がディスクアレイ機能を持っている場合には、ホストから送られたデータは、複数のディスク駆動装置５に分散して格納される。本実施例はディスクアレイに対しても適用可能であるが、説明の簡略化のため、以後の説明は通常のディスクに対する動作を例に説明する。
【００１６】
ホストコンピュータ１とディスク制御装置７の間のデータの入出力動作を説明する。ここでホストコンピュータのOSは、例えば日立製作所のVOS3（Vertual Operating System 3）等の、いわゆるメインフレームOSであると仮定する。OSから書き込み又は読み込み要求を受けたI/O制御プロセッサ１５は、書き込み又は読み込みコマンドを生成し、チャネルパス８を経由してディスク制御装置７へ送信する。
【００１７】
書き込みは、レコードと呼ばれる可変長のデータ構造を単位として行う。この可変長レコードの表現方式をカウント・データ・キー形式（CKD形式）と呼ぶ。書き込み対象となるディスク及びディスク上のレコードの位置は、ボリウム番号、シリンダ番号、ヘッド番号、レコード番号で指定する。シリンダ番号、ヘッド番号により書き込むトラックを指定し、レコード番号によりトラック内の何番目のレコードに書き込むかを指定する。読み込みも、CKD形式のレコードを単位として行う。読み込み対象となるディスク及びディスク上のレコードのディスク上の位置も、ボリウム番号、シリンダ番号、ヘッド番号、レコード番号で指定することにより行われる。シリンダ番号、ヘッド番号により読み込むトラックを指定し、レコード番号によりトラック内の何番目のレコードを読み込むかを指定する。
【００１８】
ホストコンピュータ１と磁気テープ装置１４との間は、ホストコンピュータ１とディスク制御装置７との間と同様に、チャネルパス８で接続される。ディスク駆動装置５内のデータのバックアップ及びレストアは、ホストコンピュータ１上で動作するバックアップユーティリティソフトウエアが実行する。具体的には、バックアップは、ディスク駆動装置内の記録内容をディスク制御装置７を用いて読み出して、磁気テープ装置１４へ記録する処理である。またレストアは、磁気テープ装置１４からデータを読み出し、ディスク制御装置７へ書き込む処理である。
【００１９】
アプリケーションプログラムが動作している最中に、そのプログラムが参照/更新するデータをバックアップやレストアを行う場合は注意を要する。上述したバックアップデータの非整合状態が生じる可能性があるからである。
【００２０】
このような非整合状態を防ぐには、アプリケーションプログラムを終了させてからバックアップするのが最も簡単である。しかし２４時間営業の銀行のデータベースのように、２４時間プログラムを終了できない場合もある。このような状況下でもデータのバックアップを可能にするためには、データベース管理システム（DBMS）等のアプリケーションプログラムにはホットバックアップモードを持つものがある。DBMSがホットバックアップモードに入ると、本来データが格納されている領域の更新を禁止し、更新データは別の領域に一時保存される。この状態で本来格納されているデータ領域からバックアップを行えば、データが非整合になる可能性はない。ホットバックアップモードを解除すると、一時保存されたデータは、本来のデータ格納領域へ戻される。バックアップユーティリティプログラムは、バックアップの自動化/効率化のために、アプリケーションプログラムのホットバックアップモードの制御等も行う。
【００２１】
図３は、SANを利用した計算機システムの構成例を示す。SANとは、ディスクインタフェースにファイバチャネル（FC）２０を用い、複数のホストコンピュータ１７やファイバチャネルディスク装置１８を、スイッチ１９で結合した構成を指す。ファイバチャネルディスク装置１８は、ディスクアレイ構成でも本特許の目的は達せられるが、ここでは説明の簡略化のため、単純なディスク装置として説明する。ホストコンピュータ１７は、プロセッサ１３、主記憶１２を持つ。また、LANインタフェース１１を持ち、任意のホストコンピュータ１７と通信が可能である。さらにファイバチャネルとのインタフェースのための、ホスト・バス・アダプタ（HBA）１６を持つ。本実施例では、LANのプロトコルと、SANの通信プロトコルとは異なる。ファイバチャネル２０のプロトコル上には、SCSIのコマンドがマッピングされる。SCSIコマンドとFC間のマッピングは、HBA１６やHBA１６とのインタフェースプログラムであるデバイスドライバ（図示せず）が行う。FCやSCSIの規格の詳細に関しては、ANSI（American National Standards Institute）の規格書に規定されている。一方、LANのプロトコルは、TCP/IP等が利用される。
【００２２】
任意のホストコンピュータ１７は、任意のディスク装置１８にアクセス可能である。スイッチ１９の代わりにハブを使用した構成も可能である。スイッチとハブの違いは、ポートが使用する帯域が独立か否かであり、論理的な動作は同一である。ファイバチャネルやスイッチの代わりに、シリアル・ストレージ・アーキテクチャやユニバーサル・シリアル・バス等の他のシリアルインタフェースや、スモール・コンピュータ・システム・インタフェース（SCSI）等のパラレルインタフェースを用いても本特許の目的を達せられるが、ここではFCを使用した例を示す。
【００２３】
図１は、本発明の目的とするSANを使用した計算機システムにおいて、ストレージの内容をバックアップするシステムの構成例を示す。ホストコンピュータのOSは限定されないが、ここでは、ホストコンピュータ１のOSはメインフレームOS、ホストコンピュータ１７のOSはUNIX等のオープン系のOSであると仮定する。
【００２４】
ホストコンピュータ１７、フィバチャネルスイッチ１９、ファイバチャネルディスク装置１８のハードウエア構成は、図３で説明したものと同様である。ホストコンピュータ１、磁気テープ装置１４のハードウエア構成は図２で説明したものと同様である。ディスク制御装置７は、ファイバチャネルインタフェース２２を装備し、それがFCによりファイバチャネルスイッチと結合している点以外は、図２で説明したものと同様でる。
【００２５】
ファイバチャネルインタフェース２２は、プロセッサを内蔵し、そのプログラムにより、任意のファイバチャネルディスク装置１８へのアクセスが可能である。ファイバチャネルディスク装置１８の立場では、ファイバチャネルインタフェース２２によるアクセスも、ホストコンピュータ１７によるアクセスと同様に見える。また図４に示すように、このファイバチャネルインタフェース２２を用いて、ディスク制御装置７を、FCインタフェースのディスク装置として使用することも可能である。
【００２６】
次に、ホストコンピュータ１からファイバチャネルディスク装置１８をアクセスする方法を示す。ここで、ディスク制御装置７は、ホストコンピュータ１のOSに対し、ファイバチャネルディスク装置１８を、自身の配下のディスク駆動装置５と同様に見せる機能を提供する。すなわちホストコンピュータ１からは、ファイバチャネルディスク装置１８がディスク制御装置７配下のボリウムの一つとして見える。この機能をボリウム統合機能と呼ぶことにする。ボリウム統合機能によりOSがファイバチャネルディスク装置１８をアクセスする手順は、従来のディスク駆動装置５をアクセスする手順と同様になる。
【００２７】
ボリウム統合機能は、ボリウムマッピング機能とレコード形式変換機能からなる。データの読み込みや書き込み動作を例にして、ボリウム統合機能の具体的な動作を説明する。
【００２８】
最初にデータの読み込み動作を説明する。前述のように、ホストコンピュータ１の読み込みコマンドには、読み込み対象のボリウム番号、シリンダ番号、ヘッド番号、レコード番号が指定されている。ここでボリウムマッピング機能により、読み込み対象となるボリウムが、ディスク駆動装置５か又はファイバチャネルディスク装置１８かが決定される。ボリウムマッピング機能は、ディスク制御装置７内の共有メモリ１０上に置かれた、ボリウムマッピングテーブルにより実現される。
【００２９】
ボリウムマッピングテーブルの一構成例を図５に示す。任意のボリウム番号フィールド２３に対応する外部参照フラグ２４を見ることにより、任意のボリウムがディスク制御装置７の外部にあるか否か（ここでは１の場合外部にあるとする）が判別できる。同様にディスク駆動装置番号/ポート番号フィールド２５を参照することにより、ディスク制御装置７の内部にある場合はそのディスク駆動装置番号が、ディスク制御装置外部にある場合はファイバチャネルディスク装置１８のポート番号が得られる。例えば図１では、ボリウム番号０は、ディスク制御装置７内のディスク駆動装置０に割り当てられている。また、ボリウム番号１は、FC上のポート番号０のファイバチャネルディスク装置１８に割り当てられている。
【００３０】
ボリウムマッピングテーブルは、ホストコンピュータ１からのコマンドにより作成及び変更される。具体的には、ホストインタフェース２が、その内部のプロセッサを用いてボリウムマッピングテーブルの作成又は変更コマンドを解釈し、共有メモリ１０上へボリウムマッピングテーブルを作成し又変更する。さらにボリウムマッピングテーブルの作成や変更は、同様なコマンドの解釈機能を、ディスク制御装置７の制御コンソールとのインタフェースやLANインタフェース上に実装することにより、ディスク制御装置７の制御コンソールやLANインタフェース経由でも行うことができる。
【００３１】
FCは機器の電源を入れたまま、動的に装置の追加削除を行える。このため、FC上の機器の構成が変更された場合、その変更をボリウムマッピングテーブルに反映する必要がある。このような変更を反映させる方式を、図９を用いて説明する。
【００３２】
FC上の機器の変更は、最終的にはその機器を使用するホストコンピュータのＯＳに集められる。これは、ＯＳが機器の情報を認識していないと、その上で動くアプリケーションプログラムがその機器を利用できないからである。この関係を利用して、エージェント３４は任意のタイミングでＯＳからFC上の機器、すなわちファイバチャネルディスク装置に関する情報を読み出し、機器の構成が変更されていたら新しい情報をホストコンピュータ１上のエージェント３２に送る。ホストコンピュータ１上のエージェント３２は、送られてきた情報に基づき、ボリウムマッピングテーブルの変更コマンドを発行することで、ボリウムマッピングテーブルを更新する。
【００３３】
これらのエージェントの機能は、ホスト上で動作する単独のプログラムとして実現する。また、後述するバックアップユーティリティプログラム等の機能の一部として組み込むことも可能である。
【００３４】
ファイバチャネルスイッチ１６には、例えばname server、management server、directory service機能等、自身に接続されている機器の情報や状態を管理する機能を持つものもある。これらの規格は、ANSIのFC-GS(FC Generic Services)等で規定されている。したがって、ファイバチャネルインタフェース２２が、内部のプロセッサ上のプログラムを用いて、前記規格に則った手順でファイバチャネルスイッチ１９から構成に関する情報を得ることができる。さらにここで構成変更があった場合、ファイバチャネルインタフェース２２がボリウムマッピングテーブ変更コマンドを生成し、ホストインタフェース２に送信する事により、ボリウムマッピングテーブルの変更ができる。ファイバチャネルインタフェース２２が、直接ボリウムマッピングテーブルを書き換える方式も可能である。
【００３５】
読み込み対象となるボリウムがディスク制御装置７内のディスク駆動装置の場合は、すでに図２を用いて説明した手順でデータが読み出されホストコンピュータ１に返される。読み込み対象となるボリウムがFC上のファイバチャネルディスク装置１８の場合を次に説明する。
【００３６】
ホストコンピュータ１からの読み込みコマンドは、先に説明したように、CKDフォーマットと呼ばれる可変長レコード形式である。一方、オープン系ホストコンピュータに接続され、SCSIコマンドを解釈するファイバチャネルディスク装置１８は、入出力の最小単位であるブロックが固定長である。この固定長入出力フォーマットをFBA（Fixed Block Address）フォーマットと呼ばれる。ブロックのサイズは256バイトが一般的であるが任意のサイズが可能である。このブロックサイズはボリウムの初期化フォーマット時に指定され、次の初期化フォーマットまで変更できない。ボリウムの初期化フォーマットが行われると、ボリウムの先頭からブロック０、ブロック１、ブロック２…、と割り当てられる。256000000バイトの大きさのボリウムでは、最後のブロックはブロック９９９９９９番となる。入出力コマンドでは、先頭のブロック番号と、入出力するブロックの個数を指定することにより、任意の長さのデータを取り扱う。
【００３７】
このようにOSの種類によって、入出力データの表現方式が異なる。これらの違いを変換する機能が、レコード形式変換機能である。レコード形式変換機能により、FBAフォーマットのボリウムを、CKD形式でアクセス可能になる。すなわち、ファイバチャネルディスク装置１８のFBAフォーマットのボリウムを、ディスク駆動装置５上のCKDフォーマットと同様のボリウム形式でアクセスできる。レコード形式変換機能は、ファイバチャネルインタフェース２２のプロセッサにより実現される。
【００３８】
FBAフォーマットとCKDフォーマット間の変換方式は幾つかあるが、ここではCKDフォーマットで、シリンダ数２１８５、ヘッド数１５、トラック当たりの容量６４キロバイト、ボリウム総容量２メガバイトの形式で、同じくボリウム総容量２メガバイト、ブロックサイズ２５６バイトのFBAフォーマットのボリウムを読み出す場合を説明する。
【００３９】
この場合、ホストコンピュータ１から見て、ファイバチャネルディスク装置１８のボリウムは、１トラック上に、カウント長及びキー長がゼロで、レコード長２５６バイトのレコードが２５６個並んでいるように見える。すなわち、FBAフォーマットのブロックのサイズは、CKDフォーマットのレコードのサイズと等しい。
【００４０】
FBAフォーマットのブロック０は、CKDフォーマットでは、シリンダ０、ヘッド０、レコード０に存在する。FBAフォーマットのブロック２５６は、CKDフォーマットでは、シリンダ０、ヘッド１、レコード０になる。また、ヘッド数が１５のため、CKDフォーマットのシリンダ０、ヘッド１４、レコード０が、FBAフォーマットのブロック３５８４となり、さらにCKDフォーマットのシリンダ１、ヘッド０、レコード０が、FBAフォーマットのブロック３８４０となる。
【００４１】
これらを数式で表現すると、
FBAフォーマットブロック番号＝（シリンダ番号×１５×２５６）＋（ヘッド番号×２５６）＋レコード番号となる。
【００４２】
ここでは、CKDフォーマットの１レコードが、FBAフォーマットの１ブロックに対応する変換方式を説明した。しかし変換方式はこれだけに限られない。例えば、CKDフォーマットの１レコードがFBAフォーマットの複数ブロックに対応する方式や、逆にFBAフォーマットの１ブロックがCDKフォーマットの複数レコードに対応する方式もある。CKDでのトラックやシリンダを、FBAの（複数）ブロックに対応させる方式もまた可能である。
【００４３】
これら変換は先述のように、ファイバチャネルインタフェース２２のプロセッサにより実現される。ホストコンピュータ１からの読み込みコマンドは、最初にホストインタフェース２で解析される。ここでボリウムマッピングテーブルの参照に基づき、対象となるボリウムがFC上のファイバチャネルディスク装置１８と判明した場合、このコマンドはファイバチャネルインタフェース２２に送られる。ファイバチャネルインタフェース２２のレコード形式変換機能により、FBAフォーマット表現の読み込みコマンドに変換され、ファイバチャネル上のSCSIコマンドとして、目的のポートに接続されたファイバチャネルディスク装置１８に送られる。
【００４４】
ファイバチャネルディスク装置１８は、SCSIコマンドを解釈し、指定されたブロックの内容を読み出し、ファイバチャネルインタフェース２２に返信する。ファイバチャネルインタフェース２２は、返信されたデータをCKDフォーマットに変換し、ホストインタフェース２に送る。ホストインタフェース２は、そのデータをホストコンピュータ１に送ることにより、ファイバチャネルディスク装置１８に対する一連の読み込み処理が完結する。
【００４５】
ホストコンピュータ１から、ファイバチャネルディスク装置１８に対する書き込み処理に関しても、読み込み処理と同様に、ボリウムマッピング機能とレコード形式変換機能を利用して行われる。ファイバチャネルインタフェース２２とホストインタフェース２間のデータの受け渡しは、キャッシュメモリ３を通して受け渡しすることも可能である。
【００４６】
ここまで述べたボリウム統合機能により、ホストコンピュータ１からファイバチャネルディスク装置１８をアクセスが可能になった。さらに、ボリウム中の任意のファイルをアクセスするためには、そのファイルのボリウム中の位置と長さの情報が必要になる。具体的には、FBAフォーマットのボリウムならば、対象となるファイルが格納されている（複数の）ブロックの、最初のブロック番号とブロック数である。この情報をメタ情報と呼ぶ。
【００４７】
メタ情報は、例えばUNIX OSの場合、ファイルシステムがi-nodeと呼ばれる領域に保持する情報であり、図９で示された、ホスト上で動作するプログラムであるエージェント３４により収集できる。これは、i-nodeの構造が公開されており、またi-nodeの領域はボリウムの先頭に取られているからである。エージェント３４で収集されたメタ情報は、LANネットワーク等を経由してエージェント３２に送られ、ホスト１上の他のプログラムがアクセスコマンド生成時に、アクセス対象のレコードやブロックの位置を計算するのに使用される。
【００４８】
これらのエージェントの機能は、ホスト上で動作する単独のプログラムとして実現する。また、後述するバックアップユーティリティプログラム等の機能の一部として組み込むことも可能である。
【００４９】
以上に述べた方式、すなわちメタ情報およびボリウム統合機能を用いることにより、ホストコンピュータ１は、SAN上のファイバチャネルディスク装置１８をアクセスできる。したがって、先に図２を用いて説明したように、ディスク駆動装置５の内容を磁気テープ装置１４へバックアップやレストアと同様の方式により、ホストコンピュータ１上のバックアップユーティリティプログラムが、ファイバチャネルディスク装置１８の内容を磁気テープ装置１４へバックアップやレストアすることが可能となる。
【００５０】
また、これらファイバチャネルディスク装置１８の内容をバックアップする場合も、前述したバックアップデータの非整合状態を考慮する必要がある。すなわち、ファイバチャネルディスク装置１８の内容をバックアップしている最中に、ホストコンピュータ１７が、その内容を書き換える場合である。
【００５１】
このような非整合状態を防ぐ方式を図７を用いて次に述べる。ここではホストコンピュータ１７上でDBMS２８が動作しており、このDBMS２８がホットバックアップ機能を持っていると仮定する。この場合、バックアップユーティリティプログラム２７をホストコンピュータ１７上でも動作させ、このプログラムでホストコンピュータ１７上DBMS２８のホットバックアップモードを制御する。さらに具体的には、図８のフローチャートで示すように、ファイバチャネルディスク装置１８内のデータのバックアップに先立ち、ホストコンピュータ１上のバックアップユーティリティプログラム２６は、LANネットワークを介して、ホストコンピュータ１７上のバックアップユーティリティプログラム２７に、DBMS２８をホットバックアップモードに移行させる様に指示を出す。すなわち、DBMS２８に対し、ファイバチャネルディスク装置１８内に格納されているデータであって、バックアップの対象であるオリジナルデータを更新をすることを禁止させ、更新データを一時的に別の領域に保持させる。この指示に基づき、ホストコンピュータ１７上のバックアップユーティリティプログラム２７は、DBMS２８をホットバックアップモードに移行させる。ホストコンピュータ１上のバックアップユーティリティプログラム２６は、ホストコンピュータ１７上のバックアップユーティリティプログラム２７からホットバックアップモードへの移行完了の通知を受けると、ファイバチャネルディスク装置１８の内容のバックアップを開始する。バックアップが終了すると、ホストコンピュータ１上のバックアップユーティリティプログラム２６は、LANネットワークを使用して、ホストコンピュータ１７上のバックアップユーティリティプログラム２７に指示を出し、DBMS２８のホットバックアップモードを解除させる。以上に述べた方式より、整合したデータをバックアップすることが可能にある。
【００５２】
なお、DBMSがホットバックアップ機能をサポートしていない場合には、ホストコンピュータ１上のバックアップユーティリティプログラム２６は、ホストコンピュータ１７上のバックアップユーティリティプログラム２７に、DBMSがデータを更新するのを禁止させるようにしてもよい。この場合は、ホストコンピュータ１７上のバックアップユーティリティプログラム２７は、その指示を了解した場合には、その旨を通知するようする。ホストコンピュータ１上のバックアップユーティリティプログラム２６は、その通知を受け取ると、当該データのバックアップを開始する。ストコンピュータ１上のバックアップユーティリティプログラム２６は、その更新が完了すると、ホストコンピュータ１７上のバックアップユーティリティプログラム２７に、データ更新の禁止を解除するの指示を送る。
【００５３】
<<実施例２>>
本発明の第二の実施例を図６を例に説明する。
【００５４】
この実施例でも、FBAフォーマットであるファイバチャネルディスク装置１８へのアクセスを、ホストコンピュータ１上で動作するOSやアプリケーションプログラムに対し、CKDフォーマットでの入出力と認識させる方式を示す。これにより、ホストコンピュータ１上で動作するOSやアプリケーションプログラムは、ファイバチャネルディスク装置１８の内容をバックアップやレストアできる。
【００５５】
この実施例では、Ｉ／Ｏ制御プロセッサ１５が、ボリウム統合機能を提供する。ボリウム統合機能により、OSやアプリケーションプログラムがファイバチャネルディスク装置１８をアクセスする手順は、ディスク制御装置７等をアクセスする手順と同様になる。ボリウム統合機能は、第一の実施例と同様に、ボリウムマッピング機能とレコード形式変換機能からなる。次に、ボリウム統合機能の具体的な動作を説明する。
【００５６】
アプリケーションプログラムや、バックアップユーティリティプログラムからの入出要求は、最初にＩ／Ｏ制御プロセッサ１５に送られる。Ｉ／Ｏ制御プロセッサ１５は、ボリウムマッピング機能により、アクセス先のボリウムが、FBAフォーマットであるファイバチャネルディスク装置１８へのアクセスか否かを判定する。この判定は、第一の実施例と同様にボリウムマッピングテーブルを用いる。ボリウムマッピングテーブルはＩ／Ｏ制御プロセッサ１５がアクセス可能な主記憶上に置かれる。本実施例のマッピングテーブルの構造は、第一の実施例のと同一である。すなわち、外部参照フラグフィールド２４が１の場合、ファイバチャネルディスク装置１８へのアクセスとなる。そして外部参照フラグフィールド２４が０の場合は、Ｉ／Ｏ制御プロセッサ１５はボリウムマッピングテーブルを使用せず、通常の入出力動作を行う。
【００５７】
ボリウムマッピングテーブルは、ホストコンピュータ１で動作するプログラムにより作成及び変更される。FCは機器の電源を入れたまま、動的に装置の追加削除を行える。このため、FC上の機器の構成が変更された場合、その変更をボリウムマッピングテーブルに反映する必要がある。この変更を反映させる方式は、第一の実施例と同様であるため省略する。
【００５８】
入出要求がSAN上のファイバチャネルディスク装置１８と判明した場合、Ｉ／Ｏ制御プロセッサ１５は、レコード形式変換機能を実行する。このレコード変換機能は、CKDフォーマットとFBAフォーマットを変換する機能であり、第一の実施例で説明した機能と同等である。このため具体的な変換方法の説明は省略する。またメタ情報の収集に関しても、第一の実施例と同様であるため省略する。
【００５９】
FBAフォーマットの入出力要求は、ファイバチャネルアダプタ３０に送られ、FCやファイバチャネルスイッチをファイバチャネルを経由してファイバチャネルディスク装置１８で入出力処理される。入出力の結果はファイバチャネルアダプタ３０に戻され、Ｉ／Ｏ制御プロセッサ１５によりCKDフォーマットに戻され、アプリケーションプログラムやバックアップユーティリティプログラムに渡される。
【００６０】
以上に述べた方式により、ホストコンピュータ１は、SAN上のファイバチャネルディスク装置１８をアクセスできる。したがって、先に第一の実施例で図２を用いて説明したように、ディスク駆動装置５の内容を磁気テープ装置１４へバックアップやレストアと同様の方式により、ホストコンピュータ１上のバックアップユーティリティプログラムが、ファイバチャネルディスク装置１８の内容を磁気テープ装置１４へバックアップやレストアすることが可能となる。
【００６１】
また、これらファイバチャネルディスク装置１８の内容をバックアップする場合も、第一の実施例で前述した、バックアップデータの非整合状態を考慮する必要がある。すなわち、ファイバチャネルディスク装置１８の内容をバックアップしている最中に、ホストコンピュータ１７が、その内容を書き換える場合である。
【００６２】
このような非整合状態を防ぐ方式は、第一の実施例と同様である。
【００６３】
以上をまとめると、本願の開示は次を含む。
（１）  第一のホストコンピュータと接続されるディスク制御装置において、
該ディスクディスク制御装置は、スイッチまたはハブとのインタフェースを具備し、
該スイッチまたはハブは、一つ又は複数のホストコンピュータと一つ又は複数のディスクシステムを結合し、
該ディスク制御装置は、該インタフェースにより、該複数のディスクシステムの記憶内容をアクセスし、
該アクセス内容を、該第一のホストコンピュータに送る手段を提供することを特徴とするディスク制御装置。
（２）  （１）のディスク制御装置であって、さらに、
第一のホストコンピュータからの入出力コマンドを内部のテーブルに基づき、該コマンドのアクセス先が、自身に接続されているディスク駆動装置か、自身が接続しているスイッチやハブに接続されているディスク装置かを判定し入出力を行うことにより、
第一のホストコンピュータに対し、該ディスク制御装置が接続しているスイッチやハブに接続されているディスク装置を、該ディスク制御装置に接続されているディスク駆動装置と同様に見せることを特徴とするディスク制御装置。
（３）  （２）のディスク制御装置であって、さらに、
自身に接続されているディスク駆動装置と、自身が接続しているスイッチやハブに接続されているディスク装置の、コマンド形式やデータフォーマットが異なる場合、
自身が接続しているスイッチやハブに接続されているディスク装置のコマンド形式やデータフォーマットを、自身に接続されているディスク駆動装置が使用するコマンド形式やフォーマットに変換することを特徴とする、ディスク制御装置。（４）  （３）のディスク制御装置および磁気テープ装置が接続されたホストコンピュータであって、さらに、
該ディスク制御装置が接続しているスイッチやハブに接続されているディスク装置の内容を読み出し、該磁気テープ装置にバックアップすることを特徴とする計算機システム。
（５）  （３）のディスク制御装置および磁気テープ装置が接続されたホストコンピュータであって、さらに、
該磁気テープ装置から、該ディスク制御装置が接続しているスイッチやハブに接続されているディスク装置にデータを書き込むことにより、データをレストアすることを特徴とする計算機システム。
（６）  （４）の計算機システムであって、さらに、
バックアップに先立ち、該第一のホストコンピュータ上のバックアッププログラムは、該バックアップ対象となるディスク装置のデータを使用している第二のホストコンピュータ上のユーティリティプログラムと通信を行い、
該第二のホストコンピュータ上のユーティリティプログラムが、該バックアップ対象となるデータの内容を変更するプログラムに対し、
バックアップ期間中は、バックアップ対象のデータを変更しないように制御することを特徴とする計算機システム。
（７）  スイッチまたはハブとのインタフェースを具備し、
該スイッチまたはハブは、一つ又は複数のホストコンピュータと一つ又は複数のディスクシステムを結合し、
該インタフェースにより、該複数のディスクシステムの記憶内容をアクセスするプロセッサシステムであって、
入出力コマンドを内部のテーブルに基づき、該コマンドのアクセス先が、自身が直接接続しているディスク駆動装置か、自身が接続しているスイッチやハブに接続されているディスク装置かを判定し入出力を行うことにより、
該プロセッサシステム動作するオペレーティングシステムやプログラムに対し、  該プロセッサシステムが接続しているスイッチやハブに接続されているディスク装置を、該プロセッサシステムが直接接続しているディスク駆動装置と同様に見せることを特徴とする、プロセッサシステム。
【００６４】
（８）  （７）のプロセッサシステムであって、さらに、
自身が直接接続しているディスク制御装置と、自身が接続しているスイッチやハブに接続されているディスク装置の、コマンド形式やデータフォーマットが異なる場合、
自身が接続しているスイッチやハブに接続されているディスク装置のコマンド形式やデータフォーマットを、自身に接続されているディスク制御装置に使用しているコマンド形式やフォーマットに変換することを特徴とするプロセッサシステム。
（９）  （８）のプロセッサシステムであって、さらに、磁気テープ装置が接続され、
該プロセッサシステムが接続しているスイッチやハブに接続されているディスク装置の内容を読み出し、該磁気テープ装置にバックアップすることを特徴とする、計算機システム。
（１０）  （８）のプロセッサシステムであって、さらに、磁気テープ装置が接続され、
該磁気テープ装置から、該プロセッサシステムが接続しているスイッチやハブに接続されているディスク装置にデータを書き込むことにより、データをレストアすることを特徴とする、計算機システム。
（１１）  （４）の計算機システムであって、さらに、
バックアップに先立ち、該第一のホストコンピュータ上のバックアッププログラムは、該バックアップ対象となるディスク装置のデータを使用している第二のホストコンピュータ上のユーティリティプログラムと通信を行い、
該第二のホストコンピュータ上のユーティリティプログラムが、該バックアップ対象となるデータの内容を変更するプログラムに対し、
バックアップ期間中は、バックアップ対象のデータを変更しないように制御することを特徴とする計算機システム。
【００６５】
【発明の効果】
本発明によれば、ディスク制御装置を介して、ファイバチャネル等を使用したストレージエリアネットワーク（SAN）上のストレージの内容をアクセスできる。また、ホストコンピュータが使用している入出力フォーマットと異なるフォーマットのストレージの内容をアクセスすることができる。したがって、ホストコンピュータの配下のストレージの記憶内容と、SAN上のストレージの内容やホストコンピュータが使用している入出力フォーマットと異なるフォーマットのストレージの内容を同一の磁気テープ装置に統合的にバックアップできる。これは例えば、UNIX等オープン系システムのストレージの内容をメインフレーム管理の磁気テープ装置にバックアップできる事を意味する。これにより、バックアップの信頼性の向上や運用コストの低減が図れる。
【図面の簡単な説明】
【図１】ストレージエリアネットワークを使用したストレージの内容をバックアップする計算機システムの一構成例である。
【図２】ディスク制御装置と磁気テープ装置を装備した計算機システムの一構成例である。
【図３】ストレージエリアネットワークを使用した計算機システムの一構成例である。
【図４】異なったオペレーティングシステムのホストが接続しているディスク制御装置の一構成例である。
【図５】ボリウムマッピングテーブルの一構成例である。
【図６】ストレージエリアネットワークを使用したストレージの内容をバックアップする計算機システムのもう一つの構成例である。
【図７】ストレージエリアネットワークを使用したストレージの内容をバックアップする計算機システムのもう一つの構成例である。
【図８】バックアップデータの非整合状態を防ぐ手順を示すフローチャートである。
【図９】ＦＣ上の機器の変更の認識方法の一実施例である。
【符号の説明】
１……メインフレーム系ホストコンピュータ、２……ホストインタフェース、３……キャッシュメモリ、４……ディスクインタフェース、５……ディスク駆動装置、６……共通バス、７……ディスク制御装置、８……チャネルパス、９……LANネットワーク、１０……共有メモリ、１１……ＬＡＮインタフェース、１２……主記憶、１３……プロセッサ、１４……磁気テープ装置、１５……Ｉ／Ｏ制御プロセッサ、１６……ホスト・バス・アダプタ、１７……オープン系ホストコンピュータ、１８……ファイバチャネルディスク装置、１９……ファイバチャネルスイッチ、２０……ファイバチャネル、２１……LANインタフェース、２２……ファイバチャネルインタフェース、２３……ボリウム番号フィールド、２４……外部参照フラグ、２５……ディスク駆動装置番号/ポート番号フィールド、２６……バックアップユーティリティプログラム、２７……バックアップユーティリティプログラム、２８……データベース管理システム（DBMS）、２９……チャネルインタフェース、３０……ファイバチャネルアダプタ、３１……ボリウム統合機能プログラム、３２・３３・３４……エージェントプログラム。
【図１】
0003952640.tif 000002
【図２】
0003952640.tif 000003
【図３】
0003952640.tif 000004
【図４】
0003952640.tif 000005
【図５】
0003952640.tif 000006
【図６】
0003952640.tif 000007
【図７】
0003952640.tif 000008
【図８】
0003952640.tif 000009
【図９】
0003952640.tif 000010