JP6409613B2 - 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム - Google Patents

情報処理装置,マルチパス制御方法及びマルチパス制御プログラム Download PDF

Info

Publication number
JP6409613B2
JP6409613B2 JP2015032954A JP2015032954A JP6409613B2 JP 6409613 B2 JP6409613 B2 JP 6409613B2 JP 2015032954 A JP2015032954 A JP 2015032954A JP 2015032954 A JP2015032954 A JP 2015032954A JP 6409613 B2 JP6409613 B2 JP 6409613B2
Authority
JP
Japan
Prior art keywords
storage device
time
report
response
referral
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.)
Active
Application number
JP2015032954A
Other languages
English (en)
Other versions
JP2016157177A (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 JP2015032954A priority Critical patent/JP6409613B2/ja
Priority to US14/990,039 priority patent/US10366032B2/en
Publication of JP2016157177A publication Critical patent/JP2016157177A/ja
Application granted granted Critical
Publication of JP6409613B2 publication Critical patent/JP6409613B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置,マルチパス制御方法及びマルチパス制御プログラムに関する。
ストレージ装置として、ホスト装置との間を複数の通信経路(パス)で接続される、いわゆるマルチパス接続に対応するものがある。
また近年では、マルチパス接続において最適なパス選択となるようTPGS(Target Port Group Support)を用いたマルチパス管理が知られている。
図7及び図8はTPGSを用いた従来のパス管理方法を説明するための図である。
TPGSを使用したマルチパス管理では、ホスト装置のマルチパスドライバから任意のパスを介してREPORT TARGET PORT GROUPコマンドをストレージ装置に対して発行する。
ストレージ装置は、REPORT TARGET PORT GROUPコマンドを受信すると、論理ボリュームを担当するコントローラ(CM:Controller Module)に備えられているホストポートを推奨(Optimized)パスとすることで、ストレージ装置にとって適切なパス情報を報告する。
図7に示す例においては、コントローラAが論理ボリュームVA1を担当しており、この論理ボリュームVA1を構成する物理領域としてはコントローラAに接続された物理ボリュームAが用いられている。
ホスト装置からコントローラAに対してREPORT TARGET PORT GROUPコマンドが発行されると、コントローラAは自身が備えるポートについて、アクセスステート(Access state)として“Active/Optimized”を応答する。
また、論理ボリュームVA1を担当しないコントローラBのポートについては、アクセスステートとして例えば、“Active/Non-optimized”が応答される。ホスト装置においては、応答された情報を元にアクティブパスを選択する。
また、近年では、記憶領域や管理費用を削減するために、RAID(Redundant Arrays of Inexpensive Disks)技術にシンプロビジョニング(Thin Provisioning)機能を加えたストレージ装置が採用されている。シンプロビジョニング機能とは、ストレージシステムにおいて、物理ボリューム容量以上の容量をサーバに見せる技術であって、サーバ等の上位装置から見えるボリューム容量を仮想化する機能である。
TPGSでは、論理ボリューム単位でパス情報を管理する。このため、シンプロビジョニングボリュームのような、論理ボリューム内で物理ブロック毎に担当コントローラが異なるケースには対応できない。
図8に示す例においては、シンプロビジョニングボリュームである論理ボリュームVA2について示しており、その物理領域がコントローラAに接続された物理ボリュームAとコントローラBに接続された物理ボリュームBとに分散されている。すなわち、論理ボリュームVA2を構成する物理領域の一部がコントローラAに接続された物理ボリュームAに存在し(符号b1参照)、また、他の一部がコントローラBに接続された物理ボリュームBに存在している(符号b2参照)。
このように構成された論理ボリュームVA2の場合、TPGSにおいて論理ボリューム単位で推奨ホストアクセスパスを通知すると、担当コントローラが異なるブロックについては、コントローラ間でデータの移動が必要となる。
図8に示す例においては、コントローラBからコントローラAに対して、物理ボリュームBの物理ブロックb2のデータの移動が生じる。以下、このようなコントローラ間でデータの移動を行なうことをクロスアクセスという。
このようなクロスアクセスは、コマンド応答時間を遅延させ、ホストアクセスの性能低下の要因となる。
そこで、このようなクロスアクセスによる性能低下を防止するための手法として、リファラル(Referrals)仕様が知られている。
図9はリファラル仕様を説明するための図である。
リファラル仕様では、上述したREPORT TARGET PORT GROUPコマンドに合わせて、REPORT REFERRALSコマンドが使用される。すなわち、ホスト装置のマルチパスドライバがストレージ装置に対してREPORT REFERRALSコマンドを発行する。
ストレージ装置は、受信したREPORT REFERRLASコマンドに対して、ブロック(チャンク)単位での推奨パス情報を応答する。なお、チャンクとは、複数ブロックをまとめたものでブロック管理の制御単位となる。
ホスト装置においてマルチパスドライバは、チャンク単位でパス情報を管理し、チャンク単位でアクセスパスを選択する。
ホスト装置においては、REPORT REFERRALSコマンドを発行することによって取得した「チャンク単位のパス管理情報」を、そのメモリ上にパス情報キャッシュとして記憶しておく。
これにより、それ以降に同じチャンクに発行するIO(入出力;Input Output)についてはREPORT REFERRALSを発行せずに、パス情報キャッシュを参照することで発行するべきパスを選択することが可能となる。
特開2005−321959号公報 特開2000−298555号公報
このような従来のストレージシステムにおいて、パス情報キャッシュで使用できるメモリサイズ以上に、ストレージ側がチャンク分割されることが考えられる。
パス情報キャッシュで使用できるメモリサイズ以上にストレージ側がチャンク分割されている場合には、ストレージの全てのチャンク情報をパス情報キャッシュに置くことができず、パス情報キャッシュにおいて古いものや使用頻度の低いものから上書きされる。
このようにパス情報キャッシュから削除されたチャンクにIOを発行する場合には、再びREPORT REFERRALSコマンドを発行し、再度パス情報を取得してからIOを発行することになる。
具体的には、パス情報キャッシュから削除されたチャンクへIOを発行する際には、ホスト装置のマルチパスドライバにおいて以下の(i)〜(iv)の処理が行なわれる。
(i)IO対象のチャンクをパス情報キャッシュにおいて検索
(ii)パス情報キャッシュにチャンクが存在しないため、ストレージにREPORT REFERRALSコマンドを発行
(iii)REPORT REFERRALSコマンドに対してストレージから応答された情報からパスを選択
(iv)IO発行
このように、パス情報キャッシュから削除されたチャンクへIOを発行する際には、特に上記(ii),(iii)の処理が実行されることにより、REPORT REFERRALSコマンドを発行することでIO発行に時間を要することになる。
本来クロスアクセスによるIO遅延を防止することを目的に導入されたリファラル仕様であるにもかかわらず、「REPORT REFERRALSに要する時間」が「クロスアクセスによる遅延時間」よりも大きくなりIO遅延が生じる場合があるという課題がある。
1つの側面では、本発明は、ストレージ装置に対するデータアクセス命令を効率的に処理することを目的とする。
このため、この情報処理装置は、ストレージ装置に備えられた複数のコントローラと複数のパスを介して接続される情報処理装置であって、前記ストレージ装置に対して推奨パス問い合わせを発行する推奨パス確認部と、前記ストレージ装置に対して発行するデータアクセス命令に関して、前記複数のコントローラ間におけるコントローラ間通信を用いるデータ通信による遅延時間の予測値である遅延予測時間と、前記ストレージ装置に対して前記推奨パス問い合わせを発行する場合の応答時間の予測値である応答予測時間とを比較する比較部と、前記応答予測時間が前記遅延予測時間以上の場合に、前記推奨パス問い合わせの発行を抑止する抑止制御部とを備える。
一実施形態によれば、ストレージ装置に対するデータアクセス命令を効率的に処理することができる。
実施形態の一例としてのストレージシステムの機能構成を示す図である。 実施形態の一例としてのストレージシステムのハードウェア構成を示す図である。 実施形態の一例としてのストレージシステムの管理情報を例示する図である。 実施形態の一例としてのストレージシステムにおけるクロスアクセス発生確率を説明するための図である。 (a),(b)は実施形態の一例としてのストレージシステムのシステム起動時におけるマルチパスドライバの処理を説明するためのフローチャートである。 (a),(b)は実施形態の一例としてのストレージシステムのIO処理発行時におけるマルチパスドライバの処理を説明するためのフローチャートである。 TPGSを用いた従来のパス管理方法を説明するための図である。 TPGSを用いた従来のパス管理方法を説明するための図である。 リファラル仕様を説明するための図である。
以下、図面を参照して本情報処理装置,マルチパス制御方法及びマルチパス制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)システム構成
図1は実施形態の一例としてのストレージシステム1の機能構成を示す図、図2はそのハードウェア構成を示す図である。
実施形態の一例としてのストレージシステム1は、図2に示すように、ホスト装置(情報処理装置)2に、複数のパス(経路)4を介して複数(図1に示す例では2つ)のストレージ装置3が通信可能に接続されている。
(A−1)ストレージ装置
ストレージ装置3は、それぞれ、ホスト装置2に対して記憶領域を提供するものであり、例えば、RAID装置である。
ストレージ装置3は、物理ボリュームを用いて仮想的なボリュームである論理ボリュームを構築し、この論理ボリュームを記憶領域としてホスト装置2に提供する。
ストレージ装置3は、論理ボリュームへのホスト装置2からのデータアクセス要求に応じて、論理ボリュームに対応する物理ボリューム(記憶装置111)に対するデータアクセスを行ない、また、ホスト装置2に対して応答を行なう。複数のストレージ装置3は同様の構成を有している。以下、図中、同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
ストレージ装置3は、図2に示すように、CM100a,100b及びドライブエンクロージャ110を備える。
ドライブエンクロージャ110は、1以上(図2に示す例では2つ)の記憶装置(物理ディスク)111を搭載可能であり、これらの記憶装置111の記憶領域(物理ボリューム,実ボリューム)を、ストレージ装置3に対して提供する。
例えば、ドライブエンクロージャ110は、複数段のスロット(図示省略)をそなえ、これらのスロットに、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置111を挿入することにより、物理ボリューム容量を随時変更することができる。又、複数の記憶装置111を用いてRAIDを構成することができる。
ドライブエンクロージャ110は、CM100aのデバイスアダプタ(Device Adapter:DA)103,103とCM100bのDA103,103とそれぞれ接続されている。そして、ドライブエンクロージャ110には、CM100a,100bのいずれからもアクセスして、データの書き込みや読み出しを行なうことができる。すなわち、ドライブエンクロージャ110の記憶装置111に対して、CM100a,100bのそれぞれを接続することにより、記憶装置へのアクセス経路が冗長化されている。
CM100a,100bは、ストレージ装置3内の動作を制御するコントローラ(ストレージ制御装置)であり、ホスト装置2から送信されるIOコマンドに従って、ドライブエンクロージャ110の記憶装置111へのアクセス制御等、各種制御を行なう。又、CM100a,100bは互いにほぼ同様の構成を有している。以下、CMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号100a,100bを用いるが、任意のCMを指すときには符号100を用いる。
ストレージ装置3において、CM100a,100bは二重化されており、通常は、CM100aがプライマリとして各種制御を行なう。しかし、このプライマリCM100aの故障時には、セカンダリのCM100bがプライマリとしてCM100aの動作を引き継ぐ。
CM100a,100bはチャネルアダプタ(Channel Adapter:CA)104を介して、それぞれホスト装置2に接続される。そして、これらのCM100a,100bは、ホスト装置3から送信されるリード/ライト等のIOコマンドを受信し、DA103等を介して記憶装置111の制御を行なう。又、CM100a,100bは、PCIe(Peripheral Component Interconnect Express) 等の図示しないインタフェースを介して相互に接続されている。このインタフェースを介してCM100aとCM100bと間で通信が行なわれることでクロスアクセスが行なわれる。
CM100は、図1に示すように、複数(図2に示す例では2つ)のCA104,104と複数(図1に示す例では2つ)のDA103,103とをそなえるとともに、CPU(Central Processing Unit)110,メモリ102をそなえる。
CA104は、ホスト装置2等から送信されたデータを受信したり、CM100から出力するデータをホスト装置2等に送信する。すなわち、CA104は、ホスト装置2等の外部装置との間でのデータの入出力(IO)を制御する。CA104は、ホスト装置2と通信可能に接続するネットワークアダプタであり、例えば、LAN(Local Area Network)インタフェース等である。
CM100は、これらのCA104により図示しない通信回線を介してホスト装置2等と接続され、IOコマンドの受信やデータの送受信等を行なう。図2に示す例においては、CM100a,100bのそれぞれに2つのCA104がそなえられている。
また、CA104は、例えば、iSCSI(Internet Small Computer System Interface)インタフェースやFC(Fibre Channel)インタフェースであってもよく、種々変形して実施することができる。
DA103は、ドライブエンクロージャ110や記憶装置111等と通信可能に接続するためのインタフェースである。DA103は、ドライブエンクロージャ110の記憶装置111が接続され、CM100は、ホスト装置2から受信したIOコマンドに基づき、これらの記憶装置111に対するアクセス制御を行なう。
CM100は、このDA103を介して、記憶装置111に対するデータの書き込みや読み出しを行なう。又、図2に示す例においては、CM100a,100bのそれぞれに2つのDA103,103がそなえられている。そして、CM100a,100bのそれぞれにおいて、各DA103にドライブエンクロージャ110が接続されている。
これにより、ドライブエンクロージャ110の記憶装置111には、CM100a,100bのいずれからもデータの書き込みや読み出しを行なうことができる。
メモリ102はROM(Read Only Memory),RAM(Random Access Memory)及び不揮発性メモリを含む記憶メモリである。メモリ102のROMには、ストレージ制御に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ102上のソフトウェアプログラムは、CPU101に適宜読み込まれて実行される。又、メモリ102のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
メモリ102の不揮発性メモリは、フラッシュメモリやEEPROM(Electrically Erasable Programmable Read-Only Memory)等の装置の電源断状態においても情報を保持する記憶装置であり、CM100における種々の設定情報等を格納する。また、この不揮発性メモリには、図1に示すように、後述するクロスアクセス遅延情報131及びリポートリファラル応答予測時間132も記録される。
CPU101は、種々の制御や演算を行なう処理装置である。CPU101は、メモリ102等に格納されたOSやプログラムを実行することにより、ストレージ装置3としての種々の機能を実現する。
例えば、CPU101は、RAIDの実現やホスト装置2からのホストIOに応じた記憶装置111へのアクセス制御等、既知のディスクRAIDコントローラとしての種々の機能を実現する。
また、CPU101は、図1に示すように、情報応答部121,リポートリファラル応答処理部122及びボリューム制御部123としての機能も備える。
そして、CM100のCPU101が、制御プログラムを実行することにより、これらの情報応答部121,リポートリファラル応答処理部122及びボリューム制御部123として機能する。
なお、これらの情報応答部121,リポートリファラル応答処理部122及びボリューム制御部123としての機能を実現するためのプログラム(制御プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
情報応答部121,リポートリファラル応答処理部122及びボリューム制御部123としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ102のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU101)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
ボリューム制御部123は、シンプロビジョニング型の論理ボリューム(仮想ボリューム)を構成し、この論理ボリュームをホスト装置2に提供する。
ボリューム制御部123は、ストレージ装置3にそなえられる記憶装置(物理ディスク)111をストレージプールとして管理する。すなわち、記憶装置111の記憶領域(物理領域)は共有のディスクプールとして管理され、論理ボリュームに書き込まれたデータ量に応じて割り当てられる。これにより、使用されない物理ディスクの無駄をなくし、効率的な運用が可能となる。
ボリューム制御部123は、ホスト装置2から論理ボリュームに対する新規データの書き込み要求を検出すると、この新規データを仮想ボリューム内の仮想領域に対応付ける。
論理ボリュームは、ホスト装置2からのアクセス対象となる仮想的な記憶部であり、シンプロビジョニング型のボリュームである。なお、論理ボリュームは、ホスト装置2に対して1つであっても良いし、2つ以上であっても良い。
ボリューム制御部123は、ホスト装置2に対しては、そのホスト装置2からの要求通りのサイズで論理(仮想)ボリュームを提供する。一方、ボリューム制御部123は、仮想ボリュームにアサインした容量を、初期はストレージ内部でアロケートせずに、ホスト装置2からの書き込み要求に応じて、プールボリュームから「チャンク」と呼ばれる所定の論理ブロックサイズの固まり単位で、論理ボリュームへアロケートする。一般にチャンクのサイズ(論理ブロックサイズ)は数百KBから数百MBの間で設定される。
シンプロビジョニング機能においては、上述のごとく、論理ボリューム(LUN)をある論理ブロックサイズ(チャンク)ごとに分割し、各チャンクに物理領域を割り当てて管理している。シンプロビジョニング機能によりLUNを作成した直後(初期状態)は、どのチャンクにも物理領域は割り当てられていない。ホスト装置2からライト要求が来たときは、そのライト範囲に含まれるチャンクに対して、ストレージプールのプール領域から物理領域を割り当て、その物理領域にデータを書き込む。
これにより、ホスト装置2が書き込みを行なった容量のみ記憶装置内部の容量を消費することになり、無駄なストレージ容量を削減することが可能となる。
なお、ボリューム制御部10によるホスト装置2に対するシンプロビジョニング機能を用いた仮想ボリュームの提供手法は、既知の種々の手法で実現することができ、その説明は省略する。
情報応答部121は、後述するホスト装置2の情報取得部12から送信される情報取得要求に応答して、ストレージ装置3の性能に関する以下の(a),(b)の応答情報をホスト装置2に送信する。
(a)第1の応答情報として、情報応答部121は、当該ストレージ装置3に備えられたCM100aとCM100bとの間に生じるクロスアクセスにおいて生じる遅延時間についての情報を送信する。具体的には、情報応答部121は、単位IOサイズ(例えば512KB)あたりの遅延時間を、遅延基準値としてホスト装置2に送信する。以下、この遅延基準値をクロスアクセス遅延情報131という。
クロスアクセス遅延情報131は、例えば予め試験等を行なうことにより求められ、例えば、工場出荷時にメモリ102の不揮発性メモリに記録される。
(b)第2の応答情報として、情報応答部121は、ホスト装置2からリポートリファラルが発行された場合において、ホスト装置2においてREPORT REFERRALSコマンドが発行されてから、その応答がホスト装置2に到達するまでに要する時間(予測値)をリポートリファラル応答予測時間132としてホスト装置2に送信する
このリポートリファラル応答予測時間132は、実績から知ることができ、試験等を行なうことにより求められる。また、リポートリファラル応答時間132は、例えば、工場出荷時にメモリ102の不揮発性メモリに記録される。
リポートリファラル応答処理部122は、後述するホスト装置2のリポートリファラル発行部14から発行されるREPORT REFERRALSコマンドに応答して、ブロック(チャンク)単位での推奨パス情報を応答する。
なお、このREPORT REFERRALSコマンドに応答して推奨パス情報を応答する手法は既知であり、その説明は省略する。また、以下、REPORT REFERRALSコマンドを発行することを単にリポートリファラルを発行するという。また、REPORT REFERRALSコマンドに応答することを、単にリポートリファラルに応答するという。
(A−2)ホスト装置
ホスト装置2は、接続されたストレージ装置3が提供する論理ボリュームにデータの書き込みや読み出しを行なう情報処理装置である。例えば、ホスト装置2はストレージ装置3が提供する論理ボリュームに対してリードやライトのデータアクセス要求を行なう。
ホスト装置2は、図2に示すように、CPU10,メモリ20及び複数のホストバスアダプタ(Host Bus Adapter:HBA)21をそなえる。
HBA21は、ストレージ装置3等の外部機器と接続するアダプタである。各HBA21はそれぞれ通信ケーブル4を介して、各ストレージ装置3に複数備えられたCM100のCA104と接続されている。以下、通信ケーブル4を介して接続された経路をパス4という場合がある。このように、本ストレージシステム1においては、ホスト装置2とストレージ装置3とが複数のパス4を介して通信可能に接続されている。
HBA21は、例えばSCSIアダプタ、ファイバチャネル(FC)アダプタ、シリアルATAアダプタなどである。或いは、HBA21は、IDE、イーサネット(登録商標)、FireWire、USBなどに準拠した機器を接続するデバイスであってもよい。
メモリ20はROM,RAM及び不揮発性メモリを含む記憶メモリである。メモリ20のROMには、ホスト装置2としての各種機能を実現するためのソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。本ストレージシステム1においては、後述するマルチパス管理機能を実現するためのソフトウェアプログラムであるマルチパスドライバ(マルチパス制御プログラム)5がメモリ20のROMに格納されている。
このマルチパス管理機能においては、例えば、ホスト装置2とストレージ装置3との間を接続するパス4を管理し、複数のパス4の中からストレージ装置3の管理するデータにアクセスするための用いるパス4を選択する。
メモリ20上のソフトウェアプログラムは、CPU10に適宜読み込まれて実行される。又、メモリ20のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
メモリ20の不揮発性メモリは、フラッシュメモリやEEPROM等の装置の電源断状態においても情報を保持する記憶装置であり、ホスト装置2における種々の設定情報等を格納する。
CPU10は、種々の制御や演算を行なう処理装置である。CPU10は、メモリ20等に格納されたOSやプログラムを実行することにより、ホスト装置2としての種々の機能を実現する。
例えば、CPU10は、各種業務アプリケーションを実行することで業務機能を実現する。
また、ホスト装置2は、例えば、サーバ機能をそなえた情報処理装置であり、ストレージ装置3との間において、NAS(Network Attached Storage)やSAN(Storage Area Network)のコマンドを送受信する。このホスト装置2は、例えば、ストレージ装置3に対してNASにおけるリード/ライト等のディスクアクセスコマンドを送信することにより、ストレージ装置3が提供する論理ボリュームにデータの書き込みや読み出しを行なう。
そして、ストレージ装置3は、ホスト装置2から論理ボリュームに対して行なわれる入出力要求(例えば、リードコマンドやライトコマンド)に応じて、この論理ボリュームの記憶領域に対応する実ストレージに対して、データの読み出しや書き込み等の処理を行なう。なお、ホスト装置2からの入出力要求のことをIOコマンドもしくはIO要求という場合がある。
さらに、CPU10は、上述したマルチパスドライバ5を実行することで、図1に示すように、パス管理部11,情報取得部12,リポートリファラル判断部13,リポートリファラル発行部14及びIO処理部15としての機能を実現する。
そして、ホスト装置2のCPUが、マルチパスドライバ5を実行することにより、これらのパス管理部11,情報取得部12,リポートリファラル判断部13,リポートリファラル発行部14及びIO処理部15として機能する。
なお、これらのパス管理部11,情報取得部12,リポートリファラル判断部13,リポートリファラル発行部14及びIO処理部15としての機能を実現するためのプログラム(マルチパスドライバ5)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
パス管理部11,情報取得部12,リポートリファラル判断部13,リポートリファラル発行部14及びIO処理部15としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ20のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
情報取得部12は、ストレージ装置3から各種情報を取得する。また、情報取得部12は、取得した情報を及び管理情報203としてメモリ20のRAMに記憶する。
図3は実施形態の一例としてのストレージシステム1の管理情報203を例示する図である。
この図3に示す管理情報203は、リポートリファラル対応フラグ,クロスアクセス遅延時間及びリポートリファラル応答時間を管理する。なお、図3中においては、便宜上、管理情報203をテーブル状に示している。また、管理情報203に記録する情報はこれらに限定されるものではなく、適宜変更して実施することができる。例えば、管理情報203には、装置情報、パス情報、LUN情報等を管理してもよい。
情報取得部12は、ストレージ装置3がリポートリファラルに対応しているか否かを確認する。例えば、情報取得部12はSCSI(Small Computer System Interface)のInquiryコマンドを発行することで、ストレージ装置3がリポートリファラルに対応しているか否かを確認する。
情報取得部12は、この確認の結果を、管理情報203においてリポートリファラル対応フラグに対応付けて記録する。例えば、ストレージ装置3がリポートリファラルに対応している場合には“1”を、またリポートリファラルに対応していない場合には“0”を記録する。
また、情報取得部12は、ストレージ装置3に対して情報取得要求を発行することで、ホスト装置2からクロスアクセス遅延情報131とリポートリファラル応答予測時間132とを取得する。
この情報取得要求として、クロスアクセス遅延情報131及びリポートリファラル応答予測時間132の送信をストレージ装置3の情報応答部121に指示するコマンドを新たに作成してもよい。以下、このコマンドを特殊inquiryコマンドという場合がある。
この情報取得要求のコマンド(特殊inquiryコマンド)を受信したストレージ装置3の情報応答部121は、メモリ102に記録されているクロスアクセス遅延情報131及びリポートリファラル応答予測時間132をホスト装置2に送信する。
情報取得部12は、受信したリポートリファラル応答予測時間132を、管理情報203においてリポートリファラル応答時間に対応付けて記録する。
また、情報取得部12は、受信したクロスアクセス遅延情報131をメモリ20のRAMにおける所定の領域に記録する。
さらに、情報取得部12は、ストレージ装置3から取得したクロスアクセス遅延情報131に基づき、CM100aとCM100bとの間におけるCM間通信(コントローラ間通信)を用いてデータ通信を行なう場合、すなわち、クロスアクセスを行なう場合の遅延時間の予測値を算出する。以下、このクロスアクセスを行なう場合の遅延時間の予測値をクロスアクセス遅延時間という。
前述の如く、クロスアクセス遅延情報131は、単位IOサイズ(例えば512KB)あたりの遅延時間を表す遅延基準値である。
そこで、情報取得部12は、以下の式(1)を用いて、クロスアクセス遅延時間を算出する。
クロスアクセス遅延時間=(IOサイズ/単位IOサイズ)×遅延基準値×クロスアクセス発生確率 ・・・(1)
ここで、IOサイズはIO処理対象のデータサイズである。また、クロスアクセス発生確率は、クロスアクセスが発生する確率を表す値であり、以下の式(2)により表される。
クロスアクセス発生確率=(非担当CMにつながっているパス数)÷(ホスト装置から見える全パス数)・・・(2)
図4は実施形態の一例としてのストレージシステム1におけるクロスアクセス発生確率を説明するための図である。
図4に示す例においては、ホスト装置2に4つのCM100a〜100dが接続されており、ホスト装置2とCM100aとが2本のパス4で接続されている。また、ホスト装置2とCM100b〜100dのそれぞれとは1本のパス4で接続されている。この場合において、CM100aが担当する論理ボリュームにIOを発行する場合には、ホスト装置から見える全パス数は“5”であり、非担当CMにつながっているパス数は“3”である。
IOアクセス対象の論理ボリュームはCM100aが担当するものであるので、ホスト装置2につながっている5本のパス4のうち、CM100b〜100dにつながっている3本のパス4が選択された場合には、クロスアクセスが発生することを表す。そして、ホスト装置2につながっている5本のパス4のうち、CM100aにつながっている2本のパス4が選択された場合には、クロスアクセスが発生しない。
従って、この図4に示す例において、クロスアクセス発生確率は“3/5”となる。
また、例えば、クロスアクセス遅延情報131が、「512KBのIOサイズでの遅延時間が10msである」ことを示す場合に、単位IOサイズが512KBであり、遅延基準値が10msである。
なお、クロスアクセスによる遅延時間は、ストレージ装置3の性能や構成、IOサイズ等に依存する。
このような場合に、例えば、ホスト装置2からIOサイズが1MBのデータのCM100aが担当する論理ボリュームからリードを行なう場合には、クロスアクセス遅延時間は以下の式で求められる。
クロスアクセス遅延時間=(1MB÷512KB)×10ms×3/5
=(1048÷512)×20×3/5
≒12ms
なお、このクロスアクセス遅延時間が、複数のCM100間におけるCM間通信を用いるデータ通信(クロスアクセス)による遅延時間の予測値である、遅延予測時間に相当する。
式(1)に示したように、クロスアクセス遅延時間は、IOサイズのデータをクロスアクセスにより送信する場合の遅延時間にクロスアクセス発生確率を乗算して求められる値である。すなわち、クロスアクセス遅延時間は、クロスアクセスによる遅延時間の予測値であり、統計的な期待値である。
クロスアクセス発生確率を考慮しない場合に、仮にクロスアクセスで10msの遅延が発生し、また、リポートリファラルの取得には8ms要する場合には、リポートリファラルを発行した方が短時間でIO処理を実行できる。
しかしながら、例えば、2つのパス4で接続され、クロスアクセス発生確率が1/2である場合に、クロスアクセスで遅延する期待値時間は10ms×1/2=5msとなり、これはリポートリファラルを発行しない方が早いことが期待されることを示す。これはもちろん期待値であり、担当CM100であれば遅延は発生せず、非担当CM100であれば遅延は10msとなるが、全体で見ると平均化されるため期待値で考えてよい。
情報取得部12は、上述の如く算出したクロスアクセス遅延時間を管理情報203においてクロスアクセス遅延時間に対応付けて記録する。
なお、上述した情報取得部12が情報取得要求(特殊inquiryコマンド)をストレージ装置3に対して発行する手法においては、ストレージ装置3に、受信した特殊inquiryコマンドに対してクロスアクセス遅延情報131及びリポートリファラル応答予測時間132を応答する機能が備えられている必要がある。
このような機能を備えていないストレージ装置3に対しては、上述した特殊inquiryコマンドを発行する代わりに、情報取得部12は以下の(i)〜(iv)に示す手法により、クロスアクセス遅延情報131及びリポートリファラル応答予測時間132を取得する。
(i)情報取得部12は、IO処理部15にホスト装置2に接続されている全パス4を介して、それぞれ所定の論理ボリュームの固定サイズ(例えば512KB)のリード要求を発行させる。
(ii)情報取得部12は、(i)において発行したリード要求に対する各ストレージ装置3からの応答を受信し、各パス4において受信した応答時間の差を、メモリ20に保存する。
例えば、パス“0”におけるストレージ装置3からの応答がリードIO発行後20msであり、パス“1”におけるストレージ装置3からの応答がリードIO発行後10msであった場合には、応答時間の差は、パス“0”とパス“1”との間で20-10=10msとなる。
ここで、特定の論理ボリュームに対して各パスからリード要求を発行した場合に、最も早い応答が、当該論理ボリュームの担当CM100からの応答であり、クロスアクセスの未発生時の応答時間と考えられる。一方、それよりも遅い応答は、クロスアクセスが発生した場合の応答時間と考えられる。従って、上述した応答時間の差はクロスアクセスによる遅延時間、すなわち、クロスアクセス遅延時間を表す。
情報取得部12は、測定したクロスアクセス遅延時間を、管理情報203においてクロスアクセス遅延時間に対応付けて記録する。なお、情報取得部12は、複数のパス4について得られたクロスアクセス遅延時間について、平均値を求めてもよく、また最大値や最小値を用いてもよく、適宜変更して実施することができる。
(iii)情報取得部12は、上記(ii)の後のタイミング、または、上位アプリケーション等から初回のIO要求を受信したタイミングで、リポートリファラル発行部14にリポートリファラルを発行させる。
(iv)情報取得部12は、上記(iii)で発行したリポートリファラルに対するストレージ装置3からの応答時間を測定する。このようにして測定された応答時間は、リポートリファラル応答予測時間132に相当する。情報取得部12は、測定した応答時間を、管理情報203において、リポートリファラル応答時間に対応付けて記録する。
リポートリファラル判断部13は、ホスト装置2に対してリポートリファラルを発行するか否かを判断する。
リポートリファラル判断部13は、上述の如く算出したクロスアクセス遅延時間と、ストレージ装置3から取得したリポートリファラル応答予測時間132とを比較し、その比較結果に応じて、リポートリファラルを発行するか否かを判断する。
リポートリファラル応答予測時間132がクロスアクセス遅延時間よりも小さい場合には、リポートリファラルを発行してストレージ装置3から推奨パスの応答を受信するまでに要する時間の方が、クロスアクセスにより遅延する時間の期待値よりも短い。すなわち、リポートリファラルを発行した方が短時間でIO処理を完了できることを意味する。そこで、この場合には、リポートリファラル判断部13は、リポートリファラルを発行すると判断する。
これに対して、リポートリファラル応答予測時間132がクロスアクセス遅延時間以上である場合には、クロスアクセスにより遅延する時間の期待値の方が、リポートリファラルを発行してストレージ装置3から推奨パスの応答を受信するまでに要する時間よりも短い。すなわち、IO処理を行なった結果クロスアクセスが発生したとしても、リポートリファラルを発行してストレージ装置3から推奨パスの応答を受信するより短時間で処理が完了することを表す。そこで、リポートリファラル判断部13は、リポートリファラルを発行しないと判断する。
リポートリファラル発行部14は、ストレージ装置3に対してリポートリファラルを発行する。すなわち、リポートリファラル発行部14は、ストレージ装置3に対して、リポートリファラル(推奨パス問い合わせ)を発行する推奨パス確認部として機能する。
このリポートリファラル発行部14は、上述したリポートリファラル判断部13がリポートリファラルを発行すると判断した場合に、リポートリファラルを発行する。
なお、このリポートリファラル発行部14によるストレージ装置3に対するリポートリファラルの発行は既知の手法により実現でき、その説明は省略する。
また、リポートリファラル判断部13がリポートリファラルを発行しないと判断した場合には、リポートリファラル発行部14によるリポートリファラルの発行は抑止される。すなわち、上述したリポートリファラル判断部13はリポートリファラルの発行を抑止する抑止制御部としての機能も備える。
パス管理部11は、ホスト装置2とストレージ装置3との間を接続するパス4を管理する。例えば、パス管理部11は、ホスト装置2に備えられた各HBA21について、通信ケーブル4を介して接続されているストレージ装置3のCA104を確認することで、ホスト装置2とストレージ装置3との間におけるパス4を介した接続状態を把握し、マルチパスを構築する。なお、このようなホスト装置2とストレージ装置3との間におけるマルチパスの構築手法は既知であり、その説明は省略する。また、このマルチパスの構築は、例えば、ホスト装置2の起動時に行なわれる。
パス管理部11はパス管理情報201を用いてパス4の管理を行なう。パス管理情報201は、論理ボリュームに対してIOコマンドを発行する際に用いられるパス4を管理する。以下、IOコマンドを発行する際に用いられるパス4を担当パス4という場合がある。また、パス管理情報201においては、チャンク単位で担当パス4が管理される。
上述したリポートリファラル発行部14が発行したリポートリファラルに対して、ストレージ装置3のリポートリファラル応答処理部122から推奨パス4が応答されると、この推奨パス4がパス管理部11に担当パス4として記憶される。
また、パス管理情報201は、メモリ102のRAMの所定の領域に格納される。
後述するIO処理部15がストレージ装置3に対してIOコマンド等を発行すると、パス管理部11は、IO処理対象のチャンクや論理ボリュームについてパス管理情報201を参照する。そして、このパス管理情報201に推奨パス4が記憶されている場合(キャッシュヒット)には、パス管理部11は、ホスト装置2に接続された複数のパス4の中から、このパス管理情報201に記憶されているパス4を担当パス4として選択する。以下、パス管理情報201をパス情報キャッシュ201という場合がある。
また、パス管理部11は、パス情報キャッシュ201にIO処理対象のチャンク(論理ボリューム)に対応する担当パス4が登録されていない場合(キャッシュミス)において、リポートリファラル発行部14がリポートリファラルを発行した場合には、このリポートリファラルに対してストレージ装置3(リポートリファラル応答処理部122)から送信される応答に従い、その推奨パス4を担当パス4として選択する。
さらに、パス管理部11は、パス情報キャッシュ201に宛先のチャンクに対応する担当パス4が登録されていない場合において、リポートリファラル発行部14がリポートリファラルを発行しない場合には、例えば、予めデフォルトとして設定された所定のパス4を担当パス4として選択する。また、パス情報キャッシュ201において、宛先のチャンクに対応する担当パス4が登録されていないが論理ボリューム単位で担当パス4が記憶されている場合には、その論理ボリュームに対応する担当パス4を採用する。
IO処理部15は、ストレージ装置3に対してIOコマンド等を発行することで、ストレージ装置3が提供する記憶領域へデータの書き込みや読み出しを行なう。
IO処理部15は、パス管理部11によって選択されたパス4を用いてIOコマンドを発行する。
なお、このIO処理部15によるストレージ装置3に対するIO処理は既知の手法により実現でき、その説明は省略する。
(B)動作
上述の如く構成された実施形態の一例としてのストレージシステム1のシステム起動時におけるマルチパスドライバ5の処理を、図5(a),(b)に示すフローチャートに従って説明する。なお、図5(a)はストレージ装置3の処理を示すフローチャート(ステップB1〜B4)、図5(b)はホスト装置2のマルチパスドライバ5の処理を示すフローチャート(ステップA1〜A8)である。
ホスト装置2において、パス管理部11がマルチパスを管理する(ステップA1)。
ホスト装置2において、情報取得部12が、ストレージ装置3にInquiryコマンドを発行する(ステップA2)。
ストレージ装置3において、情報応答部121が、受信したInquiryコマンドに対して、リポートリファラルに対応していることを応答する(ステップB1)。
ホスト装置2において、ストレージ装置3から送信された応答に基づき、情報取得部12が、ストレージ装置3がリポートリファラルに対応しているか否かを確認する(ステップA3)。確認の結果、ストレージ装置3がリポートリファラルに対応していない場合には(ステップA3のNOルート参照)、マルチパスドライバ5による起動処理を終了し、ホスト装置2としての通常処理に移行する。
また、ステップA3における確認の結果、ストレージ装置3がリポートリファラルに対応している場合には(ステップA3のYESルート参照)、ステップA4に移行する。
ステップA4において、情報取得部12は、ストレージ装置3に対して、特殊inquiryコマンドを発行する。
ストレージ装置3においては、情報応答部121が、自装置(ストレージ装置3)が特殊inquiryコマンドに対応しているか否かを確認する(ステップB2)。ストレージ装置3が特殊inquiryコマンドに対応していない場合には(ステップB2のNOルート参照)、情報応答部121はエラーを応答し(ステップB3)、処理を終了する。
一方、ストレージ装置3が特殊inquiryコマンドに対応している場合には(ステップB2のYESルート参照)、情報応答部121は、特殊inquiryコマンドに対して、クロスアクセス遅延情報131とリポートリファラル応答予測時間132とをホスト装置2に応答して(ステップB4)、処理を終了する。
ホスト装置2においては、ストレージ装置3からエラーが応答されたかを確認する(ステップA5)。
確認の結果、ホスト装置2がストレージ装置3からエラー応答を受信した場合には(ステップA5のYESルート参照)、ストレージ装置3が特殊inquiryコマンドに対応する機能を備えていない。
そこで、情報取得部12は、ステップA6において、ホスト装置2に接続されている全パス4を介して所定の論理ボリュームの固定サイズ(例えば512KB)のリード要求を発行する。また、情報取得部12は、発行したリード要求に対する各ストレージ装置3からの応答を受信し、各パス4において受信した応答時間の差を、メモリ102において管理情報203に、クロスアクセス遅延時間として記録する。
また、ステップA7において、情報取得部12は、リポートリファラル発行部14にリポートリファラルを発行させ、その応答時間を測定する。情報取得部12は、測定した応答時間を、管理情報203において、リポートリファラル応答時間に対応付けて記録し(ステップA7)、処理を終了する。
また、ステップA5における確認の結果、エラー応答を受信しなかった場合には(ステップA5のNOルート参照)、ストレージ装置3が特殊inquiryコマンドに対応する機能を備えている。
そこで、ステップA8において、情報取得部12は、受信したクロスアクセス遅延情報131に基づき、クロスアクセス遅延時間を算出し、このクロスアクセス遅延時間をメモリ102において管理情報203に、クロスアクセス遅延時間として記録する。
また、情報取得部12は、ストレージ装置3から受信したリポートリファラル応答予測時間132を、メモリ102において管理情報203に、リポートリファラル応答時間132クロスアクセス遅延時間として記録する。その後、処理を終了する。
次に、上述の如く構成された実施形態の一例としてのストレージシステム1のIO処理発行時におけるマルチパスドライバ5の処理を、図6(a),(b)に示すフローチャートに従って説明する。
なお、図6(a)はストレージ装置3の処理を示すフローチャート(ステップB11)、図6(b)はホスト装置2のマルチパスドライバ5の処理を示すフローチャート(ステップA11〜A20)である。
ホスト装置2において、IO処理部15がストレージ装置3に対してIOコマンドを発行すると(ステップA11)、パス管理部11が、そのIO処理対象のチャンクに基づいてパス情報キャッシュ201を検索する(ステップA12)。
パス情報キャッシュ201においてキャッシュヒットしたか否かを確認する(ステップA13)。キャッシュヒットした場合には(ステップA13のYESルート参照)、パス管理部11は、パス情報キャッシュ201に記録されている担当パス4を選択し、IO処理部15はこの選択された担当パス4を介してIOコマンド等を送信し、処理を終了する。
一方、パス情報キャッシュ201においてキャッシュミスが生じた場合には(ステップA13のNOルート参照)、ステップA14に移行する。
ステップA14において、ホスト装置2の情報取得部12は、処理対象のIOサイズと、単位IOサイズあたりの遅延時間であるクロスアクセス遅延情報131とに基づき、前述した式(1)を用いてクロスアクセス遅延時間を算出する。
ホスト装置2のリポートリファラル判断部13は、算出したクロスアクセス遅延時間と、ストレージ装置3から取得したリポートリファラル応答予測時間132とを比較する(ステップA15)。
比較の結果、リポートリファラル応答予測時間がクロスアクセス遅延時間よりも小さい場合には(ステップA15のYESルート参照)、リポートリファラル判断部13は、リポートリファラルを発行すると判断する。
ホスト装置2において、リポートリファラル発行部14が、ストレージ装置3に対してリポートリファラルを発行する(ステップA19)。
ストレージ装置3においては、リポートリファラル応答処理部122が、リポートリファラルに応答して、ブロック(チャンク)単位での推奨パス4を応答する(ステップB11)。
ホスト装置2においては、パス管理部11が、リポートリファラルに応答してストレージ装置3から応答された推奨パス4を担当パス4として選択し、IO処理部15がこの担当パスに対してIOコマンドを発行する(ステップA20)。また、パス管理部11は、ホスト装置2から応答された推奨パス4をパス情報キャッシュ201に記録し、処理を終了する。
また、ステップA15における比較の結果、リポートリファラル応答予測時間がクロスアクセス遅延時間以上の場合には(ステップA15のNOルート参照)、リポートリファラル判断部13は、リポートリファラルを発行しないと判断する。
これにより、ホスト装置2においては、パス管理部11が、例えば、予めデフォルトとして設定された所定のパス4を担当パス4として選択し、IO処理部15はこの選択された担当パス4を介してIOコマンドを発行する(ステップA16)。
また、ホスト装置2において、ステップA16におけるIO処理部15によるIOコマンドの発行とは非同期に、リポートリファラル発行部14はストレージ装置3に対してリポートリファラルを発行する(ステップA17)。
ストレージ装置3においては、リポートリファラル応答処理部122が、このリポートリファラルに応答して、ブロック(チャンク)単位での推奨パス4を応答する(ステップB11)。
ホスト装置2においては、パス管理部11が、リポートリファラルに応答してホスト装置2から応答された推奨パス4をパス情報キャッシュ201に記録する(ステップA18)。これにより、パス情報キャッシュ201が更新され、同一のチャンクに対する以降に行なわれるIO処理の処理速度を向上させることができる。その後、処理を終了する。
(C)効果
このように、実施形態の一例としてのストレージシステム1によれば、ホスト装置2からのIO発行時に、クロスアクセス遅延時間とリポートリファラル応答予測時間とを比較することで、ホスト装置2に対してリポートリファラルを発行するか否かを判断する。
具体的には、リポートリファラル判断部13は、リポートリファラル応答予測時間132がクロスアクセス遅延時間以上である場合には、リポートリファラル判断部13は、リポートリファラルを発行しないと判断し、IO処理は、例えば、予めデフォルトとして設定された所定のパス4を用いてIO処理を行なう。
これにより、リポートリファラルを発行することにより生じる遅延を排除し、効率的にIO処理を行なうことができる。
また、リポートリファラル判断部13は、リポートリファラル応答予測時間132がクロスアクセス遅延時間より短い場合には、リポートリファラル判断部13は、リポートリファラルを発行すると判断する。これにより、リポートリファラル発行部14がリポートリファラルを発行し、IO処理は、このリポートリファラルに対してストレージ装置3(リポートリファラル応答処理部122)から応答される推奨パス4を用いてIO処理を行なう。
これにより、リポートリファラルにより通知された推奨パス4を介して効率的にIO処理を行なうことができる。
シンプロビジョニング機能を備えるストレージ装置3において、シンプロビジョニングボリュームは、一般的に構成時や変更時に担当CM100を意識することなく容易な構成が可能なことを重視するため、クロスアクセスは一般的に発生する。このようなシンプロビジョニング機能を備えるストレージ装置3において、チャンク毎に最適な手法でIO処理を行なうことができる。
また、リポートリファラル判断部13がリポートリファラルを発行しないと判断した場合において、IO処理部15がストレージ装置3にIOコマンドを発行した場合に、このIOコマンドの発行とは非同期に、リポートリファラル発行部14がストレージ装置3に対してリポートリファラルを発行する。そして、ストレージ装置3のリポートリファラル応答処理部122が、このリポートリファラル対して応答する推奨パス4をパス情報キャッシュ201に登録することで、同一のチャンクに対する以降に行なわれるIO処理の処理速度を向上させることができる。
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態において、ストレージシステム1に備えられるストレージ装置3やストレージ装置3の数は、適宜変更して実施することができる。また、ストレージ装置3において備えられるCM100の数も、1つもしくは3つ以上備えてもよく適宜変更して実施することができる。
また、応答情報によってストレージ装置3からホスト装置2に送信されるクロスアクセス遅延情報131について、その単位IOのデータサイズは512KBに限定されるものではなく、種々変形して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
(付記1)
ストレージ装置に備えられた複数のコントローラと複数のパスを介して接続される情報処理装置であって、
前記ストレージ装置に対して推奨パス問い合わせを発行する推奨パス確認部と、
前記ストレージ装置に対して発行するデータアクセス命令に関して、前記複数のコントローラ間におけるコントローラ間通信を用いるデータ通信による遅延時間の予測値である遅延予測時間と、前記ストレージ装置に対して前記推奨パス問い合わせを発行する場合の応答時間の予測値である応答予測時間とを比較する比較部と、
前記応答予測時間が前記遅延予測時間以上の場合に、前記推奨パス問い合わせの発行を抑止する抑止制御部と
を備えることを特徴とする、情報処理装置。
(付記2)
前記推奨パス確認部が、
前記応答予測時間が前記遅延予測時間未満の場合に前記推奨パス問い合わせを発行する
ことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記遅延予測時間を算出する基礎となる遅延基準値を取得し、前記遅延基準値に基づき、前記遅延予測時間を算出する第1の算出部を備える
ことを特徴とする、付記1又は2記載の情報処理装置。
(付記4)
前記ストレージ装置から前記遅延基準値及び前記応答予測時間を取得する取得部を備える
ことを特徴とする、付記3記載の情報処理装置。
(付記5)
前記ストレージ装置に対して前記複数のパスのそれぞれからデータアクセス命令を発行し、前記複数のパスのそれぞれにおける前記データアクセス命令に対する応答時間を測定し、前記応答時間の差に基づいて、前記遅延予測時間を算出する第2の算出部を備える
ことを特徴とする、付記1〜4のいずれか1項に記載の情報処理装置。
(付記6)
前記抑止制御部により前記推奨パス問い合わせの発行が抑止された場合において、前記ストレージ装置に対して前記データアクセス命令を発行した後に、前記推奨パス確認部が前記ストレージ装置に対して推奨パス問い合わせを発行し、前記ストレージ装置から当該推奨パス問い合わせに対して応答される推奨パス情報をパス情報キャッシュに格納する
ことを特徴とする、付記1〜5のいずれか1項に記載の情報処理装置。
(付記7)
ストレージ装置に備えられた複数のコントローラと複数のパスを介して接続される情報処理装置において、前記複数のパスを制御するマルチパス制御方法であって、
前記ストレージ装置に対して推奨パス問い合わせを発行する処理と、
前記ストレージ装置に対して発行するデータアクセス命令に関して、前記複数のコントローラ間におけるコントローラ間通信を用いるデータ通信による遅延時間の予測値である遅延予測時間と、前記ストレージ装置に対して前記推奨パス問い合わせを発行する場合の応答時間の予測値である応答予測時間とを比較する処理と、
前記応答予測時間が前記遅延予測時間以上の場合に、前記推奨パス問い合わせの発行を抑止する処理と
を備えることを特徴とする、マルチパス制御方法。
(付記8)
前記応答予測時間が前記遅延予測時間未満の場合に前記推奨パス問い合わせを発行する
処理を備えることを特徴とする、付記7記載のマルチパス制御方法。
(付記9)
前記遅延予測時間を算出する基礎となる遅延基準値を取得し、前記遅延基準値に基づき、前記遅延予測時間を算出する処理
を備えることを特徴とする、付記7又は8記載の情マルチパス制御方法。
(付記10)
前記ストレージ装置から前記遅延基準値及び前記応答予測時間を取得する処理
を備えることを特徴とする、付記9記載のマルチパス制御方法。
(付記11)
前記ストレージ装置に対して前記複数のパスのそれぞれからデータアクセス命令を発行し、前記複数のパスのそれぞれにおける前記データアクセス命令に対する応答時間を測定し、前記応答時間の差に基づいて、前記遅延予測時間を算出する処理
を備えることを特徴とする、付記7〜10のいずれか1項に記載のマルチパス制御方法。
(付記12)
前記推奨パス問い合わせの発行が抑止された場合において、前記ストレージ装置に対して前記データアクセス命令を発行した後に、前記ストレージ装置に対して推奨パス問い合わせを発行し、前記ストレージ装置から当該推奨パス問い合わせに対して応答される推奨パス情報をパス情報キャッシュに格納する処理
を備えることを特徴とする、付記7〜11のいずれか1項に記載のマルチパス制御方法。
(付記13)
ストレージ装置に備えられた複数のコントローラと複数のパスを介して接続されるコンピュータに、前記複数のパスを制御するマルチパス制御機能を実行させるプログラムであって、
前記ストレージ装置に対して推奨パス問い合わせを発行する処理と、
前記ストレージ装置に対して発行するデータアクセス命令に関して、前記複数のコントローラ間におけるコントローラ間通信を用いるデータ通信による遅延時間の予測値である遅延予測時間と、前記ストレージ装置に対して前記推奨パス問い合わせを発行する場合の応答時間の予測値である応答予測時間とを比較する処理と、
前記応答予測時間が前記遅延予測時間以上の場合に、前記推奨パス問い合わせの発行を抑止する処理と
を前記コンピュータに実行させることを特徴とする、マルチパス制御プログラム。
(付記14)
前記応答予測時間が前記遅延予測時間未満の場合に前記推奨パス問い合わせを発行する
処理を
を前記コンピュータに実行させることを特徴とする、付記13記載のマルチパス制御プログラム。
(付記15)
前記遅延予測時間を算出する基礎となる遅延基準値を取得し、前記遅延基準値に基づき、前記遅延予測時間を算出する処理
を前記コンピュータに実行させることを特徴とする、付記13又は14記載のマルチパス制御プログラム。
(付記16)
前記ストレージ装置から前記遅延基準値及び前記応答予測時間を取得する処理
を前記コンピュータに実行させることを特徴とする、付記15記載のマルチパス制御プログラム。
(付記17)
前記ストレージ装置に対して前記複数のパスのそれぞれからデータアクセス命令を発行し、前記複数のパスのそれぞれにおける前記データアクセス命令に対する応答時間を測定し、前記応答時間の差に基づいて、前記遅延予測時間を算出する処理
を前記コンピュータに実行させることを特徴とする、付記13〜16のいずれか1項に記載のマルチパス制御プログラム。
(付記18)
前記推奨パス問い合わせの発行が抑止された場合において、前記ストレージ装置に対して前記データアクセス命令を発行した後に、前記ストレージ装置に対して推奨パス問い合わせを発行し、前記ストレージ装置から当該推奨パス問い合わせに対して応答される推奨パス情報をパス情報キャッシュに格納する処理
を前記コンピュータに実行させることを特徴とする、付記13〜17のいずれか1項に記載のマルチパス制御プログラム。
1 ストレージシステム
2 ホスト装置(情報処理装置)
10 CPU
5 マルチパスドライバ
11 パス管理部
12 情報取得部(比較部)
13 リポートリファラル判断部(抑止制御部)
14 リポートリファラル発行部(推奨パス確認部)
15 IO処理部
20 メモリ
201 パス管理情報
202 クロスアクセス遅延時間
203 管理情報
21 ホストバスアダプタ
3 ストレージ装置
100 CM
101 CPU
121 情報応答部
122 リポートリファラル応答処理部
123 ボリューム制御部
102 メモリ
131 クロスアクセ遅延情報
132 リポートリファラル応答時間
103 デバイスアダプタ(DA)
104 チャネルアダプタ(CA)
110 ディスクエンクロージャ
111 記憶装置
4 パス

