(57)【要約】【課題】ボリューム管理方法や記憶装置に対するアクセスインタフェースが異なる計算機が記憶装置を共用する計算機システムにおいて、両計算機からのボリューム利用を一括管理し、それらによるボリュームの共用関係を管理することができるようにする。【解決手段】第一の計算機と前記第二の計算機は、それぞれの記憶ボリュームの利用管理情報を設け、ストレージサブシステムは、計算機システム全体のストレージ管理情報を設ける。そして、ストレージサブシステムの有するストレージ管理情報の中に第一の計算機が利用するボリューム識別子の欄を設けて、第一の計算機記憶ボリュームの利用管理情報のボリューム識別子とマッチングさせることによって、の第一の計算機と第二の計算機とで共用されているボリュームを判定して、管理計算機に通知する。【選択図】        図１
2004164165.tif 000002
【特許請求の範囲】
【請求項１】
第一の計算機と第二の計算機とによって利用される記憶ボリュームを有する計算機システムのストレージ管理方法において、
（１）第一の計算機による記憶ボリュームの利用管理情報を取得するステップ、
（２）第二の計算機による記憶ボリュームの利用管理情報を取得するステップ、
（３）前記（１）、（２）のステップで取得した情報を併合し、計算機システム全体のストレージ管理情報を生成するステップ、
（４）前記（３）のステップで生成したストレージ管理情報内に、第一の計算機が利用していることを表すボリューム情報を設け、前記第一の計算機が利用するボリュームの利用管理情報と照合して、同一のボリュームを示す情報が存在するか否かを判定することにより、そのボリュームが第一の計算機と第二の計算機とで共用されていること判定するステップ、
（５）前記（４）のステップにおける判定の結果を前記ストレージ管理情報内に記録するステップ、
を有し、
前記（１）、（２）の後に、前記（３）ないし（５）のステップを実行することを特徴とするストレージ管理方法。
【請求項２】
この計算機システムは、前記第一の計算機と前記第二の計算機との前記記憶ボリュームの利用状況を管理するための管理計算機を有し、
前記（５）のステップは、前記ストレージ管理情報に、前記第一の計算機と前記第二の計算機と共用されていることを示す情報を、各ボリュームの管理情報として付与し、前記管理計算機に通知する処理を含むことを特徴とする請求項１記載のストレージ管理方法。
【請求項３】
前記（４）のステップは、そのボリュームが前記第一の計算機によって生成されたボリュームであった場合に、前記ストレージ管理情報内において、そのボリュームに対して前記第一の計算機によって付与されたボリューム識別子を参照して、
前記第一の計算機による記憶ボリュームの利用管理情報の有するボリューム識別子と照合することにより、そのボリュームが第一の計算機と第二の計算機とで共用されていると判定するステップであることを特徴とする請求項１記載のストレージ管理方法。
【請求項４】
前記（３）のステップの前に、前記第一の計算機により生成されたボリュームのボリューム識別子を取得して、前記計算機システム全体のストレージ管理情報の当該ボリュームを表すエントリに、その取得したボリューム識別子を書き込む処理を実行することを特徴とする請求項３記載のストレージ管理方法。
【請求項５】
第一の計算機と、第二の計算機と、それらの計算機によって利用される記憶ボリュームを備えたストレージサブシステムと、ストレージを管理するための管理計算機とを有する計算機システムにおいて、
前記第一の計算機と前記第二の計算機は、それぞれの記憶ボリュームの利用管理情報を有し、
前記ストレージサブシステムは、計算機システム全体のストレージ管理情報を有し、
前記ストレージサブシステムの有するストレージ管理情報によって、前記第一の計算機と前記第二の計算機とで共用されているボリュームを判定して、前記管理計算機に通知することを特徴とする計算機システム。
【請求項６】
前記第一の計算機と前記第二の計算機で共用されているボリュームの判定において、前記ストレージサブシステムの有するストレージ管理情報の中の第一の計算機が使用していることを示すボリューム識別子が、前記第一の計算機による記憶ボリュームの利用管理情報の有するボリューム識別子の中に同一のものがあるときに、そのボリュームが共用されているとすることを特徴とする請求項５記載の計算機システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージ管理方法、および、計算機システムに係り、複数の異なったＯＳ上で動作する計算機を使用しているときに、ボリュームの共用関係を管理することのできるストレージ管理方法、および、計算機システムに関する。
【０００２】
【従来の技術】
近年、記憶装置と、それを利用する計算機をネットワークによって接続する大規模システムが提案されている。例えば、非特許文献１には、ファイバチャネル（ＦＣ）を用いて計算機、記憶装置をネットワーク接続した形態であるストレージエリアネットワーク（ＳＡＮ）に関する技術が説明されている。こうしたストレージエリアネットワーク環境を構築するシステムでは、複数の計算機、複数の記憶装置ないし記憶ボリュームから構成される計算機システムを一元的に管理することにより、管理コストの削減が図られる。すなわち、このようなシステムでは管理計算機が、システム内の計算機、記憶装置の構成を集中的に管理する。
【０００３】
管理計算機上のストレージ管理プログラムは、システム内の各装置から接続関係に関する情報を収集し、それらの情報にもとづき、ストレージ管理情報を生成し、必要であればその情報を利用者に対して図示する。
【０００４】
一つの記憶装置の中に複数ボリュームを格納することが可能な装置もあり、ディスクアレイ装置もその一例である。このような記憶装置を扱う接続情報の管理では、各ボリュームがどの計算機に利用されているかといった接続関係も管理の対象となる。
【０００５】
ストレージエリアネットワーク環境では、計算機と記憶装置とは各装置の通信ポートによって接続される。さらに、記憶装置内の各通信ポートに論理ボリュームが割当てられ、各ポートのポート番号と同ポートが管理する論理ボリュームの論理ボリューム番号の組み合わせにより、各計算機が利用するボリュームが特定される。そこで、管理計算機におけるストレージ管理でも、こうした情報を利用することが前提となっている。
【０００６】
一方、記憶装置内のデータを効率良く利用したり、計算機間でのデータ受け渡しを高速に実行したりする目的で、記憶装置内のボリュームを複数の計算機で共用するシステムも利用が進んでいる。そうしたボリューム共用は、ボリューム管理方法や記憶装置に対するアクセスインタフェースが異なる計算機間でも実現されている。特許文献１には、メインフレーム計算機とオープンシステムとの間でのデータ共用を可能とする技術が開示されている。
【０００７】
【非特許文献１】
Ｄｅｓｉｇｎｉｎｇ  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ（Ｔｏｍ  Ｃｌａｒｋ，  Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，  １９９９）
【特許文献１】
特開平１０−２５４７４２号公報
【０００８】
【発明が解決しようとする課題】
上記特許文献１には、メインフレーム計算機のファイル形式を、オープンシステムからそのためのアクセスライブリを持たせることにより、アクセスできるようにしたものである。
【０００９】
システムが大規模になり、ユーザのニーズも多様化しているため、この特許文献１のように、メインフレーム計算機とオープンシステムが記憶装置を共用して用いることが多くなっている。このように、ボリューム管理方法が異なる計算機が存在するシステムでも、ストレージ接続状態、アクセス状態を集中的に管理することが望ましい。
【００１０】
従来のストレージ管理技術は、オープンシステムで採用されているボリューム管理方法、アクセスインタフェースを前提としている。ここで、メインフレーム計算機もストレージ管理の対象とした場合、メインフレーム計算機からもボリューム利用情報を取得する必要があるが、ここで得られる情報は、オープンシステム側の計算機とは一致しない。
【００１１】
特に、メインフレーム側で利用するボリュームの識別子と、オープンシステム側で利用するボリュームの識別子とが、それぞれの計算機に固有の規則によって付与されている。そのため、記憶装置内のあるボリュームが両計算機間で共用されていたとしても、それが同一ボリュームを共用しているのではなく、あたかも別々のボリュームを利用しているかのように、ストレージ管理プログラムが認識してしまう。そのため、両者が混在しているシステムでは、ボリュームの共用関係を管理するのが難しかった。
【００１２】
本発明は、上記問題点を解決するためになされたもので、その目的は、ボリューム管理方法や記憶装置に対するアクセスインタフェースが異なる計算機が記憶装置を共用する計算機システムにおいて、両計算機からのボリューム利用を一括管理し、それらによるボリュームの共用関係を管理することができるストレージ管理方法を提供することにある。
【００１３】
【課題を解決するための手段】
本発明のストレージ管理方法では、メインフレームを想定した第一の計算機とオープンシステム想定した第二の計算機のそれぞれの記憶ボリュームの利用管理情報を持たせ、ストレージサブシステムに、ボリューム対応表を持たせる。
【００１４】
ボリューム対応表は、第二の計算機がボリュームにアクセスするための論理番号を含み、第一の計算機がアクセスするボリューム識別子を含んでいる。そして、このボリューム対応表に書き込んだボリューム識別子が、第一の計算機の記憶ボリュームの利用管理情報にあるときに、そのボリュームが第一の計算機で共用されていると判断する。
【００１５】
【発明の実施の形態】
以下、本発明の一実施形態を、図１ないし図１１を用いて説明する。
【００１６】
〔計算機システムの構成〕
先ず、図１を用いて本発明の一実施形態に係る計算機システムの全体構成について説明する。
図１は、本発明の一実施形態に係る計算機システムの全体構成図である。
【００１７】
本実施形態の計算機システムは、計算機１：１０００、計算機２：２０００が、それぞれストレージサブシステム３０００と接続されており、ストレージサブシステム３０００内のボリュームを利用する。そして、管理計算機４０００が、それらの計算機１：１０００、計算機２：２０００によるストレージサブシステム３０００の利用状況を調査し、利用者に提示する管理構成である。
【００１８】
なお、本実施形態の計算機１：１０００は、メインフレーム系の計算機を、計算機２：２０００は、オープンシステム系の計算機を想定している。
【００１９】
計算機１：１０００と計算機２：２０００とでは、ストレージサブシステム３０００への接続形態に違いがある。すなわち、計算機１：１０００は、接続線６０００を介して直接、ストレージサブシステム３０００と接続されている。これに対し、計算機２：２０００は、接続装置５０００を経由して、接続線７０００と接続線８０００を介してストレージサブシステム３０００と接続されている。各接続線は、同一の種類であっても、異なる種類であっても良い。
【００２０】
計算機１：１０００は、ポート１１００を持ち、計算機２：２０００は、ポート２１００を持ち、それそれストレージサブシステム３０００のポート３１００と、接続装置５０００のポート７０００と接続されており、各計算機が利用するデータの受け渡し経路として利用される。
【００２１】
また、計算機１：１０００は、ポート１２００を持ち、計算機２：２０００は、ポート２２００を持ち、ローカルエリアネットワークＬＡＮ（ローカルエリアネットワーク）に接続されている。また、ストレージサブシステム３０００もポート３３００により、管理計算機４０００は、ポート４１００により、ＬＡＮに接続されている。
【００２２】
管理計算機４０００は、これらのポートを介して計算機１：１０００、計算機２：２０００、ストレージサブシステム３０００に対して管理上、必要な情報を得るための通信を実行することができる。本実施形態では、このような管理情報を通信するためにＬＡＮを利用するが、同様にして各装置間で通信が可能であれば、他の接続形態でも良い。
【００２３】
情報提供プログラム２３００は、計算機１：１０００内の１３００、および、計算機２：２０００内に置かれ、管理計算機４０００からの要求に応じて、それぞれ自計算機が利用しているボリュームの管理情報を応答するプログラムである。
【００２４】
ボリューム管理表１４００と、ボリューム管理表１５００は、計算機１：１０００が利用するボリュームの管理情報を保持するためのテーブルである。ここで、計算機１：１０００においてボリューム管理表が二種類存在する理由とその利用目的、および、両ボリューム管理表の構成については、後に詳しく説明する。
【００２５】
ボリューム管理表は、計算機２：２０００が利用するボリュームの管理情報を保持するためのテーブルである。
【００２６】
ストレージサブシステム３０００の制御プログラム３４００は、ストレージサブシステム３０００の各ポートが受け付けたデータ入出力要求に対応して、制御するためのプログラムである。制御プログラム３４００は、各ポートが受け付けた入出力要求が、どのボリュームに対するものであるかを特定し、要求内容に従い、該当するボリューム内での所定の位置のデータへの読込み、書込み等を実施する。
【００２７】
ストレージサブシステム３０００は、各計算機が利用できるボリューム３５００を一つ以上有している。また、ストレージサブシステム３０００が有する特定のボリュームを、計算機１：１０００と計算機２：２０００の双方から利用することもできる。
【００２８】
ボリューム情報アクセスプログラム３６００は、ストレージサブシステム３０００内のボリューム対応表３７００をアクセスするためのプログラムである。ボリューム情報アクセスプログラム３６００は、管理計算機４０００からの要求に応じて、管理計算機４０００が、ボリュームの共用状態を判定するために必要な情報を、ボリューム対応表３７００に追加し、その結果を要求元に応答する。なお、ここでの詳しい処理は、後にフローチャートを用いて説明する。
【００２９】
管理計算機４０００内のストレージ管理プログラム４２００は、ストレージの情報を受信して、情報わ整理してユーザに提示するためのプログラムである。ストレージ管理プログラム４２００は、計算機１：１０００、計算機２：２０００、ストレージサブシステム３０００からボリューム利用を中心とした情報を取得し、それらの情報をもとにして、計算機１：１０００と計算機２：２０００とで共用しているボリュームが存在するか否かを判定する。ここでの詳しい処理についても、後にフローチャートを用いて説明する。
【００３０】
ボリューム管理表４３００は、ストレージ管理プログラム４２００が作成し、各計算機によるストレージサブシステム３０００内のボリューム利用状況を記録する。特に、計算機１：１０００と計算機２：２０００とで共用しているボリュームが存在するときに、その共用状態を、本ボリューム管理表４３００に記録する。
【００３１】
次に、図２を用いて本発明の一実施形態に係る計算機システムのハードウェア構成について説明する。
図２は、本発明の一実施形態に係る計算機システムのハードウェア構成図である。
【００３２】
計算機１は、バス１５０によりＣＰＵ１００、主記憶装置１２０、ポート１２００、１１００が接続されたハードウェア構成をしている。
【００３３】
ＣＰＵ１００は、主記憶装置１２０上のＯＳやアプリケーションプログラム、また、必要なデータを解釈・実行してハードウェアを制御するための指令を与える。本実施形態では、主記憶装置１２０には、アプリケーションプログラムとして、情報提供プログラム１３００、データとしてボリューム管理表１：１４００とがボリューム管理表２：１５００がロードされる。これらのプログラムやデータは、ストレージサブシステム３０００の中のディスクドライブ群３６０、または、図示はしなかったが、計算機１に接続された他の補助記憶装置に格納されているものがロードされるものである。
【００３４】
計算機２も計算機１と同様の構成である。
【００３５】
接続装置５０００は、接続装置コントローラ５００によって制御される。
【００３６】
次に、ストレージサブシステム３０００は、バス３５０により、ＣＰＵ３００、主記憶装置３２０、ストレージコントローラ３４０、ポート３１００、３２００、３３００が接続されたハードウェア構成をしている。また、ストレージコントローラ３４０には、補助記憶装置であるディスクドライブ群３６０が接続されている。
【００３７】
本実施形態では、プログラムとして、制御プログラム３４００とボリューム情報アクセスプログラム３６００が、データとして、ボリューム対応表３７００が、ボリューム３５００から主記憶装置３２０にロードされ、ＣＰＵ３００によりこれらのプログラムが実行される。
【００３８】
ストレージコントローラ３４０は、ＣＰＵ３００の指令を受けて、ディスクドライブ群３６０を制御する。
【００３９】
管理計算機４０００は、バス４５０により、ＣＰＵ４００、主記憶装置４２０、グラフィックインタフェース４４０、プリンタインタフェース４４０、入力装置４２、ポート４１００が接続されたハードウェア構成をしている。また、グラフィックインタフェース４４０には、表示装置４０が、プリンタインタフェース４４０には、印刷装置４４が、それぞれ接続されている。
【００４０】
本実施形態では、プログラムとして、ストレージ管理プログラム４２００とが、データとして、ボリューム対応表４３００が、ディスクドライブ群３６０、または、他の補助記憶装置から主記憶装置４２０にロードされ、ＣＰＵ４００によりこれらのプログラムが実行される。
【００４１】
入力装置４２は、マウスやキーボードなどであり、これにより、ストレージ管理のためのコマンドやデータを入力する。
【００４２】
表示装置４０には、グラフィックインタフェースを介して、管理情報などが表示される。また、印刷装置４４は、プリンタインタフェースを介して、管理情報などが印刷される。
【００４３】
〔ストレージのアクセス階層〕
次に、図３を用いて本発明の一実施形態に係るストレージ管理方法におけるストレージのアクセス階層を説明する。
図３は、本発明の一実施形態に係るストレージ管理方法におけるストレージのアクセス階層を説明するための図である。
【００４４】
本発明のストレージのアクセス階層は、第一の階層として、論理ボリューム３５１０を有し、第二の階層として、物理ボリューム３５２０を有している。第一の階層の論理ボリューム３５１０の方が、よりソフトウェアに密着した階層であり、第二の階層の物理ボリューム３５２０が、よりハードウェアに密着した階層であると位置付けることができる。
【００４５】
このような階層の下で、計算機２：２０００は、論理ボリューム３５１０を介して、物理ボリューム３５２０をアクセスするが、計算機１：１０００の方は、論理ボリューム３５１０を介さずに、物理ボリューム３５２０に対して、アクセスに行く。ただし、後にも説明するように、プログラムで直接に、物理ボリュームの番号をアクセスするのではなく、より論理的に上位にある識別子によりアクセスすることには注意を要する。
【００４６】
論理ボリューム３５１０、物理ボリューム３５２０には、それぞれの範囲内での順序番号が与えられる。図３では、それらの順序番号として、それぞれＬＶＮ１〜ＬＶＮ２、ＰＶＮ１〜ＰＶＮ８なる番号が付けられている。
【００４７】
計算機１：１０００がストレージサブシステム３０００内のボリュームを利用するときは、ストレージサブシステム３０００に対して、下位の管理階層である物理ボリューム３５２０の順序番号を指定する。一方、計算機２：２０００がストレージサブシステム３０００内のボリュームを利用するときは、ストレージサブシステム３０００に対して、上位の階層である論理ボリューム３５１０の順序番号を指定する。
【００４８】
計算機２：２０００による利用に対し、各論理ボリューム３５１０に物理ボリューム３５２０内のいずれか一つを対応付けするのは、ストレージサブシステム３０００内の制御プログラム３４００である。このように、計算機２：２０００からの利用では、計算機２：２０００側で知ることができるのは、論理ボリューム３５１０のレベルの順序番号であり、それらのボリュームがどの物理ボリューム３５２０に対応付けされているかは、計算機２：２０００からは知る必要はない。このような構成を取ることにより、障害発生や負荷分散といった目的に対して、ある論理ボリューム３５１０に対する物理ボリューム３５２０の割り当て先を変更することも可能となる。
【００４９】
計算機１：１０００は、物理ボリューム３５２０の順序番号でボリュームの利用を指定して、ＰＶＮ１：３５２１からＰＶＮ３：３５２３の３つの物理ボリュームを利用する。一方、計算機２：２０００は、論理ボリューム３５１０の順序番号でボリュームの利用を指定して、論理ボリュームＬＶＮ１：３５１１、ＬＶＮ２：３５１２を利用する。各論理ボリュームＬＶＮ１：３５１１、ＬＶＮ２：３５１２には、それぞれ物理ボリュームＰＶＮ３：３５２３、ＰＶＮ４：３５２４が割当てられており、実際には、物理ボリュームＰＶＮ３：３５２３、ＰＶＮ４：３５２４をアクセスする。
【００５０】
また、本実施形態では、図３に示されているように、物理ボリュームＰＶＮ３：３５２３を、計算機１：１０００と計算機２：２０００で共用している。
【００５１】
〔ストレージアクセスのためのデータ構造〕
次に、図４および図８を用いて本発明に係るストレージアクセスのためのデータ構造について説明する。
図４は、ボリューム管理表１：１４００を示す模式図である。
図５は、ボリューム管理表２：１５００を示す模式図である。
図６は、ボリューム管理表２４００を示す模式図である。
図７は、ボリューム対応表３７００を示す模式図である。
図８は、ボリューム対応表４３００を示す模式図である。
【００５２】
先ず、計算機１：１０００内のボリューム管理表１：１４００、ボリューム管理表２：１５００の構成について説明する。
【００５３】
計算機１：１０００のボリューム管理は、オペレーティングシステム管理下のプログラムによって利用される情報と、入出力処理を司るハードウェア装置によって利用される情報に分離されている。ここで、図４に示したボリューム管理表１：１４００が、プログラムによって利用される情報であり、図５に示したボリューム管理表２：１５００が、ハードウェア装置によって利用される情報である。
【００５４】
ボリューム管理表１：１４００の各エントリは、ＶＯＬ番号１４１０とＶＯＬ識別子１４２０の二つのフィールドから構成される。ＶＯＬ番号１４１０は計算機１：１０００が利用する各ボリュームに割当てた順序番号を格納するフィールドであり、ＶＯＬ識別子１４２０は、各ＶＯＬ番号１４１０を割当てたボリュームに与えたボリューム識別子を格納するフィールドである。
【００５５】
このＶＯＬ番号１４１０を設けた意義は、論理的に上位であるＶＯＬ識別子１４２０と、ボリューム管理表２：１５００内の情報である物理ＶＯＬ番号との対応を取るためと、後に説明するように、計算機１：１０００で用いられるボリュームであることを示すために、ボリューム対応表４３００の情報として用いることである。
【００５６】
オペレーティングシステム管理下の各プログラムが参照できるのは、このボリューム管理表１：１４００である。すなわち、管理計算機４０００に対して、計算機１：１０００のボリューム情報を応答する情報提供プログラム１３００が参照し、情報提供するのは、このボリューム管理表１：１４００の情報である。
【００５７】
このボリューム管理表１：１４００には、ストレージサブシステム３０００内で定義した物理ボリューム３５２０の順序番号は含まれていない。物理ボリューム３５２０の順序番号情報は、計算機１：１０００において入出力処理を実行するハードウェアによって参照されるボリューム管理表２：１５００に格納される。図５に示されるように、ボリューム管理表２：１５００の各エントリは、ＶＯＬ番号１５１０と物理ＶＯＬ番号１５２０のフィールドから構成される。
【００５８】
計算機１：１０００では、システムの利用に先立ち、自計算機で利用する記憶装置の構成情報を、ユーザが定義する。本実施形態では、図３に示した様に、ポート１１００に接続されたストレージサブシステム３０００内の物理ボリューム３５２０の三つのボリュームＰＶＮ１：３５２１からＰＶＮ３：３５２３を利用することを定義したとする。
【００５９】
この定義情報をもとに、計算機１：１０００は、ボリューム管理表２：１５００を生成する。物理ＶＯＬ番号１５２０は、利用する物理ボリューム３５２０に一意的に付けられる番号である。こうしたストレージサブシステム３０００側での構成を、計算機１：１０００内のプログラムからは隠蔽して利用させるため、ボリューム管理表２：１５００にて、物理ＶＯＬ番号１５２０に対するＶＯＬ番号１５１０を割当て、計算機１：１０００内プログラムは、論理的に割当てられたこのＶＯＬ番号１５１０と、ＶＯＬ識別子によって、各ボリュームを利用する。
【００６０】
以上示したように、計算機１：１０００では、情報提供プログラム１３００が参照できるのはボリューム管理表１：１４００であり、この管理表１４００内にはストレージサブシステム３０００内での物理ボリューム３５２０情報は含まれていない。しかしながら、プログラムからの入出力要求を受け取った入出力管理ハードウェアが、ボリューム管理表２：１５００をもとに、処理対象の物理ボリューム順序番号を特定し、ストレージサブシステム３０００内の制御プログラム３４００に要求を発行する。
【００６１】
一方、計算機２：２０００内に置かれるボリューム管理表２４００の各エントリは、ポート番号２４１０、論理ＶＯＬ番号２４２０、ＶＯＬ識別子２４３０のフィールドからなる。
【００６２】
ポート番号２４１０は、計算機２０００が接続したストレージサブシステム３０００内でのポートの番号を示すフィールドであり、論理ＶＯＬ番号２４２０は、そのポートの管理下にある論理ボリューム３５１０の番号を示すフィールドである。これらの情報によって、計算機２：２０００が、ストレージサブシステム３０００内のどのボリュームを利用するかを特定することができる。同じくボリューム管理表２４００内ＶＯＬ識別子２４３０のフィールドは、割当てたボリュームを計算機２：２０００内のプログラムが利用しやすいように割当てたボリューム識別子であり、各ボリューム識別子は計算機２：２０００内で一意的な値を表わす。
【００６３】
以上示したように、計算機２：２０００内のボリューム管理表２４００内には、ストレージサブシステム３０００内での物理ボリューム３５２０の情報は含まれていない。計算機２：２０００は、ポート番号と論理ボリューム順序番号のペアで、処理対象ボリュームを指定し、ストレージサブシステム３０００内の制御プログラム３４００に要求を発行する。
【００６４】
計算機２：２０００から要求を受け取った制御プログラム３４００は、論理ボリュームに対する物理ボリュームを特定する必要がある。このために用いるのが、ストレージサブシステム３０００内のボリューム対応表３７００である。図７は、ボリューム対応表３７００の構成を示したものであり、ボリューム対応表３７００の各エントリは、ポート番号３７１０、論理ＶＯＬ番号３７２０、物理ＶＯＬ番号３７３０、ＶＯＬ識別子３７４０のフィールドから構成される。
【００６５】
このボリューム対応表３７００には、ポート番号３７１０、論理ＶＯＬ番号３７２０のペアで特定されるボリュームに割当てた物理ボリューム３５２０の番号を記録する。そして、計算機２：２０００からの処理要求を受け付けたとき、制御プログラム３４００がこのボリューム対応表３７００を参照することによって、処理対象の物理ボリュームを特定することができる。
【００６６】
なお、計算機１：１０００のみアクセスされるボリュームに関しては、ボリューム対応表３７００のエントリには、影響を与えないことを注意しておく。
【００６７】
ここで、ＶＯＬ識別子３７４０フィールドは、計算機２：２０００からの処理要求時には利用しない。このＶＯＬ識別子３７４０は、計算機１：１０００と計算機２：２０００とで共用しているボリュームが存在するかどうかを判定するために用いるフィールドであり、本発明の特徴付けるものである。すなわち、このＶＯＬ識別子３７４０は、計算機１：１０００が利用するボリュームのボリューム識別子が格納されるフィールドであり、これにより、計算機１：１０００と計算機２：２０００が共用されていることが判定される。なお、この詳細については、後に説明することにする。
【００６８】
以上説明した各管理表、対応表により、各計算機から記憶装置内の各ボリュームの利用状況が定義される。これらの情報をもとにして、管理計算機４０００内のストレージ管理プログラム４２００が、ボリューム管理表４３００を作成する。ボリューム管理表４３００は、管理計算機４０００との間で通信する情報提供プログラムが存在する計算機が利用しているボリュームの情報を管理する表である。
【００６９】
図８に示されるように、ボリューム管理表４３００の各エントリは、管理番号４３１０、ホスト名４３２０、ポート番号４３３０、ＶＯＬ番号／論理ＶＯＬ番号４３４０、共用番号４３５０のフィールドからなる。
【００７０】
管理番号４３１０は、各エントリを識別するための順序番号を示すものであり、本実施の形態では、先頭を１とし、昇順の整数を各エントリに付与する。ただし、もちろん、これ以外の番号を与えて識別することも可能である。
【００７１】
ホスト名４３２０は、各ボリュームを利用するホストの名称を格納するフィールドである。ポート番号４３３０は、各計算機から各ボリュームを利用する際に与えられたポート番号を格納する。また、ＶＯＬ番号／論理ＶＯＬ番号４３４０は、計算機１：１０００のときには、ＶＯＬ番号を、計算機２：２０００のときには、論理ＶＯＬ番号を格納する。共用番号４３５０は、当該エントリに対応するボリュームと、物理ＶＯＬ番号が一致しているボリュームが他に存在すると認識したとき、それらのボリュームは計算機間で共用されているものと見なし、共用しているボリュームに対応するエントリの管理番号４３１０の値を格納するフィールドである。これにより、管理方式の異なる計算機間で記憶装置内の特定のボリュームを共用しているときでも、その共用の事実を管理計算機４０００で知ることが可能となる。このボリューム管理表４３００の詳しい生成手順については、後にフローチャートを用いて説明する。
【００７２】
〔物理ボリュームの構成〕
次に、図９を用いて物理ボリューム３５２０の構成を説明する。
図９は、物理ボリューム３５２０の構成図ある。
【００７３】
物理ボリューム３５２０は、ボリューム管理部９０００とデータ部９１００から成る。ボリューム管理部９０００には、このボリュームを利用するための管理情報が格納され、計算機種別９０１０、ボリューム識別子９０２０、その他の管理情報９０３０から構成される。
【００７４】
計算機種別９０１０には、このボリュームを初期化し、利用を開始した計算機の種別を格納する。本実施形態では、計算機１：１０００、計算機２：２０００の計算機種別を、それぞれＫ１、Ｋ２とし、その文字列が計算機種別９０１０に書き込まれるものとする。
【００７５】
ボリューム識別子９０２０は、各計算機上のプログラムがボリュームを利用する際に用いるボリューム識別子を格納する。
【００７６】
その他の管理情報９０３０には、上記の情報以外に、ボリュームを利用するうえで必要な情報を格納する。例えば、ボリューム内の各ファイルのファイル名や同ファイルを格納したボリューム内での配置場所等の情報などである。
【００７７】
本実施形態では、計算機１：１０００で最初に利用を開始し、計算機１：１０００用に初期化されたボリュームを、後から計算機２：２０００で利用を開始することにより、ボリュームが共用された例を説明する。このような形態では、共用されるボリュームのボリューム管理部９０００には、計算機１：１０００側で利用する情報が格納されている。
【００７８】
〔ストレージ管理のための処理〕
次に、図１０および図１１を用いて本発明のストレージ管理方法の処理について説明する。
図１０は、ボリューム情報アクセスプログラムの処理を示すフローチャートである。
図１１は、ストレージ管理プログラムがボリューム対応表を作成する処理を示すフローチャートである。
【００７９】
管理計算機４０００のストレージ管理プログラム４２００は、ボリューム対応表４３００を作成するために、各計算機内の情報提供プログラム１３００、２３００およびストレージサブシステム３０００内のボリューム情報アクセスプログラム３６００に対して、ボリューム管理情報の提供を要求する。このとき、計算機１：１０００の情報提供プログラム１３００は、ボリューム管理情報１：１４００を、また、計算機２：２０００の情報提供プログラム２３００は、ボリューム管理情報２４００を、それぞれストレージ管理プログラム４２００に応答する。
【００８０】
これに対し、ストレージサブシステム３０００のボリューム情報アクセスプログラム３６００は、情報提供要求があったときに、ボリューム対応表３７００のＶＯＬ識別子３７４０フィールドを更新する。
【００８１】
以下では、図１０により、ボリューム情報アクセスプログラム３６００が、情報提供の要求を受けた際に、ボリューム対応表３７００の更新を含む処理について説明する
ストレージ管理プログラム４２００は、計算機からの情報提供を受け付けると（ステップ３６１０）、ボリューム対応表３７００を参照し、同表内に未処理のエントリが存在するか否かを判定し（ステップ３６２０）、未処理エントリが存在する間、以下の処理をおこなう。
【００８２】
未処理エントリからひとつを予め定めた順に選択し（ステップ３６３０）、同エントリ内の物理ＶＯＬ番号３７３０フィールド情報をもとに、その物理ＶＯＬ番号３７３０に対応する物理ボリュームを特定し、そのボリュームのボリューム管理部９０００を取得する（ステップ３６４０）。
【００８３】
そして、ボリューム管理部９０００内の計算機種別９０１０が、計算機１：１０００が初期化したものか否かを判定する（ステップ３６５０）。本実施形態では、計算機１：１０００の計算機種別はＫ１、計算機２：２０００はＫ２としたので、この計算機種別９０１０の内容を読んで、その文字列をマッチングすることにより、このボリュームを初期化した計算機が計算機１：１０００であるか否かを判定できる。
【００８４】
もともと、ボリューム対応表は、計算機２：２０００の論理ＶＯＬ番号３７２０と、物理ＶＯＬ番号の対応を取るためのものであった。したがって、ボリューム対応表のエントリがあって、計算機種別９０１０が計算機１：１０００を示していれば、計算機２：２０００が、計算機１：１０００によって利用を開始されたボリュームを共用していることになる。そこで、この情報を管理計算機４０００に知らせるために、ボリューム対応表３７００内のＶＯＬ識別子３７４０フィールドに、ボリューム管理部９０００内ボリューム識別子９０２０の情報を格納する（ステップ３６６０）。そして、このフィールドに情報が格納されたボリュームが、次に説明するストレージ管理プログラムの処理で、ストレージ共用ボリュームとして認識される。なお、ＶＯＬ識別子３７４０は、０やＮＵＬＬといった予め定めた特別の値で初期化しておく。
【００８５】
ステップ３６５０の判定において、計算機種別９０１０が計算機１：１０００ではなかった場合は、ステップ３６６０を省略し、次の未処理エントリを処理する。
【００８６】
ボリューム対応表３７００の全エントリに対し、以上の処理を実行し終えたのち、情報提供の要求元にボリューム対応表３７００を送信し（ステップ３６７０）、処理を終了する（ステップ３６８０）。
【００８７】
このように、本実施形態では、ストレージ管理プログラム４２００からの情報要求に応じて、ボリューム共用判定に必要な情報を作成しているが、要求を受け付ける前に、あらかじめボリューム対応表３７００を上記の手順と同様に更新しておくことも可能である。その場合には、ボリューム情報アクセスプログラム３６００側で一定時間ごとに更新したり、あるいは、計算機１：１０００ないし計算機２：２０００から新たなボリューム利用要求が発生するごとに更新を試みる方法が考えられる。
【００８８】
次に、図１１により管理計算機４０００内のストレージ管理プログラム４２００が、ボリューム対応表４３００を作成する処理について説明する。
【００８９】
ストレージ管理プログラム４２００は、計算機１：１０００からボリューム管理情報を取得し（ステップ４２１０）、計算機２：２０００からボリューム管理情報を取得し（ステップ４２２０）する。
【００９０】
そして、ストレージサブシステム３０００からボリューム対応表３７００を取得する（ステップ４２３０）。ただし、情報の取得順序はこれとは異なっていても良い。
【００９１】
計算機１：１０００、計算機２：２０００から得た情報をもとに、ボリューム対応表の各エントリを作成する（ステップ４２４０）。このとき、各エントリの管理番号４３１０は、情報取得順に与えるものと約束しておく。また、計算機１：１０００から得たボリューム管理情報１：１４００には、ポート番号情報は格納されていないため、対応するエントリのポート番号４３３０は空白とするか、予め定めた記号を与える。
【００９２】
次に、ストレージサブシステム３０００から得たボリューム対応表３７００をもとにして、以下の手順により、共用ボリュームが存在するか否か、また、存在する場合はどの論理ボリュームが共用されているかという情報を取得する。
【００９３】
ステップ４２３０で取得したボリューム対応表３７００を参照し、同表内に未処理のエントリが存在するか否かを判定し（ステップ４２５０）、未処理エントリが存在する間、以下の処理をおこなう。
【００９４】
ボリューム対応表３７００から未処理のエントリをひとつ選択し、そのエントリのＶＯＬ識別子３７４０フィールドに情報が格納されているか否かを判定する（ステップ４２６０）。格納されている場合、引き続き、ステップ４２１０で計算機１：１０００から取得したボリューム管理情報１：１４００の中で、ＶＯＬ識別子１４１０フィールドが、ステップ４２６０で取得したＶＯＬ識別子３７４０フィールドの内容と一致するエントリが存在するか否かを判定する（ステップ４２７０）。存在する場合、そのボリュームは計算機１：１０００と計算機２：２０００とで共用されていることになる。
【００９５】
例えば、図７に示したように、ＶＯＬ識別子３７４０に、「ＶＯＬＳＥＲ３」が格納されている。この値は、図４の３番目のエントリにあるので、このボリューム識別子を持つボリュームが共用されていることがわかる。
【００９６】
ステップ４２７０でＶＯＬ識別子が一致するエントリが存在した場合、これらのボリュームが一致していることを示すマークを付与する（ステップ４２８０）。すなわち、ステップ４２７０で求めたＶＯＬ識別子１４１０に対応する論理ＶＯＬ番号１４２０を持つ計算機１：１０００で利用するエントリと、同じくステップ４２７０で求めたＶＯＬ識別子３７４０に対応する論理ＶＯＬ番号３７３０を持つ計算機２：２０００で利用するエントリに対応する。ボリュームが共用ボリュームである。具体的には、ボリューム対応表４３００において、そのボリュームに対するエントリ内共用番号４３５０フィールドに、互いのエントリの管理番号４３１０フィールドの値を格納する。
【００９７】
上記ステップ４２６０からステップ４２８０の処理を、ボリューム対応表３７００内の全エントリに対して実行したのち、処理を終了する（ステップ４２９０）。
【００９８】
以上の処理により、異なるボリューム管理方法を採用した計算機を含むストレージ管理を実現し、これらの計算機間でボリュームを共用しても、その共用状態をストレージ管理プログラムで把握することができる。さらに、ボリューム対応表３７００の管理情報をもとにして、ツリー表示などによって、計算機と記憶装置の接続状態を利用者に図示する際に、共用状態を図で示すことも可能である。
【００９９】
以上の実施形態では、計算機間で共用するボリュームのマッピング情報であるボリューム対応表３７００を、そのボリュームが存在するストレージサブシステム３０００内に作成し、必要に応じて管理計算機４０００に送信する形態と取っている。しかしながら、そのようなマッピング情報を、あらかじめ管理計算機４０００側で保持しておく形態も可能である。
【０１００】
また、本実施形態では、計算機１：１０００側のボリューム管理情報が、情報提供プログラム１３００が参照できるボリューム管理情報１：１４００と、ハードウェアで利用され、情報提供プログラム１３００では参照できないボリューム管理情報２：１５００に分離されていた。これに対し、ボリューム管理情報２：１５００に相当する情報も情報提供プログラム１３００によって参照可能なシステム形態では、ボリューム管理情報２：１５００内の物理ＶＯＬ番号１５２０フィールドと、ボリューム対応表３７００の物理ＶＯＬ番号３７３０フィールドの内容が一致しているか否かを判定することにより、計算機間のボリューム共用を判定できる。すなわち、このような形態では、計算機間のボリューム共用判定のために、ボリューム対応表３７００内にＶＯＬ識別子３７４０フィールドを持つ必要はない。
【０１０１】
【発明の効果】
本発明によれば、ボリューム管理方法や記憶装置に対するアクセスインタフェースが異なる計算機が記憶装置を共用する計算機システムにおいて、両計算機からのボリューム利用を一括管理し、それらによるボリュームの共用関係を管理することができるストレージ管理方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る計算機システムの全体構成図である。
【図２】本発明の一実施形態に係る計算機システムのハードウェア構成図である。
【図３】本発明の一実施形態に係るストレージ管理方法におけるストレージのアクセス階層を説明するための図である。
【図４】ボリューム管理表１：１４００を示す模式図である。
【図５】ボリューム管理表２：１５００を示す模式図である。
【図６】ボリューム管理表２４００を示す模式図である。
【図７】ボリューム対応表３７００を示す模式図である。
【図８】ボリューム対応表４３００を示す模式図である。
【図９】物理ボリューム３５２０の構成図ある。
【図１０】ボリューム情報アクセスプログラムの処理を示すフローチャートである。
【図１１】ストレージ管理プログラムがボリューム対応表を作成する処理を示すフローチャートである。
【符号の説明】
１０００…計算機１、２０００…計算機２、３０００…ストレージサブシステム、４０００…管理計算機。
【図１】
2004164165.tif 000003
【図２】
2004164165.tif 000004
【図３】
2004164165.tif 000005
【図４】
2004164165.tif 000006
【図５】
2004164165.tif 000007
【図６】
2004164165.tif 000008
【図７】
2004164165.tif 000009
【図８】
2004164165.tif 000010
【図９】
2004164165.tif 000011
【図１０】
2004164165.tif 000012
【図１１】
2004164165.tif 000013