JP6040612B2 - ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム - Google Patents

ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム Download PDF

Info

Publication number
JP6040612B2
JP6040612B2 JP2012163861A JP2012163861A JP6040612B2 JP 6040612 B2 JP6040612 B2 JP 6040612B2 JP 2012163861 A JP2012163861 A JP 2012163861A JP 2012163861 A JP2012163861 A JP 2012163861A JP 6040612 B2 JP6040612 B2 JP 6040612B2
Authority
JP
Japan
Prior art keywords
data
access
server
server node
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012163861A
Other languages
English (en)
Other versions
JP2014026321A (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
Priority to JP2012163861A priority Critical patent/JP6040612B2/ja
Priority to US13/890,726 priority patent/US9336093B2/en
Publication of JP2014026321A publication Critical patent/JP2014026321A/ja
Application granted granted Critical
Publication of JP6040612B2 publication Critical patent/JP6040612B2/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2035Error 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 processing functionality is redundant without idle spare hardware
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2041Error 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 processing functionality is redundant with more than one idle spare processing component
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2046Error 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 processing functionality is redundant where the redundant components share persistent storage
    • 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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Description

本発明は、データへのアクセスの可否を制御するストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラムに関する。
コンピュータシステムでは、様々なデータを、サーバに接続されたストレージ装置内に保持している。多くの場合、サーバが故障すると、そのサーバに接続されたストレージ装置内のデータにアクセスできなくなる。このように、ストレージ装置に対するデータアクセス環境が劣化する場合がある。
そこで、サーバが故障してもストレージ装置内のデータにアクセスできるようにするため、例えば、同じデータが、複数のサーバそれぞれに接続されたストレージ装置で多重化して保持される。これにより、あるサーバが故障しても、そのサーバが管理しているデータと同じデータを、他のサーバから取得し、サービスを継続することができる。サーバ単位でデータを多重化する技術としては、例えばRAIN(Redundant Array of Independent Nodes)と呼ばれる技術がある。
データを多重化する技術としては、例えば、ミラーリング技術がある。ミラーリング技術では、あるサーバが管理するハードディスクドライブ(HDD:Hard Disk Drive)内のデータのコピー(冗長データ)を、別のサーバ(ミラーサーバ)のHDDに格納する。また、データを多重化する技術として、レプリケーションと呼ばれる技術もある。レプリケーションでは、あるサーバが管理するデータの複製(レプリカ)を、別のサーバで管理させ、もとのデータとレプリカとの内容を同期させる。レプリケーションでは、例えば、オブジェクトと呼ばれるデータ単位でレプリカを作成し、複数のサーバに分散して管理させることができる。
このように、データを多重化することで、1つのサーバに障害が発生してもサービスを継続することができる。ただし、サーバの障害の発生によりデータの冗長度が低下し、データの信頼性も低下する。そこで、冗長度を回復させるリカバリ処理が行われる。リカバリ処理では、例えば、障害が発生したサーバが管理していたデータの冗長データのコピーを、他の正常に機能しているサーバに転送する。そして冗長データのコピーを受信したサーバが、以後、受信したデータを管理する。
なおサーバの障害発生時に適用される技術として、現用のサーバの障害を検出した場合、代替となる他のサーバと現用のサーバとのネットワーク接続形態を変更する技術がある。
特開2007−164394号公報
しかし、データ転送によるリカバリ処理では、リカバリに時間がかかる。すなわち、リカバリに要する時間は、リカバリ対象のデータ量が多いほど長期化する。特に、近年はクラウドコンピューティングを用いたサービスの普及により、1つのサーバで管理するデータ量が大容量化している。そのため、サーバに障害が発生した際のリカバリ時間も長期化している。リカバリ処理が長期化すると、データの冗長度が低下している期間が長くなり、信頼性が低下してしまう。
1つの側面では、本発明は、データへのアクセス環境を迅速に回復できるストレージ装置を提供することを目的とする。
1つの案では、記憶装置と、記憶装置内のデータへのアクセスが許可されている第1のデータアクセス装置に障害が発生すると、第2のデータアクセス装置から記憶装置内のデータへのアクセスを許可する許可手段と、データと該データへのアクセス要求の転送先となるデータアクセス装置との対応関係を示す対応情報を、記憶装置内のデータに対するアクセス要求の転送先が第2のデータアクセス装置となるように変更する変更手段と、を有するストレージ装置が提供される。
1態様によれば、データへのアクセス環境を迅速に回復できる。
第1の実施の形態に係る装置の機能構成例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 コントロールサーバのハードウェアの一構成例を示す図である。 SASエクスパンダのハードウェアの一例を示す図である。 コントロールサーバとフロントエンドサーバとの機能の一例を示すブロック図である。 サーバノードのゾーニングとレプリケーションとの関係の一例を示す図である。 対応情報のデータ構造の一例を示す図である。 資源管理情報のデータ構造の一例を示す図である。 接続切替処理の手順を示すフローチャートである。 ディスク接続解除処理の手順を示すフローチャートである。 サーバノード選択・ディスク接続処理の手順を示すフローチャートである。 対応情報更新処理の手順の一例を示すフローチャートである。 第3の実施の形態におけるサーバノード選択・ディスク接続処理の手順の一例を示す図である。 SASエクスパンダの接続形態の他の例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、記憶装置にアクセスするデータアクセス装置に障害が発生した場合、他のデータアクセス装置にその記憶装置へのアクセスを許可し、その記憶装置内のデータ内へのアクセス要求を、他のデータアクセス装置に転送するようにしたものである。
図1は、第1の実施の形態に係る装置の機能構成例を示す図である。情報処理装置Xはストレージ装置1、複数のデータアクセス装置2−1,2−2,2−3,2−4,・・・、対応情報3、および転送手段4を有する。情報処理装置Xは、端末装置YあるいはアプリケーションサーバZからのデータアクセス要求に応じて、ストレージ装置1へのデータの格納、またはストレージ装置1からのデータの読み出しを行う。
ストレージ装置1は、複数の記憶装置1−1,1−2,1−3,・・・、中継装置1a、許可手段1b、および変更手段1cを有している。記憶装置1−1,1−2,1−3,・・・は、例えばHDD、またはSSD(Solid State Drive)である。記憶装置1−1にはデータ群5−1が格納され、記憶装置1−2にはデータ群5−2が格納され、記憶装置1−3には、データ群5−3が格納されている。
中継装置1aは、複数のデータアクセス装置2−1,2−2,2−3,2−4,・・・と複数の記憶装置1−1,1−2,1−3,・・・とに接続されている。そして中継装置1aは、データアクセス装置と、そのデータアクセス装置からのデータのアクセスが許可されている記憶装置との間の通信を中継する。図1の例では、データアクセス装置に対して、そのデータアクセス装置からのデータのアクセスが許可されている記憶装置が、実線で接続されている。データアクセス装置と記憶装置を接続する破線は、以前はデータのアクセスが許可されていたが、その後、禁止されたことを示している。中継装置1aは、例えばSAS(Serial Attached SCSI(Small Computer System Interface))エクスパンダ、SASスイッチなどである。SASエクスパンダやSASスイッチであれば、ゾーニング技術により、特定のデータアクセス装置と特定の記憶装置との間に限定して、通信を中継することができる。
許可手段1bは、記憶装置内のデータへのアクセスが許可されているデータアクセス装置に障害が発生すると、他のデータアクセス装置からその記憶装置内のデータへのアクセスを許可する。例えば許可手段1bは、データアクセス装置2−4から記憶装置1−3へのデータのアクセスを許可する場合、中継装置1aに対し、データアクセス装置2−4と記憶装置1−3との間の通信を中継するように指示する。
変更手段1cは、データアクセス装置から記憶装置内のデータへのアクセスが新たに許可されると、データと該データへのアクセス要求の転送先となるデータアクセス装置との対応関係を示す対応情報3を変更する。例えば変更手段1cは、記憶装置内のデータに対するアクセス要求の転送先が、新たに許可されたデータアクセス装置となるように、アクセス要求の転送先を示す対応情報3を変更する。例えば、変更手段1cは、データアクセス装置2−4から記憶装置1−3内のデータへのアクセスが許可されると、記憶装置1−3内のデータへのアクセス要求がデータアクセス装置2−4に転送されるように、対応情報3を更新する。例えば変更手段1cは、記憶装置1−3の識別情報、または記憶装置1−3を格納先とするデータの識別情報に対応付けて、データアクセス装置2−4の識別情報を、対応情報3に設定する。
データアクセス装置2−1,2−2,2−3,2−4,・・・は、転送手段4経由でデータのアクセス要求を受信する。そして、データアクセス装置2−1,2−2,2−3,2−4,・・・は、中継装置1aにおいて通信が許容されている記憶装置内の、受信したアクセス要求に示されるデータにアクセスする。例えばアクセス要求が、データの書き込み要求であれば、データアクス装置は、記憶装置にデータを書き込む。またアクセス要求がデータの読み出し要求であれば、データアクセス装置は、記憶装置からデータを読み出し、アクセス要求の送信元の端末装置YあるいはアプリケーションサーバZへ、読み出したデータを送信する。
対応情報3は、データに対するアクセス要求の転送先を示す情報である。対応情報3は、例えば情報処理装置Xの主記憶装置や補助記憶装置に格納される。対応情報3には、各記憶装置に格納されるデータ群の共通属性と、その記憶装置内のデータへのアクセス要求の転送先となるデータアクセス装置が設定されている。データ群の共通属性は、同じ記憶装置に格納されているデータ群に共通の属性である。例えばデータまたはそのデータの管理情報に基づいて生成したハッシュ値を、共通属性として使用することができる。
転送手段4は、対応情報3に基づいて、記憶装置1−3内のデータへのアクセス要求を第2のデータアクセス装置2−4に転送する。例えば転送手段4は、アクセス要求で指定されたデータの共通属性を求める。次に、転送手段4は、対応情報3を参照し、求めた共通属性に対応付けられたデータアクセス装置を特定する。そして転送手段4は、特定したデータアクセス装置に、アクセス要求を転送する。
このような情報処理装置Xにおいて、いずれかのデータアクセス装置で障害が発生すると、そのデータアクセス装置からデータのアクセスが許可されていた記憶装置に対して、他のデータアクセス装置からのアクセスが許可される。例えば、データアクセス装置2−3から記憶装置1−3内のデータへのアクセスが許可されており、データアクセス装置2−4から記憶装置1−3内のデータへのアクセスが許可されていない状況で、データアクセス装置2−3に障害が発生したものとする。この場合、許可手段1bは、正常に動作しているデータアクセス装置の中から、データアクセス装置2−3の代わりに記憶装置1−3へのアクセスを行わせるデータアクセス装置を選択する。例えばデータアクセス装置2−4が選択されたものとする。すると許可手段1bは、選択したデータアクセス装置2−4から記憶装置1−3内のデータへのアクセスを許可する。例えば許可手段1bは、データアクセス装置2−4と記憶装置1−3との間の通信を中継するように、中継装置1aに指示する。
次に変更手段1cは、記憶装置1−3に格納されているデータへのアクセス要求の転送先がデータアクセス装置2−4となるように、対応情報3を更新する。例えば、対応情報3内の記憶装置1−3に対応付けられたデータアクセス装置の識別番号を、障害が発生したデータアクセス装置の2−3の識別番号から、新たにアクセスを許可したデータアクセス装置2−4の識別番号に変更する。
その後、端末装置YあるいはアプリケーションサーバZから情報処理装置Xに、記憶装置1−3内のデータに対するアクセス要求が入力されると、そのアクセス要求を転送手段4が受信する。転送手段4は、対応情報3を参照して、受信したアクセス要求の転送先が、データアクセス装置2−4であると判断する。そして転送手段4は、受信したデータアクセス要求を、データアクセス装置2−4に転送する。データアクセス装置2−4は、受信したアクセス要求に従って、記憶装置1−3内のデータにアクセスする。
このように、第1の実施の形態では、データアクセス装置が故障した場合、そのデータアクセス装置からデータのアクセスが許可されていた記憶装置に対して、他のデータアクセス装置からアクセスできるようにした。これにより、データアクセス装置が故障しても、データ転送をせずに、そのデータアクセス装置を介してアクセスしていた記憶装置へのアクセス環境を回復させることができる。すなわち、データが多重化されていた場合であれば、情報処理装置Xで提供されるデータの多重度を回復させることができる。またデータが多重化されていない場合であれば、データアクセス装置の故障によってアクセス不能となったデータへのアクセスが可能となるように、アクセス環境を回復させることができる。
そして第1の実施の形態では、データ転送をせずにアクセス環境を回復できるため、アクセス環境の迅速な回復が可能である。しかも記憶装置の記憶容量が膨大となっても、データのアクセス環境の回復に要する時間が長期化せずにすむ。このようなアクセス環境の迅速な回復により、システムの信頼性が向上する。
さらに、データ転送が行われないことにより、データ転送時に発生する、データ転送処理とユーザのサービス利用との競合も抑止される。すなわち、データのアクセス環境の回復のために記憶装置内のデータを転送しようとすると、複数のデータアクセス装置を介したデータ転送を行うこととなる。するとデータアクセス装置の処理能力が、情報処理装置X内でのデータ転送処理に費やされてしまい、ユーザに対するサービス提供に割り当てることができる処理能力が低下してしまう。第1の実施の形態では、データ転送をせずにデータのアクセス環境の回復が可能であるため、回復処理時のユーザに提供するサービスの処理能力の低下が抑止される。しかも、データ転送が不要となったことで、ネットワークの帯域を、ユーザサービスに有効利用でき、サービス品質が向上する。
なお、許可手段1b、変更手段1cは、例えば情報処理装置Xまたはストレージ装置1が有するプロセッサにより実現することができる。また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、データを冗長化して管理するクラウドストレージシステムにおいて、サーバの障害発生時に、冗長度を迅速に回復できるようにしたものである。また第2の実施の形態のストレージシステムは、オブジェクトストレージとして機能するものとする。オブジェクトストレージとは、オブジェクトと呼ばれるデータ単位でデータを管理するシステムである。オブジェクトストレージでは、階層型のディレクトリ構造におけるディレクトリを指定せずに、オブジェクト固有の情報に基づいて、そのオブジェクトにアクセスすることができる。
図2は、第2の実施の形態のシステム構成例を示す図である。第2の実施の形態に係るストレージシステムAは、ネットワーク20を介して接続された端末装置23a,23b,・・・あるいはストレージシステムAに格納されているデータを利用するアプリケーションサーバ24a,24b,・・・が接続されている。ストレージシステムAは、端末装置23a,23b,・・・を使用するユーザあるいはアプリケーションサーバ24a,24b,・・・の要求に対して、ストレージの使用環境を提供する。
ストレージシステムAは、コントロールサーバ100、フロントエンドサーバ200、複数のサーバノード31,32,31a,32a,31b,32b,・・・、ネットワークスイッチ21,22、SASエクスパンダ40,40a,40b,・・・、およびディスクエンクロージャ50,50a,50b,・・・を有する。ディスクエンクロージャ50,50a,50b,・・・それぞれには、複数のHDD51,52,・・・が内蔵されている。
ネットワークスイッチ21は、フロントエンドサーバ200、および複数のサーバノード31,32,33,34,35,・・・との間の通信に使用される。例えばフロントエンドサーバ200で振り分けられたアクセス要求は、ネットワークスイッチ21を介してサーバノードに転送される。またサーバノードからのアクセス要求に対応する応答が、ネットワークスイッチ21を介してフロントエンドサーバ200に転送される。
ネットワークスイッチ22は、コントロールサーバ100とSASエクスパンダ40,40a,40b,・・・との間の通信に使用される。例えば、コントロールサーバ100とSASエクスパンダ40,40a,40b,・・・に対する、サーバノードとHDDとの接続・切断の指示が、ネットワークスイッチ22で転送される。
コントロールサーバ100は、ネットワークスイッチ21,22に接続されている。コントロールサーバ100は、ネットワークスイッチ22を介してSASエクスパンダ40,40a,40b,・・・と通信し、任意のサーバノードとHDDとの間の通信の接続・切断を制御する。例えば、コントロールサーバ100は、SASエクスパンダ内のゾーニングの設定により、任意のサーバノードと任意のHDDとの通信を可能とすることができる。ゾーニングの設定は、例えばコントロールサーバ100からSASエクスパンダ40,40a,40b,・・・に、SMP(Serial Management Protocol)コマンドを送信することで実施可能である。コントロールサーバ100は、ゾーニングの設定を指示するSMPコマンドを、IP(Internet Protocol)などの他のプロトコルのパケットでカプセル化して、SASエクスパンダ40,40a,40b,・・・に送信することができる。
またコントロールサーバ100は、ネットワークスイッチ21を介して、フロントエンドサーバ200やサーバノード31,32,31a,32a,31b,32b,・・・と通信することができる。例えばコントロールサーバ100は、サーバノードとHDDとの間の接続関係を変更した場合、変更後のサーバノードとHDDとの対応関係を示す情報を、フロントエンドサーバ200に通知する。またコントロールサーバ100は、サーバノード31,32,31a,32a,31b,32b,・・・それぞれと定期的に通信を行い、各サーバノードの死活状態を監視する。死活状態の監視とは、サーバノードが正常に動作しているか、サーバノードに異常があるかを定期的に判断する処理である。
フロントエンドサーバ200は、端末装置23a,23b,・・・あるいはアプリケーションサーバ24a,24b,・・・からのデータのアクセス要求を、アクセス対象のデータを管理しているサーバノードに振り分ける。例えばフロントエンドサーバ200は、ユーザからのオブジェクトのPUT/GET要求を、そのオブジェクトを管理しているサーバノードに振り分ける。PUT要求はオブジェクトの書き込み要求であり、GET要求は、オブジェクトの読み出し要求である。
フロントエンドサーバ200は、例えば、アクセス対象のオブジェクトの固有情報に基づいて、アクセス要求の振り分け先となるサーバノードを決定する。例えばフロントエンドサーバ200は、アクセス対象のオブジェクトを使用するユーザのアカウント名や、そのオブジェクトのオブジェクト名などを含むオブジェクトのパスをハッシュ関数に入力し、ハッシュ値を求める。ハッシュ関数としては、例えばMD5(Message Digest Algorithm 5)などの一方向ハッシュ関数が用いられる。ハッシュ関数の演算の結果、ハッシュ値として、一定幅のビット列が得られる。フロントエンドサーバ200は、オブジェクトの固有情報から得られたハッシュ値の上位nビット(nは1以上の整数)の値に応じて、そのオブジェクトのアクセス要求の振り分け先となるサーバノードを判定する。例えばフロントエンドサーバ200には、ハッシュ値の上位nビットの値と、その値に対応するフロントエンドサーバとの対応関係を示す対応情報が予め設定されている。そしてフロントエンドサーバ200は、対応情報を参照して、オブジェクトのアクセス要求の振り分け先となるサーバノードを判定する。
サーバノード31,32,31a,32a,31b,32b,・・・は、CPUやメモリを有するコンピュータである。サーバノード31,32,31a,32a,31b,32b,・・・は、ネットワークスイッチ21とSASエクスパンダ40,40a,40b,・・・とに接続されている。サーバノード31,32,33,34,35,・・・は、SASエクスパンダ40,40a,40b,・・・を介してHDDに接続される。そしてサーバノード31,32,31a,32a,31b,32b,・・・は、ネットワークスイッチ21を介してオブジェクトへのアクセス要求を受け取り、そのアクセス要求に応じて、接続されたHDDにアクセスする。
SASエクスパンダ40,40a,40b,・・・は、コントロールサーバ100からの指示に従って、サーバノードとHDDとの間の通信を可能にする。コントロールサーバ100からの指示は、例えばSMPコマンドによって与えられる。サーバノードとHDDとの接続とは、サーバノードとHDDとの間で通信が可能な状態にすることである。例えばSASエクスパンダ40,40a,40b,・・・は、サーバノードから送信された信号は、そのサーバノードに接続されたHDDに対してのみ送信する。
なお図2の例では、複数のSASエクスパンダ40,40a,40b,・・・が、並列にカスケード接続されている。SASエクスパンダ40,40a,40b,・・・を並列にカスケード接続することで、サーバノードやHDDに局所性が生まれる。サーバノードやHDDに局所性があることで、障害発生の影響が、できるだけ局所的な範囲に留まるように制御にすることができる。例えば障害が発生したサーバノードに接続されていたHDDを他のサーバノードに接続する場合、障害が発生したサーバノードと同じSASエクスパンダに接続されているサーバノードに、そのHDDを接続するようにする。これにより、障害発生時のリカバリ処理の影響範囲が、SASエクスパンダを共有するサーバノード内に抑止される。
またストレージシステムAでは、複数のSASエクスパンダ40,40a,40b,・・・が使用されているが、SASエクスパンダ40,40a,40b,・・・は、ストレージ装置のようなディスクコントローラを有しておらず、安価に製造可能である。さらにストレージシステムAでは、サーバノード間でのレプリケーションによりデータが多重化されるため、RAID(Redundant Array of Inexpensive Disks)装置を用いずにデータの多重化が可能である。
なお、図2の例では、コントロールサーバ100とフロントエンドサーバ200とを別の装置としているが、コントロールサーバ100とフロントエンドサーバ200との機能を1つの装置にまとめてもよい。またディスクエンクロージャ50,50a,50b,・・・には、少なくとも一部のHDDに代えて、SSDを実装することもできる。
図2に示したHDD51,52,・・・は、図1に示した第1の実施の形態における記憶装置1−1,1−2,1−3,・・・の一例である。図2に示したSASエクスパンダ40,40a,40b,・・・は、図1に示した第1の実施の形態における中継装置1aの一例である。また図2に示したサーバノード31,32,31a,32a,31b,32b,・・・は、図1に示した第1の実施の形態におけるデータアクセス装置2−1,2−2,2−3,2−4,・・・の一例である。
次に、各装置のハードウェア構成について説明する。
図3は、コントロールサーバのハードウェアの一構成例を示す図である。コントロールサーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス100aを介してRAM102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
RAM102は、コントロールサーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
バス100aに接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107、複数の通信インタフェース108,109がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コントロールサーバ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をプロセッサ101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、コントロールサーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置15やメモリリーダライタ16を接続することができる。メモリ装置15は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ16は、メモリカード17へのデータの書き込み、またはメモリカード17からのデータの読み出しを行う装置である。メモリカード17は、カード型の記録媒体である。
通信インタフェース108は、ネットワークスイッチ21に接続されている。通信インタフェース108は、ネットワークスイッチ21を介してサーバノードと通信する。
通信インタフェース109は、ネットワークスイッチ22に接続されている。通信インタフェース109は、ネットワークスイッチ22を介して、SASエクスパンダ40,40a,40b,・・・と通信する。
以上のようなハードウェア構成によって、コントロールサーバ100の処理機能を実現することができる。またフロントエンドサーバ200やサーバノード31,32,31a,32a,31b,32b,・・・も、コントロールサーバ100と同様のハードウェアにより実現できる。また、第1の実施の形態に示した情報処理装置Xも、図3に示したコントロールサーバ100と同様のハードウェアにより実現することができる。
コントロールサーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コントロールサーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コントロールサーバ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。またコントロールサーバ100に実行させるプログラムを、光ディスク14、メモリ装置15、メモリカード17などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
図4は、SASエクスパンダのハードウェアの一例を示す図である。第2の実施の形態では、SASエクスパンダ40がSASエクスパンダであり、SASエクスパンダが有するゾーニング機能により、サーバノードとHDDとの間の通信の許可・不許可の制御を行うものとする。ゾーニングでは、物理リンクポートが複数のゾーンに分類され、同一ゾーンに属する物理リンクポート間の通信が、SASエクスパンダ40内で許可される。SASエクスパンダ40内のゾーニング設定は、外部からのSMPコマンドの入力により、変更可能である。なお、後述するサーバノードのゾーニングと区別するため、SASエクスパンダにおけるゾーンを、SASゾーンと呼ぶこととする。
以下、SASエクスパンダ内で物理リンクポート間の通信を許可し、通信の中継を可能とすることを、各物理リンクポートに接続されたサーバノードと記憶装置とを接続すると呼ぶこととする。逆に、SASエクスパンダ内で物理リンクポート間の通信を不許可にし、通信を中継できなくすることを、各物理リンクポートに接続されたサーバノードと記憶装置とを切断すると呼ぶこととする。
SASエクスパンダ40は、制御部41、通信インタフェース42、および複数の物理リンクポート(PHY)44a,44b,44c,44d,44e,44f,44g,・・・,44zを有している。
制御部41は、CPUやメモリを内蔵しており、SASエクスパンダ40全体を制御する。例えば制御部41は、通信インタフェース42を介してコントロールサーバ100からの指示を取得し、指示に従って、物理リンクポート間の通信の許可または不許可の制御を行う。例えば、制御部41は、ゾーン情報41aを有している。ゾーン情報41aには、ゾーンIDに対応付けて、そのSASゾーンIDで示されるSASゾーンに属する物理リンクポートのID(物理リンクポートID)が設定されている。制御部41は、コントロールサーバ100からの指示に従って、各SASゾーンに属する物理リンクポートを示すゾーン情報41aを変更し、ゾーン情報41aに従って物理リンクポート間の通信を許可する。
通信インタフェース42は、コントロールサーバ100との間で通信を行う。通信インタフェース42は、例えばシリアル通信によりコントロールサーバ100と通信する。
物理リンクポート(PHY)44a,44b,44c,44d,44e,44f,44g,・・・,44zは、サーバノード31,32,33,・・・、HDD51,52,53,54,・・・、他のSASエクスパンダ40aなどを接続する通信ポートである。サーバノード31,32,33,・・・に接続されている物理リンクポートと、HDD51,52,53,54,・・・に接続されている物理リンクポートとの間は、制御部41によって通信の許可・不許可の制御が行われる。
サーバノード31,32,33,・・・は、それぞれHBA(Host Bus Adapter)31−1,32−1,33−1,・・・を有している。HBA31−1,32−1,33−1,・・・は、HDDと通信するためのインタフェースである。そしてHBA31−1,32−1,33−1,・・・が、SASエクスパンダ40の物理リンクポートに接続される。
このようなSASエクスパンダ40を用いて、コントロールサーバ100からの指示に応じて、サーバノードとHDDとの間の接続・切断の制御が行われる。例えば制御部41は、コントロールサーバ100から、サーバノードとHDDとの間の接続指示を受け取ると、指定されたサーバノードとHDDとの物理リンクポートが同一ゾーンとなるように、指示に従ってゾーン情報43aを更新する。そして制御部41は、ゾーン情報43aに従って、同一SASゾーンに属する物理リンクポート間の通信を中継する。
また、制御部41は、コントロールサーバ100から、接続されているサーバノードとHDDとを切断する指示を受け取ると、例えば、そのHDDに接続された物理リンクポートを、接続解除用のSASゾーンに含める。接続解除用のゾーンは、サーバノードに接続された物理リンクポートが属していないSASゾーンである。図4の例では、接続解除用のSASゾーンのSASゾーンIDが「99」である。HDDを接続解除用のSASゾーンに含め、制御部41がSASエクスパンダ40内での物理リンクポート間の接続を変更することで、接続解除用のSASゾーンに加えられたHDDは、すべてのサーバノードから切断される。
このように、サーバノード31,32,33,・・・は、SASエクスパンダ40を介して、特定のHDDに接続される。図4の例では、サーバノード31はHDD51に接続され、サーバノード32は、HDD52に接続され、サーバノード33は、HDD53,54に接続されている。そしてサーバノード31,32,33,・・・は、接続されたHDDに対してアクセスすることができる。
なお図4の例では、物理リンクポート44zにSASエクスパンダ40aが接続されている。図2に示したように、SASエクスパンダ40aの先には、さらに別のSASエクスパンダ40b,・・・が接続されている。このとき、SASエクスパンダ40の物理リンクポートとSASエクスパンダ40aの物理リンクポートとを、同じSASゾーンに含めることも可能である。例えばSASエクスパンダ40,40a,40b,・・・が、互いに相手のデバイスアドレスなどの情報を取得し、他のSASエクスパンダの物理リンクポートを含めて、各物理リンクポートにシステム内で一意の物理リンクポートIDを付与する。そして、例えばSASエクスパンダ40,40a,40b,・・・が通信する際に、どのSASゾーンの通信かを明示する。これにより、複数のSASエクスパンダを跨ったSASゾーンであっても、そのSASゾーン内での通信のみを許可することができる。
次に、コントロールサーバ100とフロントエンドサーバ200とのそれぞれが有する機能について説明する。
図5は、コントロールサーバとフロントエンドサーバとの機能の一例を示すブロック図である。コントロールサーバ100は、資源管理情報記憶部110、サーバノード監視部120、許否指示部130、および対応関係変更部140を有する。
資源管理情報記憶部110は、サーバ資源とディスク資源との管理情報(資源管理情報)を記憶する。例えば、コントロールサーバ100のRAM102またはHDD103の記憶領域の一部が、資源管理情報記憶部110として使用される。資源管理情報におけるサーバ資源の情報には、例えばサーバノードが使用されているか否かの情報や、サーバノードが使用するHDDの情報が含まれる。また資源管理情報におけるディスク資源の情報には、例えば、HDDが接続されている、SASエクスパンダ40,40a,40b,・・・の物理リンクポートのIDが含まれる。
サーバノード監視部120は、サーバノード31,32,33,・・・の死活監視を行う。例えばサーバノード監視部120は、各サーバノード31,32,33,・・・に対して定期的に制御コマンドを送信し、制御コマンドに対する応答の有無により、サーバノードが正常に動作しているか否かを判断する。なお各サーバノード31,32,33,・・・が定期的にハートビートを送信するようにし、サーバノード監視部120は、ハートビートの受信の有無により死活監視を行うこともできる。サーバノード監視部120は、障害が発生したサーバノードを検出した場合、そのサーバノードの識別情報(例えばIPアドレス)を、許否指示部130に通知する。
許否指示部130は、SASエクスパンダ40,40a,40b,・・・に対して、サーバノードとHDDとの接続・切断を指示する。サーバノードとHDDとの接続の指示とは、サーバノードからHDDへのアクセスを許可する場合に、そのサーバノードとそのHDD間で通信されるデータを中継するように、SASエクスパンダに指示することである。サーバノードとHDDとの切断の指示とは、サーバノードからHDDへのアクセスを不許可にする場合に、そのサーバノードとそのHDD間で通信されるデータを中継しないようにSASエクスパンダに指示することである。例えば許否指示部130は、障害が発生したサーバノードに接続されているHDDの、他のサーバノードへの接続指示を、SASエクスパンダ40,40a,40b,・・・に対して送信する。なお許否指示部130は、資源管理情報記憶部110を参照して、障害が発生したサーバノードに接続されているHDDの新たな接続先となるサーバノードを選択する。また許否指示部130は、サーバノードとHDDとの接続または切断をSASエクスパンダ40,40a,40b,・・・に指示した後、変更後の接続関係に従って資源管理情報記憶部110内の資源管理情報を更新する。
対応関係変更部140は、許否指示部130により、サーバノードとHDDとの接続状態が変更されると、フロントエンドサーバ200が保持する対応情報を変更する。対応情報は、HDD内のオブジェクト単位の各データと、そのデータにアクセスが可能なサーバノードとの対応関係を示す情報である。例えば対応関係変更部140は、フロントエンドサーバ200で対応情報を記憶する対応情報記憶部210に、リモートアクセスを行い、対応情報を更新する。
フロントエンドサーバ200は、対応情報記憶部210とリクエスト制御部220とを有する。
対応情報記憶部210は、オブジェクト単位の各データを格納するHDDが、どのサーバノードに接続されているのかを示す対応情報を記憶する。例えば、フロントエンドサーバ200内のRAMまたはHDDの記憶領域の一部が、対応情報記憶部210として使用される。
リクエスト制御部220は、端末装置23a,23b,・・・あるいはアプリケーションサーバ24a,24b,・・・からデータのアクセス要求を受け取る。次に、リクエスト制御部220は、対応情報記憶部210内の対応情報に基づいて、アクセス対象のデータを管理しているサーバノードを特定する。そしてリクエスト制御部220は、特定したサーバノードへ、アクセス要求を転送する。
なお、図5に示した許否指示部130は、図1に示した第1の実施の形態における許可手段1bの一例である。また図5に示した対応関係変更部140は、図1に示した第1の実施の形態における変更手段1cの一例である。また図5に示したリクエスト制御部220は、図1に示した第1の実施の形態における転送手段4の一例である。また、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
次に、コントロールサーバ100における資源の管理方法について説明する。第2の実施の形態では、コントロールサーバ100は、図4に示したSASエクスパンダのゾーニングとは別に、サーバノードを複数のゾーンに分類する。そしてコントロールサーバ100は、同一ゾーンに属するサーバノードとHDDとを接続する。
またフロントエンドサーバ200がレプリケーション技術を用いてデータを多重化して格納する場合がある。この場合、コントロールサーバ100は、同一内容のデータ(レプリカ)が異なるゾーンのサーバノードが管理するHDDに分散して格納されるように、サーバノードとHDDとの接続を行う。
図6は、サーバノードのゾーニングとレプリケーションとの関係の一例を示す図である。図6に示すようにサーバノード31,32,33,34,35,・・・は、複数のゾーン61〜65のいずれかに属している。そしてサーバノード31,32,33,34,35,・・・には、HDD51,52,53,54,55,・・・が接続されている。サーバノードのゾーン分けは、電源系統やラック別などの物理的配置に基づいて行われる。例えば電源系統でゾーン分けをした場合、電源を共有するサーバノード同士が、同じゾーンにまとめられる。
またレプリケーションにより、同一内容の複数のデータが、異なるHDDに分散して格納されている。図6の例では、データ71〜73が同じ内容であり、データ74〜76が同じ内容である。ここで、レプリケーションにおける複製元のデータ71,74を「レプリカ#0」とする。また「レプリカ#0」のデータ71,74から2つずつの複製が作成され、複製されたデータ72,73,75,76を「レプリカ#1」、「レプリカ#2」とする。
第2の実施の形態では、同じ内容のデータを有する複数のHDDは、互いに異なるゾーンのサーバノードに接続される。例えば同じ内容のデータ71〜73を格納するHDD51,53,55のうち、データ71を格納するHDD51はゾーン61に属するサーバノード31に接続されている。そのため、データ72を格納するHDD53は、ゾーン61とは別のゾーン63に属するサーバノード33に接続されている。さらに、データ73を格納するHDD55は、ゾーン61,63とのいずれとも異なるゾーン65に属するサーバノード35に接続されている。
このように、電源を共有するサーバノードを同じゾーンにし、同じ内容のデータ同士を異なるゾーンのサーバノードで管理させる。これにより、電源の故障のように、1つのゾーンの全てのサーバノードの動作が停止した場合でも、データを失うことを抑止できる。
そして第2の実施の形態では、障害が発生したサーバノードに接続されているHDDを別のサーバノードにつなぎ替える場合でも、障害が発生したサーバノードと同じゾーンに属するサーバノードが、接続先として優先的に選択される。そして、選択したサーバノードにHDDが接続される。ここで、1つのデータに対する複数のレプリカは、原則として異なるゾーンのサーバで管理されている。そのためHDDへのサーバノードのつなぎ替えの前後で、HDDにアクセス可能なサーバノードが属するゾーンを一定に保つことで、同じ内容の複数のデータが、同じサーバで管理されることを抑止することができる。
次に、対応情報記憶部210内の対応情報について詳細に説明する。
図7は、対応情報のデータ構造の一例を示す図である。フロントエンドサーバ200内の対応情報記憶部210は、対応情報として、デバイス管理テーブル211と、データの多重度分のハッシュ対応テーブル212,213,214を有している。
デバイス管理テーブル211は、HDDの接続先に関する情報が登録されたデータテーブルである。デバイス管理テーブル211には、ディスクID、サーバIPアドレス、マウントポイント、およびゾーンの欄が設けられている。ディスクIDの欄には、HDDのシステム内での識別番号(ディスクID)が設定される。サーバIPアドレスの欄には、ディスクIDで示されるHDDがマウントされたサーバノードの、IPアドレスが設定される。マウントポイントの欄には、サーバノードにマウントされたHDDのマウントポイントが設定される。マウントポイントは、HDDにアクセスするための定義情報などが記載されたファイルを示している。マウントポイントで示されたファイルに基づいて、マウントされたHDDにアクセスすることができる。ゾーンの欄には、ディスクIDで示されるHDDが接続されたサーバノードが属するゾーンの識別番号(ゾーンID)が設定される。
ハッシュ対応テーブル212,213,214は、アクセス対象のデータ(オブジェクト)の格納先であるHDDを管理するデータテーブルである。ハッシュ対応テーブル212は「レプリカ#0」に相当するデータの格納先を示す。ハッシュ対応テーブル213は「レプリカ#1」に相当するデータの格納先を示す。また、ハッシュ対応テーブル214は「レプリカ#2」に相当するデータの格納先を示す。ハッシュ対応テーブル212,213,214には、ハッシュ値の上位nビット値(Hash n bits)とディスクIDとの欄が設けられている。ハッシュ値の上位nビット値の欄には、アクセス対象のデータに固有の情報に基づいて算出されたハッシュ値の上位nビットの値が設定される。ディスクIDの欄には、ハッシュ値の上位nビット値に対応するデータの格納先となるHDDのディスクIDが設定される。
ハッシュ値の上位nビットとデバイスIDとの対応関係は、例えば、システムの運用開始前に予め決定し、ハッシュ対応テーブル212,213,214に設定される。例えばハッシュ値の上位nビットに対応付けるデバイスIDを、システム内のHDDのデバイスIDからランダムに決定することができる。またHDDの記憶容量などで、各HDDに重み付けを行うこともできる。例えば、記憶容量が大きいHDDほど、大きな重みが設定される。そして重みが大きなHDDほど高い確率で、ハッシュ値の上位nビットに対応付けられるようにする。なおハッシュ値の上位nビットとデバイスIDとの対応関係の決定方法としてどのような方法を採用しても、同一ハッシュ値の複数のレプリカは、それぞれ別のゾーンのサーバノードに接続されたHDDに対応付けるものとする。
なお、図7に示したデバイス管理テーブル211とデータの多重度分のハッシュ対応テーブル212,213,214とを含む対応情報は、図1に示した第1の実施の形態の対応情報3の一例である。
次に、資源管理情報記憶部110内の資源管理情報について詳細に説明する。
図8は、資源管理情報のデータ構造の一例を示す図である。コントロールサーバ100内の資源管理情報記憶部110は、資源管理情報として、サーバ管理テーブル111とディスク管理テーブル112とを有している。
サーバ管理テーブル111は、サーバノードの状態を管理するデータテーブルである。サーバ管理テーブル111には、IPアドレス(IP Addr)、待機系、ゾーン番号(Zone#)、ディスクID、直近エンクロージャ番号(直近Encl#)、およびSASゾーンID(SAS Phy Zone ID)の欄が設けられている。IPアドレスの欄には、サーバノードのIPアドレスが設定される。待機系の欄には、サーバノードが待機系か現用系かを示す情報が設定される。待機系とは、サーバノードがユーザへのサービス提供に使用されていない状態である。現用系とは、サーバノードがユーザへのサービス提供に使用されている状態である。図8の例では、待機系のサーバノードであれば、待機系の欄に「no」と設定される。また現用系のサーバノードであれば、待機系の欄に「yes」と設定される。ゾーン番号の欄には、サーバノードが属するゾーンのゾーン番号が設定される。ディスクIDの欄には、サーバノードに接続されたHDDのディスクIDが設定される。直近エンクロージャ番号の欄には、HDDが格納されたディスクエンクロージャ50,50a,50b,・・・のうち、サーバノードに通信経路上、直近のエンクロージャの識別番号が設定される。直近のエンクロージャとは、サーバノードからエンクロージャ内のHDDまでの通信経路上で、通信を中継するSASエクスパンダの数が最も少なくなるエンクロージャである。例えば図2の例では、サーバノード31に直近のエンクロージャは、ディスクエンクロージャ50である。SASゾーンIDの欄には、サーバノードが接続された物理リンクポートが属するSASゾーンのSASゾーンIDが設定される。
ディスク管理テーブル112は、ディスクの状態を管理するデータテーブルである。ディスク管理テーブル112には、ディスクID、エンクロージャID(Encl ID)、ディスクSASアドレス(Disk SAS Addr)、エクスパンダSASアドレス(Exp SAS Addr)、およびエクスパンダ物理リンクポートID(Exp Phy ID)の欄が設けられている。
ディスクIDの欄には、HDDのディスクIDが設定される。ディスクIDは、任意の数値または文字列である。例えばHDDのSASアドレスをディスクIDとすることもできる。
エンクロージャIDの欄には、HDDが実装されたエンクロージャの識別子(エンクロージャID)である。
ディスクSASアドレスの欄には、HDDのSASアドレス(機器固有のアドレス)が設定される。HDDのSASアドレスは、サーバノードのOS上でHDDを特定するために利用される。
エクスパンダSASアドレスは、SASエクスパンダとして機能するSASエクスパンダのSASアドレスである。SASエクスパンダのSASアドレスは、SMP通信の際にSASエクスパンダを特定するために使用される。
エクスパンダ物理リンクポートIDの欄には、HDDが接続された、SASエクスパンダの物理リンクポートの物理リンクポートIDが設定される。この物理リンクポートIDは、SASのゾーニングの設定を指示する際における、SASゾーンに属する物理リンクポートの指定に使用される。
以上のような構成のシステムにより、障害が発生したサーバノードに接続されていたHDDを、他のサーバノードにつなぎ替えることができる。そしてHDDを他のサーバノードに接続した後のサーバノードとHDDとの対応関係に従って、フロントエンドサーバ200の対応情報を更新することで、障害が発生したサーバノードに接続されていたHDDへのアクセスが可能となる。
障害が発生したサーバノードに接続されていたHDDを他のサーバノードに接続する場合における、他のサーバノードの選択基準としては、例えば以下の選択基準がある。
(選択基準1)待機系のサーバノードであること。
(選択基準2)障害が発生したサーバノードと同一ゾーンのサーバノードであること。
(選択基準3)接続されているHDD数が他より少ないサーバノードであること。
(選択基準4)障害が発生したサーバノードに接続されていたHDDが実装されているエンクロージャに、通信経路上の距離が近いサーバノードであること。なお、第2の実施の形態では、正常に運用している間は、各HDDは、通信経路上の距離が近いサーバノードに接続されているものとする。この場合、(選択基準4)は、直近のエンクロージャが、障害が発生したサーバノードと同一のサーバノードであること、と言い換えることができる。
(選択基準1)が適用されると、HDDの接続が許容されるサーバノードに、待機系のサーバノードと現用系のサーバノードとがある場合、待機系のサーバノードが選択される。これは、サーバノード資源を有効に活用し、個々のサーバノードの負荷を少なくするのに有効な選択基準である。
(選択基準2)が適用されると、HDDの接続が許容されるサーバノードに、障害が発生したサーバノードと同じゾーンに属するサーバノードと、別のゾーンに属するサーバノードとがあれば、同じゾーンに属するサーバノードが選択される。これは、同じデータのレプリカ同士が、同じゾーンのサーバノードの管理下になるのを抑止するのに有効な選択基準である。
(選択基準3)が適用されると、HDDの接続が許容されるサーバノードのうち、接続されているHDD数が少ないサーバノードが選択される。これは、各サーバノードが扱うデータ量の均等化を図るのに有効な選択基準である。
(選択基準4)が適用されると、HDDの接続が許容されるサーバノードのうち、HDDとの通信経路上の距離が近いサーバノードが選択される。これは、サーバノードからHDDにアクセスする際のアクセス速度の低下を抑止するのに有効な選択基準である。すなわち、サーバノードとHDDとの間の通信経路上のSASエクスパンダの数が多いほど、サーバノードからHDDに対するディスクIOの性能は低下する。従って、サーバノードとHDDとの間の通信経路上のSASエクスパンダの数をできるだけ少なくすることで、アクセス速度の低下が抑止される。
これらの選択基準のうち、1以上の選択基準を用いて、HDDの接続先のサーバノードを選択することができる。選定基準の組み合わせ例としては、(選択基準2)と(選択基準3)との組み合わせや、(選択基準3)と(選択基準4)との組み合わせが考えられる。(選択基準2)と(選択基準3)とを組み合わせた場合、同一ゾーン内のサーバノード間でディスク数が均等になるように、HDDの接続先を変更できる。また(選択基準3)と(選択基準4)とを組み合わせた場合、直近のエンクロージャが同一のサーバノード間でディスク数が均等になるように、HDDの接続先を変更できる。
コントロールサーバ100においてどの選択基準を適用するのかは、ユーザのポリシで任意に設定可能である。例えば、ユーザは、コントロールサーバ100に対して、以下の設定を行うことができる。
・HDDの接続先のサーバノードとして、特定のサーバノードをIPアドレスで指定
・単一の選択基準、または複数の選択基準の組み合わせの指定
・複数の選択基準を組み合わせる場合、適用する選択基準間の優先順位の指定
・選択基準に合致するサーバノードが無かった場合における、HDDの接続先の選択方法の指定
選択基準に合致するサーバノードがなかった場合における、HDDの接続先の選択方法としては、例えば、すべてのサーバノードに均等にHDDが接続されるように接続先を選択する方法がある。また、ランダムに接続先のサーバノードを選択するようにしてもよい。さらに、ラウンドロビンで接続先のサーバノードを選択してもよい。
複数の選択基準を用いる場合、許否指示部130は、例えば、サーバノードが各選択基準に適合するか否かを順次判断し、適合するサーバノードを、HDDの接続を許容するサーバノード(接続候補)として残す。そして、適用するすべての選択基準に適合するサーバノードがあれば、許否指示部130は、適合するサーバノードの中からHDDの接続先とするサーバノードを選択する。
以下、障害が発生したサーバノードに接続されていたHDDを、他のサーバノードにつなぎ替える接続切替処理について詳細に説明する。
図9は、接続切替処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS101]コントロールサーバ100のサーバノード監視部120は、各サーバノードに対して状態の問い合わせを行う。
[ステップS102]サーバノード監視部120は、サーバノードに送信した状態の問い合わせに対する応答待ちが、タイムアウトしたか否かを判断する。例えばサーバノード監視部120は、サーバノードに状態の問い合わせを送信してから所定期間以内に応答がなければ、タイムアウトしたと判断する。サーバノード監視部120は、タイムアウトした場合、処理をステップS103に進める。またサーバノード監視部120は、タイムアウトせずに応答を受信した場合、処理をステップS101に進め、所定時間待った後、サーバノードに対する状態の問い合わせを行う。
[ステップS103]許否指示部130は、サーバノード監視部120がサーバノードに対する状態問い合わせがタイムアウトした場合、そのサーバノードに障害が発生したと認識する。そして許否指示部130は、障害が発生したサーバノードに関するディスク接続解除処理を実行する。なお、ディスク接続解除処理の詳細は後述する(図10参照)。
[ステップS104]許否指示部130は、ディスク接続解除処理の後、対応関係変更部140と連携して、サーバノードの選択、およびディスク接続処理を実行する。なお、サーバノード選択・ディスク接続処理の詳細は後述する(図11参照)。その後、接続切替処理が終了する。
次に、ディスク接続解除処理について詳細に説明する。
図10は、ディスク接続解除処理の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS111]許否指示部130は、障害が発生したサーバノードの識別子(例えばIPアドレス)を、サーバノード監視部120から取得する。
[ステップS112]許否指示部130は、障害が発生したサーバノードに接続されているHDDを1つ選択する。例えば許否指示部130は、サーバ管理テーブル111を参照し、障害が発生したサーバノードのIPアドレスに対応付けられたディスクIDにより、そのサーバノードに接続されているHDDを認識する。そして許否指示部130は、障害が発生したサーバノードに接続されているHDDのうち、未選択のHDDを1つ選択する。
[ステップS113]許否指示部130は、選択したHDDが接続されたSASエクスパンダに対して、サーバノードとの接続の切断を指示する。例えば許否指示部130は、ディスク管理テーブル112を参照し、選択したHDDが接続されたSASエクスパンダのSASアドレスと、選択したHDDが接続された物理リンクポートの物理リンクポートIDとを取得する。そして許否指示部130は、取得したSASアドレスを有するSASエクスパンダに対して、取得した物理リンクポートIDで示された物理リンクポートが属するSASゾーンを、未接続用のSASゾーンに変更する指示を送信する。指示を受信したSASエクスパンダでは、指定された物理リンクポートが未接続用のSASゾーンに属するように、ゾーニングの変更が行われる。その結果、障害が発生したサーバノードと、選択したHDDとの接続が切断される。
[ステップS114]許否指示部130は、障害が発生したサーバノードに接続されており、切断されていないHDDが残っているか否かを判断する。許否指示部130は、未切断のHDDがあれば、処理をステップS112に進める。また許否指示部130は、障害が発生したサーバノードに接続されていたすべてのHDDの切断が完了した場合、ディスク接続解除処理を終了する。
このようにして、障害が発生したサーバノードに接続されていたすべてのHDDについて、そのサーバノードと接続が解除される。その後、サーバノード選択・ディスク接続処理が行われる。
図11は、サーバノード選択・ディスク接続処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。図11の例では、(選択基準1)待機系のサーバノード、(選択基準2)同一ゾーンのサーバノード、(選択基準4)直近のエンクロージャが同一のサーバノード、(選択基準3)接続されるHDD数が他より少ないサーバノードという順で、各選択基準を適用する。
[ステップS121]許否指示部130は、システム内のすべてのサーバノードの中に、待機系のサーバノードがあるか否かを判断する。例えば許否指示部130は、サーバ管理テーブル111を参照し、待機系の欄に「yes」と設定されているサーバノードが少なくとも1つでもあれば、待機系のサーバノードがあると判断する。許否指示部130は、待機系のサーバノードがあれば、処理をステップS122に進める。また許否指示部130は、待機系のサーバノードがなければ、処理をステップS123に進める。
[ステップS122]許否指示部130は、待機系のサーバノードが存在する場合、すべての待機系のサーバノードを選択候補とする。例えば許否指示部130は、選択候補のサーバノードの識別子(例えばIPアドレス)を、選択候補リストに登録する。選択候補リストは、例えばRAM102に格納される。許否指示部130は、その後、処理をステップS124に進める。
[ステップS123]許否指示部130は、待機系のサーバノードが存在しない場合、システム内のすべてのサーバノードを選択候補とする。例えば許否指示部130は、選択候補のサーバノードの識別子を、選択候補リストに登録する。
[ステップS124]許否指示部130は、選択候補の中に、障害が発生したサーバノードと同一のゾーンに属するサーバノードがあるか否かを判断する。例えば許否指示部130は、サーバ管理テーブル111のゾーン番号の欄を参照し、障害が発生したサーバノードが属するゾーンと、選択候補に含まれる各サーバノードが属するゾーンを判断する。そして許否指示部130は、選択候補に含まれる各サーバノードのうち、障害が発生したサーバノードと同じゾーンに属するサーバノードが少なくとも1台あれば、障害が発生したサーバノードと同一のゾーンに属するサーバノードがあると判断する。許否指示部130は、障害が発生したサーバノードと同一のゾーンに属するサーバノードがあれば、処理をステップS125に進める。また許否指示部130は、該当するサーバノードがなければ、処理をステップS126に進める。
[ステップS125]許否指示部130は、選択候補となっているサーバノードのうち、障害が発生したサーバノードと同一のゾーンに属するサーバノードに、選択候補を限定する。例えば許否指示部130は、選択候補リストから、障害が発生したサーバノードと異なるゾーンに属するサーバノードの識別子を削除する。許否指示部130は、その後、処理をステップS127に進める。
[ステップS126]許否指示部130は、障害が発生したサーバノードと同一のゾーンに属するサーバノードがない場合、選択候補を変更せずに、処理をステップS127に進める。
[ステップS127]許否指示部130は、選択候補の中に、障害が発生したサーバノードと、直近のエンクロージャが同一のサーバノードがあるか否かを判断する。例えば許否指示部130は、サーバ管理テーブル111を参照し、障害が発生したサーバノードの直近のエンクロージャと、選択候補の各サーバノードの直近のエンクロージャとを判断する。そして許否指示部130は、障害が発生したサーバノードと、直近のエンクロージャが同一のサーバノードが少なくとも1つあれば、該当するサーバノードありと判断する。許否指示部130は、該当するサーバノードがあれば、処理をステップS128に進める。また許否指示部130は、該当するサーバノードがなければ、処理をステップS129に進める。
[ステップS128]許否指示部130は、選択候補となっているサーバノードのうち、直近のエンクロージャが、障害が発生したサーバノードと同一のサーバノードに、選択候補を限定する。例えば許否指示部130は、選択候補リストから、直近のエンクロージャが、障害が発生したサーバノードと異なるサーバノードの識別子を削除する。許否指示部130は、その後、処理をステップS130に進める。
[ステップS129]許否指示部130は、直近のエンクロージャが、障害が発生したサーバノードと同一のサーバノードがない場合、選択候補を変更せずに、処理をステップS130に進める。
[ステップS130]許否指示部130は、接続対象のHDDのうち、他のサーバノードに未接続のHDDを1つ選択する。接続対象のHDDとは、障害が発生したサーバノードに、障害発生前まで接続されていたHDDである。
[ステップS131]許否指示部130は、選択対象のサーバノードのうち、接続されているHDDの数が最も少ないサーバノードに、ステップS130で選択したHDDを接続する制御を行う。例えば許否指示部130は、サーバ管理テーブル111を参照し、選択対象のサーバノードそれぞれに設定されているディスクIDの数を数える。次に、許否指示部130は、ディスクIDの数が最も少ないサーバノードを選択し、HDDの接続先に決定する。そして許否指示部130は、選択したHDDと接続先のサーバノードの通信経路上のSASエクスパンダに対して、選択したHDDと接続先のサーバノードとの接続を指示する。例えば許否指示部130は、選択したHDDが接続された物理リンクポートと接続先のサーバノードが接続された物理リンクポートとを、同じSASゾーンに含めるように、SASエクスパンダに指示する。許否指示部130からの指示により、SASエクスパンダが、選択したHDDと接続先のサーバノードとの通信経路を接続する。
[ステップS132]許否指示部130と対応関係変更部140が連携し、フロントエンドサーバ200が有する対応情報の更新処理を行う。対応情報の更新処理の詳細は後述する(図12参照)。
[ステップS133]許否指示部130は、接続対象のHDDのうち、他のサーバノードに未接続のHDDがあるか否かを判断する。許否指示部130は、未接続のHDDがあれば、処理をステップS130に進める。また許否指示部130は、接続対象のすべてのHDDを、障害が発生したサーバノード以外のサーバノードに接続した場合、サーバノード選択・ディスク接続処理を終了する。
このようにして、障害が発生したサーバノードに接続されていたHDDの再接続先が適切に選択され、選択されたサーバノードに、SASエクスパンダを介してHDDが接続される。
次に、対応情報更新処理の手順について詳細に説明する。
図12は、対応情報更新処理の手順の一例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS141]コントロールサーバ100の許否指示部130は、接続先のサーバノードにおけるデバイスマウント用のディレクトリのパスに、接続対象のHDDのディスクID名を追加し、マウントポイントとする。
[ステップS142]許否指示部130は、接続先のサーバノードに対して、マウントポイントの作成を指示する。
[ステップS143]接続先のサーバノードは、マウントポイントの作成指示に応じて、指定されたマウントポイントに相当するディレクトリを作成する。
[ステップS144]接続先のサーバノードは、ディレクトリ作成後、正常終了のリプライをコントロールサーバ100に送信する。
[ステップS145]コントロールサーバ100の許否指示部130は、接続先のサーバノードに対して、接続対処のHDDのマウント指示を送信する。
[ステップS146]接続先のサーバノードは、マウント指示に応じて、接続対象のHDDを、マウントポイントにマウントする。
[ステップS147]接続先のサーバノードは、HDDをマウント後、正常終了のリプライをコントロールサーバ100に送信する。
[ステップS148]対応関係変更部140は、フロントエンドサーバ200の対応情報記憶部210にアクセスし、デバイス管理テーブル211から、ステップS149,S150の処理が未処理のエントリを、1行を抽出する。
[ステップS149]対応関係変更部140は、抽出したレコードのサーバIPアドレスとして、障害が発生したサーバノードのIPアドレスが設定されているか否かを判断する。対応関係変更部140は、障害が発生したサーバノードのIPアドレスが設定されている場合、処理をステップS150に進める。また対応関係変更部140は、障害が発生したサーバノードのIPアドレスが設定されてない場合、処理をステップS151に進める。
[ステップS150]対応関係変更部140は、フロントエンドサーバ200内のデバイス管理テーブル211にアクセスし、抽出したエントリを更新する。すなわち対応関係変更部140は、抽出したエントリのサーバIPアドレスを、接続先のサーバノードのIPアドレスに変更する。また対応関係変更部140は、抽出したエントリのマウントポイントを、ステップS141で決定したマウントポイントに変更する。
[ステップS151]対応関係変更部140は、フロントエンドサーバ200内のデバイス管理テーブル211に、未処理のエントリがあるか否かを判断する。対応関係変更部140は、未処理のエントリがあれば、処理をステップS148に進める。また対応関係変更部140は、未処理のエントリがなければ、対応情報更新処理を終了する。
このように、第2の実施の形態では、サーバノードに障害が発生すると、そのサーバノードに接続されていたHDDが他のサーバノードに接続される。これにより、HDD内のデータのコピーを行わずにすみ、HDDへのアクセス環境を短時間で復旧することができる。リカバリ時間の短縮により、冗長度が低下している時間が短縮され、システムの信頼性が向上する。
さらに、データ転送を行わないため、復旧時間がHDDのデータ量に依存しない。そのため、HDDの記憶容量が向上し、サーバノードがより大量のデータを扱うようになった場合でも、高速に障害を復旧できる。例えば、1秒程度で障害の復旧ができる。
しかも、データ転送が不要なため、リカバリ処理のためのHDDへの大量の書き込みも発生せず、HDDへのアクセス競合により性能が低下することが抑止される。また、リカバリ処理のためにネットワークスイッチ21を介した大量のデータ転送が発生することもなく、ネットワーク帯域を、ユーザへのサービスに有効に利用できる。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、サーバノードの選択の際に、性能維持を優先した選択を行うものである。例えば第3の実施の形態では、(選択基準4)HDDが実装されたエンクロージャに通信経路上の距離が近いサーバノードであること、(選択基準3)接続されるHDD数が他より少ない順で選択基準が適用される。これにより、障害が発生したサーバノードに接続されていたHDDが、そのサーバノードと直近のエンクロージャが共通の別のサーバノードに接続される。これにより、接続の切替前後において、サーバノードとHDDとの距離が同じとなり、アクセス性能の劣化が抑止される。
なお第3の実施の形態を実現するためのシステム構成は、図2〜図5に示した第2の実施の形態のシステム構成と同様である。また第3の実施の形態は、サーバノード選択・ディスク接続処理が、第2の実施の形態と異なる。そこで以下に、第3の実施の形態におけるサーバノード選択・ディスク接続処理を、図2〜図5に示した第2の実施の形態の各要素を用いて説明する。
図13は、第3の実施の形態におけるサーバノード選択・ディスク接続処理の手順の一例を示す図である。なお図13のステップS204〜S207の処理は、図11に示した第2の実施の形態のステップS130〜S133の処理と同様である。そこで第2の実施の形態と異なるステップS201〜S203について、ステップ番号に沿って説明する。
[ステップS201]許否指示部130は、障害が発生したサーバノードと、直近のエンクロージャが同一のサーバノードがあるか否かを判断する。許否指示部130は、該当するサーバノードがあれば、処理をステップS202に進める。また許否指示部130は、該当するサーバノードがなければ、処理をステップS203に進める。
[ステップS202]許否指示部130は、システム内のすべてのサーバノードのうち、直近のエンクロージャが、障害が発生したサーバノードと同一のサーバノードを、選択候補とする。例えば許否指示部130は、選択候補のサーバノードの識別子(例えばIPアドレス)を、選択候補リストに登録する。選択候補リストは、例えばRAM102に格納される。許否指示部130は、その後、処理をステップS204に進める。
[ステップS203]許否指示部130は、直近のエンクロージャが、障害が発生したサーバノードと同一のサーバノードがない場合、システム内のすべてのサーバノードを選択候補とする。例えば許否指示部130は、選択候補のサーバノードの識別子を、選択候補リストに登録する。その後、許否指示部130は処理をステップS204に進める。
このようにして、性能維持を優先したサーバノードの選択が可能となる。
〔その他の実施の形態〕
第2の実施の形態では、図2に示したように複数のSASエクスパンダをカスケード接続しているが、SASエクスパンダをツリー状に接続することもできる。
図14は、SASエクスパンダの接続形態の他の例を示す図である。図14において、第2の実施の形態と同じ要素には、第2の実施の形態と同じ符号を付し、説明を省略する。また図14では、コントロールサーバやフロントエンドサーバは省略されている。
図14に示すストレージシステムBは、複数のSASエクスパンダ81,82,83,84,・・・がツリー構造で接続されている。具体的には、全てのサーバノード31,32,31a,32a,31b,32b,・・・が、SASエクスパンダ81に接続されている。そしてツリー構造におけるSASエクスパンダ81の下位に、複数のSASエクスパンダ82,83,84,・・・が接続されている。このように複数のSASエクスパンダ81,82,83,84,・・・を多段階のツリー状に接続することで、HDD数の拡大などのシステムの拡張が容易となる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 ストレージ装置
1−1,1−2,1−3,・・・ 記憶装置
1a 中継装置
1b 許可手段
1c 変更手段
2−1,2−2,2−3,2−4,・・・ データアクセス装置
3 対応情報
4 転送手段
X 情報処理装置
Y 端末装置

Claims (10)

  1. 記憶装置と、
    前記記憶装置内のデータへのアクセスが許可されている第1のデータアクセス装置に障害が発生すると、第2のデータアクセス装置から前記記憶装置内のデータへのアクセスを許可する許可手段と、
    前記第2のデータアクセス装置から前記記憶装置内のデータへのアクセスが許可されると、データと該データへのアクセス要求の転送先となるデータアクセス装置との対応関係を示す対応情報に対し、前記記憶装置内のデータの固有情報に基づいて得られる値に対応付けて、該データへのアクセス要求の転送先となる前記第2のデータアクセス装置の識別情報を設定する変更手段と、
    を有するストレージ装置。
  2. 前記許可手段は、複数のデータアクセス装置を複数のグループに分けて管理しており、前記第1のデータアクセス装置と同じグループに属するデータアクセス装置を、前記第2のデータアクセス装置に決定する、
    ことを特徴とする請求項1記載のストレージ装置。
  3. 前記許可手段は、前記記憶装置との間の通信経路の長さが最も短いデータアクセス装置を、前記第2のデータアクセス装置に決定する、
    ことを特徴とする請求項1または2記載のストレージ装置。
  4. 前記許可手段は、データのアクセスが許可されている記憶装置の数が最も少ないデータアクセス装置を、前記第2のデータアクセス装置に決定する、
    ことを特徴とする請求項1乃至3のいずれかに記載のストレージ装置。
  5. 前記許可手段は、複数のデータアクセス装置それぞれが、サービスを提供している運用系か、サービスを提供していない待機系かを管理しており、待機系のデータアクセス装置を、前記第2のデータアクセス装置に決定する、
    ことを特徴とする請求項1乃至4のいずれかに記載のストレージ装置。
  6. 前記許可手段は、前記第2のデータアクセス装置に対して、前記記憶装置へのアクセス環境の構築を指示することを特徴とする請求項1乃至5のいずれかに記載のストレージ装置。
  7. 記憶装置と、
    複数のデータアクセス装置と、
    前記記憶装置内のデータへのアクセスが許可されている第1のデータアクセス装置に障害が発生すると、第2のデータアクセス装置から前記記憶装置内のデータへのアクセスを許可する許可手段と、
    前記第2のデータアクセス装置から前記記憶装置内のデータへのアクセスが許可されると、データと該データへのアクセス要求の転送先となるデータアクセス装置との対応関係を示す対応情報に対し、前記記憶装置内のデータの固有情報に基づいて得られる値に対応付けて、該データへのアクセス要求の転送先となる前記第2のデータアクセス装置の識別情報を設定する変更手段と、
    前記記憶装置内のデータへのアクセス要求を取得すると、前記対応情報を参照し、該データの固有情報に基づいて得られる値に対応付けられた前記第2のデータアクセス装置の識別情報に基づいて、該アクセス要求の転送先が前記第2のデータアクセス装置であると特定し、該アクセス要求を前記第2のデータアクセス装置に転送する転送手段と、
    を有する情報処理装置。
  8. 複数の記憶装置と、
    複数のデータアクセス装置と、
    通信が許可された記憶装置とデータアクセス装置との間の通信を中継する複数の中継装置と、
    第1のデータアクセス装置に障害が発生すると、前記第1のデータアクセス装置からのデータのアクセスが許可されている記憶装置に対する、第2のデータアクセス装置からのデータのアクセスの許可を、該記憶装置または第2のデータアクセス装置に接続された中継装置に指示し、前記第2のデータアクセス装置から該記憶装置内のデータへのアクセスが許可されると、データと該データへのアクセス要求の転送先となるデータアクセス装置との対応関係を示す対応情報に対し、該記憶装置内のデータの固有情報に基づいて得られる値に対応付けて、該データへのアクセス要求の転送先となる前記第2のデータアクセス装置の識別情報を設定し、該記憶装置内のデータへのアクセス要求を取得すると、前記対応情報を参照し、該データの固有情報に基づいて得られる値に対応付けられた前記第2のデータアクセス装置の識別情報に基づいて、該アクセス要求の転送先が前記第2のデータアクセス装置であると特定し、該アクセス要求を前記第2のデータアクセス装置に転送する情報処理装置と、
    を有する情報処理システム。
  9. 情報処理装置が、
    記憶装置内のデータへのアクセスが許可されている第1のデータアクセス装置に障害が発生すると、第2のデータアクセス装置から前記記憶装置内のデータへのアクセスを許可し、
    前記第2のデータアクセス装置から前記記憶装置内のデータへのアクセスが許可されると、データと該データへのアクセス要求の転送先となるデータアクセス装置との対応関係を示す対応情報に対し、前記記憶装置内のデータの固有情報に基づいて得られる値に対応付けて、該データへのアクセス要求の転送先となる前記第2のデータアクセス装置の識別情報を設定する
    アクセス制御方法。
  10. 情報処理装置に、
    記憶装置内のデータへのアクセスが許可されている第1のデータアクセス装置に障害が発生すると、第2のデータアクセス装置から前記記憶装置内のデータへのアクセスを許可し、
    前記第2のデータアクセス装置から前記記憶装置内のデータへのアクセスが許可されると、データと該データへのアクセス要求の転送先となるデータアクセス装置との対応関係を示す対応情報に対し、前記記憶装置内のデータの固有情報に基づいて得られる値に対応付けて、該データへのアクセス要求の転送先となる前記第2のデータアクセス装置の識別情報を設定する
    処理を実行させるアクセス制御プログラム。
JP2012163861A 2012-07-24 2012-07-24 ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム Expired - Fee Related JP6040612B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012163861A JP6040612B2 (ja) 2012-07-24 2012-07-24 ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム
US13/890,726 US9336093B2 (en) 2012-07-24 2013-05-09 Information processing system and access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012163861A JP6040612B2 (ja) 2012-07-24 2012-07-24 ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム

Publications (2)

Publication Number Publication Date
JP2014026321A JP2014026321A (ja) 2014-02-06
JP6040612B2 true JP6040612B2 (ja) 2016-12-07

Family

ID=49996150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012163861A Expired - Fee Related JP6040612B2 (ja) 2012-07-24 2012-07-24 ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム

Country Status (2)

Country Link
US (1) US9336093B2 (ja)
JP (1) JP6040612B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201437940A (zh) * 2013-03-30 2014-10-01 Ibm 提供一交易處理伺服器有效率之資料複製的方法、支援伺服器與電腦程式產品
US9430306B2 (en) 2013-10-08 2016-08-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Anticipatory protection of critical jobs in a computing system
US10178564B2 (en) * 2014-09-22 2019-01-08 Telefonaktiebolaget Lm Ericsson (Publ) Technique for handling a communication failure in a spectrum sharing communication system
US10061662B2 (en) * 2016-05-10 2018-08-28 International Business Machines Corporation Routing data streams around faults in strands
US10990532B2 (en) * 2018-03-29 2021-04-27 Intel Corporation Object storage system with multi-level hashing function for storage address determination
JP2019179964A (ja) * 2018-03-30 2019-10-17 株式会社Subaru 航空機
US11204886B2 (en) * 2019-06-25 2021-12-21 Western Digital Technologies, Inc. Management of zoned storage drives
TWI720528B (zh) * 2019-07-03 2021-03-01 神雲科技股份有限公司 用於擴充硬碟擴充單元的叢集式儲存系統
US11200132B1 (en) * 2020-10-29 2021-12-14 EMC IP Holding Company LLC Anomaly aware log retrieval from disk array enclosures (DAEs)
US11757960B1 (en) 2022-02-23 2023-09-12 Iheartmedia Management Services, Inc. Disaster recovery in media broadcast system

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203018A (ja) * 2002-01-07 2003-07-18 Mitsubishi Electric Corp Sanを用いた擬似クラスタシステム
JP3964212B2 (ja) * 2002-01-16 2007-08-22 株式会社日立製作所 記憶装置システム
JP2004021557A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd プログラム、情報処理方法、情報処理装置、及び記憶装置
JP3957065B2 (ja) 2002-08-28 2007-08-08 富士通株式会社 ネットワーク計算機システムおよび管理装置
EP1625526B1 (en) * 2003-04-03 2012-10-03 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
US7380163B2 (en) * 2003-04-23 2008-05-27 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in response to a heartbeat link failure
US8301809B2 (en) * 2003-07-02 2012-10-30 Infortrend Technology, Inc. Storage virtualization computer system and external controller thereof
JP4307964B2 (ja) * 2003-11-26 2009-08-05 株式会社日立製作所 アクセス制限情報設定方法および装置
JP2005215850A (ja) * 2004-01-28 2005-08-11 Hitachi Ltd ストレージ装置、ストレージ装置の制御方法、及びストレージシステム
JP2005346410A (ja) * 2004-06-03 2005-12-15 Hitachi Ltd Sanにおけるアクセス管理方法
JP4688514B2 (ja) * 2005-02-14 2011-05-25 株式会社日立製作所 ストレージ制御装置
JP2007087059A (ja) * 2005-09-21 2007-04-05 Hitachi Ltd 記憶制御システム
JP4414961B2 (ja) 2005-12-13 2010-02-17 株式会社日立製作所 管理サーバによる管理方法、管理サーバ、計算機システムおよび管理プログラム
US20070294564A1 (en) * 2006-04-27 2007-12-20 Tim Reddin High availability storage system
JP5057741B2 (ja) * 2006-10-12 2012-10-24 株式会社日立製作所 ストレージ装置
US8255562B2 (en) * 2008-06-30 2012-08-28 International Business Machines Corporation Adaptive data throttling for storage controllers
WO2010049929A1 (en) * 2008-10-27 2010-05-06 Kaminario Tehnologies Ltd. A mass-storage system utilizing solid-state storage and non-solid-state storage
US8209496B2 (en) * 2008-12-22 2012-06-26 International Business Machines Corporation Method and system for accessing data
JP5640432B2 (ja) * 2010-03-31 2014-12-17 富士通株式会社 分散処理装置、分散処理プログラムおよび分散処理方法
JP5545108B2 (ja) * 2010-08-04 2014-07-09 富士通株式会社 ストレージシステム、制御装置および制御方法
US8589723B2 (en) * 2010-12-22 2013-11-19 Intel Corporation Method and apparatus to provide a high availability solid state drive
US8484416B2 (en) * 2010-12-23 2013-07-09 Lsi Corporation High availability raid using low-cost direct attached raid controllers
JP5887757B2 (ja) * 2011-08-17 2016-03-16 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US8621603B2 (en) * 2011-09-09 2013-12-31 Lsi Corporation Methods and structure for managing visibility of devices in a clustered storage system
US20130132766A1 (en) * 2011-11-23 2013-05-23 Rajiv Bhatia Method and apparatus for failover and recovery in storage cluster solutions using embedded storage controller
JP5884606B2 (ja) * 2012-03-30 2016-03-15 富士通株式会社 ストレージ管理方法、システム、およびプログラム
US8694698B2 (en) * 2012-04-12 2014-04-08 Hitachi, Ltd. Storage system and method for prioritizing data transfer access

Also Published As

Publication number Publication date
JP2014026321A (ja) 2014-02-06
US9336093B2 (en) 2016-05-10
US20140032960A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
JP6040612B2 (ja) ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム
US11163653B2 (en) Storage cluster failure detection
JP6328432B2 (ja) ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法
JP5986577B2 (ja) Aluaの選好および状態遷移のホストによる検出および処理
CN101673283B (zh) 管理终端和计算机系统
US7536508B2 (en) System and method for sharing SATA drives in active-active RAID controller system
JP6607783B2 (ja) 分散キャッシュクラスタ管理
US8938604B2 (en) Data backup using distributed hash tables
WO2014083598A1 (en) Hierarchical storage system and file management method
JP5412882B2 (ja) 論理ボリューム構成情報提供プログラム、論理ボリューム構成情報提供方法、および論理ボリューム構成情報提供装置
JP5396836B2 (ja) データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード
JP4855355B2 (ja) フェールオーバにおける引き継ぎ先を自律的に変更する計算機システム及び方法
KR20110044858A (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
JP2014026529A (ja) ストレージシステムおよびその制御方法
JP2009230385A (ja) ストレージシステム及びストレージシステムにおける論理ユニットの引継方法
JP2012531654A (ja) ストレージシステム及びストレージシステムの通信パス管理方法
EP3648405B1 (en) System and method to create a highly available quorum for clustered solutions
JP2019191843A (ja) 接続制御プログラム、接続制御方法、及び接続制御装置
US20160147478A1 (en) System, method and relay device
US9513996B2 (en) Information processing apparatus, computer-readable recording medium having stored program for controlling information processing apparatus, and method for controlling information processing apparatus
JP2018073231A (ja) ストレージシステムおよびストレージ装置
JP5884606B2 (ja) ストレージ管理方法、システム、およびプログラム
JP5016696B2 (ja) 高可用性システム、サーバ、高可用性維持方法及びプログラム
US20200401340A1 (en) Distributed storage system
JP7332488B2 (ja) ストレージシステム及びストレージシステムの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160513

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161024

R150 Certificate of patent or registration of utility model

Ref document number: 6040612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees