[go: up one dir, main page]

JP2015184895A - ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム - Google Patents

ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム Download PDF

Info

Publication number
JP2015184895A
JP2015184895A JP2014060370A JP2014060370A JP2015184895A JP 2015184895 A JP2015184895 A JP 2015184895A JP 2014060370 A JP2014060370 A JP 2014060370A JP 2014060370 A JP2014060370 A JP 2014060370A JP 2015184895 A JP2015184895 A JP 2015184895A
Authority
JP
Japan
Prior art keywords
path
storage
switching
access
load
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
JP2014060370A
Other languages
English (en)
Inventor
秀和 河野
Hidekazu Kono
秀和 河野
高志 廣瀬
Takashi Hirose
高志 廣瀬
勝彦 羽田
Katsuhiko Hada
勝彦 羽田
啓伸 佐塚
Hironobu Sazuka
啓伸 佐塚
徹 長澤
Toru Nagasawa
徹 長澤
裕幸 渡邉
Hiroyuki Watanabe
裕幸 渡邉
茂之 加嶋
Shigeyuki Kashima
茂之 加嶋
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
Fujitsu Broad Solution and Consulting Inc
Original Assignee
Fujitsu Ltd
Fujitsu Broad Solution and Consulting Inc
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, Fujitsu Broad Solution and Consulting Inc filed Critical Fujitsu Ltd
Priority to JP2014060370A priority Critical patent/JP2015184895A/ja
Priority to US14/661,519 priority patent/US20150269099A1/en
Publication of JP2015184895A publication Critical patent/JP2015184895A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ALUA非対称論理ユニットアクセス対応ストレージ装置において性能の向上を図る。【解決手段】記憶域をそなえ、記憶域に対する複数のアクセスパスが設けられているストレージ装置を制御するストレージ制御装置21は、複数のアクセスパスの負荷を示す負荷情報28,29を取得する取得部221と、負荷情報28,29に基づいて、記憶域に対するアクセスパスを切り替えるべきかどうかを判定する判定部222と、判定部222によってアクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択する抽出部223と、抽出部223が選択した切替候補アクセスパスの切替を指示する切替指示部224と、をそなえる。【選択図】図3

Description

本発明は、ストレージ制御装置、ストレージ装置、及びストレージ制御プログラムに関する。
近年、Asymmetric Logical Unit Access(ALUA;非対称論理ユニットアクセス)機能に対応したALUA対応ストレージ装置が登場している。
ALUAとは、標準Small Computer Serial Interface(SCSI)のSCSI Primary Commands-3(SPC−3)に規定されている機能である。ALUAを使用することにより、ストレージ装置とホストとの間で最適化されたパスを特定したり、ストレージ装置の各Channel Adaptor(CA)ポートに異なるアクセスレベルを設定することが可能となる。
ここで、一般に、ストレージ装置においては、ストレージ装置内に構成されている各Redundant Array of Independent Disks(RAID)グループや論理ユニット(Logical Unit;LUN)に対して、アクセス制御等を行なうControl Module(CM)がそれぞれ割り当てられている。このCMは担当CMと呼ばれ、制御を実行しないCMは非担当CMと呼ばれる。
ALUA対応ストレージ装置においては、LUNの最適なアクセスパスは、担当CMに割り当てられているCMを経由するアクセスパスである。ストレージ装置のパスの状態が正常な場合には、担当CMのアクセスパスが常に最適パスとして選択され、入出力(Input/Output;I/O)処理が行なわれる。
このとき、担当CMの負荷が高くなった場合、担当CMを経由するパスでI/Oの処理待ちが発生したり、キューフル(Queue full)が発生し、担当CMに処理が偏り、I/Oレスポンス速度の低下が発生する。
このとき、非担当CMを経由するアクセスパスは、I/O処理に余裕があっても、ストレージ装置のパス状態が正常である限りI/O処理に使用されることはない。この結果、CM間で負荷のアンバランスが生じ、ALUA対応ストレージ装置において応答時間が上昇してしまう。
このため、ALUA対応ストレージ装置において、レスポンスタイム(応答時間)を短縮するために、最適アクセスパス以外のパスを使用して、ストレージ装置の負荷を分散させ、性能の向上を図ることが望ましい。
特開平9−190292号公報 特開2005−78507号公報
上記課題に鑑みて、1つの側面では、本発明は、ALUA対応ストレージ装置において性能の向上を図ることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、記憶域をそなえ、前記記憶域に対する複数のアクセスパスが設けられているストレージ装置を制御するストレージ制御装置は、前記複数のアクセスパスの負荷を示す負荷情報を取得する取得部と、前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定する判定部と、前記判定部によってアクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択する抽出部と、前記抽出部が選択した前記切替候補アクセスパスの切替を指示する切替指示部と、をそなえる。
又、ストレージ装置は、記憶域と、前記ストレージ装置を制御するストレージ制御装置と、をそなえ、前記記憶域に対して複数のアクセスパスが設けられており、前記ストレージ制御装置は、前記複数のアクセスパスの負荷を示す負荷情報を取得する取得部と、前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定する判定部と、前記判定部によってアクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択する抽出部と、前記抽出部が選択した前記切替候補アクセスパスの切替を指示する切替指示部と、をそなえる。
更に、記憶域と、ストレージ装置を制御するストレージ制御装置と、をそなえ、前記記憶域に対して複数のアクセスパスが設けられているストレージ装置を制御するストレージ制御プログラムは、前記複数のアクセスパスの負荷を示す負荷情報を取得し、前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定し、前記アクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択し、前記選択された前記切替候補アクセスパスの切替を指示する、処理をコンピュータに実行させる。
本発明によれば、ALUA対応ストレージ装置において性能の向上を図ることができる。
実施形態の一例としてのALUA対応ストレージ装置を有する情報処理システムのシステム構成を示す図である。 実施形態の一例としてのALUA対応ストレージ装置におけるパスを例示する図である。 実施形態の一例としてのパス管理部の機能構成を示す図である。 実施形態の一例としてのストレージ装置におけるCM負荷テーブルを例示する図である。 実施形態の一例としてのストレージ装置におけるLUN負荷テーブルを例示する図である。 実施形態の一例としての情報処理システムにおける各LUNの状態遷移図である。 図6の状態遷移図を、担当CM、非担当CMのそれぞれの負荷状態毎に表形式で示す図である。 実施形態の一例としての情報処理システムにおけるパス切替処理を示すフローチャートである。 実施形態の一例としての情報処理システムにおけるパス切替処理時のシーケンスを例示する図である。 実施形態の一例としての情報処理システムにおけるパス切替処理時のシーケンスを例示する図である。 実施形態の一例としての負荷情報取得部による負荷情報取得処理を示すフローチャートである。 図11に示した負荷情報取得部によるCM負荷テーブル格納処理を示すフローチャートである。 (a)はLUN負荷テーブルを例示する図であり、(b)は図11に示した負荷情報取得部によるLUN負荷テーブル格納処理を示すフローチャートである。 (a)はCM負荷テーブルを例示する図であり、(b)はLUN負荷テーブルを例示する図である。 (a)は、パス切替候補領域を例示する図であり、(b)はLUN負荷テーブルを例示する図であり、(c)は実施形態の一例としての切替パス抽出部による切替パス抽出処理及びパス切替指示部によるパス切替指示処理を示すフローチャートである。 (a)はLUN負荷テーブルを例示する図であり、(b)は実施形態の一例としてのパス切替効果確認部によるパス切替効果確認処理を示すフローチャートである。 パス切替効果ありの場合を例示する図であり、(a)はCM負荷テーブルを例示する図であり、(b)はLUN負荷テーブルを例示する図である。 パス切替効果なしの場合を例示する図であり、(a)はCM負荷テーブルを例示する図であり、(b)はLUN負荷テーブルを例示する図である。 実施形態の一例としての全パス切戻し部による全パス切戻し処理を示すフローチャートである。 全パス切戻し処理前の各テーブルを示す図であり、(a)はCM負荷テーブルを例示する図であり、(b)はLUN負荷テーブルを例示する図である。
以下、図面を参照して、本実施の形態の一例としてのストレージ制御装置、ストレージ装置、及びストレージ制御プログラムについて説明する。
ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実行することができる。
(A)構成
最初に、実施形態の一例としての情報処理システム1の構成を説明する。
図1は、実施形態の一例としてのALUA対応ストレージ装置2を有する情報処理システム1のシステム構成を示す図である。
情報処理システム1は、ホスト3と、ALUA対応ストレージ装置2とをそなえ、ホスト3とALUA対応ストレージ装置2とは、例えばLocal Area Network(LAN)などのリンクによって相互接続されている。
ホスト3は、後述するALUA対応ストレージ装置2に対してデータのリードやライトなどのI/Oを行なう情報処理装置である。
ALUA対応ストレージ装置2は、複数(図1に示す例では2つ)のCM11−1,11−2と、ディスク18−1〜18−n(nは2以上の整数)とをそなえる。
ALUA対応ストレージ装置2は、CM11−1と11−2とが異なるアクセス性能を持つALUA対応ストレージ装置である。以下、簡潔を期するために、ALUA対応ストレージ装置2を、単にストレージ装置2とも呼ぶ。
CM11−1は、ストレージ装置2全体の動作を制御するマスタCMである。このため、以下、CM11−1をマスタCM11−1とも呼ぶ。
CM11−2は、マスタCM11−1のスペアのCMであるスレーブCMである。このため、以下、CM11−2をスレーブCM11−2とも呼ぶ。スレーブCM11−2は、マスタCM11−1の障害等の発生時に、マスタCM11−1の動作を引き継いで新たなマスタCMとして動作する。
なお、以下、CMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号11−1,11−2を用いるが、任意のCMを指すときには符号11を用いる。さらに、以降、CM11−1,11−2を、CM#0,#1とも呼ぶ。
又、以下、ディスクを示す符号としては、複数のディスクのうち1つを特定する必要があるときには符号18−1,18−2…を用いるが、任意のディスクを指すときには符号18を用いる。
CM11−1,11−2は、Serial Attached SCSI(SAS)やPCI Express(登録商標)(PCIe)などのCM間接続16によって接続される。CM11が3つ以上の場合、CM11間にスイッチが設けられる場合もある。
ディスク18は、例えばHard Disk Drive(HDD)である。ここでディスク18が、複数のRAIDグループ19−1〜19−m(mは2以上の整数)を構成している。以下、RAIDグループ19−1〜19−mを、RAIDグループ#0〜#m−1とも呼ぶ。
又、ディスク18は、ホスト3等に対して提供される、論理的な格納域である論理ユニット(Logical Unit;LUN;記憶域)17−0〜17−k(kは2以上の整数)(図2参照)も構成している。
なお、以下、LUNを示す符号としては、複数のLUNのうち1つを特定する必要があるときには符号17−1,17−k…を用いるが、任意のLUNを指すときには符号17を用いる。
又、以下、RAIDグループを示す符号としては、複数のRAIDグループのうち1つを特定する必要があるときには符号19−1〜19−mを用いるが、任意のRAIDグループを指すときには符号19を用いる。
これらのLUN17−0〜17−kにはそれぞれ、当該LUN17を管理するCM11(以下、このCMを当該LUNの「担当CM」と呼ぶ)が割り当てられている。一方、当該LUN17の担当CMではない他のCMを「非担当CM」と呼ぶ。
ディスク18とRAIDグループ19との対応付け、及びディスク18とLUN17との対応付けは、CM11内の後述する構成定義27に記録されている。
ここで、CM11−1は、複数(図1に示す例では2つ)のChannel Adaptor(CA)12−1,12−2、複数(図1に示す例では2つ)のディスクアダプタ(Disk Adaptor;DA)13−1,13−2、Central Processing Unit(CPU)14−1、及びメモリ15−1をそなえる。
CA12−1,12−2は、ホスト3とCM11−1とを接続するためのモジュールである。CA12−1,12−2は、Fibra Channel(FC)、Internet Small Computer System Interface(iSCSI)、SAS、Fibre Channel over Ethernet(FCoE)、Infinibandなど、様々な通信規格によりホスト3とCM11−1とを接続する。
DA13−1,13−2は、後述するディスク18とCM11−1とを、例えば、SASによって接続するExpanderやI/O Controller(IOC)などのインタフェースである。DA13−1,13−2は、CM11−1とディスク18とのデータのやり取りを制御する。
CPU14−1は、種々の制御や演算を行なう処理装置であり、後述するメモリ15−1等に格納されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。又、CPU14−1は、ストレージ制御プログラムを実行することにより、ストレージ制御部20−1として機能する。CPU14−1は、例えば、公知のCPUを使用して実装することができる。
ストレージ制御部20−1は、ストレージ装置2の全体の動作を制御すると共に、当該ストレージ制御部20−1がそなえられているCM11−1が担当するLUN17の制御を行なう。
ストレージ制御部20−1は、パス管理部(ストレージ制御装置)21、キャッシュ制御部22、及びRAID制御部23をそなえる。
パス管理部21は、ストレージ装置2のRAID19やLUN17へのアクセスパスを管理する。又、パス管理部21は、担当CM11の負荷が高く、非担当CM11の負荷が低い場合に、LUN17へのアクセスパス(以下、パスとも呼ぶ)を非担当CM11を経由するパス(クロスアクセス)に切り替えて、CM11間の負荷分散を図る。パス管理部21の詳細な構成及び機能については図2を用いて後述する。
キャッシュ制御部22は、CM11にそなえられた不図示のキャッシュとディスク18との間でデータのキャッシュ制御を行なう。キャッシュ制御部22の機能は公知であるため、その詳細な説明は省略する。
RAID制御部23は、後述のディスク18を用いてRAIDを実現する。このRAID制御部23は、例えば、構成定義27に基づいて、ディスク18によるRAIDグループ19−1〜19−mの構成を制御する。ここで、構成定義27は、RAIDグループ19−1〜19−mの構成情報や、ボリュームの設定情報及びデータチェックの管理情報などを記憶しているデータである。
又、RAID制御部23は、RAIDグループ19−1〜19−mの変更があった場合、その変更を構成定義27に記録する。RAID制御部23の機能は公知であるため、その詳細な説明は省略する。
メモリ15−1は、CPU14−1が実行するプログラムや種々のデータ、CPU14−1の動作により得られたデータ等を格納する。又、メモリ15−1は、構成定義27、CM負荷テーブル(TBL)28、LUN負荷テーブル29、及びパス切替候補領域26を格納する格納部としても機能する。
CM負荷テーブル28は、ストレージ装置2にそなえられているCM11毎の性能値として、その平均レスポンスタイム(平均応答時間)を格納している。CM負荷テーブル28の詳細な構成については図4を用いて後述する。
LUN負荷テーブル29は、ストレージ装置2内に定義されているLUN17毎の性能値として、その平均レスポンスタイムを格納している。LUN負荷テーブル29の詳細な構成については図5を用いて後述する。
パス切替候補領域26は、パス管理部21によって、パスを切り替える際に、切り替え候補のパスの選定に使用される一時的な記憶域である。図15(a)に示すように、パス切替候補領域26は、ストレージ装置2内に定義されているLUN17を一意に識別する識別子を格納するLUN#261と、レスポンスタイム262とを有する。
メモリ15−1としては、例えばRandom Access Memory(RAM)などを用いることができる。
なお、CM11−1内のCA12−1,12−2、DA13−1,13−2、CPU14−1、メモリ15−1などの構成要素は、PCIeにより相互に接続されている。又、途中に不図示のスイッチが設けられる場合もある。
一方、CM11−2は、複数(図1に示す例では2つ)のCA12−3,12−4、複数(図1に示す例では2つ)のDA13−3,13−4、CPU14−2、及びメモリ15−2をそなえる。
CA12−3,12−4は、ホスト3とCM11−2とを接続するためのモジュールである。CA12−3,12−4は、FC、iSCSI、SAS、FCoE、Infinibandなど、様々な通信規格によりホスト3とCM11−2とを接続する。
DA13−3,13−4は、後述するディスク18とCM11−2とを、例えば、SASによって接続するExpanderやIOCなどのインタフェースである。DA13−3,13−4は、CM#13−1とディスク18とのデータのやり取りを制御する。
CPU14−2は、種々の制御や演算を行なう処理装置であり、後述するメモリ15−2等に格納されたOSやプログラムを実行することにより、種々の機能を実現する。又、CPU14−2は、ストレージ制御プログラムを実行することにより、ストレージ制御部(ストレージ制御装置)20−2として機能する。CPU14−2は、例えば、公知のCPUを使用して実装することができる。
ストレージ制御部20−2は、当該ストレージ制御部20−2がそなえられているCM11−2が担当するLUN17の制御を行なう。又、ストレージ制御部20−2は、マスタCM11−1の故障時等には、ストレージ制御部20−1の代わりにストレージ装置2の全体の動作を制御する。
ストレージ制御部20−2の機能及び構成は、CM11−1にそなえられているストレージ制御部20−1の機能及び構成と同様であるため、その詳細な図示並びに説明は省略する。
メモリ15−2は、CPU14−2が実行するプログラムや種々のデータ、CPU14−2の動作により得られたデータ等を格納する。又、メモリ15−2は、不図示の構成定義、CM負荷テーブル、LUN負荷テーブル、及びパス切替候補領域を格納する格納部としても機能する。
メモリ15−2内の構成定義、CM負荷テーブル、LUN負荷テーブル、及びパス切替候補領域の構成及び機能は、CM11−1にそなえられている対応する機能及び構成と同様であるため、その詳細な図示並びに説明は省略する。又、スレーブCM11−2の構成定義は、スレーブCM11−2によって、マスタCM11−1に問い合わせを行なうことにより取得される。
メモリ15−2としては、例えばRAMなどを用いることができる。
なお、CM11−2内のCA12−3,12−4、DA13−3,13−4、CPU14−2、メモリ15−2などの構成要素は、PCIeにより相互に接続されている。又、途中に不図示のスイッチが設けられる場合もある。
なお、以下、CAを示す符号としては、複数のCAのうち1つを特定する必要があるときには符号12−1〜12−4を用いるが、任意のCAを指すときには符号12を用いる。
又、以下、DAを示す符号としては、複数のDAのうち1つを特定する必要があるときには符号13−1〜13−4を用いるが、任意のDAを指すときには符号13を用いる。
又、以下、CPUを示す符号としては、複数のCPUのうち1つを特定する必要があるときには符号14−1,14−2を用いるが、任意のCPUを指すときには符号14を用いる。
又、以下、メモリを示す符号としては、複数のメモリのうち1つを特定する必要があるときには符号15−1,15−2を用いるが、任意のメモリを指すときには符号15を用いる。
又、以下、ストレージ制御部を示す符号としては、複数のストレージ制御部のうち1つを特定する必要があるときには符号20−1,20−2を用いるが、任意のストレージ制御部を指すときには符号20を用いる。
図2は、実施形態の一例としてのALUA対応ストレージ装置2におけるパスを例示する図である。
前述のように、ストレージ装置2は、ALUA対応のストレージ装置である。
ストレージ装置2は、LUN17−1〜17−k(以下、LUN#0〜#k−1とも呼ぶ)を提供している。
このLUN#0の制御を担当する担当CM11は、CM11−1(CM#0とも呼ぶ)であり、CM11−2(CM#1とも呼ぶ)はLUN#0の非担当CM11である。
ALUA対応ストレージ装置2においては、LUN#0に対するアクセスにおいて、担当CM11−1、非担当CM11−2のI/Oアクセス性能に差があり、担当CM11−1を経由するパスPAのほうがアクセス性能が高く、アクセス優先度が高く設定されている。
このため、ALUA対応ストレージ装置では、正常時には、ホスト3からLUN#0へのI/Oアクセスは、図2に符号PAで示すようなパス(ストレートアクセスパス、或いはストレートアクセスと呼ぶ)が使用される。従来のALUA対応ストレージ装置では、CM間で負荷のアンバランスが発生している場合であっても、ストレートアクセスPAが正常に使用可能である限り、符号PBで示すようなアクセスパス(クロスアクセスパス、或いはクロスアクセスと呼ぶ)が使用されることがない。PBのクロスアクセスパスが使用されるのは、ストレートアクセス経路で何らかの異常が発生した場合だけである。
一方、本実施形態の一例としてのパス管理部21(図1参照)は、CM11間で負荷のアンバランスが生じると、LUN#0へのアクセスパスを、ストレートアクセスPAからクロスアクセスPBへ切り替えて、CM11の負荷分散を図る。
以下、LUN17へのアクセスパスを、当該LUN17の担当CM11を経由するストレートアクセスPAから、非担当CM11を経由するクロスアクセスPBへ変更することを「パスを切り替える」と呼び、その操作を「パス切替」と呼ぶ。逆に、LUN17へのアクセスパスをクロスアクセスPBからストレートアクセスPAに戻すことを「パスを切り戻す」と呼び、その操作を「パス切戻し」と呼ぶ。
ここで、図3を用いてパス管理部21の機能構成について説明する。
図3は、実施形態の一例としてのパス管理部21の機能構成を示す図である。
パス管理部21は、負荷情報取得部(取得部)221、負荷判定部(判定部)222、切替パス抽出部(抽出部)223、パス切替指示部(切替指示部)224、パス切替効果確認部(確認部)225、及び全パス切戻し部(復旧部)226をそなえる。
負荷情報取得部221は、所定間隔T1(例えば30秒)おきに、ストレージ装置2に関する負荷情報を取得する。詳細には、負荷情報取得部221は、CM11毎、LUN17毎の平均レスポンスタイムを採取する。なお、ここで「CM経由毎のレスポンスタイム」とは各CM経由でのLUN平均レスポンスタイムを意味する。
負荷情報取得部221は、各CM11について、コマンドレスポンスタイムとして、所定間隔T1毎に、ホスト3からのリード/ライト要求をストレージ装置2が受け付けてから、ストレージ装置2が当該要求を処理して応答を返すまでの時間を採取する。負荷情報取得部221は、例えばコマンドレスポンスが行なわれる度に、CM11毎のコマンドレスポンスタイムの平均値を求め、求めた値を、後述するCM負荷テーブル28のCM平均レスポンスタイム282(図4参照)に格納する。
同時に、負荷情報取得部221は、各LUN17について、コマンドレスポンスタイムとして、ホスト3からのリード/ライト要求をストレージ装置2が受け付けてから、ストレージ装置2が当該要求を処理して応答を返すまでの時間を採取する。負荷情報取得部221は、例えばコマンドレスポンスが行なわれる度に、LUN17毎のコマンドレスポンスタイムの平均値を求め、求めた値を、後述するLUN負荷テーブル29のCM経由毎(経路毎)の平均レスポンスタイム294〜295(図5参照)に格納する。
負荷情報取得部221による負荷情報取得処理については、図11〜図13を用いて後述する。
負荷判定部222は、負荷情報取得部221が取得した負荷情報に基づいて、CM11間で負荷のアンバランスが生じているかどうかを判定する。詳細には、負荷判定部222は、負荷情報取得部221が採取した、CM負荷テーブル28内のCM11毎の平均レスポンスタイムを使用して、担当CM11の負荷が高く、かつ非担当CM11の負荷が低いかどうかを判定する。例えば、負荷判定部222は、自CM11が高負荷(自CM11のCM毎平均レスポンスタイムが20.0以上)であり、かつ他CM11が低負荷(他CMのCM毎平均レスポンスタイムが10.0未満)である場合に、CM11間で負荷のアンバランスが生じていると判定する。
切替パス抽出部223は、負荷判定部222によって、CM11間で負荷のアンバランスが生じていると判定された場合に、切替候補のパスを選択する。その際、切替パス抽出部223は、負荷情報取得部221が採取したLUN17毎の平均コマンドレスポンスタイムに基づいて、CM11の管理下のLUN17のうち、パス切替をしておらず、最も遅延の大きなLUN17を選択する。以降、CM11の管理下のLUN17のうち、最も遅延の大きなLUN17を最遅延LUN17とも呼ぶ。
詳細には、切替パス抽出部223は、LUN負荷テーブル29を参照して、自CM11の管理下にあるパス切替をしていないLUN17のうち、平均レスポンスタイムが長く、かつ平均レスポンスタイムが最も大きいLUN17を抽出する。ここで、自CM11とは、切替パス抽出部223がそなえられているCM11を指す。
切替パス抽出部223は、平均レスポンスタイムが長いかどうかの判定を、平均レスポンスタイムが所定の上限しきい値TA(例えば20.0ms)以上であるかどうかを判定することによって行なう。なお、切替パス抽出部223による切替パス抽出処理については、図15(a)〜(c)を用いて後述する。
パス切替指示部224は、切替パス抽出部223が選択した最遅延LUN17に対して、Target-Port-Group-Support(TPGS)を利用して、LUN17のアクセスパスをストレートアクセスPAからクロスアクセスPBに変更するパス切替を実施する。
その際、パス切替指示部224は、切替パス抽出部223が特定した最遅延LUN17に対するI/Oコマンドがホスト3から発行されるまで待機する。そして、このLUN17に対してホスト3からI/Oコマンドが発行されると、TPGSを利用して、このコマンドにセンス応答し、ホスト3にパス切替を促す。ここで、センス応答とは、ホスト3からのSCSIコマンドに対するエラー/インフォメーション付きの応答を指す。
ストレージ装置2は、自身ではパスの切替を行なうことができず、パスを切り替えるには、ホスト3からパスの切替を指示してもらう必要がある。そこで、パス切替指示部224は、最遅延LUN17に対するI/Oコマンドがホスト3から発行されたときに、TPGSを利用して、ホスト3に対してセンス応答を行ない、ホスト3からパスの切替を指示してもらう。
パス切替指示部224からのセンス応答を受けたホスト3は、例えば、ストレージ装置2に対してパス確認コマンドを送信して、パス切替をストレージ装置2に対して指示する。なお、TPGSやセンス応答、パス確認コマンドについては周知技術であるため、その説明を省略する。
パス切替効果確認部225は、パス切替を実施してから所定時間T1後に、パス切替の効果があったかどうかを判定する。詳細には、パス切替効果確認部225は、パスを切り替えたLUN17に対するパス切替後の平均レスポンスタイムRaと、パス切替前の平均レスポンスタイムRbとを比較する。
そして、パス切替後の平均レスポンスタイムRaがパス切替前の平均レスポンスタイムRbを下回る(Ra<Rb)場合、パス切替効果確認部225は、パス切替効果ありと判定し、パス切替を確定する(パス切替をそのまま継続させる)。
一方、パス切替後の平均レスポンスタイムRaがパス切替前の平均レスポンスタイムRb以上の場合(Ra≧Rb)、パス切替効果確認部225は、パス切替効果なしと判定して、パスを切り替えたLUN17のパスを、元のパスに戻す。
なお、パス切替後にホスト3からのI/Oアクセスが一切なく、平均レスポンスタイムが0となる場合も、パス切替効果確認部225は、パス切替効果なしと判定し、パスを切り戻させる。パス切替効果確認部225によるパス切替効果確認処理については、図16を用いて後述する。
全パス切戻し部226は、ストレージ装置2内の全アクセスパスを、各LUN17の担当CM11を経由するストレートアクセスPA(図2参照)に戻す。全パス切戻し部226による全パス切戻し処理については図19を用いて後述する。
図4は、実施形態の一例としてのストレージ装置2におけるCM負荷テーブル28を例示する図である。
CM負荷テーブル28は、CM#281とCM平均レスポンスタイム282とを有する。
CM#281は、ストレージ装置2にそなえられているCM11を一意に識別するCM IDを記憶する領域である。図4の例では、2つのCM11に対応するCM#281が存在する。
CM平均レスポンスタイム282は、負荷情報取得部221によってCM11毎に取得された、例えばミリ秒(ms)単位の平均レスポンスタイムを記憶する領域である。
図5は、実施形態の一例としてのストレージ装置2におけるLUN負荷テーブル29を例示する図である。
LUN負荷テーブル29は、LUN#291、担当CM#292、切替フラグ(Flg)293、CM経由毎(経路毎)の平均レスポンスタイム294〜295を有する。
LUN#291は、ストレージ装置2内に定義されているLUN17を一意に識別するLUN IDを記憶する領域である。
担当CM#292は、LUN#291に示すLUN IDを有するLUN17の担当CM11のIDを記憶する領域である。図5の表の1行目の例では、LUN ID=1のLUN17の担当CM#292の値は“0”であり、CM ID=0のCM11−1(CM#0)がLUN#1の担当CMであることを示す。
切替フラグ293は、LUN17のパスの切替の状態を示すフラグ値を記憶する領域である。切替フラグ293の値“0”は、当該LUN#1へのアクセスパスをストレートアクセスPAからクロスアクセスPBへの切替が行なわれていないこと(切替なし)を示す。又、値“1”は、クロスアクセスPBに切替中であるが、切替の効果が未だ確認されていないため、切替がいわば仮の切替状態であることを示す。値“2”は、クロスアクセスPBに切替済みであり、切替の効果が確認され、切替が確定していることを示す。さらに、値“−1”は、アクセスパスをクロスアクセスPBに切り替えたものの、切替効果がなく、ストレートアクセスPAに切り戻したこと(切替効果なし)を示す。
図5の表の1行目の例では、LUN ID=0のLUN17の切替フラグ293の値が“0”であり、クロスアクセスPBへの切替が行なわれていないことを示す。
CM経由毎(経路毎)の平均レスポンスタイム294〜295は、負荷情報取得部221によって取得された、LUN#291に示すLUN IDを有するLUN17に対するCM経由毎(経路毎)の平均レスポンスタイムを記憶する領域である。この領域(格納域)の個数は、ストレージ装置2にそなえられているCM11の数に一致するようにLUN負荷テーブル29が構成される。
図5の例では、LUN負荷テーブル29は、CM#0経由平均レスポンスタイム294と、CM#1経由平均レスポンスタイム295とを有する。
CM#0経由平均レスポンスタイム294は、LUN#291に示すLUN IDを有するLUN17にCM#0(CM11−1)を経由してアクセスした際の平均アクセスタイムを、例えばミリ秒(ms)単位で記憶している。図5の表の1行目の例では、LUN ID=0のLUN17(LUN17−1つまりLUN#0)へのCM#0経由の平均レスポンスタイムが、22.0msであったことを示す。
CM#1経由平均レスポンスタイム295は、LUN#291に示すLUN IDを有するLUN17にCM#1(CM11−2)を経由してアクセスした際の平均アクセスタイムを、例えばミリ秒(ms)単位で記憶している。図5の表の1行目の例では、LUN ID=0のLUN17に対してCM#1経由のアクセスが未だ行なわれていないため、平均レスポンスタイムが空欄のままである。
なお、このLUN負荷テーブル29の切替フラグ293の値は、CM11のいずれかにおいて変更が行なわれる度に、CM間接続16を介して他のCM11内のパス管理部21に伝達される。これにより、パスの切替情報がCM11間で共有される。
ここで、パスの切替情報の共有は、例えば、公知のCM間通信技術を用いて、切替フラグ293の値の情報を他CM11に伝達することによって行なうことができる。詳細には、切替フラグ293の値を変えようとしているCM11のパス管理部21が、値を変更する対象のLUN ID、変更後の切替フラグ293の値(0,1,2,…)を、他CM11のパス管理部21に通知する。この通知を受け取った他CM11のパス管理部21が、LUN負荷テーブル29の値を更新する。
図6は、実施形態の一例としてのストレージ装置2における各LUNの状態遷移図であり、図7は、図6の状態遷移図を、担当CM11、非担当CM11のそれぞれの負荷状態毎に表形式で示す図である。
ストレージ装置2におけるLUN17は、ST1「正常状態」と、ST2「パス切替状態」との2つの状態を取る。
ST1の正常状態は、LUN17へのアクセスに、担当CM11を経由するストレートアクセスPA(図2参照)が使用される状態である。一方、ST2のパス切替状態は、LUN17へのアクセスに、非担当CM11を経由するクロスアクセスPB(図2参照)が使用される状態である。
図6,図7に示すように、ST1において、負荷判定部222が、LUN17の担当CM11の負荷が高くなり(例えば平均アクセスタイムが所定の上限しきい値TA以上になる)、かつ非担当CM11の負荷が低い(例えば、平均アクセスタイムがTB未満である)と判定する。
この場合、ステップS1において、切替パス抽出部223が最遅延LUN17を選択する。そして、パス切替指示部224が最遅延LUN17のパス切替を実行する。そして、所定間隔T1後に、パス切替効果確認部225が、パスの切替効果ありと判定すると、状態がST2に遷移する。
状態ST2において、負荷判定部222が、LUN17の担当CM11の負荷が高く、かつ非担当CM11の負荷も中程度である(例えば、平均アクセスタイムが所定の下限しきい値TB=10.0ms以上TA未満)と判定すると、ステップS3において状態遷移は発生しない(現状が維持される)。又、担当CM11の負荷が中程度(例えば、平均アクセスタイムがTB以上TA未満)であり、かつ非担当CM11の負荷が低い(例えば、平均アクセスタイムがTB未満)場合、或いは、担当CM11の負荷が中程度(例えば、平均アクセスタイムがTB以上TA未満)であり、かつ非担当CM11の負荷も中程度であると判定された場合も、状態遷移は発生しない。
一方、状態ST2において、負荷判定部222が、担当CM11の負荷が低くなった(例えば、平均アクセスタイムがTB未満になる)か、或いは、非担当CM11の負荷が高くなった(例えば、平均アクセスタイムがTA以上になる)と判定した場合、ステップS2において、パス切替指示部224によりパスが切り戻され、状態がST1に戻る。
なお、上記実施形態の一例においては、CM11のCPU14が、データ複製プログラムを実行することにより、上述したパス管理部21、負荷情報取得部221、負荷判定部222、切替パス抽出部223、パス切替指示部224、パス切替効果確認部225、及び全パス切戻し部226として機能するようになっている。
なお、上述したパス管理部21、負荷情報取得部221、負荷判定部222、切替パス抽出部223、パス切替指示部224、パス切替効果確認部225、及び全パス切戻し部226としての機能を実現するためのストレージ制御プログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から、不図示の媒体リーダーを用いてプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
上述したパス管理部21、負荷情報取得部221、負荷判定部222、切替パス抽出部223、パス切替指示部224、パス切替効果確認部225、及び全パス切戻し部226としての機能を実現する際には、内部記憶装置(本実施形態ではCM11のメモリ15や不図示のROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCM11のCPU14)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
(B)動作
次に、図8〜図20を参照して、実施形態の一例におけるストレージ装置2の動作を説明する。
図8は、実施形態の一例としての情報処理システム1におけるパス切替処理を示すフローチャート(ステップS11〜S21)である。
ステップS11において、負荷情報取得部221が、所定間隔T1(例えば30秒)おきに、負荷情報取得処理を実行して、CM11毎(担当CM11、非担当CM11)及びLUN17毎の平均コマンドレスポンスタイムを採取する。この負荷情報取得処理の詳細については、図11〜図13を用いて後述する。
次に、ステップS12において、負荷判定部222が、ステップS12において負荷情報取得部221が採取したCM11毎の平均レスポンスタイムを使用して、CM11間で負荷のアンバランスが生じているかどうかを判定する。詳細には、負荷判定部222は、CM負荷テーブル28を参照して、担当CM11の負荷が高く、かつ非担当CM11の負荷が低いかどうかを判定する。
CM11間で負荷のアンバランスが生じている場合(ステップS12のYESルート参照)、ステップS13において、切替パス抽出部223が、パス切替を行なうパスを特定する。その際、切替パス抽出部223は、LUN負荷テーブル29を参照して、担当CM11の管理下にあるLUN17のうち、平均レスポンスタイムが最も高いLUN17へのパスを、切替パスとして特定する。ステップS13の処理については図15を用いて後述する。
次に、ステップS14において、パス切替指示部224は、切替パス抽出部223が特定した最遅延LUN17のパス切替指示処理を実行する。詳細には、パス切替指示部224は、切替パス抽出部223が特定した最遅延LUN17に対するI/Oコマンドがホスト3から発行されるまで待機する。そして、LUN17に対するI/Oコマンドがホスト3から発行されると、パス切替指示部224は、このコマンドにセンス応答し、ホスト3にパス切替を促す。
なお、上記ステップS13,S14の処理については、図14,図15を用いて後述する。
次に、ステップS15において、パス切替指示部224は、所定時間T2(例えば5秒)内に、ホスト3からパス確認コマンドが受信され、パスの切替が確定したかどうかを判定する。なお、以降、上記のステップS13〜S15の処理をまとめて、パス切替処理と呼ぶ。パス切替処理におけるホスト3とのコマンドシーケンスについては、図9,図10を用いて後述する。
所定時間T2内にパスの切替が確定しなかった場合(ステップS15のNOルート参照)、ステップS19において、パス切替指示部224は、最遅延LUN17のパスを元のパスに戻す(パスを切り戻す)。その際、パス切替指示部224は、ステップS14,S15でパスを切り替えたLUN17に対するI/Oコマンドがホスト3から発行されるまで待機する。そして、このLUN17に対してホスト3からI/Oコマンドが発行されると、TPGSを利用して、このコマンドにセンス応答し、ホスト3にパス切戻しを促す。その後処理はステップS11に戻る。
一方、所定時間T2内にパスの切替が確定した場合(ステップS15のYESルート参照)、ステップS16において、負荷情報取得部221が、所定間隔T1(例えば30秒)後に、パス切替を行なったLUN17について、負荷情報を取得する。
次に、ステップS17において、パス切替効果確認部225が、パス切替効果確認処理を実行する。詳細には、パス切替効果確認部22は、ステップS16で採取したパス切替後(非担当CM11経由)の平均レスポンスタイムRaと、ステップS11で採取したパス切替前(担当CM11経由)の平均レスポンスタイムRbとを比較する。そして、パス切替効果確認部22は、パス切替後の平均レスポンスタイムRaがパス切替前の平均レスポンスタイムRbを下回る(Ra<Rb)場合、パス切替効果ありと判定する。逆に、パス切替後の平均レスポンスタイムRaがパス切替前の平均レスポンスタイムRb以上の場合(Ra≧Rb)には、パス切替効果確認部22は、パス切替効果なしと判定する。なお、パス切替効果確認処理については、図16を用いて後述する。
ステップS18において、パス切替効果確認部225は、ステップS17でパス切替効果ありと判定されたかどうかを判定する。
パス切替効果ありと判定された場合(ステップS18のYESルート参照)、処理はステップS11に戻る。
一方、パス切替効果なしと判定された場合(ステップS18のNOルート参照)、ステップS19において、パス切替指示部224は、最遅延LUN17のパスを元のパスに戻す(パスを切り戻す)。その後処理はステップS11に戻る。
一方、ステップS12でCM11間で負荷のアンバランスが生じていない場合(ステップS12のNOルート参照)、ステップS20において、負荷判定部222は、担当CM11の負荷が低くなったか、或いは、非担当CM11の負荷が高くなり、かつパスを切り替え済みのLUN17が存在するかどうかを判定する。
ステップS20の条件判定が真の場合(ステップS20のYESルート参照)、ステップS21において、全パス切戻し部22が、全パス切戻し処理を実行する(全パス切戻し処理については図19を用いて後述する)。その後、処理はステップS11に戻る。
一方、ステップ19の条件判定が偽の場合(ステップS20のNOルート参照)、処理はステップS11に戻る。
ここで、図8のステップS14,S15におけるパス切替処理のシーケンスについて説明する。
図9は、実施形態の一例としての情報処理システム1におけるパス切替処理時のシーケンスを例示する図(ステップS31〜S35)である。
この例は、図8のステップS14でのパス切替指示部224によるセンス応答後、所定時間T2(例えば5秒)内にホスト3からのパス確認コマンドがストレージ装置2に到着した場合を示す。
ステップS31において、負荷判定部222がCM11間の負荷がアンバランスであることを検出し、パスの切替が必要であると判定すると、切替パス抽出部223が最遅延LUN17を特定する。そして、パス切替指示部224が、切替パス抽出部223が特定した最遅延LUN17に対するホストI/Oの受信を待機する。
その後、ステップS32において、ホスト3が、ステップS31でパス切替指示部224が特定した最遅延LUN17に対してコマンドを発行する。
ステップS33において、ステップS32で受信したホスト3からのI/Oコマンドに対して、パス切替指示部224が、最遅延LUN17においてホスト3にセンス応答を行なう。
ステップS34において、ステップS33のセンス応答後、所定時間T2(例えば5秒)内にホスト3からのパス確認コマンドが、ストレージ装置2(詳細には最遅延LUN17)に到着する。
この場合、ステップS35において、パス切替指示部224は、非担当CM11を経由するクロスアクセスPBにパスが切り替わったことを通知するパス情報応答を、ホスト3に対して送信する。以降、ステップS31で特定された最遅延LUN17へのアクセスが、クロスアクセスPB経由で行なわれるようになる。
図10は、実施形態の一例としての情報処理システム1におけるパス切替処理時のシーケンスを例示する図(ステップS41〜S46)である。
この例は、図8のステップS14でのパス切替指示部224によるセンス応答後、所定時間T2(例えば5秒)内にホスト3からのパス確認コマンドがストレージ装置2に到着しなかった(遅れて到着した)場合を示す。
ステップS41において、負荷判定部222が、CM11間の負荷がアンバランスであることを検出し、パスの切替が必要であると判定すると、切替パス抽出部223が最遅延LUN17を特定する。そして、パス切替指示部224が、切替パス抽出部223が特定した最遅延LUN17に対するホストI/Oの受信を待機する。
その後、ステップS42において、ホスト3が、ステップS41でパス切替指示部224が特定した最遅延LUN17に対してコマンドを発行する。
ステップS43において、ステップS42で受信したホスト3からのI/Oコマンドに対して、パス切替指示部224が、最遅延LUN17においてホスト3にセンス応答を行なう。
ステップS44において、ステップS43のセンス応答後、所定時間T2(例えば5秒)が経過し、ホスト3からのパス確認コマンドの受信タイムアウトが発生する。
その後、ステップS45において、ホスト3からのパス確認コマンドが、ストレージ装置2(詳細には最遅延LUN17)に到着する。
この場合、ステップS46において、パス切替指示部224は、担当CM11を経由するストレートアクセスPAのままパスが切り替わっていないことを通知するパス情報応答を、ホスト3に対して送信する。そして以降も、ステップS41で特定された最遅延LUN17へのアクセスが、ストレートアクセスPA経由で引き続き行なわれる。
次に、図11〜13を参照して、図8のステップS11の負荷情報取得部221による負荷情報取得処理について説明する。
図11は、実施形態の一例としての負荷情報取得部221による負荷情報取得処理を示すフローチャート(ステップS51〜S53)である。
ステップS51において、負荷情報取得部221は、所定間隔T1(例えば30秒)おきに、CM11毎、LUN17毎の平均コマンドレスポンスタイムを取得する。
詳細には、負荷情報取得部221は、各CM11について、コマンドレスポンスタイムとして、所定間隔T1毎に、ホスト3からのリード/ライト要求をストレージ装置2が受け付けてから、ストレージ装置2が当該要求を処理して応答を返すまでの時間を採取する。そして、負荷情報取得部221は、例えばコマンドレスポンスが行なわれる度に、CM11毎のコマンドレスポンスタイムの平均値を求める。
又、負荷情報取得部221は、各LUN17について、コマンドレスポンスタイムとして、ホスト3からのリード/ライト要求をストレージ装置2が受け付けてから、ストレージ装置2が当該要求を処理して応答を返すまでの時間を採取する。負荷情報取得部221は、例えばコマンドレスポンスが行なわれる度に、LUN17毎のコマンドレスポンスタイムの平均値を求める。
次に、ステップS52において、負荷情報取得部221は、ステップS51で取得したCM毎の平均コマンドレスポンスタイムを、CM負荷テーブル28に格納する。
ステップS53において、負荷情報取得部221は、ステップS51で取得したLUN17毎の平均コマンドレスポンスタイムを、LUN負荷テーブル29に格納する。
なお、上記のステップS52,S53の処理は、同時に実行されても、逆の順序で実行されてもよい。
次に、図11のステップS52におけるCM負荷テーブル格納処理を詳細に説明する。
図12は、図11に示した負荷情報取得部221によるCM負荷テーブル格納処理を示すフローチャート(ステップS521〜S522)である。
ステップS521において、負荷情報取得部221は、図11のステップS51で取得したCM#0(CM11−1)の平均コマンドレスポンスタイムを、CM負荷テーブル28に格納する。
ステップS522において、負荷情報取得部221は、図11のステップS51で取得したCM#1(CM11−2)の平均コマンドレスポンスタイムを、CM負荷テーブル28に格納する。
次に、図11のステップS53におけるLUN負荷テーブル格納処理を詳細に説明する。
図13(a)はLUN負荷テーブル29を例示する図であり、図13(b)は図11に示した負荷情報取得部221によるLUN負荷テーブル格納処理を示すフローチャート(ステップS531〜S535)である。この処理は、各CM11においてそれぞれ独立して実行される。
図13(a)のLUN負荷テーブル29において、値が変更された箇所が太字で示されている。
ステップS531において、負荷情報取得部221は、LUN負荷テーブル29の先頭のレコードに移動する。
ステップS532において、負荷情報取得部221は、ステップS531で選択したレコードの担当CM11が本処理を実行しているCM11(自CM)であり、かつステップS531で選択したレコードの切替フラグ293の値が“0”であるか、或いは、ステップS531で選択したレコードの担当CM11が自CM11ではなく(他CM)、かつステップS531で選択したレコードの切替フラグ293の値が“0”を超えるかどうかを判定する。
ステップS532の条件判定が真の場合(ステップS532のYESルート参照)、負荷情報取得部221は、ステップS533において、図11のステップS51で取得したLUN17の平均レスポンスタイムを、LUN負荷テーブル29のCM#0経由平均レスポンスタイム294に格納する。
一方、ステップS532の条件判定が偽の場合(ステップS532のNOルート参照)、負荷情報取得部221は、ステップS534において、図11のステップS51で取得したLUN17の平均レスポンスタイムを、LUN負荷テーブル29のCM#1経由平均レスポンスタイム295に格納する。
次に、ステップS535において、負荷情報取得部221は、LUN負荷テーブル29の次のレコードに移動して、上記のステップS532〜S534の処理を繰り返す。負荷情報取得部221は、LUN負荷テーブル29の最後のレコードの処理が完了するまで、上記のステップS532〜S534の処理を繰り返す。
次に、図14(a),(b),図15(a)〜(c)を参照して、図8のステップS13,S14の切替パス抽出処理及びパス切替指示処理について説明する。
図14(a)はCM負荷テーブル28を例示する図であり、図14(b)はLUN負荷テーブル29を例示する図である。図15(a)は、パス切替候補領域26を例示する図であり、図15(b)はLUN負荷テーブル29を例示する図であり、図15(c)は実施形態の一例としての切替パス抽出部223による切替パス抽出処理及びパス切替指示部224によるパス切替処理を示すフローチャート(ステップS61〜S69)である。
ストレージ装置2において、CM負荷がアンバランス状態とは、例えば、図14(a)に示すような状態である。図14(a)の例では、例えば、CM11−1の平均レスポンスタイムが所定の上限しきい値TA(例えば20ms)以上になっている一方、CM11−2の平均レスポンスタイムは低い。
このような場合、前述のように、図8のステップS14において切替判定部222によってパスの切替が必要であると判定され、まず、切替パス抽出部223が切替パス抽出処理(ステップS61〜S66)を実行して、クロスアクセスPBに切り替えるパスを特定する。この処理は、各CM11においてそれぞれ独立して実行される。
詳細には、切替パス抽出部223は、図15(b)のステップS61において、CM11のメモリ15内のパス切替候補領域26(図1参照)のLUN#261及びレスポンスタイム262を、それぞれ値“0”に初期化する。
次に、ステップS62において、切替パス抽出部223は、LUN負荷テーブル29の先頭のレコードに移動する。
ステップS63において、切替パス抽出部223は、ステップS62で選択したレコードの担当CM11が本処理を実行しているCM11(自CM)であり、かつ当該レコードの切替フラグ293の値が“0”(切替なし)であるかどうかを判定する。
ステップS63の条件判定が偽の場合(ステップS63のNOルート参照)、切替パス抽出部223は、LUN負荷テーブル29の次のレコードに移動してステップS63に戻る。
一方、ステップS63の条件判定が真の場合(ステップS63のYESルート参照)、切替パス抽出部223は、ステップS64において、ステップS62で選択したレコードのLUN17の平均レスポンスタイムが、所定の上限しきい値TAを超えており、かつ、当該LUN17の平均レスポンスタイムが、パス切替候補領域26のレスポンスタイム262の記憶域に格納されている値を超えているかどうかを判定する。
ステップS64の条件判定が偽の場合(ステップS64のNOルート参照)、切替パス抽出部223は、LUN負荷テーブル29の次のレコードに移動してステップS63に戻る。
一方、ステップS64の条件判定が真の場合(ステップS64のYESルート参照)、切替パス抽出部223は、ステップS65において、ステップS62で選択したレコードのLUN17のLUN#と平均レスポンスタイムとを、パス切替候補領域26のLUN#261とレスポンスタイム262とに、それぞれ格納する。その後、切替パス抽出部223は、LUN負荷テーブル29の次のレコードに移動してステップS63に戻り、上記のステップS63〜S65の処理を繰り返す。切替パス抽出部223は、LUN負荷テーブル29の最後のレコードの処理が完了するまで、上記のステップS62〜S65の処理を繰り返す。
上記のステップS62〜S66の処理においては、図15(a)のLUN負荷テーブル29の例に示すように、切替パス抽出部223が、平均レスポンスタイムが最も高い22.5msであるLUN#4を最遅延LUN17として選択し、パス切替候補領域26のLUN#261に“4”を、レスポンスタイム262に“22.5”を、それぞれ記録する。
次に、パス切替指示部224がパス切替処理(ステップS67〜S69)を実行する。
ステップS67において、パス切替指示部224は、パス切替候補領域26のLUN#261の値が“0”であるかどうかを判定する。
パス切替候補領域26のLUN#261の値が“0”である場合(ステップS67のYESルート参照)、切替パス抽出処理において切替候補のパスが選択されなかったので、パス切替指示部224は、本処理を終了する。
一方、パス切替候補領域26のLUN#261の値が“0”ではない場合(ステップS67のNOルート参照)、切替パス抽出処理において切替候補のパスが選択されている。このため、ステップS68において、パス切替指示部224は、パス切替候補領域26のLUN#261に格納されているLUN17に対し、TPGSを利用してホスト3にセンス応答し、ホスト3に対してパス切替を誘導する。
ステップS69において、パス切替指示部224は、LUN負荷テーブル29の、パス切替を誘導したLUN17の切替フラグ293の値を“1”(切替中)に変更して処理を終了する。図15(a)のLUN負荷テーブル29の例では、LUN#=4の切替Flgの値を“1”に変更する。
次に、図16(a),(b)〜図18(a),(b)を参照して、図8のステップS17のパス切替効果確認処理について説明する。
図16(a)はLUN負荷テーブル29を例示する図であり、図16(b)は、実施形態の一例としてのパス切替効果確認部225によるパス切替効果確認処理を示すフローチャート(ステップS71〜S77)である。このパス切替効果確認処理は、各CM11においてそれぞれ独立して実行される。
図16(b)のステップS71において、パス切替効果確認部225は、LUN負荷テーブル29の先頭のレコードに移動する。
ステップS72において、パス切替効果確認部225は、ステップS71で選択したレコードの担当CM11が本処理を実行しているCM11(自CM)であり、かつ当該レコードの切替フラグ293の値が“1”(切替済み)であるかどうかを判定する。
ステップS72の条件判定が偽の場合(ステップS72のNOルート参照)、パス切替効果確認部225は、LUN負荷テーブル29の次のレコードに移動してステップS72に戻る。
一方、ステップS72の条件判定が真の場合(ステップS72のYESルート参照)、パスの切替が行なわれている。このため、ステップS73において、パス切替効果確認部225は、LUN負荷テーブル29を参照して、パス切替前の平均レスポンスタイムRbがパス切替後のレスポンスタイムRaを超えているかどうかを調べ、超えている場合はパス切替効果ありと判定する。一方、パス切替効果確認部225は、パス切替前の平均レスポンスタイムRbがパス切替後のレスポンスタイムRa以下の場合には、パス切替効果なしと判定する。
例えば、図16(a)のLUN負荷テーブル29の例では、LUN#4に対するパス切替前の平均レスポンスタイムRb=22.5は、パス切替後のレスポンスタイムRa=19.5を超えているため、パス切替効果確認部225は、パス切替効果ありと判定する。
パス切替効果ありと判定した場合(ステップS73のYESルート参照)、パス切替を確定するために、ステップS76において、パス切替効果確認部225は、LUN負荷テーブル29の当該LUN17の切替フラグ293の値を“2”(切替済み)に設定し、後述するステップS77に移動する。
一方、パス切替効果なしと判定した場合(ステップS73のNOルート参照)、ステップS74において、TPGSを使用して、対象のLUN17のパスを切り戻す。
そしてステップS75において、パス切替効果確認部225は、LUN負荷テーブル29の当該LUN17の切替フラグ293の値を“−1”(切替効果なし)に設定する。
その後、パス切替効果確認部225は、LUN負荷テーブル29の次のレコードに移動してステップS77に移動し、上記のステップS73〜S76の処理を繰り返す。パス切替効果確認部225は、LUN負荷テーブル29の最後のレコードの処理が完了するまで、上記のステップS73〜S76の処理を繰り返す。
図17(a),(b)は、パス切替効果ありの場合を例示する図であり、図17(a)はCM負荷テーブル28を例示する図であり、図17(b)はLUN負荷テーブル29を例示する図である。
この図の例では、パス切替前の平均レスポンスタイムRb=22.5は、パス切替後のレスポンスタイムRa=19.5を超えているため、パス切替効果確認部225は、パス切替効果ありと判定する。そのため、パス切替効果確認部225は、LUN負荷テーブル29の当該LUN17の切替フラグ293の値を“2”に設定して、パス切替を確定する。
図18(a),(b)は、パス切替効果なしの場合を例示する図であり、図18(a)はCM負荷テーブル28を例示する図であり、図18(b)はLUN負荷テーブル29を例示する図である。
この図の例では、パス切替前の平均レスポンスタイムRb=22.5は、パス切替後のレスポンスタイムRa=25.5以下であるため、パス切替効果確認部225は、パス切替効果なしと判定する。そのため、パス切替効果確認部225は、LUN負荷テーブル29の当該LUN17の切替フラグ293の値を“−1”に設定して、パスを切り戻す。
次に、図19,図20(a),(b)を参照して、図8のステップS17の全パス切戻し処理について説明する。
図19は、実施形態の一例としての全パス切戻し部226による全パス切戻し処理を示すフローチャート(ステップS81〜S85)である。この処理は、各CM11においてそれぞれ独立して実行される。
ステップS81において、全パス切戻し部226は、LUN負荷テーブル29の先頭のレコードに移動する。
ステップS82において、全パス切戻し部226は、ステップS81で選択したレコードの担当CM11が本処理を実行しているCM11(自CM)であり、かつステップS81で選択したレコードの切替フラグ293の値が“0”を超えているかどうかを判定する。
ステップS82の条件判定が偽の場合(ステップS82のNOルート参照)、全パス切戻し部226は、LUN負荷テーブル29の次のレコードに移動してステップS82に戻る。
一方、ステップS82の条件判定が真の場合(ステップS82のYESルート参照)、ステップS83において、全パス切戻し部226は、LUN負荷テーブル29のステップS81で選択したレコードのLUN#のLUN17に対して、TPGSを利用して、ホスト3にパスの切戻しを誘導する。詳細には、全パス切戻し部226は、当該LUN17に対するI/Oコマンドがホスト3から発行されるまで待機する。そして、このLUN17に対してホスト3からI/Oコマンドが発行されると、TPGSを利用して、このコマンドにセンス応答し、ホスト3にパス切戻しを促す。
ステップS84において、全パス切戻し部226は、LUN負荷テーブル29の当該LUN17の切替フラグ293の値を“0”に設定する。
その後、全パス切戻し部226は、LUN負荷テーブル29の次のレコードに移動してステップS82に戻り、上記のステップS83〜S85の処理を繰り返す。全パス切戻し部226は、LUN負荷テーブル29の最後のレコードの処理が完了するまで、上記のステップS83〜S85の処理を繰り返す。
図20(a),(b)は、全パス切戻し処理前の各テーブルを示す図であり、図20(a)はCM負荷テーブル28を例示する図であり、図20(b)はLUN負荷テーブル29を例示する図である。
この例では、LUN負荷テーブル29の切替フラグ293の値が“1”又は“2”のLUN17は、パスの切替が行なわれている。全パス切戻し部226により、これらのパスが全て切り戻される。
(C)作用/効果
このように、実施形態の一例によれば、パス管理部21の負荷情報取得部221が、CM11毎及びLUN17毎の負荷として、LUN17の平均レスポンスタイムを監視する。そして、負荷判定部222が、CM11間で負荷のアンバランスの発生の有無を判定し、CM11間で負荷のアンバランスが発生している場合、パスの切替が必要であると判定する。次に、切替パス抽出部223が、最遅延LUN17を特定し、パス切替指示部224が、切替パス抽出部223によって特定された最遅延LUN17のパス切替を行なう。
これにより、ALUA対応ストレージ装置2においてCM11間で負荷が分散される。特定のCM11にI/O負荷が偏る状況が回避されるため、ストレージ装置2全体のレスポンスタイムが短縮される。
パス切替後に、負荷判定部222が、CM11間の負荷のアンバランスの解消、すなわち、パス切替を行なった担当CM11の高負荷が解消したか、或いは非担当CM11の負荷が上昇したことを検知すると、パス切替指示部224が当該LUN17のパスを切戻す。
上記の構成により、ALUA対応ストレージ装置2においてレスポンスタイムが短くなる方のパスが常に選択されるので、CM11間で負荷の分散を図り、ストレージ装置2のI/Oレスポンスを改善して、レスポンスタイムを短縮することができる。
このように、本ストレージ装置2においては、担当CM11の負荷が高く、処理遅延が発生した場合に、処理能力に余力のある非担当CM11のアクセスパスを有効活用して、レスポンス遅延を解消することができる。
(D)その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記の実施形態の一例においては、各CM11にCA12、DA13がそれぞれ2つずつそなえられていたが、CM11に1、又は3以上のCA12、DA13がそなえられてもよい。
逆に、上記の実施形態の一例においては、各CM11にそなえられたCPU14およびメモリ15の個数はそれぞれ1つであったが、1つのCM11に複数のCPU14やメモリ15がそなえられてもよい。
又、上記の実施形態の一例においては、各ディスク18はHDDであったが、ディスク18が、Solid State Disk(SSD)などの他の記憶装置であってもよい。
又、上記の実施形態の一例においては、ストレージ装置2は、複数台のディスク18がRAIDグループ19を構成するRAID構成であったが、ストレージ装置2がRAIDを構成していなくてもよい。
又、上記の実施形態の一例においては、負荷情報取得部221が、負荷情報として平均レスポンスタイムを収集していたが、負荷情報取得部221が、負荷情報として、処理量やキュー待機量などのほかの情報を収集してもよい。
さらに、上記の実施形態の一例においては、所定間隔T1、所定時間T2、上限しきい値TA、下限しきい値TBの値の例として、30秒、5秒、20.0ms、10.0msを使用したが、これらのパラメータに、任意の値を設定してもよい。
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
記憶域をそなえ、前記記憶域に対する複数のアクセスパスが設けられているストレージ装置を制御するストレージ制御装置であって、
前記複数のアクセスパスの負荷を示す負荷情報を取得する取得部と、
前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定する判定部と、
前記判定部によってアクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択する抽出部と、
前記抽出部が選択した前記切替候補アクセスパスの切替を指示する切替指示部と、
をそなえることを特徴とするストレージ制御装置。
(付記2)
前記負荷情報に基づいて、前記アクセスパスの切替後に前記アクセスパスの切替の効果の有無を確認し、前記切替の効果がある場合には前記切替を継続し、前記切替の効果がない場合には前記アクセスパスの切替を元に戻す確認部をさらにそなえることを特徴とする付記1記載のストレージ制御装置。
(付記3)
前記複数のアクセスパスは、前記記憶域に対するアクセスの優先度が異なり、
前記判定部は、前記負荷情報に基づいて、前記複数のアクセスパスのうちの優先度の高いパスの前記負荷が所定値以上であり、前記複数のアクセスパスのうちの優先度の低いアクセスパスの前記負荷が所定値未満である場合に、前記記憶域に対する前記アクセスパスを切り替えるべきであると判定することを特徴とする付記1又は2記載のストレージ制御装置。
(付記4)
前記抽出部は、前記複数のアクセスパスのうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷の最も低いアクセスパスを、前記切替候補アクセスパスとして選択することを特徴とする付記1〜3のいずれか1項に記載のストレージ制御装置。
(付記5)
前記ストレージ装置は、前記記憶域を複数有し、
前記ストレージ制御装置は、前記複数の記憶域のうちの一部分を制御し、
前記取得部は、前記ストレージ制御装置が制御する記憶域毎に前記負荷情報を取得することを特徴とする付記1〜4のいずれか1項に記載のストレージ制御装置。
(付記6)
前記取得部は、前記負荷情報を前記ストレージ制御装置及び前記記憶域毎に取得することを特徴とする付記5記載のストレージ制御装置。
(付記7)
前記抽出部は、前記ストレージ制御装置が制御する前記記憶域のうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷が最も高い記憶域を通るアクセスパスのうち、前記ストレージ制御装置以外の第2のストレージ制御装置を通る前記優先度の低いアクセスパスを、前記切替候補アクセスパスとして選択することを特徴とする付記6記載のストレージ制御装置。
(付記8)
前記ストレージ制御装置の前記負荷が低下したか、或いは前記第2のストレージ制御装置の前記負荷が上昇した場合に、前記ストレージ装置内の全アクセスパスをリセットする復旧部をさらにそなえることを特徴とする付記7記載のストレージ制御装置。
(付記9)
ストレージ装置であって、
記憶域と、
前記ストレージ装置を制御するストレージ制御装置と、をそなえ、
前記記憶域に対して複数のアクセスパスが設けられており、
前記ストレージ制御装置は、
前記複数のアクセスパスの負荷を示す負荷情報を取得する取得部と、
前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定する判定部と、
前記判定部によってアクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択する抽出部と、
前記抽出部が選択した前記切替候補アクセスパスの切替を指示する切替指示部と、
をそなえることを特徴とするストレージ装置。
(付記10)
前記ストレージ制御装置は、
前記負荷情報に基づいて、前記アクセスパスの切替後に前記アクセスパスの切替の効果の有無を確認し、前記切替の効果がある場合には前記切替を継続し、前記切替の効果がない場合には前記アクセスパスの切替を元に戻す確認部をさらにそなえることを特徴とする付記9記載のストレージ装置。
(付記11)
前記複数のアクセスパスは、前記記憶域に対するアクセスの優先度が異なり、
前記判定部は、前記負荷情報に基づいて、前記複数のアクセスパスのうちの優先度の高いパスの前記負荷が所定値以上であり、前記複数のアクセスパスのうちの優先度の低いアクセスパスの前記負荷が所定値未満である場合に、前記記憶域に対する前記アクセスパスを切り替えるべきであると判定することを特徴とする付記9又は10記載のストレージ装置。
(付記12)
前記抽出部は、前記複数のアクセスパスのうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷の最も低いアクセスパスを、前記切替候補アクセスパスとして選択することを特徴とする付記9〜11のいずれか1項に記載のストレージ装置。
(付記13)
前記ストレージ装置は、
前記記憶域を複数と、第2のストレージ制御装置とを有し、
前記ストレージ制御装置と前記第2のストレージ制御装置とは、前記複数の記憶域のうちの一部分をそれぞれ制御し、
前記取得部は、前記ストレージ制御装置が制御する記憶域毎に前記負荷情報を取得することを特徴とする付記9〜12のいずれか1項に記載のストレージ装置。
(付記14)
前記取得部は、前記ストレージ制御装置及び前記第2のストレージ制御装置、並びに前記記憶域毎に前記負荷情報を取得することを特徴とする付記13記載のストレージ装置。
(付記15)
前記抽出部は、前記ストレージ制御装置が制御する前記記憶域のうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷が最も高い記憶域を通るアクセスパスのうち、前記第2のストレージ制御装置を通る前記優先度の低いアクセスパスを、前記切替候補アクセスパスとして選択することを特徴とする付記14記載のストレージ装置。
(付記16)
前記ストレージ制御装置の前記負荷が低下したか、或いは前記第2の前記ストレージ制御装置の前記負荷が上昇した場合に、前記ストレージ装置内の全アクセスパスをリセットする復旧部をさらにそなえることを特徴とする付記15記載のストレージ装置。
(付記17)
記憶域と、ストレージ装置を制御するストレージ制御装置と、をそなえ、前記記憶域に対して複数のアクセスパスが設けられているストレージ装置を制御するストレージ制御プログラムであって、
前記複数のアクセスパスの負荷を示す負荷情報を取得し、
前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定し、
前記アクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択し、
前記選択された前記切替候補アクセスパスの切替を指示する、
処理をコンピュータに実行させることを特徴とするストレージ制御プログラム。
(付記18)
前記負荷情報に基づいて、前記アクセスパスの切替後に前記アクセスパスの切替の効果の有無を確認し、前記切替の効果がある場合には前記切替を継続し、前記切替の効果がない場合には前記アクセスパスの切替を元に戻す処理を前記コンピュータに実行させることを特徴とする付記17記載のストレージ制御プログラム。
(付記19)
前記複数のアクセスパスは、前記記憶域に対するアクセスの優先度が異なり、
前記負荷情報に基づいて、前記複数のアクセスパスのうちの優先度の高いパスの前記負荷が所定値以上であり、前記複数のアクセスパスのうちの優先度の低いアクセスパスの前記負荷が所定値未満である場合に、前記記憶域に対する前記アクセスパスを切り替えるべきであると判定する処理を前記コンピュータに実行させることを特徴とする付記17又は18記載のストレージ制御プログラム。
(付記20)
前記複数のアクセスパスのうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷の最も低いアクセスパスを、前記切替候補アクセスパスとして選択する処理を前記コンピュータに実行させることを特徴とする付記17〜19のいずれか1項に記載のストレージ制御プログラム。
(付記21)
前記ストレージ装置は、前記記憶域を複数有し、
前記ストレージ装置は、前記複数の記憶域のうちの一部分を制御し、
前記ストレージ制御装置が制御する記憶域毎に前記負荷情報を取得する処理を前記コンピュータに実行させることを特徴とする付記17〜20のいずれか1項に記載のストレージ制御プログラム。
(付記22)
前記負荷情報を前記ストレージ制御装置及び前記記憶域毎に取得する処理を前記コンピュータに実行させることを特徴とする付記21記載のストレージ制御プログラム。
(付記23)
前記ストレージ制御装置が制御する前記記憶域のうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷が最も高い記憶域を通るアクセスパスのうち、前記ストレージ制御装置以外の第2のストレージ制御装置を通る前記優先度の低いアクセスパスを、前記切替候補アクセスパスとして選択する処理を前記コンピュータに実行させることを特徴とする付記22記載のストレージ制御プログラム。
(付記24)
前記ストレージ制御装置の前記負荷が低下したか、或いは前記第2のストレージ制御装置の前記負荷が上昇した場合に、前記ストレージ装置内の全アクセスパスをリセットする処理を前記コンピュータに実行させることを特徴とする付記23記載のストレージ制御プログラム。
1 情報処理システム
2 ストレージ装置
3 ホスト(上位装置)
11 CM(コンピュータ)
12 CA
13 DA
14 CPU
15 メモリ
16 CM間接続
17 LUN(記憶域)
18 ディスク
19 RAID
20 ストレージ制御部
21 パス管理部(ストレージ制御装置)
22 キャッシュ制御部
23 RAID制御部
28 CM負荷テーブル
29 LUN負荷テーブル
221 負荷情報(28,29)取得部(取得部)
222 負荷判定部(判定部)
223 切替パス抽出部(抽出部)
224 パス切替指示部(切替指示部)
225 パス切替効果確認部(確認部)
226 全パス切戻し部(復旧部)

Claims (10)

  1. 記憶域をそなえ、前記記憶域に対する複数のアクセスパスが設けられているストレージ装置を制御するストレージ制御装置であって、
    前記複数のアクセスパスの負荷を示す負荷情報を取得する取得部と、
    前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定する判定部と、
    前記判定部によってアクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択する抽出部と、
    前記抽出部が選択した前記切替候補アクセスパスの切替を指示する切替指示部と、
    をそなえることを特徴とするストレージ制御装置。
  2. 前記負荷情報に基づいて、前記アクセスパスの切替後に前記アクセスパスの切替の効果の有無を確認し、前記切替の効果がある場合には前記切替を継続し、前記切替の効果がない場合には前記アクセスパスの切替を元に戻す確認部をさらにそなえることを特徴とする請求項1記載のストレージ制御装置。
  3. 前記複数のアクセスパスは、前記記憶域に対するアクセスの優先度が異なり、
    前記判定部は、前記負荷情報に基づいて、前記複数のアクセスパスのうちの優先度の高いパスの前記負荷が所定値以上であり、前記複数のアクセスパスのうちの優先度の低いアクセスパスの前記負荷が所定値未満である場合に、前記記憶域に対する前記アクセスパスを切り替えるべきであると判定することを特徴とする請求項1又は2記載のストレージ制御装置。
  4. 前記抽出部は、前記複数のアクセスパスのうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷の最も低いアクセスパスを、前記切替候補アクセスパスとして選択することを特徴とする請求項1〜3のいずれか1項に記載のストレージ制御装置。
  5. 前記ストレージ装置は、前記記憶域を複数有し、
    前記ストレージ制御装置は、前記複数の記憶域のうちの一部分を制御し、
    前記取得部は、前記ストレージ制御装置が制御する記憶域毎に前記負荷情報を取得することを特徴とする請求項1〜4のいずれか1項に記載のストレージ制御装置。
  6. 前記取得部は、前記負荷情報を前記ストレージ制御装置及び前記記憶域毎に取得することを特徴とする請求項5記載のストレージ制御装置。
  7. 前記抽出部は、前記ストレージ制御装置が制御する前記記憶域のうち、前記取得部が取得した前記負荷情報に基づいて、前記負荷が最も高い記憶域を通るアクセスパスのうち、前記ストレージ制御装置以外の第2のストレージ制御装置を通る前記優先度の低いアクセスパスを、前記切替候補アクセスパスとして選択することを特徴とする請求項6記載のストレージ制御装置。
  8. 前記ストレージ制御装置の前記負荷が低下したか、或いは前記第2のストレージ制御装置の前記負荷が上昇した場合に、前記ストレージ装置内の全アクセスパスをリセットする復旧部をさらにそなえることを特徴とする請求項7記載のストレージ制御装置。
  9. ストレージ装置であって、
    記憶域と、
    前記ストレージ装置を制御するストレージ制御装置と、をそなえ、前記記憶域に対して複数のアクセスパスが設けられており、
    前記ストレージ制御装置は、
    前記複数のアクセスパスの負荷を示す負荷情報を取得する取得部と、
    前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定する判定部と、
    前記判定部によってアクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択する抽出部と、
    前記抽出部が選択した前記切替候補アクセスパスの切替を指示する切替指示部と、
    をそなえることを特徴とするストレージ装置。
  10. 記憶域と、ストレージ装置を制御するストレージ制御装置と、をそなえ、前記記憶域に対して複数のアクセスパスが設けられているストレージ装置を制御するストレージ制御プログラムであって、
    前記複数のアクセスパスの負荷を示す負荷情報を取得し、
    前記負荷情報に基づいて、前記記憶域に対する前記アクセスパスを切り替えるべきかどうかを判定し、
    前記アクセスパスを切り替えるべきと判定された場合、切替候補アクセスパスを選択し、
    前記選択された前記切替候補アクセスパスの切替を指示する、
    処理をコンピュータに実行させることを特徴とするストレージ制御プログラム。
JP2014060370A 2014-03-24 2014-03-24 ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム Pending JP2015184895A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014060370A JP2015184895A (ja) 2014-03-24 2014-03-24 ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム
US14/661,519 US20150269099A1 (en) 2014-03-24 2015-03-18 Storage controller, storage apparatus, and computer readable storage medium having storage control program stored therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014060370A JP2015184895A (ja) 2014-03-24 2014-03-24 ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム

Publications (1)

Publication Number Publication Date
JP2015184895A true JP2015184895A (ja) 2015-10-22

Family

ID=54142263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014060370A Pending JP2015184895A (ja) 2014-03-24 2014-03-24 ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム

Country Status (2)

Country Link
US (1) US20150269099A1 (ja)
JP (1) JP2015184895A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017151858A (ja) * 2016-02-26 2017-08-31 日本電気株式会社 ストレージ装置の制御装置、ストレージ装置の制御方法、およびストレージ装置の制御プログラム
JP7518364B2 (ja) 2020-08-27 2024-07-18 富士通株式会社 情報処理装置およびパス制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268517B2 (en) * 2017-04-03 2019-04-23 International Business Machines Corporation Parallel input/output via multipath software
US10521380B1 (en) * 2018-06-12 2019-12-31 International Business Machines Corporation Using storage controllers to respond to multipath input/output requests
CN117828134A (zh) * 2023-12-29 2024-04-05 中电云计算技术有限公司 一种树形元数据结构下对象语义的快速定位方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4318914B2 (ja) * 2002-12-26 2009-08-26 富士通株式会社 ストレージシステム及びその動的負荷管理方法
JP5057656B2 (ja) * 2005-05-24 2012-10-24 株式会社日立製作所 ストレージシステム及びストレージシステムの運用方法
WO2009088435A1 (en) * 2007-12-31 2009-07-16 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
JP2010128630A (ja) * 2008-11-26 2010-06-10 Hitachi Ltd ストレージシステム、負荷分散管理方法、および記憶媒体
US9882805B2 (en) * 2013-09-30 2018-01-30 Vmware, Inc. Dynamic path selection policy for multipathing in a virtualized environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017151858A (ja) * 2016-02-26 2017-08-31 日本電気株式会社 ストレージ装置の制御装置、ストレージ装置の制御方法、およびストレージ装置の制御プログラム
JP7518364B2 (ja) 2020-08-27 2024-07-18 富士通株式会社 情報処理装置およびパス制御方法

Also Published As

Publication number Publication date
US20150269099A1 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US9977620B2 (en) Storage device and storage system
CN103329106B (zh) Alua首选项和状态转换的主机发现和处理
JP2015184895A (ja) ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム
JP6955159B2 (ja) ストレージシステム、ストレージ制御装置およびプログラム
US20120233399A1 (en) Storage apparatus and method of controlling the same
JP5923976B2 (ja) 接続装置、ストレージ装置、接続装置における処理方法、および処理プログラム
CN105786414A (zh) 存储系统、存储系统的访问方法和存储系统的访问装置
US20160062761A1 (en) Storage device and method of updating firmware
JP6464777B2 (ja) 情報処理装置及びプログラム
JP2017091456A (ja) 制御装置、制御プログラムおよび制御方法
US8621121B1 (en) Detecting bogus IOs in a multipathing driver
US20160085446A1 (en) Control device and storage system
JP2014026529A (ja) ストレージシステムおよびその制御方法
US20160132258A1 (en) Enhanced Reconstruction in an Array of Information Storage Devices by Physical Disk Reduction without Losing Data
JP2016218700A (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージシステム
EP2876542B1 (en) Storage control device, program, and control method
US20090228610A1 (en) Storage system, storage apparatus, and control method for storage system
JP6031992B2 (ja) 情報処理装置、情報処理システム、入出力方法及び入出力プログラム
US20190220375A1 (en) Storage system and storage method
JP2015161999A (ja) ストレージ装置,制御装置及び制御プログラム
JP6244970B2 (ja) ストレージシステム、制御装置及び制御プログラム
JP4969795B2 (ja) 記憶制御システム
US10079729B2 (en) Adaptive storage-aware multipath management