JP4686564B2 - Load balancing system - Google Patents
Load balancing system Download PDFInfo
- Publication number
- JP4686564B2 JP4686564B2 JP2008087160A JP2008087160A JP4686564B2 JP 4686564 B2 JP4686564 B2 JP 4686564B2 JP 2008087160 A JP2008087160 A JP 2008087160A JP 2008087160 A JP2008087160 A JP 2008087160A JP 4686564 B2 JP4686564 B2 JP 4686564B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- controller
- disk array
- controllers
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、ホスト計算機と記憶装置間に複数のアクセスパスが存在するシステムに適用される負荷分散システムに関する。 The present invention relates to a load distribution system applied to a system in which a plurality of access paths exist between a host computer and a storage device.
従来、ホスト計算機に対して1個の記憶装置を設け、これらの間に複数のアクセスパスを存在させるようなシステムでは、アクセスパスを効率的に利用するため複数のアクセスパスに分散して入出力することで負荷分散を行うようにしたものがある。 Conventionally, in a system in which a single storage device is provided for a host computer and multiple access paths exist between them, input / output is distributed over multiple access paths to efficiently use the access paths. There are some that do load balancing.
しかし、このような負荷分散を採用したシステムによると、負荷分散アルゴリズムとして、発生する入出力要求を複数のアクセスパスに対してラウンドロビンにて送付するラウンドロビン方式を採用したものでは、例えば、連続した領域からデータを順に読み込む、所謂シーケンシャルリードを負荷分散すると、システム性能が低下することがある。その原因は2つあり、1つ目は記憶装置、例えばディスクアレイ装置として複数のコントローラと単一のLU(Logical Unit)を有するものでは、シーケンシャルリードの要求を複数の要求に分割し複数のアクセスパスに分散して各コントローラに対して発行すると、その分散された要求を受け取るコントローラは、交互に読み込み要求が入力され、各コントローラ側からみると、読み込み要求のデータ領域が不連続となるため、シーケンシャルリードであることを判定する精度が低下し、先読みを失敗する確立が高くなることがある。また、2つ目は各コントローラが単一のLUの同一アドレスに多重にリードすることがありディスクの負荷増大が生じる。 However, according to such a system using load balancing, a load balancing algorithm that uses a round robin method that sends generated I / O requests to multiple access paths in a round robin manner is, for example, continuous If the so-called sequential read, in which data is read sequentially from the designated area, is load-balanced, the system performance may deteriorate. There are two causes, and the first is a storage device, for example, a disk array device having a plurality of controllers and a single LU (Logical Unit). When issued to each controller distributed to the path, the controller that receives the distributed request is alternately input a read request, and when viewed from each controller side, the data area of the read request becomes discontinuous, In some cases, the accuracy of determining that the read is sequential decreases, and the probability that prefetching fails will increase. Second, each controller may read multiple times to the same address of a single LU, increasing the load on the disk.
そこで、例えば特許文献1に開示されるように、ホストコンピュータに対してデータ記憶装置を設け、ランダムアクセスは複数のアクセスパスを使用して負荷を分散し、シーケンシャルな読出し要求については単一のアクセスパスを使用するようにしたものがある。
しかし、特許文献1のものは、シーケンシャルリードで単一のアクセスパスを使用し負荷分散ができないため、単一アクセスパスに接続されるコントローラに読み書き要求が集中してしまい負荷増大を招くとともに、単一アクセスパスの使用帯域に余裕がなくなるなどシステムの性能の低下を招くことがあった。
However, in
本発明は上記事情に鑑みてなされたもので、シーケンシャルリードを始め、各種のリードに対して良好な負荷分散を可能にした負荷分散システムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a load distribution system that enables good load distribution to various leads including sequential reads.
本発明にかかる負荷分散システムは、
ホスト計算機と、
複数のコントローラ及び該コントローラにより読み書きが制御される記憶部本体を有する第1の記憶装置と、
複数のコントローラ及び該コントローラにより読み書きが制御される、前記第1の記憶装置に書き込まれたデータの複製データを記憶した記憶部本体を有する第2の記憶装置と、
前記ホスト計算機と前記第1及び第2の記憶装置の各コントローラとの間に接続される複数のアクセスパスと、
を具備し、
前記ホスト計算機は、シーケンシャルな読み込み要求に対し、前記第1及び第2の記憶装置それぞれの複数のコントローラについて前記アクセスパスを選択し、前記第1及び第2の記憶装置に対し分散して要求を発行し、
前記第1及び第2の記憶装置は、各コントローラに読み込み範囲を記録したリードテーブルを有し、
前記ホスト計算機は、シーケンシャルな読み込み要求に対し、前記シーケンシャルな読み込み要求の範囲と前記リードテーブルに記録された読み込み範囲との比較結果に応じて、前記リードテーブルが存在するコントローラのアクセスパスを選択し、前記第1及び第2の記憶装置に対し分散して要求を発行することを特徴としている。
The load distribution system according to the present invention is:
A host computer,
A first storage device having a plurality of controllers and a storage unit body whose reading and writing are controlled by the controllers;
A second storage device including a plurality of controllers and a storage unit main body storing duplicate data of data written to the first storage device, the reading and writing of which are controlled by the controller;
A plurality of access paths connected between the host computer and the controllers of the first and second storage devices;
Comprising
In response to a sequential read request, the host computer selects the access path for each of the controllers of the first and second storage devices, and distributes the requests to the first and second storage devices. Issue ,
Each of the first and second storage devices has a read table in which a reading range is recorded in each controller;
In response to the sequential read request, the host computer selects the access path of the controller in which the read table exists according to the comparison result between the sequential read request range and the read range recorded in the read table. The requests are distributed to the first and second storage devices .
本発明によれば、シーケンシャルリードを始め、各種のリードに対して良好な負荷分散を可能にした負荷分散システムを提供できる。 According to the present invention, it is possible to provide a load distribution system that enables good load distribution for various leads including sequential reads.
以下、本発明の実施の形態を図面に従い説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかる負荷分散システムの全体ブロック図を示している。図1において、100はホスト計算機で、このホスト計算機100には、第1の記憶装置として、マスターディスクアレイ装置200及び第2の記憶装置としてサブディスクアレイ装置300がそれぞれ接続されている。マスターディスクアレイ装置200は、2個のコントローラ210、220及び記憶部本体としてのLU(Logical Unit)230を有し、サブディスクアレイ装置300は、2個のコントローラ310、320及びLU(Logical Unit)330を有している。マスターディスクアレイ装置200のコントローラ210、220は、アクセスパスとしてのFC(Fiber Channel)ケーブル401、402を各別に介してホスト計算機100に接続され、ホスト計算機100の要求によりLU230に対する書き込み、読み込みなどをコントロールする。同様に、サブディスクアレイ装置300のコントローラ310、320も、FCケーブル403、404を各別に介してホスト計算機100に接続され、ホスト計算機100の指示によりLU330に対する書き込み、読み込みなどをコントロールする。この場合、LU330は、LU230に書き込まれたデータの複製を有するものである。
(First embodiment)
FIG. 1 shows an overall block diagram of a load distribution system according to a first embodiment of the present invention. In FIG. 1,
マスターディスクアレイ装置200のコントローラ210とサブディスクアレイ装置300のコントローラ310との間は、FCケーブル411で接続され、同様に、マスターディスクアレイ装置200のコントローラ220とサブディスクアレイ装置300のコントローラ320との間は、FCケーブル412で接続されている。これらFCケーブル411、412は、マスターディスクアレイ装置200とサブディスクアレイ装置300との間の通信を行うためのものである。
The
なお、マスターディスクアレイ装置200のLU230とサブディスクアレイ装置300のLU330は、同一容量のものが1対1の組で存在し、これらLU230とLU330は同期式でミラーリングしている。
Note that the
図2は、ホスト計算機100の部分ブロック図を示している。
FIG. 2 shows a partial block diagram of the
この場合、ホスト計算機100は、ソフトウェア構成として大きく分けると、アプリケーション101、ファイルシステム102、負荷分散ドライバ110及び物理デバイス(デバイスファイル)131〜134により構成されている。アプリケーション101は、マスターディスクアレイ装置200及びサブディスクアレイ装置300に対しファイルシステム102以下を介してデータの読み書きを行う。
In this case, the
ファイルシステム102は、ファイルに対する読み書き要求をブロックレベルの読み書き要求に変換する。ここでのブロックレベルの読み書き要求とは、読み書き属性、読み書きセクタアドレス、読み書きセクタ数等の情報を含むものである。また、ファイルシステム102は、一般的なオペレーティングシステムにおいては、読み込み要求の読み込み領域が複数連続していることを検出した場合に先読みを実施し、リードキャッシュに先読みしたデータを保持する動作をする。そのため、ここでのファイルシステム102は、アプリケーション101が発行する不連続な読み込み要求の読み込み領域を、サイズの大きな連続データを読み込むためのシーケンシャルリード要求に変換する。
The
負荷分散ドライバ110は、物理的に接続されたアクセスパス(上述したFCケーブル401〜404に相当する。)にデータ読み書き要求を分割して振り分ける。物理デバイス131〜134は、マスターディスクアレイ装置200のLU230及びサブディスクアレイ装置300のLU330がホスト計算機100上でデバイスファイルとして認識されるものである。これら物理デバイス131〜134には、上述したFCケーブル401〜404が各別に接続されている。
The
負荷分散ドライバ110は、分散制御部111、I/O種別判定部112及びパス情報テーブル113から構成されている。分散制御部111は、負荷分散を制御するもので、詳細は後述する。
The
I/O種別判定部112は、読み書き要求の種別を判定する。この場合、I/O種別判定部112は、分散制御部111より渡される読み書き要求に基づいて書き込み要求(ランダムとシーケンシャルの両方を含む)、ランダムリード(ランダムな読み込み要求)、シーケンシャルリード(シーケンシャルな読み込み要求)の3つのパターンのいずれかを判断する。ここで、シーケンシャルリードは、連続した領域からデータを順に読み込む方式で、ランダムリードは、順序に関係なく任意の位置からデータを読み込む方式である。
The I / O
読み込み要求か書き込み要求かの判定は要求に含まれる読み書き属性から判定する。また、シーケンシャルリードであるかランダムリードかの判定は、読み込み要求の情報として含まれる読み込みセクタ数がある一定数以上(例えば1024セクタ)の場合にシーケンシャルリードであると判定し、それ以外はランダムリードと判定する。 Whether the request is a read request or a write request is determined from the read / write attribute included in the request. Whether the read is sequential read or random read is determined as sequential read when the number of read sectors included in the read request information is a certain number or more (for example, 1024 sectors), otherwise random read. Is determined.
パス情報テーブル113は、ホスト計算機100と接続されたすべてのディスクアレイ装置、つまりマスターディスクアレイ装置200及びサブディスクアレイ装置300に対するアクセスパスの情報を保持する。
表1は、パス情報テーブル113の一例を示すもので、「パス番号」、「装置種別」、「コントローラ番号」、「使用フラグ」の各項目を有している。「パス番号」には、アクセスパスごと、つまり上述したFCケーブル401〜404ごとに割り当てられる0、1、2、3の通し番号が書き込まれる。「装置種別」には、パス番号0、1、2、3に対応させてディスクアレイ装置の種別、ここでは、パス番号0、1(FCケーブル401、402に割り当てられたパス番号)に対応させてマスターディスクアレイ装置200を表す「マスター」、パス番号2、3(FCケーブル403、404に割り当てられたパス番号)に対応させてサブディスクアレイ装置300を表す「サブ」が書き込まれる。「コントローラ番号」には、パス番号0、1に対応させてマスターディスクアレイ装置200のコントローラ210,220をそれぞれ表す「0」「1」、パス番号2、3に対応させてサブディスクアレイ装置300のコントローラ310,320をそれぞれ表す「0」「1」がそれぞれ書き込まれる。さらに「使用フラグ」には、パス番号0、1、2、3に対応させてコントローラ210,220、310,320の使用状況を表す、図示のような「ON」又は「OFF」が書き込まれている。なお、このようなパス情報テーブル113は、ホスト計算機100の起動時に、ホスト計算機100に接続された全てのディスクアレイ装置、つまり、マスターディスクアレイ装置200及びサブディスクアレイ装置300からの情報に基づいて生成される。
Table 1 shows an example of the path information table 113, and has items of “path number”, “device type”, “controller number”, and “use flag”. In the “path number”,
次に、このように構成された実施の形態の作用を説明する。 Next, the operation of the embodiment configured as described above will be described.
まず、ホスト計算機100によるデータの読み書きについて簡単に説明する。
First, data reading / writing by the
データ書込みの場合、例えば、ホスト計算機100がマスターディスクアレイ装置200のコントローラ210に対しLU230へのデータ書き込みを要求すると、コントローラ210はLU230ヘデータを書き込む。LU230へのデータ書き込みが完了すると、FCケーブル411を経由してサブディスクアレイ装置300のコントローラ310に対してLU330へのデータ書き込みを要求する。そして、LU330へのデータ書込みが終了すると、コントローラ310はFCケーブル411を経由してコントローラ210に書き込み終了を通知し、この通知を受けたコントローラ210はホスト計算機100へ書き込み完了を通知し、データ書き込みを完了する。
In the case of data writing, for example, when the
また、ホスト計算機100によるマスターディスクアレイ装置200のコントローラ220に対するLU230へのデータ書き込み要求についても上述したと同様に行われる。
Further, the
このように、ホスト計算機100によるデータ書き込み要求は、マスターディスクアレイ装置200のコントローラ210および220でのみ受付けられ、サブディスクアレイ装置300のコントローラ310および320での受付は拒否される。
As described above, the data write request by the
次に、データ読み込みの場合、例えば、ホスト計算機100がマスターディスクアレイ装置200のコントローラ210に対してデータ読み込みを要求すると、コントローラ210は、LU230からのデータの読み込みを行い、この読み込みが完了すると、ホスト計算機100に直ちにデータ読み込み完了を通知する。
Next, in the case of data reading, for example, when the
このようなデータ読み込み要求は、マスターディスクアレイ装置200及びサブディスクアレイ装置300のすべてのコントローラ210、220、310、320で受け付けることができる。したがって、この状態では、マスターディスクアレイ装置200とサブディスクアレイ装置300との間のFCケーブル411、412を介した通信は行われない。
Such a data read request can be accepted by all the
このようにしてホスト計算機100は、マスターディスクアレイ装置200に対してデータの読み書きを要求でき、サブディスクアレイ装置300に対してデータの読み込みのみを要求できる。
In this way, the
次に、各種要求に対する負荷分散について説明する。 Next, load distribution for various requests will be described.
この場合、ホスト計算機100に負荷分散ドライバ110を実装し、シーケンシャルリードおよびランダムリードをマスターディスクアレイ装置200及びサブディスクアレイ装置300に分散して発行することにより、負荷の低減を図る。
In this case, the
いま、ホスト計算機100のアプリケーション101がマスターディスクアレイ装置200及びサブディスクアレイ装置300に対しデータの読み書き要求を発行すると、このデータの読み書き要求は、ファイルシステム102が受け取る。
Now, when the
ファイルシステム102は、読み書き要求を、読み書き属性、読み書きセクタアドレス、読み書きセクタ数等の情報を含むブロックレベルの読み書き要求に変換する。この変換されたブロックレベルの読み書き要求は、分散制御部111に渡される。分散制御部111は、I/O種別判定部112に読み書き要求を渡し、I/O種別判定部112は、書き込み要求(ランダムとシーケンシャルの両方を含む)、ランダムリード、シーケンシャルリードの3パターンのいずれかを判断する。この場合、読み込み要求か書き込み要求かの判定は要求に含まれる読み書き属性から判定する。また、読み込み要求のうちシーケンシャルリードであるかランダムリードかの判定は、読み込み要求の情報として含まれる読み込みセクタ数がある一定数以上の場合(例えば1024セクタ)にシーケンシャルリードであると判定し、それ以外はランダムリードと判定する。
The
I/O種別判定部112での判定結果は、分散制御部111に渡され、分散制御部111は、上述の3つのパターンに応じて分散するアクセスパスを決定する。例えば、I/O種別判定部112での判定により読み書き要求がシーケンシャルリードでもランダムリードでもない、つまり書き込み要求の場合は、上述したようにマスターディスクアレイ装置200のコントローラ210および220でのみが受付け可能なことから、分散制御部111は、表1のパス情報テーブル113を参照して、「パス番号」の「0」「1」に対応するマスターディスクアレイ装置200のコントローラ番号「0」「1」のコントローラ210および220を選択し、これらコントローラ210および220に対応する物理デバイス131、132よりFCケーブル401、402(アクセスパス)に分散して要求を発行する。この分散アルゴリズムとしては、交互に発行するラウンドロビン方式やキュー内の要求が少ないパスに発行する方式などが考えられるが、それらの分散アルゴリズムの中から1つを選択して使用する。
The determination result in the I / O
次に、I/O種別判定部112により読み書き要求がランダムリードであると判定された揚合は、上述したようにマスターディスクアレイ装置200及びサブディスクアレイ装置300のすべてのコントローラ210、220、310、320で受け付け可能なので、分散制御部111は、表1のパス情報テーブル113を参照して、「パス番号」の「0」〜「3」に対応するマスターディスクアレイ装置200及びサブディスクアレイ装置300のそれぞれコントローラ番号「0」「1」のコントローラ210、220、310、320の全てを選択し、これらコントローラ210、220、310、320に対応する物理デバイス131、132、133、134よりFCケーブル401〜404(アクセスパス)に分散して要求を発行する。この場合の分散アルゴリズムもラウンドロビン方式やキュー内の要求が少ないパスに発行する方式のいずれか1つを選択して使用する。
Next, when the I / O
次に、I/O種別判定部112により読み書き要求がシーケンシャルリードであると判定されると、この場合も、上述したようにマスターディスクアレイ装置200及びサブディスクアレイ装置300のすべてのコントローラ210、220、310、320で受け付け可能であり、分散制御部111は、表1のパス情報テーブル113を参照するとともに図3に示すフローチャートを実行して分散先のアクセスパスを決定する。この場合、図3において、まず、ステップ301で、コントローラ番号Xを「0」に設定し、ステップ302で、パス情報テーブル113を参照しコントローラ番号が「0」の行、ここでは、パス番号0、2の行を参照する。次に、ステップ303で、コントローラX(=「0」)の存在によりnoと判断され、ステップ304に進み、コントローラ番号が「0」の行の使用フラグがONかを判断する。この場合、パス番号0、2の行の使用フラグは、いずれもONなので、yesと判断され、ステップ305に進み、(「X+1」→X(=「1」)にして、ステップ302に戻る。そして、再びパス情報テーブル113を参照し、今度は、コントローラ番号が「1」の行、ここでは、パス番号1、3の行を参照する。そして、ステップ303で、コントローラX(=「1」)の存在によりnoと判断され、ステップ304に進み、コントローラ番号が「1」の行の使用フラグがONかを判断する。この場合、パス番号1、3の行の使用フラグは、いずれもOFFなので、noと判断されてステップ306に進み、マスターディスクアレイ装置200のコントロール番号「1」のコントローラ220とサブディスクアレイ装置300のコントロール番号「1」のコントローラ320の使用フラグをONにし、このONにしたパス番号1、3を結果として出力する。これにより、コントローラ220および320に対応する物理デバイス132、134よりFCケーブル402、404(アクセスパス)に分散して要求が発行される。この場合の分散アルゴリズムは、ラウンドロビン方式を選択する。一方、パス情報テーブル113の「パス番号」0、1、2、3に対応する使用フラグが、例えば全て「OFF」である場合は、ステップ302で、パス情報テーブル113を参照し「コントローラ番号」が「0」の行、ここでは、パス番号0、2の行を参照し、ステップ303を通ってステップ304に進み、コントローラ番号が「0」の行の使用フラグがONか判断すると、パス番号0、2の行の使用フラグは、いずれもOFFなので、直ちにステップ306に進み、マスターディスクアレイ装置200のコントロール番号「0」のコントローラ210とサブディスクアレイ装置300のコントロール番号「0」のコントローラ310の使用フラグをONにし、このONにしたパス番号を0、2を結果として出力する。これにより、コントローラ210および310に対応する物理デバイス131、133よりFCケーブル401、403(アクセスパス)に分散して要求が発行される。この場合も分散アルゴリズムは、ラウンドロビン方式を選択する。
Next, when the I / O
なお、図3のフローチャートにおいて、ステップ303で、コントローラXが存在しないと判断した場合は、ステップ307に進み、パス番号の中からランダムに1のパス番号を選択して要求を発行する。
In the flowchart of FIG. 3, if it is determined in
最後に、シーケンシャルリードの要求が完了すると、パス情報テーブル113の「使用フラグ」に記録されたフラグを元の状態にクリアする。 Finally, when the sequential read request is completed, the flag recorded in the “use flag” in the path information table 113 is cleared to the original state.
したがって、このようにすれば、負荷分散ドライバ110を実装したホスト計算機100に対し、記憶装置として2個のマスターディスクアレイ装置200及びサブディスクアレイ装置300を接続し、これらマスターディスクアレイ装置200及びサブディスクアレイ装置300に対して各種要求を分散して発行するようにした。つまり、データの書き込み要求の場合は、マスターディスクアレイ装置200のコントローラ210、220のアクセスパスを選択し分散して発行し、ランダムリードの要求の場合は、マスターディスクアレイ装置200及びサブディスクアレイ装置300のすべてのコントローラ210、220、310、320のアクセスパスを選択し、分散して発行し、さらに、シーケンシャルリードの要求の場合は、マスターディスクアレイ装置200とサブディスクアレイ装置300から1つずつのアクセスパスを選択し分散して発行するようにして、全てのリードに対し良好な負荷分散を可能にした。特に、シーケンシャルリードの要求の場合は、パス情報テーブル113の参照と、図3に示すフローチャートの実行により、マスターディスクアレイ装置200とサブディスクアレイ装置300のそれぞれコントローラ番号「0」のコントローラ210,310の組み合せのパターン、又はマスターディスクアレイ装置200とサブディスクアレイ装置300のそれぞれコントローラ番号「1」のコントローラ220,320の組み合せのパターンを取得し、これらパターンごとに、それぞれのアクセスパスを選択し、シーケンシャルリード要求を分散して発行することができるので、シーケンシャルな読み込み性能を向上させることができる。また、このようにシーケンシャルリードでは、要求の発行先を異なる複数のディスクアレイ装置(マスターディスクアレイ装置200及びサブディスクアレイ装置300)に分散できることは、マスターディスクアレイ装置200のコントローラ210(220)、サブディスクアレイ装置300のコントローラ310(320)が同一LUの同一領域から多重にデータを読み込むようなことがなくなり、LUへの負荷増大を防ぐことができる。さらに、シーケンシャルリードでは、マスターディスクアレイ装置200及びサブディスクアレイ装置300において、シーケンシャルリードに対する先読みをサポートしているような場合、シーケンシャルリードがラウンドロビン方式によって分割されると読み込み要求のデータ領域が不連続となるため、シーケンシャルリードの検出精度の低下が考えられるが、マスターディスクアレイ装置200及びサブディスクアレイ装置300において、不連続、かつ一方向の読み込み要求についてはシーケンシャルリードとして検出できるようにしておけば何ら問題がない。この場合、シーケンシャルリードをラウンドロビン方式によって分割すると、分割された要求は不連続であるが、受信した要求のセクタアドレスが必ず増加することから、過去の要求履歴を参照することでシーケンシャルアクセスと判定することは容易である。
Therefore, in this case, the two master
また、ランダムリードの要求の場合、マスターディスクアレイ装置200及びサブディスクアレイ装置300のすべてのコントローラ210、220、310、320のアクセスパスを選択し、分散して要求を発行することができるので、ランダムな読み込みの性能を向上させることもできる。
In the case of a random read request, the access paths of all the
なお、第1の実施の形態では、ホスト計算機100とマスターディスクアレイ装置200およびサブディスクアレイ装置300との間がFCケーブル401〜404で接続されているが、これに代えてFCスイッチを経由して接続するようにしてもよい。また、図1では、簡便のためにマスターディスクアレイ装置200は2個のコントローラ210、220、サブディスクアレイ装置300も2個のコントローラ310、320をそれぞれ有するようにしたが、マスターディスクアレイ装置200及びサブディスクアレイ装置300は、それぞれコントローラを3個以上としても構わない。また、マスターディスクアレイ装置200およびサブディスクアレイ装置300は、同一容量のLU230とLU330が1組存在する場合を示しているが、マスターディスクアレイ装置200内のLUとサブディスクアレイ装置300内のLUの容量が同一であること、1対1の組であることの条件を満たせば、LUの組は複数存在しても構わない。LUが複数ある揚合は、LUごとにパス情報テーブルをもたせることにより、LUごとに負荷分散することも可能となる。また、図1では、簡便のために1台のホスト計算機100の場合を示しているが、FCスイッチを利用することで複数台接続することができる。ホスト計算機100が複数台接続された場合、一般に異なるホスト計算機は異なるLUを使用するため、適切に負荷を分散することができる。
In the first embodiment, the
(第2の実施の形態)
次に、本発明の第2の実施の形態を説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described.
図4は、本発明の第2の実施の形態にかかる負荷分散システムの全体ブロック図を示すもので、図1及び図2と同一部分には同符号を付して説明を省略する。 FIG. 4 is an overall block diagram of the load distribution system according to the second exemplary embodiment of the present invention. The same parts as those in FIG. 1 and FIG.
この場合、マスターディスクアレイ装置200は、各コントローラ210、220にリードテーブル211,221が各別に接続され、サブディスクアレイ装置300は、各コントローラ310、320にリードテーブル311,321が各別に接続されている。リードテーブル211は、表2に示すように読み込み範囲を表す「先頭セクタアドレス」及び「セクタ数」の各フィールドをもつテーブルからなるもので、初期値は0(図5に示すフローチャートではφで表記している。)である。他のリードテーブル221、311,321についても同様である。また、分散制御部111には、負荷分散のアクセスパスを決定する図5に示すアルゴリズムが追加されている。
その他は、図1及び図2と同様である。 Others are the same as FIG.1 and FIG.2.
この場合、分散制御部111は、I/O種別判定部112により要求が書き込み要求あるいはランダムリードと判定された場合は、第1の実施の形態で述べたと同様に分散先のアクセスパスを選択し、分散して要求を発行する。
In this case, if the request is determined to be a write request or random read by the I / O
次に、I/O種別判定部112により読み書き要求がシーケンシャルリードであると判定されると、分散制御部111は、図5に示すフローチャートを実行して負荷分散するアクセスパスを決定する。
Next, when the I / O
この場合、以下述べる(1)〜(4)の4つパターンでアクセスパスが選択される。 (1)マスターディスクアレイ装置200とサブディスクアレイ装置300に空のリードテーブルがそれぞれ存在する場合で、この場合、マスターディスクアレイ装置200のコントローラ番号(i)=0のコントローラ210、サブディスクアレイ装置300のコントローラ番号(j)=0のコントローラ310が用いられ、コントローラ210のリードテーブル211の読み込み範囲Tm(i)とコントローラ310のリードテーブル311の読み込み範囲Ts(j)がそれぞれ初期値φである。
In this case, the access path is selected in the following four patterns (1) to (4). (1) When there are empty read tables in the master
この状態からステップ501で、分散制御部111は、シーケンシャルリードの読み込み範囲Rと、マスターディスクアレイ装置200のコントローラ210のリードテーブル211に記録された読み込み範囲Tm(i)と、サブディスクアレイ装置300のコントローラ310のリードテーブル311に記録された読み込み範囲Ts(j)を順に読み込む。ここで、読み込み範囲Rは、ファイルシステム102から渡された、読み込みセクタアドレス及びセクタ数により求められる。
In this state, in step 501, the
次に、ステップ502に進み、シーケンシャルリードの読み込み範囲Rとリードテーブル211の読み込み範囲Tm(i)、シーケンシャルリードの読み込み範囲Rとリードテーブル311の読み込み範囲Ts(j)をそれぞれ比較する。この場合、読み込み範囲Tm(i)、Ts(j)は、ともに初期値φで、これら初期値φの読み込み範囲Tm(i)、Ts(j)には読み込み範囲Rが含まれることがないのでnoと判断され、ステップ503に進む。このステップ503でも、シーケンシャルリードの読み込み範囲Rとリードテーブル211の読み込み範囲Tm(i)、シーケンシャルリードの読み込み範囲Rとリードテーブル311の読み込み範囲Ts(j)をそれぞれ比較する。この場合、読み込み範囲Tm(i)、Ts(j)は、ともに初期値φで、これら初期値φの読み込み範囲Tm(i)、Ts(j)がシーケンシャルリードの読み込み範囲Rに含まれることがないのでnoと判断され、ステップ504に進む。
In
ステップ504では、読み込み範囲Tm(i)、Ts(j)が、ともに初期値φで、空のリードテーブル211、311が存在するので、yesと判断され、ステップ505に進む。ステップ505では、リードテーブル221の読み込み範囲Tm(i)とリードテーブル311の読み込み範囲Ts(j)にシーケンシャルリードの読み込み範囲Rを記録し、これらリードテーブル221及び311が存在するコントローラ210、310のアクセスパスを選択する。
In
(2)シーケンシャルリードの読み込み範囲Rを包含する読み込み範囲を有するリードテーブルがマスターディスクアレイ装置200およびサブディスクアレイ装置300にそれぞれ存在する場合である。この場合も、マスターディスクアレイ装置200のコントローラ番号(i)=0のコントローラ210、サブディスクアレイ装置300のコントローラ番号(j)=0のコントローラ310が用いられる。この状態から、ステップ501で、分散制御部111は、シーケンシャルリードの読み込み範囲Rと、マスターディスクアレイ装置200のコントローラ210のリードテーブル211の読み込み範囲Tm(i)と、サブディスクアレイ装置300のコントローラ310のリードテーブル311の読み込み範囲Ts(j)を順に読み込む。
(2) This is a case where a read table having a read range including a sequential read read range R exists in the master
そして、ステップ502に進み、シーケンシャルリードの読み込み範囲Rとリードテーブル211の読み込み範囲Tm(i)、シーケンシャルリードの読み込み範囲Rとリードテーブル311の読み込み範囲Ts(j)をそれぞれ比較する。この場合、読み込み範囲Tm(i)、Ts(j)はシーケンシャルリードの読み込み範囲Rを含むので、yesと判断され、ステップ506に進み、これら読み込み範囲Tm(i)、Ts(j)を有するリードテーブル211、311が存在するコントローラ210、310のアクセスパスを選択する。
In
(3)上述の(2)のパターンとは逆にシーケンシャルリードの読み込み範囲Rがマスターディスクアレイ装置200及びサブディスクアレイ装置300のリードテーブルの読み込み範囲を包含する場合である。この場合も、マスターディスクアレイ装置200のコントローラ番号(i)=0のコントローラ210、サブディスクアレイ装置300のコントローラ番号(j)=0のコントローラ310が用いられる。この状態から、ステップ501で、分散制御部111は、シーケンシャルリードの読み込み範囲Rと、マスターディスクアレイ装置200のコントローラ210のリードテーブル211に記録された読み込み範囲Tm(i)と、サブディスクアレイ装置300のコントローラ310のリードテーブル311に記録された読み込み範囲Ts(j)を順に読み込む。そして、ステップ502に進み、シーケンシャルリードの読み込み範囲Rとリードテーブル211の読み込み範囲Tm(i)、シーケンシャルリードの読み込み範囲Rとリードテーブル311の読み込み範囲Ts(j)をそれぞれ比較する。この場合、読み込み範囲Tm(i)、Ts(j)がシーケンシャルリードの読み込み範囲Rを含まないので、noと判断され、ステップ503に進み、シーケンシャルリードの読み込み範囲Rとリードテーブル211の読み込み範囲Tm(i)、シーケンシャルリードの読み込み範囲Rとリードテーブル311の読み込み範囲Ts(j)をそれぞれ比較する。この場合、読み込み範囲Tm(i)、Ts(j)は、ともにシーケンシャルリードの読み込み範囲Rに含まれるのでyesと判断され、ステップ505に進み、これらシーケンシャルリードの読み込み範囲Rを読み込み範囲Tm(i)、Ts(j)に上書きし、これら読み込み範囲Tm(i)、Ts(j)を有するリードテーブル211、311が存在するコントローラ210、310のアクセスパスを選択する。
(3) Contrary to the above pattern (2), the sequential read read range R includes the read table read ranges of the master
そして、(4)上記(1)〜(3)のいずれの条件にも合致しない場合は、ステップ501〜504を介してステップ507に進み、アクセスパスをランダムに1つ選択する。 (4) If none of the above conditions (1) to (3) is met, the process proceeds to step 507 via steps 501 to 504, and one access path is selected at random.
マスターディスクアレイ装置200のコントローラ210、サブディスクアレイ装置300のコントローラ310は、それぞれのリードテーブル211、311に記録された範囲のデータ読み込み要求が完了したらリードテーブル211、311の情報をクリアする。
The
なお、上述では、コントローラ(i)としてコントローラ210、コントローラ(j)としてコントローラ310を用いる場合を述べたが、コントローラ(i)としてコントローラ220、コントローラ(j)としてコントローラ320を用いる場合も同様に実施できる。
In the above description, the
したがって、このようにしても第1の実施の形態と同様な効果を得ることができる。さらに、マスターディスクアレイ装置200の各コントローラ210、220にリードテーブル211,221を、サブディスクアレイ装置300の各コントローラ310、320にリードテーブル311,321をそれぞれ設け、これらリードテーブル211、221、311、321にアクセスパス決定のための書き込み範囲Tm(i)、Ts(j)を記録するようにした。これによりマスターディスクアレイ装置200及びサブディスクアレイ装置300は、シーケンシャルリードする範囲を明確に知ることができるので、負荷分散によってシーケンシャルリードが不連続な要求に分割されても、シーケンシャルリードの判定精度が低下することによる先読み失敗の問題を解消することができる。また、ホスト計算機が複数あるような場合、これら複数のホスト計算機が同一のアクセスパス決定のための情報を各リードテーブル211、221、311、321の内容を参照することで把握できるので、同一の領域に対して複数のシーケンシャルリードを行うような場合、複数のホスト計算機が同一のコントローラ210、220、310、320を使用できるようになり、コントローラ210、220、310、320の不図示のリードキャッシュを効率的に使用することもできる。
Therefore, even if it does in this way, the effect similar to 1st Embodiment can be acquired. Further, read tables 211 and 221 are provided in the
なお、読み込み中にホスト計算機100とマスターディスクアレイ装置200の間、又はホスト計算機100とサブディスクアレイ装置300の間のケーブルが切断される等の障害が発生すると、それぞれのリードテーブル211、221、311、321の情報が永久にクリアされなくなることがある。このため、リードテーブル211、221、311、321は、タイムアウトを備えるものとする。すなわち、これらリードテーブル211、221、311、321を有するコントローラ210、220、310、320は、それぞれタイマーを有し、このタイマーは、常にレジスタの数値をカウントアップし、ホスト計算機100からの要求を受信するとレジスタを0クリアする。ホスト計算機100からの要求が途絶えレジスタのカウント値が溢れるとリードテーブルを0クリアする。タイムアウト時間は1分程度になるようにすることが望ましい。また、第2の実施の形態では簡便のためにマスターディスクアレイ装置200、サブディスクアレイ装置300は、それぞれ1個のLU230、330を設けるようにしているが、LUごとにリードテーブルを備えることで、複数のLUを使用することも可能である。
If a failure such as a cable disconnection between the
その他、本発明は、上記実施の形態に限定されるものでなく、実施段階では、その要旨を変更しない範囲で種々変形することが可能である。 In addition, this invention is not limited to the said embodiment, In the implementation stage, it can change variously in the range which does not change the summary.
さらに、上記実施の形態には、種々の段階の発明が含まれており、開示されている複数の構成要件における適宜な組み合わせにより種々の発明が抽出できる。例えば、実施の形態に示されている全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題を解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出できる。 Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and is described in the column of the effect of the invention. If the above effect is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.
100…ホスト計算機、101…アプリケーション
102…ファイルシステム、110…負荷分散ドライバ
111…分散制御部、112…I/O種別判定部
113…パス情報テーブル、131〜134…物理デバイス
200…マスターディスクアレイ装置
210.220、310.320…コントローラ
211.221、311.321…リードテーブル
230.330…LU
300…サブディスクアレイ装置
401〜404、411、412…FCケーブル
DESCRIPTION OF
300 ... Sub disk array device 401-404, 411, 412 ... FC cable
Claims (4)
複数のコントローラ及び該コントローラにより読み書きが制御される記憶部本体を有する第1の記憶装置と、
複数のコントローラ及び該コントローラにより読み書きが制御される、前記第1の記憶装置に書き込まれたデータの複製データを記憶した記憶部本体を有する第2の記憶装置と、
前記ホスト計算機と前記第1及び第2の記憶装置の各コントローラとの間に接続される複数のアクセスパスと、
を具備し、
前記ホスト計算機は、シーケンシャルな読み込み要求に対し、前記第1及び第2の記憶装置それぞれの複数のコントローラについて前記アクセスパスを選択し、前記第1及び第2の記憶装置に対し分散して要求を発行し、
前記第1及び第2の記憶装置は、各コントローラに読み込み範囲を記録したリードテーブルを有し、
前記ホスト計算機は、シーケンシャルな読み込み要求に対し、前記シーケンシャルな読み込み要求の範囲と前記リードテーブルに記録された読み込み範囲との比較結果に応じて、前記リードテーブルが存在するコントローラのアクセスパスを選択し、前記第1及び第2の記憶装置に対し分散して要求を発行することを特徴とする負荷分散システム。 A host computer,
A first storage device having a plurality of controllers and a storage unit body whose reading and writing are controlled by the controllers;
A second storage device including a plurality of controllers and a storage unit main body storing duplicate data of data written to the first storage device, the reading and writing of which are controlled by the controller;
A plurality of access paths connected between the host computer and the controllers of the first and second storage devices;
Comprising
In response to a sequential read request, the host computer selects the access path for each of the controllers of the first and second storage devices, and distributes the requests to the first and second storage devices. Issue ,
Each of the first and second storage devices has a read table in which a reading range is recorded in each controller;
In response to the sequential read request, the host computer selects the access path of the controller in which the read table exists according to the comparison result between the sequential read request range and the read range recorded in the read table. A load distribution system for distributing and issuing requests to the first and second storage devices .
複数のコントローラ及び該コントローラにより読み書きが制御される記憶部本体を有する第1の記憶装置と、
複数のコントローラ及び該コントローラにより読み書きが制御される、前記第1の記憶装置に書き込まれたデータの複製データを記憶した記憶部本体を有する第2の記憶装置と、
前記ホスト計算機と前記第1及び第2の記憶装置の各コントローラとの間に接続される複数のアクセスパスと、
を具備し、
前記ホスト計算機は、シーケンシャルな読み込み要求に対し、前記第1及び第2の記憶装置それぞれの複数のコントローラについて前記アクセスパスを選択し、前記第1及び第2の記憶装置に対し分散して要求を発行し、
前記ホスト計算機は、前記第1及び第2の記憶装置に対するアクセスパスの情報を保持するパス情報テーブルを有し、シーケンシャルな読み込み要求に対し、前記パス情報テーブルを参照して前記コントローラのアクセスパスを選択し、前記第1及び第2の記憶装置に対し分散して要求を発行することを特徴とする負荷分散システム。 A host computer,
A first storage device having a plurality of controllers and a storage unit body whose reading and writing are controlled by the controllers;
A second storage device including a plurality of controllers and a storage unit main body storing duplicate data of data written to the first storage device, the reading and writing of which are controlled by the controller;
A plurality of access paths connected between the host computer and the controllers of the first and second storage devices;
Comprising
In response to a sequential read request, the host computer selects the access path for each of the controllers of the first and second storage devices, and distributes the requests to the first and second storage devices. Issue ,
The host computer has a path information table for holding information on access paths to the first and second storage devices, and refers to the path information table to determine the access path of the controller in response to a sequential read request. A load distribution system that selects and issues requests to the first and second storage devices in a distributed manner .
前記ホスト計算機は、シーケンシャルな読み込み要求に対し、前記パス情報テーブルのコントローラ番号を設定して、該設定されたコントローラ番号に対応する使用フラグの状態を判断し、この判断結果により前記コントローラのアクセスパスを選択し、前記第1及び第2の記憶装置に対し分散して要求を発行することを特徴とする請求項2記載の負荷分散システム。 The path information table includes at least a “device type” that represents each of the first and second storage devices, a “controller number” that represents a controller provided for each of the first and second storage devices, and a usage for each controller. It has a “use flag” that represents the situation,
The host computer sets a controller number in the path information table in response to a sequential read request, determines the state of a use flag corresponding to the set controller number, and determines the access path of the controller based on the determination result. 3. The load distribution system according to claim 2 , wherein a request is issued in a distributed manner to the first and second storage devices.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008087160A JP4686564B2 (en) | 2008-03-28 | 2008-03-28 | Load balancing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008087160A JP4686564B2 (en) | 2008-03-28 | 2008-03-28 | Load balancing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009244923A JP2009244923A (en) | 2009-10-22 |
| JP4686564B2 true JP4686564B2 (en) | 2011-05-25 |
Family
ID=41306776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008087160A Expired - Fee Related JP4686564B2 (en) | 2008-03-28 | 2008-03-28 | Load balancing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4686564B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6079347B2 (en) * | 2013-03-21 | 2017-02-15 | 富士通株式会社 | Control device, storage system, and control program |
| JP5967054B2 (en) * | 2013-11-01 | 2016-08-10 | 日本電気株式会社 | Storage device, controller, storage system, data access method and program |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63184964A (en) * | 1987-01-28 | 1988-07-30 | Pfu Ltd | File control method |
| JPH0869358A (en) * | 1994-08-30 | 1996-03-12 | Nec Eng Ltd | Data read system for dual file |
| JP2005148854A (en) * | 2003-11-11 | 2005-06-09 | Hitachi Ltd | File system and program |
-
2008
- 2008-03-28 JP JP2008087160A patent/JP4686564B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009244923A (en) | 2009-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4922496B2 (en) | Method for prioritizing I/O requests | |
| JP4429780B2 (en) | Storage control device, control method, and control program. | |
| US20160034186A1 (en) | Host-based device drivers for enhancing operations in redundant array of independent disks systems | |
| US20080086616A1 (en) | Computer system, data migration monitoring method and data migration monitoring program | |
| US8578073B2 (en) | Storage system and control method of storage system | |
| US20070288712A1 (en) | Storage apparatus and storage apparatus control method | |
| US8145930B2 (en) | Storage system and management information acquisition method for power saving | |
| US20100070656A1 (en) | System and method for enhanced load balancing in a storage system | |
| JP2009238114A (en) | Storage management method, storage management program, storage management apparatus, and storage management system | |
| US20150169230A1 (en) | Method of lun management in a solid state disk array | |
| US5958078A (en) | Storage unit and storage unit subsystem | |
| EP2927779B1 (en) | Disk writing method for disk arrays and disk writing device for disk arrays | |
| CN102150137A (en) | System and method for loose coupling between RAID volumes and drive groups | |
| JP2006018689A (en) | Storage control device, inter-cluster data communication method, and inter-cluster communication control program | |
| US8769199B2 (en) | Methods and systems of distributing RAID IO load across multiple processors | |
| US6886074B1 (en) | Method and apparatus for raid load balancing | |
| JP6617461B2 (en) | Control device, control program, and control method | |
| JP4686564B2 (en) | Load balancing system | |
| JP2012504796A (en) | Storage system having a plurality of microprocessors, and processing sharing method in the storage system | |
| CN102576294A (en) | Storage system, method and program including multiple storage devices | |
| JP4373450B2 (en) | RAID control apparatus and control method thereof | |
| JP2011107983A (en) | System, method, and program for storing information | |
| JP2009054050A (en) | RAID device, RAID device controller, and RAID device write-back control method | |
| JP5895911B2 (en) | Cache control device, cache control method, disk array device and controller thereof, and computer program | |
| JP5678923B2 (en) | Storage system, input / output control device, input / output control method, and computer program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101029 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101109 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101217 |
|
| 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: 20110118 |
|
| 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: 20110214 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |