JP5077240B2 - 通信処理プログラムおよび通信処理方法 - Google Patents

通信処理プログラムおよび通信処理方法 Download PDF

Info

Publication number
JP5077240B2
JP5077240B2 JP2008550017A JP2008550017A JP5077240B2 JP 5077240 B2 JP5077240 B2 JP 5077240B2 JP 2008550017 A JP2008550017 A JP 2008550017A JP 2008550017 A JP2008550017 A JP 2008550017A JP 5077240 B2 JP5077240 B2 JP 5077240B2
Authority
JP
Japan
Prior art keywords
disk array
target
blocked
request
array 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
JP2008550017A
Other languages
English (en)
Other versions
JPWO2008075425A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008075425A1 publication Critical patent/JPWO2008075425A1/ja
Application granted granted Critical
Publication of JP5077240B2 publication Critical patent/JP5077240B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は通信処理プログラムおよび通信処理方法に関する。
ネットワークシステムの信頼性向上のため、サーバ−ディスクアレイ装置間の接続を冗長化し、1つの接続経路が不通となっても、冗長経路から通信を継続できるように構成することが一般的に行われている(例えば、特許文献1参照)。
ここで、サーバ−ディスクアレイ装置間のデータ転送方式のひとつとして、主に高い性能が必要なサーバに用いられるファイバチャネル(Fibre Channel)が知られている。ファイバチャネルは、接続に最大転送速度:毎秒200メガバイトの光ファイバーや同軸ケーブル等を使用し、最大伝送距離10キロメートルに及ぶ長距離区間の高速データ転送を実現することができる。
図27は、一般的なサーバディスクアレイ装置間のファイバチャネル構成を示す図である。サーバ700とディスクアレイ装置900とが、スイッチ800a、800bを介して接続されている。
アプリケーション710から発行要求のあったディスクI/Oに関する通信制御は、サーバ700上ではサーバ700−ディスクアレイ装置900間の通信経路を制御するI/Oマルチパス制御ソフト720、および実際にディスクアレイ装置900との通信を行うファイバチャネルアダプタ730a、730bを制御するファイバチャネルドライバ740a、740bにて行われる。
ファイバチャネルドライバ740a、740bは、それぞれ上位のターゲットドライバ750a、750bよりI/O発行要求を受けるとI/O発行要求の管理(SCSIレベル)を行うとともにファイバチャネル通信にてディスクアレイ装置900へI/O発行を行うためのエクスチェンジの発行情報の管理(Fibre Channel通信FC−PH層)を行う。
このようなファイバチャネル構成では、サーバ700とディスクアレイ装置900とが不通となった場合に、経路の故障を検知し冗長経路へ経路の切り替えが行われ通信が継続されるまでの時間を短縮することが望まれている。
図28は、従来の処理を示す図である。なお、図28では一方の接続経路を用いた場合を図示している。
従来の処理では、ファイバチャネルドライバ740aは、上位のターゲットドライバ750aからI/O停止要求(abort)を受けた場合には、ディスクアレイ装置900に対しI/O停止要求を発行し、I/O停止要求の応答(ACC)をI/O停止要求の応答待ち時間分待つ。ディスクアレイ装置900の障害または接続経路の障害等によりI/O停止要求の応答待ち時間が経過するまでに応答がなければI/Oはエラーとして上位に通知することになるが、この時点で即上位にエラーを返すことはできず、伝送路遅延により遅れて応答が返ってくることが想定されるため、エクスチェンジの発行情報の管理を、伝送路遅延を考慮した待ち時間分行い、その時間が経過してからI/Oをエラーとして上位に通知する。このため、エラー時の経路の切り替わり(経路切り替え)に非常に時間がかかってしまう。また、アプリケーション710が発行したI/Oの待機時間も長くなる。
そこで、経路の切り替え時間の短縮のため、ファイバチャネルドライバ740aの以下の制御方法が知られている。
図29は、従来の他の処理を示す図である。
(1)ターゲットドライバ750aからI/O停止要求を受けた場合、ディスクアレイ装置900に対しI/O停止要求を発行する。
(2)ターゲットドライバ750aに対しI/O停止要求をエラー通知応答する。
(3)ディスクアレイ装置900からの応答は期待せず、I/O発行要求の管理領域は必要ないため解放する。
(4)ディスクアレイ装置900からのI/O停止要求の応答(BA_ACC)をI/O停止要求の応答待ち時間分待つ。
(5)(4)が過ぎても応答がなければ、さらに伝送路遅延を考慮した待ち時間分応答を待つ。
(6)(5)が経過した後に、エクスチェンジの発行情報(FC−PH層)を解放する。
特開平6−110800号公報
このような方法によれば、ファイバチャネルドライバ740aにおけるI/O発行要求の管理時間を短縮することができる。
しかしながら、ファイバチャネル通信路に発行したI/Oは、ディスクアレイ装置900に対しI/O停止要求を出した後にも、I/O発行に使用したファイバチャネル通信のためのID(OX_ID等)を確保しておく必要がある。
従って、I/O停止要求の応答待ち時間と伝送路遅延を考慮した待ち時間においては、ファイバチャネルドライバ740aは、エクスチェンジの発行情報の管理(FC−PH層)を行い、それらIDが不正に使用されないようにする。その結果、それらID資源の不要な確保により、ID資源の枯渇が発生し、経路切り替えの処理が遅延するという問題がある。
また、I/Oマルチパス制御ソフト720がI/O停止処理の後にディスクアレイ装置900に対しI/Oのリトライを繰り返す場合があり、例えば経路間に障害が発生した場合、その障害箇所に対し何度も同一の処理が繰り返され、経路切り替え時間が遅延するという問題がある。
本発明はこのような点に鑑みてなされたものであり、迅速に経路の切り替えを行うことができる通信処理プログラムおよび通信処理方法を提供することを目的とする。
一実施態様では、通信手段を介してディスクアレイ装置に複数の経路で接続された情報処理装置の通信を制御する通信処理プログラムにおいて、前記情報処理装置に、前記複数の経路のいずれかにおける経路接続のタイムアウトが検出されると、前記ディスクアレイ装置へのI/O停止要求を発行し、前記I/O停止要求を発行した場合に、前記ディスクアレイ装置についての処理を閉塞状態にすることにより前記ディスクアレイ装置からの応答を無視するとともに、前記ディスクアレイ装置に接続されている閉塞対象のポートにリンクダウン指示を出し、前記ディスクアレイ装置に接続されている経路を強制的にダウンさせ、前記複数の経路を制御する経路制御手段にエラー通知を行って、経路の切り替えを行わせる処理を実行させることを特徴とする通信処理プログラムが提供される。
また、一実施態様によれば、通信手段を介してディスクアレイ装置に複数の経路で接続された情報処理装置の通信を制御する通信処理方法において、前記情報処理装置が、前記複数の経路のいずれかにおける経路接続のタイムアウトが検出されると、前記ディスクアレイ装置へのI/O停止要求を発行し、前記I/O停止要求を発行した場合に、前記ディスクアレイ装置についての処理を閉塞状態にすることにより前記ディスクアレイ装置からの応答を無視するとともに、前記ディスクアレイ装置に接続されている閉塞対象のポートにリンクダウン指示を出し、前記ディスクアレイ装置に接続されている経路を強制的にダウンさせ、前記複数の経路を制御する経路制御手段にエラー通知を行って、経路の切り替えを行わせる、ことを特徴とする通信処理方法が提供される。
本発明では経路制御手段がタイムアウトを検出し、I/O停止要求を発行した場合に、ファイバチャネルドライバが対象となるディスクアレイについての処理を全て閉塞状態にする処理を行うようにしたので、ファイバチャネルドライバからターゲットドライバにエラー通知を即座に返答することができる。よって、経路制御手段へのエラー通知も短時間で行うことができる。この結果、経路制御手段が迅速に経路を切り替えることができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本発明の概要を示す図である。 実施の形態の通信処理システムを示すブロック図である。 サーバのハードウェア構成例を示す図である。 サーバおよびディスクアレイ装置の機能を示すブロック図である。 FCドライバの処理を説明する図である。 FCドライバの切り替え処理を示すフローチャートである。 FCドライバの処理を示すシーケンス図である。 X_ID管理テーブルを示す図である。 処理A−1を示すフローチャートである。 処理B−1を示すフローチャートである。 処理D−1を示すフローチャートである。 処理B−2を示すフローチャートである。 処理D−2を示すフローチャートである。 処理A−2を示すフローチャートである。 処理A−3を示すフローチャートである。 処理C−2を示すフローチャートである。 処理C−3を示すフローチャートである。 処理B−3を示すフローチャートである。 処理C−1を示すフローチャートである。 第2の実施の形態のFCドライバの処理を説明する図である。 第2の実施の形態のFCドライバの閉塞処理を示すフローチャートである。 第2の実施の形態のFCドライバの処理を示すシーケンス図である。 処理a−3を示すフローチャートである。 処理c−2を示すフローチャートである。 処理c−3を示すフローチャートである。 処理c−1を示すフローチャートである。 一般的なサーバディスクアレイ装置間のファイバチャネル構成を示す図である。 従来の処理を示す図である。 従来の他の処理を示す図である。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
図1に示すコンピュータ1は、ファイバチャネル接続を行うためのファイバチャネルアダプタ2を備え、このファイバチャネルアダプタ2を介してディスクアレイ装置3に複数の経路4a、4bで接続されている。
コンピュータ1は、ファイバチャネルアダプタ2に加え、経路制御手段5と、ターゲットドライバ6と、ファイバチャネルドライバ7とを有している。
経路制御手段5は、複数の経路4a、4bを制御し、エラー通知を受けて経路を切り替える。具体的には、経路4aを用いてディスクアレイ装置3とデータの送受信を行っていた場合、エラー通知を受けてデータ転送経路を経路4bに切り替える。経路4bを用いてディスクアレイ装置3とデータの送受信を行っていた場合、エラー通知を受けてデータ転送経路を経路4aに切り替える。
ターゲットドライバ6は、経路制御手段5の経路接続のタイムアウト検出に応じてディスクアレイ装置3へのI/O停止要求を発行する。経路接続のタイムアウトを検出する場合は例えばディスクアレイ装置3に何らかの障害が発生した場合や、データ送受信を行っている経路4aまたは経路4bに障害が発生した場合等が挙げられる。また、ファイバチャネルドライバ7からエラー通知を受け取ると、経路制御手段5に出力する。
ファイバチャネルドライバ7は、ファイバチャネルアダプタ2を制御するものであり、主としてエクスチェンジ(Exc)の発行を管理する機能と、I/O発行情報を管理する機能とを有している。このファイバチャネルドライバ7は、ターゲットドライバ6がI/O停止要求を発行したとき、ディスクアレイ装置3についての処理を全て閉塞状態にするとともにエラー通知をターゲットドライバ6に出力する。ここで閉塞状態にすることにより、上位からのI/O発行要求に対してはエラー通知を返し、ディスクアレイ装置3からの応答に対しては無視する。
このような通信処理プログラムによれば、ターゲットドライバ6により、経路制御手段5の経路接続のタイムアウト検出に応じたディスクアレイ装置3へのI/O停止要求が発行される。ファイバチャネルドライバ7により、ターゲットドライバ6によってI/O停止要求が発行されたとき、ディスクアレイ装置3についての処理が全て閉塞状態にされるとともにエラー通知がターゲットドライバ6に出力される。すると、ターゲットドライバ6により、エラー通知が経路制御手段5に出力される。エラー通知を受けた経路制御手段5により、経路が切り替えられる。よって、コンピュータ1のI/O待機時間が減少する。
以下、本発明の実施の形態を説明する。
図2は、実施の形態の通信処理システムを示すブロック図である。
図2に示す通信処理システムは、サーバ(通信処理装置)100とディスクアレイ装置300とがスイッチ(ファイバチャネルスイッチ)200aおよびスイッチ200bを介して接続されている。ディスクアレイ装置300は、1つまたは複数のディスクアレイ(図2ではディスクアレイ301)を有しており、サーバ100からのデータを受け取り格納する。
サーバ100からスイッチ200aを経由してディスクアレイ装置300に至る経路(伝送路)を第1の経路(主経路)とし、サーバ100からスイッチ200bを経由してディスクアレイ装置300に至る経路を第2の経路(冗長経路)とし、サーバ100は、いずれか一方の経路に障害が発生すると、他方の経路に切り替えてシステムの運用を行っている。
図3は、サーバのハードウェア構成例を示す図である。
サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106、およびFC(Fibre Channel)アダプタ108a、108bが接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
FCアダプタ108a、108bは、それぞれスイッチ200a、200bに接続する信号伝達用ケーブルの接続部を構成している。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
このようなハードウェア構成のシステムにおいて通信処理を行うために、サーバ100およびディスクアレイ装置300内には、以下のような機能が設けられる。
図4は、サーバおよびディスクアレイ装置の機能を示すブロック図であり、図5は、FCドライバの処理を説明する図である。なお、図4では機能ブロックを点線で示している。
サーバ100は、アプリケーション110と、I/Oマルチパス制御部120と、ターゲットドライバ130a、130bと、FC(Fibre Channel)ドライバ140a、140bとを有している。
アプリケーション110は、例えばユーザが使用するアプリケーションであり、ディスクアレイ301とのI/Oに関する通信制御要求(I/O発行要求)を出力する。
I/Oマルチパス制御部120は、サーバ100−ディスクアレイ装置300間の通信経路を制御する。具体的には、サーバ100−ディスクアレイ装置300間の接続経路の状態を把握し、アプリケーション110から受け付けたI/O発行要求を、適当な経路で発行する。各経路の異常は、各経路との接続管理を行う下位層に対して発行したI/O発行要求がエラー通知(応答)されるか否かで判断する。
ターゲットドライバ130a、130bは、それぞれ、ディスクアレイ301へのI/O処理要求を発行・管理する。
FCドライバ140a、140bは、主としてI/O発行要求を管理する機能と、エクスチェンジの発行を管理する機能とを有している。FCドライバ140a、140bは、それぞれ、実際にディスクアレイ装置300との通信を行うFCアダプタ108a、108bを制御し、I/O発行要求を受けた場合に、ディスクアレイ装置300との通信処理等を行う。この通信処理は、以下の方法で行う。
FCドライバ140a、140bは、アダプタポート単位で一群のシーケンスからなる1つのオペレーションを識別するIDであるX_ID(eXchange ID)を内部で発行する。1つのオペレーションをエクスチェンジと言い、OX_ID(送信用X_ID)とRX_ID(受信用X_ID)とで識別する。
FCドライバ140a、140bは、発行したX_IDをOX_IDに設定し、FC伝送路上にI/O(命令、アドレス等)を発行する。ディスクアレイ装置300がOX_IDを受信すると、独自にX_ID(RX_ID)を設定し、応答する。FCドライバ140a、140bは、次から応答の有ったX_IDをRX_IDとして使用し、I/Oを発行する。これらOX_ID−RX_IDの組み合わせによりエクスチェンジを管理する。
X_ID(OX_ID、RX_ID)の解放は、エクスチェンジの終了時、またはI/O停止要求(abort)発行後、所定時間(FC規約では10秒)経過してから行う。この条件を満たさず、使用中のX_IDを重複使用した場合は、ディスクアレイ装置300側のエクスチェンジが保証されなくなる。
ディスクアレイ装置300は、サーバ100側からのI/O発行に応じてディスクアレイ301を制御するコントローラ310a、310bを有している。コントローラ310aは、主経路に対応し、コントローラ310bは冗長経路に対応している。ディスクアレイ装置300は、コントローラ310a、310bを介して発行されたI/Oを受け取り、対応するデータをサーバ100に返す。
このようなサーバ100において、FCドライバ140a、140bはそれぞれターゲットドライバ130a、130bからのI/O停止要求があった場合に、以下の処理を行う。
以下、代表的にFCドライバ140aが上位からI/O停止要求を受け取った場合に、主経路から冗長経路に切り替える切り替え処理について図5および図6を用いて説明する。
図6は、FCドライバの切り替え処理を示すフローチャートである。
まず、停止要求を受け取った場合、FCアダプタ108aの閉塞(停止)対象のアダプタポートを決定する(ステップS1)。閉塞対象のアダプタポートは、要求によって異なる。
(1)I/O単位のabortの場合は、そのI/Oの発行対象のアダプタポートを閉塞対象のアダプタポートとする。(2)ディスクアレイ装置300単位のabortの場合は、そのI/Oの発行対象のアダプタポートを閉塞対象のアダプタポートとする。(3)ディスクアレイ(target)301単位のabortの場合は、そのI/Oの発行対象のアダプタポートを閉塞対象のアダプタポートとする。
次に、閉塞対象のアダプタポートに対してLINK DOWN指示を出し、ファイバチャネル伝送路とのリンクを切断してファイバチャネル通信を停止する(ステップS2)。
次に、閉塞対象のアダプタポートから発行済みおよび発行予定のI/Oを全て無条件にエラーでターゲットドライバ130aに返答し、I/O発行要求の管理(SCSIレベル)情報を削除する(ステップS3)。これにより、IOマルチパス制御部120が経路の切り替えを開始する。
次に、ターゲットドライバ130aに返答したI/Oに関するファイバチャネル通信へのエクスチェンジ発行情報(FC−PH層)を削除する(ステップS4)。
次に、I/Oマルチパス制御部120の経路切り替え時間を考慮し、一定時間経過(例えば60〜180秒等または手動でコマンドにより解除)させるためのタイマを動作させ、所定時間待機する(ステップS5)。タイマ動作中は、ターゲットドライバ130aからFCドライバ140aのI/O発行対象のアダプタポートにI/O発行要求があったとしても受け付けず即エラーで返答する(閉塞処理)。また通信路がリンクダウンしているため、FC通信路からそのFCドライバ140aのI/O発行対象のアダプタポートに関する応答は伝達されない。
次に、タイマ終了時にアダプタポートのLINK UP処理を行い、閉塞処理を解除してリンクを接続する(ステップS6)。
これにより、ファイバチャネル通信へのエクスチェンジ発行情報(FC−PH層)は、ディスクアレイ装置300からの応答はすべて廃棄するため管理の必要がなく即削除する。その結果ターゲットドライバ130aからのI/O発行要求の管理(SCSIレベル)についても管理する必要がなくなるため即エラーを返すことができるようになる。よってマルチパス制御部120は、経路の切り替えを迅速に行うことができ、アプリケーション110が発行したI/Oの待機時間が減少する。
また、上位のI/Oマルチパス制御部120またはターゲットドライバ130aがI/Oリトライをした場合でもFCドライバ140aがディスクアレイ装置300との通信状態にないため即エラー通知を返すことで、無駄なリトライを防止することができる。
次に、FCドライバ140a(140b)の処理について詳しく説明する。
図7は、FCドライバの処理を示すシーケンス図である。
FCドライバ140aは、I/O発行要求管理部141aと、エクスチェンジ発行情報管理部142aと、FC接続管理部143aと、X_ID管理部144aとを有している。
I/O発行要求管理部141aは、ターゲットドライバ130aからのI/O発行要求に対し、FCドライバ140aの他部に適切な処理を依頼する。そして、必要に応じてターゲットドライバ130aに応答する。また、タイマ(後述)等も管理する。
エクスチェンジ発行情報管理部142aは、I/O発行要求を受けてコントローラ310aとの接続を試み、コントローラ310aにI/Oを発行する。
FC接続管理部143aは、コントローラ310aとの接続状態(コントローラ310aと接続しているか否か)を管理する接続可能ターゲットリストを有している。
X_ID管理部144aは、X_IDを管理するX_ID管理テーブルを有している。
図8は、X_ID管理テーブルを示す図である。
X_ID管理テーブルTa1には、X_IDと使用状態の欄が設けられており、各欄の横方向に並べられた情報同士が互いに関連づけられている。
X_IDの欄には、それぞれ固有のX_ID(X_ID1、X_ID2、・・・)が設定される。X_IDの個数は、仕様により異なる。
使用状態の欄には、X_IDが使用中か否かが設定される。使用中のX_IDにはPKTアドレスが設定され、未使用のX_IDにはNULLが設定される。
再び図7に戻って説明する。
図7中符号および番号は、処理内容を識別するために設けられており、各部の情報のやりとりを示している。また、図7中の処理は時系列で行われる。
以下、ターゲットドライバ130a(以下、「上位」とも言う)からの要求を(α)上位からのI/O発行要求、(β)上位からのI/O abort要求、(γ)上位からの再I/O発行要求の3つの要求に分けて説明する。FCドライバ140aは、各要求に応じて異なる処理を行う。
ここで、(α)は、(β)が行われる前の要求であり、(α)においては、サーバ100は、ディスクアレイ装置300にI/Oを発行する。そして、(β)の要求後に(γ)の要求があった場合は、FCドライバ140aは、(α)とは異なる処理を行う。
また、I/O発行要求管理部141aは、各要求に応じて異なる処理(処理A−1〜A−3)を行い、エクスチェンジ発行情報管理部142aは、各要求に応じて異なる処理(処理B−1〜B−3)を行い、FC接続管理部143aは、要求に応じて異なる処理(処理C−1〜C−3)を行い、X_ID管理部144aは、要求に応じて異なる処理(処理D−1〜D−2)を行う。
また、図7では各部の処理関係を矢印で示している。例えば処理A−1が実行された結果、処理B−1が行われる。以下、上位からの要求に応じた各部の処理について順番に説明する。
(α)上位からのI/O発行要求に対する処理
この場合、図7に示すように、I/O発行要求管理部141aが処理A−1を行い、エクスチェンジ発行情報管理部142aが処理B−1を行い、X_ID管理部144aが処理D−1を行う。これによりコントローラ310aにI/Oを発行する。また、コントローラ310aからI/O応答があった場合は、エクスチェンジ発行情報管理部142aが処理B−2を行い、I/O発行要求管理部141aが処理A−2を行い、X_ID管理部144aが処理D−2を行う。これにより上位に応答を返す。
<処理A−1>
図9は、処理A−1を示すフローチャートである。なお、図9〜図19および図23〜図26においては、次処理のきっかけとなるステップの近傍に処理名(例えば図9中「B−1」)を付す。
まず、ターゲットドライバ130aからI/O発行要求を受け取ると(ステップS11)、I/O発行要求の管理情報を作成する(ステップS12)。
次に、エクスチェンジ発行情報管理部142aにI/O発行を依頼する(ステップS13)。これにより処理B−1が行われる。以上で、処理A−1を終了する。
<処理B−1>
図10は、処理B−1を示すフローチャートである。
まず、I/O発行要求管理部141aからI/O発行依頼を受け取ると(ステップS21)、コントローラ(I/O発行対象のデバイス)310aが接続可能ターゲットリストに存在するか否かを判断する(ステップS22)。
コントローラ310aが接続可能ターゲットリストに存在する場合(ステップS22のYes)、X_ID管理部144aにX_IDを要求する(ステップS23)。これにより処理D−1が行われる。
その後、取得した(通知された)X_IDを使用し、コントローラ310aにI/Oを発行する(ステップS24)。以上で処理B−1を終了する。
一方、コントローラ310aが接続可能ターゲットリストに存在しない場合(ステップS22のNo)、FC接続管理部143aにコントローラ310aの接続を依頼する(ステップS25)。これにより処理C−1が行われる。次に、FC接続管理部143aからの応答が「接続可能」か否かを判断する(ステップS26)。
FC接続管理部143aからの応答が「接続可能」の場合(ステップS26のYes)、ステップS23に移行し、引き続き前述した処理を行う。
一方、FC接続管理部143aからの応答が「接続不可」の場合(ステップS26のNo)、I/O発行要求管理部141aにI/O発行依頼のエラーを応答する(ステップS27)。以上で処理B−1を終了する。
<処理D−1>
図11は、処理D−1を示すフローチャートである。
X_ID管理部144aは、X_ID要求を受け取ると(ステップS31)、X_ID管理テーブルTa1から未使用の最小番号のX_IDを選び、選んだX_IDの状態を「使用中」に変更する(ステップS32)。
次に、選んだX_IDをエクスチェンジ発行情報管理部142aに通知する(ステップS33)。以上で処理D−1を終了する。
<処理B−2>
図12は、処理B−2を示すフローチャートである。
コントローラ310aからI/O応答を受け取ると(ステップSb1)、X_ID管理部144aにX_IDの解放を依頼する(ステップSb2)。これにより処理D−2が行われる。
次に、I/O発行要求管理部141aにコントローラ310aからのI/O応答を返す(ステップSb3)。これにより処理A−2が行われる。
<処理D−2>
図13は、処理D−2を示すフローチャートである。
X_ID解放依頼を受け取ると(ステップS81)、受け取った(解放依頼された)X_IDをX_ID管理テーブルTa1から検索し、状態を「未使用」に変更する(ステップS82)。
次に、エクスチェンジ発行情報管理部142aに解放終了を応答する(ステップS83)。以上で処理D−2を終了する。
<処理A−2>
図14は、処理A−2を示すフローチャートである。
エクスチェンジ発行情報管理部142aからI/O発行依頼のエラー応答を受け取ると(ステップS101)、エクスチェンジ発行情報管理部142aからの応答を上位に返す(ステップS102)。
次に、I/O発行要求の管理情報を削除する(ステップS103)。以上で処理A−2を終了する。
(β)上位からのI/O abort要求に対する処理
この場合、図7に示すように、I/O発行要求管理部141aが処理A−3を行い、FC接続管理部143aが処理C−2、処理C−3を行う。これにより、閉塞対象のアダプタポートを所定時間閉塞する。また、処理A−3に伴いエクスチェンジ発行情報管理部142aが処理B−3を行い、X_ID管理部144aが処理D−2を行う。
<処理A−3>
図15は、処理A−3を示すフローチャートである。
上位よりI/O abortを受信すると(ステップS41)、FCアダプタ108aにおける閉塞対象のアダプタポートを決定する(ステップS42)。
次に、FC接続管理部143aに閉塞対象のアダプタポートの閉塞を依頼する(ステップS43)。これにより処理C−2が行われる。
次に、閉塞対象のアダプタポートを通して発行中の全てのI/Oを、上位にエラー応答する(ステップS44)。
次に、閉塞対象のアダプタポートを通して発行中の全てのI/OのI/O発行要求の管理情報を削除する(ステップS45)。
次に、エクスチェンジ発行情報管理部142aに、閉塞対象のアダプタポートを通して発行中の全てのI/Oの削除を依頼する(ステップS46)。これにより処理B−3が行われる。以上で処理A−3を終了する。
<処理C−2>
図16は、処理C−2を示すフローチャートである。
FC接続管理部143aは、アダプタポートの閉塞依頼を受け取ると(ステップS51)、接続可能ターゲットリストから、その閉塞対象のアダプタポートを通して接続しているコントローラ310aを削除する(ステップS52)。なお、本実施の形態では、コントローラ310aのみであるが、複数のコントローラが存在する場合、閉塞対象のアダプタポートを介して接続しているコントローラを全て削除する。
次に、FCアダプタ108a(のchip)に動作停止を指示する(ステップS53)。
次に、閉塞対象のアダプタポートの閉塞を依頼する(ステップS54)。これにより処理C−3が行われる。以上で処理C−2を終了する。
<処理C−3>
図17は、処理C−3を示すフローチャートである。
閉塞対象のアダプタポートの閉塞依頼を受け取ると(ステップS61)、一定時間待機(アダプタポート停止)する(ステップS62)。この待機時間は、特に限定されないが、一例として180秒程度である。
FCアダプタ108a(のchip)を再起動(reset)してアダプタポートを動作状態に戻す(ステップS63)。以上で処理C−3を終了する。
<処理B−3>
図18は、処理B−3を示すフローチャートである。
I/O発行要求管理部141aからI/O削除依頼を受け取ると(ステップS71)、X_ID管理部144aにX_IDの解放を依頼する(ステップS72)。これにより、処理D−2が行われる。
次に、削除依頼を受けたI/Oの管理情報を削除する(ステップS73)。以上で処理B−3を終了する。
(γ)上位からの再I/O発行要求に対する処理
この場合、図7に示すように、I/O発行要求管理部141aが処理A−1、処理A−2を行い、エクスチェンジ発行情報管理部142aが処理B−1を行い、FC接続管理部143aが処理C−1を行う。これにより、閉塞対象のアダプタポートに対するI/O発行要求の場合はエラー通知を応答する。
処理A−1、処理A−2、処理B−1については前述した処理を行う。
<処理C−1>
図19は、処理C−1を示すフローチャートである。
コントローラ310aへの接続依頼を受け取ると(ステップS91)、コントローラ310aが接続可能ターゲットリストに存在するか否かを判断する(ステップS92)。
コントローラ310aが接続可能ターゲットリストに存在する場合(ステップS92のYes)、後述するステップS97に移行する。
一方、コントローラ310aが接続可能ターゲットリストに存在しない場合(ステップS92のNo)、コントローラ310aにLOGINを発行する(ステップS93)。
次に、コントローラ310aとFC接続できるか否かを判断する(ステップS94)。
コントローラ310aにFC接続できる場合(ステップS94のYes)、コントローラ310aから接続準備OKの応答があるか否かを判断する(ステップS95)。
コントローラ310aから接続準備OKの応答があった場合(ステップS95のYes)、接続可能ターゲットリストにコントローラ310aを追加する(ステップS96)。
次に、要求元(エクスチェンジ発行情報管理部142a)に、接続可能を返答する(ステップS97)。以上で処理C−1を終了する。
一方、コントローラ310aにFC接続できない場合(ステップS96のNo)および所定時間経過してもコントローラ310aから接続準備OKの応答がない場合(ステップS97のNo)、要求元(エクスチェンジ発行情報管理部142a)に接続不可を返答する(ステップS98)。以上で処理C−1を終了する。
以上述べたように、本実施の形態の通信処理システムによれば、サーバ(通信処理装置)100のI/Oマルチパス制御部120がタイムアウトを検出し、I/O停止要求を発行した場合に、対象となるディスクアレイについての処理を全て閉塞状態にする処理を行うようにしたので、FCドライバ140a、140bからそれぞれ上位のターゲットドライバ130a、130bにエラー通知を即座に返答することができる。よって、I/Oマルチパス制御部120へのエラー通知も短時間で行うことができる。この結果、I/Oマルチパス制御部120が短時間で代替経路(主経路に対する冗長経路、冗長経路に対する主経路)にてI/O発行要求をリトライし正常にデータのI/Oを行うことができるため、アプリケーション110がタイムアウトせず正常な処理を行うことができる。
次に、第2の実施の形態の通信処理システムについて説明する。
以下、第2の実施の形態の通信処理システムについて、前述した第1の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
第2の実施の形態の通信処理システムは、コントローラ(target)310a、310b単位の閉塞を行う点が、FCアダプタ108a、108bのアダプタポート単位の閉塞を行う第1の実施の形態と異なっており、FCドライバ140a、140bの処理が異なっている。
以下、第2の実施の形態の切り替え処理について図20および図21を用いて説明する。
図20は、第2の実施の形態のFCドライバの処理を説明する図であり、図21は、第2の実施の形態のFCドライバの閉塞処理を示すフローチャートである。
まず、ターゲットドライバ130aからのI/O停止要求(abort)があった場合、FCドライバ140aは、閉塞対象のtargetを決定する(ステップS1a)。閉塞対象のtargetは、要求によって異なる。
(1)I/O単位のabortの場合は、そのI/Oの発行対象のtargetを閉塞対象のtargetとする。(2)ディスクアレイ装置単位のabortの場合は、そのtargetを閉塞対象のtargetとする。(3)target単位のabortの場合は、そのtargetを閉塞対象のtargetとする。
次に、閉塞対象のtargetに対して、PORT LOGOUTを発行し、閉塞対象のtargetとの通信を閉塞する(ステップS2a)。
次に、閉塞対象のtargetに対するI/Oを全て無条件にエラーでターゲットドライバ130aに返答し、I/O発行要求の管理(SCSIレベル)情報を削除する(ステップS3a)。
次に、閉塞対象のtargetを対象としたI/Oに関するファイバチャネル通信へのエクスチェンジ発行情報(FC−PH層)を削除する(ステップS4a)。
次に、I/Oマルチパス制御部120の経路切り替え時間を考慮し、一定時間経過(例えば60〜180秒等または手動でコマンドにより解除)させるためのタイマを動作させる(ステップS5a)。タイマ動作中は、ターゲットドライバ130aから閉塞対象のtargetにI/O発行要求があったとしても、閉塞対象のtargetとは通信可能状態にないため、受け付けず即エラーで返答する。また主経路から閉塞対象のtargetからの応答があったとしても受け付けず廃棄する。
次に、タイマ終了時に、target装置へのPORT LOGINを実施し閉塞状態を解除する(ステップS6a)。
次に、第2の実施の形態の上位からの要求に応じた処理について説明する。
図22は、第2の実施の形態のFCドライバの処理を示すシーケンス図である。
(α)上位からのI/O発行要求に対する処理
この場合、図22に示すように、I/O発行要求管理部141aが処理a−1を行い、エクスチェンジ発行情報管理部142aが処理b−1を行い、X_ID管理部144aが処理d−1を行う。これによりコントローラ310aにI/Oを発行する。また、コントローラ310aからI/O応答があった場合は、エクスチェンジ発行情報管理部142aが処理b−2を行い、I/O発行要求管理部141aが処理a−2を行い、X_ID管理部144aが処理d−2を行う。これにより上位に応答を返す。
<処理a−1> 第1の実施の形態の処理A−1と同様の処理を行う。
<処理b−1> 第1の実施の形態の処理B−1と同様の処理を行う。
<処理d−1> 第1の実施の形態の処理D−1と同様の処理を行う。
<処理b−2> 第1の実施の形態の処理B−2と同様の処理を行う。
<処理a−2> 第1の実施の形態の処理A−2と同様の処理を行う。
<処理d−2> 第1の実施の形態の処理D−2と同様の処理を行う。
(β)上位からのI/O abort要求に対する処理
この場合、図22に示すように、I/O発行要求管理部141aが処理a−3を行い、FC接続管理部143aが処理c−2、処理c−3を行う。これにより、閉塞対象のtargetを所定時間閉塞する。また、処理a−3に伴い、エクスチェンジ発行情報管理部142aが処理b−3を行い、X_ID管理部144aが処理d−2を行う。
また、第2の実施の形態のFC接続管理部143aは、閉塞したtargetに関する情報を有する閉塞リストを有している。FC接続管理部143aは、閉塞リストに追加された閉塞対象のtargetにI/O発行要求があった場合、閉塞対象のtargetとは通信可能状態にないものとみなし、受け付けず即エラーで返答する。また主経路から閉塞対象のtargetからの応答があったとしても受け付けず廃棄する。
<処理a−3>
図23は、処理a−3を示すフローチャートである。
上位よりI/O abortを受け取ると(ステップS41a)、閉塞対象のtargetを決定する(ステップS42a)。
次に、閉塞対象のtargetが閉塞リストに存在するか否かを判断する(ステップS43a)。
閉塞対象のtargetが閉塞リストに存在しない場合(ステップS43aのNo)、FC接続管理部143aに閉塞対象のtargetへのPORT LOGOUTの発行を依頼する(ステップS44a)。これにより処理c−2が行われる。その後、ステップS45aに移行する。
一方、閉塞対象のtargetが閉塞リストに存在する場合(ステップS43aのYes)、そのままステップS45aに移行する。
次に、閉塞対象のtargetに発行中の全てのI/Oを、上位にエラー応答する(ステップS45a)。
次に、閉塞対象のtargetに発行中の全てのI/OのI/O発行要求の管理情報を削除する(ステップS46a)。
次に、エクスチェンジ発行情報管理部142aに、閉塞対象のtargetに発行中の全てのI/Oの削除を依頼する(ステップS47a)。これにより処理b−3が行われる。以上で処理a−3を終了する。
<処理b−3> 第1の実施の形態の処理B−3と同様の処理を行う。
<処理c−2>
図24は、処理c−2を示すフローチャートである。
PORT LOGOUTの発行依頼を受け取ると(ステップS51a)、接続可能ターゲットリストから閉塞対象のtargetを削除する(ステップS52a)。
次に、PORT LOGOUTを閉塞対象のtargetに発行する(ステップS53a)。
次に、閉塞対象のtargetの閉塞を依頼する(ステップS54a)。これにより処理c−3が行われる。以上で処理c−2を終了する。
<処理c−3>
図25は、処理c−3を示すフローチャートである。
閉塞対象のtargetの閉塞依頼を受け取ると(ステップS61a)、閉塞依頼のあったtargetを閉塞リストに追加する(ステップS62a)。
次に、一定時間待機する(ステップS63a)。この待機時間は、特に限定されないが、一例として180秒程度である。
次に、閉塞依頼のあったtargetを閉塞リストから削除する(ステップS64a)。以上で処理c−3を終了する。
<処理d−2> 第1の実施の形態の処理D−2と同様の処理を行う。
(γ)上位からの再I/O発行要求に対する処理
この場合、図22に示すように、I/O発行要求管理部141aが処理a−1、処理a−2を行い、エクスチェンジ発行情報管理部142aが処理b−1を行い、FC接続管理部143aが処理c−1を行う。これにより、閉塞対象のtargetに対するI/O発行要求の場合はエラー通知を応答する。
<処理a−1> 第1の実施の形態の処理A−1と同様の処理を行う。
<処理a−2> 第1の実施の形態の処理A−2と同様の処理を行う。
<処理b−1> 第1の実施の形態の処理B−1と同様の処理を行う。
<処理c−1>
図26は、処理c−1を示すフローチャートである。
まず、閉塞対象のtargetへの接続要求を受け取ると(ステップS91a)、閉塞対象のtargetが接続可能ターゲットリストに存在するか否かを判断する(ステップS92a)。
閉塞対象のtargetが接続可能ターゲットリストに存在する場合(ステップS92aのYes)、後述するステップS99aに移行する。
一方、閉塞対象のtargetが接続可能ターゲットリストに存在しない場合(ステップS92aのNo)、閉塞対象のtargetが閉塞リストに存在するか否かを判断する(ステップS93a)。
閉塞対象のtargetが閉塞リストに存在しない場合(ステップS93aのNo)、エクスチェンジ発行情報管理部142aに接続不可を返答し(ステップS94a)、処理c−1を終了する。
一方、閉塞対象のtargetが閉塞リストに存在する場合(ステップS93aのYes)、閉塞対象のtargetにLOGINを発行する(ステップS95a)。
次に、ディスクアレイ装置300とFC接続できるか否かを判断する(ステップS96a)。
ディスクアレイ装置300とFC接続できない場合(ステップS96aのNo)、ステップS94aに移行する。
一方、ディスクアレイ装置300とFC接続できる場合(ステップS96aのYes)、ディスクアレイ装置300から接続準備OKの応答があるか否かを判断する(ステップS97a)。
所定時間経過しても接続準備OKの応答がない場合(ステップS97aのNo)、ステップS94aに移行する。
一方、接続準備OKの応答があった場合(ステップS97aのYes)、接続可能ターゲットリストに閉塞対象のtargetを追加する(ステップS98a)。
次に、要求元(エクスチェンジ発行情報管理部142a)に、接続可能を返答する(ステップS99)。以上で処理c−1を終了する。
この第2の実施形態の通信システムによれば、第1の実施の形態の通信システムと同様の効果が得られる。
そして、第2の実施形態の通信システムによれば、target単位の閉塞を行うため、より自由度の高い制御をすることができる。
以上、本発明の通信処理プログラムおよび通信処理方法を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって(コンピュータに所定の通信処理プログラムを実行させることにより)実現することができる。その場合、サーバ100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
通信処理プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 コンピュータ(サーバ)
2、108a、108b ファイバチャネル(FC)アダプタ
3、300 ディスクアレイ装置
4a、4b 経路
5 経路制御手段
6、130a、130b ターゲットドライバ
7、140a、140b ファイバチャネル(FC)ドライバ
100 サーバ
110 アプリケーション
120 I/Oマルチパス制御部
141a I/O発行要求管理部
142a エクスチェンジ発行情報管理部
143a FC接続管理部
144a X_ID管理部
200a、200b スイッチ
301 ディスクアレイ
310、310b コントローラ

Claims (4)

  1. 通信手段を介してディスクアレイ装置に複数の経路で接続された情報処理装置の通信を制御する通信処理プログラムにおいて、
    前記情報処理装置に、
    前記複数の経路のいずれかにおける経路接続のタイムアウトが検出されると、前記ディスクアレイ装置へのI/O停止要求を発行し、前記I/O停止要求を発行した場合に、前記ディスクアレイ装置についての処理を閉塞状態にすることにより前記ディスクアレイ装置からの応答を無視するとともに、前記ディスクアレイ装置に接続されている閉塞対象のポートにリンクダウン指示を出し、前記ディスクアレイ装置に接続されている経路を強制的にダウンさせ、前記複数の経路を制御する経路制御手段にエラー通知を行って、経路の切り替えを行わせる処理を実行させることを特徴とする通信処理プログラム。
  2. 前記閉塞状態において、前記ディスクアレイ装置に発行中の全てのI/Oを削除することを特徴とする請求項1記載の通信処理プログラム。
  3. 前記I/O停止要求を発行した場合に、発行中の各I/Oをそれぞれ管理している各IDの管理状態を解除することを特徴とする請求項1記載の通信処理プログラム。
  4. 通信手段を介してディスクアレイ装置に複数の経路で接続された情報処理装置の通信を制御する通信処理方法において、
    前記情報処理装置が、
    前記複数の経路のいずれかにおける経路接続のタイムアウトが検出されると、前記ディスクアレイ装置へのI/O停止要求を発行し、前記I/O停止要求を発行した場合に、前記ディスクアレイ装置についての処理を閉塞状態にすることにより前記ディスクアレイ装置からの応答を無視するとともに、前記ディスクアレイ装置に接続されている閉塞対象のポートにリンクダウン指示を出し、前記ディスクアレイ装置に接続されている経路を強制的にダウンさせ、前記複数の経路を制御する経路制御手段にエラー通知を行って、経路の切り替えを行わせる、
    ことを特徴とする通信処理方法。
JP2008550017A 2006-12-20 2006-12-20 通信処理プログラムおよび通信処理方法 Expired - Fee Related JP5077240B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/325429 WO2008075425A1 (ja) 2006-12-20 2006-12-20 通信処理プログラム、通信処理方法および通信処理装置

Publications (2)

Publication Number Publication Date
JPWO2008075425A1 JPWO2008075425A1 (ja) 2010-04-02
JP5077240B2 true JP5077240B2 (ja) 2012-11-21

Family

ID=39536064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008550017A Expired - Fee Related JP5077240B2 (ja) 2006-12-20 2006-12-20 通信処理プログラムおよび通信処理方法

Country Status (6)

Country Link
US (1) US8478935B2 (ja)
EP (1) EP2071469B1 (ja)
JP (1) JP5077240B2 (ja)
KR (1) KR101338595B1 (ja)
CN (1) CN101529402B (ja)
WO (1) WO2008075425A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5387028B2 (ja) * 2009-02-13 2014-01-15 日本精工株式会社 車両用制御装置
US8255596B2 (en) * 2009-06-10 2012-08-28 International Business Machines Corporation Multipath-based migration of data across storage controllers
US8417849B2 (en) * 2009-10-07 2013-04-09 International Business Machines Corporation Apparatus and method to adjust a multi-path device reservation
JP5678723B2 (ja) * 2011-02-28 2015-03-04 富士通株式会社 スイッチ、情報処理装置および情報処理システム
JP5422611B2 (ja) * 2011-06-24 2014-02-19 株式会社日立製作所 計算機システム、ホストバスアダプタ制御方法及びそのプログラム
US9792076B2 (en) * 2011-12-23 2017-10-17 Cirrus Data Solutions, Inc. Systems, devices, apparatus, and methods for transparently inserting a virtual storage layer in a fibre channel based storage area network while maintaining continuous input/output operations
JP5923976B2 (ja) * 2011-12-27 2016-05-25 富士通株式会社 接続装置、ストレージ装置、接続装置における処理方法、および処理プログラム
US9451024B2 (en) * 2013-03-15 2016-09-20 Futurewei Technologies, Inc. Self-organizing disk (SoD)
CN103354523B (zh) * 2013-06-21 2017-07-07 新华三技术有限公司 一种交换机及无损切换方法
US9645872B1 (en) * 2015-03-27 2017-05-09 EMC IP Holding Company LLC Method to use multipath to reduce IO error handle duration
WO2016189636A1 (ja) * 2015-05-25 2016-12-01 株式会社日立製作所 計算機システム
JP6809063B2 (ja) * 2016-09-09 2021-01-06 富士通株式会社 アクセス制御装置、アクセス制御方法、およびアクセス制御プログラム
CN109445680B (zh) * 2018-08-20 2020-03-31 华为技术有限公司 一种对硬盘进行管理的方法及装置
CN116701024A (zh) * 2022-02-25 2023-09-05 戴尔产品有限公司 用于访问存储设备的方法、电子设备和计算机程序产品
JP7409700B2 (ja) 2022-03-03 2024-01-09 Necプラットフォームズ株式会社 ストレージシステム、サーバ、パス切替方法、およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132413A (ja) * 1998-10-22 2000-05-12 Nec Corp エラーリトライ方法、エラーリトライシステム及びその記録媒体
JP2000284982A (ja) * 1999-03-30 2000-10-13 Toshiba Corp アクセス制御装置及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2001005744A (ja) * 1999-06-18 2001-01-12 Hitachi Ltd チャネル装置
JP2003131897A (ja) * 2001-10-24 2003-05-09 Hitachi Ltd ポートを内蔵したストレージ
JP2005208971A (ja) * 2004-01-23 2005-08-04 Nec Corp コンピュータシステムおよびi/oリトライ方法ならびにプログラム
JP2006309506A (ja) * 2005-04-28 2006-11-09 Fujitsu Ltd リモートコピー処理方法、プログラム及び装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3493035B2 (ja) 1992-09-25 2004-02-03 富士通株式会社 動的パス切替方法
JP3582970B2 (ja) * 1997-11-04 2004-10-27 富士通株式会社 アダプタ、及びアダプタとディスクカートリッジ駆動装置との間の通信方法
WO2002084471A1 (en) 2001-04-13 2002-10-24 Sun Microsystems, Inc. Virtual host controller interface with multipath input/output
US7702786B2 (en) * 2002-08-09 2010-04-20 International Business Machines Corporation Taking a resource offline in a storage network
JP4012498B2 (ja) * 2003-11-18 2007-11-21 株式会社日立製作所 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP2006107151A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd ストレージシステム及びストレージシステムの通信パス制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132413A (ja) * 1998-10-22 2000-05-12 Nec Corp エラーリトライ方法、エラーリトライシステム及びその記録媒体
JP2000284982A (ja) * 1999-03-30 2000-10-13 Toshiba Corp アクセス制御装置及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2001005744A (ja) * 1999-06-18 2001-01-12 Hitachi Ltd チャネル装置
JP2003131897A (ja) * 2001-10-24 2003-05-09 Hitachi Ltd ポートを内蔵したストレージ
JP2005208971A (ja) * 2004-01-23 2005-08-04 Nec Corp コンピュータシステムおよびi/oリトライ方法ならびにプログラム
JP2006309506A (ja) * 2005-04-28 2006-11-09 Fujitsu Ltd リモートコピー処理方法、プログラム及び装置

Also Published As

Publication number Publication date
KR101338595B1 (ko) 2013-12-06
EP2071469A4 (en) 2011-03-09
KR20090055036A (ko) 2009-06-01
EP2071469A1 (en) 2009-06-17
US8478935B2 (en) 2013-07-02
US20090187708A1 (en) 2009-07-23
JPWO2008075425A1 (ja) 2010-04-02
WO2008075425A1 (ja) 2008-06-26
CN101529402A (zh) 2009-09-09
EP2071469B1 (en) 2012-05-16
CN101529402B (zh) 2012-02-08

Similar Documents

Publication Publication Date Title
JP5077240B2 (ja) 通信処理プログラムおよび通信処理方法
EP2068247B1 (en) Storage system and storage medium storing corresponding storage management program
US7111084B2 (en) Data storage network with host transparent failover controlled by host bus adapter
US7194662B2 (en) Method, apparatus and program storage device for providing data path optimization
TWI403891B (zh) 直接附加儲存系統之主動-主動失效切換
JP6237406B2 (ja) 情報処理装置、ストレージシステム、およびプログラム
JP4786255B2 (ja) ストレージシステム及び記憶制御方法
JP5923976B2 (ja) 接続装置、ストレージ装置、接続装置における処理方法、および処理プログラム
JP2008299481A (ja) ストレージシステム及び複数拠点間でのデータコピー方法
JP5327036B2 (ja) 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム
JP2011081706A (ja) 処理方法,ストレージシステム,情報処理装置およびプログラム
JP2007042008A (ja) 記憶制御方法及び記憶制御システム
JP2014071576A (ja) ストレージ制御装置,プログラマブル論理回路の復旧処理方法及び制御プログラム
WO2012176278A1 (ja) 情報処理装置、仮想マシン制御方法およびプログラム
US20120047327A1 (en) Disk array device and control method for the same
JP6680030B2 (ja) 制御プログラム、制御方法、および制御装置
JP2006313410A (ja) ストレージネットワークの管理情報管理方法、ストレージ管理システム及びストレージ管理ソフトウェア
JP2014215666A (ja) 制御システム,制御装置及び制御プログラム
JP2013196336A (ja) 制御装置、ストレージ装置、ストレージ装置の試験方法及びストレージ装置の試験プログラム
US10642705B2 (en) Storage system and storage method
US9542348B2 (en) Arbitration monitoring for serial attached small computer system interface systems during discovery
JP5928581B2 (ja) ネットワークシステム,保守作業管理方法及びプログラム
JP2015158702A (ja) ストレージシステム、制御装置及び制御プログラム
JP2016143249A (ja) ストレージシステム及びストレージ制御プログラム
JP2021002125A (ja) 管理装置,情報処理システムおよび管理プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120612

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120619

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: 20120731

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: 20120813

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees