Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4123386B2 - 通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム - Google Patents
[go: Go Back, main page]

JP4123386B2 - 通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム - Google Patents

通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム Download PDF

Info

Publication number
JP4123386B2
JP4123386B2 JP2004313152A JP2004313152A JP4123386B2 JP 4123386 B2 JP4123386 B2 JP 4123386B2 JP 2004313152 A JP2004313152 A JP 2004313152A JP 2004313152 A JP2004313152 A JP 2004313152A JP 4123386 B2 JP4123386 B2 JP 4123386B2
Authority
JP
Japan
Prior art keywords
request
server
communication path
information
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004313152A
Other languages
English (en)
Other versions
JP2006128955A (ja
Inventor
祐 坂本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004313152A priority Critical patent/JP4123386B2/ja
Publication of JP2006128955A publication Critical patent/JP2006128955A/ja
Application granted granted Critical
Publication of JP4123386B2 publication Critical patent/JP4123386B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信パス冗長化システム及び通信パスの冗長化方法に関し、特に複数サーバ間における、外部記憶装置への通信パス冗長化システム及び通信パスの冗長化方法に関する。
従来、サーバからストレージネットワークを介して外部記憶装置への通信パスを確保し、外部記憶装置へのデータの書き込みや読み込みを行なう入出力(以下、I/Oと呼ぶ)を実行するI/Oシステムがある。このI/Oシステムは、1つのサーバからの外部記憶装置に対する通信パスが全て使用できない状態になると、そのサーバはその外部記憶装置に対するI/Oの手段がなくなるという問題があった。
又、1つのサーバからの外部記憶装置に対するパスのみを使用して、I/Oの負荷分散を行っていたため、他のサーバからのその外部記憶装置に対するパスを用いての負荷分散を行えないという問題点があった(特許文献1参照)。
特開2003−099384号公報
本発明の目的は、複数のサーバでストレージネットワークを介して共通接続される外部記憶装置に対する通信パスを冗長化してI/Oの負荷分散を可能にする通信パスの冗長化システムを提供することにある。
本発明の他の目的は、1つのサーバから外部記憶装置に対する通信パスが全て使用できない場合でも、外部記憶装置ヘのI/Oを実行可能な通信パスの冗長化システムを提供することにある。
本発明の更に他の目的は、複数のサーバから接続される複数の通信パスから、より望ましい通信パスを選択してI/Oを実行可能な通信パスの冗長化システムを提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を括弧付きで用いて、[課題を解決するための手段]を説明する。この番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明による通信パスの冗長化システムは、ネットワーク(100)と、ネットワーク(100)にそれぞれ接続される複数のサーバ(101)と、複数のサーバ(101)に接続されるストレージネットワーク(107)と、複数のサーバ(101)とストレージネットワーク(107)を介して共有接続される外部記憶装置(108)とを備える。複数のサーバ(101)は、第1のサーバ(101−1)は、ネットワーク(100)を介して複数のサーバのいずれか1つのサーバ(101)を制御して、サーバ(101)から前ストレージネットワーク(107)を経由し、外部記憶装置(108)に接続する通信経路である通信パスを確保させ、外部記憶装置(108)への入出力を実行する。
第1のサーバ8101−1)は、入出力を実行するためのI/O要求(RQ)を発行し、I/O要求(RQ)は、通信パスの情報であるパス情報(803)を含み、第1のサーバ(101−1)は、I/O要求(RQ)の複数のパス情報(803)を参照して、最適な通信パスを選択し、最適な通信パスを確保して外部記憶装置(108)との入出力を実行する。
第1のサーバ(101−1)は、最適な通信パスとして第2のサーバ(101−2)と外部記憶装置(108)との間の通信パスを選択し、第2のサーバ(101−2)に入出力を実行させるための情報であるI/O情報(AD)をI/O要求(RQ)から抽出し、I/O情報(AD)をネットワーク(100)を介して第2のサーバ(101−2)に送信し、第2のサーバ(101−2)は、I/O情報(AD)から入出力を実行するためのI/O要求(RQ)を発行し、I/O要求(RQ)に含まれる複数のパス情報(303)を参照して、第2のサーバ(101−2)と外部記憶装置(108)との間の最適な通信パスを選択し、最適な通信パスを確保して入出力を実行する。
I/O要求(RQ)がWrite要求である場合、第1のサーバ(101−1)は、I/O要求(RQ)に基づくWriteデータを第2のサーバ(101−2)に送信し、第2のサーバ(101−2)は、入出力を実行する際、Writeデータを、I/O情報(AD)に対応する外部記憶装置(108)のアドレス上に書き込む。
I/O要求(RQ)がWrite要求以外の要求である場合、第2のサーバ(101−2)は、入出力を実行する際、I/O要求(RQ)に基づくReadデータを、I/O情報(AD)に対応する外部記憶装置(108)のアドレス上から読み取り、第1のサーバ(101−1)に送信する。
入出力が終了すると第2のサーバ(101−2)は、ネットワーク(100)を介して第1のサーバ(101−1)に入出力が終了したことを示すI/O完了通知(NC)を送信する。
入出力が完了せず、エラーとなる場合、第2のサーバ(101−2)はI/O要求(RQ)のパス情報(803)を更新する。通信パスを変更することでエラーを回避できると判断すると、第2のサーバ(101−2)は、I/O要求(RQ)に基づいて、第2のサーバ(101−2)と外部記憶装置(108)との間の最適な通信パスを選択し、その最適な通信パスを確保して入出力を実行する。第2のサーバ(101−2)は、最適な通信パスを選択できない場合、入出力の結果がエラーであることを示すI/Oエラー通知(NE)をネットワーク(100)を介して第1のサーバ(101−1)に送信する。
又、入出力が完了せず、エラーとなる場合、第2のサーバ(101−2)はI/O要求(RQ)のパス情報(803)を更新し、通信パスを変更することでエラーを回避できない場合、第2のサーバ(101−2)は、ネットワーク(100)を介して入出力の結果がエラーであることを示すI/Oエラー通知(NE)を第1のサーバ(101−1)に送信する。
第1のサーバ(101−1)は、I/Oエラー通知(NE)を受信すると、I/O要求(RQ)のパス情報(803)を更新し、I/O要求(RQ)に基づいて第1のサーバ(101−1)と外部記憶装置(108)との間の通信パスを選択し、この通信パスを確保して前記入出力を実行する。
以上のように、サーバ(101−1)から外部記憶装置(108)に対する入出力を実施する際、サーバ(101−1)からの通信パスが使用できない時、又は、最適な通信パスが他のサーバ(101−2)からの通信パスである時、サーバ(101−1)は、ネットワーク(100)を通じてサーバ(101−2)とI/O要求(RQ)のために必要な情報をやり取りし、サーバ(101−2)に通信パスを選択及び確保させ、入出力を実行させることができる。このようにして、複数サーバ(101)間において、外部記憶装置(108)への通信パスを冗長化することができる。
本発明による通信パスの冗長化システム及び通信パスの冗長化方法によれば、複数のサーバでストレージネットワークを介して共通接続される外部記憶装置に対する通信パスを冗長化して入出力の負荷分散を可能にすることにある。
又、1つのサーバから外部記憶装置に対する通信パスが全て使用できない場合でも、外部記憶装置ヘの入出力を実行することにある。
更に、複数のサーバから接続する複数の通信パスから、より望ましい通信パスを選択して入出力を実行することにある。
以下、添付図面を参照して、本発明による認証システムの実施の形態を説明する。
図1に本発明による通信パス冗長化システムの実施の形態における構成を示す。
本発明による通信パス冗長化システムは、ネットワーク100と、複数のサーバ101−1・・101−nと、ストレージネットワーク107と、複数の外部記憶装置108−1・・108−nを具備している。
複数のサーバ101−1・・101−nは、ネットワーク100を介し相互に接続され、ストレージネットワーク107を介して、外部記憶装置108−1・・108−nと共有接続されている。
本発明による通信パスの冗長化システムに使用されるネットワーク100は、外部記憶装置108ヘのI/Oを実施したいサーバが、選択した通信パス上の他のサーバ101のアドレスを指定して、そのサーバにI/Oを実行させるためのI/O情報ADを送信するため、TCP/IPのようなマルチキャストのネットワークである必要がなく、ユニキャストのネットワークや、不特定多数のサーバに対しデータを送信するブロードキャストのネットワークでも使用することができる。
サーバ101は、I/O要求部102、ネットワークドライバ103、負荷分散モジュール105、ディスクドライバ106を具備している。
I/O要求部102、ネットワークドライバ103、負荷分散モジュール105、ディスクドライバ106は相互に接続され、ネットワークドライバ103はネットワーク100を介して、他のサーバ101のネットワークドライバ103に接続されている。又、ディスクドライバ106は、ストレージネットワーク107を介して外部記憶装置108に接続されている。
ストレージネットワーク107は、SAN(Strage Area Network)に代表される外部記憶装置108間及び外部記憶装置108とサーバ102の間を結ぶ高速なネットワークである。大容量の外部記憶装置108は複数のサーバ108で共有される。サーバ108のディスクドライバ108は、ストレージネットワーク107を介した通信パスを確保して外部記憶装置108に対しデータの書き込みや、読み取りのI/O処理を実行する。ここで、通信パスとはサーバ101のディスクドライバ106からストレージネットワーク107を経由し、外部記憶装置108に接続する通信経路を示す。
サーバ101のI/O要求部102は、外部記憶装置108に対するI/Oを要求するためのI/O要求RQを発行するアプリケーション102Aと、サーバ101のキャッシュメモリを効率的に利用し、アクセス速度の遅い外部記憶装置108に対して非同期書き込みを行ない、大容量の外部記憶装置を効率的に管理し、利用するための基本的なOSのサービスであるファイルシステム102Bを含む。この際、ファイルシステム102Bは、他のサーバと同一のサーバである必要はない。
アプリケーション102Aが発行するI/O要求RQは、I/Oの対象となる外部記憶装置108ヘの通信パスのパス情報、I/O要求RQの内容(Write要求やRead要求等)、I/Oアドレス800等を含んだI/Oを実施するためのI/O情報ADを含んだ要求コマンドであり、このI/O要求RQによって、ディスクドライバ106を制御し、ストレージネットワーク107を介して外部記憶装置108との間のI/Oを実行する。I/O要求部102は、外部記憶装置108へのI/Oを実行する際、負荷分散モジュール105に対しI/O要求RQを発行する。
ネットワークドライバ103は、ネットワーク100を介して他のサーバ101に対するデータ及び各種信号の送受信を制御する。負荷分散モジュール105から発行されるI/O要求RQに含まれるI/O情報ADの送付要求や、Wite要求の場合はWriteデータの送付要求を受け取り、他のサーバ101に対しI/O情報AD、又は、I/O情報AD及びWriteデータを送信する。この際、送信先のノード101のオペレーティングシステムが異なる場合、送信先のオペレーティングシステムに適した形式に変換して送信する。又、他のサーバ101からI/O情報ADを受信すると、I/O要求RQを発行させるためのI/O発行要求MRQを負荷分散モジュール105に対し発行する。更に、他ノード101受信するReadデータを受信し、サーバ101の記憶部に送信する。
ディスクモジュール106は、負荷分散モジュールから発行されるI/O要求RQに基づき、外部記憶装置108に対しI/O処理を実行する。この際、I/O要求RQにI/O情報ADを参照し、負荷モジュールで選択された通信パスを確保し、I/Oの対象である外部記憶装置108へのWriteデータの書き込みや、Readデータの読み取りを実行する。
負荷分散モジュール105は、I/O要求部102から発行されるI/O要求RQに基づいてI/Oに使用する最適の通信パスを選択し、パス情報を付加したI/O要求RQを発行する。
負荷分散105モジュールは、自サーバ101からの通信パスを選択した場合、ディスクドライバ106に、I/O要求RQを発行する。又、他のサーバ101からの通信パスを選択した場合は、ネットワークドライバ103にI/O要求RQに含まれるI/O情報ADの送付要求を発行する。この際、I/O要求RQがWrite要求の場合は、Writeデータの送付要求も併せて発行する。
図2に負荷分散モジュール105の構成を示す。負荷分散モジュール105は、I/O要求受付部201、I/O完了通知受付部202、I/O完了部203、I/O発行部204を具備し、それぞれ相互に接続されている。又、I/O要求受付部201、I/O完了通知受付部202、I/O完了部203は、ネットワークドライバ103に接続され、I/O発行部204は、ディスクドライバ106に接続されている。
I/O要求受付部201は、他のサーバ101からI/O情報ADを受信した時にネットワークドライバ103が発行するI/O発行要求MRQを受け付けると、I/O発行要求MRQに基づいたI/O要求RQをI/O発行部204に発行する。この際、Write要求の場合はI/O要求RQをI/O発行部204に発行する。
I/O完了通知受付部202は、他のサーバ101に要請しているI/Oが完了したことを示すI/O完了通知NCを、ネットワークドライバ103を経由して他のサーバ101から受け付ける。I/Oの要求がWrite要求でない場合は、I/O完了通知NCとともに、他のサーバ101が外部記憶装置108から読み取ったReadデータを受信する。I/O完了通知NCを受け付けるとI/O完了通知受付部202はI/O完了通知NCをI/O完了部203に発行する。又、他のサーバ101に要請しているI/O処理の結果がエラーであった場合は、ネットワークドライバ103を経由して他のサーバ101が発行するI/Oエラー通知NEを受け付ける。I/Oエラー通知NEを受け付けると、通信パスの変更によってI/Oエラーを回避できるかを判断し、可能である場合はI/O発行部204に対してI/O要求RQを発行する。エラー回避が不可能である場合は、ネットワークドライバ103を経由して上位のサーバ101に対しI/Oエラー通知NEを発行する。
I/O完了部203は、ディスクドライバ106又はI/O完了通知受付部202からI/O完了通知NCやI/Oエラー通知NEを受け付ける。他のサーバ101から要請されたI/O要求RQに対するI/O完了通知NCをディスクドライバ106から受け付けた場合、I/O完了部203は、ネットワークドライバ103に対してI/O完了通知NCの送付要求を発行する。この際、他のサーバ101からのI/O要求RQがWrite要求の場合はReadデータの送付要求も発行する。I/O要求RQが自サーバ101からの要求の場合は、上位のI/O要求部102にI/O完了通知NCを発行する。
I/O完了部203はI/Oエラー通知NEを受け付けた場合、I/O要求RQが自サーバ101からの要求であれば、パスの変更によってI/Oエラーを回避できるかを判断し、回避可能である場合はI/O発行部204に対してI/O要求RQを発行する。回避が不可能である場合は上位のI/O要求部102にI/Oエラー通知NEを発行する。他のサーバ101からの要請によるI/O要求RQの場合は、ネットワークドライバ103に対してI/Oエラー通知NEの送付要求を発行する。
I/O発行部204は上位のI/O要求部102、I/O要求受付部201、I/O完了通知受付部202、I/O完了部203からのI/O要求RQにより、最適な通信パスを選択し、選択したパス情報を含むI/O要求RQを発行する。選択した通信パスが自サーバ101からの通信パスである場合は、ディスクドライバ106にI/O要求RQを発行する。この際、I/O要求RQがWrite要求の場合はWriteデータも併せてディスクドライバ106に送信する。
又、選択した通信パスが他のサーバ101からの通信パスである場合は、ネットワークドライバ103に対して、選択した通信パスを有するサーバ101にI/O要求RQを発行させるため、I/O要求RQに含まれるI/O情報ADの送付要求を発行する。この際、I/O要求RQがWrite要求の場合はWriteデータの送付要求も併せて発行する。
又、他のサーバ101からI/O要求RQの要請を受け付けた場合において、自サーバ101から選択可能な通信パスがない時は、I/Oエラー通知NEの送付要求をネットワークドライバ103に発行する。自サーバ101におけるI/O要求RQの場合においては、上位のI/O要求部102にI/Oエラー通知NEを発行する。
I/O発行部204における通信パスの選択は、I/Oアドレス情報800、マッピングテーブル801、パスグループテーブル802及びパス情報803を用いて行なう。図8にI/Oアドレス情報800、マッピングテーブル801、パスグループテーブル802、パス情報803の概念図を示す。
マッピングテーブル802は、どのサーバ101においてもI/Oアドレス情報800をキーとすることにより、一意にパスグループテーブル802を特定する。パスグループテーブル802は同一外部記憶装置108に対する通信パスの集まりであり、同一外部記憶装置108に接続する通信パスである。ネットワーク100によってその通信パスを有するサーバ101と通信が可能であれば、異なるサーバ101との通信パスであっても、登録可能である。パス情報803にはI/O発行要求MRQに必要な情報のほかに、通信パスの経路情報、通信パスを有するサーバ101の情報、そのサーバ101までのネットワーク100の情報等を有する。
通信パスの選択処理では、I/Oの対象となる外部記憶装置108に対応するパスグループテーブル802とパス情報803を参照して通信パスを選択する。通信パスを選択するパス選択方法については、最も負荷が小さい通信パスを選択する、ラウンドロビンで通信パスを選択する等、使用するシステムにおいて、最適な方法で通信パスを選択する。
ディスクドライバ106は、I/O発行部204で発行されるI/O要求RQに含まれるパス情報803に基づき、負荷分散モジュール105で選択された通信パスを確保し、ストレージネットワーク107を経由して外部記憶装置108にアクセスし、データのI/O処理を実行する。I/O要求RQがWrite要求の場合、I/O要求RQに含まれるI/O情報ADを参照し、I/Oの対象となる外部記憶装置108のI/Oアドレス上にWriteデータを書き込み、Write要求以外の要求である場合、要求元サーバ101のI/Oアドレス上のデータをReadデータとして抽出する。I/O要求RQが他のサーバ101から要請である場合、ディスクドライバ106は、抽出したReadデータの送付要求をネットワークドライバ104に発行する。
ディスクドライバ106はI/O処理が完了すると、I/O完了通知NCをI/O完了部203に発行する。I/O処理が失敗した場合はI/Oエラー通知NEを発行する。I/Oエラー通知NEには、通信パスの障害等のエラー内容が含まれており、I/O完了部は、これを参照してI/Oエラーを回避可能かどうか判断する。
図3から図7を参照して、本発明による通信パス冗長化システムの動作を説明する。
図3に、I/O発行部204の動作の流れ図を示す。I/O発行部204はI/O要求RQを待ちうけ(ステップ300)、I/O要求RQを受け付けるとI/Oアドレス情報800、マッピングテーブル801を参照して、パスグループテーブル802を選択する(ステップ301)。続いて、通信パスを選択するためのパス選択処理を行なう(ステップ302)。
I/O発行部204は、ステップ302のパス選択処理において通信パスを選択すると、選択した通信パスのパス情報803を選択した通信パスとして更新する(ステップ304)。選択した通信パスが自サーバ101からの通信パスであれば、ディスクドライバ106に対しパス情報803を含むI/O要求RQを発行し、ステップ300に戻る。(ステップ306)。
選択した通信パスが他サーバ101からの通信パスであれば、そのI/O要求RQがWrite要求であるかを確認し(ステップ307)、Write要求である場合、選択した他サーバ101がI/O発行要求MRQを発行するために使用するI/O情報AD及びWriteデータの送付要求をネットワークドライバ103に発行し、ステップ300に戻る。(ステップ308)。又、Write要求でない場合、選択した他サーバ101がI/O発行要求MRQを発行するためのI/O情報ADの送付要求をネットワークドライバ103に発行し、ステップ300に戻る。(ステップ309)。
パス選択処理において通信パスを選択できない場合において、I/O発行部204が受け付けたI/O要求RQが他のサーバ101から要請された要求であれば、I/Oエラー通知NEの送付要求をネットワークドライバ103に発行し、ステップ300に戻る。I/O要求RQが自サーバ101からの要求であれば、上位のI/O要求部102にI/Oエラー通知NEを発行し、ステップ300に戻る。
ステップ302における、パス選択処理の動作の詳細を図4に示す。パス選択処理の際、I/O発行部204は、受信するI/O要求RQが他のサーバ101からの要請かどうかを確認し(ステップ400)、他のサーバ101からの要請によるI/O要求RQである場合、選択したパスグループ802及びパス情報803を参照して自サーバ101からの通信パスを選択する(ステップ401)。この際、全ての通信パスが使用されている、もしくは、障害等で選択可能な通信パスがない場合は、I/Oエラー通知NEの送付要求をネットワークドライバ103に発行する(ステップ405)。ステップ400において、I/O要求RQが自サーバ101からの要求である場合、選択したパスグループ802及びパス情報803を参照して、通信パスを選択する(ステップ402)。この際、全ての通信パスが使用されている、もしくは、障害等で選択可能な通信パスがない場合は、I/Oエラー通知NEを上位のI/O要求部102に送信する(ステップ404)。
図5にI/O要求受付部201の動作の流れ図を示す。I/O要求受付部201は、他のサーバ101からのI/O発行要求MRQを待ち受ける(ステップ500)。他のサーバ101から受信されるI/O情報ADを基にネットワークドライバ103が発行するI/O発行要求MRQを受け付けると、I/O要求受付部201は、そのI/O発行要求MRQに基づいたI/O要求RQをI/O発行部に発行する(ステップ501)。
図6に、I/O完了部203の動作の流れ図を示す。I/O完了部203は、I/O完了通知NCを待ち受け(ステップ600)、I/O完了通知NCを受け付けると、I/Oに使用した通信パスのパス情報803を更新し、選択を解除する(ステップ601)。次にI/Oの対象である外部記憶装置108ヘのI/Oが成功したかを確認し(ステップ602)、I/Oが成功した場合、そのI/O要求RQが自サーバ101からの要求である時は、上位のI/O要求部102に対しI/O完了通知NCを発行する。一方、そのI/O要求RQが他のサーバ101からの要請による要求である時、I/OによってWrite動作が完了した場合は、I/O完了通知NCの送付要求をネットワークドライバ103へ発行する(ステップ606)。又、Write動作が完了していない場合は、I/O完了通知NCとReadデータの送付要求をネットワークドライバ103へ発行する(ステップ607)。
I/O完了部203は、ステップ602においてI/Oが成功しない場合、受信するI/Oエラー通知NEを参照してエラー内容を確認する(ステップ608)。確認したI/Oエラーがパス障害によるエラーでない場合、他サーバ101からの要請によるI/O要求RQであればI/Oエラー通知NEの送付要求をネットワークドライバ103に発行し(ステップ610)、自サーバ301からのI/O要求RQであれば、上位のI/O要求部102にI/Oエラー通知NEを発行する(ステップ612)。ステップ608においてI/Oエラーがパス障害によるエラーであり、パスの変更によりエラーの回避が可能と判断する場合は、I/O発行部204にI/O要求RQを再発行する(ステップ611)。
図7に、I/O完了通知受付部202の動作の流れ図を示す。I/O完了通知受付部202は、他のサーバ101から送られるI/O処理が完了したことを告げるI/O完了通知NC又はI/Oエラー通知NEを待ち受け(ステップ700)、他のサーバ101からのI/O完了通知NC又はI/Oエラー通知NEを受け付けると、そのI/O完了通知NC又はI/Oエラー通知NEを参照し、I/Oが成功したか否かを確認する(ステップ701)。I/Oエラー通知NEを受信すると、I/Oエラー通知NEを参照して障害内容を確認する(ステップ702)。I/Oエラーがパス障害によるエラー又は通信パスの変更によって障害を回避できる場合、I/Oに使用した通信パスのパス情報803を更新し、選択を解除する(ステップ704)。次に、新たな通信パスを選択するため、I/O発行部204にI/O要求RQを発行する(ステップ705)。ステップ702において、I/Oエラーがパス障害によるエラー場合は、上位のI/O要求部102にI/Oエラー通知NEを発行する(ステップ706)。
図3から図8を参照して、本発明による通信パス冗長化システムのI/O動作を説明する。本実施の形態においては、ネットワーク100を介し相互に接続されたサーバA101−1とサーバB101−2、及び、ストレージネットワーク107を介して、それぞれのサーバ101と共有接続される外部記憶装置108−1・・108−nを備える通信パス冗長化システムについて説明する。この際、外部記憶装置108−1に対してI/Oを要求するサーバ101をサーバA101−1、外部記憶装置108−1に対する通信パスを冗長化するサーバ101をサーバB101−2とする。
サーバA101−1から外部記憶装置108−1へのI/O要求RQにおいて、サーバAからの通信パスを選択してI/Oを実行する場合について説明する。
サーバA101−1のI/O要求部102−1は、外部記憶装置108−1に対するI/O要求RQを負荷分散モジュール105−1のI/O発行部204−1に発行する。I/O発行部204−1では、I/O要求RQに含まれるI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバA101−1からの通信パス(パス情報803−1に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバA101−1からの通信パス(パス情報803−1に対応)とする。全ての通信パスが使用中、又は、障害の発生等で使用可能な通信パスがない場合、上位のI/O要求部102−1にI/Oエラー通知NEを発行する(ステップ406)。
通信パスを選択した場合、I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−1に更新し、ディスクドライバ106−1にI/O要求RQを発行する(ステップ304からステップ306)。ディスクドライバ106−1はI/O要求RQのパス情報803−1に基づいた通信パスを使用し、I/O情報ADに含まれるI/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。ディスクドライバ106−1は、I/O処理が完了すると、I/O完了部203−1にI/O完了通知NCを発行する。
I/O完了部203−1は、I/O完了通知NCに基づきI/Oに使用した通信パスのパス情報803−1を更新する(ステップ600、601)。I/O処理が成功であると、上位のI/O要求部102−1にI/O完了通知NCを発行する(ステップ602からステップ604)。
以上のように、サーバA101−1から外部記憶装置108−1に対してI/O要求RQを実施する際、サーバA101−1からの通信パスを選択すると、サーバA101−1は、サーバA101−1からストレージネットワーク107を経由して外部記憶装置108−1まで接続する通信パスを確保してI/Oを実行することができる。
サーバA101−1から外部記憶装置108−1へのI/Oにおいて、サーバB101−2からの通信パスを選択してI/Oを実行する場合について説明する。
サーバA101−1のI/O要求部102−1は、外部記憶装置108−1に対するI/O要求RQを負荷分散モジュール105−1のI/O発行部204−1に発行する。I/O発行部204−1では、I/O要求RQに含まれるI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)とする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−2に更新する(ステップ304)。I/O要求RQがWrite要求の場合は、ネットワークドライバ103−1に対し、サーバB101−2へI/O要求RQを要請するため、I/O情報AD及びWriteデータの送付要求を発行する(ステップ305からステップ308)。I/O要求RQがWrite要求でない場合は、ネットワークドライバ103−1にサーバBへI/O要求RQを要請するため、I/O情報ADの送付要求を発行する(ステップ309)。
ネットワークドライバ103−1は、送信先のオペレーティングシステムが異なる場合、送信先のオペレーティングシステムに適した形式にI/O情報ADを変換し、ネットワーク100を介してサーバB101−2に送信する。この際、I/O要求RQがWrite要求の場合はWriteデータとともにサーバB101−2に送信する。
サーバB101−2のネットワークドライバ103−2は、サーバA101−1から受信するI/O情報ADに基づいたI/O発行要求MRQをI/O要求受付部201−2に発行する。この時、I/O要求RQがWrite要求の場合はWriteデータとともに送信する。
I/O要求受付部201−2は、ネットワークドライバ103−2から受信したI/O発行要求MRQに基づいたI/O要求RQを、I/O発行部204−2に発行する(ステップ501)。I/O発行部204−2では、I/O要求RQのアドレス情報800、マッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−2は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)とする。
I/O発行部204−2は、選択した通信パスのパス情報をパス情報803−2に更新し、ディスクドライバ106−2に対しI/O要求RQを発行する(ステップ304からステップ306)。ディスクドライバ106−2はI/O要求RQのパス情報803−2に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。ディスクドライバ106−2は、I/O処理が完了すると、I/O完了部203−2にI/O完了通知NCを発行する。
I/O完了部203−2は、I/O完了通知NCに基づきI/Oに使用した通信パスのパス情報803−2を更新する(ステップ600、601)。実行したI/O要求RQがWrite要求である場合は、ネットワークドライバ103−2にサーバA101−1へのI/O完了通知NCの送付要求を発行する(ステップ602からステップ606)。Write要求でない場合は、ネットワークドライバ103−2に対し、サーバA101−1へのI/O完了通知NC及びReadデータの送付要求を発行する(ステップ602からステップ607)。
ネットワークドライバ103−2は、ネットワーク経由でサーバA101−1のネットワークドライバ103−1へ、I/O完了通知NCもしくは、I/O完了通知NCとReadデータを送信する。ネットワークドライバ103−1は、受信するI/O完了通知NCもしくは、I/O完了通知NCとReadデータをI/O完了通知受付部202−1に送信する。
I/O完了通知受付部202−1はI/O完了通知NCを受け取ると、I/O完了部203−1にI/O完了通知NCを発行し(ステップ700からステップ703)、使用した通信パスのパス情報803−2を更新する(ステップ600、601)。I/O処理が成功であると、上位のI/O要求部102−1にI/O完了通知NCを発行する(ステップ602からステップ604)。
以上のように、サーバA101−1から外部記憶装置108−1に対してI/O要求を実施する際、最適な通信パスが他のサーバB101−2からの通信パスである時、サーバA101−1は、ネットワーク100を通じてサーバB101−2とI/O要求のために必要な情報をやり取りし、サーバB101−2に通信パスを選択及び確保させ、I/Oを実行させることができる。このため、サーバA101−1から外部記憶装置108−1へ通信パスを確保できない場合でも外部記憶装置108−1に共通接続されているサーバ101があれば、ネットワーク100を介して通信パスを冗長構成することができる。
サーバA101−1から外部記憶装置108−1へのI/Oにおいて、サーバA101−1からの通信パスを選択してI/Oを実行する際、パス障害によってI/Oエラーが返され、サーバA101−1の通信パスを再選択してI/O要求RQを再発行した場合について説明する。
サーバA101−1のI/O要求部102−1は、外部記憶装置108−1に対するI/O要求RQを負荷分散モジュール105−1のI/O発行部204−1に発行する。I/O発行部204−1では、I/O要求RQに含まれるI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバA101−1からの通信パス(パス情報803−1に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバA101−1からの通信パス(パス情報803−1に対応)とする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−1に更新し、ディスクドライバ106−1に対しI/O要求RQを発行する(ステップ304からステップ306)。ディスクドライバ106−1はI/O要求RQのパス情報803−1に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。この際、パス障害等によりI/O処理ができない場合、ディスクドライバ106−1は、I/Oエラー通知NEをI/O完了部203−1に発行する。
I/O完了部203−1は、I/Oエラー通知NEからエラー内容を分析し、パス障害によるI/Oエラーである場合、I/O発行部204−1にI/O要求RQを再発行する(ステップ608、611)。又、パス障害以外の理由によるI/Oエラーの場合、上位のI/O要求部102−1にI/Oエラー通知NEを発行する(ステップ608からステップ612)。
ステップ611において、I/O完了部203−1からI/O要求RQを再発行されたI/O発行部204−1は、受信するI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバA101−1からの通信パス(パス情報803−3に対応)を選択する(ステップ400からステップ404)。この際、パス情報803−1が変更されたため、選択可能で且つ最適な通信パスが、サーバA101−1からの通信パス(パス情報803−3に対応)と変更されたとする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−3に更新し、ディスクドライバ106−1に対しI/O要求RQを発行するとともにI/O情報ADを送信する(ステップ304からステップ306)。ディスクドライバ106−1はI/O要求RQのパス情報803−3に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。ディスクドライバ106−1は、I/O処理が完了すると、I/O完了部203−1にI/O完了通知NCを発行する。
I/O完了部203−1は、I/O完了通知NCに基づきI/Oに使用した通信パスのパス情報803−3を更新する(ステップ600、601)。I/O処理が成功であると、上位のI/O要求部102−1にI/O完了通知NCを発行する(ステップ602からステップ604)。
以上のように、サーバA101−1から外部記憶装置108−1に対してI/Oを実施する際、サーバA101−1からの通信パスを選択し、その通信パスを確保できない場合においても、サーバA101−1の負荷分散モジュール105は、新たな通信パス(ここではサーバA101−1からの通信パス)を選択し、I/O要求RQを再発行して外部記憶装置108−1とのI/Oを実行することができる。
サーバA101−1から外部記憶装置108−1へのI/Oにおいて、サーバA101−1からの通信パスを選択してI/Oを実行する際、パス障害によってI/Oエラーが返され、サーバB101−2の通信パスを再選択してI/O要求RQを再発行した場合について説明する。
サーバA101−1のI/O要求部102−1は、外部記憶装置108−1に対するI/O要求RQを負荷分散モジュール105−1のI/O発行部204−1に発行する。I/O発行部204−1では、I/O要求RQに含まれるI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバA101−1からの通信パス(パス情報803−1に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバA101−1からの通信パス(パス情報803−1に対応)とする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−1に更新し、ディスクドライバ106−1に対しI/O要求RQを発行する(ステップ304からステップ306)。ディスクドライバ106−1はI/O要求RQのパス情報803−1に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。この際、パス障害等によりI/O処理ができない場合、ディスクドライバ106−1は、I/Oエラー通知NEをI/O完了部203−1に発行する。
I/O完了部203−1は、I/Oエラー通知NEからエラー内容を分析し、パス障害によるI/Oエラーである場合、I/O発行部204−1にI/O要求RQを再発行する(ステップ608、611)。又、パス障害以外の理由によるI/Oエラーの場合、上位のI/O要求部102−1にI/Oエラー通知NEを発行する(ステップ608からステップ612)。
ステップ611において、I/O完了部203−1からI/O要求RQを再発行されたI/O発行部204−1は、受信するI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、パス情報803−1が変更されたため、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)と変更されたとする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−2に更新する(ステップ304)。I/O要求RQがWrite要求の場合は、サーバB101−2へI/O要求RQを要請するため、I/O情報ADとWriteデータの送付要求をネットワークドライバ103−1に発行する(ステップ305からステップ308)。I/O要求RQがWrite要求でない場合は、I/O情報ADの送付要求をネットワークドライバ103−1に発行する(ステップ309)。
ネットワークドライバ103−1は、送信先のオペレーティングシステムが異なる場合、送信先のオペレーティングシステムに適した形式にI/O情報ADを変換し、ネットワーク100を介してサーバB101−2に送信する。この際、I/O要求RQがWrite要求の場合はWriteデータとともにサーバB101−2に送信する。
サーバB101−2のネットワークドライバ103−2は、サーバA101−1から受信するI/O情報ADを基にしたI/O発行要求MRQを、I/O要求受付部201−2に発行する。又、要請されたI/O要求RQがWrite要求の場合はWriteデータとともに送信する。
I/O要求受付部201−2は、ネットワークドライバ103−2から受信したI/O発行要求MRQに基づき、I/O発行部204−2にI/O要求RQを発行する。(501)I/O発行部では、I/O要求RQのアドレス情報800、マッピングテーブル801を参照して、I/Oの対象である外部記憶装置108−1に対応するパスグループ802−1を選択する(301)。
パス選択処理(ステップ302)において、I/O発行部204−2は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)とする。
I/O発行部204−2は、選択した通信パスのパス情報をパス情報803−2に更新し、ディスクドライバ106−2に対しI/O要求RQを発行する(ステップ304からステップ306)。ディスクドライバ106−2はI/O要求RQのパス情報803−2に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。ディスクドライバ106−2は、I/O処理が完了すると、I/O完了部203−2にI/O完了通知NCを発行する。
I/O完了部203−2は、I/O完了通知NCに基づきI/Oに使用した通信パスのパス情報803−2を更新する(ステップ600、601)。実行したI/O要求RQがWrite要求である場合は、ネットワークドライバ103−2にサーバA101−1へのI/O完了通知NCの送付要求を発行する(ステップ602からステップ606)。Write要求でない場合は、ネットワークドライバ103−2に対し、サーバA101−1へのI/O完了通知NC及びReadデータの送付要求を発行する(ステップ602からステップ607)。
ネットワークドライバ103−2は、ネットワーク経由でサーバA101−1のネットワークドライバ103−1へ、I/O完了通知NCもしくは、I/O完了通知NCとReadデータを送信する。ネットワークドライバ103−1は、受信するI/O完了通知NCもしくは、I/O完了通知NCとReadデータをI/O完了通知受付部202−1に送信する。
I/O完了通知受付部202−1はI/O完了通知を受け取ると、I/O完了部203−1にI/O完了通知を発行し(ステップ700からステップ703)、使用した通信パスのパス情報803−2を更新する(ステップ600、601)。I/O処理が成功であると、上位のI/O要求部102−1にI/O完了通知を発行する(ステップ602からステップ604)。
以上のように、サーバA101−1から外部記憶装置108−1に対してI/O要求を実施する際、サーバA101−1からの通信パスを選択し、その通信パスを確保できない場合においても、サーバA101−1の負荷分散モジュール105は、新たな通信パス(ここではサーバB101−2からの通信パス)を選択し、ネットワーク100を通じてサーバB101−2とI/O要求のために必要な情報をやり取りし、サーバB101−2に通信パスを選択及び確保させ、I/Oを実行させることができる。このため、サーバA101−1から外部記憶装置108−1へ通信パスを確保に失敗し、且つ、サーバA101−1からの通信パスが最適できない場合でも、外部記憶装置108−1に共通接続されているサーバ101があれば、ネットワーク100を介して通信パスを冗長構成することができる。
サーバA101−1から外部記憶装置108−1へのI/Oにおいて、サーバB101−2からの通信パスを選択してI/Oを実行する際、パス障害によってI/Oエラーが返され、サーバB101−2において通信パスを再選択してI/O要求RQを再発行した場合について説明する。
サーバA101−1のI/O要求部102−1は、外部記憶装置108−1に対するI/O要求RQを負荷分散モジュール105−1のI/O発行部204−1に発行する。I/O発行部204−1では、I/O要求RQに含まれるI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照してパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバA101−1からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)とする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−2に更新する(ステップ304)。I/O要求RQがWrite要求の場合は、サーバB101−2へI/O要求RQを要請するため、I/O情報ADとWriteデータの送付要求をネットワークドライバ103−1に発行する(ステップ305からステップ308)。I/O要求RQがWrite要求でない場合は、I/O情報ADの送付要求をネットワークドライバ103−1に発行する(ステップ309)。
ネットワークドライバ103−1は、送信先のオペレーティングシステムが異なる場合、送信先のオペレーティングシステムに適した形式にI/O情報ADを変換し、ネットワーク100を介してサーバB101−2に送信する。この際、I/O要求RQがWrite要求の場合はWriteデータとともにサーバB101−2に送信する。
サーバB101−2のネットワークドライバ103−2は、サーバA101−1から受信するI/O情報ADに基づいたI/O発行要求MRQをI/O要求受付部201−2に発行する。又、I/O要求RQがWrite要求の場合はWriteデータとともに送信する。
I/O要求受付部201−2は、ネットワークドライバ103−2から受信したI/O発行要求MRQに基づき、I/O発行部204−2にI/O要求RQを発行する。(501)I/O発行部では、I/O要求RQのアドレス情報800、マッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(301)。
パス選択処理(ステップ302)において、I/O発行部204−2は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)とする。
I/O発行部204−2は、選択した通信パスのパス情報をパス情報803−2に更新し、ディスクドライバ106−2に対しI/O要求RQを発行するとともにI/O情報ADを送信する(ステップ304からステップ306)。ディスクドライバ106−2はI/O要求RQのパス情報803−2に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。この際、パス障害等によりI/O処理ができない場合、ディスクドライバ106−2は、I/Oエラー通知NEをI/O完了部203−2に発行する。
I/O完了部203−2は、I/Oエラー通知NEからエラー内容を分析し、パス障害によるI/Oエラーである場合、I/O発行部204−2にI/O要求RQを再発行する(ステップ608、611)。又、パス障害以外の理由によるI/Oエラーの場合、他サーバA101−1からのI/Oの要求であるため、ネットワークドライバ103−2にI/Oエラー通知NEの送付要求を発行する(ステップ608からステップ610)。
ステップ611において、I/O完了部203−2からI/O要求RQを再発行されたI/O発行部204−2は、受信するI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照してI/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−2は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パス(パス情報803−4に対応)を選択する(ステップ400からステップ404)。この際、パス情報803−2が変更されたため、選択可能で且つ最適な通信パスが、サーバB101−1からの通信パス(パス情報803−4に対応)と変更されたとする。
I/O発行部204−2は、選択した通信パスのパス情報をパス情報803−4に更新し、ディスクドライバ106−2に対しI/O要求RQを発行するとともにI/O情報ADを送信する(ステップ304からステップ306)。ディスクドライバ106−2はI/O要求RQのパス情報803−4に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。ディスクドライバ106−2は、I/O処理が完了すると、I/O完了部203−2にI/O完了通知NCを発行する。
I/O完了部203−2は、I/O完了通知NCに基づきI/Oに使用した通信パスのパス情報803−2を更新する(ステップ600、601)。実行したI/O要求RQがWrite要求である場合は、ネットワークドライバ103−2にサーバA101−1へのI/O完了通知NCの送付要求を発行する(ステップ602からステップ606)。Write要求でない場合は、ネットワークドライバ103−2に対し、サーバA101−1へのI/O完了通知NC及びReadデータの送付要求を発行する(ステップ602からステップ607)。
ネットワークドライバ103−2は、ネットワーク経由でサーバA101−1のネットワークドライバ103−1へ、I/O完了通知NCもしくは、I/O完了通知NCとReadデータを送信する。ネットワークドライバ103−1は、受信するI/O完了通知NCもしくは、I/O完了通知NCとReadデータをI/O完了通知受付部202−1に送信する。
I/O完了通知受付部202−1はI/O完了通知NCを受け取ると、I/O完了部203−1にI/O完了通知NCを発行し(ステップ700からステップ703)、使用した通信パスのパス情報803−2を更新する(ステップ600、601)。I/O処理が成功であると、上位のI/O要求部102−1にI/O完了通知NCを発行する(ステップ602からステップ604)。
サーバA101−1から外部記憶装置108−1に対してI/Oを実施する際、サーバA101−1は、ネットワーク100を通じてサーバB101−2に通信パスを確保させ、外部記憶装置108−1とのI/Oを実行させる。この時、サーバB101−2が選択した通信パスが障害等で使用できずI/Oエラーとなった場合、サーバA101−1までI/Oエラー通知NEを返さずにサーバB101−2で再び最適な通信パスを再選択してI/O要求RQを再発行することができる。この際、最適なな通信パスが別のサーバn101−nからの通信パスである場合、サーバn101−nからの通信パスを選択し、サーバn101−nへI/O情報ADを送信してI/Oを実行させる。
サーバA101−1から外部記憶装置108−1へのI/Oにおいて、サーバB101−2からの通信パスを選択してI/Oを実行する際、パス障害によってI/Oエラーが返され、サーバB101−2において選択可能な通信パスなくなり、サーバA101−1においてI/O要求RQを再発行した場合について説明する。
サーバA101−1のI/O要求部102−1は、外部記憶装置108−1に対するI/O要求RQを負荷分散モジュール105−1のI/O発行部204−1に発行する。I/O発行部204−1では、I/O要求RQに含まれるI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照してパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバA101−1からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)とする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−2に更新する(ステップ304)。I/O要求RQがWrite要求の場合は、サーバB101−2へI/O要求を要請するため、I/O情報ADとWriteデータの送付要求をネットワークドライバ103−1に発行する(ステップ305からステップ308)。I/O要求RQがWrite要求でない場合は、I/O情報ADの送付要求をネットワークドライバ103−1に発行する(ステップ309)。
ネットワークドライバ103−1は、送信先のオペレーティングシステムが異なる場合、送信先のオペレーティングシステムに適した形式にI/O情報ADを変換し、ネットワーク100を介してサーバB101−2に送信する。この際、I/O要求RQがWrite要求の場合はWriteデータとともにサーバB101−2に送信する。
サーバB101−2のネットワークドライバ103−2は、サーバA101−1から受信するI/O情報ADに基づいたI/O発行要求MRQをI/O要求受付部201−2に発行する。又、I/O要求RQがWrite要求の場合はWriteデータとともに送信する。
I/O要求受付部201−2は、ネットワークドライバ103−2から受信したI/O発行要求MRQに基づき、I/O発行部204−2にI/O要求RQを発行する。(501)I/O発行部では、I/O要求RQのアドレス情報800、マッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(301)。
パス選択処理(ステップ302)において、I/O発行部204−2は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パス(パス情報803−2に対応)を選択する(ステップ400からステップ404)。この際、選択可能で且つ最適な通信パスが、サーバB101−2からの通信パス(パス情報803−2に対応)とする。
I/O発行部204−2は、選択した通信パスのパス情報をパス情報803−2に更新し、ディスクドライバ106−2に対しI/O要求RQを発行するとともにI/O情報ADを送信する(ステップ304からステップ306)。ディスクドライバ106−2はI/O要求RQのパス情報803−2に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや、外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。この際、パス障害等によりI/O処理ができない場合、ディスクドライバ106−2は、I/Oエラー通知NEをI/O完了部203−2に発行する。
I/O完了部203−2は、I/Oエラー通知NEからエラー内容を分析し、パス障害によるI/Oエラーである場合、I/O発行部204−2に対しI/O要求RQを再発行する(ステップ608、611)。又、パス障害以外の理由によるI/Oエラーの場合は、I/Oの要求が他サーバA101−1から要請されたI/O要求であるため、I/Oエラー通知NEの送付要求をネットワークドライバ103−2に発行する(ステップ608からステップ610)。
ステップ611において、I/O完了部203−2からI/O要求RQを再発行されたI/O発行部204−2は、受信するI/O情報ADに対応するI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−2は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバB101−2からの通信パスを選択する(ステップ400からステップ404)。この際、全ての通信パスが使用中、又は、障害の発生等で使用可能な通信パスがない場合、I/Oエラー通知NEの送付要求をネットワークドライバ103−2へ発行する。(ステップ405)。ネットワークドライバ103−2は、I/Oエラー通知NEをネットワーク100を介してサーバA101−1のネットワークドライバ103−1に送信する。
サーバA101−1のネットワークドライバ103−1は受信したI/Oエラー通知NEをI/O完了通知受付部202−1に発行する。I/O完了通知受付部202−1は、I/Oエラー通知NEを参照して障害内容を確認する(ステップ700からステップ702)。I/Oエラーがパス障害である場合、I/Oに使用した通信パスのパス情報803−2を更新する(ステップ704)。次に、I/O完了通知受付部202−1は、新たな通信パスを選択するため、I/O発行部204−1にI/O要求RQを再発行するとともにI/O情報ADを送信する(ステップ705)。
I/O完了通知受付部202−1からI/O要求RQを再発行されたI/O発行部204−1は、I/O要求RQのI/Oアドレス情報800とマッピングテーブル801を参照して、I/Oの対象となる外部記憶装置108−1に対応するパスグループ802−1を選択する(ステップ301)。
パス選択処理(ステップ302)において、I/O発行部204−1は、ステップ301で選択したパスグループテーブル802−1のパス情報803を参照し、サーバA101−1からの通信パス(パス情報803−3に対応)を選択する(ステップ400からステップ404)。この際、パス情報803−2が変更されたため、選択可能で且つ最適な通信パスが、サーバA101−1からの通信パス(パス情報803−3に対応)と変更されたとする。
I/O発行部204−1は、選択した通信パスのパス情報をパス情報803−3に更新し、ディスクドライバ106−1に対しI/O要求RQを発行するとともにI/O情報ADを送信する(ステップ304からステップ306)。ディスクドライバ106−1はI/O要求RQのパス情報803−3に基づいた通信パスを使用し、I/O情報ADを参照して外部記憶装置108−1ヘのWriteデータ書き込みや外部記憶装置108−1からのReadデータの読み込み等のI/O処理を実行する。ディスクドライバ106−1は、I/O処理が完了すると、I/O完了部203−1にI/O完了通知NCを発行する。
I/O完了部203−1は、I/O完了通知NCに基づきI/Oに使用した通信パスのパス情報803−3を更新する(ステップ600、601)。I/O処理が成功であると、上位のI/O要求部102−1にI/O完了通知NCを発行する(ステップ602からステップ604)。
サーバA101−1から外部記憶装置108−1へのI/Oを実施する際、サーバB101−2に通信パスを確保させ、外部記憶装置108−1とのI/Oを実行させる。サーバB101−2が選択した通信パスが障害等で使用できずI/Oエラーとなり、且つ、サーバB101−1で再選択可能な通信パスが確保できない場合、サーバA101−1までI/Oエラー通知NEを返し、再びサーバA101−1からの通信パスを再選択してI/O要求を再発行することができる。この際、選択可能な最適な通信パスが別のサーバn101−nからの通信パスである場合、サーバn101−nからの通信パスを選択し、サーバn101−nへI/O情報ADを送信してI/Oを実行させる。
以上により、ネットワーク100で接続された複数サーバ101間でストレージネットワーク107を介して共通接続される外部記憶装置108に対する通信パスを冗長化し、I/Oの負荷分散を可能にすることができる。
又、1つのサーバ101から外部記憶装置108に対する通信パスが全て使用できない場合においても、ネットワーク100で接続された外部記憶装置108に接続しているサーバ101にI/O要求RQを送付することによって、外部記憶装置108に対するI/Oを継続することができる。
更に複数のサーバ101から外部記憶装置108に接続する複数の通信パスからI/Oに最適なパスを選択することにより、単一サーバ101からの通信パスのみでパスを選択するよりも、より望ましいパスを選択することができる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
図1は、本発明による通信パスの冗長化システムの実施の形態における構成図である。 図2は、本発明による負荷分散モジュールの構成図である。 図3Aは、本発明によるI/O発行部における動作の流れ図である。 図3Bは、本発明によるI/O発行部における動作の流れ図である。 図4は、本発明による通信パスの冗長化システムにおけるパス選択処理の流れ図である。 図5は、本発明によるI/O要求受付部における動作の流れ図である。 図6Aは、本発明によるI/O完了部における動作の流れ図である。 図6Bは、本発明によるI/O完了部における動作の流れ図である。 図7は、本発明によるI/O完了受付部における動作の流れ図である。 図8は、本発明によるI/Oアドレス情報、マッピングテーブル、パスグループテーブル、パス情報の概念図である。
符号の説明
100: ネットワーク
101: サーバ
102: I/O要求部
102A: アプリケーション
102B: ファイルシステム
103: ネットワークドライバ
105: 負荷分散モジュール
106: ディスクドライバ
107: ストレージネットワーク
108: 外部記憶装置
201: I/O完了受付部
202: I/O完了通知受付部
203: I/O完了部
204: I/O発行部
RQ: I/O要求
MRQ: I/O発行要求MRQ
DT: I/O情報AD
NC: I/O完了通知
NE: I/Oエラー通知NE

Claims (33)

  1. ネットワークと、
    ネットワークにそれぞれ接続される複数のサーバと、
    前記複数のサーバに接続されるストレージネットワークと、
    前記複数のサーバと前記ストレージネットワークを介して共有接続される外部記憶装置とを備え、
    前記複数のサーバの各々は、前記ストレージネットワークを介して前記外部記憶装置への入出力を実行し、
    前記各サーバは、前記各サーバと前記外部記憶装置との間における負荷状態に応じて、前記ネットワークを介して前記複数のサーバにおける他のサーバのいずれかを制御して、前記他のサーバから前記ストレージネットワークを経由し、前記外部記憶装置に接続する通信経路である通信パスを確保させ、前記外部記憶装置への入出力を実行する
    通信パスの冗長化システム。
  2. ネットワークと、
    ネットワークにそれぞれ接続される複数のサーバと、
    前記複数のサーバに接続されるストレージネットワークと、
    前記複数のサーバと前記ストレージネットワークを介して共有接続される外部記憶装置とを備え、
    前記複数のサーバは、第1のサーバを含み、
    前記第1のサーバは、前記ネットワークを介して前記複数のサーバのいずれか1つのサーバを制御して、前記サーバから前記ストレージネットワークを経由し、前記外部記憶装置に接続する通信経路である通信パスを確保させ、前記外部記憶装置への入出力を実行し、
    前記第1のサーバは、前記入出力を実行するためのI/O要求を発行し、
    前記I/O要求は、前記通信パスの情報であるパス情報を含み、
    前記第1のサーバは、前記I/O要求の複数のパス情報を参照して、最適な通信パスを選択し、前記最適な通信パスを確保して前記外部記憶装置との入出力を実行する
    通信パスの冗長化システム。
  3. 請求項2に記載の通信パスの冗長化システムにおいて、
    前記複数のサーバは、第2のサーバを含み、
    前記第1のサーバは、前記最適な通信パスとして前記第2のサーバと前記外部記憶装置との間の通信パスを選択し、前記第2のサーバに入出力を実行させるための情報であるI/O情報を前記I/O要求から抽出し、前記I/O情報を前記ネットワークを介して前記第2のサーバに送信し、
    前記第2のサーバは、前記I/O情報から前記入出力を実行するためのI/O要求を発行し、前記I/O要求の複数のパス情報を参照して、前記第2のサーバと前記外部記憶装置との間の最適な通信パスを選択し、前記最適な通信パスを確保して前記入出力を実行する
    通信パスの冗長化システム。
  4. 請求項3に記載の通信パスの冗長化システムにおいて、
    前記I/O要求はWrite要求であり、前記第1のサーバは、前記I/O要求に基づくWriteデータを前記第2のサーバに送信し、
    前記第2のサーバは、前記入出力において前記Writeデータを、前記I/O情報に対応する前記外部記憶装置のアドレス上に書き込む
    通信パスの冗長化システム。
  5. 請求項3に記載の通信パスの冗長化システムにおいて、
    前記I/O要求はWrite要求以外の要求であり、
    前記第2のサーバは、前記入出力において前記I/O要求に基づくReadデータを、前記I/O情報に対応する前記外部記憶装置のアドレス上から読み取り、前記第1のサーバに送信する
    通信パスの冗長化システム。
  6. 請求項3から5いずれか1項に記載の通信パスの冗長化システムにおいて、
    前記入出力が終了すると前記第2のサーバは、前記ネットワークを介して前記第1のサーバに入出力が終了したことを示すI/O完了通知を送信する
    通信パスの冗長化システム。
  7. 請求項3から6いずれか1項に記載の通信パスの冗長化システムにおいて、
    前記入出力が完了せず、エラーとなる場合、前記第2のサーバは前記I/O要求のパス情報を更新し、
    通信パスを変更することでエラーを回避できると判断すると、前記第2のサーバは、前記I/O要求に基づいて、前記第2のサーバと前記外部記憶装置との間の最適な通信パスを選択し、前記最適な通信パスを確保して前記入出力を実行する
    通信パスの冗長化システム。
  8. 請求項7に記載の通信パスの冗長化システムにおいて、
    前記第2のサーバは、前記最適な通信パスを選択できない場合、前記入出力の結果がエラーであることを示すI/Oエラー通知を、前記ネットワークを介して前記第1のサーバに送信する
    通信パスの冗長化システム。
  9. 請求項7又は8に記載の通信パスの冗長化システムにおいて、
    前記入出力が完了せず、エラーとなる場合、前記第2のサーバは前記I/O要求のパス情報を更新し、
    通信パスを変更することでエラーを回避できない場合、前記第2のサーバは、前記ネットワークを介して前記入出力の結果がエラーであることを示すI/Oエラー通知を前記第1のサーバに送信する
    通信パスの冗長化システム。
  10. 請求項8又は9に記載の通信パスの冗長化システムにおいて、
    前記第1のサーバは、前記I/Oエラー通知を受信すると、前記I/O要求のパス情報を更新し、前記I/O要求に基づいて、新たに前記複数のサーバのうちいずれか一つのサーバと前記外部記憶装置との間の最適な通信パスを選択し、前記通信パスを確保して前記入出力を実行する
    通信パスの冗長化システム。
  11. 請求項10に記載の通信パスの冗長化システムにおいて、
    前記第1のサーバは、前記最適な通信パスとして前記第1のサーバと前記外部記憶装置との間の通信パスを選択し、前記通信パスを確保して前記入出力を実行する
    通信パスの冗長化システム。
  12. 請求項11に記載の通信パスの冗長化システムにおいて、
    前記入出力が完了せず、エラーとなる場合、前記第1のサーバは前記I/O要求のパス情報を更新し、
    通信パスを変更することでエラーを回避できる場合、前記第2のサーバは前記I/O要求に基づいて、前記第1のサーバと前記外部記憶装置との間の最適な通信パスを選択し、前記最適な通信パスを確保して前記入出力を実行する
    通信パスの冗長化システム。
  13. 請求項12に記載の通信パスの冗長化システムにおいて、
    前記第1のサーバは、前記最適な通信パスを選択できない場合、前記入出力を終了する
    通信パスの冗長化システム。
  14. ネットワークを介して他サーバに接続されるネットワークドライバと、
    自サーバからストレージネットワークを介して外部記憶装置への入出力を実行するためのI/O要求を発行するI/O要求部と、
    前記ネットワークドライバと前記I/O要求部とに接続される負荷分散モジュールとを備え、
    前記負荷分散モジュールは、
    前記I/O要求に基づき、前記外部記憶装置までの最適な通信パスを選択し、前記最適な通信パスのパス情報を更新したI/O要求を発行するI/O発行部を備え、
    前記最適な通信パスが、前記他サーバと前記外部記憶装置との間の通信パスである場合、
    前記I/O発行部は、前記他サーバに前記入出力を実行させるための情報であるI/O情報を前記I/O要求から抽出し、前記I/O情報を前記他サーバへ送付するための送付要求をネットワークドライバに対し発行し、
    前記ネットワークドライバは、前記送付要求に基づき前記I/O情報を前記他サーバに送信して、前記他サーバに前記通信パスを確保させて前記入出力を実行する
    サーバ。
  15. 請求項14に記載のサーバにおいて、
    前記ストレージネットワークを介して前記外部記憶装置に接続されるディスクドライバを備え、
    前記負荷分散モジュールは、前記ネットワークと前記I/O発行部とに接続されるI/O要求受付部を備え、
    前記ネットワークドライバは、前記ネットワークを経由して他サーバから受信する前記I/O情報を前記I/O要求受付部に送信し、
    前記I/O要求受付部は、前記I/O情報に基づいたI/O要求を前記I/O発行部に発行し、
    前記I/O発行部は、前記I/O要求のパス情報を参照し、自サーバと前記外部記憶装置との間の最適な通信パスを選択し、前記最適な通信パスのパス情報を更新したI/O要求を前記ディスクドライバに発行し、
    前記ディスクドライバは、前記I/O要求に基づき前記最適な通信パスを確保して前記他サーバから前記外部記憶装置への入出力を実行する
    サーバ。
  16. 請求項15に記載のサーバにおいて、
    負荷分散モジュールは、前記ディスクドライバが前記入出力を終了すると、入出力が終了したことを示すI/O完了通知を前記ネットワークドライバに対し発行するI/O完了部を更に備え、
    前記ネットワークドライバは、前記他サーバに対し前記I/O完了通知を送信する
    サーバ。
  17. 請求項15又は16に記載のサーバにおいて、
    前記ディスクドライバは、前記入出力が完了せず、エラーである場合、前記エラーの内容を含むI/Oエラー通知を、前記I/O完了部に発行し、
    前記I/O完了部は、前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できると判定すると、前記ディスクドライバに発行されたI/O要求のパス情報を更新したI/O要求を前記I/O発行部に発行し、
    前記I/O発行部は、前記I/O要求のパス情報を参照し、自サーバから前記外部記憶装置までの最適な通信パスを選択し、前記最適な通信パスのパス情報を更新したI/O要求を前記ディスクドライバに発行し、
    前記ディスクドライバは、前記I/O要求に基づき前記最適な通信パスを確保し、前記他サーバから前記外部記憶装置への入出力を実行する
    サーバ。
  18. 請求項15から17いずれか1項に記載のサーバにおいて、
    前記I/O完了部は、前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できないと判定すると、前記ネットワークドライバに前記I/Oエラー通知を発行し、
    前記ネットワークドライバは、前記I/Oエラー通知を前記他サーバへ送信する
    サーバ。
  19. 請求項18に記載のサーバにおいて、
    他サーバから受信する前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できると判定すると、I/O要求の前記入出力に使用した通信パスのパス情報を更新したI/O要求をI/O発行部に発行し、
    前記I/O発行部は、前記I/O要求のパス情報を参照し、自サーバから前記外部記憶装置までの最適な通信パスを選択し、前記最適な通信パスのパス情報を更新したI/O要求を前記ディスクドライバに発行し、
    前記ディスクドライバは、前記I/O要求に基づき前記最適な通信パスを確保し、前記自サーバから前記外部記憶装置への入出力を実行する
    サーバ。
  20. 請求項14に記載のサーバにおいて、
    前記ストレージネットワークを介して前記外部記憶装置に接続されるディスクドライバを備え、
    前記最適な通信パスが、自サーバと前記外部記憶装置との間の通信パスである場合、
    前記I/O発行部は、前記最適な通信パスのパス情報を更新したI/O要求を前記ディスクドライバに発行し、
    前記ディスクドライバは、前記I/O要求に基づき前記最適な通信パスを確保し、前記自サーバから前記外部記憶装置への入出力を実行する
    サーバ。
  21. 請求項20に記載のサーバにおいて、
    前記ディスクドライバは、前記入出力が完了せず、エラーである場合、前記エラーの内容を含むI/Oエラー通知を、前記I/O完了部に発行し、
    前記I/O完了部は、前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できると判定すると、前記I/O要求のパス情報を更新したI/O要求を前記I/O発行部に発行し、
    前記I/O発行部は、前記I/O要求のパス情報を参照し、自サーバから前記外部記憶装置までの最適な通信パスを選択し、前記最適な通信パスのパス情報を更新したI/O要求を前記ディスクドライバに発行し、
    前記ディスクドライバは、前記I/O要求に基づき前記最適な通信パスを確保し、前記自サーバから前記外部記憶装置への入出力を実行する
    サーバ。
  22. 請求項20に記載のサーバにおいて、
    前記ディスクドライバは、前記入出力が完了せず、エラーである場合、前記エラーの内容を含むI/Oエラー通知を、前記I/O完了部に発行し、
    前記I/O完了部は、前記I/O要求のパス情報を更新し、前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できないと判定すると、前記I/Oエラー通知を前記I/O要求部に発行し、前記入出力を中止する
    サーバ。
  23. サーバからストレージネットワークを介して外部記憶装置への入出力を実行するためのI/O要求を発行するステップと、
    前記I/O要求を参照して他のサーバから前記外部記憶装置との間の通信パスを最適な通信パスとして選択するステップと、
    前記他サーバに対し前記I/O要求を発行させるためのI/O情報をネットワークを介して前記他サーバに送信するステップと、
    前記他サーバが前記I/O情報を用いてI/O要求を発行するステップと、
    前記他サーバが前記I/O要求を基に前記他サーバから前記外部記憶装置の間の最適な通信パスを選択するステップと、
    前記最適な通信パスを確保して前記入出力を実行するステップとを備える
    通信パスの冗長化方法。
  24. 請求項23に記載の通信パスの冗長方法において、
    前記入出力が終了すると前記サーバへ前記入出力が終了したことを示すI/O終了通知を送信するステップを更に備える
    通信パスの冗長化方法。
  25. 請求項23に記載の通信パスの冗長化方法において、
    前記入出力が完了しない場合、前記入出力がエラーであることを示すI/Oエラー通知を発行するステップと、
    前記I/Oエラー通知に基づき新たなI/O要求を発行するステップと、
    前記I/O要求に基づき前記他サーバから前記外部記憶装置との間の新たな最適な通信パスを選択するステップと、
    前記最適な通信パスを確保して前記入出力を実行するステップとを備える
    通信パスの冗長化方法。
  26. 請求項25に記載の通信パスの冗長化方法において、
    前記入出力が完了しない場合、前記I/Oエラー通知を前記入出力の要求元のサーバに送信するステップと、
    前記I/Oエラー通知を受信するステップと、
    前記I/Oエラー通知に基づき前記外部記憶装置との間の最適な通信パスを選択するステップと、
    前記最適な通信パスを確保して前記入出力を実行するステップとを備える
    通信パスの冗長化方法。
  27. 複数のサーバの各々に搭載され、
    ストレージネットワークを介して外部記憶装置への入出力を実行するステップと、
    前記外部記憶装置との間における負荷状態に応じて前記外部記憶装置への入出力経路を変更するステップと、
    をコンピュータに実行させる負荷分散プログラムにおいて、
    前記入出力経路を変更するステップは、
    前記外部記憶装置への入出力を実行するためのI/O要求に基づき、ストレージネットワークを介した前記外部記憶装置までの最適な通信パスを選択するステップと、
    前記最適な通信パスのパス情報を更新したI/O要求を発行するステップと、
    前記複数のサーバにおける他サーバのいずれかに前記入出力を実行させるための情報であるI/O情報を前記I/O要求から抽出し、前記I/O情報をネットワークを介して前記他サーバへ送付するための送付要求を発行するステップと、
    前記送付要求に基づき前記I/O情報を前記他サーバに送信するステップと
    を備える
    負荷分散プログラム。
  28. 外部記憶装置への入出力を実行するためのI/O要求に基づき、ストレージネットワークを介した前記外部記憶装置までの最適な通信パスを選択するステップと、
    前記最適な通信パスのパス情報を更新したI/O要求を発行するステップと、
    他サーバに前記入出力を実行させるための情報であるI/O情報を前記I/O要求から抽出し、前記I/O情報をネットワークを介して他サーバへ送付するための送付要求を発行するステップと、
    前記送付要求に基づき前記I/O情報を前記他サーバに送信するステップと、
    前記ネットワークを経由して前記他サーバから受信する前記I/O情報を基にI/O要求を発行するステップと
    前記I/O要求のパス情報を参照し、自サーバと前記外部記憶装置との間の最適な通信パスを選択するステップと、
    前記最適な通信パスのパス情報を更新したI/O要求を発行するステップと、
    前記I/O要求に基づき前記最適な通信パスを確保して前記他サーバから前記外部記憶装置への入出力を実行するステップと、
    をコンピュータに実行させる
    負荷分散プログラム。
  29. 請求項28に記載の負荷分散プログラムにおいて、
    前記入出力を終了すると、入出力が終了したことを示すI/O完了通知を前記入出力の要求元のサーバへ発行するステップとをコンピュータに実行させる
    負荷分散プログラム。
  30. 請求項28又は29に記載の負荷分散プログラムにおいて、
    前記入出力が完了せず、エラーである場合、前記エラーの内容を含むI/Oエラー通知を、発行するステップと、
    前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できると判定するステップと、
    エラーとなったI/O要求のパス情報を更新したI/O要求を発行するステップと、
    前記I/O要求のパス情報を参照し、自サーバから前記外部記憶装置までの最適な通信パスを選択するステップと、
    前記最適な通信パスのパス情報を更新したI/O要求を発行するステップと、
    前記I/O要求に基づき前記最適な通信パスを確保し、前記他サーバから前記外部記憶装置への入出力を実行するステップとをコンピュータに実行させる
    負荷分散プログラム。
  31. 請求項28から30いずれか1項に記載の負荷分散プログラムにおいて、
    前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できないと判定するステップと、
    前記I/Oエラー通知を前記他サーバへ送信するステップとをコンピュータに実行させる
    負荷分散プログラム。
  32. 請求項30又は31に記載の負荷分散プログラムにおいて、
    前記他ノードから受信する前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できると判定するステップと、前記入出力に使用した通信パスのパス情報を更新したI/O要求を発行するステップと、
    前記I/O要求のパス情報を参照し、自サーバから前記外部記憶装置までの最適な通信パスを選択するステップと、
    前記最適な通信パスのパス情報を更新したI/O要求を発行するステップと、
    前記I/O要求に基づき前記最適な通信パスを確保し、前記自サーバから前記外部記憶装置への入出力を実行するステップとをコンピュータに実行させる
    負荷分散プログラム。
  33. 請求項30から32いずれか1項に記載の負荷分散プログラムにおいて、
    前記他サーバから受信する前記I/Oエラー通知を参照し、通信パスを変更することでエラーを回避できないと判定するステップと、
    I/Oエラー通知を上位に発行するステップとをコンピュータに実行させる
    負荷分散プログラム。
JP2004313152A 2004-10-27 2004-10-27 通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム Expired - Fee Related JP4123386B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004313152A JP4123386B2 (ja) 2004-10-27 2004-10-27 通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004313152A JP4123386B2 (ja) 2004-10-27 2004-10-27 通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム

Publications (2)

Publication Number Publication Date
JP2006128955A JP2006128955A (ja) 2006-05-18
JP4123386B2 true JP4123386B2 (ja) 2008-07-23

Family

ID=36723178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004313152A Expired - Fee Related JP4123386B2 (ja) 2004-10-27 2004-10-27 通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム

Country Status (1)

Country Link
JP (1) JP4123386B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193106A (ja) * 2008-02-12 2009-08-27 Nec Corp ネットワークシステム、情報処理装置、通信方法及びプログラム
JP2009245379A (ja) * 2008-03-31 2009-10-22 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
US20130138884A1 (en) * 2011-11-30 2013-05-30 Hitachi, Ltd. Load distribution system
WO2013145293A1 (ja) * 2012-03-30 2013-10-03 富士通株式会社 データ制御装置、データ処理システム、データ制御方法、データ処理方法、データ制御プログラム、データ処理プログラム、及び記録媒体
JP5445627B2 (ja) * 2012-06-26 2014-03-19 日本電気株式会社 ネットワークシステム、情報処理装置、通信方法及びプログラム

Also Published As

Publication number Publication date
JP2006128955A (ja) 2006-05-18

Similar Documents

Publication Publication Date Title
US7313636B2 (en) Methods and structure for supporting persistent reservations in a multiple-path storage environment
US6970972B2 (en) High-availability disk control device and failure processing method thereof and high-availability disk subsystem
US9134913B2 (en) Methods and structure for improved processing of I/O requests in fast path circuits of a storage controller in a clustered storage system
JP6334643B2 (ja) Smb2スケールアウト
JP4810585B2 (ja) リモートスキャンをサポートする計算機
JP6734251B2 (ja) システム及びその制御方法並びにプログラム
US20050091426A1 (en) Optimized port selection for command completion in a multi-ported storage controller system
JP2019185328A (ja) 情報処理システム及びパス管理方法
US8401000B2 (en) Method of processing data packets
JP4477437B2 (ja) ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム
KR20080096547A (ko) 가상 네트워크 저장 시스템, 네트워크 저장 장치 및 가상 방법
JP2004302713A (ja) 記憶システム及びその制御方法
US9336093B2 (en) Information processing system and access control method
JP2005055970A (ja) ストレージ装置
US11269802B2 (en) Lightweight proxy for handling SCSI commands in an active array-standby array configuration
CN120407501A (zh) 通信方法及系统
JP4786255B2 (ja) ストレージシステム及び記憶制御方法
JP4123386B2 (ja) 通信パス冗長化システム、通信パスの冗長化方法及び負荷分散プログラム
JP6961045B2 (ja) システム及びその制御方法並びにプログラム
JP2012249153A (ja) 通信制御方法および管理装置
US7574529B2 (en) Addressing logical subsystems in a data storage system
JP4474356B2 (ja) コンピュータシステムおよびストレージ仮想化装置
JP4375121B2 (ja) データベース管理システムにおける処理代行方法
US20160224269A1 (en) Storage system and information processing method
JP2006053896A (ja) コンピュータシステムの複数の処理ノードを接続するファブリック数のソフトウェアトランスペアレントな拡張

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080409

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080422

R150 Certificate of patent or registration of utility model

Ref document number: 4123386

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees