JP2019125075A - ストレージ装置、ストレージシステムおよびプログラム - Google Patents

ストレージ装置、ストレージシステムおよびプログラム Download PDF

Info

Publication number
JP2019125075A
JP2019125075A JP2018004062A JP2018004062A JP2019125075A JP 2019125075 A JP2019125075 A JP 2019125075A JP 2018004062 A JP2018004062 A JP 2018004062A JP 2018004062 A JP2018004062 A JP 2018004062A JP 2019125075 A JP2019125075 A JP 2019125075A
Authority
JP
Japan
Prior art keywords
server
storage device
storage
site
path
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.)
Pending
Application number
JP2018004062A
Other languages
English (en)
Inventor
昌徳 古屋
Masanori Furuya
昌徳 古屋
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
Priority to JP2018004062A priority Critical patent/JP2019125075A/ja
Priority to US16/241,289 priority patent/US10642705B2/en
Publication of JP2019125075A publication Critical patent/JP2019125075A/ja
Pending legal-status Critical Current

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/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/2094Redundant storage or storage space
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/2071Error 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 using a plurality of controllers

Abstract

【課題】サーバのフェイルオーバ後も通信オーバヘッドの最小なパスへアクセスする。【解決手段】ストレージ装置1は、記憶装置1aと制御部1bを備える。制御部1bは、サーバ20aから記憶装置1aへの第1のアクセス数と、サーバ20bから記憶装置1aへの第2のアクセス数とを監視して、第2のアクセス数が第1のアクセス数を超える場合、サーバ20aからサーバ20bへの切り替えを検出する。また、制御部1bは、サーバ切り替えの検出後、記憶装置1aとサーバ20bとの位置関係を示す位置情報にもとづいて、記憶装置1aが配置されるサイトSaと、サーバ20bが配置されるサイトSbとを検出する。制御部1bは、サイトSa、Sbが異なる場合、サイトSbに配置される記憶装置1cへアクセス先の変更依頼をサーバ20bへ通知する。【選択図】図1

Description

本発明は、ストレージ装置、ストレージシステムおよびプログラムに関する。
ストレージシステムは、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置、および記憶装置の制御を行うコントローラモジュールを含むストレージ装置と、記憶装置へI/Oを発行するサーバとを有して、情報処理で扱う大量のデータを記録管理する。
また、ストレージシステムでは、信頼性の確保のため冗長構成が組まれており、例えば、サーバ間やストレージ装置間でクラスタリングが行われ、また、サーバとストレージ装置間のパスはマルチパスが形成される。
このようなストレージシステムに対して、障害発生時には、冗長構成への切り替えを行って障害を回避し、運用を継続する技術が開発されている。
国際特開第2016/013116号 特開2007−72571号公報
サーバは、ALUA(Asymmetric Logical Unit Access)と呼ばれるプロトコルを利用することで、複数のパスのうち通信オーバヘッドの最も小さなパス(最適パス)に優先的にアクセスする。
ALUAは、サーバとストレージ装置間で最適パスを特定するためのプロトコルであり、ストレージ装置からサーバへ現状のパス状態の通知が行われ、サーバはパス状態にもとづき複数のパスから最適パスを選択してアクセスする。
一方、クラスタリングされているサーバのうち、サーバに障害等が生じると、障害が生じたサーバから正常なサーバへ稼動状態が切り替わるフェイルオーバが実施される。
このようなサーバのフェイルオーバが実施された場合、システム構成によっては、ストレージ装置側がサーバのフェイルオーバを検出することが困難な場合がある。このような状態では、サーバのフェイルオーバ後のパス状態がストレージ装置によってサーバ側へ通知されないので、フェイルオーバ後のサーバは最適パスを選択することができず、可用性や信頼性の低下が生じてしまう。
1つの側面では、本発明は、サーバのフェイルオーバ後も通信オーバヘッドの最小なパスへのアクセスを可能にしたストレージ装置、ストレージシステムおよびプログラムを提供することを目的とする。
上記課題を解決するために、ストレージ装置が提供される。ストレージ装置は、第1の記憶装置と制御部を備える。制御部は、第1のサーバから第1の記憶装置への第1のアクセス数と第2のサーバから第1の記憶装置への第2のアクセス数とを監視して、第2のアクセス数が第1のアクセス数を超える場合に、第1のサーバから第2のサーバへの切り替えを検出し、第1の記憶装置と第2のサーバとの位置関係を示す位置情報にもとづいて第1の記憶装置が配置される第1のサイトと第2のサーバが配置される第2のサイトとを検出し、第1のサイトと第2のサイトが異なる場合に、第2のサーバに対して、第2のサイトに配置される第2の記憶装置へアクセス先を変更させる。
また、上記課題を解決するために、上記ストレージ装置と同様の制御を実行するストレージシステムが提供される。
さらに、上記課題を解決するために、コンピュータに上記ストレージ装置と同様の制御を実行させるプログラムが提供される。
1側面によれば、サーバのフェイルオーバ後も通信オーバヘッドの最小なパスへのアクセスが可能になる。
ストレージ装置の構成の一例を示す図である。 単一ストレージのストレージシステムの構成の一例を示す図である。 複数ストレージのストレージシステムの構成の一例を示す図である。 同一サイト内でクラスタリングが行われたストレージシステムの構成の一例を示す図である。 遠隔サイト間でクラスタリングが行われたストレージシステムの構成の一例を示す図である。 遠隔サイト間でクラスタリングが行われたストレージシステムの構成の一例を示す図である。 アクティブのサーバとスタンバイのサーバを含むストレージシステムの構成の一例を示す図である。 サーバのフェイルオーバが行われた場合のストレージシステムの構成の一例を示す図である。 ストレージシステムの構成の一例を示す図である。 CMのハードウェア構成の一例を示す図である。 CMの機能ブロックの一例を示す図である。 ストレージ位置情報テーブルの一例を示す図である。 サーバ位置情報テーブルの一例を示す図である。 I/O回数テーブルの一例を示す図である。 ストレージシステムの動作の一例を示す図である。 ストレージシステムの動作の一例を示す図である。 サイト内でマルチパスが形成されるストレージシステムの構成の一例を示す図である。 I/O処理におけるCMの動作を示すフローチャートである。 定期監視処理の動作を示すフローチャートである(マスタ側)。 定期監視処理の動作を示すフローチャートである(スレーブ側)。 ストレージシステムの装置間の通信シーケンスの一例を示す図である。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態について図1を用いて説明する。図1はストレージ装置の構成の一例を示す図である。ストレージ装置1は、記憶装置1a(第1の記憶装置)と、制御部1bを含む。
〔ステップS1〕制御部1bは、サーバ20a(第1のサーバ)から記憶装置1aへの第1のアクセス数と、サーバ20b(第2のサーバ)から記憶装置1aへの第2のアクセス数とを監視する。
〔ステップS2〕制御部1bは、第2のアクセス数が第1のアクセス数を超えることを判定した場合、サーバ20aからサーバ20bへの切り替えがあったことを検出する。
〔ステップS3〕制御部1bは、記憶装置1aと、サーバ20bとの位置関係を示す位置情報にもとづいて、記憶装置1aが配置されるサイトSa(第1のサイト)と、サーバ20bが配置されるサイトSb(第2のサイト)とを検出する。
〔ステップS4〕制御部1bは、サイトSaとサイトSbとが異なる場合、サイトSbに配置される記憶装置1c(第2の記憶装置)へアクセス先を変更させる情報をサーバ20bへ通知する。
〔ステップS5〕サーバ20bは、該情報を受信すると、記憶装置1aから記憶装置1cへアクセスを変更し、記憶装置1cに対してアクセスを実施する。
このように、ストレージ装置1は、サーバ20a、20bのアクセス数にもとづき、サーバ20aからサーバ20bへの切り替えを検出し、サーバ切り替えに連動して、記憶装置1aから記憶装置1cへアクセスパスを変更させる。これにより、ストレージ装置1は、サーバ20aのフェイルオーバ後も、サーバ20bに対して通信オーバヘッドの最小なパスへのアクセスを可能にさせる。
次にマルチパス構成のストレージシステムについて説明する。図2は単一ストレージのストレージシステムの構成の一例を示す図である。ストレージシステム2−1は、単一ストレージに対するマルチパス構成のシステムであって、サーバ2、スイッチsw1、sw2およびストレージ30を備える。スイッチsw1、sw2は、例えば、SAN(Storage Area Network)スイッチである。
サーバ2には、HBA(Host Bus Adapter)#0、#1が搭載される。ストレージ30は、コントローラモジュール(CM:Controller Module)#0、#1およびLUN(Logical Unit Number)#0、・・・、#3を有する。またストレージ30には、CA(Channel Adapter)#0、・・・、#3が搭載される。以下、コントローラモジュールはCMと表記する。
なお、HBAは、サーバ側に搭載されて、スイッチを介してCAとのインタフェースを行うアダプタである。CAは、ストレージ側に搭載されて、スイッチを介してHBAとのインタフェースを行うアダプタである。CMは、プロセッサやキャッシュメモリ等を含み、ストレージ内の動作を制御するモジュールである。
各構成要素の接続関係を示すと、スイッチsw1は、HBA#0とCA#0に接続し、スイッチsw2は、HBA#1とCA#2に接続し、また、スイッチsw1、sw2は互いに接続する。
CM#0上には、CA#0、#1が搭載され、CM#1上には、CA#2、#3が搭載され、CM#0、#1は互いに接続する。また、CM#0はLUN#0、#1を管理下に置き、CM#1はLUN#2、#3を管理下に置く。
ここで、サーバとストレージ間のデータ転送方式には、SCSI(Small Computer System Interface)が広く使用されている。SCSIは、サーバとストレージ間のアクセスパスを複数設定することができる。また、サーバは、フェイルオーバの機能により、故障時には別のサーバへの切り替えを行ってストレージへのアクセスを継続する。
ストレージシステム2−1では、LUN#0に対するアクセスパスは4パスを設定することができる。すなわち、HBA#0−CA#0のパス、HBA#0−CA#2のパス、HBA#1−CA#0のパス、HBA#1−CA#2のパスの4つのパスである。
HBA#0−CA#0のパスは、HBA#0、スイッチsw1、CA#0、CM#0を経由するパスであり、HBA#0−CA#2のパスは、HBA#0、スイッチsw1、スイッチsw2、CA#2、CM#1、CM#0を経由するパスである。
また、HBA#1−CA#0のパスは、HBA#1、スイッチsw2、スイッチsw1、CA#0、CM#0を経由するパスであり、HBA#1−CA#2のパスは、HBA#1、スイッチsw2、CA#2、CM#1、CM#0を経由するパスである。
一方、サーバ2は、上述したALUAを利用することで、複数のアクセスパスのうち最適パスに優先的にアクセスすることができる。例えば、ストレージシステム2−1において、LUN#0は、CM#0の管理下にあるため、CA#0を経由するアクセスパスは、CM#0からLUN#0へ直接アクセスすることができる。
これに対し、CA#2を経由するアクセスパスは、CM#1からCM#0に通信を行ったうえでLUN#0へアクセスすることになり、通信オーバヘッドが生じる。
そのため、CM#0は、CA#0を経由するパスのアクセス状態を最適パス(Active/Optimized)としてサーバ2に通知する。また、CM#0は、CA#2を経由するパスのアクセス状態を性能劣化が生じる可能性のあるパス(Active/Non-Optimized)としてサーバ2に通知する。
この通知は、サーバ2から送信されたReport Target Port Groups(Report TPGS)と呼ばれるコマンドへの応答として行われる。ALUAをサポートしているサーバ2は、Report Target Port Groupsコマンドを用いて各パスのアクセス状態を取得すると、Active/Optimizedパスに対して優先的にI/Oを発行する。
なお、LUN#0への上記の4つのパスのうち、HBA#0−CA#0のパスとHBA#1−CA#0のパスは、LUN#0に対して直接パスとなるためActive/Optimizedパスになる。
また、HBA#0−CA#2のパスと、HBA#1−CA#2のパスは、LUN#0に対して、CM#1を介する迂回パスとなるため、Active/Non-Optimizedパスになる。
次にマルチパスを利用したActive-Active方式のストレージクラスタについて説明する。図3は複数ストレージのストレージシステムの構成の一例を示す図である。ストレージシステム2−2は、図2で上述したストレージ単体でのマルチパス構成を複数ストレージに拡張したものである。
ストレージシステム2−2は、サーバ2、スイッチsw1、sw2およびストレージ30a、30bを備える。サーバ2には、HBA#0、#1が搭載される。
ストレージ30aは、CM#0およびLUN#0、・・・、#nを有し、またストレージ30aには、CA#0、#1と、RA(Remote Adapter)#0が搭載される。ストレージ30bは、CM#1およびLUN#0、・・・、#nを有し、またストレージ30bには、CA#2、#3と、RA#1が搭載される。
なお、RAは、ストレージのリモート・アドバンスト・コピー用のインタフェースとなるアダプタである。
各構成要素の接続関係を示すと、スイッチsw1は、HBA#0とCA#0に接続し、スイッチsw2は、HBA#1とCA#2に接続し、また、スイッチsw1、sw2は互いに接続する。
CM#0上には、CA#0、#1と、RA#0が搭載され、CM#1上には、CA#2、#3と、RA#1が搭載され、RA#0、#1は互いに接続する。また、CM#0はLUN#0、・・・、#nを管理下に置き、CM#1はLUN#0、・・・、#nを管理下に置く。
ストレージシステム2−2は、ストレージがクラスタリングされてActive-Active方式で動作する(ストレージ30a、30bが常時動作)。このようなシステムでは、以下の(1)から(4)に示すような制御が行われる。
(1)ストレージ30a、30bそれぞれにLUN#0、・・・、#nが生成され、フェイルオーバ時にデータが失われないように、生成されたLUN間でデータのミラーリングが行われる。図3の例では、ストレージ30aのLUN#0、・・・、#nからストレージ30bのLUN#0、・・・、#nへデータのミラーリングが行われている。
(2)ストレージ30b側のLUNの識別子(例えば、LUN_ID、Product_ID、SerialNumber等)は、ストレージ30aのLUNの識別子と同一にしてサーバ2に応答する。すなわち、ストレージ30a側のLUNの識別子と、ストレージ30b側のLUNの識別子とを一致させる。
この仕組みにより、ストレージ30a側のLUNに対するパスと、ストレージ30b側のLUNに対するパスとは、同一LUNに対するマルチパスとしてサーバ2に認識される。すなわち、ストレージ30aのLUNと、ストレージ30bのLUNとを同一ボリュームとしてサーバ2に見せることができる。
(3)Report Target Port Groupsコマンドの応答では、マルチパスに組まれたパスすべての情報をサーバ2へ返すことが求められる。このため、ストレージ30aとストレージ30bの両方のパスを含んだアクセス状態をReport Target Port Groupsコマンドの応答とする。
(4)ライトI/Oによる更新データは、ストレージ30a、30bのいずれのパスからもアクセス可能とするため(ストレージ30a、30b間でミラーリングを行っているため)、ストレージ30a、30b両方のLUNに反映される。
また、ストレージ30aへのライトI/Oと、ストレージ30bへのライトI/Oとが競合した場合、排他制御はミラーリングのコピー元装置で行う。この例ではストレージ30aがコピー元装置なのでストレージ30aが排他制御を行うことになる。
次に同一サイト内でクラスタリングが行われたストレージシステムについて説明する。図4は同一サイト内でクラスタリングが行われたストレージシステムの構成の一例を示す図である。ストレージシステム2−3は、図3に示したストレージシステム2−2と構成は同じであるが、システム全体が1つのサイトS0(例えば、ビルの同一フロア等)に含められる構成としている。
ストレージシステム2−3では、ストレージ30a、30bが同一のサイトS0内に配置されるので、ストレージ30a、30bでI/Oアクセス性能に大きな違いはない。このため、ストレージ30a、30b両方に対して負荷分散が行われた方が効率的である。したがって、ストレージ30a、30b両方のパスがActive/Optimizedとして応答される。
次に遠隔サイト間でクラスタリングが行われたストレージシステムについて図5、図6を用いて説明する。図5は遠隔サイト間でクラスタリングが行われたストレージシステムの構成の一例を示す図である。ストレージシステム2−4は、ネットワーク(例えば、WAN(Wide Area Network))nw1、nw2を介して接続されるサイトSa、Sbを有する。サイトSa、Sbは遠隔に配置されているとする。
サイトSaには、サーバ20a、スイッチsw1およびストレージ30aが含まれる。サーバ20aには、HBA#0、#1が搭載される。ストレージ30aは、CM#0およびLUN#0、・・・、#nを有し、またストレージ30aには、CA#0、#1と、RA#0が搭載される。
サイトSbには、スイッチsw2およびストレージ30bが含まれる。ストレージ30bは、CM#1およびLUN#0、・・・、#nを含み、またストレージ30bには、CA#2、#3と、RA#1が搭載される。
各構成要素の接続関係を示すと、スイッチsw1は、HBA#0、CA#0およびネットワークnw1に接続する。スイッチsw2は、ネットワークnw1およびCA#2に接続する。
CM#0上には、CA#0、#1と、RA#0が搭載され、CM#1上には、CA#2、#3と、RA#1が搭載される。RA#0は、ネットワークnw2に接続し、RA#1はネットワークnw2に接続する。また、CM#0はLUN#0、・・・、#nを管理下に置き、CM#1はLUN#0、・・・、#nを管理下に置く。
ここで、ストレージシステム2−4では、遠隔サイトSa、Sb間でのクラスタリングでサーバ20aがサイトSaのみに配置されている。この場合、サーバ20aからストレージ30bへのアクセスは、ストレージ30aのアクセスよりも通信オーバヘッドが大きい。このため、ストレージ30aへのパスをActive/Optimized、ストレージ30bへのパスをActive/Non-Optimizedとして応答される。
図6は遠隔サイト間でクラスタリングが行われたストレージシステムの構成の一例を示す図である。ストレージシステム2−5は、ネットワークnw1、nw2を介して接続されるサイトSa、Sbを有する。
サイトSaには、サーバ20a、スイッチsw1およびストレージ30aが含まれる。サイトSbには、サーバ20b、スイッチsw2およびストレージ30bが含まれる。図5のシステムとの違いは、サイトSbにもサーバ(サーバ20b)が含まれる構成としている。
ここで、ストレージシステム2−5において、パスのアクセス状態はサーバ毎に応答内容を変える。このため、ストレージ30aは、サーバ20aに対するパスはActive/Optimized、サーバ20bに対するパスはActive/Non-Optimizedとして応答する。
Report Target Port Groupsコマンドの応答として、ストレージ30aは、例えば、サーバ20aのHBA#0と、CA#0とを経由するパスはActive/Optimizedとしてサーバ20a、20bに応答する。また、ストレージ30aは、サーバ20bのHBA#0と、CA#0とを経由するパスはActive/Non-Optimizedとしてサーバ20a、20bへ応答する。
一方、ストレージ30bは、サーバ20aに対するパスはActive/Non-Optimized、サーバ20bに対するパスはActive/Optimizedとして応答する。
Report Target Port Groupsコマンドの応答として、ストレージ30bは、例えば、サーバ20aのHBA#0と、CA#2とを経由するパスはActive/Non-Optimizedとしてサーバ20a、20bに応答する。また、ストレージ30bは、サーバ20bのHBA#0と、CA#2とを経由するパスはActive/Optimizedとしてサーバ20a、20bへ応答する。
次にクラスタリングされているサーバ間でサーバの切り替えが行われた場合のパス制御の問題点について図7、図8を用いて説明する。図7はアクティブのサーバとスタンバイのサーバを含むストレージシステムの構成の一例を示す図である。
ストレージシステム2−6は、図6に示す構成と同じであるが、サーバ20aをアクティブとし、サーバ20bをスタンバイとした場合を示している(サーバ20a、20bはActive−Standby状態)。
サーバ20aがアクティブの場合、サーバ20aと同一のサイトSa内のストレージ30aに優先的にアクセスするのが望ましいため、ストレージ30aは、ストレージ30a側のパスをActive/Optimized、ストレージ30b側のパスをActive/Non-Optimizedとして応答する。
また、サーバをクラスタリングしている場合、クラスタリングされる複数のサーバは、同一サーバのように扱われる。このため、ストレージ30bは、サーバ20bに対してもストレージ30a側のパスをActive/Optimized、ストレージ30b側のパスをActive/Non-Optimizedとして応答する。
図8はサーバのフェイルオーバが行われた場合のストレージシステムの構成の一例を示す図である。ストレージシステム2−7は、サーバ20aに障害が発生してダウンすることにより(または負荷分散が機能することにより)、サーバ20bがスタンバイからアクティブに切り替わった状態である。
フェイルオーバ直後はサーバ20bからストレージ30aへのアクセスとなり、遠隔のサイト間通信となるため通信オーバヘッドが生じる。このように、離れたサイト間でのクラスタリングでは、どちらのストレージにアクセスするかによってI/Oレスポンス性能が大きく変化する。そこで、ストレージ30aとしては、サーバのフェイルオーバを検出した場合、フェイルオーバ検出に連動して最適パスの通知をサーバ20bに行うことが望ましい。
サーバのフェイルオーバを検出する場合、サーバとストレージが直結された構成であればパスのリンクダウンにより検出することが可能である。しかし、ストレージシステム2−7のような構成では、ネットワークnw1、nw2を経由してサイトSa、Sbが遠隔に位置しているために、ストレージ30aは、パスのリンクダウンを検出することが困難である。
この場合、フェイルオーバ後のパス状態が、ストレージ30aによってサーバ20a、20b側へ通知されないので、フェイルオーバ後のサーバ20bは、通信オーバヘッドの最小なパスを選択することができず、可用性や信頼性の低下が生じてしまう。
本発明はこのような点に鑑みてなされたものであり、サーバのフェイルオーバ後も通信オーバヘッドの最小なパスへのアクセスを可能にしたストレージ装置、ストレージシステムおよびプログラムを提供するものである。
[第2の実施の形態]
次に第2の実施の形態について説明する。まず、システム構成について説明する。図9はストレージシステムの構成の一例を示す図である。ストレージシステム1−1は、ネットワークnw1、nw2を介して接続されるサイトSa、Sbを有する。サイトSa、Sbは遠隔に位置する。
サイトSaには、サーバ20a、スイッチsw1およびストレージ装置10aが含まれる。サーバ20aには、HBA#0、#1が搭載される。なお、図中のXXXは、サーバ20aのHBA#0のポート識別子、YYYは、サーバ20aのHBA#1のポート識別子である。
ストレージ装置10aは、CM11aおよびストレージ部12aを有し、ストレージ部12aは、記憶領域としてLUN#0、・・・、#nを含む。またストレージ装置10aには、CA#0、#1と、RA#0が搭載される。
サイトSbには、サーバ20b、スイッチsw2およびストレージ装置10bが含まれる。サーバ20bには、HBA#0、#1が搭載される。なお、図中のZZZは、サーバ20bのHBA#0のポート識別子、VVVは、サーバ20bのHBA#1のポート識別子である。
ストレージ装置10bは、CM11bおよびストレージ部12bを有し、ストレージ部12bは、記憶領域としてLUN#0、・・・、#nを含む。またストレージ装置10bには、CA#2、#3と、RA#1が搭載される。
ストレージ部12aのLUN#0、・・・、#nは、FOグループg1に含まれ、ストレージ部12bのLUN#0、・・・、#nは、FOグループg2に含まれる。FOグループは、複数のLUNをフェイルオーバ単位にグループ化したものであり、同じFOグループに所属するLUNのフェイルオーバは一括で行われるものとする。
なお、ストレージ装置10a、10bは、図1のストレージ装置1の機能を有し、CM11a、11bは、図1の制御部1bの機能を有する。また、ストレージ部12a、12bは、図1の記憶装置1aに該当する。
各構成要素の接続関係を示すと、スイッチsw1は、サーバ20aのHBA#0、HBA#1、CA#0およびネットワークnw1に接続する。スイッチsw2は、サーバ20bのHBA#0、HBA#1、ネットワークnw1およびCA#2に接続する。
CM11a上には、CA#0、#1と、RA#0が設置され、CM11b上には、CA#2、#3と、RA#1が設置される。RA#0は、ネットワークnw2に接続し、RA#1はネットワークnw2に接続する。
また、CM11aはストレージ部12aのLUN#0、・・・、#nを管理下に置き、CM11bはストレージ部12bのLUN#0、・・・、#nを管理下に置く。
なお、以降の説明でCM11a、11bを総称する際はCM11、ストレージ部12a、12bを総称する際はストレージ部12と呼ぶ場合がある。また、サーバ20a、20bを総称する際はサーバ20と呼ぶ場合がある。
<ハードウェア構成>
図10はCMのハードウェア構成の一例を示す図である。CM11は、プロセッサ100によって装置全体が制御されている。すなわち、プロセッサ100は、CM11の制御部として機能する。
プロセッサ100には、バス103を介してメモリ101と複数の周辺機器が接続されている。プロセッサ100は、マルチプロセッサであってもよい。プロセッサ100は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ100は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
メモリ101は、CM11の主記憶装置として使用される。メモリ101には、プロセッサ100に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ101には、プロセッサ100による処理に要する各種メッセージが格納される。
また、メモリ101は、CM11の補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種メッセージが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD等の半導体記憶装置やHDD等の磁気記録媒体を含んでもよい。
バス103に接続されている周辺機器としては、入出力インタフェース102およびネットワークインタフェース104がある。入出力インタフェース102は、プロセッサ100からの命令にしたがってCM11の状態を表示する表示装置として機能するモニタ(例えば、LED(Light Emitting Diode)やLCD(Liquid Crystal Display)等)が接続されている。
また、入出力インタフェース102は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ100に送信する。
入出力インタフェース102は、周辺機器を接続するための通信インタフェースとして機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたメッセージの読み取りを行う光学ドライブ装置を接続することができる。
光ディスクは、光の反射によって読み取り可能なようにメッセージが記録された可搬型の記録媒体である。光ディスクには、Blu−rayDisc(登録商標)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)等がある。
また、入出力インタフェース102は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース102との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのメッセージの書き込み、またはメモリカードからのメッセージの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
ネットワークインタフェース104は、図9に示したCA#0、・・・、#3やRA#0、#1を介してネットワークnw1、nw2とのインタフェース制御や、サーバ20a、20bとのインタフェース制御を行う。
ネットワークインタフェース104は、例えば、NIC(Network Interface Card)、無線LAN(Local Area Network)カード等の機能を有する。ネットワークインタフェース104で受信された信号やメッセージ等は、プロセッサ100に出力される。ストレージインタフェース105は、図9に示したストレージ部12a、12bとのインタフェース制御を行う。
以上のようなハードウェア構成によって、CM11の処理機能を実現することができる。例えば、CM11は、プロセッサ100が読み取り可能な記録媒体に記録されたプログラムを実行することで、本発明の制御を行うことができる。
CM11に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、CM11に実行させるプログラムを補助記憶装置に格納しておくことができる。
プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
<機能ブロック>
図11はCMの機能ブロックの一例を示す図である。CM11は、制御部11−1、記憶部11−2およびインタフェース部11−3を含む。制御部11−1は、サーバフェイルオーバ検出部11−1a、サイト検出部11−1bおよびパス状態通知部11−1cを含む。
サーバフェイルオーバ検出部11−1aは、サーバ20aからストレージ部12aへの第1のアクセス数と、サーバ20bからストレージ部12aへの第2のアクセス数とを監視する。
そして、サーバフェイルオーバ検出部11−1aは、第2のアクセス数が第1のアクセス数を超えることを判定した場合、サーバ20aからサーバ20bへのフェイルオーバがあったことを検出する。
サイト検出部11−1bは、ストレージ部12a、12bと、サーバ20a、20bとの位置関係を示す位置情報にもとづいて、ストレージ部12a、12bが配置されるサイトと、サーバ20a、20bが配置されるサイトとを検出する。
パス状態通知部11−1cは、ストレージ部12aが位置するサイトSaと、フェイルオーバ後のサーバ20bが位置するサイトSbとが異なる場合、サイトSbに配置されるストレージ部12bへアクセス先を変更させる情報をサーバ20bへ通知する。
記憶部11−2は、ストレージ位置情報テーブルT1、サーバ位置情報テーブルT2およびI/O回数テーブルT3を含む。これらのテーブルの詳細は、図12から図14で後述する。また、記憶部11−2は、CM11の全体動作に関わる制御情報等についても記憶する。
インタフェース部11−3は、CAやRAを介したサーバまたはネットワークとのインタフェース制御、またストレージ部12とのインタフェース制御を行う。
なお、制御部11−1は、図10に示したプロセッサ100によって実現され、記憶部11−2は、図10に示したメモリ101によって実現される。また、インタフェース部11−3は、図10に示したネットワークインタフェース104またはストレージインタフェース105によって実現される。
<テーブル情報>
次にCM11が有するテーブル情報について図12から図14を用いて説明する。図12はストレージ位置情報テーブルの一例を示す図である。ストレージ位置情報テーブルT1は、項目として、「ストレージ装置」および「ストレージ位置」を有し、ストレージ装置10a、10bの位置情報が登録される。この例のストレージ位置情報テーブルT1には、ストレージ装置10aがサイトSaに位置し、ストレージ装置10bがサイトSbに位置することが登録されている。なお、「ストレージ装置」の代わりに「ストレージ部」として、ストレージ部の位置情報が登録されてもよい。
図13はサーバ位置情報テーブルの一例を示す図である。サーバ位置情報テーブルT2は、項目として、「WWN(World Wide Name)」および「サーバ位置」を有する。この例では、WWNは、ストレージ装置に接続されるサーバ20a、20bのポート識別子としている。
サーバ位置情報テーブルT2には、サーバ20aのHBA#0のポートのWWNがXXXであり、サイトSaに位置することが登録され、サーバ20aのHBA#1のポートのWWNがYYYであり、サイトSaに位置することが登録されている。
さらに、サーバ20bのHBA#0のポートのWWNがZZZであり、サイトSbに位置することが登録され、サーバ20bのHBA#1のポートのWWNがVVVであり、サイトSbに位置することが登録されている。このように、サーバポートに対して、各ポートがどのサイトに配置されるかが登録される。
図14はI/O回数テーブルの一例を示す図である。I/O回数テーブルT3は、項目として、「FOグループ」、「サイトSaからのI/O回数」および「サイトSbからのI/O回数」を有する。
「FOグループ」には、FOグループの識別子が登録される。「サイトSaからのI/O回数」には、サイトSa内に位置するサーバの全WWNからのI/Oの合計回数が登録される。「サイトSbからのI/O回数」には、サイトSb内に位置するサーバの全WWNからのI/Oの合計回数が登録される。
CM11では、FOグループ毎に各サイトからのI/O回数をカウントしてI/O回数テーブルT3に登録する。I/O回数は所定時間単位でクリアされる。例えば、CM11は、各サイトからのI/O回数をカウントし、1分毎にクリアする。この場合、1分間でのI/O回数が得られる。
なお、FOグループのまとめ方としては、例えば、アクセス元サーバが同じLUNはフェイルオーバを連動して行うため1つのFOグループにまとめ、アクセス元サーバの異なるLUNは別のFOグループに分ける。
<ストレージシステムの動作>
次にストレージシステムの動作について図15、図16を用いて説明する。図15はストレージシステムの動作の一例を示す図である。ストレージシステム1−1aにおいて、アクティブであったサーバ20aが故障、または負荷分散の機能が動作することにより、サーバ20bがスタンバイからアクティブにフェイルオーバしたとする。
フェイルオーバ直後のパス状態は、フェイルオーバ前と変わらず、ストレージ装置10a側のパスはActive/Optimized、ストレージ装置10b側のパスはActive/Non-Optimizedである。
また、サーバ20bがアクティブになった場合のストレージ部12aとつながるアクティブパスは、例えば、図中のアクティブパスp1がある。アクティブパスp1は、サーバ20bのHBA#0、スイッチsw2、ネットワークnw1、スイッチsw1、CA#0、CM11aを経由するパスである。
ここで、CM11aは、ストレージ部12aに対するI/O回数を常時カウントしているが、サーバ20bがアクティブになった場合、サーバ20bからストレージ部12aへのI/Oアクセスが増加することを検出する。
すなわち、CM11aは、所定時間内においてFOグループg1に対する「サイトSbからのI/O回数」が「サイトSaからのI/O回数」を上回ったことを検出できる。
また、ストレージ装置10a内のCM11aは、自身がサイトSaに配置されていることを認識しているため、サイトSa以外のサイトSbからのアクセスが増加したと判断して、FOグループg1のフェイルオーバ処理を行う。
なお、ストレージ装置10aのCM11aおよびストレージ装置10bのCM11bのそれぞれでI/O回数を記録している。よって、どちらかのストレージ装置で逆サイト(自身が位置するサイト以外のサイト)からのアクセスが増加したことを検出した場合、フェイルオーバ処理が起動される。その場合、ストレージ装置10a、10bで相反する情報となったときは異常と判断して、ストレージのフェイルオーバ処理は行わない。
例えば、サイトSbに配置される対向装置となるストレージ装置10bが、サーバ20aからストレージ部12bへの第3のアクセス数と、サーバ20bからストレージ部12bへの第4のアクセス数とを監視し、監視結果をストレージ装置10aへ送信する。
また、ストレージ装置10a内のCM11aは、サーバ20aからストレージ部12aへの第1のアクセス数と、サーバ20bからストレージ部12aへの第2のアクセス数との第1の比較結果を得る。CM11aは、ストレージ装置10bから送信された、第3のアクセス数と第4のアクセス数との第2の比較結果を受信する。
そして、CM11aは、第1、第2の比較結果が不一致と判定した場合、サーバ20bに対してアクセス先の変更を非通知とし、ストレージのフェイルオーバ処理は実施しない。このように、ストレージ装置10a、10b双方で監視した結果に矛盾がある場合は、ストレージ装置10aは、異常と判断して現状のアクセス状態を維持する。
図16はストレージシステムの動作の一例を示す図である。ストレージ装置は、通常、サーバからのI/Oに対してAsymmetric Access State Changed(0x6 0x2a 0x6)のセンスを応答する。サーバは、センスを受信するとReport Target Port Groupsコマンドをストレージ装置へ発行する。
ストレージシステム1−1bにおいて、CM11aは、サイトSbからのI/O回数が、自身が配置されているサイトSaからのI/O回数よりも増加したことを検出すると、FOグループg1のフェイルオーバ処理を行う。
すなわち、FOグループg1のフェイルオーバ処理としては、CM11aは、サーバ20bからのReport Target Port Groupsコマンドに対してストレージ装置10b側のポートをActive/Optimizedとしてサーバ20bへ応答する。さらに、CM11aは、ストレージ装置10a側のポートをActive/Non-Optimizedとしてサーバ20bへ応答する。
サーバ20bは、Active/Optimizedのパスを優先的に選択するので、応答受信後、サーバ20bは、I/Oをストレージ装置10bに対して発行することになる。サーバ20bとストレージ装置10bがつながるパスとしては例えば、アクティブパスp2がある。
アクティブパスp2は、サーバ20bのHBA#0、スイッチsw2、CA#2、CM11bを経由するパスである。また、ストレージ装置10bは、ミラーリングの方向を反転させてストレージ装置10bで排他制御を行う。
<サイト内でマルチパスが形成されるストレージシステム>
図17はサイト内でマルチパスが形成されるストレージシステムの構成の一例を示す図である。上述したストレージシステムの構成例では、各サイトのサーバとストレージ装置間を1つのパスとして簡略化したが、サーバとストレージ装置それぞれのポートを複数にしてマルチパスで接続することも可能である。
ストレージシステム1−2は、ネットワークnw1、nw2を介して接続されるサイトSa、Sbを有する。サイトSaには、サーバ20a、スイッチsw1およびストレージ装置10Aが含まれる。サーバ20aには、HBA#0、#1が搭載される。
ストレージ装置10Aは、CM11a−1、11a−2およびストレージ部12aを有し、ストレージ部12aは、記憶領域としてLUN#0、・・・、#nを含む。またストレージ装置10Aには、CA#0、#1と、RA#0が搭載される。
サイトSbには、サーバ20b、スイッチsw2およびストレージ装置10Bが含まれる。サーバ20bには、HBA#0、#1が搭載される。ストレージ装置10Bは、CM11b−1、11b−2およびストレージ部12bを有し、ストレージ部12bは、記憶領域としてLUN#0、・・・、#nを含む。またストレージ装置10Bには、CA#2、#3と、RA#1が搭載される。
各構成要素の接続関係を示すと、スイッチsw1は、サーバ20aのHBA#0、#1と、CA#0、#1と、ネットワークnw1と接続する。スイッチsw2は、サーバ20bのHBA#0、#1と、ネットワークnw1と、CA#2、#3と接続する。
CM11a−1上にはCA#0が搭載され、CM11a−2上にはCA#1とRA#0が搭載され、CM11a−1、11a−2は互いに接続する。CM11b−1上にはCA#2とRA#1が搭載され、CM11b−2上にはCA#3が搭載置され、CM11b−1、11b−2は互いに接続する。また、RA#0は、ネットワークnw2に接続し、RA#1はネットワークnw2に接続する。
また、CM11a−1はストレージ部12aのLUN#0、・・・、#nを管理下に置き、CM11b−1はストレージ部12bのLUN#0、・・・、#nを管理下に置く。
このような構成を有するストレージシステム1−2において、各サイトの中で優先的なパスが存在することがありえる。この例では、アクティブのサーバ20aが配置されるサイトSaにおいて、ストレージ部12a内のLUN#0、・・・、#nは、CM11a−1の管理下にある。
このため、CM#11a−1上のポートになるCA#0を経由するアクセスパスが優先パスとなる。この場合、サイトSaのCA#0を経由するアクセスパスのみがActive/Optimizedとなることが可能である。
一方、サイトSbのサーバ20bがアクティブになって、ストレージ装置10Aからストレージ装置10Bへフェイルオーバ処理が行われる場合、CA#2を経由するアクセスパスのみがActive/Optimizedとなる。
<フローチャート>
次に動作について図18から図20に示すフローチャートを用いて説明する。図18はI/O処理におけるCMの動作を示すフローチャートである。以下の動作はCM11a、11bにより並行して実施される。
〔ステップS11〕CM11内の制御部11−1は、サーバ20に対して、LUNのアクセス状態が変更されたことを通知する非同期センスがCM11内の記憶部11−2(またはストレージ部12)内に登録されているか否かを判別する。登録されている場合はステップS12へ処理が進み、登録されていない場合はステップS13へ処理が進む。
〔ステップS12〕制御部11−1は、上述のAsymmetric Access State Changed(0x6 0x2a 0x6)のセンスをサーバ20へ応答する。
〔ステップS13〕制御部11−1は、ストレージ部12に対して、データの書き込み/読み出し処理を実施する。
〔ステップS14〕制御部11−1は、サーバ位置情報テーブルT2からサーバ20の位置を参照し、I/O発行元のWWNがどのサイトに属するかを検出する。該WWNがプライマリサイト(アクティブサーバが配置されるサイト)に属する場合、ステップS15aへ処理が進む。該WWNがセカンダリサイト(スタンバイサーバが配置されるサイト)に属する場合、ステップS15bへ処理が進む。
〔ステップS15a〕制御部11−1は、I/O発行先のFOグループのプライマリサイトに対応するカウンタをインクリメントし、I/O回数テーブルT3に結果を登録する。
〔ステップS15b〕制御部11−1は、I/O発行先のFOグループのセカンダリサイトに対応するカウンタをインクリメントし、I/O回数テーブルT3の結果に登録する。
〔ステップS16〕制御部11−1は、I/O処理に対する正常応答をサーバ20へ送信する。
図19は定期監視処理の動作を示すフローチャートである。なお、以降の説明では、ミラーリングのコピー元ストレージ装置およびコピー元ストレージ装置が位置するサイト内に位置するサーバをマスタとする。また、コピー先ストレージ装置およびコピー先ストレージ装置が位置するサイト内に位置するサーバをスレーブとする。以下の図19のフローはマスタ側のストレージ装置内のCMの動作を示している。
〔ステップS21〕制御部11−1は、タイマにより定期監視処理を起動する。
〔ステップS22〕制御部11−1は、各FOグループに対して監視処理を実施する。
〔ステップS23〕制御部11−1は、マスタ側に対してアクセスが最も多いサイトと、スレーブ側に対してアクセスが最も多いサイトは一致するか否かを判別する。すなわち、マスタ側とスレーブ側との情報とが相反している状態になっていないかどうかを判別する。一致する場合はステップS24へ処理が進み、不一致の場合はステップS27へ処理が進む。
〔ステップS24〕制御部11−1は、監視処理対象のFOグループに対して最もアクセスの多いサイトと、マスタ側ストレージ装置が所属するサイトが一致するか否かを判別する。一致する場合はステップS27へ処理が進み、一致しない場合はステップS25へ処理が進む。
〔ステップS25〕制御部11−1は、監視処理対象のFOグループに所属するLUNのフェイルオーバ処理を起動する。そして、制御部11−1は、LUNのミラーリング方向を反転し、セカンダリサイトをマスタに変更する。
〔ステップS26〕制御部11−1は、LUNのアクセス状態が変更されたことを通知する非同期センスを登録する。
〔ステップS27〕制御部11−1は、I/O回数テーブルT3の該当I/O回数をクリアする。
〔ステップS28〕制御部11−1は、すべてのFOグループの処理が完了したか否かを判別する。完了した場合はステップS29へ処理が進み、未完了の場合はステップS23へ処理が戻る。
〔ステップS29〕制御部11−1は、次の監視処理の起動契機まで定期監視処理をスリープ状態にする。
図20は定期監視処理の動作を示すフローチャートである。以下の図20のフローはスレーブ側のストレージ装置内のCMの動作を示している。
〔ステップS31〕制御部11−1は、タイマにより定期監視処理を起動する。
〔ステップS32〕制御部11−1は、各FOグループに対して監視処理を実施する。
〔ステップS33〕制御部11−1は、マスタ側ストレージ装置にI/O回数の情報を送信する。
〔ステップS34〕制御部11−1は、I/O回数テーブルT3の該当I/O回数をクリアする。
〔ステップS35〕制御部11−1は、すべてのFOグループの処理が完了したか否かを判別する。完了した場合はステップS36へ処理が進み、未完了の場合はステップS33へ処理が戻る。
〔ステップS36〕制御部11−1は、次の監視処理の起動契機まで定期監視処理をスリープ状態にする。
<通信シーケンス>
図21はストレージシステムの装置間の通信シーケンスの一例を示す図である。サーバのフェイルオーバが発生してから、ストレージ装置のフェイルオーバが実施されて、I/O発行先ストレージが切り替わるまでの通信シーケンスを示している。
〔ステップS41〕ストレージ装置10bは、I/O回数情報をストレージ装置10aに定期的に送信する。
〔ステップS42〕サーバ20aとストレージ装置10a間でI/O発行の通信が行われる。
〔ステップS43〕サーバ20aに障害が発生する。
〔ステップS44〕サーバ20aからサーバ20bへのフェイルオーバが実施される。
〔ステップS45〕サーバ20bとストレージ装置10a間でI/O発行の通信が行われる。
〔ステップS46〕ストレージ装置10aは、定期監視処理でアクセス元が変化したことを検出し、フェイルオーバ処理を起動する。
〔ステップS47〕ストレージ装置10aは、ストレージ装置10bに対してフェイルオーバ通知を行う。
〔ステップS48〕ストレージ装置10a、10b間でフェイルオーバ処理が実施される。
〔ステップS49〕サーバ20bは、ストレージ装置10aにI/Oを発行する。
〔ステップS50〕ストレージ装置10aは、サーバ20bに対してセンス応答を行う。
〔ステップS51〕サーバ20bは、Report Target Port Groupsコマンドをストレージ装置10aに送信する。
〔ステップS52〕ストレージ装置10aは、ストレージ装置10b側のパスをActive/Optimizedとしてサーバ20bに応答する。
〔ステップS53〕サーバ20bとストレージ装置10b間でデータの読み出し/書き込みが実施される。
なお、図21において、区間a1では、サーバ20aがマスタでサーバ20bがスレーブになり、区間a2では、サーバ20bがマスタでサーバ20aがスレーブになる。また、区間b1では、ストレージ装置10aがマスタでストレージ装置10bがスレーブになり、区間b2では、ストレージ装置10bがマスタでストレージ装置10aがスレーブになる。
以上説明したように、本発明によれば、遠隔サイト間でのサーバ/ストレージのクラスタ構成において、一方のサーバがダウンや負荷分散により他方のサーバがアクティブに切り替わった場合、ストレージ装置は、逆サイトからのアクセスの増加で一方のサーバのフェイルオーバを検出する。そして、ストレージ装置は、パス状態が変化したことを他方のサーバに通知する。これにより、サーバのフェイルオーバに連動して、ストレージに対して通信オーバヘッドが最も小さなパスにアクセスを継続できるようになる。
上記で説明した本発明のストレージ装置1、10a、10bの処理機能は、コンピュータによって実現することができる。この場合、ストレージ装置1、10a、10bが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 ストレージ装置
1a、1c 記憶装置
1b 制御部
Sa、Sb サイト
20a、20b サーバ

Claims (5)

  1. 第1の記憶装置と、
    第1のサーバから前記第1の記憶装置への第1のアクセス数と第2のサーバから前記第1の記憶装置への第2のアクセス数とを監視して、前記第2のアクセス数が前記第1のアクセス数を超える場合に、前記第1のサーバから前記第2のサーバへの切り替えを検出し、前記第1の記憶装置と前記第2のサーバとの位置関係を示す位置情報にもとづいて前記第1の記憶装置が配置される第1のサイトと、前記第2のサーバが配置される第2のサイトとを検出し、前記第1のサイトと前記第2のサイトが異なる場合に、前記第2のサーバに対して、前記第2のサイトに配置される第2の記憶装置へアクセス先を変更させる制御部と、
    を有するストレージ装置。
  2. 前記第1の記憶装置は、記憶領域がグループ化された第1のグループを含み、
    前記第2の記憶装置は、記憶領域がグループ化された第2のグループを含み、
    前記制御部は、前記第1のサーバのアクセス元の前記第1のグループから、前記第2のサーバの前記第2のグループへアクセス先を変更させる請求項1記載のストレージ装置。
  3. 前記制御部は、前記第1のサーバが前記第1の記憶装置へアクセスしている場合、前記第1の記憶装置から前記第2の記憶装置への第1のミラーリングを行い、前記第1のサーバから前記第2のサーバへの切り替えを検出した場合、前記第1のミラーリングを反転して、前記第2の記憶装置から前記第1の記憶装置への第2のミラーリングを行う請求項1記載のストレージ装置。
  4. 第1の記憶装置と制御部とを含む第1のストレージ装置と、
    第2の記憶装置を含む第2のストレージ装置と、
    を備え、
    前記制御部は、
    第1のサーバから前記第1の記憶装置への第1のアクセス数と第2のサーバから前記第1の記憶装置への第2のアクセス数とを監視して、前記第2のアクセス数が前記第1のアクセス数を超える場合に、前記第1のサーバから前記第2のサーバへの切り替えを検出し、前記第1の記憶装置と前記第2のサーバとの位置関係を示す位置情報にもとづいて前記第1の記憶装置が配置される第1のサイトと、前記第2のサーバが配置される第2のサイトとを検出し、前記第1のサイトと前記第2のサイトが異なる場合に、前記第2のサーバに対して、前記第2のサイトに配置される第2の記憶装置へアクセス先を変更させる、
    を有するストレージシステム。
  5. コンピュータに、
    第1のサーバから第1の記憶装置への第1のアクセス数と第2のサーバから前記第1の記憶装置への第2のアクセス数とを監視し、
    前記第2のアクセス数が前記第1のアクセス数を超える場合に、前記第1のサーバから前記第2のサーバへの切り替えを検出し、
    前記第1の記憶装置と前記第2のサーバとの位置関係を示す位置情報にもとづいて前記第1の記憶装置が配置される第1のサイトと、前記第2のサーバが配置される第2のサイトとを検出し、
    前記第1のサイトと前記第2のサイトが異なる場合に、前記第2のサーバに対して、前記第2のサイトに配置される第2の記憶装置へアクセス先を変更させる、
    処理を実行させるプログラム。
JP2018004062A 2018-01-15 2018-01-15 ストレージ装置、ストレージシステムおよびプログラム Pending JP2019125075A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018004062A JP2019125075A (ja) 2018-01-15 2018-01-15 ストレージ装置、ストレージシステムおよびプログラム
US16/241,289 US10642705B2 (en) 2018-01-15 2019-01-07 Storage system and storage method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018004062A JP2019125075A (ja) 2018-01-15 2018-01-15 ストレージ装置、ストレージシステムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2019125075A true JP2019125075A (ja) 2019-07-25

Family

ID=67212971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018004062A Pending JP2019125075A (ja) 2018-01-15 2018-01-15 ストレージ装置、ストレージシステムおよびプログラム

Country Status (2)

Country Link
US (1) US10642705B2 (ja)
JP (1) JP2019125075A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056567A (ja) * 2019-09-27 2021-04-08 株式会社日立製作所 ストレージシステム、パス管理方法、及びパス管理プログラム
WO2021187476A1 (ja) * 2020-03-18 2021-09-23 日本電気株式会社 クライアント、i/oサーバ、方法、および記録媒体

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139477A (ja) * 2004-11-11 2006-06-01 Hitachi Ltd 計算機システム、管理方法及びストレージネットワークシステム
JP2010257045A (ja) * 2009-04-22 2010-11-11 Hitachi Ltd 暗号化/復号化機能を有するストレージシステムを制御する計算機
JP2011164800A (ja) * 2010-02-05 2011-08-25 Fujitsu Ltd ストレージシステム及びストレージ制御方法
JP2014049116A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 仮想ストレージシステムの管理方法およびリモートコピーシステム
JP2014134925A (ja) * 2013-01-09 2014-07-24 Kansai Electric Power Co Inc:The 情報処理システム、制御方法および制御プログラム
JP2016503552A (ja) * 2013-03-14 2016-02-04 株式会社日立製作所 ディザスタリカバリ仮想化の方法及び装置
JP2017151857A (ja) * 2016-02-26 2017-08-31 日本電気株式会社 ストレージ装置の制御装置、ストレージ装置の制御方法、およびストレージ装置の制御プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6826613B1 (en) * 2000-03-15 2004-11-30 3Com Corporation Virtually addressing storage devices through a switch
US20020116485A1 (en) * 2001-02-21 2002-08-22 Equipe Communications Corporation Out-of-band network management channels
US7441046B2 (en) * 2003-03-03 2008-10-21 Siemens Medical Solutions Usa, Inc. System enabling server progressive workload reduction to support server maintenance
JP2007072571A (ja) 2005-09-05 2007-03-22 Hitachi Ltd 計算機システム及び管理計算機ならびにアクセスパス管理方法
US8074019B2 (en) * 2007-11-13 2011-12-06 Network Appliance, Inc. Preventing data loss in a storage system
CN102460393B (zh) * 2009-05-01 2014-05-07 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
CN105659558B (zh) * 2013-09-20 2018-08-31 甲骨文国际公司 计算机实现的方法、授权服务器以及计算机可读存储器
JP6318776B2 (ja) * 2014-03-31 2018-05-09 ブラザー工業株式会社 通信システムおよび中継装置
JP6185668B2 (ja) 2014-07-25 2017-08-23 株式会社日立製作所 ストレージ装置
US9800592B2 (en) * 2014-08-04 2017-10-24 Microsoft Technology Licensing, Llc Data center architecture that supports attack detection and mitigation
US9767130B2 (en) * 2014-12-31 2017-09-19 Nexenta Systems, Inc. Methods and systems for key sharding of objects stored in distributed storage system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139477A (ja) * 2004-11-11 2006-06-01 Hitachi Ltd 計算機システム、管理方法及びストレージネットワークシステム
JP2010257045A (ja) * 2009-04-22 2010-11-11 Hitachi Ltd 暗号化/復号化機能を有するストレージシステムを制御する計算機
JP2011164800A (ja) * 2010-02-05 2011-08-25 Fujitsu Ltd ストレージシステム及びストレージ制御方法
JP2014049116A (ja) * 2012-08-31 2014-03-17 Hitachi Ltd 仮想ストレージシステムの管理方法およびリモートコピーシステム
JP2014134925A (ja) * 2013-01-09 2014-07-24 Kansai Electric Power Co Inc:The 情報処理システム、制御方法および制御プログラム
JP2016503552A (ja) * 2013-03-14 2016-02-04 株式会社日立製作所 ディザスタリカバリ仮想化の方法及び装置
JP2017151857A (ja) * 2016-02-26 2017-08-31 日本電気株式会社 ストレージ装置の制御装置、ストレージ装置の制御方法、およびストレージ装置の制御プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056567A (ja) * 2019-09-27 2021-04-08 株式会社日立製作所 ストレージシステム、パス管理方法、及びパス管理プログラム
JP7017546B2 (ja) 2019-09-27 2022-02-08 株式会社日立製作所 ストレージシステム、パス管理方法、及びパス管理プログラム
US11372584B2 (en) 2019-09-27 2022-06-28 Hitachi, Ltd. Storage system, path management method, and recording medium
WO2021187476A1 (ja) * 2020-03-18 2021-09-23 日本電気株式会社 クライアント、i/oサーバ、方法、および記録媒体

Also Published As

Publication number Publication date
US20190220375A1 (en) 2019-07-18
US10642705B2 (en) 2020-05-05

Similar Documents

Publication Publication Date Title
US9769259B2 (en) Network storage systems having clustered RAIDs for improved redundancy and load balancing
US6757753B1 (en) Uniform routing of storage access requests through redundant array controllers
US7941602B2 (en) Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
US6732104B1 (en) Uniform routing of storage access requests through redundant array controllers
US7865767B2 (en) Storage system and method for copying data to plurality of sites
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
JP4107083B2 (ja) 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
US9250989B2 (en) Expander to control multipaths in a storage network
JP2567922B2 (ja) パス制御方式
US9794342B2 (en) Storage system and control method for storage system
JP5959733B2 (ja) ストレージシステムおよびストレージシステムの障害管理方法
JP2008107896A (ja) 物理資源制御管理システム、物理資源制御管理方法および物理資源制御管理用プログラム
US20140122816A1 (en) Switching between mirrored volumes
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
US7568119B2 (en) Storage control device and storage control device path switching method
JP2006011581A (ja) ストレージシステム及びストレージシステムの制御方法
JP2006154880A (ja) 情報処理システム及びアクセス方法
US7886186B2 (en) Storage system and management method for the same
US8443119B1 (en) System and method for disabling auto-trespass in response to an automatic failover
JP2005339216A (ja) 記憶制御システム
JP3988146B2 (ja) マルチノードシステム、ノード間クロスバスイッチ、ノード、スイッチプログラム及びノードプログラム
US20100064164A1 (en) Autonomic Component Service State Management for a Multiple Function Component
JP2019125075A (ja) ストレージ装置、ストレージシステムおよびプログラム
JP2007334764A (ja) Nasシステムおよびnasシステムの情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20201016

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20201016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211109