JP6380040B2 - ストレージ装置、中継装置、および中継制御プログラム - Google Patents

ストレージ装置、中継装置、および中継制御プログラム Download PDF

Info

Publication number
JP6380040B2
JP6380040B2 JP2014236419A JP2014236419A JP6380040B2 JP 6380040 B2 JP6380040 B2 JP 6380040B2 JP 2014236419 A JP2014236419 A JP 2014236419A JP 2014236419 A JP2014236419 A JP 2014236419A JP 6380040 B2 JP6380040 B2 JP 6380040B2
Authority
JP
Japan
Prior art keywords
relay
expander
storage
relay device
server
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
JP2014236419A
Other languages
English (en)
Other versions
JP2016099816A (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 JP2014236419A priority Critical patent/JP6380040B2/ja
Priority to US14/944,292 priority patent/US20160147478A1/en
Publication of JP2016099816A publication Critical patent/JP2016099816A/ja
Application granted granted Critical
Publication of JP6380040B2 publication Critical patent/JP6380040B2/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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ装置、中継装置、および中継制御プログラムに関する。
サーバなどの外部記憶装置として、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージデバイスを複数搭載するストレージ装置が知られている。ストレージ装置は、記憶容量拡大や信頼性向上の要請から、ストレージデバイスを高密度に搭載するとともにストレージデバイスと接続するアクセスパスの冗長化を図っている。ストレージ装置は、複数の中継装置(たとえば、エキスパンダ)を備えることで、サーバなどの外部装置と高密度に搭載されたストレージデバイスとを冗長性を有して中継する。また、ストレージ装置は、ストレージデバイスへの冗長化されたアクセスパスを外部装置が選択することで、アクセス負荷を分散することができる。
特表2007−536612号公報 特開2012−73983号公報 特開2005−266933号公報
しかしながら、外部装置は、あらかじめ設定する接続構成に依存してアクセスパスを選択する場合がある。また、外部装置は、ストレージ装置におけるアクセスパスの負荷を把握することが難しい。そのため、ストレージ装置におけるストレージデバイスへのアクセスの中継は、非効率となる場合が多い。
1つの側面では、本発明は、ストレージデバイスへのアクセスを効率よく中継できるストレージ装置、中継装置、および中継制御プログラムを提供することを目的とする。
上記課題を解決するために、ストレージ装置が提供される。ストレージ装置は、複数のストレージデバイスと、複数のストレージデバイスと外部装置とを第1系統で中継する第1中継装置と、複数のストレージデバイスと外部装置とを第1系統と異なる第2系統で中継する第2中継装置とを備える。第1中継装置および第2中継装置は、それぞれ、記憶部と制御部とを備える。記憶部は、ストレージデバイスへのアクセスをおこなうための第1指定先情報と、ストレージデバイスに対する外部装置からのアクセスを中継してストレージデバイスへのアクセスをおこなうための第2指定先情報との対応関係を記憶する。制御部は、中継負荷にもとづいて第1中継装置または第2中継装置を経由するストレージデバイスに対応する第2指定先情報ごとの中継経路であって外部装置によるアクセス先とする第1中継装置または第2中継装置の指定を含む中継経路を決定し、中継経路に更新があった場合に決定した中継経路を外部装置に通知し、第2指定先情報により特定可能なアクセス要求を外部装置から受け付けて、対応関係にもとづいてストレージデバイスへのアクセスをおこなう。
1態様によれば、ストレージデバイスへのアクセスを効率よく中継できる。
第1の実施形態のストレージシステムの一例を示す図である。 第2の実施形態のストレージシステムの一例を示す図である。 第2の実施形態のエキスパンダのハードウェア構成の一例を示す図である。 第2の実施形態のLUN番号決定処理を示すフローチャートである。 第2の実施形態のLUN番号管理テーブルの一例を示す図である。 第2の実施形態のサーバが上位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。 第2の実施形態のサーバが下位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。 第2の実施形態のサーバが上位エキスパンダに対しておこなうLUN番号取得のコマンドシーケンスの一例を示す図である。 第2の実施形態の推奨アクセスパステーブル生成処理を示すフローチャートである。 第2の実施形態のエキスパンダ状態管理テーブル(担当分)の一例を示す図である。 第2の実施形態のエキスパンダ状態管理テーブル(全体分)の一例を示す図である。 第2の実施形態の推奨アクセスパス決定処理を示すフローチャートである。 第2の実施形態の推奨アクセスパステーブルの一例を示す図である。 第2の実施形態の推奨アクセスパス通知処理を示すフローチャートである。 第2の実施形態のサーバがディスクにおこなうSSP Readアクセスのコマンドシーケンスの一例を示す図である。 第2の実施形態のアクセスデバイス指定一覧表の一例を示す図である。 第2の実施形態のDEにおける推奨アクセスパスの一例(その1)を示す図である。 第2の実施形態のDEにおける推奨アクセスパスの一例(その2)を示す図である。 第2の実施形態のDEにおける推奨アクセスパスの一例(その3)を示す図である。 第2の実施形態のDEにおける推奨アクセスパスの一例(その4)を示す図である。
以下、実施形態について、図面を参照しながら詳細に説明する。
[第1の実施形態]
まず、第1の実施形態のストレージシステムについて図1を用いて説明する。図1は、第1の実施形態のストレージシステムの一例を示す図である。
ストレージシステム1は、ストレージ装置2と外部装置8を含む。ストレージ装置2は、外部装置8の外部記憶装置であり、たとえば、ドライブエンクロージャである。外部装置8は、情報処理装置であり、たとえば、サーバまたはホストなどである。
ストレージ装置2は、第1中継装置3と、第2中継装置4と、複数のストレージデバイス5a,5bを含む。第1中継装置3と第2中継装置4は、外部装置8からのアクセスを複数のディスクに中継する中継装置であり、たとえば、エキスパンダである。ストレージデバイス5a,5bは、HDDやSSDなどの記憶装置である。
第1中継装置3は、外部装置8からストレージデバイス5a,5bへのアクセスを第1系統6(実線で図示)で中継する。第2中継装置4は、外部装置8からストレージデバイス5a,5bへのアクセスを第2系統7(破線で図示)で中継する。このように、ストレージ装置2は、ストレージデバイス5a,5bへのアクセスパスを二重化した冗長構成を有する。
なお、ストレージ装置2は、第1中継装置3と第2中継装置4を上位中継装置として、第1中継装置3と複数のストレージデバイス5a,5bとの間および第2中継装置4と複数のストレージデバイス5a,5bとの間にそれぞれ下位中継装置を備える階層構造を有してもよい。この場合、ストレージ装置2は、ツリー型トポロジによって、より高密度にストレージデバイス5a,5bを備えることができる。
第1中継装置3は、記憶部3aと制御部3cとを備える。記憶部3aは、第1指定先情報と第2指定先情報との対応関係3bを記憶する。
第1指定先情報は、ストレージデバイス5a,5bへのアクセスをおこなうための情報であり、換言すれば、ストレージデバイス5a,5bをアクセス先として直接指定可能な情報である。第1指定先情報は、たとえばストレージデバイス5a,5bのアドレスである。
第2指定先情報は、ストレージデバイス5a,5bに対する外部装置8からのアクセスを中継してストレージデバイス5a,5bへのアクセスをおこなうための情報である。換言すれば、第2指定先情報は、ストレージデバイス5a,5bをアクセス先として間接指定可能な情報である。第2指定先情報は、たとえば第1中継装置3または第2中継装置4がアクセスを中継するLUN(Logical Unit Number)である。対応関係3bは、第1指定先情報と第2指定先情報との対応関係を示す情報である。
制御部3cは、中継負荷にもとづいてストレージデバイス5a,5bに対応する第2指定先情報ごとの中継経路を決定する。中継負荷は、中継装置(第1中継装置3、第2中継装置4)の中継にかかる負荷であり、処理負荷や通信負荷などがある。中継経路は、外部装置8とのアクセスを中継する経路であり、第1中継装置3が中継する第1系統6と、第2中継装置4が中継する第2系統7とがある。たとえば、制御部3cは、中継負荷にもとづいてストレージデバイス5aに対応する第2指定先情報の中継経路を第1中継装置3が中継する第1系統6とする。また、制御部3cは、中継負荷にもとづいてストレージデバイス5bに対応する第2指定先情報の中継経路を第2中継装置4が中継する第2系統7として決定する。
制御部3cは、決定した中継経路を外部装置8に通知する。これにより、外部装置8は、ストレージデバイス5a,5bに関して第2指定先情報に対応する中継経路を取得できる。
制御部3cは、第2指定先情報により特定可能なストレージデバイス5a,5bへのアクセス要求を外部装置8から受け付けると、対応関係3bにもとづいてストレージデバイス5a,5bを特定してアクセス要求を中継する。
また、第2中継装置4は、記憶部4aと制御部4cとを備える。記憶部4aは、ストレージデバイス5a,5bの第1指定先情報と第2指定先情報との対応関係4bを記憶する。対応関係4bは、第1指定先情報と第2指定先情報との対応関係を示す情報である。
制御部4cは、中継負荷にもとづいてストレージデバイス5a,5bに対応する第2指定先情報ごとの中継経路を決定する。たとえば、制御部4cは、中継負荷にもとづいてストレージデバイス5aに対応する第2指定先情報の中継経路を第1中継装置3が中継する第1系統6とする。また、制御部4cは、中継負荷にもとづいてストレージデバイス5bに対応する第2指定先情報の中継経路を第2中継装置4が中継する第2系統7として決定する。
制御部4cは、決定した中継経路を外部装置8に通知する。これにより、外部装置8は、ストレージデバイス5a,5bに関して第2指定先情報に対応する中継経路を取得できる。
制御部4cは、第2指定先情報により特定可能なストレージデバイス5a,5bへのアクセス要求を外部装置8から受け付けると、対応関係4bにもとづいてストレージデバイス5a,5bを特定してアクセス要求を中継する。
これにより、外部装置8は、第1中継装置3または第2中継装置4をアクセス先とし、第2指定先情報により特定されるストレージデバイス5a,5bにアクセス要求をおこなうことができる。一方、DE10は、外部装置8の直接のアクセス先をストレージデバイス5a,5bとせず、第1中継装置3または第2中継装置4とすることで、ストレージ装置2におけるアクセスパスをコントロールできる。
このように、ストレージ装置2は、第1中継装置3または第2中継装置4を介した第2指定先情報によるストレージデバイス5a,5bへのアクセスを外部装置8に案内することで、ストレージ装置2における中継負荷に対応した中継制御をおこなうことができる。したがって、ストレージ装置2は、ストレージデバイス5a,5bへのアクセスにかかる中継負荷を分散し、ストレージデバイス5a,5bへのアクセスを効率よく中継できる。
[第2の実施形態]
次に、第2の実施形態のストレージシステムについて図2を用いて説明する。図2は、第2の実施形態のストレージシステムの一例を示す図である。
ストレージシステム1aは、DE(Drive Enclosure)10とサーバ20を含む。DE10は、サーバ20とSAS(Serial Attached SCSI(Small Computer System Interface))インタフェースで接続する外部記憶装置であり、第1の実施形態で示したストレージ装置2の一形態である。サーバ20は、第1の実施形態で示した外部装置8の一形態である。
DE10は、エキスパンダ30(e00,e10,e01,e02,e11,e12)と、ディスク50(d00,d01,d02,d03,d10,d11,d12,d13)を含む。DE10は、複数のスロットを備え、ディスク50は、各スロットにセットされる。
ディスク50は、SASインタフェースで接続(実線で図示)するエンドデバイスであり、たとえば、SAS HDDやSAS SSDである。なお、DE10は、一例として8台のディスク50を含むが、説明を簡単にするためであって、8台に限られるものではない。
エキスパンダ30は、デバイス接続数を拡張可能な中継装置であり、たとえば、SASスイッチでありSASスイッチを多段接続可能である。DE10は、エキスパンダe00,e10をサーバ20と接続する上位エキスパンダ301とし、エキスパンダe01,e02,e11,e12を上位エキスパンダ301を介してサーバ20と接続する下位エキスパンダ302としている。下位エキスパンダ302は、ディスクd00,d01,d02,d03,d10,d11,d12,d13を接続する。なお、DE10は、上位エキスパンダ301と下位エキスパンダ302の2段構成であるが、エキスパンダ30を3段以上に接続する多段構成であってもよい。
エキスパンダe00は、パスp00でサーバ20と接続し、パスp01でエキスパンダe01と接続し、パスp02でエキスパンダe02と接続する。エキスパンダe01は、ディスク50のうちディスクd00,d01,d02,d03の一群(第1群)とそれぞれ接続する。エキスパンダe02は、ディスク50のうちディスクd10,d11,d12,d13の一群(第2群)とそれぞれ接続する。これにより、エキスパンダe00は、サーバ20からディスク50へのアクセスを中継できる。
エキスパンダe10は、パスp10でサーバ20と接続し、パスp11でエキスパンダe11と接続し、パスp12でエキスパンダe12と接続する。エキスパンダe11は、ディスク50のうちディスクd00,d01,d02,d03の一群(第1群)とそれぞれ接続する。エキスパンダe12は、ディスク50のうちディスクd10,d11,d12,d13の一群(第2群)とそれぞれ接続する。これにより、エキスパンダe10は、サーバ20からディスク50へのアクセスを中継できる。
したがって、DE10は、エキスパンダe00をルートにするツリー型トポロジによってサーバ20とディスク50を接続するアクセスパスを有する。また、DE10は、エキスパンダe10をルートにするツリー型トポロジによってサーバ20とディスク50を接続するアクセスパスを有する。このように、DE10は、アクセスパスを二重化した冗長構成を有する。
また、DE10は、エキスパンダe00とエキスパンダe10をI2C(Inter Integrated Circuit)インタフェースで接続(破線で図示)し、エキスパンダe00とエキスパンダe10とをSASインタフェースと独立して通信可能にする。
次に、第2の実施形態のエキスパンダのハードウェア構成について図3を用いて説明する。図3は、第2の実施形態のエキスパンダのハードウェア構成の一例を示す図である。
エキスパンダ30は、PLD(Programmable Logic Device)31と、電源32と、スイッチ33と、エキスパンダチップ40を含む。PLD31は、常駐電源で動作する電源制御装置としての機能を含み、スイッチ33からの入力信号に応じてエキスパンダチップ40への電源32の入出力状態を切り替える。
エキスパンダチップ40は、シリアルインタフェース(Serial)41と、イーサネット(登録商標)インタフェース(Ether)42と、プロセッサ43と、メモリ44と、I2Cインタフェース45と、物理リンク46を含む。
シリアルインタフェース41とイーサネットインタフェース42は、デバッグなど保守管理用の周辺機器を接続する機器接続インタフェースである。I2Cインタフェース45は、上位エキスパンダ301間の通信インタフェースである。物理リンク46は、Phy0からPhy35の物理ポートを含み、SAS物理リンク(SASインタフェース)としてディスク50または他のエキスパンダ30と接続する。
プロセッサ43は、エキスパンダチップ40の制御部として機能する。プロセッサ43には、バスを介してメモリ44と複数の周辺機器が接続されている。プロセッサ43は、2以上のプロセッサで構築されたマルチコアプロセッサであってもよい。
プロセッサ43は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLDである。
メモリ44は、エキスパンダ30の記憶部として機能する。メモリ44は、揮発性メモリ(たとえば、RAM(Random Access Memory))と不揮発性メモリ(たとえば、ROM(Read Only Memory))とを含む。
不揮発性メモリには、OS(Operating System)のプログラム、アプリケーションプログラム、および各種データが格納される。揮発性メモリには、プロセッサ43に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時格納される。また、揮発性メモリには、プロセッサ43による処理に必要な各種データが格納される。また、揮発性メモリは、プロセッサ43のキャッシュメモリとして機能する。
なお、機器接続インタフェースは、エキスパンダ30に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェースには、図示しないメモリ装置やメモリリーダライタを接続することができる。メモリ装置は、機器接続インタフェースとの通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、たとえば、カード型の記録媒体である。
また、機器接続インタフェースには、図示しないモニタを接続してもよい。その場合、機器接続インタフェースは、プロセッサ43からの命令にしたがって、画像をモニタの画面に表示させるグラフィック処理機能を有する。
また、機器接続インタフェースは、図示しないキーボードやマウスを接続してもよい。その場合、機器接続インタフェースは、キーボードやマウスから送られてくる信号をプロセッサ43に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
また、機器接続インタフェースは、図示しない光学ドライブ装置を接続してもよい。光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りをおこなう。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
以上のようなハードウェア構成によって、第2の実施形態のエキスパンダ30の処理機能を実現することができる。エキスパンダ30の処理機能は、たとえば、SAS制御、Phy(Physical layer)制御、SMP(Serial Management Protocol)制御、SSP(Serial SCSI Protocol)制御の他、各種制御をおこなう。
なお、第1の実施形態に示した第1中継装置3と第2中継装置4も、図3に示したエキスパンダ30と同様のハードウェアにより実現することができる。
エキスパンダ30は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。エキスパンダ30に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、エキスパンダ30に実行させるプログラムをメモリ44に格納しておくことができる。プロセッサ43は、メモリ44内のプログラムの少なくとも一部を揮発性メモリにロードし、プログラムを実行する。また、エキスパンダ30に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ43からの制御により、メモリ44にインストールされた後、実行可能となる。またプロセッサ43が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、第2の実施形態のLUN番号決定処理について図4を用いて説明する。図4は、第2の実施形態のLUN番号決定処理を示すフローチャートである。
LUN番号決定処理は、LUN番号を決定する処理である。LUN番号は、ディスク50の間接指定先となる情報である。LUN番号決定処理は、エキスパンダ30の初期化処理時(たとえば、電源投入時)に、上位エキスパンダ301が有する制御部(プロセッサ43)によって実行される。なお、エキスパンダ30が上位エキスパンダ301であるか否かは、出荷時にあるいは管理者によってあらかじめ設定されるものであってもよいし、エキスパンダ30相互の接続関係から決定されるものであってもよい。
[ステップS11]制御部は、下位エキスパンダ302を介してディスク50のSASアドレスとスロット番号を取得する。SASアドレスは、SASデバイスに割り当てられたユニークな情報であり、サーバ20がディスク50を直接指定可能な直接指定先に相当する。スロット番号は、ディスク50がセットされているスロットに割り当てられたユニークな番号である。
たとえば、上位エキスパンダ301であるエキスパンダe00の制御部は、下位エキスパンダ302であるエキスパンダe01,e02にSASフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。これにより、エキスパンダe00の制御部は、ディスク50のSASアドレスとスロット番号を取得することができる。また、上位エキスパンダ301であるエキスパンダe10の制御部は、下位エキスパンダ302であるエキスパンダe11,e12にSASフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。これによりエキスパンダe10の制御部は、ディスク50のSASアドレスとスロット番号を取得することができる。
[ステップS12]制御部は、所定のLUN番号付与規則にしたがいディスク50のLUN番号を決定する。LUN番号は、ディスク50に割り当てられるユニークな番号であり、サーバ20がディスク50を間接指定可能な間接指定先に相当する。
[ステップS13]制御部は、LUN番号管理テーブルを生成する。LUN番号管理テーブルは、ディスク50ごとのSASアドレスとLUN番号との対応関係を示す情報である。LUN番号管理テーブルについては、図5を用いて後で説明する。
[ステップS14]制御部は、当該エキスパンダ30の制御状態を、サーバ20の接続を待ち受ける接続待ち状態に遷移し、LUN番号決定処理を終了する。
これにより、上位エキスパンダ301は、ディスク50のSASアドレスとLUN番号とを対応付けることができる。なお、2つある上位エキスパンダ301は、LUN番号管理テーブルをそれぞれ独立に生成するようにしてよい。また、LUN番号管理テーブルは、2つある上位エキスパンダ301の一方によって生成された後、2つある上位エキスパンダ301の双方で共有されるものであってもよい。
次に、第2の実施形態のLUN番号管理テーブルの一例について図5を用いて説明する。図5は、第2の実施形態のLUN番号管理テーブルの一例を示す図である。
LUN番号管理テーブル200は、SASアドレス、LUN番号を項目に含む。たとえば、SASアドレス「7XXXXXXX XXXXXX00」とLUN番号「4000」は対応関係にあり、同一のディスク50(たとえばd00)の情報である。同様にして、LUN番号管理テーブル200は、DE10に搭載されるすべてのディスク50のSASアドレスとLUN番号との対応関係を有する。
次に、サーバ20がDE10に接続したときのディスク50の認識について図6から図8を用いて説明する。まず、上位エキスパンダ301に対してサーバ20がおこなう接続先確認について図6を用いて説明する。図6は、第2の実施形態のサーバが上位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。
サーバ20は、DE10との接続時に、直接接続する上位エキスパンダ301を認識し、上位エキスパンダ301に対して上位エキスパンダ301の接続先を問い合わせる。以下、図6に示すコマンドシーケンスにしたがい説明する。
[シーケンスsq11]サーバ20は、上位エキスパンダ301の1つであるエキスパンダe00に、接続先確認としてSASフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
[シーケンスsq12]エキスパンダe00は、SASフレーム「SMP DISCOVER REQUEST FUNCTION」の応答として、エキスパンダe00と接続する下位エキスパンダ302のSASアドレスをサーバ20に応答する。具体的には、エキスパンダe00は、下位エキスパンダ302としてエキスパンダe01,e02を接続するので、エキスパンダe01,e02のSASアドレスをサーバ20に応答する。
[シーケンスsq13]サーバ20は、上位エキスパンダ301のもう1つであるエキスパンダe10に、接続先確認としてSASフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
[シーケンスsq14]エキスパンダe10は、SASフレーム「SMP DISCOVER REQUEST FUNCTION」の応答として、エキスパンダe10と接続する下位エキスパンダ302のSASアドレスをサーバ20に応答する。具体的には、エキスパンダe10は、下位エキスパンダ302としてエキスパンダe11,e12を接続するので、エキスパンダe11,e12のSASアドレスをサーバ20に応答する。
これにより、サーバ20は、下位エキスパンダ302のSASアドレスを取得することができる。
次に、下位エキスパンダ302に対してサーバ20がおこなう接続先確認について図7を用いて説明する。図7は、第2の実施形態のサーバが下位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。
サーバ20は、上位エキスパンダ301の接続先確認後に、上位エキスパンダ301の接続先である下位エキスパンダ302に対して下位エキスパンダ302の接続先を問い合わせる。以下、図7に示すコマンドシーケンスにしたがい説明する。
[シーケンスsq21]サーバ20は、エキスパンダe00の下位エキスパンダ302の1つであるエキスパンダe01に、接続先確認としてSASフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
[シーケンスsq22]エキスパンダe01は、サーバ20がSCSI Target Port Groupに準拠していることを検出して、SASフレーム「SMP DISCOVER REQUEST FUNCTION」の応答としてダミーステータスを応答する。ダミーステータスは、エキスパンダe01と接続する下位デバイスがないとする応答(「No Device Attached」)である。これにより、エキスパンダe01は、サーバ20がディスク50を直接に認識することを抑制する。なお、エキスパンダe01は、サーバ20がSCSI Target Port Groupに準拠していない場合、エキスパンダe01と接続する下位デバイスとして、ディスクd00,d01,d02,d03のSASアドレスをサーバ20に応答する。
[シーケンスsq23]サーバ20は、エキスパンダe00の下位エキスパンダ302のもう1つであるエキスパンダe02に、接続先確認としてSASフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
[シーケンスsq24]エキスパンダe02は、サーバ20がSCSI Target Port Groupに準拠していることを検出して、SASフレーム「SMP DISCOVER REQUEST FUNCTION」の応答としてダミーステータスを応答する。ダミーステータスは、エキスパンダe02と接続する下位デバイスがないとする応答である。
これにより、エキスパンダe02は、サーバ20がディスク50を直接に認識することを抑制する。なお、エキスパンダe02は、サーバ20がSCSI Target Port Groupに準拠していない場合、エキスパンダe02と接続する下位デバイスとして、ディスクd10,d11,d12,d13のSASアドレスをサーバ20に応答する。
なお、サーバ20がエキスパンダe01,e02に対して接続先確認をおこなうコマンドシーケンスについて説明したが、サーバ20がエキスパンダe11,e12に対して接続先確認をおこなうコマンドシーケンスもこれと同様である。
これにより、下位エキスパンダ302は、サーバ20がSCSI Target Port Groupに準拠する場合、ディスク50の直接指定先であるSASアドレスをサーバ20に対して隠秘することができる。サーバ20に対するSASアドレスの隠秘は、サーバ20がディスク50に直接にアクセスすることを制限する。また、下位エキスパンダ302は、サーバ20がSCSI Target Port Groupに準拠しない場合、ディスク50の直接指定先であるSASアドレスをサーバ20に対して公開することができる。
なお、下位エキスパンダ302は、上位エキスパンダ301からのSASフレーム「SMP DISCOVER REQUEST FUNCTION」に対してSASアドレスとスロット番号とを応答する。すなわち、下位エキスパンダ302は、SASフレーム「SMP DISCOVER REQUEST FUNCTION」の発行元を識別して応答内容を変更できる。これにより、サーバ20は、ディスク50のSASアドレスを取得することができない。また、上位エキスパンダ301は、ディスク50のSASアドレスとスロット番号とを取得することができる。
次に、上位エキスパンダ301に対してサーバ20がおこなうLUN番号取得について図8を用いて説明する。図8は、第2の実施形態のサーバが上位エキスパンダに対しておこなうLUN番号取得のコマンドシーケンスの一例を示す図である。
サーバ20は、下位エキスパンダ302の接続先(すなわちディスク50)を確認できないことから、上位エキスパンダ301に対して上位エキスパンダ301に付随する論理ボリュームのLUN番号の取得をおこなう。以下、図8に示すコマンドシーケンスにしたがい説明する。
[シーケンスsq31]サーバ20は、上位エキスパンダ301の1つであるエキスパンダe00に、LUN番号の取得要求としてSCSIコマンド「SSP REPORT LUNS COMMAND」を発行する。
[シーケンスsq32]エキスパンダe00は、エキスパンダe00に付随する論理ボリュームのLUN番号をサーバ20に応答する。なお、エキスパンダe00は、LUN番号管理テーブルにしたがいLUN番号を応答することができる。
[シーケンスsq33]サーバ20は、上位エキスパンダ301のもう1つであるエキスパンダe10に、LUN番号の取得要求としてSCSIコマンド「SSP REPORT LUNS COMMAND」を発行する。
[シーケンスsq34]エキスパンダe10は、エキスパンダe10に付随する論理ボリュームのLUN番号をサーバ20に応答する。なお、エキスパンダe10は、LUN番号管理テーブルにしたがいLUN番号を応答することができる。
これにより、サーバ20は、DE10のディスク50を、上位エキスパンダ301に付随する論理ボリュームとして認識することができる。したがって、エキスパンダe00は、サーバ20に応答したLUN番号に対応するディスク50について、サーバ20がエキスパンダe00宛てにアクセスすることを期待できる。また、エキスパンダe10は、サーバ20に応答したLUN番号に対応するディスク50について、サーバ20がエキスパンダe10宛てにアクセスすることを期待できる。
次に、第2の実施形態の推奨アクセスパステーブル生成処理について図9を用いて説明する。図9は、第2の実施形態の推奨アクセスパステーブル生成処理を示すフローチャートである。
推奨アクセスパステーブル生成処理は、推奨アクセスパステーブルを生成する処理である。推奨アクセスパステーブルは、ディスク50ごと、すなわち論理ボリュームごとの推奨アクセスパスを示す情報である。推奨アクセスパスは、サーバ20に対して推奨する、論理ボリュームへのアクセスパスであり、経由する上位エキスパンダ301の指定を含む。推奨アクセスパステーブル生成処理は、タイマトリガ(たとえば、所定時間ごと)またはイベントトリガ(たとえば、所定の状態変化を検出)で、上位エキスパンダ301が有する制御部(プロセッサ43)によって実行される。
[ステップS21]制御部は、下位エキスパンダ302から推奨アクセスパステーブル生成に用いる各種情報を取得する。たとえば、推奨アクセスパステーブル生成に用いる各種情報は、コマンド受信数、役割、経路状態などがある。
[ステップS22]制御部は、取得した各種情報にもとづいてエキスパンダ状態管理テーブル(担当分)を生成する。エキスパンダ状態管理テーブル(担当分)については、図10を用いて後で説明する。
[ステップS23]制御部は、他の上位エキスパンダ301との間で、生成したエキスパンダ状態管理テーブル(担当分)を交換する。
[ステップS24]制御部は、生成したエキスパンダ状態管理テーブル(担当分)と、他の上位エキスパンダ301から取得したエキスパンダ状態管理テーブル(担当分)とから、エキスパンダ状態管理テーブル(全体分)を生成する。制御部は、生成したエキスパンダ状態管理テーブル(全体分)を、たとえばメモリ44に格納する。エキスパンダ状態管理テーブル(全体分)については、図11を用いて後で説明する。
[ステップS25]制御部は、推奨アクセスパス決定処理を実行する。推奨アクセスパス決定処理は、推奨アクセスパスを決定する処理である。推奨アクセスパス決定処理については、図12を用いて後で説明する。
[ステップS26]制御部は、決定した推奨アクセスパスにもとづいて推奨アクセスパステーブルを生成し、推奨アクセスパステーブル生成処理を終了する。制御部は、生成した推奨アクセスパステーブルを、たとえばメモリ44に格納する。推奨アクセスパステーブルについては、図13を用いて後で説明する。
次に、推奨アクセスパステーブル生成処理のステップS22において生成したエキスパンダ状態管理テーブル(担当分)について図10を用いて説明する。図10は、第2の実施形態のエキスパンダ状態管理テーブル(担当分)の一例を示す図である。
エキスパンダ状態管理テーブル210は、エキスパンダ状態管理テーブル(担当分)の一例である。エキスパンダ状態管理テーブル210は、対象エキスパンダ、コマンド受信数、M/S種別、上位エキスパンダとの経路状態、情報生成担当エキスパンダを項目に含む。対象エキスパンダは、上位エキスパンダ301である情報生成担当エキスパンダの下位に相当する下位エキスパンダ302を示す。コマンド受信数は、対象エキスパンダの単位時間当たりの通信負荷を示す。なお、コマンド受信数は、通信負荷の一例であって、コマンド送信数や、コマンド中継数、あるいはこれらの組み合わせなどによって対象エキスパンダの通信負荷を示すものであってもよい。
M/S種別は、エキスパンダ30の種別であり、Master(マスタ)とSlave(スレーブ)とがある。複数のエキスパンダ30のうち1つのエキスパンダ30がマスタを担当し、その他のエキスパンダ30がスレーブを担当する。たとえば、M/S種別は、あらかじめ設定される。マスタは、DE10の環境情報(DE10の内部温度や、ファンや電源の状態など)の監視や採取をおこなう。また、マスタは、SES(SCSI Enclosure Service)というSCSIコマンドを用いて、異常検出時におけるサーバ20への通知や、サーバ20からの要求に対する応答などをおこなう。したがって、マスタは、スレーブと比較して負荷が大きい。
上位エキスパンダとの経路状態は、上位エキスパンダ301との間のアクセスパスの状態を示し、正常と異常とがある。情報生成担当エキスパンダは、エキスパンダ状態管理テーブル(担当分)の生成を担当する上位エキスパンダ301を示す。
たとえば、エキスパンダ状態管理テーブル210は、エキスパンダe01のコマンド受信数が「4000」であり、M/S種別が「マスタ」であり、上位エキスパンダとの経路状態が「正常」であることを示す。また、エキスパンダ状態管理テーブル210は、エキスパンダe02のコマンド受信数が「0」であり、M/S種別が「スレーブ」であり、上位エキスパンダとの経路状態が「正常」であることを示す。エキスパンダ状態管理テーブル210の情報生成担当は、上位エキスパンダ301の1つである、エキスパンダe00である。なお、上位エキスパンダ301のもう1つである、エキスパンダe10もまた、エキスパンダ状態管理テーブル(担当分)を生成する。
次に、推奨アクセスパステーブル生成処理のステップS24において生成したエキスパンダ状態管理テーブル(全体分)について図11を用いて説明する。図11は、第2の実施形態のエキスパンダ状態管理テーブル(全体分)の一例を示す図である。エキスパンダ状態管理テーブル220は、エキスパンダ状態管理テーブル(全体分)の一例である。エキスパンダ状態管理テーブル(全体分)は、エキスパンダ状態管理テーブル(担当分)と同様の構成を有する。
エキスパンダ状態管理テーブル220は、エキスパンダe00が生成したエキスパンダ状態管理テーブル(担当分)と、エキスパンダe10が生成したエキスパンダ状態管理テーブル(担当分)とをマージして生成されたエキスパンダ状態管理テーブルである。
したがって、エキスパンダ状態管理テーブル220は、エキスパンダe00が収集したエキスパンダe01,e02に関する情報と、エキスパンダe10が収集したエキスパンダe11,e12に関する情報とを含む。
次に、推奨アクセスパス決定処理について図12を用いて説明する。図12は、第2の実施形態の推奨アクセスパス決定処理を示すフローチャートである。推奨アクセスパス決定処理は、推奨アクセスパスを決定する処理である。推奨アクセスパス決定処理は、推奨アクセスパステーブル生成処理のステップS25で、上位エキスパンダ301が有する制御部(プロセッサ43)によって実行される。
[ステップS31]制御部は、エキスパンダ状態管理テーブル(全体分)を参照する。
[ステップS32]制御部は、下位エキスパンダ302について上位エキスパンダ301との間で経路状態「異常」があるか否かを判定する。制御部は、経路状態「異常」がある下位エキスパンダ302がある場合にステップS33にすすみ、経路状態「異常」がある下位エキスパンダ302がない場合にステップS34にすすむ。
[ステップS33]制御部は、異常経路を代替する推奨アクセスパスを決定して、推奨アクセスパス決定処理を終了する。
たとえば、制御部は、エキスパンダe00,e01間で経路状態が「異常」の場合、ディスクd00,d01,d02,d03についてエキスパンダe10経由、ディスクd10,d11,d12,d13についてエキスパンダe00経由の推奨アクセスパスとする。また、制御部は、エキスパンダe00,e02間で経路状態が「異常」の場合、ディスクd00,d01,d02,d03についてエキスパンダe00経由、ディスクd10,d11,d12,d13についてエキスパンダe10経由の推奨アクセスパスとする。また、制御部は、エキスパンダe10,e11間で経路状態が「異常」の場合、ディスクd00,d01,d02,d03についてエキスパンダe00経由、ディスクd10,d11,d12,d13についてエキスパンダe10経由の推奨アクセスパスとする。また、制御部は、エキスパンダe10,e12間で経路状態が「異常」の場合、ディスクd00,d01,d02,d03についてエキスパンダe10経由、ディスクd10,d11,d12,d13についてエキスパンダe00経由の推奨アクセスパスとする。
[ステップS34]制御部は、上位エキスパンダ301の間で通信負荷が均衡しているか否かを判定する。制御部は、上位エキスパンダ301の間で通信負荷が均衡している場合にステップS35にすすみ、上位エキスパンダ301の間で通信負荷が均衡していない場合にステップS36にすすむ。なお、通信負荷が均衡しているか否かの判定は、エキスパンダe01のコマンド受信数とエキスパンダe02のコマンド受信数の和と、エキスパンダe11のコマンド受信数とエキスパンダe12のコマンド受信数の和とを比較しておこなうことができる。制御部は、2つの和の差分が所定範囲内にあるとき、上位エキスパンダ301の間の通信負荷の均衡を判定することができる。
[ステップS35]制御部は、上位エキスパンダ301の間で通信負荷が均衡していることから、マスタを担うエキスパンダ30の負荷を低減する推奨アクセスパスを決定して、推奨アクセスパス決定処理を終了する。
たとえば、制御部は、エキスパンダe01がマスタを担う場合、ディスクd00,d01,d02,d03のうち、エキスパンダe00経由の推奨アクセスパスの一部を、エキスパンダe10経由の推奨アクセスパスに振り替える。また、制御部は、エキスパンダe02がマスタを担う場合、ディスクd10,d11,d12,d13のうち、エキスパンダe00経由の推奨アクセスパスの一部を、エキスパンダe10経由の推奨アクセスパスに振り替える。また、制御部は、エキスパンダe11がマスタを担う場合、ディスクd00,d01,d02,d03のうち、エキスパンダe10経由の推奨アクセスパスの一部を、エキスパンダe00経由の推奨アクセスパスに振り替える。また、制御部は、エキスパンダe12がマスタを担う場合、ディスクd10,d11,d12,d13のうち、エキスパンダe10経由の推奨アクセスパスの一部を、エキスパンダe00経由の推奨アクセスパスに振り替える。
これにより、制御部は、マスタを担うエキスパンダ30の負荷をマスタを担わないエキスパンダ30に分散することができる。なお、推奨アクセスパスの振替数は、あらかじめ設定されるもの(たとえば、振替数「1」など)であってもよいし、エキスパンダ状態管理テーブル(全体分)が保持する各種パラメータに応じて決定されるもの(たとえば、振替数「2」など)であってもよい。また、推奨アクセスパスの振替は、マスタを担うエキスパンダ30の負荷分散の一例であって、推奨アクセスパスの組換えなどであってもよい。
[ステップS36]制御部は、上位エキスパンダ301の間で通信負荷が均衡していないことから、上位エキスパンダ301の間の通信負荷の均衡を図る推奨アクセスパスを決定して、推奨アクセスパス決定処理を終了する。
たとえば、制御部は、エキスパンダe00の通信負荷がエキスパンダe10の通信負荷より高い場合、エキスパンダe00の下位エキスパンダ302(e01,e02)の通信負荷を比較する。制御部は、エキスパンダe01の通信負荷が高い場合、ディスクd00,d01,d02,d03のうち、エキスパンダe10経由の推奨アクセスパスを、エキスパンダe00経由の推奨アクセスパスより所定数(たとえば、1つ)多くする。また、制御部は、エキスパンダe02の通信負荷が高い場合、ディスクd10,d11,d12,d13のうち、エキスパンダe10経由の推奨アクセスパスを、エキスパンダe00経由の推奨アクセスパスより所定数(たとえば、1つ)多くする。一方、制御部は、エキスパンダe10の通信負荷がエキスパンダe00の通信負荷より高い場合、エキスパンダe10の下位エキスパンダ302(e11,e12)の通信負荷を比較する。制御部は、エキスパンダe11の通信負荷が高い場合、ディスクd00,d01,d02,d03のうち、エキスパンダe00経由の推奨アクセスパスを、エキスパンダe10経由の推奨アクセスパスより所定数(たとえば、1つ)多くする。また、制御部は、エキスパンダe12の通信負荷が高い場合、ディスクd10,d11,d12,d13のうち、エキスパンダe00経由の推奨アクセスパスを、エキスパンダe10経由の推奨アクセスパスより所定数(たとえば、1つ)多くする。
これにより、制御部は、エキスパンダ30の負荷に応じた推奨アクセスパスを決定することができる。なお、制御部は、各パラメータ(経路状態、エキスパンダ30の処理負荷、エキスパンダ30の通信負荷)を評価し、2以上のパラメータの総合評価から推奨アクセスパスを決定するようにしてもよい。
次に、推奨アクセスパステーブル生成処理のステップS26において生成した推奨アクセスパステーブルについて図13を用いて説明する。図13は、第2の実施形態の推奨アクセスパステーブルの一例を示す図である。推奨アクセスパステーブル230は、制御部が生成する推奨アクセスパステーブルの一例である。推奨アクセスパステーブル230は、対象ディスク、前回決定時の推奨アクセスパス、今回決定時の推奨アクセスパス、変化を項目に含む。
前回決定時の推奨アクセスパスは、推奨アクセスパステーブル生成処理において前回に決定した推奨アクセスパスを示す。今回決定時の推奨アクセスパスは、推奨アクセスパステーブル生成処理において今回に決定した推奨アクセスパスを示す。変化は、前回決定時の推奨アクセスパスと今回決定時の推奨アクセスパスとの変化の有無を示す。なお、推奨アクセスパステーブルの初回の生成時においては、すべての対象ディスクについて変化「あり」が設定される。
たとえば、ディスクd00は、前回決定時の推奨アクセスパスがエキスパンダe00経由であり、今回決定時の推奨アクセスパスがエキスパンダe00経由であり、前回決定時の推奨アクセスパスと今回決定時の推奨アクセスパスとで変化がないことを示す。また、ディスクd03は、前回決定時の推奨アクセスパスがエキスパンダe00経由であり、今回決定時の推奨アクセスパスがエキスパンダe10経由であり、前回決定時の推奨アクセスパスと今回決定時の推奨アクセスパスとで変化があることを示す。
次に、推奨アクセスパス通知処理について図14を用いて説明する。図14は、第2の実施形態の推奨アクセスパス通知処理を示すフローチャートである。推奨アクセスパス通知処理は、推奨アクセスパスをサーバ20に通知する処理である。推奨アクセスパス通知処理は、上位エキスパンダ301が有する制御部(プロセッサ43)によって推奨アクセスパステーブル生成処理の実行ごとに実行される。
[ステップS41]制御部は、推奨アクセスパステーブルの初回の生成であるか否かを判定する。制御部は、推奨アクセスパステーブルの初回の生成である場合にステップS43にすすみ、推奨アクセスパステーブルの初回の生成でない場合にステップS42にすすむ。
[ステップS42]制御部は、推奨アクセスパステーブルを参照し、推奨アクセスパスの変化の有無を判定する。制御部は、推奨アクセスパスに変化がある場合に、ステップS43にすすみ、変化がない場合に推奨アクセスパス通知処理を終了する。
[ステップS43]制御部は、推奨アクセスパスに変化があることをサーバ20に通知し、推奨アクセスパス通知処理を終了する。
これにより、サーバ20は、推奨アクセスパスに変化があった場合に推奨アクセスパスの変化を取得できる。
次に、サーバ20からディスク50へのアクセスと、上位エキスパンダ301からサーバ20への推奨アクセスパスの変化の通知について図15を用いて説明する。図15は、第2の実施形態のサーバがディスクにおこなうSSP Readアクセスのコマンドシーケンスの一例を示す図である。図15に示すコマンドシーケンスは、サーバ20が上位エキスパンダ301の1つであるエキスパンダe00を介してディスクd00にアクセスする場合を示す。なお、サーバ20がもう1つのエキスパンダe10を介してディスクd00にアクセスする場合も同様である。
[シーケンスsq41]サーバ20は、ディスクd00に対応するLUN番号「4000」を指定して、上位エキスパンダ301(ここでは、エキスパンダe00)にSSP Readを発行する。このとき、サーバ20が推奨アクセスパスを取得している場合、サーバ20は、推奨アクセスパスにしたがった上位エキスパンダ301にSSP Readを発行する。
[シーケンスsq42]エキスパンダe00は、LUN番号「4000」に対する最初のSCSIコマンドの受信があった場合、または推奨アクセスパスに変化があった場合に、アクセスパスの状態変化をサーバ20に通知する。たとえば、エキスパンダe00は、SK/SC/SS=06/2A/06(ASYMMETRIC ACCESS STATE CHANGED)のSCSI Senceをサーバ20に通知する。これにより、エキスパンダe00は、推奨アクセスパスに変化(アクセスパスの状態変化)があることをサーバ20に通知することができる。
[シーケンスsq43]サーバ20は、アクセスパスの状態をエキスパンダe00に要求する。
[シーケンスsq44]エキスパンダe00は、要求されたアクセスパスの推奨アクセスパス(たとえば、LUN番号「4000」)をサーバ20に通知する。
ここで、サーバ20が推奨アクセスパスの通知を受けた場合の、DE10が有する各デバイスのサーバ20の認識方法について図16を用いて説明する。図16は、第2の実施形態のアクセスデバイス指定一覧表の一例を示す図である。
アクセスデバイス指定一覧表240によれば、サーバ20は、SASアドレスによってエキスパンダ30にアクセスすることができる。たとえば、サーバ20は、SASアドレス「5XXXXXXX XXXX00XX」によりエキスパンダe00にアクセスする。これにより、サーバ20は、エキスパンダe00にアクセスしてDE10の状態取得をおこなうことができる。
また、アクセスデバイス指定一覧表240によれば、サーバ20は、上位エキスパンダ301のSASアドレスを用いて、上位エキスパンダ301に付随する論理ボリュームとしてディスク50にアクセスすることができる。たとえば、サーバ20は、SASアドレスを用いて上位エキスパンダ301にアクセスし、LUN番号「4000」を指定することで、ディスクd00にアクセスすることができる。
たとえば、従来、サーバ20は、ディスクd00のSASアドレス「7XXXXXXX XXXXXX00」+LUN番号「0(デフォルト値)」のように、ディスク50を直接指定してディスク50にアクセスしていた。これによれば、サーバ20は、エキスパンダe00のSASアドレス「5XXXXXXX XXXX00XX」+ディスクd00のLUN番号「4000」のように、ディスク50を間接指定してディスク50にアクセスできる。
このとき、サーバ20は、SASアドレス「5XXXXXXX XXXX00XX」を用いればエキスパンダe00にアクセスすることができ、SASアドレス「5XXXXXXX XXXX10XX」を用いればエキスパンダe10にアクセスすることができる。すなわち、サーバ20は、エキスパンダe00経由またはエキスパンダe10経由でディスクd00にアクセスすることができる。推奨アクセスパスは、サーバ20がディスクd00にアクセスする際のアクセス先となる上位エキスパンダ301を推奨するアクセスパスである。
再び、図15に示すコマンドシーケンスの説明に戻る。たとえば、LUN番号「4000」に対する推奨アクセスパスの変化は、エキスパンダe00経由のアクセスパスからエキスパンダe10経由のアクセスパスの変化であったとする。
[シーケンスsq45]サーバ20は、ディスクd00に対応するLUN番号「4000」を指定して、推奨アクセスパスにしたがいエキスパンダe10にSSP Readを発行する。
[シーケンスsq46]エキスパンダe10は、LUN番号管理テーブル200を参照し、LUN番号「4000」からディスクd00のSASアドレス「7XXXXXXX XXXXXX00」を取得する。エキスパンダe10は、SASアドレス「7XXXXXXX XXXXXX00」を指定して、ディスクd00にSSP Readを発行する。
[シーケンスsq47]ディスクd00は、エキスパンダe10にSSP Readを応答する。
[シーケンスsq48]エキスパンダe10は、SSP Read応答をサーバ20に転送する。
このように、上位エキスパンダ301がサーバ20とディスク50のアクセスを中継することで、DE10は、推奨アクセスパスによるサーバ20からディスク50へのアクセスを実現できる。
次に、DE10におけるアクセス負荷の分散例について図17と図18を用いて説明する。図17は、第2の実施形態のDEにおける推奨アクセスパスの一例(その1)を示す図である。図18は、第2の実施形態のDEにおける推奨アクセスパスの一例(その2)を示す図である。
たとえば、図17は、サーバ20からエキスパンダe10,e12を経由してディスクd10,d11,d12,d13に継続的なアクセスがある状態で、サーバ20が新規にエキスパンダe00経由のディスクアクセスをおこなう場合を示す。サーバ20は、エキスパンダe00,e01を経由してディスクd00,d01,d02,d03にアクセスをおこなう。ここで、エキスパンダe01がマスタを担っていることから、エキスパンダe00,e10は、エキスパンダe01の過重な負荷を検出し、エキスパンダe01のアクセス負荷の一部をエキスパンダe11に分散する推奨アクセスパスを決定する。たとえば、エキスパンダe00,e10は、ディスクd03の推奨アクセスパスをエキスパンダe00経由からエキスパンダe10経由に更新する。
これにより、エキスパンダe00は、サーバ20によるディスクd03へのアクセス要求を契機にして、エキスパンダe10経由の推奨アクセスパスをサーバ20に通知する。エキスパンダe10経由の推奨アクセスパスを受けて、図18に示すように、サーバ20は、エキスパンダe10経由でディスクd03にアクセスをおこなう。このようにして、DE10は、アクセス負荷を分散することができる。
次に、SCSI Target Port Groupをサポートするサポートサーバと、サポートしない未サポートサーバとが混在するストレージシステムにおいて、DE10がおこなうアクセス負荷の分散例について図19と図20を用いて説明する。図19は、第2の実施形態のDEにおける推奨アクセスパスの一例(その3)を示す図である。図20は、第2の実施形態のDEにおける推奨アクセスパスの一例(その4)を示す図である。
図19,図20に示すDE10は、SCSI Target Port Groupをサポートするサーバ20aと、SCSI Target Port Groupをサポートしないサーバ20bと接続する。DE10は、サーバ20bからのアクセスについて負荷分散をおこなうことができない。しかしながら、サーバ20bと併せてサーバ20aがDE10に接続されている場合、DE10は、サーバ20aのアクセスをコントロールすることで負荷分散をおこなうことができる。
たとえば、図19は、サーバ20bからエキスパンダe00,e01を経由してディスクd02,d03に、またサーバ20bからエキスパンダe10,e12を経由してディスクd12,d13に継続的なアクセスがある状態を示す。
ここで、サーバ20aが新規にディスクd00,d01,d10,d11にアクセスをおこなうとする。このとき、DE10は、エキスパンダe02,e11でコマンド受信がないことから、エキスパンダe02,e11を経由する推奨アクセスパスをサーバ20aに対して通知する。
これにより、図20に示すように、サーバ20aは、エキスパンダe02,e11を経由するディスクアクセスをおこなうことができる。したがって、DE10は、接続先のサーバ20に未サポートサーバが混在しても、アクセス負荷を分散してディスク50に効率よく中継をおこなうことができる。
以上、実施形態を例示したが、実施形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、第1中継装置3、第2中継装置4、ストレージ装置2、DE10およびエキスパンダ30が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1,1a ストレージシステム
2 ストレージ装置
3 第1中継装置
3a,4a 記憶部
3b,4b 対応関係
3c,4c 制御部
4 第2中継装置
5a,5b ストレージデバイス
6 第1系統
7 第2系統
8 外部装置
10 DE
20,20a,20bサーバ
30,e00,e01,e02,e10,e11,e12 エキスパンダ
31 PLD
32 電源
33 スイッチ
40 エキスパンダチップ
41 シリアルインタフェース
42 イーサネットインタフェース
43 プロセッサ
44 メモリ
45 I2Cインタフェース
46 物理リンク
50,d00,d01,d02,d03,d10,d11,d12,d13 ディスク
200 LUN番号管理テーブル
210 エキスパンダ状態管理テーブル
220 エキスパンダ状態管理テーブル
230 推奨アクセスパステーブル
240 アクセスデバイス指定一覧表
301 上位エキスパンダ
302 下位エキスパンダ

Claims (8)

  1. 複数のストレージデバイスと、前記複数のストレージデバイスと外部装置とを第1系統で中継する第1中継装置と、前記複数のストレージデバイスと前記外部装置とを前記第1系統と異なる第2系統で中継する第2中継装置と、を備え、
    前記第1中継装置および前記第2中継装置は、それぞれ、
    前記ストレージデバイスへのアクセスをおこなうための第1指定先情報と、前記ストレージデバイスに対する前記外部装置からのアクセスを中継して前記ストレージデバイスへのアクセスをおこなうための第2指定先情報との対応関係を記憶する記憶部と、
    中継負荷にもとづいて前記第1中継装置または前記第2中継装置を経由する前記ストレージデバイスに対応する前記第2指定先情報ごとの中継経路であって前記外部装置によるアクセス先とする前記第1中継装置または前記第2中継装置の指定を含む前記中継経路を決定し、
    記中継経路に更新があった場合に決定した前記中継経路を前記外部装置に通知し、
    前記第2指定先情報により特定可能なアクセス要求を前記外部装置から受け付けて、前記対応関係にもとづいて前記ストレージデバイスへのアクセスをおこなう、
    制御部と、
    を備えるストレージ装置。
  2. 前記制御部は、前記中継経路が更新された場合、前記外部装置から当該ストレージデバイスへのアクセス要求の受け付けを契機にして、更新された前記中継経路を前記外部装置に通知する、
    請求項1記載のストレージ装置。
  3. 前記第1中継装置は、
    前記複数のストレージデバイスのうち第1群と前記第1中継装置とを中継する第1下位中継装置と、
    前記複数のストレージデバイスのうち前記第1群と異なる第2群と前記第1中継装置とを中継する第2下位中継装置と、
    を備え、
    前記第2中継装置は、
    前記第1群と前記第2中継装置とを中継する第3下位中継装置と、
    前記第2群と前記第2中継装置とを中継する第4下位中継装置と、
    を備える、
    請求項1記載のストレージ装置。
  4. 前記中継負荷は、前記第1中継装置、前記第2中継装置、前記第1下位中継装置、前記第2下位中継装置、前記第3下位中継装置、および前記第4下位中継装置のそれぞれの処理負荷を含む請求項3記載のストレージ装置。
  5. 前記制御部は、
    前記ストレージデバイスに対応する論理ボリュームの識別情報を前記第2指定先情報とする前記対応関係を生成する、
    請求項1記載のストレージ装置。
  6. 前記中継負荷は、前記第1中継装置および前記第2中継装置が中継する通信負荷を含む請求項1記載のストレージ装置。
  7. 複数のストレージデバイスと外部装置とを中継する中継装置であって、
    前記ストレージデバイスへのアクセスをおこなうための第1指定先情報と、前記ストレージデバイスに対する前記外部装置からのアクセスを中継して前記ストレージデバイスへのアクセスをおこなうための第2指定先情報との対応関係を記憶する記憶部と、
    中継負荷にもとづいて当該中継装置、または当該中継装置と異なる系統で前記複数のストレージデバイスと前記外部装置とを中継する他の中継装置を経由する前記ストレージデバイスに対応する前記第2指定先情報ごとの中継経路であって前記外部装置によるアクセス先とする当該中継装置または前記他の中継装置の指定を含む前記中継経路を決定し、
    記中継経路に更新があった場合に決定した前記中継経路を前記外部装置に通知し、
    前記第2指定先情報により特定可能なアクセス要求を前記外部装置から受け付けて、前記対応関係にもとづいて前記ストレージデバイスへのアクセスをおこなう、
    制御部と、
    を備える中継装置。
  8. 複数のストレージデバイスと外部装置とを中継する中継装置の中継制御プログラムであって、
    コンピュータに、
    前記ストレージデバイスへのアクセスをおこなうための第1指定先情報と、前記ストレージデバイスに対する前記外部装置からのアクセスを中継して前記ストレージデバイスへのアクセスをおこなうための第2指定先情報との対応関係を決定し、
    中継負荷にもとづいて当該中継装置、または当該中継装置と異なる系統で前記複数のストレージデバイスと前記外部装置とを中継する他の中継装置を経由する前記ストレージデバイスに対応する前記第2指定先情報ごとの中継経路であって前記外部装置によるアクセス先とする前記中継装置または前記他の中継装置の指定を含む前記中継経路を決定し、
    記中継経路に更新があった場合に決定した前記中継経路を前記外部装置に通知し、
    前記第2指定先情報により特定可能なアクセス要求を前記外部装置から受け付けて、前記対応関係にもとづいて前記ストレージデバイスへのアクセスをおこなう、
    処理を実行させる中継制御プログラム。
JP2014236419A 2014-11-21 2014-11-21 ストレージ装置、中継装置、および中継制御プログラム Expired - Fee Related JP6380040B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014236419A JP6380040B2 (ja) 2014-11-21 2014-11-21 ストレージ装置、中継装置、および中継制御プログラム
US14/944,292 US20160147478A1 (en) 2014-11-21 2015-11-18 System, method and relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014236419A JP6380040B2 (ja) 2014-11-21 2014-11-21 ストレージ装置、中継装置、および中継制御プログラム

Publications (2)

Publication Number Publication Date
JP2016099816A JP2016099816A (ja) 2016-05-30
JP6380040B2 true JP6380040B2 (ja) 2018-08-29

Family

ID=56010242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014236419A Expired - Fee Related JP6380040B2 (ja) 2014-11-21 2014-11-21 ストレージ装置、中継装置、および中継制御プログラム

Country Status (2)

Country Link
US (1) US20160147478A1 (ja)
JP (1) JP6380040B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10082963B2 (en) * 2016-04-18 2018-09-25 Super Micro Computer, Inc. Low capacity latency storage enclosure with expander
TWI620074B (zh) * 2016-07-12 2018-04-01 緯創資通股份有限公司 伺服器系統及儲存單元的控制方法
CN107145200B (zh) * 2017-05-17 2020-08-21 苏州浪潮智能科技有限公司 一种高密度存储服务器
TWI720528B (zh) * 2019-07-03 2021-03-01 神雲科技股份有限公司 用於擴充硬碟擴充單元的叢集式儲存系統
CN112578994A (zh) * 2019-09-29 2021-03-30 佛山市顺德区顺达电脑厂有限公司 用于扩充硬盘扩充单元的丛集式储存系统
JP2023015488A (ja) * 2021-07-20 2023-02-01 富士通株式会社 データ中継装置、中継制御方法およびストレージシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3405244B2 (ja) * 1998-12-28 2003-05-12 日本電気株式会社 データ処理負荷分散システム
JP4492084B2 (ja) * 2003-10-07 2010-06-30 株式会社日立製作所 ストレージパス制御方法
US7953917B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Communications protocol expander
JP5062097B2 (ja) * 2008-08-21 2012-10-31 富士通株式会社 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
US7913023B2 (en) * 2008-09-05 2011-03-22 Lsi Corporation Specifying lanes for SAS wide port connections
JP2010205208A (ja) * 2009-03-06 2010-09-16 Nec Corp ホストコンピュータ、マルチパスシステム、パス割当方法およびプログラム
JP5391994B2 (ja) * 2009-10-19 2014-01-15 富士通株式会社 ストレージシステム,制御装置および診断方法
JP5593184B2 (ja) * 2010-09-30 2014-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチパスを使用するシステム及び方法
JP5962215B2 (ja) * 2012-05-28 2016-08-03 富士通株式会社 中継装置、及び情報通信システム

Also Published As

Publication number Publication date
JP2016099816A (ja) 2016-05-30
US20160147478A1 (en) 2016-05-26

Similar Documents

Publication Publication Date Title
JP6380040B2 (ja) ストレージ装置、中継装置、および中継制御プログラム
US9864663B2 (en) Storage controller failover system
WO2017162179A1 (zh) 用于存储系统的负载再均衡方法及装置
JP6237406B2 (ja) 情報処理装置、ストレージシステム、およびプログラム
JP4519179B2 (ja) 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム
JP6464777B2 (ja) 情報処理装置及びプログラム
US11372552B2 (en) Storage device
US8533300B2 (en) Storage device, controller, and address management method
JP2010003061A (ja) 計算機システム及びそのi/o構成変更方法
JP2014026529A (ja) ストレージシステムおよびその制御方法
US20120311224A1 (en) Exposing expanders in a data storage fabric
US20140156815A1 (en) Storage system and method for managing configuration information thereof
TW201433124A (zh) 雲端群組式數據機房動態儲存配置系統及方法
US9348513B2 (en) SAS virtual tape drive
US10788995B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
US20160224273A1 (en) Controller and storage system
US20190220375A1 (en) Storage system and storage method
JPWO2014076842A1 (ja) 情報処理装置、プログラムおよびログ出力方法
TW202020607A (zh) 硬碟模組及伺服系統
JP6398417B2 (ja) ストレージ装置、ストレージシステム及びストレージ制御プログラム
US8904108B2 (en) Methods and structure establishing nested Redundant Array of Independent Disks volumes with an expander
US20150324127A1 (en) Storage control apparatus and storage control method
US20160070478A1 (en) Storage control device and storage control method
JP5917441B2 (ja) 仮想計算機システム、sr−iov対応デバイスの制御方法
JP6012479B2 (ja) 情報処理システム、制御方法および制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180716

R150 Certificate of patent or registration of utility model

Ref document number: 6380040

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees