JP4353208B2 - ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム - Google Patents

ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム Download PDF

Info

Publication number
JP4353208B2
JP4353208B2 JP2006176500A JP2006176500A JP4353208B2 JP 4353208 B2 JP4353208 B2 JP 4353208B2 JP 2006176500 A JP2006176500 A JP 2006176500A JP 2006176500 A JP2006176500 A JP 2006176500A JP 4353208 B2 JP4353208 B2 JP 4353208B2
Authority
JP
Japan
Prior art keywords
load distribution
host
information
connection port
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.)
Expired - Fee Related
Application number
JP2006176500A
Other languages
English (en)
Other versions
JP2008009497A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006176500A priority Critical patent/JP4353208B2/ja
Priority to CN200710152665.4A priority patent/CN101131625A/zh
Priority to US11/819,257 priority patent/US20080127199A1/en
Publication of JP2008009497A publication Critical patent/JP2008009497A/ja
Application granted granted Critical
Publication of JP4353208B2 publication Critical patent/JP4353208B2/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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Description

本発明は、ストレージ装置の負荷分散技術に関し、特にストレージサブシステムとホストコンピュータが協調して負荷分散処理を行う技術に関する。
FC(Fibre Channel )スイッチなどを介して複数のホストコンピュータをディスクアレイサブシステムに接続した場合、ディスクアレイサブシステムの特定のホストポートまたは特定のコントローラに負荷が集中し、応答遅延(ホストポートネックまたはコントローラネック)が発生する。
この応答遅延を回避するために、刻々と変化するI/Oの性能分析を行い、適切な負荷分散を人手で実施するのは困難である。
特許文献1には、ストレージサブシステム内で負荷分散を行うストレージ装置が記載されている。
このストレージシステムでは、ストレージサブシステム内に複数のストレージ処理部があり、各ストレージ処理部で処理負荷を計測する。また、負荷に対する上限/下限の閾値を定義しておく。
任意のストレージ処理部の負荷が上限値を超えた場合、他のストレージ処理部に対して負荷状況を問い合わせ、余裕のあるストレージ処理部に負荷を分散する。任意のストレージ処理部の負荷が下限値を割った場合、他のストレージ処理部に対して負荷状況を問い合わせ、余裕のあるストレージ処理部に自身の負荷を引き渡し、自身は省電力モードに移行する。
このようにして、ストレージ処理部の負荷分散による対ホストへのレスポンスの向上と電力効率の向上を図っている。
特開2003−296153号公報
しかしながら、上記の従来技術では、負荷分散処理は、ストレージサブシステム(ストレージ処理部)のみで実行しており、ホストコンピュータとストレージサブシステムとが協調して負荷分散処理を行うことができなかった。
そこで、本発明は、ホストコンピュータとストレージサブシステムとが協調して負荷分散処理を行うことができるストレージシステム等を提供することを目的とする。
上記目的を達成するため、本発明にかかるストレージサブシステムは、
複数のホストバスアダプタを備えたホストコンピュータか前記ホストバスアダプタを介してI/O命令を受信する複数のホスト接続ポートと、このI/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラとを備えたストレージサブシステムにおいて、前記コントローラは、前記各ホスト接続ポートについて負荷分散が必要であるか否かを決定する機能と、負荷分散が要求されるホストバスアダプタを決定する機能と、決定された負荷分散の必要の有無を示す情報決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,および負荷分散先の前記ホスト接続ポートを特定する情報,を含む負荷分散要求テーブルを生成し且つ当該生成されたテーブルの情報を定期的に更新する機能と、前記ホストコンピュータから要求があったときに前記負荷分散要求テーブルの情報である分散実行内容にかかる情報を前記ホストコンピュータに送信する機能を有する。
また、このストレージサブシステムでは、前記負荷分散要求テーブルの情報を、前記各コントローラの接続ポートアドレス,負荷分散要求数,要求先ホストバスアダプタのポートアドレス,負荷分散先ホスト接続ポートの候補数、およびそのポートアドレスを含む内容とする
そして、更に、前述したコントローラは、前記負荷分散が要求されるホストバスアダプタの内、前記負荷分散要求テーブルにかかる情報を送信してから所定の時間内に応答のないものに関する情報を前記負荷分散要求テーブルから削除する機能を有することを特徴とする(請求項1ないし請求項3)。
上記ストレージサブシステムによれば、コントローラは、負荷分散要求テーブルをホストコンピュータの要求に応じて送信する。負荷分散要求テーブルには、負荷を分散させるホスト接続ポートを特定する情報等が示されているから、ホストコンピュータは、負荷分散要求テーブルに含まれる情報に従って負荷分散処理を実行することができる。すなわち、ストレージサブシステムとホストコンピュータとが協調し自立的な負荷分散機能を実現することができる。
又、ストレージサブシステムにおいて、コントローラは、上記したように、負荷分散が要求されるホストバスアダプタのうち、負荷分散要求テーブルを送信してから所定の時間内に応答のないものに関する情報を負荷分散要求テーブルから削除するようにしたので、負荷分散処理機能を持たないホストコンピュータやストレージサブシステムとの間の接続パスをひとつしか有していないホストコンピュータが接続されていた場合に、そのようなホストコンピュータのホストバスアダプタを負荷分散処理要求テーブルの対象からはずし、負荷分散処理要求テーブルの生成処理に要する時間を短縮することができる。
ここで、上記ストレージサブシステムにおいて、負荷分散要求テーブルは、負荷分散が要求されるホストバスアダプタが通常送信するI/O命令のうち別のホスト接続ポートに送信するI/O命令の割合を指定する情報を含むようにしてもよい(請求項2)。
このようにすれば、ホストコンピュータは、送信するI/O命令の一部だけを通常とは異なるホスト接続ポートに送信することにより、負荷分散処理をより緻密に制御することができる。
又、上記ストレージサブシステムにおいて、負荷分散要求テーブルは、負荷分散先のホスト接続ポート毎に、別のホスト接続ポートに送信するI/O命令のうち各々の負荷分散先のホスト接続ポートに送信するI/O命令の割合を指定する情報を含むようにしてもよい(請求項3)。
このようにすると、ストレージサブシステムからの情報に基づいて、ホストコンピュータ側では、I/O命令を通常とは異なる複数のホスト接続ポートに送信することにより、負荷分散処理をより緻密に制御することができる。
上記目的を達成するため、本発明にかかるストレージシステムは、ストレージサブシステムに対してI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータと、このホストコンピュータからのI/O命令を受信する複数のホスト接続ポートを備えたストレージサブシステムとを有するストレージシステムにおいて、前記ストレージサブシステムは、前記複数のホスト接続ポートを介して入力されるホストコンピュータからのI/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラを備えている。
このストレージサブシステムのコントローラは、前記各ホスト接続ポートについて負荷分散が必要であるか否かを決定する機能と、前記負荷分散が要求される前記ホストバスアダプタを決定する機能と、前記決定された前記負荷分散の必要の有無を示す情報,前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,および負荷分散先の前記ホスト接続ポートを特定する情報,を含む負荷分散要求テーブルを生成し且つ当該生成されたテーブルの情報を定期的に更新する機能と、前記ホストコンピュータから要求があったときに前記負荷分散要求テーブルの情報である分散実行内容にかかる情報を前記ホストコンピュータに送信する機能を有する。
そして、前述した負荷分散要求テーブルにおける情報については、前記各コントローラの接続ポートアドレス,負荷分散要求数,要求先ホストバスアダプタのポートアドレス,負荷分散先ホスト接続ポートの候補数、およびそのポートアドレスを含む内容とする。
前記コントローラは、更に、前記負荷分散が要求されるホストバスアダプタの内、前記負荷分散要求テーブルにかかる情報を送信してから所定の時間内に応答のないものに関する情報を前記負荷分散要求テーブルから削除する機能を有している。
又、前述したホストコンピュータは、前記負荷分散要求テーブルにかかるテーブル情報の送信を要求する機能とを有すると共に、この要求に応じて前記ストレージサブシステムから送信された前記負荷分散要求テーブルの情報に基づいて複数の前記ホストバスアダプタの間で負荷分散を実行する負荷分散実行手段を備えたことを特徴とする(請求項)。
このため、上記ストレージシステムによれば、ストレージサブシステムのコントローラは、負荷分散要求テーブルをホストコンピュータの要求に応じて送信する。負荷分散要求テーブルには、負荷を分散させるホスト接続ポートを特定する情報等が示されているから、ホストコンピュータは、負荷分散要求テーブルに含まれる情報に従って負荷分散処理を実行することができる。すなわち、ストレージサブシステムとホストコンピュータとが協調し自立的な負荷分散機能を実現することができる。
上記目的を達成するため、本発明にかかる負荷分散方法では、ストレージサブシステムに対してI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータと、このホストコンピュータからI/O命令を受信する複数のホスト接続ポート及びこの複数のホスト接続ポートを介して入力されるホストコンピュータからのI/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラを備えたストレージサブシステムとを有するストレージシステムにあって、 前記ストレージサブシステム側では、まず、受信される前記I/O命令に対して負荷分散の必要の有無および前記負荷分散が要求される前記ホストバスアダプタを前記コントローラが決定し、 この決定された前記負荷分散の必要の有無を示す情報前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,及び負荷分散先の前記ホスト接続ポートを特定する情報を含む負荷分散要求テーブルを、前記コントローラが生成し且つこれを定期的に更新する。
次に、前記ホストコンピュータ側では、前記ストレージサブシステムに対して前記負荷分散要求テーブルにかかるテーブル情報の送信を要求し、これに応じて前記ストレージサブシステムが前記負荷分散要求テーブルにかかるテーブル情報を前記ホストコンピュータに送信し、 このテーブル情報を受信した前記ホストコンピュータ側では、前記ストレージサブシステムから受信した前記負荷分散要求にかかるテーブル情報に従って複数の前記ホストバスアダプタの間で負荷分散を実行し、 前記負荷分散要求テーブルにかかる情報を前記ホストコンピュータに送信してから所定の時間内に応答のないものについては、前記コントローラが、その負荷分散が要求されるホストバスアダプタの情報を前記負荷分散要求テーブルから削除するようにしたことを特徴とする(請求項5乃至請求項7)。
このため、上記負荷分散方法によれば、ストレージサブシステムは、負荷分散要求テーブルをホストコンピュータの要求に応じて送信する。負荷分散要求テーブルには、負荷を分散させるホスト接続ポートを特定する情報等が示されているから、ホストコンピュータは、負荷分散要求テーブルに含まれる情報に従って負荷分散処理を実行することができる。すなわち、ストレージサブシステムとホストコンピュータとが協調し自立的な負荷分散機能を実現することができる。
ここで、上記負荷分散方法において、負荷分散要求テーブルは、負荷分散が要求されるホストバスアダプタが通常送信するI/O命令のうち別のホスト接続ポートに送信するI/O命令の割合を指定する情報を含むようにしてもよい(請求項6)。
このようにすれば、ホストコンピュータは、送信するI/O命令の一部だけを通常とは異なるホスト接続ポートに送信することにより、負荷分散処理をより緻密に制御することができる。
更に、上記負荷分散方法において、負荷分散要求テーブルは、負荷分散先のホスト接続ポート毎に、別のホスト接続ポートに送信するI/O命令のうち各々の負荷分散先のホスト接続ポートに送信するI/O命令の割合を指定する情報を含むようにしてもよい(請求項7)。このようにすれば、ホストコンピュータは、I/O命令を通常とは異なる複数のホスト接続ポートに送信することにより、負荷分散処理をより緻密に制御することができる。
上記目的を達成するため、本発明にかかる負荷分散プログラムでは、ホストコンピュータが備えるホストバスアダプタからI/O命令を受信する複数のホスト接続ポートと、前記I/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラとを備えたストレージサブシステムにあって、前記複数のホスト接続ポートに対する負荷分散の必要の有無および前記負荷分散が要求される前記ホストバスアダプタを決定する処理機能、 前記決定された前記負荷分散の必要の有無を示す情報,前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,及び負荷分散先である前記ホスト接続ポートを特定する情報を含む前記負荷分散要求テーブルを生成すると共に当該テーブルの情報を定期的に更新する処理機能、 前記ホストコンピュータから要求があったときに前記負荷分散要求テーブルを前記ホストコンピュータに送信する処理機能、 及び前記負荷分散が要求されるホストバスアダプタの内、前記負荷分散要求テーブルを送信してから所定の時間内に応答のないものに係る情報を前記負荷分散要求テーブルから削除する処理機能を、(旧請求項14)コンピュータに実行させるようにしたことを特徴とする(請求項8乃至請求項10)。
このため、この負荷分散プログラムによれば、ストレージサブシステムを制御して、負荷分散要求テーブルをホストコンピュータの要求に応じて送信する。負荷分散要求テーブルには、負荷を分散させるホスト接続ポートを特定する情報等が示されているから、ホストコンピュータは、負荷分散要求テーブルに含まれる情報に従って負荷分散処理を実行することができる。すなわち、ストレージサブシステムとホストコンピュータとが協調し自立的な負荷分散機能を実現することができる。
更に、前述したように、負荷分散処理機能を有しないホストコンピュータやストレージサブシステムとの間の接続パスを一つしか有しないホストコンピュータが接続されていた場合には、そのようなホストコンピュータのホストバスアダプタを負荷分散処理テーブルの対象から削除するようにしたので、これにより、負荷分散処理テーブルの生成処理に要する時間を短縮することができる。
ここで、上記負荷分散プログラムにおいて、負荷分散要求テーブルは、負荷分散が要求されるホストバスアダプタが送信するI/O命令のうち別のホスト接続ポートに送信するI/O命令の割合を指定する情報を含むようにしてもよい(請求項)。
このようにすれば、ホストコンピュータは、送信するI/O命令の一部だけを通常とは異なるホスト接続ポートに送信することにより、負荷分散処理をより緻密に制御することができる。
上記負荷分散プログラムにおいて、負荷分散要求テーブルは、負荷分散先のホスト接続ポート毎に、別のホスト接続ポートに送信するI/O命令のうち各々の負荷分散先のホスト接続ポートに送信するI/O命令の割合を指定する情報を含むようにしてもよい(請求項10)。
このようにすれば、ホストコンピュータは、I/O命令を通常とは異なる複数のホスト接続ポートに送信することにより、負荷分散処理をより緻密に制御することができる。
本発明によれば、ストレージサブシステムは、負荷分散要求テーブルをホストコンピュータの要求に応じて送信する。負荷分散要求テーブルには、負荷を分散させるホスト接続ポートを特定する情報等が示されているから、ホストコンピュータは、負荷分散要求テーブルに含まれる情報に従って負荷分散処理を実行することができる。すなわち、ストレージサブシステムとホストコンピュータとが協調し自立的な負荷分散機能を実現することができる。
以下、図を参照しながら本発明の一実施形態であるSAN(Storage Area Network)システム50(ストレージシステムの一例)の構成と動作について説明する。
図1は、SANシステム50の全体構成図である。SANシステム50は、複数のホストコンピュータ1a、1b等(以下、特に区別する必要がない場合は「ホストコンピュータ1」という)とディスクアレイサブシステム10(ストレージサブシステムの一例)により構成されている。
ホストコンピュータ1はホストバスアダプタ(Host Bus Adapter 、以下「HBA」という)を備え、ディスクアレイサブシステム10は図1に示すように複数のホスト接続ポートを備え、HBA(ホストバスアダプタ)ホスト接続ポートとはFCスイッチ40,41を介して接続されている。HBAとホスト接続ポートには、図1のカッコ内に示すように、「WWPNa」等のWWPN(World Wide Port Name )が付与されている。
WWPNは、ポートを一意に識別する64ビットのアドレスであり、HBA又はコントローラの製造時にROM(Read Only Memory)に書き込まれている。
ホストコンピュータ1は、アクセスパス30を介して、ディスクアレイサブシステム10にI/O命令を発行し、論理ディスクに対するデータの書き込みと読み出しを行う。
図2は、図1のホストコンピュータ1aとディスクアレイサブシステム10の動作を示す機能ブロック図である。
ホストコンピュータ1aは、ファイルシステム2、上位ドライバ3、パス冗長化ドライバ4、下位ドライバ5、2個のHBA6および7を備えている。
ディスクアレイサブシステム10は、2個のコントローラ11および12と論理ディスク13,14等を備えている。
(ホストコンピュータ1aの構成)
アプリケーション8は、ホストコンピュータ1のCPU(Central Processing Unit) 上で実行される任意のアプリケーションプログラムであり、CPUを介して論理ディスク13等に対するファイルの書き込みと読み出しをファイルシステム2に要求する。
ファイルシステム2は、論理ドライブ上のファイルのファイル名と論理ドライブ上の格納位置との対応付けを保持する。
上位ドライバ3は、ファイルシステム2を介してアプリケーション8から渡されたI/Oをパス冗長化ドライバ4に渡す。
HBA(ホストバスアダプタ)6および7は、それぞれホストインタフェースケーブル20および21を介してディスクアレイサブシステム10のコントローラ11および12にあるホスト接続ポート16および18に接続され、ホストコンピュータ1は、ディスクアレイサブシステム10が制御する論理ディスク13、14および15に対するI/Oを実行する。
下位ドライバ5は、HBA6および7を制御しI/O処理を行う。
パス冗長化ドライバ4は、上位ドライバ3から受け取ったI/Oを下位ドライバ5に引き渡し、また、HBA6または7を介してディスクアレイサブシステム10が制御する論理ディスク13、14または15に対するI/Oの実行結果を下位ドライバ5から受け取り、正常終了または異常終了の判断を行い、異常終了の原因がパスの構成要素(HBA6、7、ホストインタフェースケーブル20、21、コントローラ11、12等)における障害(故障)と判断した場合は、代替パスを用いて、異常終了したI/Oのリトライ処理を行うドライバである。
本発明においては、パス冗長化ドライバ4は、ディスクアレイサブシステム10から負荷分散要求テーブル24の負荷分散情報を取得し、このテーブルに含まれる情報(負荷分散情報)に従って負荷分散を行う。
具体的には、パス冗長化ドライバ4は、一方のI/Oパス(例えば、コントローラ11)のみにI/Oが集中することのないよう、複数のI/Oパスを有効に活用し、I/Oの負荷分散(コントローラ11または12のホスト接続ポート16、17、18、19にI/Oを振り分け)を行う機能を有する。
すなわち、パス冗長化ドライバ4とこれを実行するCPUは、負荷分散実行手段の一例である。
ホストコンピュータ1による各I/Oの実行結果については、HBA6、下位ドライバ5、パス冗長化ドライバ4、上位ドライバ3、ファイルシステム2およびアプリケーション8の各レイヤによって判断が行われ、必要に応じて何らかの処置が行われる。
ホストコンピュータ1b等ホストコンピュータ1aと同様の構成を備えている。ただし、これらのホストコンピュータには、パス冗長化ドライバ4を備えていないものが含まれていてもよい。
(ディスクアレイサブシステム10の構成)
コントローラ11および12は、それぞれ内部バス22および23を介して各論理ディスク13、14および15に接続されており、いずれのコントローラからも各論理ディスクに対してアクセスすることができる。
コントローラ11および12は、負荷分散要求テーブル24を生成し、その情報(テーブル情報)をRAM等の記憶装置に格納し、これを定期的に更新する。また、ホストコンピュータ1の要求に応じて負荷分散要求テーブル24のテーブル情報をホストコンピュータに送信する。
負荷分散要求テーブル24の詳細内容については後述する。
ホストコンピュータ1上で動作するアプリケーション8よりディスクアレイサブシステム10に書き込まれるデータ(ライトデータ転送I/O)は、アプリケーション8、ファイルシステム2、上位ドライバ3、パス冗長化ドライバ4、下位ドライバ5、HBA6、ホストインタフェースケーブル20、ホスト接続ポート16を介してコントローラ11に至り、指定された論理ディスク13、14または15に書き込まれる。
ホストコンピュータ1上で動作するアプリケーション8によってディスクアレイサブシステム10から読み出されるデータ(リードデータ転送I/O)は、指定された論理ディスク13、14または15より、コントローラ11、ホスト接続ポート16、ホストインタフェースケーブル20を介してHBA(ホストバスアダプタ)6に至り、下位ドライバ5、パス冗長化ドライバ4、上位ドライバ3、ファイルシステム2を経てアプリケーション8に至る。
ディスクアレイサブシステム10側の論理ディスク13等は、前述したアプリケーションプログラム8が稼動するCPUからみると、1個の独立した記憶装置として認識される記憶領域である。ここで、論理ディスク13は、1台の物理的な記憶装置(例えば、ハードディスク装置)の記憶領域の一部または全部で構成してもよいし、複数の物理的な記憶装置により構成してもよい。
次に、ストレージシステムの一例である上記SANシステム50の動作について説明する。
まず、ディスクアレイサブシステム10側の動作について説明する。
図3、図4(a)、図4(b)は、ディスクアレイサブシステム10のコントローラ11および12により実施され、ホストコンピュータ1より受け取ったI/Oコマンドの処理過程の一部を示したフローチャートである。
ホストコンピュータ1より受け取ったコマンドは、まず正しく実行することができるかどうか判断され(図3のS101)、正しく実行することができないコマンドであれば、異常終了処理(S120)へ移行する。
正しく実行可能なコマンドであれば、当該コマンドを発行したHBA(ホストバスアダプタ)のWWPN取得コマンドであるかを判断する(S102)。
HBAのWWPN取得コマンドであれば、HBAのWWPN取得コマンドデコード処理(S121)へ移行し、そうでなければ、S103へ進む。
S102でHBAのWWPN取得コマンドデコード処理(S121)へ移行した場合は、当該コマンドを発行したHBAのWWPNを編集し(図4(a)のS201)、正常終了処理(S202)へ移行する。
WWPNの編集は、例えば、次のような手順で行う。
(1)システム上で、"HBAのWWPN取得コマンド" を予め定義しておく。
(2)パス冗長化ドライバ4が、自身が制御すべきHBA( I/O発行元( I/Oパス))のWWPNを認識( 取得) するために、全てのHBA経由で" HBAのWWPN取得コマンド" を1回ずつ発行する。
(3)ディスクアレイサブシステム10は、" HBAのWWPN取得コマンド" を受け取ると、発行元のHBAのWWPNを( 返却データとして) 編集し、該コマンドの実行結果としてパス冗長化ドライバ4に返却する。
(4)パス冗長化ドライバ4は返却されたデータを取得することで、HBAのWWPNを認識( 取得) することができるようになる。
HBA(ホストバスアダプタ)のWWPN取得コマンドでなければ、負荷分散要求テーブル取得コマンドであるかを判断し(S102の判定がノー、S103)、負荷分散要求テーブル取得コマンドであれば負荷分散要求テーブル取得コマンドデコード処理(S122)へ移行し、そうでなければ、S104へ進む。
S103で負荷分散要求テーブル取得コマンドデコード処理(S122)へ移行した場合は、負荷分散要求テーブル24を編集して取得要求元のホストコンピュータ1に送信し(図4(b)のS301)、正常終了処理(S302)へ移行する。
ここで編集される負荷分散要求テーブル24は、図6に示すように、ディスクアレイサブシステム10の各コントローラ11および12に存在するホスト接続ポートのWWPN、負荷分散要求数、要求先HBA(ホストバスアダプタ)のWWPN、負荷分散先ホスト接続ポートの候補数、および負荷分散先ホスト接続ポート候補のWWPNの情報を有する
負荷分散要求数は、当該ホスト接続ポート宛のI/Oについて負荷分散を要求するHBAの数である。当該ホスト接続ポート宛のI/Oの負荷分散が必要でない場合にはその値を「0」とする。「要求先HBAのWWPN」の欄は、負荷分散要求数に応じた数とする。例えば、「負荷分散要求数」が「2」の場合、「要求先HBAのWWPN」欄は2つとし、その値は、例えば「WWPNa」「WWPNb」とする。
負荷分散の要求先のHBA(ホストバスアダプタ)は、例えば次のような基準で選択する。
(1)負荷が集中しているホスト接続ポート宛のI/Oを最も多く送信しているものを選択する。
(2)ホスト接続ポート宛に発行されたI/Oにて指定される実データ格納場所を判断し、現在のホスト接続ポートでI/Oを処理するよりも、最適なホスト接続ポートが存在する場合に最適なホスト接続ポートへI/Oが発行される様、要求先のHBAを選択し、誘導する。
要求先HBAのWWPNは、負荷分散の実行を要求するHBA(ホストバスアダプタ)のWWPNであり、ホストコンピュータ1のパス冗長化ドライバ4は、この欄を参照して自己の管理下のHBAのWWPNがある場合に、負荷分散先ホスト接続ポートのWWPNの欄にWWPNが書き込まれているホスト接続ポートのひとつ以上に、通常は負荷分散要求数が1以上になっているホスト接続ポートに送信するI/Oを分散させる。
図1のホスト接続ポート16(WWPN0)に負荷が集中している状況を考えると、ディスクアレイサブシステム10のコントローラ11および12が過去一定期間のI/O統計情報を採取/分析し、HBA6(WWPNa )のI/Oを他のホスト接続ポート18、19、17(WWPN2、WWPN3、WWPN1)の何れかに振り向けることで、ホスト接続ポート16の応答遅延が回避できると判断した場合は、ホスト接続ポート16の該当欄(図6の1行目)に、負荷分散要求数として「1」、要求先HBA(ホストバスアダプタ)のWWPNとして「WWPNa 」、負荷分散先ホスト接続ポートの候補数として「3」、および負荷分散先ホスト接続ポート候補のWWPNとして、「WWPN2」、「WWPN3」、「WWPN1」を編集する。
尚、ディスクアレイサブシステム10は、各ホストコンピュータにパス冗長化ドライバ4が存在することを期待して負荷分散要求テーブルの要求先HBAのWWPNには、ディスクアレイサブシステム10に接続されるすべてのHBA(ホストバスアダプタ)を要求先候補として扱う。ただし、負荷分散要求テーブルを送信してから一定の時間内に負荷分散要求に応じてくれない要求先HBAに対しては、負荷分散要求テーブル24よりクリアする。
図3に戻り、受信したコマンドがHBA(ホストバスアダプタ)のWWPN取得コマンドでも負荷分散要求テーブル取得コマンドでもない場合は、既存のコマンドデコード処理(既存の処理)を実施する(S102とS103の判定がいずれもノー、S104)。
次に、パス冗長化ドライバ4側の動作について説明する。
図5は、図1のパス冗長化ドライバ4により実施される処理過程の一部を示したフローチャートであり、具体的には、パス死活監視処理に関わる。パス死活監視とは、パス冗長化ドライバ4が管理する複数のI/Oパスに対して一定間隔にI/Oを生成、発行し、障害が発生していないかを確認するための導通テストである。この死活監視に使用するI/Oは、アプリケーション8から発行されるI/Oとは非同期に、パス冗長化ドライバ4が一定時間毎に生成し、発行する。尚、このパス死活監視処理は導通を確認することが目的であることから、パス死活監視に使用するI/Oには、例えば、INQUIRYコマンドなどが用いられていた。
ここで、パス冗長化ドライバ4は、自身の初期化段階で、自身が管理するHBAのWWPNおよび自身が管理するI/Oパス、つまりディスクアレイサブシステム10のホスト接続ポート16等のWWPNを取得しているものとして説明する。
パス冗長化ドライバ4が管理しているI/Oパスより一つを選択し、負荷分散要求テーブル取得コマンドのI/Oリクエストを生成し(S401)、下位ドライバ5へI/Oリクエストを発行する(S402)。
S403では、S402の実行結果を確認する。ここで異常終了であれば、I/Oパス障害が発生していることがわかることから、異常終了処理(S410)へ移行する。
正常終了であれば、負荷分散要求テーブルが取得できている(S404)ことから、負荷分散要求テーブル内に自身が管理するHBA(ホストバスアダプタ)のWWPNがあるかを判断して(S405)、自身が管理するHBAのWWPNがなければ、パス死活監視処理を終了する(S411)。
自身が管理するHBAのWWPNがあれば、負荷分散先ホスト接続ポート候補が自身が管理するI/Oパスであるかを判断し(S406)、自身が管理するI/Oパスでなければ、パス死活監視処理を終了する(S412)。
S407では、負荷分散要求テーブルの負荷分散先ホスト接続ポート候補より、自身が管理するI/Oパスの何れか一つまたは複数を選択し、負荷分散を行う。
例えば、受信した負荷分散要求テーブルが図6に示すものであった場合、パス冗長化ドライバ4は、「要求先HBAのWWPN」としてHBA6に対応する「WWPNa」が含まれているので、「負荷分散先ホスト接続ポートのWWPN」の中からホスト接続ポート18に対応する「WWPN2」を選択し、通常は図1のI/Oパス31を使って送信するI/Oを、I/Oパス33に負荷分散する。
以上により、特定ホスト接続ポートへの負荷集中を、他のホスト接続ポートに負荷分散する手段を提供する。
次に、上記実施形態におけるSANシステム50の効果について説明する。
第一の効果は、パス冗長化ドライバ4とディスクアレイサブシステム10との間で連携、協調動作を行われ、これにより、システム全体で自律的な負荷分散機能を提供することができる。
第二の効果は、パス死活監視(パスの導通確認)のための余分なI/O負荷が発生しないことである。
その理由は、従来のパス冗長化ドライバはパス死活監視のために定期的にコマンド(例えば、”INQUIRYコマンド”や ”TEST UNIT_READYコマンド”など)を発行し、コマンドが正常終了すれば、パスに障害が発生していないと判断していた。この死活監視に使用していたコマンドの代わりに負荷分散要求テーブル取得コマンドを使用するため、負荷分散要求テーブルの取得、および負荷分散要求テーブルが取得できたこと、すなわちコマンドの正常終了をもってパス死活監視も兼ねており、本発明による余計なI/O負荷の発生はない。
第三の効果は、パス冗長化ドライバ4とディスクアレイサブシステム間の連携ならびにこれらの管理及び制御は、パス冗長化ドライバ4内に隠蔽して処理するため、上位ドライバ3や下位ドライバ5及びミドルウェアやアプリケーション8に改造の必要がないことである。
図1および図2に示した、SANシステム50は、本発明の実施形態の一例であり、本発明は、以下に説明するような形態でも実施することができる。
図7に示すように、負荷分散要求テーブル24に負荷分散要求の割合(%)を設けてもよい。負荷分散要求先WWPNaからホスト接続ポートWWPN0へ発行されるI/Oについて、負荷分散先ホスト接続ポート候補のWWPN2、3、1で示される一つまたは複数のホスト接続ポートに対して、負荷分散要求の割合(%)で指定された割合で負荷分散を行うことを示している。図7の場合、図5のS407では、パス冗長化ドライバ4は、通常はホスト接続ポート16に送信するI/Oの40%をホスト接続ポート18に負荷分散する。
このようにすると、負荷の集中しいているホスト接続ポートのI/O負荷の分散を緻密に制御することができる。
図8に示すように、負荷分散要求テーブル24に、さらに負荷分散先のホスト接続ポート18(WWPN2),19(WWPN3),17(WWPN1)に対する負荷分散の割合(%)を設けてもよい。ホストコンピュータ1aがこれらのホスト接続ポートのすべてと接続されているとすると、図5のステップS407では、パス冗長化ドライバ4は、通常はホスト接続ポート16に送信するI/Oのうち40%を負荷分散するが、分散するI/Oのうちの50%はホスト接続ポート18へ、30%はホスト接続ポート19へ、20%はホスト接続ポート17へ送信する。
このようにすれば、負荷の集中しいているホスト接続ポートのI/O負荷の分散、さらに負荷分散先ホスト接続ポートへの負荷分散の割合についても緻密に制御することが可能になる。
図2では、HBA6および7の2つのHBA(ホストバスアダプタ)を搭載するホストコンピュータを構成例としてあげたが、HBAの枚数は、ホストコンピュータで動作するOSの種類、ドライバ5、またはホストコンピュータ1のハードウェア等の仕様によって制限されるものであり、パス冗長化ドライバ4としてはHBAの枚数に制限はない。
図2では、コントローラ11および12の2つのコントローラを搭載するディスクアレイサブシステム10を構成例としてあげたが、コントローラ数に制限はない。
図2では、コントローラ11および12のコントローラにホスト接続ポートを2つずつ搭載するディスクアレイサブシステム10を構成例としてあげたが、コントローラに搭載するホスト接続ポート数に制限はない。
図1では、HBA6、7とコントローラ11、12をFCスイッチ40、41を介して接続したものを構成例としてあげたが、ハブを介して接続するようにしてもよいし、スイッチまたはハブを介さずにホストインタフェースケーブルで直接接続するようにしてもよい。
図2では、論理ディスク13等はディスクアレイサブシステム10内に構成されるものを例としてあげたが、ディスクアレイサブシステム10に接続されたJBOD(Just Bunch of Disks)等の外部のディスクで構成されても良い。
図1、2のホストコンピュータ1に接続されるディスクアレイサブシステム10の数に制限はない。
図1のディスクアレイサブシステム内に構成される論理ディスクの数に制限はない。
図1のディスクアレイサブシステム内の内部バスの数に制限はない。
本実施形態では、ストレージサブシステムとして、ディスクアレイサブシステム10を例にしたが、他の種類の装置を用いてもよい。
本実施形態では、HBA(ホイストバスアダプタ)およびホスト接続ポートの識別情報としてポートを一意的に識別する64ビットのアドレスであるWWPNを使用したが、WWPNに限定されるわけではなく、HBAおよびホスト接続ポートを一意に識別できる情報であればでも良い。
本発明の一実施形態であるストレージシステムの一例であるSANシステムの全体構成を示すブロック図である。 図1内に開示したホストコンピュータとディスクアレイサブシステムとを示す機能ブロック図である。 図1内に開示したディスクアレイサブシステムの受信コマンド処理動作を示すフローチャートである。 図1内に開示したディスクアレイサブシステムのコマンド処理動作を示す図で、図4(a)はディスクアレイサブシステムのWWPN取得コマンドの処理動作を示すフローチャート、図4(b)はディスクアレイサブシステムの負荷分散要求テーブル取得コマンドの処理動作を示すフローチャートである。 図1内に開示したホストコンピュータのパス死活監視動作を示すフローチャートである。 図2内に開示したディスクアレイサブシステムが備えている負荷分散要求テーブルの一例を示す図である。 図2内に開示したディスクアレイサブシステムが備えている他の負荷分散要求テーブルの一例を示す図である。 図2内に開示したディスクアレイサブシステムが備えている更に他の負荷分散要求テーブルの一例を示す図である。
1 ホストコンピュータ
2 ファイルシステム
3 上位ドライバ
4 パス冗長化ドライバ(負荷分散実行手段)
5 下位ドライバ
6、7 HBA(ホストバスアダプタ)
10 ディスクアレイサブシステム
11、12 コントローラ
13、14、15 論理ディスク
16〜19 ホスト接続ポート
24 負荷分散要求テーブル
50 SANシステム

Claims (10)

  1. 複数のホストバスアダプタを備えたホストコンピュータか前記ホストバスアダプタを介してI/O命令を受信する複数のホスト接続ポートと、このI/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラとを備えたストレージサブシステムにおいて、
    前記コントローラは、
    前記各ホスト接続ポートについて負荷分散が必要であるか否かを決定する機能と、前記負荷分散が要求される前記ホストバスアダプタを決定する機能と、
    前記決定された前記負荷分散の必要の有無を示す情報前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,および負荷分散先の前記ホスト接続ポートを特定する情報を含む負荷分散要求テーブルを生成し且つ当該生成されたテーブルの情報を定期的に更新する機能と、
    前記ホストコンピュータから要求があったときに前記負荷分散要求テーブルの情報である分散実行内容にかかる情報を前記ホストコンピュータに送信する機能とを有し、
    前記負荷分散要求テーブルの情報を、前記各コントローラの接続ポートアドレス,負荷分散要求数,要求先ホストバスアダプタのポートアドレス,負荷分散先ホスト接続ポートの候補数,およびそのポートアドレスを含む内容とし、
    前記コントローラが、前記負荷分散が要求されるホストバスアダプタの内、前記負荷分散要求テーブルにかかる情報を送信してから所定の時間内に応答のないものに関する情報を前記負荷分散要求テーブルから削除する機能を備えていることを特徴としたストレージサブシステム。
  2. 前記負荷分散要求テーブルは、前記負荷分散が要求されるホストバスアダプタが通常送信する前記I/O命令のうち別のホスト接続ポートに送信する前記I/O命令の割合を指定する情報を含むことを特徴とした請求項1に記載のストレージサブシステム。
  3. 前記負荷分散要求テーブルは、前記負荷分散先のホスト接続ポート毎に、前記別のホスト接続ポートに送信する前記I/O命令のうち各々の前記負荷分散先のホスト接続ポートに送信する前記I/O命令の割合を指定する情報を含むことを特徴とした請求項2に記載のストレージサブシステム。
  4. ストレージサブシステムに対してI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータと、このホストコンピュータからI/O命令を受信する複数のホスト接続ポートを備えたストレージサブシステムとを有するストレージシステムにおいて、
    前記ストレージサブシステムは、
    前記複数のホスト接続ポートを介して入力されるホストコンピュータからI/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラを備えると共に
    このストレージサブシステムの前記コントローラは、
    前記各ホスト接続ポートについて負荷分散が必要であるか否かを決定する機能と、前記負荷分散が要求される前記ホストバスアダプタを決定する機能と、前記決定された前記負荷分散の必要の有無を示す情報前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,および負荷分散先の前記ホスト接続ポートを特定する情報を含む負荷分散要求テーブルを生成し且つ当該生成されたテーブルの情報を定期的に更新する機能とを有する共に、前記ホストコンピュータから要求があったときに前記負荷分散要求テーブルの情報を前記ホストコンピュータに送信する機能を有し、
    前記負荷分散要求テーブルにおける情報を、前記各コントローラの接続ポートアドレス,負荷分散要求数,要求先ホストバスアダプタのポートアドレス,負荷分散先ホスト接続ポートの候補数,およびそのポートアドレスを含む内容とし、
    前記コントローラは、更に、前記負荷分散が要求されるホストバスアダプタの内、前記負荷分散要求テーブルにかかる情報を送信してから所定の時間内に応答のないものに関する情報を前記負荷分散要求テーブルから削除する機能を有し、
    前記ホストコンピュータは、
    前記負荷分散要求テーブルにかかるテーブル情報の送信を要求する機能を有すると共に、この要求に応じて前記ストレージサブシステムから送信された前記負荷分散要求テーブルの情報に基づいて複数の前記ホストバスアダプタの間で前記複数のホスト接続ポートに対する負荷分散を実行する負荷分散実行手段を備えたことを特徴とするストレージシステム。
  5. ストレージサブシステムに対してI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータと、このホストコンピュータからI/O命令を受信する複数のホスト接続ポート及びこの複数のホスト接続ポートを介して入力される前記I/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラを備えたストレージサブシステムとを有するストレージシステムにあって、
    前記ストレージサブシステム側では、まず、受信される前記I/O命令に対して負荷分散の必要の有無および前記負荷分散が要求される前記ホストバスアダプタを前記コントローラが決定し、
    この決定された前記負荷分散の必要の有無を示す情報前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報及び負荷分散先の前記ホスト接続ポートを特定する情報を含む負荷分散要求テーブルを、前記コントローラが生成し且つこれを定期的に更新し、
    次に、前記ホストコンピュータでは、前記ストレージサブシステムに対して前記負荷分散要求テーブルにかかるテーブル情報の送信を要求し、これに応じて前記ストレージサブシステムが前記負荷分散要求テーブルにかかるテーブル情報を前記ホストコンピュータに送信し、
    このテーブル情報を受信した前記ホストコンピュータ側では、前記ストレージサブシステムから受信した前記負荷分散要求にかかるテーブル情報に従って複数の前記ホストバスアダプタの間で負荷分散を実行し、
    前記負荷分散要求テーブルにかかる情報を前記ホストコンピュータに送信してから所定の時間内に応答のないものについては、前記コントローラは、その負荷分散が要求されるホストバスアダプタの情報を前記負荷分散要求テーブルから削除するようにしたことを特徴とする負荷分散方法。
  6. 前記負荷分散要求テーブルは、前記負荷分散が要求されるホストバスアダプタが通常送信する前記I/O命令のうち別のホスト接続ポートに送信する前記I/O命令の割合を指定する情報をんだものであることを特徴とした請求項に記載の負荷分散方法。
  7. 前記負荷分散要求テーブルは、前記負荷分散先のホスト接続ポート毎に、前記別のホスト接続ポートに送信する前記I/O命令のうち各々の前記負荷分散先のホスト接続ポートに送信する前記I/O命令の割合を指定する情報をんだものであることを特徴とした請求項に記載の負荷分散方法。
  8. 複数のホストバスアダプタを備えたホストコンピュータか前記ホストバスアダプタを介してI/O命令を受信する複数のホスト接続ポートと、前記I/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラを備えたストレージサブシステムにあって
    前記複数のホスト接続ポートに対する負荷分散の必要の有無および前記負荷分散が要求される前記ホストバスアダプタを決定する処理機能
    前記決定された前記負荷分散の必要の有無を示す情報前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,及び負荷分散先である前記ホスト接続ポートを特定する情報を含む前記負荷分散要求テーブルを生成すると共に当該テーブルの情報を定期的に更新する処理機能
    前記ホストコンピュータから要求があったときに前記負荷分散要求テーブルを前記ホストコンピュータに送信する処理能、
    および前記負荷分散が要求されるホストバスアダプタの内、前記負荷分散要求テーブルを送信してから所定の時間内に応答のないものに係る情報を前記負荷分散要求テーブルから削除する処理機能
    をコンピュータに実行させるようにしたことを特徴とする負荷分散プログラム。
  9. 前記負荷分散要求テーブルは、前記負荷分散が要求される前記ホストバスアダプタが通常送信する前記I/O命令のうち別のホスト接続ポートに送信する前記I/O命令の割合を指定する情報をんだものであることを特徴とした請求項に記載の負荷分散プログラム。
  10. 前記負荷分散要求テーブルは、前記負荷分散先のホスト接続ポート毎に、前記別のホスト接続ポートに送信する前記I/O命令のうち各々の前記負荷分散先のホスト接続ポートに送信する前記I/O命令の割合を指定する情報をんだものであることを特徴とした請求項9に記載の負荷分散プログラム。
JP2006176500A 2006-06-27 2006-06-27 ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム Expired - Fee Related JP4353208B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006176500A JP4353208B2 (ja) 2006-06-27 2006-06-27 ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム
CN200710152665.4A CN101131625A (zh) 2006-06-27 2007-06-22 存储子系统、主计算机、存储系统、负载均衡方法和程序
US11/819,257 US20080127199A1 (en) 2006-06-27 2007-06-26 Storage sub-system, host computer, storage system, load balancing method and load balancing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006176500A JP4353208B2 (ja) 2006-06-27 2006-06-27 ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009129546A Division JP4780221B2 (ja) 2009-05-28 2009-05-28 ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム

Publications (2)

Publication Number Publication Date
JP2008009497A JP2008009497A (ja) 2008-01-17
JP4353208B2 true JP4353208B2 (ja) 2009-10-28

Family

ID=39067689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006176500A Expired - Fee Related JP4353208B2 (ja) 2006-06-27 2006-06-27 ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム

Country Status (3)

Country Link
US (1) US20080127199A1 (ja)
JP (1) JP4353208B2 (ja)
CN (1) CN101131625A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819344B1 (en) * 2007-08-09 2014-08-26 Emc Corporation Shared storage access load balancing for a large number of hosts
JP4568770B2 (ja) * 2008-04-22 2010-10-27 株式会社日立製作所 計算機システムの電力制御方法、計算機システム、及び、管理計算機
JP4722973B2 (ja) * 2008-08-12 2011-07-13 株式会社日立製作所 リクエスト処理方法及び計算機システム
JP5024561B2 (ja) * 2008-12-18 2012-09-12 日本電気株式会社 情報処理装置及び入出力パスの切替方法
US8458324B2 (en) 2009-08-25 2013-06-04 International Business Machines Corporation Dynamically balancing resources in a server farm
JP5760632B2 (ja) * 2011-04-19 2015-08-12 富士通株式会社 ストレージ装置、制御装置及び制御方法
JP5903774B2 (ja) * 2011-04-19 2016-04-13 富士通株式会社 ストレージ装置、制御装置及び制御方法
US9361255B2 (en) 2011-06-06 2016-06-07 Hitachi, Ltd. Method for controlling I/O switch, method for controlling virtual computer, and computer system
FI20115992A0 (fi) * 2011-10-10 2011-10-10 Waertsilae Finland Oy Kuormanjakojärjestely
US8825915B2 (en) * 2012-03-12 2014-09-02 International Business Machines Corporation Input/output port rotation in a storage area network device
US9417942B1 (en) * 2012-03-29 2016-08-16 Emc Corporation Event-based in-band host registration
CN103714022A (zh) * 2014-01-13 2014-04-09 浪潮(北京)电子信息产业有限公司 一种基于数据块的混合存储系统
US9521085B1 (en) 2014-06-24 2016-12-13 Emc Corporation Policy-based bandwidth allocation
US9710194B1 (en) * 2014-06-24 2017-07-18 EMC IP Holding Company LLC Port provisioning based on initiator usage
US10897506B2 (en) 2014-07-02 2021-01-19 Hewlett Packard Enterprise Development Lp Managing port connections
US10725684B2 (en) * 2014-09-30 2020-07-28 EMC IP Holding Company LLC Method and apparatus for cost-based load balancing for port selection
US9870451B1 (en) * 2014-11-25 2018-01-16 Emmi Solutions, Llc Dynamic management, assembly, and presentation of web-based content
TWI580217B (zh) * 2015-02-05 2017-04-21 物聯智慧科技(深圳)有限公司 管理伺服器及其操作方法與伺服器系統
US9678793B2 (en) * 2015-02-26 2017-06-13 International Business Machines Corporation Resource-based job scheduling
CN106559499B (zh) * 2016-12-07 2020-02-07 苏州浪潮智能科技有限公司 一种存储系统及其计算资源的分配方法和系统
US10554520B2 (en) * 2017-04-03 2020-02-04 Datrium, Inc. Data path monitoring in a distributed storage network
CN107835103A (zh) * 2017-10-20 2018-03-23 郑州云海信息技术有限公司 一种fc交换机虚拟化测试系统及测试方法
US11252015B2 (en) * 2019-01-29 2022-02-15 EMC IP Holding Company LLC Determining cause of excessive I/O processing times
US10733131B1 (en) 2019-02-01 2020-08-04 Hewlett Packard Enterprise Development Lp Target port set selection for a connection path based on comparison of respective loads

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885683A (en) * 1985-09-27 1989-12-05 Unisys Corporation Self-testing peripheral-controller system
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
JP2004192305A (ja) * 2002-12-11 2004-07-08 Hitachi Ltd iSCSIストレージ管理方法及び管理システム
JP2005217815A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd パス制御方法
JP4441362B2 (ja) * 2004-09-10 2010-03-31 株式会社日立製作所 ポート割当装置及びポート割当方法
US7729285B2 (en) * 2005-03-22 2010-06-01 Itt Manufacturing Enterprises, Inc. Energy-efficient network protocol and node device for sensor networks

Also Published As

Publication number Publication date
US20080127199A1 (en) 2008-05-29
JP2008009497A (ja) 2008-01-17
CN101131625A (zh) 2008-02-27

Similar Documents

Publication Publication Date Title
JP4353208B2 (ja) ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム
US7587627B2 (en) System and method for disaster recovery of data
US7263593B2 (en) Virtualization controller and data transfer control method
US7711908B2 (en) Virtual storage system for virtualizing a plurality of storage systems logically into a single storage resource provided to a host computer
JP4842593B2 (ja) ストレージ仮想化装置のデバイス制御引継ぎ方法
US7779170B2 (en) Storage area network system
US7519769B1 (en) Scalable storage network virtualization
JP2005326935A (ja) 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
US10747437B2 (en) SAS hard disk drive update via management controller
JP2005202495A (ja) データ移行方法
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
JP2008269469A (ja) ストレージシステム及びその管理方法
JP5216376B2 (ja) リモートコピーシステム及び確認方法
JP2007310448A (ja) 計算機システム、管理計算機、および、ストレージシステム管理方法
JP4509089B2 (ja) 仮想化制御装置及びデータ移行制御方法
JP2010108114A (ja) ストレージシステムの性能向上又は管理方法、システム、装置及びプログラム
JP2005149283A (ja) 情報処理システム、情報処理システムの制御方法及びプログラム
US20100235549A1 (en) Computer and input/output control method
JP2005316762A (ja) ディスク記憶装置及びraid構築方法
US9317467B2 (en) Session key associated with communication path
JP4780221B2 (ja) ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム
CN114500577A (zh) 数据访问系统及数据访问方法
JP2007128551A (ja) ストレージエリアネットワークシステム
JP4708669B2 (ja) パス冗長化装置及び方法
US20130054914A1 (en) Data copy processing system, storage device, and data copy processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090528

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090612

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090720

R150 Certificate of patent or registration of utility model

Ref document number: 4353208

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees