JP4780221B2 - ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム - Google Patents
ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム Download PDFInfo
- Publication number
- JP4780221B2 JP4780221B2 JP2009129546A JP2009129546A JP4780221B2 JP 4780221 B2 JP4780221 B2 JP 4780221B2 JP 2009129546 A JP2009129546 A JP 2009129546A JP 2009129546 A JP2009129546 A JP 2009129546A JP 4780221 B2 JP4780221 B2 JP 4780221B2
- Authority
- JP
- Japan
- Prior art keywords
- load distribution
- host
- storage subsystem
- information
- host computer
- 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
Links
Images
Description
この応答遅延を回避するために、刻々と変化するI/Oの性能分析を行い、適切な負荷分散を人手で実施するのは困難である。
このストレージシステムでは、ストレージサブシステム内に複数のストレージ処理部があり、各ストレージ処理部で処理負荷を計測する。また、負荷に対する上限/下限の閾値を定義しておく。
任意のストレージ処理部の負荷が上限値を超えた場合、他のストレージ処理部に対して負荷状況を問い合わせ、余裕のあるストレージ処理部に負荷を分散する。任意のストレージ処理部の負荷が下限値を割った場合、他のストレージ処理部に対して負荷状況を問い合わせ、余裕のあるストレージ処理部に自身の負荷を引き渡し、自身は省電力モードに移行する。
このようにして、ストレージ処理部の負荷分散による対ホストコンピュータへのレスポンスの向上と電力効率の向上を図っている。
更に、負荷分散要求テーブルが取得できたか否かによりホストコンピュータとストレージサブシステムとの間のI/Oパスが正常に機能しているか否かを知ることができることから、負荷分散要求テーブルの取得処理を、従来から行われているパス死活監視処理の代わりとすることができ、そのため、ホストコンピュータとストレージサブシステムとの協調のために余分なI/O負荷を生じさせることがないという効果を奏する。
図1は、SANシステム50の全体構成図である。SANシステム50は、複数のホストコンピュータ1a、1b等(以下、特に区別する必要がない場合は、「ホストコンピュータ1」という)とディスクアレイサブシステム10(ストレージサブシステムの一例)により構成されている。
ホストコンピュータ1は、ホストバスアダプタ(Host Bus Adapter :以下「HBアダプタ」という)を、ディスクアレイサブシステム10は、ホスト接続ポートを備え、HBアダプタとホスト接続ポートは、FCスイッチ40、41を介して接続されている。HBアダプタとホスト接続ポートには、図1のカッコ内に示すように、「WWPNa」等のWWPN(World Wide Port Name:アドレス)が付与されている。WWPNは、ポートを一意に識別する64ビットのアドレスであり、HBアダプタまたはコントローラの製造時にROM(Read Only Memory)に書き込まれている。
ホストコンピュータ1は、アクセスパス30を介してディスクアレイサブシステム10にI/O命令を発行し、論理ディスクに対するデータの書き込みと読み出しを行う。
ホストコンピュータ1aは、ファイルシステム2、上位ドライバ3、パス冗長化ドライバ4、下位ドライバ5、2個のHBアダプタ6および7を備えている。
ディスクアレイサブシステム10は、2個のコントローラ11および12と論理ディスク13、14等を備えている。
アプリケーション8は、ホストコンピュータ1のCPU(Central Processing Unit) 上で実行する任意のアプリケーションプログラムであり、論理ディスク13等に対するファイルの書き込みと読み出しをファイルシステム2に要求する。
上位ドライバ3は、ファイルシステム2を介してアプリケーション8から渡されたI/Oをパス冗長化ドライバ4に渡す。
具体的には、パス冗長化ドライバ4は、一方のI/Oパス(例えば、コントローラ11)のみにI/Oが集中することのないよう、複数のI/Oパスを有効に活用し、I/Oの負荷分散(コントローラ11または12のホスト接続ポート16、17、18、19にI/Oを振り分け)を行う機能を有する。
すなわち、パス冗長化ドライバ4とこれを実行するCPUは、負荷分散実行手段の一例である。
コントローラ11および12は、それぞれ内部バス22および23を介して各論理ディスク13、14および15に接続されており、いずれのコントローラからも各論理ディスクに対してアクセスすることができる。
コントローラ11および12は、負荷分散要求テーブル24を生成し、そのテーブル情報をRAM等の記憶装置に格納し、これを定期的に更新する。また、ホストコンピュータ1の要求に応じて負荷分散要求テーブル24にかかる情報をホストコンピュータに送信する。
負荷分散要求テーブル24の詳細内容については後述する。
まず、ディスクアレイサブシステム10側の動作について説明する。
図3、図4(a)、図4(b)は、ディスクアレイサブシステム10のコントローラ11および12により実施され、ホストコンピュータ1より受け取ったI/Oコマンドの処理過程の一部を示したフローチャートである。
正しく実行可能なコマンドであれば、当該コマンドを発行したHBアダプタのWWPN取得コマンドであるかを判断する(S102)。
S102でHBアダプタのWWPN取得コマンドデコード処理(S121)へ移行した場合は、当該コマンドを発行したHBアダプタのWWPNを編集し(図4(a)のS201)、正常終了処理(S202)へ移行する。
WWPNの編集は、例えば、次のような手順で行う。
(1)システム上で"HBAのWWPN取得コマンド" を予め定義しておく。
(2)パス冗長化ドライバ4が、自身が制御すべきHBアダプタ( I/O発行元( I/Oパス))のWWPNを認識( 取得) するために、全てのHBアダプタ経由で" HBアダプタのWWPN取得コマンド" を1回ずつ発行する。
(3)ディスクアレイサブシステム10は、" HBアダプタのWWPN取得コマンド"
を受け取ると、発行元のHBアダプタのWWPNを( 返却データとして) 編集し、該コマンドの実行結果としてパス冗長化ドライバ4に返却する。
(4)パス冗長化ドライバ4は返却されたデータを取得することで、HBアダプタのWWPNを認識( 取得) することができるようになる。
負荷分散要求数は、当該ホスト接続ポート宛のI/Oについて負荷分散を要求するHBアダプタの数である。当該ホスト接続ポート宛のI/Oの負荷分散が必要でない場合にはその値を「0」とする。「要求先HBアダプタのWWPN」の欄は、負荷分散要求数に応じた数とする。例えば、「負荷分散要求数」が「2」の場合、「要求先HBアダプタのWWPN」欄は2つとし、その値は、例えば「WWPNa」「WWPNb」とする。
負荷分散の要求先のHBアダプタは、例えば次のような基準で選択する。
(1)負荷が集中しているホスト接続ポート宛のI/Oを最も多く送信しているものを選択する。
(2)ホスト接続ポート宛に発行されたI/Oにて指定される実データ格納場所を判断し、現在のホスト接続ポートでI/Oを処理するよりも、最適なホスト接続ポートが存在する場合に最適なホスト接続ポートへI/Oが発行される様、要求先のHBアダプタを選択し、誘導する。
要求先HBアダプタのWWPNは、負荷分散の実行を要求するHBアダプタのWWPNであり、ホストコンピュータ1のパス冗長化ドライバ4は、この欄を参照して自己の管理下のHBアダプタのWWPNがある場合に、負荷分散先ホスト接続ポートのWWPNの欄にWWPNが書き込まれているホスト接続ポートのひとつ以上に、通常は負荷分散要求数が1以上になっているホスト接続ポートに送信するI/Oを分散させる。
図5は、図1のパス冗長化ドライバ4により実施される処理過程の一部を示したフローチャートであり、具体的には、パス死活監視処理に関わる。パス死活監視とは、パス冗長化ドライバ4が管理する複数のI/Oパスに対して一定間隔にI/Oを生成、発行し、障害が発生していないかを確認するための導通テストである。この死活監視に使用するI/Oは、アプリケーション8から発行されるI/Oとは非同期に、パス冗長化ドライバ4が一定時間毎に生成し、発行する。尚、導通を確認することが目的であることから、パス死活監視に使用するI/Oには、例えば、INQUIRYコマンドなどが用いられていた。
尚、パス冗長化ドライバ4は、自身の初期化段階で、自身が管理するHBアダプタのWWPNおよび自身が管理するI/Oパス、つまりディスクアレイサブシステム10のホスト接続ポート16等のWWPNを取得しているものとして説明する。
正常終了であれば、負荷分散要求テーブルが取得できている(S404)ことから、負荷分散要求テーブル内に自身が管理するHBアダプタのWWPNがあるかを判断して(S405)、自身が管理するHBアダプタのWWPNがなければ、パス死活監視処理を終了する(S411)。
S407では、負荷分散要求テーブルの負荷分散先ホスト接続ポート候補より、自身が管理するI/Oパスの何れか一つまたは複数を選択し、負荷分散を行う。
例えば、受信した負荷分散要求テーブルが図6に示すものであった場合、パス冗長化ドライバ4は、「要求先HBアダプタのWWPN」としてHBアダプタ6に対応する「WWPNa」が含まれているので、「負荷分散先ホスト接続ポートのWWPN」の中からホスト場接続ポート18に対応する「WWPN2」を選択し、通常は図1のI/Oパス31を使って送信するI/OをI/Oパス33に負荷分散する。
以上により、特定ホスト接続ポートへの負荷集中を、他のホスト接続ポートに負荷分散する手段を提供する。
第一の効果は、パス冗長化ドライバ4とディスクアレイサブシステム10間で連携、協調動作を行うことにより、システム全体で自律的な負荷分散機能を提供することができる。
第二の効果は、パス死活監視(パスの導通確認)のための余分なI/O負荷が発生しないことである。
その理由は、従来のパス冗長化ドライバはパス死活監視のために定期的にコマンド(例えば、”INQUIRYコマンド”や”TEST UNIT_READYコマンド”など)を発行し、コマンドが正常終了すれば、パスに障害が発生していないと判断していた。この死活監視に使用していたコマンドの代わりに負荷分散要求テーブル取得コマンドを使用するため、負荷分散要求テーブルの取得、および負荷分散要求テーブルが取得できたこと、すなわちコマンドの正常終了をもってパス死活監視も兼ねており、本発明による余計なI/O負荷の発生はない。
第三の効果は、パス冗長化ドライバ4とディスクアレイサブシステム間の連携ならびにこれらの管理及び制御は、パス冗長化ドライバ4内に隠蔽して処理するため、上位ドライバ3や下位ドライバ5及びミドルウェアやアプリケーション8に改造の必要がないことである。
このようにすると、負荷の集中しいているホスト接続ポートのI/O負荷の分散を緻密に制御することができる。
このようにすれば、負荷の集中しいているホスト接続ポートのI/O負荷の分散、さらに負荷分散先ホスト接続ポートへの負荷分散の割合についても緻密に制御することが可能になる。
図1のディスクアレイサブシステム内に構成される論理ディスクの数に制限はない。
図1のディスクアレイサブシステム内の内部バスの数に制限はない。
2 ファイルシステム
3 上位ドライバ
4 パス冗長化ドライバ(負荷分散実行手段)
5 下位ドライバ
6、7 HBアダプタ
10 ディスクアレイサブシステム
11、12 コントローラ
13、14、15 論理ディスク
16〜19 ホスト接続ポート
24 負荷分散要求テーブル
50 SANシステム
Claims (6)
- 複数のホストピュータからのI/O命令を複数のホスト接続ポートを介して受信し処理するストレージサブシステムに対して、自己のI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータにおいて、
前記ホストバスアダプタに、前記ホストバスアダプタを介して出力される前記I/O命令がストレージサブシステム内で正常に実行されたか否かを監視するパス死活監視機能と,正常に実行されなかった場合にリトライ処理を実行するリトライ処理実行機能とを備えたパス冗長化ドライバを併設すると共に、
このパス冗長化ドライバが、前記I/O命令が正常に実行された場合に作動し、前記ストレージサブシステムが決定する負荷分散の必要の有無を示す情報,前記ストレージサブシステムが決定する負荷分散が要求されるホストバスアダプタを特定するホストバスアダプタ特定情報,及び負荷分散先の前記ホスト接続ポートを特定する情報を含む負荷分散要求テーブルの情報,を前記ストレージサブシステムに対して要求する機能を有し、
前記パス冗長化ドライバは、前記負荷分散情報の要求により前記ストレージサブシステムから送信された前記負荷分散要求テーブルの情報に従って作動し複数の前記ホストバスアダプタの間で前記ストレージサブシステム側の複数のホスト接続ポートに対する負荷分散を実行する機能を、備えていることを特徴とするホストコンピュータ。 - 前記パス冗長化ドライバは、前記ストレージサブシステムに対するパス死活監視機能の実行に際しては、当該パス死活監視用のコマンドとして負荷分散要求デーブル取得コマンドを使用する構成としたことを特徴とする請求項1に記載のホストコンピュータ。
- ストレージサブシステムに対してI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータと、このホストコンピュータを含む複数のホストコンピュータからのI/O命令を受信する複数のホスト接続ポートを備えたストレージサブシステムとを有するストレージシステムにおいて、
前記ストレージサブシステムは、
前記複数のホスト接続ポートを介して入力されるホストコンピュータからのI/O命令に従って記憶装置に対する書き込みおよび読み出しを実行するコントローラを備えると共に、
このストレージサブシステム側のコントローラが、
前記各ホスト接続ポートについて負荷分散が必要であるか否かを決定する機能と、前記負荷分散が要求される前記ホストバスアダプタを決定する機能と、前記決定された前記負荷分散の必要の有無を示す情報,前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,及び負荷分散先の前記ホスト接続ポートを特定する情報,を含む負荷分散要求テーブルを生成し且つその情報を定期的に更新する機能と、前記ホストコンピュータから要求があったときに前記負荷分散要求テーブルの情報を前記ホストコンピュータに送信する機能とを有し、
前記ホストコンピュータの内の少なくとも一のホストコンピュータが、
前記ストレージサブシステムに対してI/O命令を送信する複数のホストバスアダプタと、前記I/O命令が正常に実行されたか否かを監視すると共に正常に実行されない場合にリトライ処理を行うパス冗長化ドライバとを備え、
このパス冗長化ドライバが、前記ストレージサブシステムに対して前記負荷分散要求テーブルのテーブル情報の送信を要求する負荷分散情報要求機能を有すると共に、当該要求に応じて前記ストレージサブシステムから送信されてくる前記テーブル情報に従って複数の前記ホストバスアダプタの間で前記複数のホスト接続ポートに対する負荷分散を実行する負荷分散実行手段を備えたことを特徴とするストレージシステム。 - 前記パス冗長化ドライバは、前記ストレージサブシステムに対するパス死活監視機能の実行に際しては、当該パス死活監視用のコマンドとして負荷分散要求デーブル取得コマンドを使用する構成としたことを特徴とする請求項3に記載のストレージシステム。
- ストレージサブシステムに対してI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータと、このホストコンピュータからのI/O命令を受信する複数のホスト接続ポート及びこの複数のホスト接続ポートを介して入力される前記I/O命令に従って記憶装置に対する書き込み及び読み込みを実行するコントローラを備えたストレージサブシステムとを有するストレージシステムにあって、
前記ストレージサブシステム側では、複数のホスト接続ポート相互間における負荷分散の必要の有無および前記負荷分散が要求される前記ホストバスアダプタをコントローラが決定し、
更に、この決定された前記負荷分散の必要の有無を示す情報,前記決定されたホストバスアダプタを特定するホストバスアダプタ特定情報,及び負荷分散先の前記ホスト接続ポートを特定する情報,を含む負荷分散要求テーブルを前記コントローラが生成し且つこれを定期的に更新し、
前記I/O命令を前記ストレージサブシステムが正常に実行したか否かを前記ホストコンピュータ側が監視し、
前記I/O命令が正常に実行された場合に、前記ホストコンピュータの要求によって得られる前記ストレージサブシステムからの前記負荷分散要求テーブルにかかる情報に基づいて前記ホストコンピュータが作動し、前記複数の前記ホストバスアダプタの間で前記複数のホスト接続ポートに対する負荷分散を実行することを特徴とした負荷分散方法。 - ストレージサブシステム側の複数のホスト接続ポートを介して当該ストレージサブシステムに対してI/O命令を送信するホストバスアダプタを複数備えたホストコンピュータにあって、
前記I/O命令が前記ストレージサブシステムで正常に実行されたか否かを監視する実行監視処理、
前記I/O命令が正常に実行された場合に、前記ストレージサブシステムに対して、当該ストレージサブシステムが決定した負荷分散の必要の有無を示す情報,前記ストレージサブシステムが決定した負荷分散が要求されるホストバスアダプタを特定するホストバスアダプタ特定情報,及び負荷分散先の前記ホスト接続ポートを特定する情報,を含む負荷分散要求テーブルについてその情報の送信を要求する情報送信要求処理、
および前記送信要求に応じて前記ストレージサブシステムから送信されてくる前記負荷分散要求テーブルのテーブル情報に従って複数の前記ホストバスアダプタの間で前記複数のホスト接続ポートに対する負荷分散を実行する負荷分散実行処理、
をコンピュータに実行させるようにしたことを特徴とする負荷分散プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129546A JP4780221B2 (ja) | 2009-05-28 | 2009-05-28 | ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129546A JP4780221B2 (ja) | 2009-05-28 | 2009-05-28 | ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006176500A Division JP4353208B2 (ja) | 2006-06-27 | 2006-06-27 | ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009187592A JP2009187592A (ja) | 2009-08-20 |
JP4780221B2 true JP4780221B2 (ja) | 2011-09-28 |
Family
ID=41070680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009129546A Expired - Fee Related JP4780221B2 (ja) | 2009-05-28 | 2009-05-28 | ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4780221B2 (ja) |
-
2009
- 2009-05-28 JP JP2009129546A patent/JP4780221B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009187592A (ja) | 2009-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4353208B2 (ja) | ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム | |
US10459640B2 (en) | High availability storage access using quality of service based path selection in a storage area network environment | |
JP4842593B2 (ja) | ストレージ仮想化装置のデバイス制御引継ぎ方法 | |
JP4733399B2 (ja) | 計算機システム、計算機、ストレージ装置及び管理端末 | |
US9137148B2 (en) | Information processing system and information processing apparatus | |
US7937617B1 (en) | Automatic clusterwide fail-back | |
JP5087249B2 (ja) | ストレージシステムおよびストレージシステムの制御方法 | |
US9213500B2 (en) | Data processing method and device | |
US9823955B2 (en) | Storage system which is capable of processing file access requests and block access requests, and which can manage failures in A and storage system failure management method having a cluster configuration | |
JP2005326935A (ja) | 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法 | |
US20120233399A1 (en) | Storage apparatus and method of controlling the same | |
JP2007072571A (ja) | 計算機システム及び管理計算機ならびにアクセスパス管理方法 | |
US10747437B2 (en) | SAS hard disk drive update via management controller | |
JP2008112399A (ja) | ストレージ仮想化スイッチおよびコンピュータシステム | |
JP4738438B2 (ja) | 外部接続ストレージシステムのパス管理及び障害箇所検出方法 | |
JP5216376B2 (ja) | リモートコピーシステム及び確認方法 | |
JP2007310448A (ja) | 計算機システム、管理計算機、および、ストレージシステム管理方法 | |
JP4509089B2 (ja) | 仮想化制御装置及びデータ移行制御方法 | |
US7975118B2 (en) | Storage system and data rearrangement method | |
US20090210574A1 (en) | Open host issued statesave to attached storage | |
US10241950B2 (en) | Multipath I/O proxy device-specific module | |
JP6241319B2 (ja) | 情報処理装置、通信経路決定プログラム及び通信経路決定方法 | |
JP2005149283A (ja) | 情報処理システム、情報処理システムの制御方法及びプログラム | |
JP2005316762A (ja) | ディスク記憶装置及びraid構築方法 | |
JP4780221B2 (ja) | ホストコンピュータ、ストレージシステム、負荷分散方法、及び負荷分散プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090528 |
|
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: 20110607 |
|
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: 20110620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4780221 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |