JP4617847B2 - 情報処理システム及びアクセス方法 - Google Patents

情報処理システム及びアクセス方法 Download PDF

Info

Publication number
JP4617847B2
JP4617847B2 JP2004338353A JP2004338353A JP4617847B2 JP 4617847 B2 JP4617847 B2 JP 4617847B2 JP 2004338353 A JP2004338353 A JP 2004338353A JP 2004338353 A JP2004338353 A JP 2004338353A JP 4617847 B2 JP4617847 B2 JP 4617847B2
Authority
JP
Japan
Prior art keywords
access
path
failure
information
information processing
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
JP2004338353A
Other languages
English (en)
Other versions
JP2006154880A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004338353A priority Critical patent/JP4617847B2/ja
Priority to US11/042,183 priority patent/US7577158B2/en
Priority to EP07014326A priority patent/EP1845451B1/en
Priority to EP05256812A priority patent/EP1655666B1/en
Priority to DE602005002713T priority patent/DE602005002713T2/de
Publication of JP2006154880A publication Critical patent/JP2006154880A/ja
Priority to US12/496,678 priority patent/US8036238B2/en
Application granted granted Critical
Publication of JP4617847B2 publication Critical patent/JP4617847B2/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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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
    • G06F11/201Error 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 between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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
    • 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/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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理システム及びアクセス方法に関し、特に障害の検出に関する。
近年、情報処理システムで取り扱われるデータ量が増大している。大容量化した記憶装置では、記憶容量に見合うだけの入出力性能と信頼性を確保する必要がある。そのため記憶装置への論理パス(入出力経路)を多重化し、記憶装置へのデータ入出力要求(IO要求)を論理パスに割当てるものが開発されている。
このような技術に関するものとして、コンピュータとストレージ装置を複数のパスで接続されたシステムで信頼性を向上させるために、それぞれのパスに対するIO要求数からそれぞれのパスに対する障害の可能性を求め、障害の可能性が小さいパスを選択するものがある(例えば、特許文献1。)。
USP6802021
障害の発生あるいは障害の発生の可能性に従って、複数のパスのいずれかを選択する構成とすることで、信頼性を向上させることができる。
しかしながら、障害の発生したパスを除いたパスにIO要求を割当てたり、障害の発生の可能性が低いパスにIO要求を割当てて信頼性を向上させたとしても、そのパスにIO要求が集中することになるので、スループットが低下してしまう。
コンピュータなどの情報処理装置とストレージ装置が多数のパスで接続された構成をとるシステムにおいて、ストレージ装置へのデータの格納方法は、様々な方法がある。例えば、重要なデータに対しては、2重にデータを格納するデータのミラーリングが行われる。更に、データのミラーリングを行う場合でも、ストレージ装置でミラーリングを制御する方法や、情報処理装置でミラーリングを制御する方法がある。
このように、一つのシステムに対していろいろな実現方法が存在する。
本発明はこのような中で、情報処理装置でミラーリングを制御する構成において、IO要求のスループットをより向上させることを目的とする。
そのために、情報処理装置とストレージ装置に設定された複数の論理ユニット(記憶領域)とが複数の論理的なパス(アクセス経路)で接続されたシステムにおいて、情報処理装置から複数の論理ユニットに対してデータの書き込み要求を発行するようにし、パスの状態に応じて読出し要求の対象となる論理ユニットを選択するようにしている。
また、情報処理装置とストレージ装置に設定された複数の論理ユニット(記憶領域)とが、複数の論理的なパス(アクセス経路)で接続されたシステムにおいて、論理的なパスに障害が発生したのを検知すると、障害が発生した論理的なパスの一部を共有する他の論理的なパスを特定し、障害が発生した論理的なパス及び特定された論理的なパス以外のパスにIO要求を割当てるようにしている。
本発明によると、アクセス要求に対するスループットを向上させることができる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、情報処理システムの構成の一例を示すブロック図である。
情報処理システムは、情報処理装置100、ストレージ装置120とを備える。なお、情報処理システムは、2つ以上の情報処理装置を備えるものであってもよい。
情報処理装置100には、SAN(Storage Area Network)110を介してストレージ装置120が接続されている。情報処理装置100とストレージ装置120との間のSANを介する通信は、一般にファイバチャネルプロトコル(Fiber Channel Protocol)に従って行われる。なお、情報処理装置100とストレージ装置200とは、必ずしもSANで接続する必要はなく、LAN等のネットワークを介して接続されてもよいし、SCSI(Small Computer System Interface)によって直接接続されてもよい。
情報処理装置100は、CPUやメモリ等を備えたコンピュータ(パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等)であり、各種アプリケーションプログラムを実行する。情報処理装置100は、アプリケーション101、論理ユニット管理部102、パス管理部103、ホストバスアダプタ(HBA)104等を備えている。
HBA104は、例えばSCSI(Small Computer System Interface)アダプタ、ファイバチャネルアダプタ等のHBA(Host Bus Adapter)である。HBA104は、情報処理装置100に一つ又は複数個設けられ、SAN110を介してストレージ装置120と通信する。図1の例では、情報処理装置100に4つのHBA104が設けられている。ここで、HBA1、HBA2、HBA3、HBA4は、それぞれ、HBA識別子(HBA−ID)が「1」、「2」、「3」、「4」のHBA104である。情報処理装置100は、いずれのHBA104を使用してもストレージ装置120と通信することができる。
ストレージ装置120は、例えば、複数のディスクドライブ及びそれらを制御するコントローラ(図示省略)等を備えたディスクアレイ装置である。ストレージ装置120には、一つ以上の論理ユニット(LU)121が設定される。
論理ユニット121は、情報処理装置100が一つのディスクドライブとして認識する単位である。論理ユニット121は、論理的には一つのディスクドライブであるが、物理的には、一つのディスクドライブの一部の領域又は複数のディスクドライブの一部若しくは全部の領域であってよい。図1の例では、ストレージ装置A120aに3つの論理ユニット121、ストレージ装置B120bに2つの論理ユニット121が設定されている。ここで、ストレージ装置A120のLU1からLU3は、それぞれ、LU識別子(LU−ID)が「0101」から「0103」の論理ユニット121である。また、ストレージ装置B120bのLU1からLU2は、それぞれ、LU識別子(LU−ID)が「0201」、「0202」の論理ユニット121である。
ストレージ装置120は、さらに、一つ以上のアダプタ(ADP)122を備える。ADP122は、SAN110を介して情報処理装置100と通信する。図1の例では、ストレージ装置120に、それぞれ2つのADP122が設けられている。ここで、ストレージ装置A120aのADP1、ADP2は、それぞれ、ADP識別子(ADP−ID)が「0101」、「0102」のADP122である。また、ストレージ装置B120bのADP1、ADP2は、それぞれ、ADP識別子(ADP−ID)が「0201」、「0202」のADP122である。ストレージ装置120は、いずれのADP122を使用しても情報処理装置100と通信することができる。
ADP122は、通常、キャッシュメモリ(図示省略)を備える。ADP122は、情報処理装置100からデータの読み出し要求を受けたとき、その読み出し要求の対象のデータがキャッシュメモリ内に存在すれば、論理ユニット121へアクセスせず、キャッシュメモリ内のデータを情報処理装置100へ返送する。その結果、論理ユニット121へのアクセス(すなわち、論理ユニット121を構成するディスクドライブへのアクセス)が省略され、アクセス速度が向上する。なお、同様のキャッシュメモリがHBA104に設けられていてもよい。
各HBA104は、いずれのADP122とも通信することができる。同様に、各ADP122は、いずれのHBA104とも通信することができる。
ここで、パスとは、情報処理装置100から論理ユニット121までの通信経路又はデータアクセス経路である。図1の例では、4つのHBA104と、1つのストレージ装置に2つのADP122があるため、情報処理装置100からストレージ装置A120aの1つの論理ユニット121に至るパスは、8通り存在する。パスは、パスIDによって識別される。パスIDは、経由するHBA104、ADP122及びLU121の識別子(HBA−ID、ADP−ID、LU−ID)によって定められる。例えば、HBA1及びストレージ装置AのADP1を経由してLU2に至るパスのパスIDは、「101010102」である。
ストレージ装置120に記憶されているデータへの、情報処理装置100からのアクセスは、例えば、データ書き込み要求又はデータ読み出し要求等のIO要求によって行われる。このIO要求は、様々なアプリケーション101により発行される。アプリケーション101から発行されるIO要求には、ヘッダ、記憶装置、LU管理ID、アドレスなどが指定されている。ヘッダには、IO要求を送信する情報処理装置100の識別子が記録されている。記憶装置には、IO要求の処理対象となるストレージ装置の識別子が記録されている。LU管理IDは、後述するように論理ユニット管理部102で論理ユニットを管理するために設定された識別子であり、LU管理IDには、この識別子が記録されている。アドレスには、データの読み出し又は書き込み等の開始位置(先頭アドレス)が記録されている。なお、IO要求がデータの書き込み要求である場合には、IO要求に書き込まれるデータが付加される。
論理ユニット管理部102は、情報処理装置100がアクセスできる論理ユニットをLU管理IDで管理している。これにより、2つの論理ユニットに同じLU管理IDを割当てることで、2つの論理ユニットでペアを構成することができる。
論理ユニット管理部102は、IO要求を受け取ると、LU管理IDから特定される論理ユニットのLU−IDに更新したIO要求を発行する。つまり、IO要求(ヘッダ、記憶装置、LU管理ID、アドレス、…)をIO要求(ヘッダ、記憶装置、LU―ID、アドレス、…)に更新する。IO要求が書き込み要求であり、LU管理IDから特定される論理ユニットが2つある場合は、論理ユニット管理部102でそれぞれの論理ユニットに対するIO要求が生成される。これにより、2つの論理ユニットに同じデータが書き込まれ、データのミラーリングが行われる。
一方、IO要求が読み出し要求であり、LU管理IDから特定される論理ユニットが2つあったとしても、いずれか一方の論理ユニットに対するIO要求しか発行されない。論理ユニット管理部102は、ペアを構成する2つの論理ユニットをプライマリ、セカンダリとして管理し、書き込み要求は、プライマリ、セカンダリの論理ユニットに対して発行され、読出し要求はプライマリの論理ユニットに対して発行される。
論理ユニット管理部102から発行されたIO要求は、パス管理部103によって、各パスに分散され(例えば、均等に割当てられ)、ストレージ装置120へ送信される。このように複数のIO要求を並列処理することによって、情報処理システムの性能を向上させることができる。
データのミラーリングが行える情報処理装置100は、ペアを構成する論理ユニットのいずれかのパスの障害を検出すると正常なパスが多い論理ユニットをプライマリに設定する。別の言い方をすると、プライマリの論理ユニットの正常なパスよりも、セカンダリの論理ユニットの正常なパスの方が多い場合に、論理ユニットのプライマリとセカンダリとを切替える。このようにすることで、プライマリの論理ユニットのパスに障害が発生しても新たに割当てるパスが多いので、スループットの低下をより少なくすることができる。
図2は、論理ユニット管理部102、パス管理部103をより詳細に示したものである。
ここで、LU管理テーブル300、パステーブル600、パス障害テーブル900、稼動統計テーブル1100、IOテーブル1200は、情報処理装置100のメモリに格納されているテーブルである。図2では、どのように管理されているかを示すために、これらのテーブルを図示している。
論理ユニット管理部102は、LU管理テーブル300(図3)を管理している。アプリケーション101からIO要求を受けた論理ユニット管理部102は、IO要求に含まれるLU管理IDでLU管理テーブル300を検索し、アクセス要求の対象となる論理ユニット121を特定する。LU管理テーブル300は、論理ユニット121のLU−IDが登録され、ペアを構成している場合には、論理ユニット121がプライマリであるか、セカンダリであるかが設定されている。
IO要求の対象となる論理ユニットがペアを構成している場合、論理ユニット管理部102は書き込み要求であれば、プライマリ・セカンダリそれぞれの論理ユニットに対するIO要求を生成し、読み出し要求であればプライマリの論理ユニットに対するIO要求を生成する。
論理ユニット切替部211は、パス管理部103から論理ユニット121に対する可用性情報を受け取って、ペアを構成する論理ユニットにプライマリ、セカンダリを設定する。これについては、後述する。
パス管理部103のIO要求受付部221は、論理ユニット管理部102によって発行されるIO要求を受け取る。IO終了通知部222は、IO要求受付部221が論理ユニット管理部102から受け取ったIO要求に対する処理が終了したIO終了情報あるいは可用性情報を論理ユニット管理部102へ送る。
IO割当部223は、IO要求受付部221から受け取ったIO要求を適切なパスに割当てる。IO割当部223は、IO要求を受け取ると、パステーブル600(図6)からIO要求の対象となっている論理ユニットに対する正常なパス(パス障害情報が「0」のパス)を抽出する。尚、パステーブル600は、HBA104から論理ユニット121に至る全てのパス情報が登録されている。
IO割当部223は、負荷分散機能によって、IO要求を各パスに均等に分散させるように、選択された正常なパスの中から割当てるパスを決定し、IO要求を割当てる。例えば、IO要求を処理していないパス、又はIO要求の処理が終了しているパスに割当てる。
IO割当部223は、割当てたパスに対するIO要求が正常に終了したIO終了情報を受け取ると、IO終了通知部222へ送る。なお、IO要求が正常に終了しなかった場合(障害検出部224で障害が検出された場合)、IO割当部223はパステーブル600から正常なパスを抽出し、負荷分散機能によって、IO要求をパスに割当てる。
また、IO割当部223は、障害検出部224及び障害回復検出部225を備えており、これらによってストレージ装置に対するパス状態の変更を検出するパス状態確認機能を実現している。具体的には、障害検出部224は、ユーザがパスをoffline状態(パスに障害が発生し、IO要求が正常に処理できない閉塞状態)にする操作をした、又は、IO要求の処理中にパスの障害を検出した場合に、パスの状態が変更されたものとしてパスIDを含む障害情報をパス情報管理部226に通知する。また、障害回復検出部225は、パスの障害の回復を検出して、障害回復情報をパス情報管理部226に通知する。具体的には、障害検出部224によって障害が検出されたパスに対して、障害回復検出部225は、一定期間毎にIO処理を行い、正常に処理できたか否かで、障害が回復しているかを確認する。正常に処理できた場合には、障害回復検出部225は、パスIDを含む障害回復情報をパス情報管理部226に通知する。
パス情報管理部226は、障害情報又は障害回復情報を受け取ると、パステーブル600を更新する。具体的には、障害情報を受け取った場合には、障害情報に含まれるパスIDから当該パスIDに対するパス障害情報に「1」を設定し、障害回復情報を受け取った場合には、障害回復情報に含まれるパスIDから当該パスIDに対するパス障害情報に「0」を設定する。
次に、パス情報管理部226は、パステーブル600を参照して、パス障害情報が変更された論理ユニットに対する正常なパスの数を求めて、LU−IDとこのLU−IDに対する正常なパスの数を含む可用性情報をIO終了通知部222へ送る。
IO終了通知部222は、IO割当部223から送られてきたアクセス終了情報、またはパス情報管理部226から送られてきた可用性情報を、論理ユニット切替部211へ送る。
論理ユニット管理部102の論理ユニット切替部211は、LU管理テーブル300を検索し、可用性情報に含まれるLU−IDからペアを構成する論理ユニットであるか判定する。可用性情報に含まれるLU−IDによって特定される論理ユニットが、ペアを構成する論理ユニットの一方である場合には、LU管理テーブル300からペアを構成するそれぞれの論理ユニットの正常なパスの数を比較し、正常なパスの数が多い方の論理ユニットをプライマリの論理ユニットとしてLU管理テーブル300に登録(更新)する。また、正常なパスの数が少ない方の論理ユニットをセカンダリの論理ユニットとしてLU管理テーブル300に登録(更新)する。可用性情報は、障害を検出した場合、障害が回復した場合にパス管理部103から発行されるので、論理ユニット切替部211は、障害の発生又は障害の回復のたびにペアを構成する論理ユニット間でプライマリ・セカンダリの切替が行われる。
プライマリの論理ユニットはセカンダリの論理ユニットに比べてアクセス頻度が高くなるので、割当て可能なパスが多い方をプライマリの論理ユニットとすることで、論理ユニットへのアクセスができないといったスループットの低下あるいは障害の発生率を低くすることが可能となる。
また、パス管理部103は、ユーザからの指定あるいは所定の周期でパスに発生した過去の障害、アクセス要求によりパスに生じた過去の負荷に基づいて可用性情報を発行することができるようになっている。
IOテーブル1200は、IO割当部223から発行されたIO要求、該IO要求に対する応答、障害検出部224で検出された障害の情報、障害回復検出部225から発行されたIO要求と、該IOに対する応答等が、それぞれ時刻情報と共に登録されている。
障害統計管理部228は、IOテーブル1200に登録されたIO要求、IO要求に対する応答から、どのような障害(瞬断エラー、累積エラー)が発生したかを分析し、パス障害テーブル900(図9)を生成する。
また、稼動統計管理部229は、IOテーブル1200に登録されたIO要求から、IO処理で使用したパスへ送付したデータ量と、当該IO処理に要した時間から稼動統計テーブル1100(図11)を生成する。更に、稼動統計管理部229は、生成された稼動統計テーブル1100を参照し、性能劣化と判定されるパスを性能エラーとしてパス障害テーブル900に登録する。
障害履歴管理部227は、パス障害テーブル900に登録されたエラー情報から、それぞれの論理ユニットに対する安全性を求め、可用性情報としてLU−IDと当該論理ユニットに対する安全性をIO終了通知部222へ送る。なお、安全性については後述する。
論理ユニット切替部211では、IO終了通知部222から送られてきた可用性情報がペアを構成する論理ユニットに関するものである場合に、安全性の高い論理ユニットをプライマリの論理ユニットに設定し、安全性の低い論理ユニットをセカンダリの論理ユニットに設定する。
障害履歴管理部227から送られた可用性情報によって、LU管理テーブル300が更新されているので、障害履歴管理部227は、パス情報管理部226へ初期値を送るよう指示する。これにより、パス情報管理部226はパステーブル600を参照し、初期値として各論理ユニットのLU−IDと、各論理ユニットに対する正常なパスの数を論理ユニット切替部211へ送る。
例えば、アプリケーション101の処理を実行する前に、障害履歴管理部227から各パスの負荷である可用性情報によってプライマリの論理ユニット、セカンダリの論理ユニットを設定しておき、アプリケーション101が処理を開始した後は、パス情報管理部226からの可用性情報によって論理ユニットをプライマリからセカンダリ、あるいはセカンダリかプライマリに切替ながら運用することができるようになる。
図3は、LU管理テーブルの一例を示したものである。
LU管理テーブル300は、情報処理装置100のメモリに格納されるテーブルであり、情報処理装置100が扱うことができる論理ユニット121が定義されている。LU管理ID301は、論理ユニットを管理するための識別子であり、アプリケーション101のIO要求は、このLU管理IDを指定する。LU−ID302、305は、論理ユニットの識別子である。ここで、同一のLU管理IDに対して2つのLU−IDが定義されているものについては、ペア構成または、書き込みのIO要求に対して同一のデータが書き込まれる(ミラーリングされる)論理ユニットであることを意味している。図3でLU管理IDが「1」のものは、LU−IDが「0101」の論理ユニットと、「0201」の論理ユニット、つまりストレージ装置AのLU1とストレージ装置BのLU2がペアを構成するように定義されている。同様に、LU管理IDが「2」のものは、ストレージ装置AのLU2とLU3とがペアを構成するように定義されている。LU管理IDが「3」のものは、一つの論理ユニットが定義されている。図3の例では、一つのLU管理IDに対して2つの論理ユニットが定義できる例しか示されていないが、3つ以上の論理ユニットを定義するようにしてもよい。また、本実施例では、LU−IDが情報処理システムで一意に定まるように定義しているが、ストレージ装置で一意に定まるように定義してもよい。その場合は、異なるストレージ装置間で同一のLU−IDが定義される可能性があるので、LU管理テーブル300は、ストレージ装置の識別子も定義するようにすればよい。LU-ID302、305、P/Sフラグ303、306の初期値はユーザ又は他のプログラムにより設定される。
P/Sフラグ303、306は、LU管理IDに対して2つ以上の論理ユニットが定義されている場合に、それぞれの論理ユニットがプライマリ(P)であるか、セカンダリ(S)であるかを定義するものである。IO要求が書き込みの場合はプライマリ・セカンダリの論理ユニットが対象となり、読出し要求の場合はプライマリの論理ユニットが対象となる。
可用性304、307は、パス管理部103から送られてくる可用性情報に含まれる正常なパスの数、安全性が登録される。通常は、パス情報管理部226から送られてくる正常なパスの数が登録されている。可用性304、307の初期値はパス情報管理部226によって設定される。具体的には、パス管理部103が起動するとパス情報管理部226がパステーブル600を参照し、各LU−IDと、このLU−IDに対する正常なパスの数を初期値として論理ユニット管理部102に送る。論理ユニット管理部102は、送られてきたLU−IDの可用性として正常なパスの数をLU管理テーブル300に登録する。
図4は、論理ユニット管理部102の処理の一例を示したものである。
論理ユニット管理部102がアプリケーション101からIO要求を受け付けると、このIO要求が書き込み要求であるかを判断する(S401)。書き込み要求である場合、LU管理テーブル300を参照し、IO要求に含まれるLU管理IDからLU−IDを読み出し、当該論理ユニットに対するアクセス要求を生成し、発行する(S402)。ここで、論理ユニットがペア構成となっている場合(1つのLU管理IDに対して複数の論理ユニットが定義されている場合)、プライマリの論理ユニット及びセカンダリの論理ユニットに対するIO要求を生成して発行する。
一方、アプリケーション101から受け取ったIO要求が読み出し要求であれば(S401で「N」の場合)、LU管理テーブル300を参照し、IO要求に含まれるLU管理IDからLU−IDを読み出し、当該論理ユニットに対するアクセス要求を生成し発行する(S403)。ここで、論理ユニットがペア構成となっている場合(1つのLU管理IDに対して複数の論理ユニットが定義されている場合)、プライマリの論理ユニットに対するIO要求を生成して発行する。
これによりプライマリの論理ユニットとセカンダリの論理ユニットに同じデータが書き込まれる(ミラーリング)。また、読み出しについてはプライマリの論理ユニットに対して行う構成となっている。
図5は、論理ユニット切替部211の処理の一例を示したものである。
論理ユニット切替部211は、パス管理部103から可用性情報を受け取ると、この情報をLU管理テーブル300に登録する。具体的には、可用性情報に含まれるLU−IDに対応する可用性304又は307に、可用性情報に含まれる正常なパスの数を登録する(S501)。次に、正常なパスの数が登録された論理ユニットがペアを構成するかLU管理テーブル300を参照して、判定する(S502)。ペアを構成していない場合は、処理を終了する。
一方、ペアを構成している場合(S502で「Y」の場合)、ペアを構成している論理ユニットの可用性をLU管理テーブル300から読み込み、プライマリの論理ユニットの可用性とセカンダリの論理ユニットの可用性とを比較する(S504)。具体的には、プライマリの論理ユニットの正常なパスの数とセカンダリの論理ユニットの正常なパスの数とを比較する。そして、セカンダリの論理ユニットの可用性がプライマリの論理ユニットの可用性よりも大きければ(S504で「N」)、プライマリの論理ユニットとセカンダリの論理ユニットとを切替える(S505)。具体的には、可用性が大きいと判断されたLU−IDのP/Sフラグに「P」を、小さいと判断されたLU−IDのP/Sフラグに「S」を設定する。
一方、プライマリの論理ユニットとセカンダリの論理ユニットの可用性が同じ、あるいはプライマリの論理ユニットの可用性の方が大きい場合(S504で「Y」)、論理ユニットのプライマリ、セカンダリの切替を行わずに処理を終了する。
このように、論理ユニット切替部211は、ペアを構成する論理ユニットに対して正常なパスが多い方をプライマリの論理ユニットに、少ない方をセカンダリの論理ユニットに設定する。
なお、1つのLU管理IDに3つ以上の論理ユニットが対応付けされている場合には、ステップ504、505の処理に代えて、可用性が最も大きい論理ユニットをプライマリに設定し、他の論理ユニットをセカンダリに設定する処理を行う。
なお、障害履歴管理部227から送られてくる可用性情報は安全率であるが、これも同様に処理される。つまり、安全率として示される値が大きい方をプライマリの論理ユニット、小さい方をセカンダリの論理ユニットに設定する。
図6は、パステーブルの一例を示したものである。
パステーブル600は、情報処理装置100のメモリに格納されるテーブルであり、図1の情報処理システム(すなわち、情報処理装置100と、これに接続されたストレージ装置120)に存在する全てのパスの状態を示す情報を含む。図6に示されたパステーブル600は、パス管理部103が起動されると、ストレージ装置の管理者あるいは、その他のプログラムによって設定される。例えば、情報処理措置100のHBA104が論理ユニット121を検出し、その検出された論理ユニット121に関する情報を情報処理装置100のオペレーティングシステム(OS)がHBA104から取得してもよい。情報処理装置100は、検出された論理ユニット121に対してSCSIコマンドを使用することによって、パスに関する情報(例えば、どのHBA104及びADP122を経由するかを示す情報)を取得することができる。情報処理装置100は、この情報に基づいてパステーブルを生成する。
また、図6に示したパステーブル600は、図1の情報処理装置100のHBA1、HBA2がストレージ装置A120aに、HBA3、HBA4がストレージ装置B120bに接続されるように構成した場合を示している。なお、HBA1〜HBA4が、ストレージ装置A120a、ストレージ装置B120bに接続されるように構成した場合であっても、HBA1がストレージ装置A120a、HBA2〜HBA4がストレージ装置B120bに接続されるように構成した場合であってもよい。
パステーブル600において、パス番号601は、全てのパスに一意に付与されたパスの番号である。HBA−ID602は、パスが経由するHBA104の識別子(HBA−ID)である。ADP−ID603は、パスが経由するADP122の識別子(ADP−ID)である。LU−ID604は、パスが到達する論理ユニット121の識別子(LU−ID)である。パス障害情報605は、パスに障害が発生しているか否かを示す。パスを構成するHBA104、ADP122、及び論理ユニット121のいずれにも障害が発生していない場合、パス障害情報605の値は「0」に設定される。一方、これらのうちいずれかに障害が発生している場合、パス障害情報605の値は「1」に設定される。
図7は、パス情報管理部226の処理の一例を示したものである。
パス情報管理部226は、障害検出部224から障害情報、または障害回復検出部225から障害回復情報を受けると処理を開始する。
パス情報管理部226は、障害検出部224から障害情報を受け取ると障害情報に含まれるパスIDからパステーブル600のパス障害情報605に「1」を設定する(S701)。次に、障害が発生したパスIDからLU−IDを特定し、このLU−IDに対して正常なパスの数をカウントする(S702)。パス情報管理部226は、LU−IDとカウントした正常なパスの数を可用性情報としてアクセス終了通知部222へ送る(703)。
図6の例では、パス情報管理部226が、障害検出部224からパスID「1」に対する障害情報を受け、パス番号「1」のパス障害情報に「1」を設定した場合を示している。パス情報管理部226は、このパス番号「1」のLU−ID「0101」に対する正常なパスの数をカウントする。この場合、パス番号「2」、「3」、「4」が正常であるため、正常なパスの数は「3」となる。パス情報管理部226は、LU−ID「0101」と正常なパスの数「3」とを可用性情報としてアクセス終了通知部222へ送る。
なお、パス情報管理部226が、障害回復検出部225から障害回復通知を受けた場合は、障害回復情報に含まれるパスIDからパステーブル600のパス障害情報605に「0」を設定する(S701)。以下、障害発生情報を受けた場合と同様に、LU−IDを特定し、このLU−IDに対する正常なパスの数をカウントし(S702)、LU−IDと正常なパスの数とを可用性情報としてIO終了通知部222へ送る(S703)。
このように、パス情報管理部226は、障害の発生、障害の回復によってパスの状態が変更されるたびに、論理ユニットのLU−IDと、このLU−IDに対する正常なパスの数とを可用性情報として発行する。これにより、論理ユニット切替部2111で障害の発生、障害の回復に応じて論理ユニットのプライマリ・セカンダリの切替の判定が行われる。
障害履歴管理部227では、IOテーブル1200に記録された履歴情報から障害の分析(瞬断エラー、累計エラー、性能エラー)を行う。
瞬断エラーは、同一パスで1つのIO要求においてエラーが発生したが、続けて発行されるIO要求は正常に終了した場合に、瞬断エラーと判定される。瞬断エラーは、光ファイバの磨耗や、電源の不安定等の要因によって、伝送経路が不安定となった場合に生じる。
累計エラーは、一定期間内(例えば、1ヶ月)に、所定回数を超えるエラーが発生した場合、累計エラーと判定される。なお、一定期間のエラーの回数によって累計エラーを判定するのではなく、エラーを計数する期間を定めずに、一定回数のエラーが発生したら累計エラーと判断してもよい。また、連続した所定回数のアクセス要求の内でエラーとなった回数が所定の閾値を越えたり、全アクセス要求のうち所定割合のアクセス要求がエラーとなったら累計エラーと判断してもよい。
性能エラーは、このパスが設置された状態と比較して、所定の値だけ性能が劣化した場合に、性能エラーと判定される。後述するように、稼動統計管理部229において、アクセス処理のデータ量と処理時間を取得し、設置当初よりレスポンスが60%劣化した場合に性能エラーと判断する。
図8は、障害統計管理部228の処理の一例を示した図である。
障害統計管理部228はIOテーブルに登録された、それぞれのパスに対して発行されたIO要求の応答(IO終了、障害)を時系列順に読み出し、それぞれのパスに発生した瞬断エラー、累計エラーの発生回数をカウントする。
障害統計管理部228は、IOテーブルからIO要求の応答を読み出す(S801)。
このIO要求の応答が障害であるかを判断する(S802)。障害でない場合(S802で「N」の場合)、累計エラーに関する処理(S803〜S806)を実行することなく、ステップS807へ移行する。一方、障害の場合(S802で「Y」の場合)、累計エラーに関する処理(S803〜S806)を実行する。
累計エラーに関する処理では、まず、パス障害テーブル内の当該パスの累計エラー欄における開始時刻と監視期間を参照して、現在時刻が所定の監視時間範囲内であるかによって、所定の監視時間内に生じた障害であるかを判定する(S803)。その結果、所定の監視時間内に生じた障害であれば、ステップS804に移行し、累積エラーの検出値にエラー回数(1回)を加算し、この処理を終了する。
一方、ステップS803による判定の結果、所定の監視時間外に発生した障害であると判断されると、現在時刻を監視の開始時刻に設定し(S804)、累計エラーの検出値を「0」にして(S805)、新たな監視時間を開始する。そして、累積エラーの検出値にエラー回数(1回)を加算し(S806)、この処理を終了する。
次に、ステップS807へ移行すると、所定の瞬断監視時間(図8に示す例では1秒前)の間に実行された処理における、障害の有無を判定する(S807)。その結果、過去1秒間に障害が発生していないと判定されると、瞬断エラーに関する処理(S808〜S811)を実行しない。
一方、過去1秒間に障害が発生していると判定されると、ステップ808へ移行して、瞬断エラーに関する処理(S808〜S811)を実行する。
瞬断エラーに関する処理では、まず、障害管理テーブル内の当該パスの累計エラー欄における開始時刻と監視期間を参照して、現在時刻が所定の監視時間範囲内であるかによって、所定の監視時間内に生じた障害であるかを判定する(S808)。その結果、所定の監視時間内に生じた障害であれば、ステップS811に移行し、瞬断エラーの検出値にエラー回数(1回)を加算し、この処理を終了する。
一方、ステップS808による判定の結果、所定の監視時間外に発生した障害であると判断されると、現在時刻を監視の開始時刻に設定し(S809)、瞬断エラーの検出値を「0」にして(S810)、新たな監視時間を開始する。そして、瞬断エラーの検出値にエラー回数(1回)を加算し(S811)、この処理を終了する。
IOテーブル1200から読み出されたIO要求の応答が所定期間を超えているか判定し(S812)、所定期間を超えているばあいには処理を終了する。
一方、所定期間を超えていない場合には、ステップ801で次のIO要求に対する応答を読み出して、再び処理を行う。
図9は、パス障害テーブルの一例を示したものである。
パス障害テーブルには、パス毎、エラーの種類毎に、当該種類のエラーに関する監視開始時刻、監視期間、判定値、検出値が記憶されている。
例えば、瞬断エラーは、2003年9月1日10時20分30.02秒から30日間を監視時間として監視が行われる。その監視時間内に瞬断エラーの発生が検出されると検出値が1ずつ加算され、障害管理テーブルが更新される。また、監視時間内に、判定値(20回)の瞬断エラーの発生が検出されると、当該パスは瞬断エラーであると判定される。
なお、性能エラーは複数回のアクセス処理の平均によって定められるので、1回でも性能の低下が認められると性能エラーであると判定することから、監視期間は定められていない。
図10は、稼動統計管理部の処理の一例を示したものである。
まず、IOテーブル1200からIO要求のデータ量、当該IO要求に要した処理時間、当該IO要求の時刻を読み出す(1001)。
次に、情報処理装置100内で管理している時刻情報から月日及び時間を取得して、当該付の特定の日時(図10に示す例では月初め、すなわち1日の0時)であるかを判定する(S1002)。そして、月初めでなければステップ1006に移行する。一方、月始めが検出されると、稼動統計管理テーブルに新たに始まる月のデータを記録する欄を追加し(S1004)、アクセス処理において当該パスに送付したデータ量、及び当該IO処理にようした時間を「0」に初期設定して(S1005)、新たな期間における性能の監視の準備をする。
そして、正常に終了したアクセス処理において使用したパスに送付したデータ量、及び当該アクセス処理に要した時間を稼動統計テーブルの該当する欄に加算する(S1006)。
そして、所定の割合(図10に示す例では60%)だけ性能が劣化しているかを判定する(S1007)。この判定は、定期的(例えば、1日1回)や、ユーザからの指示によって行われる。この判定の結果、60%の性能劣化がみられたら性能エラーと判定し、パス障害テーブル900の性能エラーの検出値に「1」を追加し(S1008)、この処理を終了する。一方、60%までも性能が劣化していなかったら性能エラーと判定することなく、この処理を終了する。
なお、図10では、月単位で当該パスの性能(当該パスによるアクセス処理のレスポンス)を集計しているが、任意の期間を設定して性能を監視してもよい。
図11は、稼動統計管理テーブルの一例を示した図である。
稼動統計管理テーブルには、パス毎、月毎に、アクセス処理によって当該パスに送付したデータ量の累積値、及び当該パスにおけるアクセス処理に要した時間の累積値が記録されている。そして、累積データ量を累積処理時間で除することによって、当該監視期間のアクセス処理のレスポンスを求めることができる。
なお、統計管理テーブルには、性能が最も良好であった期間(通常は設置時)のレスポンスと、現在の監視期間のアクセス処理のデータ量の累積値及びアクセス処理の所要時間の累積値を記録していれば足りる。
また、図11に示す稼動統計管理テーブルでは、アクセス処理のデータ量とアクセス処理の所要時間とを月毎に記録しているが、他の監視期間を定めて、パスの性能を監視してもよい。
障害履歴管理部227は、図9に示すパス障害テーブル900から、それぞれのパスに対する障害を決定する。例えば、図9のパス1は瞬断エラーの検出値が判定値を超えているので、パス1は瞬断エラーと決定する。また、パス2はいずれの検出値も判定値を超えていないので、正常と決定する。このようにして全てのパスを、瞬断エラー、累計エラー、性能エラー、正常のいずれかに決定する。
次に、パステーブル600を参照して、論理ユニットに対するパスを特定する。例えば、LU−ID「0101」に対しては、パス番号「1」、「2」、「3」、「4」が特定される。このように特定されたパス番号から、LU−IDに対する安全性を求める。ここでは「安全性=a1×正常なパスの数―(a2×瞬断エラーのパスの数+a3×性能エラーのパスの数+a4×累計エラーのパスの数)」とする。また、a1からa4は係数であり、a1=1、a2=0.1、a3=0.01、a4=0.001とする。これによると、全てのパスが「正常」と決定された場合に、安全性が最も大きくなり、全てのパスが「瞬断エラー」と決定された場合に、安全性が最も低くなる。ここで、瞬断エラーの係数を最も大きくしているのは、瞬断エラーは光ファイバの磨耗や、電源の不安定等の要因によって、伝送経路が不安定となった場合に生じるものであり、簡単に取り除くことができないエラーとしているためである。なお、この係数はユーザが自由に設定することができ、例えばa1、a2、a4を「0」に、a3を「1」にすることで、性能エラーについての安全性を求めることができる。
障害履歴管理部227は、このようにして決定した安全性と、LU−IDとともに可用性情報として、アクセス終了通知部222へ送る。これによって、論理ユニット切替部211では、安全性が高いものがプライマリの論理ユニットとなるように切替が行われる。
一方、障害履歴管理部227から送られた可用性情報でLU管理テーブル300の可用性が変更されてしまっているので、障害履歴管理部227は、パス情報管理部226から初期値を送るよう指示する。障害履歴管理部227から初期値通知の指示を受けると、パス情報管理部226は、パステーブル600を参照し、それぞれの論理ユニットに対する正常なパスの数を初期値として論理ユニット管理部102へ送る。論理ユニット管理部102は、送られてきた初期値でLU管理テーブル300の可用性を更新する。
障害履歴管理部227は、ユーザあるいは他のプログラムから実行できるようになっている。従って、所定の周期で実行することも可能である。例えば、1時間ごとにパスの負荷状態である性能エラーによって、論理ユニットのプライマリ・セカンダリを切替えるようにしてもよい。
障害の発生及び障害の回復に応じて、パス情報管理部226から可用性情報として、障害の発生/障害の回復した論理ユニットと、正常なパスの数とを通知するようにしているが、単に、障害の発生/回復の情報(例えば、障害の発生を「1」、回復を「0」とする。)、と障害の発生/回復した論理ユニットとを可用性情報としてもよい。
この場合、論理ユニット切替部211では、ステップ501で可用性情報が「1」であれば、当該論理ユニットの可用性から1を減らし、可用性情報が「0」であれば、当該論理ユニットの可用性から1を加える。そして、この変更があった論理ユニットがペアを構成している場合には、ペアを構成している論理ユニットの可用性を比較し、可用性が大きい論理ユニットにプライマリを設定する。このように、可用性情報は論理ユニットの信頼性でもあり、この信頼性を定義できるものであれば、どのような情報であってもよい。
以上説明したように、正常なパスの数が多い、性能エラーの発生が少ないパス、瞬断エラーの発生が少ないパス等を有する論理ユニットをプライマリの論理ユニットに設定することができる。これにより、アプリケーションからのIO要求に対するスループットを向上させることができる。
また、図2に示したそれぞれの処理部を行うプログラムでも実現することができる。
次に、他の実施の形態について説明する。
ここでは、障害が発生したパスに関連するパスに対しても障害情報を設定するものである。
図12は、情報処理システムの一例を示したものである。この図は、図1のSAN110の部分について模式的に示したものであり、それぞれのHBAが、ストレージ装置A、Bの全てのADPに接続された場合の構成を示している。なお、このように全てのADPに接続されず、一部のADPに接続された場合でもよい。また、各部の構成については、図1で説明したものと同じ構成である。
このような構成において、例えばHBA1、ADP1、LU1に対するパスで障害が検出された場合、障害が発生したパスのHBA1−ADP1を共通にするパス、すなわちHBA1―ADP1―LU2のパスと、HBA1―ADP1―LU3のパスについても障害が発生したとするものである。パス管理部103は、この障害発生したとされるパスを除いて、新たなパスを選択しIO要求を割当てる。つまり、HBA1−ADP1のパスの間で障害が発生した場合は、このパスに対するIO要求の発行を避けるようにする。これは、次に説明するように図2のパス情報管理部226の処理を変更することで実現できる。
図2及び図12を用いてIO要求が発行された場合の処理について説明する。
論理ユニット管理部102からIO要求を受付けると、パス管理部103のIO割当部223は、パステーブル600から正常なパス(障害情報に「0」が設定されているパス)を選択する。ここで、正常なパスとしてHBA1―ADP1―LU1に対するパスが選択されたものとする。IO割当部223は、この選択されたパスに対してIO要求を発行する。ここで、障害検出部224により、当該パスに対して障害が検出された場合、障害検出部224は、選択されたパスIDを障害情報としてパス情報管理部226へ通知する。パス情報管理部226は、障害情報に含まれるパスIDからHBA、ADPを共通にする全てのパスの障害情報に「1」を設定する。この場合、障害が発生したHBA1−ADP1−LU1に対するパス、HBA1−ADP1−LU2のパス、HBA1−ADP1−LU3のパスについての障害情報に「1」を設定する。またパス情報管理部226は、障害情報に「1」が設定された論理ユニットの正常なパスの数を可用性情報として論理ユニット切替部211に通知する。つまり、LU1、LU2、LU3に対する正常なパスの数が可用性情報として通知される。
障害検出部224により障害が検出されると、当該IO要求は正常に終了できていないと判断し、IO割当部223は、パステーブル600を参照し、新たなパスを選択する。パステーブル600は、パス情報管理部226により、障害が発生したパス及び、障害が発生したパスに関連するパスについて障害情報が「1」に設定されているので、パス情報管理部226は、これ以外のパス(障害情報が「0」であるパス)を選択する。なお、選択されるパスの候補としては、HBA1―ADP2―LU1のパス、あるいはHB2―ADP2―LU1のパス等がある。IO割当部223は、選択されたパスに対して再度IO要求を発行する。また、IO割当部223は、新たなIO要求を受付けるとパステーブル600の正常なパスから割当てるべきパスを選択する。
障害回復検出部225は、既に説明したように障害情報に「1」が設定されたパスに対して所定の間隔でIO要求を発行する。IO要求が正常に終了すると、IO要求が正常に終了したパスIDを障害回復情報としてパス情報管理部226へ通知する。
パス情報管理部226は、既に説明したように障害回復情報に含まれるパスIDから当該パスの障害情報を「0」に設定し、このパスの論理ユニットの正常なパスの数を可用性情報として論理ユニット切替部211へ送る。
例えば、先の説明で障害情報が設定された3つのパス(HBA1−ADP1−LU1、HBA1−ADP1−LU2、HBA1−ADP1−LU3)のうち、ADP1−LU1の間で障害が発生し、その他は正常である場合には、障害回復検出部225によりHBA1−ADP1−LU2、HBA1−ADP1−LU3に対するIO要求が正常に終了するので、HBA1−ADP1−LU2、HBA1−ADP1−LU3に対するパスの障害情報は「0」に設定されることになる。つまり、ADP―LU間の障害の場合には、障害となっているパスが絞り込まれる。
可用性情報を受け取った論理ユニット切替部211の処理は既に説明したものと同じである。
図13は、パステーブルの一例を示したものである。このパステーブルは、情報処理装置100とストレージ装置A120aの記憶領域に対するパスの部分のみを示したものであり、情報処理装置100とストレージ装置B120bとのパスも情報処理装置100のメモリに格納されている。正常なパスの数をカウントする場合には、情報処理装置100に格納されている全てのパスを参照する。図6に示したパステーブルとの相違点は、新たにパス固定情報606を有する点である。このパス固定情報606は、正常なパスがない場合に、当該パスに障害情報が設定されていても、このパスはIO割当部223で割当の対象となるパスであることを意味する。このパス固定情報606は、ユーザにより設定される。
図14は、IO割当部223におけるパス選択の処理の一例を示したものである。
IO要求を受付けたIO割当部223は、パステーブル600からIO要求に含まれるLU−IDを含むパスであり、パス障害情報605が「0」であるパス(正常なパス)を検索する。正常なパスがあるかを判定し(S1402)、正常なパスがある場合には、複数のパスかを判定する(S1403)。複数のパスがある場合には、負荷分散機能により、一つのパスを選択し(S1404)、選択されたパスのHBAからIO要求を発行する(1405)。一方、正常なパスがない場合には(S1402で「N」の場合)、IO要求に含まれるLU−IDを含むパスであり、パス固定情報606が「1」であるものを選択し(S1406)、選択されたパスのHBAからIO要求を発行する(S1405)。 また、正常なパスが一つしか選択されなかった場合(S1403で「N」の場合)、このパスのHBAからIO要求を発行する(S1405)。尚、この処理は障害検出部224で障害検出され再度IO要求を発行する場合にも実行される。
図15は、パス情報管理部226の処理の一例を示したものである。
パス情報管理部226は、障害情報又は障害回復情報を受けると処理を開始する。まずパス情報管理部226は、障害情報であるかを判定する(S1501)。障害情報である場合、障害情報に含まれるパスIDのHBA、ADPを共通にするパスのパス障害情報605に「1」を設定する(1502)。例えば、障害情報としてパス番号「1」のパスIDが通知された場合、パス情報管理部226は、パス番号「1」の他にHBA1−ADP1を共通にするパス番号「9」「17」のパス障害情報605に「1」を設定する。
次に、パス障害情報605が「1」に変更されたLU−IDを含むパスの中から正常なパスの数をカウントし(S1503)、LU−IDとカウントされた正常なパスの数を可用性情報としてIO終了通知部222へ通知する。
一方、障害情報でないと判定された場合(S1501で「N」の場合)、障害回復情報に含まれるパスIDのパス障害情報605に「0」を設定し、「0」に変更されたLU−IDを含むパスの中から正常なパスの数をカウントし(S1506)、LU−IDとカウントされた正常なパスの数を可用性情報としてIO終了通知部222へ通知する。
なお、可用性情報を受け取った論理ユニット切替部211は、既に図5等で説明したように可用性情報に含まれるLU−IDから特定される論理ユニットがペアを構成している場合、正常なパスの数に応じて、論理ユニットのプライマリとセカンダリを決定し、LU管理テーブル300を更新する。
尚、ここではHBA−ADPが共通するパスについて説明したが、図15に示すステップ1502の処理を変更することにより他の共通する部分でも同様に行うことができる。例えば、障害が発生したパスとADP−LUが共通するパス、またはHBAが共通するパス、あるいはCHAが共通するパスを障害とすることができる。
このように、一つのパス(アクセス経路)の障害に対して、この障害が発生したパス(アクセス経路)と関連するパス(アクセス経路)についても障害とみなすことで、障害が発生している可能性があるパス(アクセス経路)の利用を避けることで、スループットを向上させることができる。
情報処理システムの全体構成の一例を示すブロック図である。 論理ユニット管理部、パス管理部の構成の一例を示した図である。 LU管理テーブルの一例を示した図である。 論理ユニット管理部の処理の一例を示した図である。 論理ユニット切替部の処理の一例を示した図である。 パステーブルの一例を示した図である。 パス情報管理部の処理の一例を示した図である。 障害統計管理部の処理の一例を示した図である。 パス障害テーブルの一例を示した図である。 稼動統計管理部の処理の一例を示した図である。 稼動統計テーブルの一例を示した図である。 情報処理システムの構成の一例を示すブロック図である。 パステーブルの他の一例を示した図である。 IO割当部の処理の一例を示した図である。 パス情報管理部の処理の一例を示した図である。
符号の説明
100 情報処理装置
101 アプリケーション
102 論理ユニット管理部
103 パス管理部
104 HBA
110 SAN
120 ストレージ装置
121 論理ユニット(LU)
122 ADP

