(57)【特許請求の範囲】
【請求項１】
それぞれが固有ディスク装置と接続された複数の計算機と、
各計算機と共有接続され、各計算機それぞれのシステムディスクの共通なデータをデータブロック単位で保持する共通ディスク装置と、
前記共通ディスク装置のデータブロックの内のそれぞれ一部のデータブロックのデータ更新情報を各計算機それぞれのシステムディスクに固有な部分のデータとして固有部分を前記固有ディスク内に保存する第１の手段と、
前記計算機のいずれかのシステムディスクの参照を要求されたとき、該計算機に対応する固有ディスクを検索し、該固有ディスクのデータで差し替えられているデータブロックについてのデータ参照は、前記共通ディスク装置のデータブロックのデータ参照から前記固有ディスク装置のデータ参照に変換する第２の手段を備えたことを特徴とする情報処理システム。
【請求項２】
前記共通ディスク装置は前記複数の計算機に共有されるデータを格納する共通ブロックを含み、
前記固有ディスク装置は前記計算機による更新データを格納する複数の固有ブロックと、前記固有ブロックの番号と前記固有ブロックに格納されたデータ更新情報に対応する前記共通ブロックの番号との対応を記憶する固有テーブルとを有し、
前記第１の手段は、前記固有テーブルを検索して出力対象のブロックが差し替えられているかを判定し、差し替えられていれば該当する固有ブロックにデータを出力し、差し替えられていなければ新たな固有ブロックに前記データ更新情報を格納して前記固有テーブルを更新し、
前記第２の手段は、前記固有テーブルを検索して入力対象のブロックが差し替えられているかを判定し、差し替えられていれば該当する固有ブロックを参照し、差し替えられていなければ該当する前記共通ブロックを参照することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記共通ディスク装置の内容および前記各固有ディスク装置のうち、任意の固有ディスク装置の内容をバックアップすることを特徴とする請求項１記載の情報処理システム。
【請求項４】
それぞれが固有ディスク装置と接続された複数の計算機と、前記各計算機に固有なデータを格納する固有ディスク装置と、前記複数の計算機に共通なデータを格納する共通ディスク装置とを有し、
前記共通ディスク装置は、前記各計算機と共有接続され、前記各計算機それぞれのシステムディスクの共通なデータをデータブロック単位で保持する共通ブロックを有し、
前記各計算機は、ひとつあるいは複数の前記固有ディスク装置に接続され、自身をディスク装置として他の計算機に接続できるチャネルをひとつあるいは複数持ち、
前記共通ディスク装置のそれぞれ一部のデータブロックのデータ更新情報を各計算機それぞれのシステムディスクに固有な部分データとして前記固有ディスク内に保存する第１の手段と、
前記共通ディスク装置からのデータ参照を前記固有ディスク装置内の前記データ更新情報に従って前記固有ディスク装置または前記共通ディスク装置からのデータ参照に変換する第２の手段を持つことを特徴とする情報処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数の計算機がそれぞれディスク装置に接続された情報処理システムに関する。
【０００２】
【従来の技術】
従来のコンピュータシステムでは複数の計算機がＬＡＮ等のネットワークで接続され、各計算機にはそれぞれディスク装置が直接接続される構成となっていた。各ディスク装置のデータはそれが直接接続される計算機により管理されていた。つまりデータは分散されて管理されていた。
【０００３】
しかし最近ではストレージエリアネットワーク（以下「ＳＡＮ」という）や、ネットワークアタッチドストレージ（以下「ＮＡＳ」という）、仮想計算機や計算機論理分割における入出力チャネルの共有等、一つのディスク装置を複数の計算機が共有する構成が増えつつある。このような構成では複数のディスク装置に分散したデータを統合して一元管理を行えるため、ディスク装置コストや管理コストを低減できるというメリットがある。
【０００４】
またアディソンウェスレイ「ザ  デザイン  アンド  インプリメンテーションオブ  ザ  ４．４ビーエスディー  オペレーティングシステム（１９９６年）第２３５頁から第２３７頁、（Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ  “Ｔｈｅ  ｄｅｓｉｇｎ  ａｎｄ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ｔｈｅ  ４．４ＢＳＤ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ”（１９９６）ｐｐ．２３５−２３７）において論じられているユニオンファイルマウントと呼ばれるオペレーティングシステムの機能では、ディスク装置上に構築されたファイルシステムに対する更新を別のディスク装置上に保存することによって、部分的な共有を可能にしている。
【０００５】
【発明が解決しようとする課題】
上記従来技術はいずれもユーザディスクを共有したり、システムディスクの一部を共有することはできるが、システムディスク全体を共有することは出来ない。これは、設定ファイルなど各計算機に固有の部分があるためである。
【０００６】
たとえば、ＮＡＳに代表されるようなネットワークファイルシステムを用いた場合、あらかじめディレクトリ単位で共通部分と固有部分を分割しておく、という方法でしか部分的な共有が実現できず柔軟な運用ができない。
【０００７】
一方で、ユニオンファイルマウントでは部分的な共有が可能であるが、オペレーティングシステムの上位層であるファイルシステム部分での機能でありオペレーティングシステムが完全に起動した後でなければ利用できないため、起動ディスクには適用できない。
【０００８】
データセンタのように非常に多くのよく似た構成の計算機が稼動するシステムの場合、システムディスクの内容のほとんどが共通であるにもかかわらず、完全に同一ではないために、その大部分が互いに同一の情報を含むシステムディスクが各計算機にそれぞれ設けられている。これが装置コストと管理コストの削減を妨げている。
【０００９】
本発明の目的は、システムディスクのように完全に同一ではないディスク装置の共通部分だけを複数の計算機で共有することであり、かつオペレーティングシステムの低レベルな部分で共有機能を提供することで起動ディスクも共有することである。
【００１０】
【課題を解決するための手段】
上記目的を解決するために、それぞれが固有ディスク装置と接続された複数の計算機と、各計算機と共有接続される共通ディスク装置と、上記共通ディスク装置上のデータを上記複数の計算機が共有するために、上記共通ディスク装置への書き込みを上記固有ディスク内に保存する手段と、上記共通ディスク装置からの読み出しを上記固有ディスク装置または上記共通ディスク装置からの読み出しに変換する手段とを設けた。
【００１１】
【発明の実施の形態】
以下、本発明に係る論理計算機環境におけるディスク共有の実施例を図面に示し、更に詳細に説明する。
【００１２】
図１は、本発明による情報処理システムの概略構成図を示している。１０１は物理計算機であり、１１０、１２０、１３０はそれぞれ物理計算機１０１内の論理計算機、共通ディスク装置、固有ディスク装置である。共通ディスク装置１２０は物理計算機１０１において唯一の存在であり、複数の論理計算機間で共有される。固有ディスク装置１３０は論理計算機につき１台ずつが必要とされ、各論理計算機が専有する。なお、論理計算機が多数存在するとき、共通ディスク装置へのアクセスが性能のネックにならないよう、共通ディスク装置を複数備えることも可能である。１１１、１１２はそれぞれ論理計算機１０１内で動作するユーザプログラム、オペレーティングシステムである。オペレーティングシステム１１２は共通ディスク装置１２０と固有ディスク装置１３０を制御し、ユーザプログラム１１１に対してファイルへアクセスする機能を提供する。１１３、１１４、１１７はオペレーティングシステム１１２内のモジュールであり、それぞれファイルシステム処理部、ディスク共有処理部、ディスクドライバ処理部である。ファイルシステム処理部１１３はユーザプログラム１１１からのファイルアクセス要求をディスク装置に対するブロック単位の入出力に変換し、ディスク共有処理部１１４に渡すモジュールである。ディスク共有処理部１１４は本発明の特徴となるソフトウェアであり、ファイルシステム処理部１１３からのブロック単位入出力要求を受け、共通ディスク装置１２０および固有ディスク装置１３０に対する適切なブロック単位入出力要求に変換し、ディスクドライバ処理部１１７に渡すモジュールであり、ディスク共有機能を提供する。(共有ディスク装置１２０はシステムディスクで且つ各計算機に共通な部分を記憶しているもの、そして、固有ディスク装置１３０はシステムディスクで且つ各計算機に固有な情報を記憶しているものであるのが一つの典型的実施形態である。また、ユーザディスクについて同様に共有データと固有のデータを記憶するようにしても良い。)
ディスクドライバ処理部１１７はディスク共有処理部１１４からのブロック単位の入出力要求を受け、共通ディスク装置１２０、固有ディスク装置１３０を制御し、ディスク装置へのブロック単位の物理的な入出力を処理するモジュールである。１１５、１１６はディスク共有処理部１１４を構成するルーチンであり、それぞれＲＥＡＤルーチン、ＷＲＩＴＥルーチンである。ＲＥＡＤルーチン１１５はディスク共有処理部１１４が行うブロック単位入出力要求変換のうち、入力要求の変換を担当する。ＷＲＩＴＥルーチン１１６はディスク共有処理部１１４が行うブロック単位入出力要求変換のうち、出力要求の変換を担当する。１２１は共通ディスク装置１２０内の共通ブロックである。共通ブロック１２１は、複数の論理計算機間で内容が共通するデータを記憶するための領域である。１３１、１３２はそれぞれ固有ディスク装置１３０内の固有ブロック、固有テーブルである。固有ブロック１３１は各論理計算機固有のデータを記憶するための領域である。固有テーブル１３２は、共通ディスク装置１２０内のデータのどの部分が差し替えられているか、差し替えられている場合には差し替え内容が固有ディスク装置１３０のどこに保存されているか、の情報を保持するための領域である。
【００１３】
図２は論理計算機が３台ある場合においてディスクがどのように共有されるかを示している。２０１は共通ディスク装置であり、複数の論理計算機間で読み込み専用で共有される。２１１、２２１、２３１はそれぞれ論理計算機−Ａ、論理計算機−Ｂ、論理計算機−Ｃである。２１２、２２２、２３２はそれぞれ固有ディスク装置−Ａ、固有ディスク装置−Ｂ、固有ディスク装置−Ｃであり、それぞれ論理計算機−Ａ、論理計算機−Ｂ、論理計算機−Ｃが読み書き可能で専有する。２１３、２２３、２３３はそれぞれ仮想ディスク−Ａ、仮想ディスク−Ｂ、仮想ディスク−Ｃであり、それぞれ論理計算機−Ａ、論理計算機−Ｂ、論理計算機−Ｃが占有する仮想的なディスク装置である。各論理計算機からはあたかもそれぞれの仮想ディスクが実在するかのように見える。仮想ディスクの内容は最初は共通ディスク装置の内容と同一である。仮想ディスクの内容は各論理計算機が更新可能であり、更新部分は固有ディスクに保存される。
【００１４】
この構成におけるバックアップの対象は共通ディスク装置２０１及び固有ディスク装置Ａ２１２、Ｂ２２２、Ｃ２３２のみであり、仮想ディスクＡ２１３、Ｂ２２３、Ｃ２３３全体をバックアップする必要がない。
【００１５】
図３は固有テーブルの構造とその使用例を示している。固有テーブルは全ての固有ブロックの状態を格納する。カラム３１０は固有ブロック番号である。カラム３２０は固有ブロックが使われているかを表す有効フラグである。カラム３３０は固有ブロックの置き換え先を表す共通ブロック番号である。たとえば０番目の固有ブロックは９番目の共通ブロックを置き換えるために使用されており、５番目の固有ブロックは未使用である。
【００１６】
図４は図３の例で示した固有テーブルを用いた場合の仮想ディスクの構成例を示している。４１０、４２０、４３０はそれぞれ共通ディスク装置、仮想ディスク、固有ディスク装置である。仮想ディスク４２０の内容は共通ディスク装置４１０の内容とほぼ同じであるが、９番目〜１１番目のブロックの内容は固有ディスク装置４３０の固有ブロック０番〜２番の内容で置き換えられており、４５番目〜４６番目のブロックの内容は固有ディスク装置４３０の固有ブロック３番〜４番の内容で置き換えられている。
【００１７】
図５はＲＥＡＤルーチンのフローチャートを示している。ステップ５０１では、入力対象のブロック番号Ａを得る。このブロック番号Ａは呼び出し元から指定された番号である。ステップ５０２では、ディスクドライバ処理部１１７を呼び出す。この呼び出しによって固有ディスク装置１３０から固有テーブル１３２を読み込む。ステップ５０３では、固有テーブル１３２を検索する。この検索によって入力対象のブロックＡが差し替えられているかを判定する。具体的には固有テーブル１３２の全エントリを検索し、有効フラグが１であり、かつ、共通ブロック番号がＡであるエントリが存在すればブロックＡは差し替えられている。ステップ５０４では、判定結果に従って分岐する。ブロックＡが差し替えられていればステップ５１１に分岐し、そうでなければステップ５２１に分岐する。ステップ５１１では、固有ブロックＢを得る。この固有ブロックＢのブロック番号はステップ５０３での検索で発見したエントリの固有ブロック番号である。ステップ５１２では、ディスクドライバ処理部１１７を呼び出す。この呼び出しによって固有ディスク装置１３０のブロックＢからデータを読み出す。ステップ５２１では、ディスクドライバ処理部１１７を呼び出す。この呼び出しによって共通ディスク装置１２０のブロックＡからデータを読み出す。
【００１８】
図６はＷＲＩＴＥルーチンのフローチャートを示している。ステップ６０１では、出力対象のブロック番号Ａを得る。このブロックＡは呼び出し元から指定された番号である。ステップ６０２では、ディスクドライバ処理部１１７を呼び出す。この呼び出しによって固有ディスク装置１３０より固有テーブル１３２を読み込む。ステップ６０３では、固有テーブル１３２を検索する。この検索によって出力対象のブロックＡが差し替えられているかを判定する。具体的には固有テーブル１３２の全エントリを検索し、有効フラグが１であり、かつ、共通ブロック番号がＡであるエントリが存在すればブロックＡは差し替えられている。ステップ６０４では、判定結果に従って分岐する。ブロックＡが差し替えられていればステップ６１１に分岐し、そうでなければステップ６２１に分岐する。ステップ６１１では、固有ブロックＢを得る。この固有ブロックＢはステップ６０３での検索で発見したエントリの固有ブロック番号である。ステップ６１２では、ディスクドライバ処理部１１７を呼び出す。この呼び出しによって固有ディスク装置１３０のブロックＢにデータを書き込む。ステップ６２１では、固有テーブル１３２を検索する。この検索によって未使用の固有ブロックＣを得る。具体的には、固有テーブル１３２の全エントリを検索して有効フラグが０である最初のエントリの固有ブロック番号Ｃを得る。ステップ６２２では、固有テーブル１３２を更新する。この更新によって新しい固有ブロックＣを登録する。具体的には、固有テーブル１３２中で固有ブロック番号がＣであるエントリについて、有効フラグを１に、共通ブロック番号をＡにそれぞれ設定し、ディスクドライバ処理部１１７を呼び出して固有ディスク装置中の固有テーブルに反映させる。ステップ６２３では、ディスクドライバ処理部１１７を呼び出す。この呼び出しによって固有ディスク装置１３０のブロックＣにデータを書き込む。
【００１９】
また、本実施例では物理計算機上の複数の論理計算機間でディスク装置を共有した場合にデータを共有したが、複数の物理計算機間でディスク装置を共有した場合でも適用可能である。
【００２０】
また、本実施例では共通ディスク装置と各固有ディスク装置は別個の装置であったが、これらのディスク装置が物理的なディスク装置を論理的に分割したボリューム内に仮想的に存在している場合にも適用可能である。
【００２１】
また、本実施例では論理計算機と複数のディスク装置を用いて論理計算機上のソフトウェア内に実現されていたが、ディスク装置の代わりにＮＡＳ装置またはネットワークファイルサーバ装置を用いた場合のＮＡＳ装置またはネットワークファイルサーバ装置内の制御ソフトウェアにも適用可能である。
【００２２】
また、本実施例では通常のディスク装置を用いて論理計算機上のソフトウェア内に実現されていたが、通常のディスク装置の代わりにプロセッサとメモリを持ってその上で制御ソフトウェアを稼動させるディスク装置にも適用可能である。
【００２３】
上記複数計算機の代わりに、ひとつあるいは複数の上記固有ディスク装置に接続され、ひとつあるいは複数のネットワーク接続を持ち、ＲＥＡＤルーチン、ＷＲＩＴＥルーチン、ディスクドライバ処理部を有する単一の計算機を持つ実施態様もある。また、上記複数計算機の代わりにひとつあるいは複数の上記固有ディスク装置に接続され、自身をディスク装置として他の計算機に接続できるチャネルをひとつあるいは複数持ち、ＲＥＡＤルーチン、ＷＲＩＴＥルーチン、ディスクドライバ処理部を有する単一の計算機を持つ実施態様もある。
【００２４】
以上説明したように、本実施例によればディスクの一部を複数の計算機で共有することが出来、ハードウェアコストを削減することが出来る。さらに、共通なデータについて重複してファイルに格納していないので、バックアップ時のバックアップデータ量が少なくて済み、バックアップ時間を短縮できると共に運用コストを削減出来る。また、システムディスクに適用すれば、システムディスクの共通部分を共有することで容量を節約しまた管理を容易にする。
【００２５】
【発明の効果】
本発明によればその内容がシステムディスクかユーザディスクかによらずにディスクの部分的な共有を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施例における全体構成図を示す。
【図２】本発明の一実施例における仮想ディスクの構築イメージを示す。
【図３】本発明の一実施例における固有テーブルの構造を示す。
【図４】本発明の一実施例における固有テーブルと仮想ディスクの関係を表した例を示す。
【図５】本発明の一実施例におけるＲＥＡＤルーチンのフローチャートを示す。
【図６】本発明の一実施例におけるＷＲＩＴＥルーチンのフローチャートを示す。
【符号の説明】
１０１…物理計算機、１１０…論理計算機、１２０…共通ディスク装置、１３０…固有ディスク装置、１１１…ユーザプログラム、１１２…オペレーティングシステム、１１３…ファイルシステム処理部、１１４…ディスク共有処理部、１１５…ＲＥＡＤルーチン、１１６…ＷＲＩＴＥルーチン、１１７…ディスクドライバ処理部、１２１…共通ブロック１３１…固有ブロック１３２…固有テーブル。
【図１】
0004241911.tif 000002
【図２】
0004241911.tif 000003
【図３】
0004241911.tif 000004
【図４】
0004241911.tif 000005
【図５】
0004241911.tif 000006
【図６】
0004241911.tif 000007