Claims (8)

  1. ストレージ装置に備えられた複数のコントローラと複数のパスを介して接続される情報処理装置であって、
    前記ストレージ装置に対して推奨パス問い合わせを発行する推奨パス確認部と、
    前記ストレージ装置に対して発行するデータアクセス命令に関して、前記複数のコントローラ間におけるコントローラ間通信を用いるデータ通信による遅延時間の予測値である遅延予測時間と、前記ストレージ装置に対して前記推奨パス問い合わせを発行する場合の応答時間の予測値である応答予測時間とを比較する比較部と、
    前記応答予測時間が前記遅延予測時間以上の場合に、前記推奨パス問い合わせの発行を抑止する抑止制御部と
    を備えることを特徴とする、情報処理装置。
  2. 前記推奨パス確認部が、
    前記応答予測時間が前記遅延予測時間未満の場合に前記推奨パス問い合わせを発行する
    ことを特徴とする、請求項1記載の情報処理装置。
  3. 前記遅延予測時間を算出する基礎となる遅延基準値を取得し、前記遅延基準値に基づき、前記遅延予測時間を算出する第1の算出部を備える
    ことを特徴とする、請求項1又は2記載の情報処理装置。
  4. 前記ストレージ装置から前記遅延基準値及び前記応答予測時間を取得する取得部を備える
    ことを特徴とする、請求項3記載の情報処理装置。
  5. 前記ストレージ装置に対して前記複数のパスのそれぞれからデータアクセス命令を発行し、前記複数のパスのそれぞれにおける前記データアクセス命令に対する応答時間を測定し、前記応答時間の差に基づいて、前記遅延予測時間を算出する第2の算出部を備える
    ことを特徴とする、請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記抑止制御部により前記推奨パス問い合わせの発行が抑止された場合において、前記ストレージ装置に対して前記データアクセス命令を発行した後に、前記推奨パス確認部が前記ストレージ装置に対して推奨パス問い合わせを発行し、前記ストレージ装置から当該推奨パス問い合わせに対して応答される推奨パス情報をパス情報キャッシュに格納する
    ことを特徴とする、請求項1〜5のいずれか1項に記載の情報処理装置。
  7. ストレージ装置に備えられた複数のコントローラと複数のパスを介して接続される情報処理装置において、前記複数のパスを制御するマルチパス制御方法であって、
    前記ストレージ装置に対して推奨パス問い合わせを発行する処理と、
    前記ストレージ装置に対して発行するデータアクセス命令に関して、前記複数のコントローラ間におけるコントローラ間通信を用いるデータ通信による遅延時間の予測値である遅延予測時間と、前記ストレージ装置に対して前記推奨パス問い合わせを発行する場合の応答時間の予測値である応答予測時間とを比較する処理と、
    前記応答予測時間が前記遅延予測時間以上の場合に、前記推奨パス問い合わせの発行を抑止する処理と
    を備えることを特徴とする、マルチパス制御方法。
  8. ストレージ装置に備えられた複数のコントローラと複数のパスを介して接続されるコンピュータに、前記複数のパスを制御するマルチパス制御機能を実行させるプログラムであって、
    前記ストレージ装置に対して推奨パス問い合わせを発行する処理と、
    前記ストレージ装置に対して発行するデータアクセス命令に関して、前記複数のコントローラ間におけるコントローラ間通信を用いるデータ通信による遅延時間の予測値である遅延予測時間と、前記ストレージ装置に対して前記推奨パス問い合わせを発行する場合の応答時間の予測値である応答予測時間とを比較する処理と、
    前記応答予測時間が前記遅延予測時間以上の場合に、前記推奨パス問い合わせの発行を抑止する処理と
    を前記コンピュータに実行させることを特徴とする、マルチパス制御プログラム。
JP2015032954A 2015-02-23 2015-02-23 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム Active JP6409613B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015032954A JP6409613B2 (ja) 2015-02-23 2015-02-23 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム
US14/990,039 US10366032B2 (en) 2015-02-23 2016-01-07 Information processing apparatus and multipath control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015032954A JP6409613B2 (ja) 2015-02-23 2015-02-23 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム

Publications (2)

Publication Number Publication Date
JP2016157177A JP2016157177A (ja) 2016-09-01
JP6409613B2 true JP6409613B2 (ja) 2018-10-24

Family

ID=56689926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015032954A Active JP6409613B2 (ja) 2015-02-23 2015-02-23 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム

Country Status (2)

Country Link
US (1) US10366032B2 (ja)
JP (1) JP6409613B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268615B2 (en) * 2017-08-22 2019-04-23 International Business Machines Corporation Determining timeout values for computing systems
CN108306948B (zh) * 2018-01-15 2021-03-30 新华三技术有限公司 调度方法及装置
US11223679B2 (en) * 2018-07-16 2022-01-11 EMC IP Holding Company LLC Host device with multi-path layer configured for detection and reporting of path performance issues
CN109408270B (zh) * 2018-10-18 2021-12-03 郑州云海信息技术有限公司 一种读写操作的处理方法及装置
JP7017546B2 (ja) * 2019-09-27 2022-02-08 株式会社日立製作所 ストレージシステム、パス管理方法、及びパス管理プログラム
US11277335B2 (en) 2019-12-26 2022-03-15 EMC IP Holding Company LLC Host device with path selection modification responsive to mismatch in initiator-target negotiated rates
US11308004B1 (en) 2021-01-18 2022-04-19 EMC IP Holding Company LLC Multi-path layer configured for detection and mitigation of slow drain issues in a storage area network
US11467765B2 (en) 2021-01-20 2022-10-11 EMC IP Holding Company LLC Detection and mitigation of slow drain issues using response times and storage-side latency view
US11586356B1 (en) 2021-09-27 2023-02-21 Dell Products L.P. Multi-path layer configured for detection and mitigation of link performance issues in a storage area network
US12001595B2 (en) 2021-12-03 2024-06-04 Dell Products L.P. End-to-end encryption of logical storage devices in a Linux native multi-pathing environment
US11983429B2 (en) 2022-06-22 2024-05-14 Dell Products L.P. Migration processes utilizing mapping entry timestamps for selection of target logical storage devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298555A (ja) 1999-04-13 2000-10-24 Hitachi Ltd ループ型アレイ制御装置及びループ接続記憶装置
JP4672282B2 (ja) 2004-05-07 2011-04-20 株式会社日立製作所 情報処理装置、及び情報処理装置の制御方法
JP4520802B2 (ja) * 2004-09-09 2010-08-11 株式会社日立製作所 ストレージネットワーク管理サーバ、ストレージネットワーク管理方法、ストレージネットワーク管理用プログラムおよびストレージネットワーク管理システム
DE202004020115U1 (de) * 2004-12-29 2006-05-11 Liebherr-Hausgeräte Ochsenhausen GmbH Kühlgerät
JP4903415B2 (ja) * 2005-10-18 2012-03-28 株式会社日立製作所 記憶制御システム及び記憶制御方法
US8880724B2 (en) * 2008-01-31 2014-11-04 Cisco Technology, Inc. Event triggered traceroute for optimized routing in a computer network
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム
US9552297B2 (en) * 2013-03-04 2017-01-24 Dot Hill Systems Corporation Method and apparatus for efficient cache read ahead
JP5971660B2 (ja) * 2012-09-11 2016-08-17 株式会社日立製作所 管理装置及び管理方法

Also Published As

Publication number Publication date
US10366032B2 (en) 2019-07-30
JP2016157177A (ja) 2016-09-01
US20160246749A1 (en) 2016-08-25

Similar Documents

Publication Publication Date Title
JP6409613B2 (ja) 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム
US9542327B2 (en) Selective mirroring in caches for logical volumes
CN111095188B (zh) 用于动态数据重定位的计算机实现的方法和存储***
US8850152B2 (en) Method of data migration and information storage system
US20070294459A1 (en) Apparatus for bridging a host to a SAN
JP6569477B2 (ja) ストレージ制御装置、および制御プログラム
CN111095903B (zh) 使用云存储作为模组的存储***
US9904474B2 (en) Control device and storage system
JP5853734B2 (ja) 仮想ストレージ装置,制御装置及び制御プログラム
JP7135074B2 (ja) クラウド・ベースのランクを使用するシン・プロビジョニング
US10581969B2 (en) Storage system using cloud based ranks as replica storage
KR20100069067A (ko) 독립적으로 파일 시스템을 관리하는 레이드 컨트롤러
US20210034303A1 (en) Redirect-on-write snapshot mechanism with delayed data movement
US8713257B2 (en) Method and system for shared high speed cache in SAS switches
JP6554990B2 (ja) ストレージ制御装置およびストレージ制御プログラム
US20160224273A1 (en) Controller and storage system
US10684944B1 (en) Managing data accesses in storage systems
US20200073569A1 (en) Storage control system and storage control method
US10481805B1 (en) Preventing I/O request timeouts for cloud-based storage systems
US9639417B2 (en) Storage control apparatus and control method
JP6427913B2 (ja) ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム
US9658803B1 (en) Managing accesses to storage
JP2017156930A (ja) 情報処理装置、ストレージシステム、制御プログラムおよびストレージ制御方法
JP2015203908A (ja) ストレージ管理装置及びストレージ管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R150 Certificate of patent or registration of utility model

Ref document number: 6409613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150