(57)【要約】【課題】  高価な外付ディスクアレイ装置やソフトミラーリングを用いずに、既存レベルのディスクアレイコントローラとディスクエンクロージャーを利用した安価なフォールトトレラントサーバ向けのハードウェアＲＡＩＤ環境の構築を可能とする。【解決手段】  フォールトトレラントサーバ１００は、ＣＰＵモジュール１，２と、マスタ／スレーブとして動作する多重化されたＰＣＩモジュール３，４と、複数のディスクＨＤＤ０１〜Ｎ−１と、ＰＣＩモジュール３，４にそれぞれ対応しお互いを仮想的なＩ／Ｏデバイスとして認識して通信を行いディスクＨＤＤ０１〜Ｎ−１のディスク構成情報を共有するディスクアレイコントローラ７，８とを有する。【選択図】      図１
2005301350.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵモジュールと、マスタ／スレーブとして動作する多重化されたＰＣＩモジュールと、複数のディスクと、前記多重化されたＰＣＩモジュールにそれぞれ対応しお互いを仮想的なＩ／Ｏデバイスとして認識して通信を行い複数のディスクのディスク構成情報を共有するディスクアレイコントローラとを有することを特徴とするフォールトトレラントサーバ。
【請求項２】
前記ディスクアレイコントローラは、ＳＣＳＩのプロトコルを用いてディスクアレイコントローラ間の通信を行うことを特徴とする請求項１に記載のフォールトトレラントサーバ。
【請求項３】
前記ディスクアレイコントローラは、マスタ側ディスクアレイコントローラとして動作中の場合は、初期状態でのディスクアレイ構成を行う際に、前記ディスク構成情報をスレーブ側ディスクアレイコントローラに送信するとともに前記複数のディスクへ書き込むことを特徴とする請求項２に記載のフォールトトレラントサーバ。
【請求項４】
前記ディスクアレイコントローラは、それぞれキャッシュを有し、マスタ側ディスクアレイコントローラとして動作中の場合は、前記キャッシュ情報をスレーブ側ディスクアレイコントローラに送信するとともに前記複数のディスクへ書き込むことを特徴とする請求項３に記載のフォールトトレラントサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフォールトトレラントサーバに関し、特に、外部記憶装置などの周辺機器とのインタフェース部等をモジュール化し、多重化したフォールトトレラントサーバに関する。
【背景技術】
【０００２】
フォールトトレラントサーバは、ＣＰＵや、外部記憶装置などの周辺機器とのインタフェース部等をモジュール化し、多重化することで、対故障設計されている。またインタフェース部は、一つをマスタ、その他をスレーブとして動作させ、正常時はマスタ経由、障害時はスレーブ経由で外部記憶装置などの周辺機器とのＩ／Ｏを行っている。
【０００３】
例えば、特許文献１には、原用及び予備系のＣＰＵの両者に２重化されたディスク制御装置がそれぞれ接続され、各ディスク制御装置はそれぞれ原用及び予備系のディスクと接続され、片系のディスク制御装置に障害が発生しても両系のディスクに対して同一データの二重書きをなすことが可能なものが開示されている。
【０００４】
【特許文献１】特開昭６１−１６０１５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
外部記憶装置に対する信頼性を向上させるためには、ディスクアレイ装置を備えることにより実現できるが、ディスクアレイコントローラ部を筐体内にもつ高価な外付ディスクアレイ装置が必要となる。このかわりにＯＳによりソフト的なミラーリングを行うことも考えられるが、ハード的構造に対して耐障害性が下がり、また、ＣＰＵリソースが必要なことから処理能力の低下のおそれがあった。
【課題を解決するための手段】
【０００６】
本発明のフォールトトレラントサーバは、ＣＰＵモジュールと、マスタ／スレーブとして動作する多重化されたＰＣＩモジュールと、複数のディスクと、前記多重化されたＰＣＩモジュールにそれぞれ対応しお互いを仮想的なＩ／Ｏデバイスとして認識して通信を行い複数のディスクのディスク構成情報を共有するディスクアレイコントローラとを有する。
【発明の効果】
【０００７】
本発明によれば、マスタ／スレーブとして動作するＰＣＩモジュールに搭載された各ディスクアレイコントローラを、お互いに仮想的なＩ／Ｏデバイスとして認識させることにより、既存のＳＣＳＩ等をインタコネクトとして利用してディスクアレイコントローラ間の通信を行い、ディスク構成情報、障害情報等の共有を行う。これにより、高価な外付ディスクアレイ装置やソフトミラーリングを用いずに、既存レベルのディスクアレイコントローラとディスクエンクロージャーを利用した安価なフォールトトレラントサーバ向けのハードウェアＲＡＩＤ環境の構築が可能となる。
【発明を実施するための最良の形態】
【０００８】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【０００９】
図１に示すように、フォールトトレラントサーバ１００は、ＣＰＵモジュール１，２それぞれに、ＰＣＩモジュール３，４を接続し、ＰＣＩモジュール３，４それぞれに共用のデバイスユニット（以下、ＤＥＵという）９を接続する構成とする。ＤＥＵ９は、ディスクＨＤＤ０１〜Ｎ−１を含み、ＰＣＩモジュール３，４は、それぞれＰＣＩスロット５，６を備え、ＰＣＩスロット５，６にはディスクアレイコントローラ（以下ＤＡＣという）７，８が装着されている。二重化の対象となる２枚のＤＡＣ７，８は、ＳＣＳＩ等により相互接続され、ＳＣＳＩ等のプロトコルを用いて情報を通信する。また、ディスクＨＤＤ０１〜Ｎ−１は、ＤＡＣ７，８の通信経路上に接続される。
【００１０】
ＰＣＩモジュール３，４は互いにマスタ／スレーブとして動作し、正常動作時、ＣＰＵモジュール１，２とＤＥＵ９との間のＩ／Ｏは、マスタ側ＰＣＩモジュールを経由して行われる。また障害発生時にはスレーブ側を介した経路に変更してＣＰＵモジュール１，２がＤＥＵ９へのアクセスを行う。
【００１１】
ＣＰＵモジュール１，２は、それぞれＣＰＵ（図示せず）と、メモリ（図示せず）と、ＰＣＩモジュール３，４に対するインタフェースを行うコントローラ（図示せず）とを備え、ＰＣＩモジュール３，４は、それぞれＣＰＵモジュール１，２に対するインタフェースを行うコントローラ（図示せず）を備えている。
【００１２】
図２は、図１のＤＡＣ７，８及びＤＥＵ９の詳細の構成を示すブロック図である。
【００１３】
ＤＡＣ７，８は主に、仮想デバイスユニット（以下ＶＤＵという）１２，１６、本体側Ｉ／Ｆ１０，２０、ディスク側Ｉ／Ｆ１１，２１、ディスク構成情報テーブル１３，１７、キャッシュコントローラ１４，１８、キャッシュ１５，１９からなる。ディスク構成情報テーブル１３は、ＨＤＤ０１〜Ｎ−１のＲＡＩＤ構成情報を保持する。
【００１４】
ＶＤＵ１２，１６は、接続した１組のＤＡＣ７，８が、互いにディスクＨＤＤ０１〜Ｎ−１と同レベルの仮想的なＩ／Ｏデバイスとして認識するよう処理を行う。具体的には、マスター側ＶＤＵは、スレーブ側ＶＤＵに対しＩＤ＝０をもつデバイスとして認識され、スレーブ側ＶＤＵは、マスター側ＶＤＵにＩＤ＝Ｎ（ＤＡＣで採用するプロトコルの最大接続デバイスＩＤ）として認識させるよう処理を行う。これによりマスター側ＶＤＵとスレーブ側ＶＤＵとは、ディスクＨＤＤ０１〜Ｎ−１が接続された通信経路を経由して相手のＶＤＵをターゲットとして指定することでＳＣＳＩ等のプロトコルを用いて情報伝送を行うことができる。 
ＶＤＵ１２又はＶＤＵ１６は、ＤＡＣ７又はＤＡＣ８がマスタ側ＤＡＣとして動作中の場合は、スレーブ側のディスク構成情報テーブル１３又はディスク構成情報テーブル１７へディスク構成情報の送信を行い、ディスクの障害情報の共有を行う。またキャッシュコントローラの情報制御を行い、マスタ側であるＤＡＣ７又はＤＡＣ８のキャッシュ１５またはキャッシュ１９の状態の変更情報の送信を行う。また、ＤＡＣ７又はＤＡＣ８がスレーブ側ＤＡＣとして動作中の場合は、マスタ側であるＶＤＵ１６又はＶＤＵ１２からの情報を受信し、待機中のＤＡＣ７又はＤＡＣ８のキャッシュ１５又はキャッシュ１９、ディスク構成情報テーブル１３又はディスク構成情報テーブル１７のディスク構成情報の更新を行う。
【００１５】
またＣＰＵモジュール１，２からディスクＨＤＤ０１〜Ｎ−１にアクセスを行うと、マスター側のＤＡＣ７又はＤＡＣ８において、本体側Ｉ／Ｆ１０又は本体側Ｉ／Ｆ２０からＶＤＵ１２又はＶＤＵ１６へデータ入力があり、ＶＤＵ１２又はＶＤＵ１６がマスターとしてスレーブ側ＶＤＵ１６又はＶＤＵ１２への情報送信を行う。スレーブ側のＤＡＣ８又はＤＡＣ７においては、本体側Ｉ／Ｆ２０又は本体側Ｉ／Ｆ１０からＶＤＵ１２又はＶＤＵ１６へデータ入力がなく、ＶＤＵ１２又はＶＤＵ１６はスレーブとしてマスター側のＶＤＵ１６又はＶＤＵ１２からの情報の受信を行う。
【００１６】
また、ＤＡＣ７，８は、初期状態でのディスクアレイ構成を行う際に、マスタ側ＤＡＣとして動作中の場合は、ディスク構成情報をスレーブ側ＤＡＣに送信する。また、マスタ側ＤＡＣからスレーブ側ＤＡＣへ情報を通知するのとあわせて、マスタ側ＤＡＣがディスクＨＤＤ０１〜Ｎ−１へも同様の構成情報を書き込む。この情報はマスタ側ＤＡＣ７に障害が発生した場合、その交換復旧に際してＤＡＣ７、８、ディスクの３種の情報を比較し多数決をとることで復旧時の情報を決定するのに用いられる。
【００１７】
また、ＶＤＵ１２，１６はデータアクセス時において、ディスク構成情報テーブル１３，１７、キャッシュコントローラ１４，１８の情報制御を行い、ディスクＨＤＤ０１〜Ｎ−１の障害情報の共有、マスタ側ＤＡＣのキャッシュ状態の変更情報を受信し、待機中のＤＡＣのキャッシュの更新を行う。
【００１８】
次に本発明の変形例について説明する。図３は図２の変形例を示すブロック図である。
【００１９】
図２の例では、ディスクＨＤＤ０１〜Ｎ−１上にディスク構成情報２２を保持するのみであるが、本変形例ではそれに加えディスク上にキャッシュ情報２３等、マスタ側ＤＡＣからスレーブ側ＤＡＣへ送信する情報すべてをディスクＨＤＤ０１〜Ｎ−１の情報保持領域に保持し、マスタ側ＶＤＵからディスクＨＤＤ０１〜Ｎ−１へのデータ書き込みとあわせて当該領域への書き込みを実施する点で異なる。これによりＶＤＵ自身は相手からデバイスとして認識されることなくターミネーションとして動作し、マスタ側ＤＡＣの障害により、上位からスレーブ側への入力が発生した時点で、スレーブ側ＶＤＵはディスク構成情報２２等を読み込み処理を継続する。これによりマスタ／スレーブ間の通信量を減らし処理効率を向上することが可能となる。
【産業上の利用可能性】
【００２０】
外部記憶装置などの周辺機器とのインタフェース部等をモジュール化し、二重化したフォールトトレラントサーバに利用可能である。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１のディスクアレイコントローラ７，８及びデバイスユニット９の詳細の構成を示すブロック図である。
【図３】図２の変形例を示すブロック図である。
【符号の説明】
【００２２】
１，２  ＣＰＵモジュール
３，４  ＰＣＩモジュール
５，６  ＰＣＩスロット
７，８  ディスクアレイコントローラ
９  デバイスユニット
１０，２０  本体側Ｉ／Ｆ
１１，２１  ディスク側Ｉ／Ｆ
１２，１６  仮想デバイスユニット
１３，１７  ディスク構成情報テーブル
１４，１８  キャッシュコントローラ
１５，１９  キャッシュ
２２  ディスク構成情報
２３  キャッシュ情報
１００  フォールトトレラントサーバ
【図１】
2005301350.tif 000003
【図２】
2005301350.tif 000004
【図３】
2005301350.tif 000005