[go: up one dir, main page]

JP4686564B2 - Load balancing system - Google Patents

Load balancing system Download PDF

Info

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
Application number
JP2008087160A
Other languages
Japanese (ja)
Other versions
JP2009244923A (en
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008087160A priority Critical patent/JP4686564B2/en
Publication of JP2009244923A publication Critical patent/JP2009244923A/en
Application granted granted Critical
Publication of JP4686564B2 publication Critical patent/JP4686564B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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に開示されるように、ホストコンピュータに対してデータ記憶装置を設け、ランダムアクセスは複数のアクセスパスを使用して負荷を分散し、シーケンシャルな読出し要求については単一のアクセスパスを使用するようにしたものがある。
特開2003-99384号公報
Therefore, for example, as disclosed in Patent Document 1, a data storage device is provided for a host computer, random access uses a plurality of access paths to distribute the load, and a single read request for sequential read requests. Some use a path.
JP 2003-99384 A

しかし、特許文献1のものは、シーケンシャルリードで単一のアクセスパスを使用し負荷分散ができないため、単一アクセスパスに接続されるコントローラに読み書き要求が集中してしまい負荷増大を招くとともに、単一アクセスパスの使用帯域に余裕がなくなるなどシステムの性能の低下を招くことがあった。   However, in Patent Document 1, since a single access path is used for sequential read and load distribution cannot be performed, read / write requests are concentrated on the controller connected to the single access path, causing an increase in load and The performance of the system may be degraded, for example, there is no room in the bandwidth used for one access path.

本発明は上記事情に鑑みてなされたもので、シーケンシャルリードを始め、各種のリードに対して良好な負荷分散を可能にした負荷分散システムを提供することを目的とする。   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, reference numeral 100 denotes a host computer, and a master disk array device 200 as a first storage device and a sub disk array device 300 as a second storage device are connected to the host computer 100, respectively. The master disk array device 200 includes two controllers 210 and 220 and an LU (Logical Unit) 230 as a storage unit main body, and the sub disk array device 300 includes two controllers 310 and 320 and an LU (Logical Unit). 330. The controllers 210 and 220 of the master disk array apparatus 200 are connected to the host computer 100 via FC (Fiber Channel) cables 401 and 402 as access paths, respectively, and write to and read from the LU 230 according to the request of the host computer 100. To control. Similarly, the controllers 310 and 320 of the sub disk array apparatus 300 are also connected to the host computer 100 via the FC cables 403 and 404, respectively, and control writing and reading to the LU 330 according to instructions from the host computer 100. In this case, the LU 330 has a copy of the data written in the LU 230.

マスターディスクアレイ装置200のコントローラ210とサブディスクアレイ装置300のコントローラ310との間は、FCケーブル411で接続され、同様に、マスターディスクアレイ装置200のコントローラ220とサブディスクアレイ装置300のコントローラ320との間は、FCケーブル412で接続されている。これらFCケーブル411、412は、マスターディスクアレイ装置200とサブディスクアレイ装置300との間の通信を行うためのものである。   The controller 210 of the master disk array device 200 and the controller 310 of the sub disk array device 300 are connected by an FC cable 411. Similarly, the controller 220 of the master disk array device 200 and the controller 320 of the sub disk array device 300 are connected to each other. Are connected by an FC cable 412. These FC cables 411 and 412 are used for communication between the master disk array device 200 and the sub disk array device 300.

なお、マスターディスクアレイ装置200のLU230とサブディスクアレイ装置300のLU330は、同一容量のものが1対1の組で存在し、これらLU230とLU330は同期式でミラーリングしている。   Note that the LU 230 of the master disk array device 200 and the LU 330 of the sub disk array device 300 have the same capacity in a one-to-one pair, and these LU 230 and LU 330 are mirrored synchronously.

図2は、ホスト計算機100の部分ブロック図を示している。   FIG. 2 shows a partial block diagram of the host computer 100.

この場合、ホスト計算機100は、ソフトウェア構成として大きく分けると、アプリケーション101、ファイルシステム102、負荷分散ドライバ110及び物理デバイス(デバイスファイル)131〜134により構成されている。アプリケーション101は、マスターディスクアレイ装置200及びサブディスクアレイ装置300に対しファイルシステム102以下を介してデータの読み書きを行う。   In this case, the host computer 100 is roughly composed of an application 101, a file system 102, a load distribution driver 110, and physical devices (device files) 131 to 134 as software configurations. The application 101 reads / writes data from / to the master disk array device 200 and the sub disk array device 300 via the file system 102 and below.

ファイルシステム102は、ファイルに対する読み書き要求をブロックレベルの読み書き要求に変換する。ここでのブロックレベルの読み書き要求とは、読み書き属性、読み書きセクタアドレス、読み書きセクタ数等の情報を含むものである。また、ファイルシステム102は、一般的なオペレーティングシステムにおいては、読み込み要求の読み込み領域が複数連続していることを検出した場合に先読みを実施し、リードキャッシュに先読みしたデータを保持する動作をする。そのため、ここでのファイルシステム102は、アプリケーション101が発行する不連続な読み込み要求の読み込み領域を、サイズの大きな連続データを読み込むためのシーケンシャルリード要求に変換する。   The file system 102 converts a read / write request for a file into a block-level read / write request. Here, the block level read / write request includes information such as read / write attributes, read / write sector addresses, and the number of read / write sectors. Further, in a general operating system, the file system 102 performs prefetching when it detects that a plurality of read areas for a read request are continuous, and operates to hold the prefetched data in the read cache. Therefore, the file system 102 here converts the read area of the discontinuous read request issued by the application 101 into a sequential read request for reading large continuous data.

負荷分散ドライバ110は、物理的に接続されたアクセスパス(上述したFCケーブル401〜404に相当する。)にデータ読み書き要求を分割して振り分ける。物理デバイス131〜134は、マスターディスクアレイ装置200のLU230及びサブディスクアレイ装置300のLU330がホスト計算機100上でデバイスファイルとして認識されるものである。これら物理デバイス131〜134には、上述したFCケーブル401〜404が各別に接続されている。   The load distribution driver 110 divides and distributes data read / write requests to physically connected access paths (corresponding to the FC cables 401 to 404 described above). In the physical devices 131 to 134, the LU 230 of the master disk array device 200 and the LU 330 of the sub disk array device 300 are recognized as device files on the host computer 100. The above-described FC cables 401 to 404 are connected to the physical devices 131 to 134, respectively.

負荷分散ドライバ110は、分散制御部111、I/O種別判定部112及びパス情報テーブル113から構成されている。分散制御部111は、負荷分散を制御するもので、詳細は後述する。   The load distribution driver 110 includes a distribution control unit 111, an I / O type determination unit 112, and a path information table 113. The distribution control unit 111 controls load distribution and will be described in detail later.

I/O種別判定部112は、読み書き要求の種別を判定する。この場合、I/O種別判定部112は、分散制御部111より渡される読み書き要求に基づいて書き込み要求(ランダムとシーケンシャルの両方を含む)、ランダムリード(ランダムな読み込み要求)、シーケンシャルリード(シーケンシャルな読み込み要求)の3つのパターンのいずれかを判断する。ここで、シーケンシャルリードは、連続した領域からデータを順に読み込む方式で、ランダムリードは、順序に関係なく任意の位置からデータを読み込む方式である。   The I / O type determination unit 112 determines the type of the read / write request. In this case, the I / O type determination unit 112 performs a write request (including both random and sequential), random read (random read request), sequential read (sequential read) based on the read / write request passed from the distribution control unit 111. One of the three patterns (read request) is determined. Here, the sequential read is a method of reading data sequentially from a continuous area, and the random read is a method of reading data from an arbitrary position regardless of the order.

読み込み要求か書き込み要求かの判定は要求に含まれる読み書き属性から判定する。また、シーケンシャルリードであるかランダムリードかの判定は、読み込み要求の情報として含まれる読み込みセクタ数がある一定数以上(例えば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に対するアクセスパスの情報を保持する。

Figure 0004686564
The path information table 113 holds access path information for all the disk array devices connected to the host computer 100, that is, the master disk array device 200 and the sub disk array device 300.
Figure 0004686564

表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”, serial numbers 0, 1, 2, and 3 assigned for each access path, that is, for each of the FC cables 401 to 404 described above are written. The “device type” corresponds to the type of the disk array device corresponding to the path numbers 0, 1, 2, and 3, and here, the path numbers 0 and 1 (path numbers assigned to the FC cables 401 and 402). Thus, “master” representing the master disk array device 200 and “sub” representing the sub disk array device 300 are written in correspondence with the path numbers 2 and 3 (pass numbers assigned to the FC cables 403 and 404). The “controller number” is associated with the path numbers 0 and 1, “0” and “1” respectively representing the controllers 210 and 220 of the master disk array apparatus 200, and the sub disk array apparatus 300 is associated with the path numbers 2 and 3. “0” and “1” respectively representing the controllers 310 and 320 are written. Furthermore, “ON” or “OFF” as shown in the figure indicating the usage status of the controllers 210, 220, 310, 320 corresponding to the pass numbers 0, 1, 2, 3 is written in the “usage flag”. Yes. Such a path information table 113 is based on information from all the disk array devices connected to the host computer 100, that is, the master disk array device 200 and the sub disk array device 300 when the host computer 100 is started. Generated.

次に、このように構成された実施の形態の作用を説明する。   Next, the operation of the embodiment configured as described above will be described.

まず、ホスト計算機100によるデータの読み書きについて簡単に説明する。   First, data reading / writing by the host computer 100 will be briefly described.

データ書込みの場合、例えば、ホスト計算機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 host computer 100 requests the controller 210 of the master disk array device 200 to write data to the LU 230, the controller 210 writes data to the LU 230. When data writing to the LU 230 is completed, the controller 310 of the sub disk array device 300 is requested to write data to the LU 330 via the FC cable 411. When the data writing to the LU 330 is completed, the controller 310 notifies the controller 210 of the completion of writing via the FC cable 411. Upon receiving this notification, the controller 210 notifies the host computer 100 of the completion of writing and writes the data. To complete.

また、ホスト計算機100によるマスターディスクアレイ装置200のコントローラ220に対するLU230へのデータ書き込み要求についても上述したと同様に行われる。   Further, the host computer 100 performs a data write request to the LU 230 to the controller 220 of the master disk array device 200 in the same manner as described above.

このように、ホスト計算機100によるデータ書き込み要求は、マスターディスクアレイ装置200のコントローラ210および220でのみ受付けられ、サブディスクアレイ装置300のコントローラ310および320での受付は拒否される。   As described above, the data write request by the host computer 100 is accepted only by the controllers 210 and 220 of the master disk array device 200, and the acceptance by the controllers 310 and 320 of the sub disk array device 300 is rejected.

次に、データ読み込みの場合、例えば、ホスト計算機100がマスターディスクアレイ装置200のコントローラ210に対してデータ読み込みを要求すると、コントローラ210は、LU230からのデータの読み込みを行い、この読み込みが完了すると、ホスト計算機100に直ちにデータ読み込み完了を通知する。   Next, in the case of data reading, for example, when the host computer 100 requests the controller 210 of the master disk array device 200 to read data, the controller 210 reads data from the LU 230, and when this reading is completed, The host computer 100 is immediately notified of the completion of data reading.

このようなデータ読み込み要求は、マスターディスクアレイ装置200及びサブディスクアレイ装置300のすべてのコントローラ210、220、310、320で受け付けることができる。したがって、この状態では、マスターディスクアレイ装置200とサブディスクアレイ装置300との間のFCケーブル411、412を介した通信は行われない。   Such a data read request can be accepted by all the controllers 210, 220, 310, 320 of the master disk array device 200 and the sub disk array device 300. Therefore, in this state, communication between the master disk array device 200 and the sub disk array device 300 via the FC cables 411 and 412 is not performed.

このようにしてホスト計算機100は、マスターディスクアレイ装置200に対してデータの読み書きを要求でき、サブディスクアレイ装置300に対してデータの読み込みのみを要求できる。   In this way, the host computer 100 can request the master disk array device 200 to read / write data, and can request only the sub disk array device 300 to read data.

次に、各種要求に対する負荷分散について説明する。   Next, load distribution for various requests will be described.

この場合、ホスト計算機100に負荷分散ドライバ110を実装し、シーケンシャルリードおよびランダムリードをマスターディスクアレイ装置200及びサブディスクアレイ装置300に分散して発行することにより、負荷の低減を図る。   In this case, the load distribution driver 110 is mounted on the host computer 100, and the sequential read and random read are distributed and issued to the master disk array device 200 and the sub disk array device 300, thereby reducing the load.

いま、ホスト計算機100のアプリケーション101がマスターディスクアレイ装置200及びサブディスクアレイ装置300に対しデータの読み書き要求を発行すると、このデータの読み書き要求は、ファイルシステム102が受け取る。   Now, when the application 101 of the host computer 100 issues a data read / write request to the master disk array device 200 and the sub disk array device 300, the file system 102 receives this data read / write request.

ファイルシステム102は、読み書き要求を、読み書き属性、読み書きセクタアドレス、読み書きセクタ数等の情報を含むブロックレベルの読み書き要求に変換する。この変換されたブロックレベルの読み書き要求は、分散制御部111に渡される。分散制御部111は、I/O種別判定部112に読み書き要求を渡し、I/O種別判定部112は、書き込み要求(ランダムとシーケンシャルの両方を含む)、ランダムリード、シーケンシャルリードの3パターンのいずれかを判断する。この場合、読み込み要求か書き込み要求かの判定は要求に含まれる読み書き属性から判定する。また、読み込み要求のうちシーケンシャルリードであるかランダムリードかの判定は、読み込み要求の情報として含まれる読み込みセクタ数がある一定数以上の場合(例えば1024セクタ)にシーケンシャルリードであると判定し、それ以外はランダムリードと判定する。   The file system 102 converts the read / write request into a block level read / write request including information such as a read / write attribute, a read / write sector address, and the number of read / write sectors. The converted block level read / write request is passed to the distribution control unit 111. The distribution control unit 111 passes a read / write request to the I / O type determination unit 112, and the I / O type determination unit 112 uses any one of the three patterns of write request (including both random and sequential), random read, and sequential read. Determine whether. In this case, 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 request is a sequential read or a random read is determined as a sequential read when the number of read sectors included in the read request information is a certain number (for example, 1024 sectors). Otherwise, it is determined as a random read.

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 type determination unit 112 is passed to the distribution control unit 111, and the distribution control unit 111 determines an access path to be distributed according to the above three patterns. For example, when the I / O type determination unit 112 determines that the read / write request is neither a sequential read nor a random read, that is, a write request, only the controllers 210 and 220 of the master disk array device 200 can accept them as described above. Therefore, the distribution control unit 111 refers to the path information table 113 in Table 1, and controller numbers “0” and “1” of the master disk array device 200 corresponding to “0” and “1” of “path number”. The controllers 210 and 220 are selected, and the physical devices 131 and 132 corresponding to the controllers 210 and 220 are distributed to the FC cables 401 and 402 (access paths) to issue requests. As this distributed algorithm, a round robin method of issuing alternately, a method of issuing to a path with few requests in the queue, and the like can be considered, and one of these distributed algorithms is selected and used.

次に、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 type determination unit 112 determines that the read / write request is a random read, as described above, all the controllers 210, 220, 310 of the master disk array device 200 and the sub disk array device 300 are used. 320, the distribution control unit 111 refers to the path information table 113 in Table 1, and the master disk array device 200 and the sub disk array device corresponding to “0” to “3” of “path number”. All of the controllers 210, 220, 310, and 320 with controller numbers “0” and “1” of 300 are selected, and FC cables are connected from the physical devices 131, 132, 133, and 134 corresponding to these controllers 210, 220, 310, and 320. Issue requests distributed to 401-404 (access path) That. In this case, as the distributed algorithm, either the round robin method or the method of issuing to a path with few requests in the queue is selected and used.

次に、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 type determination unit 112 determines that the read / write request is sequential read, also in this case, as described above, all the controllers 210 and 220 of the master disk array device 200 and the sub disk array device 300 are also used. 310 and 320, the distribution control unit 111 refers to the path information table 113 in Table 1 and executes the flowchart shown in FIG. 3 to determine the access path of the distribution destination. In this case, in FIG. 3, first, in step 301, the controller number X is set to “0”, and in step 302, the path information table 113 is referred to and the controller number is “0”. 2 is referred to. Next, in step 303, it is determined as no due to the presence of the controller X (= “0”). In this case, since the use flags of the rows with pass numbers 0 and 2 are both ON, it is determined as yes, and the process proceeds to step 305, (“X + 1” → X (= “1”), and returns to step 302. Then, the path information table 113 is referred again, and this time, the line with the controller number “1”, here, the line with the path numbers 1 and 3 is referred to, and at step 303, the controller X (= “1”). ) Is determined to be no, and the process proceeds to step 304 to determine whether or not the use flag of the line with the controller number “1” is ON. Therefore, it is determined as no, and the process proceeds to Step 306, where the controller 220 of the master disk array device 200 with the control number “1” and the sub disk array device 300 are controlled. The use flag of the controller 320 with the control number “1” is turned on, and the turned-on path numbers 1 and 3 are output as a result, whereby the FC cables 402 and the physical devices 132 and 134 corresponding to the controllers 220 and 320 are output. A request is issued in a distributed manner in 404 (access path), and the distribution algorithm in this case selects the round robin method, which corresponds to “path numbers” 0, 1, 2, and 3 in the path information table 113. If the use flags are all “OFF”, for example, in step 302, the path information table 113 is referred to and the line “controller number” is “0”, here the lines with path numbers 0 and 2 are referred to. When the process proceeds to step 304 through step 303 and it is determined whether the use flag of the line with the controller number “0” is ON, the pass number Since the use flags of the second row are both OFF, the process immediately proceeds to step 306, where the controller 210 with the control number “0” of the master disk array device 200 and the controller 310 with the control number “0” of the sub disk array device 300 The use flag is set to ON, and the path numbers that are set to ON are output as a result of 0. As a result, the physical devices 131 and 133 corresponding to the controllers 210 and 310 are distributed to the FC cables 401 and 403 (access paths). In this case as well, the distributed algorithm selects the round robin method.

なお、図3のフローチャートにおいて、ステップ303で、コントローラXが存在しないと判断した場合は、ステップ307に進み、パス番号の中からランダムに1のパス番号を選択して要求を発行する。   In the flowchart of FIG. 3, if it is determined in step 303 that the controller X does not exist, the process proceeds to step 307, where one pass number is randomly selected from the pass numbers and a request is issued.

最後に、シーケンシャルリードの要求が完了すると、パス情報テーブル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 disk array devices 200 and the sub disk array device 300 are connected as storage devices to the host computer 100 in which the load distribution driver 110 is mounted, and the master disk array device 200 and the sub disk array device 200 are connected. Various requests are distributed and issued to the disk array device 300. That is, in the case of a data write request, the access paths of the controllers 210 and 220 of the master disk array device 200 are selected and distributed and issued. In the case of a random read request, the master disk array device 200 and the sub disk array device are issued. Access paths of all the controllers 210, 220, 310, and 320 of 300 are selected, issued in a distributed manner, and in the case of a sequential read request, one each from the master disk array device 200 and the sub disk array device 300. The access path is selected, distributed, and issued so that a good load distribution can be achieved for all the leads. In particular, in the case of a sequential read request, by referring to the path information table 113 and executing the flowchart shown in FIG. 3, the controllers 210 and 310 with the controller number “0” of the master disk array device 200 and the sub disk array device 300, respectively. Or a combination pattern of the controllers 220 and 320 having the controller number “1” in each of the master disk array device 200 and the sub disk array device 300, and each access path is selected for each of these patterns. Since sequential read requests can be issued in a distributed manner, sequential read performance can be improved. Further, in this sequential read, the request issue destination can be distributed to a plurality of different disk array devices (the master disk array device 200 and the sub disk array device 300). The controller 210 (220) of the master disk array device 200, The controller 310 (320) of the sub disk array apparatus 300 does not read data from the same area of the same LU multiple times, and an increase in the load on the LU can be prevented. Further, in the sequential read, when the master disk array device 200 and the sub disk array device 300 support the read ahead with respect to the sequential read, if the sequential read is divided by the round robin method, the data area of the read request is not available. Since it becomes continuous, the detection accuracy of sequential reads may be lowered. However, in the master disk array device 200 and the sub disk array device 300, discontinuous and unidirectional read requests can be detected as sequential reads. There is no problem. In this case, if the sequential read is divided by the round robin method, the divided requests are discontinuous, but the sector address of the received request always increases, so it is determined as sequential access by referring to the past request history. It's easy to do.

また、ランダムリードの要求の場合、マスターディスクアレイ装置200及びサブディスクアレイ装置300のすべてのコントローラ210、220、310、320のアクセスパスを選択し、分散して要求を発行することができるので、ランダムな読み込みの性能を向上させることもできる。   In the case of a random read request, the access paths of all the controllers 210, 220, 310, and 320 of the master disk array device 200 and the sub disk array device 300 can be selected and distributed and issued. Random reading performance can also be improved.

なお、第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 host computer 100 and the master disk array device 200 and the sub disk array device 300 are connected by FC cables 401 to 404, but instead, via an FC switch. May be connected. In FIG. 1, for the sake of convenience, the master disk array device 200 has two controllers 210 and 220, and the sub disk array device 300 also has two controllers 310 and 320. The sub-disk array device 300 may have three or more controllers. The master disk array device 200 and the sub disk array device 300 show a case where one set of LU 230 and LU 330 having the same capacity exists, but the LU in the master disk array device 200 and the LU in the sub disk array device 300 are shown. There may be a plurality of LU pairs as long as the conditions of the same capacity are satisfied and the condition is that they are one-to-one pairs. If there is a plurality of LUs, a load information can be distributed for each LU by providing a path information table for each LU. Further, FIG. 1 shows the case of one host computer 100 for the sake of simplicity, but a plurality of units can be connected by using an FC switch. When a plurality of host computers 100 are connected, since different host computers generally use different LUs, the load can be distributed appropriately.

(第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に示すアルゴリズムが追加されている。

Figure 0004686564
In this case, the read table 211, 221 is connected to each controller 210, 220 in the master disk array device 200, and the read table 311, 321 is connected to each controller 310, 320 in the sub disk array device 300. ing. As shown in Table 2, the read table 211 is a table having fields of “first sector address” and “number of sectors” indicating the read range, and the initial value is 0 (indicated by φ in the flowchart shown in FIG. 5). ). The same applies to the other lead tables 221, 311, 321. Further, an algorithm shown in FIG. 5 for determining an access path for load distribution is added to the distribution control unit 111.
Figure 0004686564

その他は、図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 type determination unit 112, the distribution control unit 111 selects a distribution destination access path as described in the first embodiment. , Issue requests in a distributed manner.

次に、I/O種別判定部112により読み書き要求がシーケンシャルリードであると判定されると、分散制御部111は、図5に示すフローチャートを実行して負荷分散するアクセスパスを決定する。   Next, when the I / O type determination unit 112 determines that the read / write request is sequential read, the distribution control unit 111 determines an access path for load distribution by executing the flowchart shown in FIG.

この場合、以下述べる(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 disk array device 200 and the sub disk array device 300, respectively, in this case, the controller 210 of the master disk array device 200 with the controller number (i) = 0, the sub disk array device A controller 310 having a controller number (j) = 0 of 300 is used, and the read range Tm (i) of the read table 211 of the controller 210 and the read range Ts (j) of the read table 311 of the controller 310 are the initial values φ. .

この状態からステップ501で、分散制御部111は、シーケンシャルリードの読み込み範囲Rと、マスターディスクアレイ装置200のコントローラ210のリードテーブル211に記録された読み込み範囲Tm(i)と、サブディスクアレイ装置300のコントローラ310のリードテーブル311に記録された読み込み範囲Ts(j)を順に読み込む。ここで、読み込み範囲Rは、ファイルシステム102から渡された、読み込みセクタアドレス及びセクタ数により求められる。   In this state, in step 501, the distribution control unit 111 reads the sequential read range R, the read range Tm (i) recorded in the read table 211 of the controller 210 of the master disk array device 200, and the sub disk array device 300. The reading range Ts (j) recorded in the read table 311 of the controller 310 is sequentially read. Here, the read range R is obtained from the read sector address and the number of sectors passed from the file system 102.

次に、ステップ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 step 502, the sequential read range R and the read range Tm (i) of the read table 211 are compared, and the sequential read range R and the read range Ts (j) of the read table 311 are compared. In this case, the reading ranges Tm (i) and Ts (j) are both initial values φ, and the reading ranges Tm (i) and Ts (j) of these initial values φ do not include the reading range R. No is determined, and the process proceeds to step 503. Also in this step 503, the sequential read reading range R and the reading range Tm (i) of the read table 211 are compared, and the sequential reading reading range R and the reading range Ts (j) of the read table 311 are respectively compared. In this case, the read ranges Tm (i) and Ts (j) are both initial values φ, and the read ranges Tm (i) and Ts (j) of these initial values φ may be included in the sequential read read range R. Since no, it is judged as no and the process proceeds to step 504.

ステップ504では、読み込み範囲Tm(i)、Ts(j)が、ともに初期値φで、空のリードテーブル211、311が存在するので、yesと判断され、ステップ505に進む。ステップ505では、リードテーブル221の読み込み範囲Tm(i)とリードテーブル311の読み込み範囲Ts(j)にシーケンシャルリードの読み込み範囲Rを記録し、これらリードテーブル221及び311が存在するコントローラ210、310のアクセスパスを選択する。   In step 504, since the reading ranges Tm (i) and Ts (j) are both the initial value φ and empty lead tables 211 and 311 exist, it is determined yes and the process proceeds to step 505. In step 505, the sequential read read range R is recorded in the read range Tm (i) of the read table 221 and the read range Ts (j) of the read table 311, and the controllers 210 and 310 in which the read tables 221 and 311 exist are recorded. Select an access path.

(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 disk array device 200 and the sub disk array device 300, respectively. Also in this case, the controller 210 with the controller number (i) = 0 of the master disk array device 200 and the controller 310 with the controller number (j) = 0 of the sub disk array device 300 are used. From this state, in step 501, the distribution control unit 111 reads the sequential read read range R, the read range Tm (i) of the read table 211 of the controller 210 of the master disk array device 200, and the controller of the sub disk array device 300. The reading range Ts (j) of the 310 read table 311 is read in order.

そして、ステップ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 step 502, the sequential read range R and the read range Tm (i) of the read table 211 are compared, and the sequential read range R and the read range Ts (j) of the read table 311 are compared. In this case, since the read ranges Tm (i) and Ts (j) include the read range R of the sequential read, it is determined to be yes, and the process proceeds to step 506, and the read having these read ranges Tm (i) and Ts (j). The access paths of the controllers 210 and 310 where the tables 211 and 311 exist are selected.

(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 disk array device 200 and the sub disk array device 300. Also in this case, the controller 210 with the controller number (i) = 0 of the master disk array device 200 and the controller 310 with the controller number (j) = 0 of the sub disk array device 300 are used. From this state, in step 501, the distribution control unit 111 reads the sequential read read range R, the read range Tm (i) recorded in the read table 211 of the controller 210 of the master disk array device 200, and the sub disk array device. The reading range Ts (j) recorded in the read table 311 of the controller 310 of 300 is sequentially read. In step 502, the sequential read range R and the read range Tm (i) of the read table 211 are compared, and the sequential read range R and the read range Ts (j) of the read table 311 are compared. In this case, since the read ranges Tm (i) and Ts (j) do not include the sequential read read range R, it is determined to be no, and the process proceeds to step 503 to read the sequential read read range R and the read range 211 of the read table 211. (I) The sequential read range R and the read range 311 of the read table 311 are respectively compared. In this case, since the reading ranges Tm (i) and Ts (j) are both included in the sequential reading range R, it is determined to be yes, and the process proceeds to step 505, and the sequential reading range R is read as the reading range Tm (i). ), Ts (j) is overwritten, and the access paths of the controllers 210 and 310 in which the read tables 211 and 311 having these read ranges Tm (i) and Ts (j) exist are selected.

そして、(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 controller 210 of the master disk array device 200 and the controller 310 of the sub disk array device 300 clear the information in the read tables 211 and 311 when the data read request within the range recorded in the respective read tables 211 and 311 is completed.

なお、上述では、コントローラ(i)としてコントローラ210、コントローラ(j)としてコントローラ310を用いる場合を述べたが、コントローラ(i)としてコントローラ220、コントローラ(j)としてコントローラ320を用いる場合も同様に実施できる。   In the above description, the controller 210 is used as the controller (i) and the controller 310 is used as the controller (j). However, the same applies to the case where the controller 220 is used as the controller (i) and the controller 320 is used as the controller (j). it can.

したがって、このようにしても第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 controllers 210 and 220 of the master disk array apparatus 200, and read tables 311 and 321 are provided in the controllers 310 and 320 of the sub disk array apparatus 300, respectively. , 321, the write ranges Tm (i) and Ts (j) for determining the access path are recorded. As a result, the master disk array device 200 and the sub disk array device 300 can clearly know the sequential read range, so even if the sequential read is divided into discontinuous requests by load distribution, the sequential read determination accuracy is high. The problem of prefetch failure due to the decrease can be solved. Further, when there are a plurality of host computers, the plurality of host computers can grasp information for determining the same access path by referring to the contents of the respective read tables 211, 221, 311, 321. When performing a plurality of sequential reads on a region, a plurality of host computers can use the same controller 210, 220, 310, 320, and a read cache (not shown) of the controllers 210, 220, 310, 320 is provided. Can also be used efficiently.

なお、読み込み中にホスト計算機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 host computer 100 and the master disk array device 200 or between the host computer 100 and the sub disk array device 300 occurs during reading, the respective read tables 211, 221, Information of 311 and 321 may not be cleared permanently. For this reason, the lead tables 211, 221, 311, and 321 are provided with a timeout. That is, the controllers 210, 220, 310, and 320 having the read tables 211, 221, 311, and 321 each have a timer, and this timer always counts up the numerical value of the register and requests from the host computer 100. When received, the register is cleared to zero. When the request from the host computer 100 stops and the count value of the register overflows, the read table is cleared to zero. It is desirable to set the timeout time to about 1 minute. In the second embodiment, for the sake of simplicity, the master disk array device 200 and the sub disk array device 300 are each provided with one LU 230 and 330, but each LU is provided with a read table. It is also possible to use a plurality of LUs.

その他、本発明は、上記実施の形態に限定されるものでなく、実施段階では、その要旨を変更しない範囲で種々変形することが可能である。   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.

本発明の第1の実施の形態にかかる負荷分散システムの全体ブロック図。1 is an overall block diagram of a load distribution system according to a first embodiment of the present invention. 第1の実施の形態に用いられるホスト計算機の部分ブロック図。The partial block diagram of the host computer used for 1st Embodiment. 第1の実施の形態のシーケンシャルリードの場合のアクセスパスの分散を説明するためのフローチャート。6 is a flowchart for explaining access path distribution in the case of sequential read according to the first embodiment; 本発明の第2の実施の形態にかかる負荷分散システムの全体ブロック図。The whole block diagram of the load distribution system concerning the 2nd Embodiment of this invention. 第2の実施の形態のシーケンシャルリードの場合のアクセスパスの分散を説明するためのフローチャート。12 is a flowchart for explaining access path distribution in the case of sequential read according to the second embodiment;

符号の説明Explanation of symbols

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 SYMBOLS 100 ... Host computer, 101 ... Application 102 ... File system, 110 ... Load distribution driver 111 ... Distribution control part, 112 ... I / O type determination part 113 ... Path information table, 131-134 ... Physical device 200 ... Master disk array apparatus 210.220, 310.320 ... Controller 211.221, 311.321 ... Read table 230.330 ... LU
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の記憶装置それぞれを表す「装置種別」、前記第1及び第2の記憶装置ごとに設けられるコントローラを表す「コントローラ番号」及び前記コントローラごとの使用状況を表す「使用フラグ」を有し、
前記ホスト計算機は、シーケンシャルな読み込み要求に対し、前記パス情報テーブルのコントローラ番号を設定して、該設定されたコントローラ番号に対応する使用フラグの状態を判断し、この判断結果により前記コントローラのアクセスパスを選択し、前記第1及び第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.
さらに前記ホスト計算機は、ランダムな読み込み要求に対し、前記第1及び第2の記憶装置それぞれについて分散して要求を発行することを特徴とする請求項1乃至のいずれか一記載の負荷分散システム。 The load distribution system according to any one of claims 1 to 3 , wherein the host computer issues a request distributed to each of the first and second storage devices in response to a random read request. .
JP2008087160A 2008-03-28 2008-03-28 Load balancing system Expired - Fee Related JP4686564B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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