Claims (10)

  1. 複数の記憶領域を有するストレージ装置と、
    前記ストレージ装置と接続され、アクセス要求を発行する情報処理装置と、
    情報処理装置から発行されたアクセス要求を前記記憶領域に伝達するための複数のアクセス経路とを有する情報処理システムであって、
    前記情報処理装置は、
    前記複数の記憶領域の1つに前記アクセス要求を伝達するために選択されたアクセス経路の障害を検出した場合、
    (A)前記障害を検出したアクセス経路以外のアクセス経路に前記アクセス要求を割当てるとともに、
    (B)他の記憶領域にアクセス要求を伝達するためのアクセス経路のうち、前記障害を検出したアクセス経路と、前記情報処理装置と前記ストレージ装置との間のアクセス経路を共通にするアクセス経路を特定し、
    (C)前記他の記憶領域に対するアクセス要求が発行された際には、前記特定したアクセス経路以外のアクセス経路に前記発行されたアクセス要求を割当てるアクセス要求割当処理を実行することを特徴とする情報処理システム。
  2. 請求項1記載の情報処理システムにおいて、
    前記情報処理装置は、障害が発生したアクセス経路に障害回復を確認するための信号を送信し、障害が回復されたことを検出した場合には、当該アクセス経路をアクセスを割当てるアクセス経路の候補とすることを特徴とする情報処理システム。
  3. 請求項1または請求項2に記載の情報処理システムであって、
    前記情報処理装置は、
    記憶領域、アクセス経路、及び前記アクセス経路の障害情報を対応付けてアクセス経路状態情報として記憶する記憶装置をさらに備え、
    前記アクセス要求割当処理において、前記アクセス経路状態情報を参照して、障害発生の情報がないアクセス経路に前記アクセス要求を割り当てることを特徴とする情報処理システム。
  4. 請求項3に記載の情報処理システムであって、
    前記情報処理装置は、
    前記アクセス要求割当処理において、前記特定したアクセス経路にも障害が発生したと判断して、前記障害を検出したアクセス経路及び前記特定されたアクセス経路の障害情報を前記記憶装置に記憶させることを特徴とする情報処理システム。
  5. 請求項4に記載の情報処理システムであって、
    前記アクセス経路状態情報は、前記アクセス経路において経由する前記情報処理装置のホストバスアダプタ及び前記ストレージ装置のアダプタの情報を含み、
    前記情報処理装置は、前記アクセス要求割当処理において、前記障害を検出したアクセス経路と同一のホストバスアダプタ及び前記ストレージ装置のアダプタを経由するアクセス経路に障害が発生したと判断することを特徴とする情報処理システム。
  6. ストレージ装置の複数の記憶領域と情報処理装置との間に複数のアクセス経路が設定され、前記情報処理装置がアクセス経路を選択してアクセス要求を発行するアクセス方法であって、
    前記情報処理装置が、
    前記複数の記憶領域の1つに前記アクセス要求を伝達するために選択されたアクセス経路に障害を検出した場合、
    (A)前記障害を検出したアクセス経路以外のアクセス経路に前記アクセス要求を割当てるとともに、
    (B)他の記憶領域にアクセス要求を伝達するためのアクセス経路のうち、前記障害を検出したアクセス経路と、前記情報処理装置と前記ストレージ装置との間のアクセス経路を共通にするアクセス経路を特定し、
    (C)前記他の記憶領域に対するアクセス要求が発行された際には、前記特定されたアクセス経路以外のアクセス経路に前記発行されたアクセス要求を割当てるアクセス要求割当処理を実行する
    ことを特徴とするアクセス方法。
  7. 請求項6記載のアクセス方法であって
    前記情報処理装置は、障害が発生したアクセス経路に障害回復を確認するための信号を送信し、障害が回復されたことを検出した場合には、当該アクセス経路をアクセスを割当てるアクセス経路の候補とすることを特徴とするアクセス方法。
  8. 請求項6または請求項7に記載のアクセス方法であって、
    前記情報処理装置は、
    記憶領域、アクセス経路、及び前記アクセス経路の障害情報を対応付けてアクセス経路状態情報として記憶する記憶装置をさらに備え、
    前記アクセス要求割当処理において、前記アクセス経路状態情報を参照して、障害発生の情報がないアクセス経路に前記アクセス要求を割り当てることを特徴とするアクセス方法。
  9. 請求項8に記載のアクセス方法であって、
    前記情報処理装置は、
    前記アクセス要求割当処理において、前記特定したアクセス経路にも障害が発生したと判断して、前記障害を検出したアクセス経路及び前記特定されたアクセス経路の障害情報を前記記憶装置に記憶させることを特徴とするアクセス方法。
  10. 請求項9に記載のアクセス方法であって、
    前記アクセス経路状態情報は、前記アクセス経路において経由する前記情報処理装置のホストバスアダプタ及び前記ストレージ装置のアダプタの情報を含み、
    前記情報処理装置は、前記アクセス要求割当処理において、前記障害を検出したアクセス経路と同一のホストバスアダプタ及び前記ストレージ装置のアダプタを経由するアクセス経路に障害が発生したと判断することを特徴とするアクセス方法。
JP2004338353A 2004-11-04 2004-11-24 情報処理システム及びアクセス方法 Expired - Fee Related JP4617847B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004338353A JP4617847B2 (ja) 2004-11-04 2004-11-24 情報処理システム及びアクセス方法
US11/042,183 US7577158B2 (en) 2004-11-04 2005-01-26 Information processing system and access method
EP07014326A EP1845451B1 (en) 2004-11-04 2005-11-03 Information processing system with redundant paths and access method
EP05256812A EP1655666B1 (en) 2004-11-04 2005-11-03 Information processing system with redundant paths and access method
DE602005002713T DE602005002713T2 (de) 2004-11-04 2005-11-03 Informationsverarbeitungssystem mit redundanten Pfaden und Zugriffsverfahren
US12/496,678 US8036238B2 (en) 2004-11-04 2009-07-02 Information processing system and access method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004320036 2004-11-04
JP2004338353A JP4617847B2 (ja) 2004-11-04 2004-11-24 情報処理システム及びアクセス方法

Publications (2)

Publication Number Publication Date
JP2006154880A JP2006154880A (ja) 2006-06-15
JP4617847B2 true JP4617847B2 (ja) 2011-01-26

Family

ID=35825410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004338353A Expired - Fee Related JP4617847B2 (ja) 2004-11-04 2004-11-24 情報処理システム及びアクセス方法

Country Status (4)

Country Link
US (2) US7577158B2 (ja)
EP (2) EP1845451B1 (ja)
JP (1) JP4617847B2 (ja)
DE (1) DE602005002713T2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2498174C (en) 2002-09-09 2010-04-13 Commvault Systems, Inc. Dynamic storage device pooling in a computer system
CA2520498C (en) * 2003-04-03 2012-09-25 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
WO2006053084A2 (en) 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
JP4691372B2 (ja) * 2005-03-09 2011-06-01 富士通株式会社 データ中継装置およびデータ中継方法
US8018835B1 (en) * 2005-12-30 2011-09-13 At&T Intellectual Property Ii, L.P. Method and apparatus for analyzing service disruptions in a communication network
JP4712089B2 (ja) * 2006-02-13 2011-06-29 富士通株式会社 情報処理装置、システム制御装置および情報処理装置の制御方法
JP4940967B2 (ja) * 2007-01-30 2012-05-30 富士通株式会社 ストレージシステム、ストレージ装置、ファームウェアの活性交換方法、ファームウェアの活性交換プログラム
JP2008191808A (ja) 2007-02-02 2008-08-21 Hitachi Ltd ストレージシステム
JP4984051B2 (ja) * 2007-03-08 2012-07-25 日本電気株式会社 動的縮退装置、方法
US20080281876A1 (en) * 2007-05-10 2008-11-13 Hitachi, Ltd. Methods and apparatus to recover data and configuration of storage system
JP2009009407A (ja) * 2007-06-28 2009-01-15 Hitachi Ltd 暗号機能を備えたストレージシステム及びデータ保証方法
JP4607942B2 (ja) * 2007-12-05 2011-01-05 富士通株式会社 ストレージシステムおよびルートスイッチ
JP4984077B2 (ja) * 2008-02-15 2012-07-25 日本電気株式会社 動的切り替え装置、動的切り替え方法、及び動的切り替えプログラム
JP2009217362A (ja) * 2008-03-07 2009-09-24 Nec Corp ディスクアレイ装置および制御方法
US8411584B1 (en) * 2008-03-31 2013-04-02 Olympus Corporation Wireless resource allocation system and method
US8234447B2 (en) 2009-10-09 2012-07-31 Hitachi, Ltd. Storage control device for storage system provided with storage device coupled to switch network
US8380894B2 (en) * 2009-12-11 2013-02-19 International Business Machines Corporation I/O mapping-path tracking in a storage configuration
CN102137133B (zh) * 2010-01-22 2015-01-21 华为技术有限公司 内容分发的方法、系统及调度服务器
US8619555B2 (en) * 2010-11-17 2013-12-31 Netapp, Inc. Method and system for path selection in a network
JP5668982B2 (ja) * 2011-03-31 2015-02-12 日本電気株式会社 ストレージシステム、アクセスパス状態更新方法およびアクセスパス状態更新プログラム
US8799608B1 (en) * 2011-12-29 2014-08-05 Emc Corporation Techniques involving flaky path detection
US8977787B1 (en) * 2012-06-28 2015-03-10 Emc Corporation Management of path operating mode transitions in multipathing host computer
TW201413461A (zh) * 2012-09-17 2014-04-01 Hon Hai Prec Ind Co Ltd 磁碟陣列卡擴展管理方法及系統
KR102507302B1 (ko) * 2018-01-22 2023-03-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512945U (ja) * 1991-07-19 1993-02-19 株式会社東芝 デイスクシステム
JP2000284982A (ja) * 1999-03-30 2000-10-13 Toshiba Corp アクセス制御装置及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2001154929A (ja) * 1999-11-29 2001-06-08 Nec Software Shikoku Ltd 代替パス方式の管理方法とシステム
JP2004078999A (ja) * 2003-11-28 2004-03-11 Hitachi Ltd ディスクストレージのアクセスシステム
JP2004094433A (ja) * 2002-08-30 2004-03-25 Nec Corp フォールトトレラントコンピュータ及びそのディスク管理機構及びディスク管理プログラム
JP2004213125A (ja) * 2002-12-27 2004-07-29 Hitachi Ltd 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
JP2005149281A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US172636A (en) * 1876-01-25 Improvement in harness-trimmings
US107300A (en) * 1870-09-13 Improvement in shoe-stay stock and in machines for making the same
IT1111606B (it) * 1978-03-03 1986-01-13 Cselt Centro Studi Lab Telecom Sistema elaborativo modulare multiconfigurabile integrato con un sistema di preelaborazione
JPH0680492B2 (ja) 1984-09-29 1994-10-12 株式会社日立製作所 エラー回復方法
CA1299757C (en) 1987-08-28 1992-04-28 Brent Cameron Beardsley Device initiated partial system quiescing
US5633999A (en) 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
JPH0512945A (ja) 1991-06-28 1993-01-22 Nec Corp 電磁継電器の接点
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6802021B1 (en) 2001-01-23 2004-10-05 Adaptec, Inc. Intelligent load balancing for a multi-path storage system
US6769071B1 (en) 2001-01-23 2004-07-27 Adaptec, Inc. Method and apparatus for intelligent failover in a multi-path system
US6904477B2 (en) 2001-04-13 2005-06-07 Sun Microsystems, Inc. Virtual host controller interface with multipath input/output
US6715054B2 (en) 2001-05-16 2004-03-30 Hitachi, Ltd. Dynamic reallocation of physical storage
US7406039B2 (en) 2002-02-26 2008-07-29 Dell Products L.P. System and method for a failover protocol in storage area network controllers
US7134040B2 (en) * 2002-04-17 2006-11-07 International Business Machines Corporation Method, system, and program for selecting a path to a device to use when sending data requests to the device
US7194662B2 (en) 2003-02-28 2007-03-20 International Business Machines Corporation Method, apparatus and program storage device for providing data path optimization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512945U (ja) * 1991-07-19 1993-02-19 株式会社東芝 デイスクシステム
JP2000284982A (ja) * 1999-03-30 2000-10-13 Toshiba Corp アクセス制御装置及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2001154929A (ja) * 1999-11-29 2001-06-08 Nec Software Shikoku Ltd 代替パス方式の管理方法とシステム
JP2004094433A (ja) * 2002-08-30 2004-03-25 Nec Corp フォールトトレラントコンピュータ及びそのディスク管理機構及びディスク管理プログラム
JP2004213125A (ja) * 2002-12-27 2004-07-29 Hitachi Ltd 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
JP2005149281A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP2004078999A (ja) * 2003-11-28 2004-03-11 Hitachi Ltd ディスクストレージのアクセスシステム

Also Published As

Publication number Publication date
EP1845451A2 (en) 2007-10-17
EP1845451A3 (en) 2012-01-25
DE602005002713D1 (de) 2007-11-15
EP1655666B1 (en) 2007-10-03
EP1655666A3 (en) 2006-06-28
US7577158B2 (en) 2009-08-18
US20090271541A1 (en) 2009-10-29
EP1655666A2 (en) 2006-05-10
US8036238B2 (en) 2011-10-11
JP2006154880A (ja) 2006-06-15
DE602005002713T2 (de) 2008-07-17
EP1845451B1 (en) 2013-03-13
US20060092828A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
JP4617847B2 (ja) 情報処理システム及びアクセス方法
JP4012498B2 (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP4790372B2 (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
US7673110B2 (en) Control method of device in storage system for virtualization
US20190310925A1 (en) Information processing system and path management method
US7337353B2 (en) Fault recovery method in a system having a plurality of storage systems
JP4606455B2 (ja) ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
EP1760591B1 (en) System and method of managing access path
JP4566874B2 (ja) Ipネットワークにおけるストレージアクセス管理機能及びシステム
JP2007034438A (ja) 冗長パス制御装置、方法及びプログラム並びにディスクアレイシステム
JPWO2008136075A1 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
WO2011042939A1 (en) Storage control device building a logical unit based on storage devices coupled with different switches
JP2012043304A (ja) ディスクアレイ装置およびディスクアレイ装置の制御方法
US20080244306A1 (en) Storage system and management method for the same
JP6481490B2 (ja) ストレージシステム、制御装置および制御プログラム
JP2007334764A (ja) Nasシステムおよびnasシステムの情報処理方法
WO2013073022A1 (ja) 計算機システム及び障害検出方法
JP2016212512A (ja) ストレージシステム、制御装置および制御プログラム
JP2022124054A (ja) ストレージシステム、ストレージ装置及びストレージ装置管理方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100903

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

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

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4617847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees