帯域制御装置
【課題】 通信帯域のバリエーションが多く存在するストレージエリアネットワークにおいて、効率的にデータの転送を行う。
【解決手段】 帯域制御装置500は、業務サーバ100やストレージ装置200、およびルータ300,400から、マップ情報やIF情報等を定期的に取得し、これらの情報に基づき、通信帯域の不足しているiSCSIセッションを検出する。帯域不足のiSCSIセッションを検出すると、帯域制御装置500は、iSCSIセッションの重要度や回線の使用率に基づき、帯域の割り当てを行う他のiSCSIセッションを選定する。帯域制御装置500は、こうして選定したiSCSIセッションが用いるネットワーク経路の通信帯域の少なくとも一部を帯域不足のiSCSIセッションに対して割り当てる。
【解決手段】 帯域制御装置500は、業務サーバ100やストレージ装置200、およびルータ300,400から、マップ情報やIF情報等を定期的に取得し、これらの情報に基づき、通信帯域の不足しているiSCSIセッションを検出する。帯域不足のiSCSIセッションを検出すると、帯域制御装置500は、iSCSIセッションの重要度や回線の使用率に基づき、帯域の割り当てを行う他のiSCSIセッションを選定する。帯域制御装置500は、こうして選定したiSCSIセッションが用いるネットワーク経路の通信帯域の少なくとも一部を帯域不足のiSCSIセッションに対して割り当てる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する技術に関する。
【背景技術】
【0002】
従来、サーバ装置とストレージ装置との接続には、ファイバチャネルプロトコルを用いるストレージエリアネットワーク(以下、「FC−SAN」という)が多く利用されていた。FC−SANでは、ファイバチャネルの規格上、サポートされる通信帯域の種類が少ないこともあり、管理者は、サーバ装置やストレージ装置、およびこれらを接続するネットワーク機器の通信帯域をそれほど意識することなく結線することができた。
【0003】
しかしながら、近年では、市場のニーズがFC−SANから、汎用的なインターネットプロトコルを用いるストレージエリアネットワーク(以下、「IP−SAN」という)に移行しつつある(下記特許文献1参照)。IP−SANでは、サーバ装置とストレージ装置との接続にはファイバチャネルではなく、非常に多くの通信帯域のバリエーションを持つIPネットワークが用いられる。そのため、従来のFC−SANのように各装置を結線すると、例えば、サーバ装置やストレージ装置の通信帯域が狭帯域で、その間のIPネットワーク内の通信帯域が広帯域になるなど、IP−SAN全体として見た場合、帯域の割当に不整合が生じる場合があった。
【0004】
【特許文献1】特開2004−48124号公報
【0005】
上述のように通信帯域の割り当てに不整合が生じると、サーバ装置とストレージ装置との間における通信が帯域不足となる場合があり、また、狭帯域の回線の存在により、せっかくの広帯域な回線を有効に利用し得ない場合もあった。このような問題は、IP−SANに限られず、帯域の種類が増加した場合のFC−SANや、その他のストレージエリアネットワークにも共通の問題であった。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、上記課題に鑑みてなされたものであり、通信帯域のバリエーションが多く存在するストレージエリアネットワークにおいて、効率的にデータの転送を行うことを目的としている。
【課題を解決するための手段】
【0007】
上記目的を踏まえ、本発明の帯域制御装置は、ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御装置であって、前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得する帯域情報取得部と、前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出する検出部と、前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる帯域割当部とを備えることを要旨とする。
【0008】
本発明の帯域制御装置によれば、サーバ装置とストレージ装置との間に確立されたセッションの通信帯域が不足する場合に、他のセッションが用いるネットワーク経路の通信帯域を割り当てることができる。従って、通信帯域のバリエーションが多く存在するストレージエリアネットワークにおいても、サーバ装置とストレージ装置との間で効率的にデータを転送することが可能になる。
【0009】
上記構成の帯域制御装置において、前記検出部は、前記セッションが用いるネットワーク経路中の少なくとも一部の回線の通信帯域が、他の部分の回線よりも狭小な通信帯域である場合に、該セッションの通信帯域が不足していると判断するものとしてもよい。
【0010】
このような構成であれば、ネットワーク経路上、帯域に不整合な部分が生じているセッションに対して帯域の割り当てを行うことができる。
【0011】
かかる構成の帯域制御装置において、前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置がサポートしている通信帯域に関する情報を取得するサポート帯域情報取得部を備え、前記検出部は、前記サポート帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものとしてもよい。
【0012】
また、前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置における通信帯域の実測値に関する情報を取得する実測帯域情報取得部を備え、
前記検出部は、前記実測帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものとしてもよい。
【0013】
このような構成であれば、通信帯域が不足しているセッションを容易に検出することができる。なお、各装置がサポートしている通信帯域と、通信帯域の実測値との両者に基づいて狭小な通信帯域の回線を検出するものとしてもよい。
【0014】
上記構成の帯域制御装置において、前記検出部は、前記帯域不足セッションを検出した場合に、該帯域不足セッションに関する情報を管理者に報知する手段を備えるものとしてもよい。
【0015】
このような構成によれば、管理者は通信帯域の割り当てを行うか否かを容易に判断することができる。帯域不足セッションに関する情報は、例えば、モニタに表示するものとしてもよいし、音声によって通知するものとしてもよい。
【0016】
上記構成の帯域制御装置において、前記所定の指標とは、前記セッション毎に予め設定された該セッションの重要度であり、前記帯域情報には、前記重要度を表す情報が含まれ、前記帯域割当部は、前記重要度に基づき前記他のセッションを選定する手段を備えるものとしてもよい。また、前記所定の指標とは、前記各セッションが用いるネットワーク経路の使用率であり、前記帯域情報には、前記使用率を表す情報が含まれ、前記帯域割当部は、前記使用率に基づき前記他のセッションを選定する手段を備えるものとしてもよい。
【0017】
このような構成であれば、例えば、帯域が不足しているセッションに対して、重要度の低いセッションや使用率の低いセッションの通信帯域を割り当てることができる。
【0018】
上記構成の帯域制御装置において、前記セッションは、前記サーバ装置で実行されるアプリケーションと、該アプリケーションのアクセス先である前記ストレージ装置内の論理ボリュームとの間で確立されており、前記帯域割当部は、前記帯域不足セッションに対して通信帯域を割り当てる際に、前記他のセッションのアクセス先を、前記帯域不足セッションのアクセス先に切り換える手段を備えるものとしてもよい。
【0019】
このような構成であれば、帯域の割り当てを受けたセッションは、新たに割り当てられた通信帯域を用いて、割り当て前と同一の論理ボリュームに対してアクセスすることができる。
【0020】
なお、本発明は、上述した帯域制御装置としての構成のほか、例えば、ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御方法やコンピュータプログラムとしても構成することができる。このコンピュータプログラムは、データ信号として搬送波内に具現化されていてもよいし、コンピュータが読み取り可能な記録媒体に記録されているものとしてもよい。記録媒体としては、例えば、CD−ROMやフレキシブルディスク、光磁気ディスク、DVDなどを用いることができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明の実施の形態について実施例に基づき次の順序で説明する。
A.計算機システムの全体構成:
B.帯域制御装置によって管理される各種テーブル:
C.帯域制御装置によって実行される処理:
D.業務サーバおよびストレージ装置によって実行される処理:
【0022】
A.計算機システムの全体構成:
図1は、実施例としての帯域制御装置500を含む計算機システム1000のハードウェア構成を示す説明図である。図示するように、計算機システム1000は、業務サーバ100と、ストレージ装置200と、ルータ300と、ルータ400と、帯域制御装置500とによって構成されている。業務サーバ100とストレージ装置200とは、2台のルータ300,400を介して、IP−SANにより接続されている。
【0023】
業務サーバ100は、種々の業務アプリケーションを実行する汎用的なコンピュータであり、CPU110、メモリ120、ディスク装置130、バスインタフェース140、モニタ150、および、3つの物理ポートP01,P02,P11を備えている。物理ポートP01と物理ポートP02とは、それぞれ5Gbpsの通信帯域をサポートしており、ルータ300の物理ポートP03,P04に対してIPネットワークを介して接続されている。また、物理ポートP11は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0024】
ルータ300は、受信したネットワークのパケットを、その宛先に応じて最適な経路に転送するネットワーク中継装置であり、CPU310、メモリ320、バスインタフェース340、および、4つの物理ポートP03,P04,P05,P12を備えている。4つの物理ポートのうち、物理ポートP03と物理ポートP04とは、それぞれ5Gbpsの通信帯域をサポートしており、IPネットワークを介して業務サーバ100の物理ポートP01,P02に対して接続されている。これに対し、物理ポートP05は、10Gbpsの通信帯域をサポートしており、ルータ400の物理ポートP06に対してIPネットワークを介して接続されている。また、物理ポートP12は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0025】
ルータ400も、ルータ300と同様に、CPU410、メモリ420、バスインタフェース440、および、4つの物理ポートP06,P07,P08,P13を備えている。このうち、物理ポートP06は、10Gbpsの通信帯域をサポートしており、IPネットワークを介してルータ300の物理ポートP05に対して接続されている。これに対して、物理ポートP07およびP08は、それぞれ5Gbpsの通信帯域をサポートしており、IPネットワークを介してストレージ装置200の物理ポートP09,P10に対して接続されている。また、物理ポートP13は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0026】
ストレージ装置200は、IPネットワークを介して業務サーバ100から転送されたデータを記憶するための装置であり、CPU210、メモリ220、大容量のディスク装置230,235、バスインタフェース240、および、3つの物理ポートP09,P10,P14を備えている。3つの物理ポートのうち、物理ポートP09およびP10は、それぞれ5Gbpsの通信帯域をサポートしており、IPネットワークを介してルータ400の物理ポートP07,P08に対して接続されている。また、物理ポートP14は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0027】
帯域制御装置500は、CPU510やメモリ520、ディスク装置530、バスインタフェース540、モニタ550、物理ポートP15を備えた汎用的なコンピュータであり、業務サーバ100とストレージ装置200との間に確立されるiSCSIセッションの通信帯域を制御するため装置である。物理ポートP15は、IPネットワークやRS−232C、公衆回線網などの所定の通信回線を介して上述したすべての装置に接続されている。
【0028】
図2は、計算機システム1000の論理的な構成を示す説明図である。業務サーバ100のディスク装置130には、iSCSIドライバが組み込まれたオペレーティングシステムや、アプリケーションAP1,AP2がインストールされており、CPU110は、これらのプログラムを実行する。iSCSIドライバは、IPネットワークによって接続された他の装置との間でSCSIコマンドをやり取りするためのプログラムである。iSCSIドライバは、ストレージ装置200においても実行されており、各アプリケーションは、これらのiSCSIドライバを用いることで、ストレージ装置200内に確保された論理ボリュームLV1,LV2との間にiSCSIセッションを確立する。
【0029】
本実施例では、アプリケーションAP1は、ストレージ装置200内の論理ボリュームLV1との間に「セッション1」というiSCSIセッションを確立している。また、アプリケーションAP2は、論理ボリュームLV2との間に「セッション2」というiSCSIセッションを確立している。セッション1によって送受信されるデータは、物理ポートP01、物理ポートP03、物理ポートP05、物理ポートP06、物理ポートP07、物理ポートP09、によって構成されるネットワーク経路中を流れる。また、セッション2によって送受信されるデータは、物理ポートP02、物理ポートP04、物理ポートP05、物理ポートP06、物理ポートP08、物理ポートP10、によって構成されるネットワーク経路中を流れる。すなわち、各iSCSIセッションは、業務サーバ100とストレージ装置200との間で、異なるネットワーク経路を経由して確立されていることになる。なお、2つのネットワーク経路において、その全ての経路が完全に一致していなければ、一部が重複していても、両者のネットワーク経路は異なるといえる。
【0030】
業務サーバ100とストレージ装置200のiSCSIドライバは、それぞれ、iSCSIセッションとそのセッションが用いる物理ポートとの対応関係を定義したマップ情報を管理している。例えば、業務サーバ100が管理するマップ情報MP1には、セッション1が物理ポートP01を用い、セッション2が物理ポートP02を用いることが定義されている。また、ストレージ装置200が管理するマップ情報MP2には、セッション1が物理ポートP09を用い、セッション2が物理ポートP10を用いることが定義されている。これらのマップ情報は、それぞれの装置のメモリあるいはディスク装置内に記憶されている。
【0031】
業務サーバ100、ストレージ装置200、および、ルータ300,400は、それぞれのメモリあるいはディスク装置内に、インタフェース(IF)情報を保持している。IF情報とは、物理ポートが実装されたネットワークインタフェースに関する情報であり、物理ポートの数や物理ポートの番号、その物理ポートがサポートする最大の通信帯域、現在の回線使用率、物理ポートのリンク状態(UP/DOWN)などの情報が含まれる。また、ルータ300,400のIF情報には、そのルータのルーティング情報も含まれる。各装置は、内部プログラムを実行することで、これらの情報を常に監視し、IF情報を更新している。
【0032】
帯域制御装置500のディスク装置530には、業務サーバ100とストレージ装置200との間に確立された各iSCSIセッションの通信帯域を調整するためのプログラムがインストールされている。CPU510は、このプログラムを実行することで、図示する情報取得部511や帯域不足検出部512、帯域割当部513として機能する。
【0033】
情報取得部511は、SNMPプロトコルを用いることで、業務サーバ100やストレージ装置200、ルータ300,400からそれぞれマップ情報やIF情報、デフォルトゲートウェイの定義情報などを取得する機能である。帯域不足検出部512は、こうして取得した種々の情報に基づき、各iSCSIセッションに帯域不足が発生しているか否かを検出するための機能である。帯域割当部513は、各iSCSIドライバに指令を与えることにより、帯域不足の発生しているiSCSIセッションに対して、他のiSCSIセッションが用いるネットワーク経路の通信帯域を割り当てる機能である。
【0034】
B.帯域制御装置によって管理される各種テーブル:
次に、帯域制御装置500が、各装置から取得した情報に基づき生成・管理する種々のテーブルについて説明する。以下に示す各テーブルは、帯域制御装置500のメモリ520あるいはディスク装置530に記憶される。
【0035】
図3は、アプリケーションテーブルATの一例を示す説明図である。帯域制御装置500は、業務サーバ100およびストレージ装置200のiSCSIドライバから、アプリケーションとiSCSIセッションの対応関係を表す情報、および、そのアプリケーションもしくはiSCSIセッションの重要度を表す情報を定期的に取得する。そして、これらの情報を基に、図示するアプリケーションテーブルATを自動的に生成する。重要度は、管理者が業務サーバ100もしくは帯域制御装置500を用いて予め設定するパラメータである。本実施例では、重要度の数値が低いほど、そのアプリケーションもしくはiSCSIセッションの重要度が高いことを表す。なお、重要度は、例えば、業務サーバ100がアプリケーション毎にその起動頻度をカウントし、起動頻度が高いほど重要度が高いものとして自動的に設定するものとしてもよい。
【0036】
図4は、ポートテーブルPTの一例を示す説明図である。帯域制御装置500は、各装置が備えるネットワークインタフェースに対して固有の物理ポート識別子を自動的に割り当てる。そして、かかる情報に基づき、図示するポートテーブルPTを生成する。もちろん、この物理ポート識別子は、管理者が入力して割り当てるものとしてもよい。
【0037】
図5は、デフォルトゲートウェイテーブルGTの一例を示す説明図である。帯域制御装置500は、業務サーバ100やストレージ装置200の物理ポートに対してデフォルトゲートウェイとして割り当てられたルータの物理ポートに関する情報を、業務サーバ100およびストレージ装置200のiSCSIドライバから定期的に取得する。そしてこれらの情報を元に、図示するデフォルトゲートウェイテーブルGTを生成する。なお、本実施例では、デフォルトゲートウェイを物理ポートの識別子によって表したが、その物理ポートに対応するIPアドレスによって表すものとしてもよい。
【0038】
図6は、iSCSIセッションテーブルSTの一例を示す説明図である。帯域制御装置500は、業務サーバ100およびストレージ装置200のiSCSIドライバから、iSCSIセッションとそのiSCSIセッションが使用する物理ポートの対応関係を表す情報を定期的に取得し、図示するiSCSIセッションテーブルSTを自動的に生成する。
【0039】
図7は、帯域テーブルBTの一例を示す説明図である。帯域制御装置500は、業務サーバ100とストレージ装置200とルータ300とルータ400とから、それぞれの装置が保持しているIF情報を定期的に取得する。上述したように、IF情報には、主に、物理ポートの識別子、その物理ポートがサポートする最大の通信帯域、その物理ポートの現在の使用率、などの情報が含まれる。帯域制御装置500は、このIF情報を基に、図示する帯域テーブルBTを自動的に生成する。
【0040】
図8は、経路テーブルRTの一例を示す説明図である。帯域制御装置500は、各ルータからルーティング情報を定期的に取得し、その情報に基づき図示する経路テーブルRTを自動的に生成する。この経路テーブルRTは、ネットワーク経路がどの業務サーバとどのストレージ装置との間に確立されており、その経路がどの物理ポートによって構成されているかを表している。
【0041】
図9は、帯域管理テーブルMTの一例を示す説明図である。帯域制御装置500は、上述した、アプリケーションテーブルAT、ポートテーブルPT、デフォルトゲートウェイテーブルGT、iSCSIセッションテーブルST、帯域テーブルBT、経路テーブルRTを生成した後に、計算機システム1000内の回線を統括的に管理するため、これらのテーブルに基づき図示する帯域管理テーブルMTを自動的に生成する。
【0042】
C.帯域制御装置によって実行される処理:
図10は、各iSCSIセッションの通信帯域を調整するために帯域制御装置500が常時実行する帯域制御処理ルーチンのフローチャートである。始めに、帯域制御装置500は、計算機システム1000内に存在する全てのサーバとストレージ装置が有するiSCSIドライバと通信を行い、正常に通信が行えることを確認する(ステップS100)。通信不可であれば、モニタ550上に所定の表示を行うことで、その旨を警告として管理者に通知し(ステップS110)、通信可であれば、以降のステップに進む。
【0043】
帯域制御装置500は、業務サーバ100やストレージ装置200の有するiSCSIドライバからアプリケーションとiSCSIセッションの対応関係を表す情報を取得するとともに、予め管理者によって設定されたアプリケーションあるいはiSCSIセッションの重要度を表す情報を取得する。このとき、重要度を表す情報が取得できない場合は、管理者に対して重要度の設定を促す通知を行うものとしてもよい。そして、帯域制御装置500は、これらの情報を基に、図3に示したアプリケーションテーブルATを生成する(ステップS120)。
【0044】
次に、帯域制御装置500は、図4に示したポートテーブルPTを生成する(ステップS130)。そして、業務サーバ100とストレージ装置200とからデフォルトゲートウェイの情報を取得し、図5に示したデフォルトゲートウェイテーブルGTを生成する(ステップS140)。次に、各iSCSIドライバから、iSCSIセッションと物理ポートの対応関係が定義されたマップ情報を取得し、このマップ情報に基づき、図6に示したiSCSIセッションテーブルSTを生成する(ステップS150)。
【0045】
更に、帯域制御装置500は、計算機システム1000内の全ての装置からIF情報を取得し、このIF情報に基づき図7に示した帯域テーブルBTを生成する(ステップS160)。そして、ルータ300,400からルーティング情報を取得して、図8に示した経路テーブルを生成する(ステップS170)。
【0046】
帯域制御装置500は、ここまでの処理で生成したアプリケーションテーブルATと、ポートテーブルPTと、デフォルトゲートウェイテーブルGTと、iSCSIセッションテーブルSTと、帯域テーブルBTと、経路テーブルRTとの情報を基に、図9に示した帯域管理テーブルMTを生成する(ステップS180)。
【0047】
次に、帯域制御装置500は、上記ステップS180で生成した帯域管理テーブルMTに基づき、通信帯域が不足しているiSCSIセッション(以下、「帯域不足セッション」という)を検出する(ステップS190)。通信帯域が不足しているか否かは次のように判断する。すなわち、iSCSIセッションが確立されているネットワーク経路において、他の回線の帯域と所定の閾値以上(例えば3Gbps)の帯域の差(ギャップ)がある回線部分、すなわち、ボトルネックとなる回線部分が存在し、更に、そのボトルネックとなっている回線の使用率が所定の閾値(例えば80%など)以上となっている場合に、そのiSCSIセッションは帯域不足であると判断する。例えば、図9に示した帯域管理テーブルMTでは、セッション1が確立されているネットワーク経路1は、物理ポートP05〜P06間の帯域が10Gbpsであるのに対して、物理ポートP01〜P03間の帯域が5Gbpsであるため、この物理ポートP01〜P03間の回線がボトルネックとなっているといえる。また、この回線の使用率が100%となっていることから、セッション1の通信帯域が不足している判断されることになる。なお、帯域のギャップを求める際には、各装置がサポートしている最大通信帯域に基づきそのギャップを求めるものとしてもよいし、通信帯域の実測値に基づきギャップを求めるものとしてもよい。
【0048】
上記ステップS190の検出の結果、帯域不足セッションが検出されなかった場合には(ステップS200:No)、上記ステップS120に処理を戻す。一方、帯域不足セッションが検出された場合には(ステップS200:Yes)、この帯域不足セッションに対して、通信帯域の割り当てを行うiSCSIセッション(以下、「帯域割当セッション」という)の候補を選出する(ステップS210)。かかる処理では、帯域不足セッションよりも重要度もしくは回線使用率の低いiSCSIセッションのうち、帯域不足セッションのアクセス先と同じ論理ボリュームにアクセス可能なiSCSIセッション、すなわち、帯域不足セッションと同じストレージ装置にアクセスしているiSCSIセッションを選出する。
【0049】
次に、帯域制御装置500は、モニタ550上に帯域不足セッションが発生した旨を表示し、管理者に通知する(ステップS220)。なお、かかる通知は、音声によって行うものとしてもよい。
【0050】
図11は、モニタ550上に表示される通知の一例を示す説明図である。図示するように、本画面は、大別して、通知する内容の種別を表示する欄とその通知内容を表示する欄からなる。通知種別の欄には、「帯域不足セッションの検出」というメッセージを表示し、通知内容の欄には、帯域不足セッションを検出した日時と、帯域不足セッションに関する情報と、帯域割当セッションに関する情報と、全体でどれだけの帯域を確保すればよいのかを表す最大帯域とが表示される。なお、帯域割当セッションの候補が複数ある場合には、そのセッションの重要度や使用率の低い順に表示することが望ましい。なお、この画面には、帯域不足セッションに関する情報だけではなく、iSCSIドライバとの通信状態に関する情報や、iSCSIセッションの重要度の定義に関する情報など、様々な情報を表示することが可能である。
【0051】
説明を図10に戻す。上記ステップS220の後、帯域制御装置500は、モニタ550上に表示した帯域割当セッションの候補の中から管理者によって選択されるか、もしくは、重要度や回線使用率に応じて自動的に選択することにより、実際に帯域の割り当てを行うiSCSIセッションを選定する(ステップS230)。そして、業務サーバ100とストレージ装置200のiSCSIドライバに対して、帯域不足セッションと帯域割当セッションの識別子を通知し、帯域不足セッションに対して帯域割当セッションが用いるネットワーク経路の通信帯域を割り当てるよう要求する(ステップS240)。このとき、割り当てる回線容量を帯域割当セッションの重要度や回線使用率に応じて決定し、かかる割り当て容量をiSCSIドライバに対して通知するものとしてもよい。
【0052】
次に、帯域制御装置500は、帯域割当セッションが用いるネットワーク経路上の物理ポートの使用率が、管理者によって予め設定された閾値(例えば、70%)を下回るか否かを判断する(ステップS250)。閾値を下回る場合には、帯域割当セッションが用いる物理ポートを帯域不足セッションに対して開放し(ステップS260)、閾値を上回る場合には、開放を中止する(ステップS270)。なお、かかる処理では、物理ポートの使用率ではなく、例えば、帯域割当セッションが自己の通信で物理ポートを占有できる時間を閾値として設定するものとしてもよい。この場合、閾値を超過した場合に、帯域不足セッションに対して物理ポートを開放するものとする。帯域制御装置500は、以上で説明した帯域制御処理ルーチンを、繰り返して実行する。
【0053】
D.業務サーバおよびストレージ装置によって実行される処理:
図12は、業務サーバ100やストレージ装置200のiSCSIドライバによって常時実行される処理のフローチャートである。業務サーバ100やストレージ装置200は、帯域制御装置500からの情報取得要求を受信すると(ステップS300)、要求する情報の種類に応じて、アプリケーションとiSCSIセッションの対応関係を表す情報や重要度を表す情報、マップ情報、IF情報等を返信する(ステップS310)。
【0054】
次に、業務サーバ100やストレージ装置200は、帯域制御装置500から帯域の割当要求を受信すると(ステップS320)、帯域割当セッションが用いるネットワーク経路の一部または全部の帯域を帯域不足セッションに対して割り当てる(ステップS330)。帯域制御装置500から割り当てる回線容量の指定があった場合には、その指定に従い帯域を割り当てる。そして、帯域割当セッションのアクセス先を、帯域不足セッションのアクセス先に切り換える(ステップS340)。このとき、業務サーバ100やストレージ装置200は、LUNマスキング処理など、セキュリティ上の設定が必要であれば、これも併せて行う。業務サーバ100およびストレージ装置200は以上で説明した処理を繰り返し実行する。
【0055】
以上のように構成された本実施例の帯域制御装置500および計算機システム1000によれば、IPネットワーク内に通信帯域が不整合となる部分が存在していたとしても、通信帯域が不足しているiSCSIセッションに対して、他のiSCSIセッションが用いるネットワーク経路の通信帯域を動的に割り当てることができる。従って、IPネットワーク内の広帯域な回線を有効に活用することができるとともに、計算機システム1000全体の処理能力を向上させ、効率的にデータの転送を行うことが可能になる。また、サーバ装置100やストレージ装置200は、帯域制御装置500からの指示に従いセッション毎の帯域の調整を行えばよく、帯域調整のための煩雑な処理を行う必要がないため、計算機システム1000全体において処理分担の適正化を図ることができる。
【0056】
以上、本発明の実施例について説明したが、本発明はこのような実施例に限定されることなく、本発明の要旨を逸脱しない範囲において種々なる態様で実施し得ることは勿論である。例えば、帯域割当セッションの選定は、iSCSIセッションの重要度や物理ポートの使用率に基づき行うものとしたが、他のパラメータに基づき選定するものとしてもよい。
【0057】
また、上記実施例では、セッション1およびセッション2は、業務サーバ100とルータ300との間に、共に5Gbpsの通信帯域を有している場合を想定したが、実運用においては、必ずしも均等な帯域設計がされているとは限らない。従って、帯域制御装置500は、帯域割当セッションを選定する際、そのiSCSIセッションが単に目的の論理ボリュームにアクセス可能か否かに基づき判断するのではなく、複数のiSCSIセッションの候補の中からより適切な帯域を有するiSCSIセッションを選定するものとすることができる。
【0058】
また、上記実施例では、業務サーバ100側およびストレージ装置200側が狭帯域で、IPネットワーク内が広帯域の例を挙げたが、業務サーバ100側およびストレージ装置200側が広帯域で、IPネットワーク内が狭帯域という場合もあり得る。このような場合には、IPネットワーク内のボトルネックとなる回線を自動的に検出し、これに必要な帯域を確保するため、ルータ300,400に対して所定の指令を与えることで、IPネットワーク内の物理ポートを動的に変更するものとしてもよい。ルータに対しては、例えば、TELNET、HTTP、SNMPなどのプロトコル、あるいは、ルータ独自のプロトコルなどによってアクセスし、機器設定(コンフィグ)を変更するなどして、物理ポートの割り当てを変更することができる。
【0059】
また、上記実施例では、帯域制御装置500は、独立した装置であるものとして説明したが、業務サーバ100やストレージ装置200、ルータ300,400に組み込まれているものとしてもよい。また、上記実施例では、業務サーバ100とストレージ装置200とをIP−SANによって接続するものとしたが、FC−SANによって接続するものとしてもよい。
【図面の簡単な説明】
【0060】
【図1】計算機システム1000のハードウェア構成を示す説明図である。
【図2】計算機システム1000の論理的な構成を示す説明図である。
【図3】アプリケーションテーブルATの一例を示す説明図である。
【図4】ポートテーブルPTの一例を示す説明図である。
【図5】デフォルトゲートウェイテーブルGTの一例を示す説明図である。
【図6】iSCSIセッションテーブルSTの一例を示す説明図である。
【図7】帯域テーブルBTの一例を示す説明図である。
【図8】経路テーブルRTの一例を示す説明図である。
【図9】帯域管理テーブルMTの一例を示す説明図である。
【図10】帯域制御処理ルーチンのフローチャートである。
【図11】モニタ550上に表示される通知の一例を示す説明図である。
【図12】iSCSIドライバによって実行される処理のフローチャートである。
【符号の説明】
【0061】
1000...計算機システム
100...業務サーバ
200...ストレージ装置
300,400...ルータ
500...帯域制御装置
511...情報取得部
512...帯域不足検出部
513...帯域割当部
110,210,310,410,510...CPU
120,220,320,420,520...メモリ
130,230,530...ディスク装置
150,550...モニタ
AT...アプリケーションテーブル
PT...ポートテーブル
GT...デフォルトゲートウェイテーブル
BT...帯域テーブル
RT...経路テーブル
MT...帯域管理テーブル
P01〜P15...物理ポート
AP1,AP2...アプリケーション
LV1,LV2...論理ボリューム
【技術分野】
【0001】
本発明は、ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する技術に関する。
【背景技術】
【0002】
従来、サーバ装置とストレージ装置との接続には、ファイバチャネルプロトコルを用いるストレージエリアネットワーク(以下、「FC−SAN」という)が多く利用されていた。FC−SANでは、ファイバチャネルの規格上、サポートされる通信帯域の種類が少ないこともあり、管理者は、サーバ装置やストレージ装置、およびこれらを接続するネットワーク機器の通信帯域をそれほど意識することなく結線することができた。
【0003】
しかしながら、近年では、市場のニーズがFC−SANから、汎用的なインターネットプロトコルを用いるストレージエリアネットワーク(以下、「IP−SAN」という)に移行しつつある(下記特許文献1参照)。IP−SANでは、サーバ装置とストレージ装置との接続にはファイバチャネルではなく、非常に多くの通信帯域のバリエーションを持つIPネットワークが用いられる。そのため、従来のFC−SANのように各装置を結線すると、例えば、サーバ装置やストレージ装置の通信帯域が狭帯域で、その間のIPネットワーク内の通信帯域が広帯域になるなど、IP−SAN全体として見た場合、帯域の割当に不整合が生じる場合があった。
【0004】
【特許文献1】特開2004−48124号公報
【0005】
上述のように通信帯域の割り当てに不整合が生じると、サーバ装置とストレージ装置との間における通信が帯域不足となる場合があり、また、狭帯域の回線の存在により、せっかくの広帯域な回線を有効に利用し得ない場合もあった。このような問題は、IP−SANに限られず、帯域の種類が増加した場合のFC−SANや、その他のストレージエリアネットワークにも共通の問題であった。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、上記課題に鑑みてなされたものであり、通信帯域のバリエーションが多く存在するストレージエリアネットワークにおいて、効率的にデータの転送を行うことを目的としている。
【課題を解決するための手段】
【0007】
上記目的を踏まえ、本発明の帯域制御装置は、ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御装置であって、前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得する帯域情報取得部と、前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出する検出部と、前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる帯域割当部とを備えることを要旨とする。
【0008】
本発明の帯域制御装置によれば、サーバ装置とストレージ装置との間に確立されたセッションの通信帯域が不足する場合に、他のセッションが用いるネットワーク経路の通信帯域を割り当てることができる。従って、通信帯域のバリエーションが多く存在するストレージエリアネットワークにおいても、サーバ装置とストレージ装置との間で効率的にデータを転送することが可能になる。
【0009】
上記構成の帯域制御装置において、前記検出部は、前記セッションが用いるネットワーク経路中の少なくとも一部の回線の通信帯域が、他の部分の回線よりも狭小な通信帯域である場合に、該セッションの通信帯域が不足していると判断するものとしてもよい。
【0010】
このような構成であれば、ネットワーク経路上、帯域に不整合な部分が生じているセッションに対して帯域の割り当てを行うことができる。
【0011】
かかる構成の帯域制御装置において、前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置がサポートしている通信帯域に関する情報を取得するサポート帯域情報取得部を備え、前記検出部は、前記サポート帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものとしてもよい。
【0012】
また、前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置における通信帯域の実測値に関する情報を取得する実測帯域情報取得部を備え、
前記検出部は、前記実測帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものとしてもよい。
【0013】
このような構成であれば、通信帯域が不足しているセッションを容易に検出することができる。なお、各装置がサポートしている通信帯域と、通信帯域の実測値との両者に基づいて狭小な通信帯域の回線を検出するものとしてもよい。
【0014】
上記構成の帯域制御装置において、前記検出部は、前記帯域不足セッションを検出した場合に、該帯域不足セッションに関する情報を管理者に報知する手段を備えるものとしてもよい。
【0015】
このような構成によれば、管理者は通信帯域の割り当てを行うか否かを容易に判断することができる。帯域不足セッションに関する情報は、例えば、モニタに表示するものとしてもよいし、音声によって通知するものとしてもよい。
【0016】
上記構成の帯域制御装置において、前記所定の指標とは、前記セッション毎に予め設定された該セッションの重要度であり、前記帯域情報には、前記重要度を表す情報が含まれ、前記帯域割当部は、前記重要度に基づき前記他のセッションを選定する手段を備えるものとしてもよい。また、前記所定の指標とは、前記各セッションが用いるネットワーク経路の使用率であり、前記帯域情報には、前記使用率を表す情報が含まれ、前記帯域割当部は、前記使用率に基づき前記他のセッションを選定する手段を備えるものとしてもよい。
【0017】
このような構成であれば、例えば、帯域が不足しているセッションに対して、重要度の低いセッションや使用率の低いセッションの通信帯域を割り当てることができる。
【0018】
上記構成の帯域制御装置において、前記セッションは、前記サーバ装置で実行されるアプリケーションと、該アプリケーションのアクセス先である前記ストレージ装置内の論理ボリュームとの間で確立されており、前記帯域割当部は、前記帯域不足セッションに対して通信帯域を割り当てる際に、前記他のセッションのアクセス先を、前記帯域不足セッションのアクセス先に切り換える手段を備えるものとしてもよい。
【0019】
このような構成であれば、帯域の割り当てを受けたセッションは、新たに割り当てられた通信帯域を用いて、割り当て前と同一の論理ボリュームに対してアクセスすることができる。
【0020】
なお、本発明は、上述した帯域制御装置としての構成のほか、例えば、ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御方法やコンピュータプログラムとしても構成することができる。このコンピュータプログラムは、データ信号として搬送波内に具現化されていてもよいし、コンピュータが読み取り可能な記録媒体に記録されているものとしてもよい。記録媒体としては、例えば、CD−ROMやフレキシブルディスク、光磁気ディスク、DVDなどを用いることができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明の実施の形態について実施例に基づき次の順序で説明する。
A.計算機システムの全体構成:
B.帯域制御装置によって管理される各種テーブル:
C.帯域制御装置によって実行される処理:
D.業務サーバおよびストレージ装置によって実行される処理:
【0022】
A.計算機システムの全体構成:
図1は、実施例としての帯域制御装置500を含む計算機システム1000のハードウェア構成を示す説明図である。図示するように、計算機システム1000は、業務サーバ100と、ストレージ装置200と、ルータ300と、ルータ400と、帯域制御装置500とによって構成されている。業務サーバ100とストレージ装置200とは、2台のルータ300,400を介して、IP−SANにより接続されている。
【0023】
業務サーバ100は、種々の業務アプリケーションを実行する汎用的なコンピュータであり、CPU110、メモリ120、ディスク装置130、バスインタフェース140、モニタ150、および、3つの物理ポートP01,P02,P11を備えている。物理ポートP01と物理ポートP02とは、それぞれ5Gbpsの通信帯域をサポートしており、ルータ300の物理ポートP03,P04に対してIPネットワークを介して接続されている。また、物理ポートP11は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0024】
ルータ300は、受信したネットワークのパケットを、その宛先に応じて最適な経路に転送するネットワーク中継装置であり、CPU310、メモリ320、バスインタフェース340、および、4つの物理ポートP03,P04,P05,P12を備えている。4つの物理ポートのうち、物理ポートP03と物理ポートP04とは、それぞれ5Gbpsの通信帯域をサポートしており、IPネットワークを介して業務サーバ100の物理ポートP01,P02に対して接続されている。これに対し、物理ポートP05は、10Gbpsの通信帯域をサポートしており、ルータ400の物理ポートP06に対してIPネットワークを介して接続されている。また、物理ポートP12は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0025】
ルータ400も、ルータ300と同様に、CPU410、メモリ420、バスインタフェース440、および、4つの物理ポートP06,P07,P08,P13を備えている。このうち、物理ポートP06は、10Gbpsの通信帯域をサポートしており、IPネットワークを介してルータ300の物理ポートP05に対して接続されている。これに対して、物理ポートP07およびP08は、それぞれ5Gbpsの通信帯域をサポートしており、IPネットワークを介してストレージ装置200の物理ポートP09,P10に対して接続されている。また、物理ポートP13は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0026】
ストレージ装置200は、IPネットワークを介して業務サーバ100から転送されたデータを記憶するための装置であり、CPU210、メモリ220、大容量のディスク装置230,235、バスインタフェース240、および、3つの物理ポートP09,P10,P14を備えている。3つの物理ポートのうち、物理ポートP09およびP10は、それぞれ5Gbpsの通信帯域をサポートしており、IPネットワークを介してルータ400の物理ポートP07,P08に対して接続されている。また、物理ポートP14は、所定の通信回線を介して帯域制御装置500の物理ポートP15に接続されている。
【0027】
帯域制御装置500は、CPU510やメモリ520、ディスク装置530、バスインタフェース540、モニタ550、物理ポートP15を備えた汎用的なコンピュータであり、業務サーバ100とストレージ装置200との間に確立されるiSCSIセッションの通信帯域を制御するため装置である。物理ポートP15は、IPネットワークやRS−232C、公衆回線網などの所定の通信回線を介して上述したすべての装置に接続されている。
【0028】
図2は、計算機システム1000の論理的な構成を示す説明図である。業務サーバ100のディスク装置130には、iSCSIドライバが組み込まれたオペレーティングシステムや、アプリケーションAP1,AP2がインストールされており、CPU110は、これらのプログラムを実行する。iSCSIドライバは、IPネットワークによって接続された他の装置との間でSCSIコマンドをやり取りするためのプログラムである。iSCSIドライバは、ストレージ装置200においても実行されており、各アプリケーションは、これらのiSCSIドライバを用いることで、ストレージ装置200内に確保された論理ボリュームLV1,LV2との間にiSCSIセッションを確立する。
【0029】
本実施例では、アプリケーションAP1は、ストレージ装置200内の論理ボリュームLV1との間に「セッション1」というiSCSIセッションを確立している。また、アプリケーションAP2は、論理ボリュームLV2との間に「セッション2」というiSCSIセッションを確立している。セッション1によって送受信されるデータは、物理ポートP01、物理ポートP03、物理ポートP05、物理ポートP06、物理ポートP07、物理ポートP09、によって構成されるネットワーク経路中を流れる。また、セッション2によって送受信されるデータは、物理ポートP02、物理ポートP04、物理ポートP05、物理ポートP06、物理ポートP08、物理ポートP10、によって構成されるネットワーク経路中を流れる。すなわち、各iSCSIセッションは、業務サーバ100とストレージ装置200との間で、異なるネットワーク経路を経由して確立されていることになる。なお、2つのネットワーク経路において、その全ての経路が完全に一致していなければ、一部が重複していても、両者のネットワーク経路は異なるといえる。
【0030】
業務サーバ100とストレージ装置200のiSCSIドライバは、それぞれ、iSCSIセッションとそのセッションが用いる物理ポートとの対応関係を定義したマップ情報を管理している。例えば、業務サーバ100が管理するマップ情報MP1には、セッション1が物理ポートP01を用い、セッション2が物理ポートP02を用いることが定義されている。また、ストレージ装置200が管理するマップ情報MP2には、セッション1が物理ポートP09を用い、セッション2が物理ポートP10を用いることが定義されている。これらのマップ情報は、それぞれの装置のメモリあるいはディスク装置内に記憶されている。
【0031】
業務サーバ100、ストレージ装置200、および、ルータ300,400は、それぞれのメモリあるいはディスク装置内に、インタフェース(IF)情報を保持している。IF情報とは、物理ポートが実装されたネットワークインタフェースに関する情報であり、物理ポートの数や物理ポートの番号、その物理ポートがサポートする最大の通信帯域、現在の回線使用率、物理ポートのリンク状態(UP/DOWN)などの情報が含まれる。また、ルータ300,400のIF情報には、そのルータのルーティング情報も含まれる。各装置は、内部プログラムを実行することで、これらの情報を常に監視し、IF情報を更新している。
【0032】
帯域制御装置500のディスク装置530には、業務サーバ100とストレージ装置200との間に確立された各iSCSIセッションの通信帯域を調整するためのプログラムがインストールされている。CPU510は、このプログラムを実行することで、図示する情報取得部511や帯域不足検出部512、帯域割当部513として機能する。
【0033】
情報取得部511は、SNMPプロトコルを用いることで、業務サーバ100やストレージ装置200、ルータ300,400からそれぞれマップ情報やIF情報、デフォルトゲートウェイの定義情報などを取得する機能である。帯域不足検出部512は、こうして取得した種々の情報に基づき、各iSCSIセッションに帯域不足が発生しているか否かを検出するための機能である。帯域割当部513は、各iSCSIドライバに指令を与えることにより、帯域不足の発生しているiSCSIセッションに対して、他のiSCSIセッションが用いるネットワーク経路の通信帯域を割り当てる機能である。
【0034】
B.帯域制御装置によって管理される各種テーブル:
次に、帯域制御装置500が、各装置から取得した情報に基づき生成・管理する種々のテーブルについて説明する。以下に示す各テーブルは、帯域制御装置500のメモリ520あるいはディスク装置530に記憶される。
【0035】
図3は、アプリケーションテーブルATの一例を示す説明図である。帯域制御装置500は、業務サーバ100およびストレージ装置200のiSCSIドライバから、アプリケーションとiSCSIセッションの対応関係を表す情報、および、そのアプリケーションもしくはiSCSIセッションの重要度を表す情報を定期的に取得する。そして、これらの情報を基に、図示するアプリケーションテーブルATを自動的に生成する。重要度は、管理者が業務サーバ100もしくは帯域制御装置500を用いて予め設定するパラメータである。本実施例では、重要度の数値が低いほど、そのアプリケーションもしくはiSCSIセッションの重要度が高いことを表す。なお、重要度は、例えば、業務サーバ100がアプリケーション毎にその起動頻度をカウントし、起動頻度が高いほど重要度が高いものとして自動的に設定するものとしてもよい。
【0036】
図4は、ポートテーブルPTの一例を示す説明図である。帯域制御装置500は、各装置が備えるネットワークインタフェースに対して固有の物理ポート識別子を自動的に割り当てる。そして、かかる情報に基づき、図示するポートテーブルPTを生成する。もちろん、この物理ポート識別子は、管理者が入力して割り当てるものとしてもよい。
【0037】
図5は、デフォルトゲートウェイテーブルGTの一例を示す説明図である。帯域制御装置500は、業務サーバ100やストレージ装置200の物理ポートに対してデフォルトゲートウェイとして割り当てられたルータの物理ポートに関する情報を、業務サーバ100およびストレージ装置200のiSCSIドライバから定期的に取得する。そしてこれらの情報を元に、図示するデフォルトゲートウェイテーブルGTを生成する。なお、本実施例では、デフォルトゲートウェイを物理ポートの識別子によって表したが、その物理ポートに対応するIPアドレスによって表すものとしてもよい。
【0038】
図6は、iSCSIセッションテーブルSTの一例を示す説明図である。帯域制御装置500は、業務サーバ100およびストレージ装置200のiSCSIドライバから、iSCSIセッションとそのiSCSIセッションが使用する物理ポートの対応関係を表す情報を定期的に取得し、図示するiSCSIセッションテーブルSTを自動的に生成する。
【0039】
図7は、帯域テーブルBTの一例を示す説明図である。帯域制御装置500は、業務サーバ100とストレージ装置200とルータ300とルータ400とから、それぞれの装置が保持しているIF情報を定期的に取得する。上述したように、IF情報には、主に、物理ポートの識別子、その物理ポートがサポートする最大の通信帯域、その物理ポートの現在の使用率、などの情報が含まれる。帯域制御装置500は、このIF情報を基に、図示する帯域テーブルBTを自動的に生成する。
【0040】
図8は、経路テーブルRTの一例を示す説明図である。帯域制御装置500は、各ルータからルーティング情報を定期的に取得し、その情報に基づき図示する経路テーブルRTを自動的に生成する。この経路テーブルRTは、ネットワーク経路がどの業務サーバとどのストレージ装置との間に確立されており、その経路がどの物理ポートによって構成されているかを表している。
【0041】
図9は、帯域管理テーブルMTの一例を示す説明図である。帯域制御装置500は、上述した、アプリケーションテーブルAT、ポートテーブルPT、デフォルトゲートウェイテーブルGT、iSCSIセッションテーブルST、帯域テーブルBT、経路テーブルRTを生成した後に、計算機システム1000内の回線を統括的に管理するため、これらのテーブルに基づき図示する帯域管理テーブルMTを自動的に生成する。
【0042】
C.帯域制御装置によって実行される処理:
図10は、各iSCSIセッションの通信帯域を調整するために帯域制御装置500が常時実行する帯域制御処理ルーチンのフローチャートである。始めに、帯域制御装置500は、計算機システム1000内に存在する全てのサーバとストレージ装置が有するiSCSIドライバと通信を行い、正常に通信が行えることを確認する(ステップS100)。通信不可であれば、モニタ550上に所定の表示を行うことで、その旨を警告として管理者に通知し(ステップS110)、通信可であれば、以降のステップに進む。
【0043】
帯域制御装置500は、業務サーバ100やストレージ装置200の有するiSCSIドライバからアプリケーションとiSCSIセッションの対応関係を表す情報を取得するとともに、予め管理者によって設定されたアプリケーションあるいはiSCSIセッションの重要度を表す情報を取得する。このとき、重要度を表す情報が取得できない場合は、管理者に対して重要度の設定を促す通知を行うものとしてもよい。そして、帯域制御装置500は、これらの情報を基に、図3に示したアプリケーションテーブルATを生成する(ステップS120)。
【0044】
次に、帯域制御装置500は、図4に示したポートテーブルPTを生成する(ステップS130)。そして、業務サーバ100とストレージ装置200とからデフォルトゲートウェイの情報を取得し、図5に示したデフォルトゲートウェイテーブルGTを生成する(ステップS140)。次に、各iSCSIドライバから、iSCSIセッションと物理ポートの対応関係が定義されたマップ情報を取得し、このマップ情報に基づき、図6に示したiSCSIセッションテーブルSTを生成する(ステップS150)。
【0045】
更に、帯域制御装置500は、計算機システム1000内の全ての装置からIF情報を取得し、このIF情報に基づき図7に示した帯域テーブルBTを生成する(ステップS160)。そして、ルータ300,400からルーティング情報を取得して、図8に示した経路テーブルを生成する(ステップS170)。
【0046】
帯域制御装置500は、ここまでの処理で生成したアプリケーションテーブルATと、ポートテーブルPTと、デフォルトゲートウェイテーブルGTと、iSCSIセッションテーブルSTと、帯域テーブルBTと、経路テーブルRTとの情報を基に、図9に示した帯域管理テーブルMTを生成する(ステップS180)。
【0047】
次に、帯域制御装置500は、上記ステップS180で生成した帯域管理テーブルMTに基づき、通信帯域が不足しているiSCSIセッション(以下、「帯域不足セッション」という)を検出する(ステップS190)。通信帯域が不足しているか否かは次のように判断する。すなわち、iSCSIセッションが確立されているネットワーク経路において、他の回線の帯域と所定の閾値以上(例えば3Gbps)の帯域の差(ギャップ)がある回線部分、すなわち、ボトルネックとなる回線部分が存在し、更に、そのボトルネックとなっている回線の使用率が所定の閾値(例えば80%など)以上となっている場合に、そのiSCSIセッションは帯域不足であると判断する。例えば、図9に示した帯域管理テーブルMTでは、セッション1が確立されているネットワーク経路1は、物理ポートP05〜P06間の帯域が10Gbpsであるのに対して、物理ポートP01〜P03間の帯域が5Gbpsであるため、この物理ポートP01〜P03間の回線がボトルネックとなっているといえる。また、この回線の使用率が100%となっていることから、セッション1の通信帯域が不足している判断されることになる。なお、帯域のギャップを求める際には、各装置がサポートしている最大通信帯域に基づきそのギャップを求めるものとしてもよいし、通信帯域の実測値に基づきギャップを求めるものとしてもよい。
【0048】
上記ステップS190の検出の結果、帯域不足セッションが検出されなかった場合には(ステップS200:No)、上記ステップS120に処理を戻す。一方、帯域不足セッションが検出された場合には(ステップS200:Yes)、この帯域不足セッションに対して、通信帯域の割り当てを行うiSCSIセッション(以下、「帯域割当セッション」という)の候補を選出する(ステップS210)。かかる処理では、帯域不足セッションよりも重要度もしくは回線使用率の低いiSCSIセッションのうち、帯域不足セッションのアクセス先と同じ論理ボリュームにアクセス可能なiSCSIセッション、すなわち、帯域不足セッションと同じストレージ装置にアクセスしているiSCSIセッションを選出する。
【0049】
次に、帯域制御装置500は、モニタ550上に帯域不足セッションが発生した旨を表示し、管理者に通知する(ステップS220)。なお、かかる通知は、音声によって行うものとしてもよい。
【0050】
図11は、モニタ550上に表示される通知の一例を示す説明図である。図示するように、本画面は、大別して、通知する内容の種別を表示する欄とその通知内容を表示する欄からなる。通知種別の欄には、「帯域不足セッションの検出」というメッセージを表示し、通知内容の欄には、帯域不足セッションを検出した日時と、帯域不足セッションに関する情報と、帯域割当セッションに関する情報と、全体でどれだけの帯域を確保すればよいのかを表す最大帯域とが表示される。なお、帯域割当セッションの候補が複数ある場合には、そのセッションの重要度や使用率の低い順に表示することが望ましい。なお、この画面には、帯域不足セッションに関する情報だけではなく、iSCSIドライバとの通信状態に関する情報や、iSCSIセッションの重要度の定義に関する情報など、様々な情報を表示することが可能である。
【0051】
説明を図10に戻す。上記ステップS220の後、帯域制御装置500は、モニタ550上に表示した帯域割当セッションの候補の中から管理者によって選択されるか、もしくは、重要度や回線使用率に応じて自動的に選択することにより、実際に帯域の割り当てを行うiSCSIセッションを選定する(ステップS230)。そして、業務サーバ100とストレージ装置200のiSCSIドライバに対して、帯域不足セッションと帯域割当セッションの識別子を通知し、帯域不足セッションに対して帯域割当セッションが用いるネットワーク経路の通信帯域を割り当てるよう要求する(ステップS240)。このとき、割り当てる回線容量を帯域割当セッションの重要度や回線使用率に応じて決定し、かかる割り当て容量をiSCSIドライバに対して通知するものとしてもよい。
【0052】
次に、帯域制御装置500は、帯域割当セッションが用いるネットワーク経路上の物理ポートの使用率が、管理者によって予め設定された閾値(例えば、70%)を下回るか否かを判断する(ステップS250)。閾値を下回る場合には、帯域割当セッションが用いる物理ポートを帯域不足セッションに対して開放し(ステップS260)、閾値を上回る場合には、開放を中止する(ステップS270)。なお、かかる処理では、物理ポートの使用率ではなく、例えば、帯域割当セッションが自己の通信で物理ポートを占有できる時間を閾値として設定するものとしてもよい。この場合、閾値を超過した場合に、帯域不足セッションに対して物理ポートを開放するものとする。帯域制御装置500は、以上で説明した帯域制御処理ルーチンを、繰り返して実行する。
【0053】
D.業務サーバおよびストレージ装置によって実行される処理:
図12は、業務サーバ100やストレージ装置200のiSCSIドライバによって常時実行される処理のフローチャートである。業務サーバ100やストレージ装置200は、帯域制御装置500からの情報取得要求を受信すると(ステップS300)、要求する情報の種類に応じて、アプリケーションとiSCSIセッションの対応関係を表す情報や重要度を表す情報、マップ情報、IF情報等を返信する(ステップS310)。
【0054】
次に、業務サーバ100やストレージ装置200は、帯域制御装置500から帯域の割当要求を受信すると(ステップS320)、帯域割当セッションが用いるネットワーク経路の一部または全部の帯域を帯域不足セッションに対して割り当てる(ステップS330)。帯域制御装置500から割り当てる回線容量の指定があった場合には、その指定に従い帯域を割り当てる。そして、帯域割当セッションのアクセス先を、帯域不足セッションのアクセス先に切り換える(ステップS340)。このとき、業務サーバ100やストレージ装置200は、LUNマスキング処理など、セキュリティ上の設定が必要であれば、これも併せて行う。業務サーバ100およびストレージ装置200は以上で説明した処理を繰り返し実行する。
【0055】
以上のように構成された本実施例の帯域制御装置500および計算機システム1000によれば、IPネットワーク内に通信帯域が不整合となる部分が存在していたとしても、通信帯域が不足しているiSCSIセッションに対して、他のiSCSIセッションが用いるネットワーク経路の通信帯域を動的に割り当てることができる。従って、IPネットワーク内の広帯域な回線を有効に活用することができるとともに、計算機システム1000全体の処理能力を向上させ、効率的にデータの転送を行うことが可能になる。また、サーバ装置100やストレージ装置200は、帯域制御装置500からの指示に従いセッション毎の帯域の調整を行えばよく、帯域調整のための煩雑な処理を行う必要がないため、計算機システム1000全体において処理分担の適正化を図ることができる。
【0056】
以上、本発明の実施例について説明したが、本発明はこのような実施例に限定されることなく、本発明の要旨を逸脱しない範囲において種々なる態様で実施し得ることは勿論である。例えば、帯域割当セッションの選定は、iSCSIセッションの重要度や物理ポートの使用率に基づき行うものとしたが、他のパラメータに基づき選定するものとしてもよい。
【0057】
また、上記実施例では、セッション1およびセッション2は、業務サーバ100とルータ300との間に、共に5Gbpsの通信帯域を有している場合を想定したが、実運用においては、必ずしも均等な帯域設計がされているとは限らない。従って、帯域制御装置500は、帯域割当セッションを選定する際、そのiSCSIセッションが単に目的の論理ボリュームにアクセス可能か否かに基づき判断するのではなく、複数のiSCSIセッションの候補の中からより適切な帯域を有するiSCSIセッションを選定するものとすることができる。
【0058】
また、上記実施例では、業務サーバ100側およびストレージ装置200側が狭帯域で、IPネットワーク内が広帯域の例を挙げたが、業務サーバ100側およびストレージ装置200側が広帯域で、IPネットワーク内が狭帯域という場合もあり得る。このような場合には、IPネットワーク内のボトルネックとなる回線を自動的に検出し、これに必要な帯域を確保するため、ルータ300,400に対して所定の指令を与えることで、IPネットワーク内の物理ポートを動的に変更するものとしてもよい。ルータに対しては、例えば、TELNET、HTTP、SNMPなどのプロトコル、あるいは、ルータ独自のプロトコルなどによってアクセスし、機器設定(コンフィグ)を変更するなどして、物理ポートの割り当てを変更することができる。
【0059】
また、上記実施例では、帯域制御装置500は、独立した装置であるものとして説明したが、業務サーバ100やストレージ装置200、ルータ300,400に組み込まれているものとしてもよい。また、上記実施例では、業務サーバ100とストレージ装置200とをIP−SANによって接続するものとしたが、FC−SANによって接続するものとしてもよい。
【図面の簡単な説明】
【0060】
【図1】計算機システム1000のハードウェア構成を示す説明図である。
【図2】計算機システム1000の論理的な構成を示す説明図である。
【図3】アプリケーションテーブルATの一例を示す説明図である。
【図4】ポートテーブルPTの一例を示す説明図である。
【図5】デフォルトゲートウェイテーブルGTの一例を示す説明図である。
【図6】iSCSIセッションテーブルSTの一例を示す説明図である。
【図7】帯域テーブルBTの一例を示す説明図である。
【図8】経路テーブルRTの一例を示す説明図である。
【図9】帯域管理テーブルMTの一例を示す説明図である。
【図10】帯域制御処理ルーチンのフローチャートである。
【図11】モニタ550上に表示される通知の一例を示す説明図である。
【図12】iSCSIドライバによって実行される処理のフローチャートである。
【符号の説明】
【0061】
1000...計算機システム
100...業務サーバ
200...ストレージ装置
300,400...ルータ
500...帯域制御装置
511...情報取得部
512...帯域不足検出部
513...帯域割当部
110,210,310,410,510...CPU
120,220,320,420,520...メモリ
130,230,530...ディスク装置
150,550...モニタ
AT...アプリケーションテーブル
PT...ポートテーブル
GT...デフォルトゲートウェイテーブル
BT...帯域テーブル
RT...経路テーブル
MT...帯域管理テーブル
P01〜P15...物理ポート
AP1,AP2...アプリケーション
LV1,LV2...論理ボリューム
【特許請求の範囲】
【請求項1】
ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御装置であって、
前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、
前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得する帯域情報取得部と、
前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出する検出部と、
前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる帯域割当部と
を備える帯域制御装置。
【請求項2】
請求項1に記載の帯域制御装置であって、
前記検出部は、前記セッションが用いるネットワーク経路中の少なくとも一部の回線の通信帯域が、他の部分の回線よりも狭小な通信帯域である場合に、該セッションの通信帯域が不足していると判断するものである
帯域制御装置。
【請求項3】
請求項2に記載の帯域制御装置であって、
前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置がサポートしている通信帯域に関する情報を取得するサポート帯域情報取得部を備え、
前記検出部は、前記サポート帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものである
帯域制御装置。
【請求項4】
請求項2に記載の帯域制御装置であって、
前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置における通信帯域の実測値に関する情報を取得する実測帯域情報取得部を備え、
前記検出部は、前記実測帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものである
帯域制御装置。
【請求項5】
請求項1〜4のいずれかに記載の帯域制御装置であって、
前記検出部は、前記帯域不足セッションを検出した場合に、該帯域不足セッションに関する情報を管理者に報知する手段を備える
帯域制御装置。
【請求項6】
請求項1〜5のいずれかに記載の帯域制御装置であって、
前記所定の指標とは、前記セッション毎に予め設定された該セッションの重要度であり、
前記帯域情報には、前記重要度を表す情報が含まれ、
前記帯域割当部は、前記重要度に基づき前記他のセッションを選定する手段を備える
帯域制御装置。
【請求項7】
請求項1〜6のいずれかに記載の帯域制御装置であって、
前記所定の指標とは、前記各セッションが用いるネットワーク経路の使用率であり、
前記帯域情報には、前記使用率を表す情報が含まれ、
前記帯域割当部は、前記使用率に基づき前記他のセッションを選定する手段を備える
帯域制御装置。
【請求項8】
請求項1〜7のいずれかに記載の帯域制御装置であって、
前記セッションは、前記サーバ装置で実行されるアプリケーションと、該アプリケーションのアクセス先である前記ストレージ装置内の論理ボリュームとの間で確立されており、
前記帯域割当部は、前記帯域不足セッションに対して通信帯域を割り当てる際に、前記他のセッションのアクセス先を、前記帯域不足セッションのアクセス先に切り換える手段を備える
帯域制御装置。
【請求項9】
ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御方法であって、
前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、
前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得し、
前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出し、
前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる
帯域制御方法。
【請求項10】
ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御するためのコンピュータプログラムであって、
前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、
前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得する機能と、
前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出する機能と、
前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項11】
請求項10に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御装置であって、
前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、
前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得する帯域情報取得部と、
前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出する検出部と、
前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる帯域割当部と
を備える帯域制御装置。
【請求項2】
請求項1に記載の帯域制御装置であって、
前記検出部は、前記セッションが用いるネットワーク経路中の少なくとも一部の回線の通信帯域が、他の部分の回線よりも狭小な通信帯域である場合に、該セッションの通信帯域が不足していると判断するものである
帯域制御装置。
【請求項3】
請求項2に記載の帯域制御装置であって、
前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置がサポートしている通信帯域に関する情報を取得するサポート帯域情報取得部を備え、
前記検出部は、前記サポート帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものである
帯域制御装置。
【請求項4】
請求項2に記載の帯域制御装置であって、
前記帯域情報取得部は、更に、前記サーバ装置と前記ストレージ装置と、前記ネットワーク中に介在するネットワーク機器とから、各装置における通信帯域の実測値に関する情報を取得する実測帯域情報取得部を備え、
前記検出部は、前記実測帯域情報取得部によって取得した情報に基づき、前記狭小な通信帯域の回線を検出するものである
帯域制御装置。
【請求項5】
請求項1〜4のいずれかに記載の帯域制御装置であって、
前記検出部は、前記帯域不足セッションを検出した場合に、該帯域不足セッションに関する情報を管理者に報知する手段を備える
帯域制御装置。
【請求項6】
請求項1〜5のいずれかに記載の帯域制御装置であって、
前記所定の指標とは、前記セッション毎に予め設定された該セッションの重要度であり、
前記帯域情報には、前記重要度を表す情報が含まれ、
前記帯域割当部は、前記重要度に基づき前記他のセッションを選定する手段を備える
帯域制御装置。
【請求項7】
請求項1〜6のいずれかに記載の帯域制御装置であって、
前記所定の指標とは、前記各セッションが用いるネットワーク経路の使用率であり、
前記帯域情報には、前記使用率を表す情報が含まれ、
前記帯域割当部は、前記使用率に基づき前記他のセッションを選定する手段を備える
帯域制御装置。
【請求項8】
請求項1〜7のいずれかに記載の帯域制御装置であって、
前記セッションは、前記サーバ装置で実行されるアプリケーションと、該アプリケーションのアクセス先である前記ストレージ装置内の論理ボリュームとの間で確立されており、
前記帯域割当部は、前記帯域不足セッションに対して通信帯域を割り当てる際に、前記他のセッションのアクセス先を、前記帯域不足セッションのアクセス先に切り換える手段を備える
帯域制御装置。
【請求項9】
ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御する帯域制御方法であって、
前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、
前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得し、
前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出し、
前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる
帯域制御方法。
【請求項10】
ネットワークによって接続されたサーバ装置とストレージ装置との間における通信帯域を制御するためのコンピュータプログラムであって、
前記サーバ装置は、前記ストレージ装置に対して論理的な通信路であるセッションを、セッション毎に異なるネットワーク経路を経由して複数確立しており、
前記セッション毎に該セッションが用いる通信帯域に関する帯域情報を取得する機能と、
前記帯域情報に基づき、通信帯域が不足している帯域不足セッションを検出する機能と、
前記帯域不足セッションに対して、帯域の割り当てに用いる所定の指標に基づき選定した他のセッションが用いるネットワーク経路の少なくとも一部の通信帯域を割り当てる機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項11】
請求項10に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2006−108955(P2006−108955A)
【公開日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−290946(P2004−290946)
【出願日】平成16年10月4日(2004.10.4)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願日】平成16年10月4日(2004.10.4)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]