JP2008198221A - Automatic capacity expansion method for storage device - Google Patents
Automatic capacity expansion method for storage device Download PDFInfo
- Publication number
- JP2008198221A JP2008198221A JP2008068556A JP2008068556A JP2008198221A JP 2008198221 A JP2008198221 A JP 2008198221A JP 2008068556 A JP2008068556 A JP 2008068556A JP 2008068556 A JP2008068556 A JP 2008068556A JP 2008198221 A JP2008198221 A JP 2008198221A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- segment
- logical
- unit
- storage device
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、記憶装置システムにおいて、オンライン中に逐次容量拡張を行う方法に関する。 The present invention relates to a method for performing sequential capacity expansion while online in a storage device system.
近年、複数のホスト計算機の記憶領域を一つの記憶装置に記憶する動きが盛んになっている。この動きを促している記憶装置の代表的なものとして、ディスクアレイがある。ディスクアレイは装置内部で複数の磁気ディスク記憶装置によって記憶領域の冗長性を持たせることにより信頼性を高め、必要な容量の記憶領域を論理ボリュームとして複数のホストへ提供する。このディスクアレイを用いたときの大きな利点の一つとして、論理ボリュームの容量拡張ができる点が挙げられる。 In recent years, the movement to store the storage areas of a plurality of host computers in one storage device has become popular. A typical storage device that promotes this movement is a disk array. The disk array enhances reliability by providing storage area redundancy by a plurality of magnetic disk storage devices within the apparatus, and provides a storage area having a necessary capacity to a plurality of hosts as a logical volume. One of the major advantages of using this disk array is that the capacity of the logical volume can be expanded.
例えば、計算機がディスクアレイによって提供された論理ボリュームを使い切った場合、ディスクアレイ内部の未使用領域を任意長で切り出した論理ボリュームとして割り当て、計算機がこの論理ボリュームを使用中の論理ボリュームと結合することにより記憶領域を拡張できる。この機能はオンライン中にもボリュームの拡張ができるため、オンラインボリューム拡張と呼ばれる。オンラインボリューム拡張により、時々刻々と増大するデータに対して論理ボリュームの記憶領域の範囲をアプリケーション無停止で拡張するので、アプリケーションの稼動時間を拡大できる。また、ボリューム容量移行時にボリューム間データ移行を行う必要もないのでストレージの管理コストを大幅に削減できる。 For example, when the computer uses up the logical volume provided by the disk array, the unused area inside the disk array is allocated as a logical volume cut out with an arbitrary length, and the computer combines this logical volume with the logical volume in use. The storage area can be expanded. This function is called online volume expansion because the volume can be expanded while online. With online volume expansion, the range of the logical volume storage area is expanded without stopping the application for data that increases every moment, so that the operation time of the application can be expanded. In addition, since it is not necessary to transfer data between volumes when transferring the volume capacity, storage management costs can be greatly reduced.
従来、論理ボリューム利用者はオンラインボリューム拡張をするためには論理ボリューム提供者に連絡して拡張を施さなければならない。一つの企業内で利用するような小規模のサイトでは逼迫したデータの増加が無いため随時オンラインボリューム拡張をする必要がないが、データセンタなどの複数企業が共同で利用するような大規模のサイトでは、急激なデータの増加が複数企業の計算機から生じる可能性があり、随時オンラインボリューム拡張を行う必要性がある。加えて、ディスクアレイなどの記憶領域の利用効率を高めるために、1つの記憶装置で無駄なく Conventionally, in order to perform online volume expansion, a logical volume user must contact the logical volume provider to perform expansion. A small site that is used within a single company does not need to expand online volume at any time because there is no tight increase in data, but a large site that is used jointly by multiple companies such as a data center. Then, a sudden increase in data may occur from computers of multiple companies, and it is necessary to perform online volume expansion at any time. In addition, in order to increase the efficiency of use of storage areas such as disk arrays, one storage device can be used without waste
記憶装置の記憶領域を無駄なく利用するためには、記憶領域を小さい容量の論理ボリュームの単位で管理して、拡張の度に小さい容量の論理ボリュームで論理ボリュームの拡張を行わなければならない。このような状況下でオンラインボリューム拡張を利用する際、時々刻々と増大するデータにより複数の利用者からオンラインボリューム拡張の要求が同時発生して、論理ボリューム提供者が対応仕切れない場合がある。最悪の場合、オンラインボリューム拡張ができずに計算機の処理停止を余儀なくされるという問題がある。 In order to use the storage area of the storage device without waste, it is necessary to manage the storage area in units of a small capacity logical volume, and to expand the logical volume with a small capacity logical volume each time the expansion is performed. When online volume expansion is used under such circumstances, there are cases in which requests for online volume expansion are simultaneously generated from a plurality of users due to data that increases every moment, and the logical volume provider cannot be partitioned. In the worst case, there is a problem that online volume expansion cannot be performed and the processing of the computer is forced to stop.
論理ボリューム利用者は記憶領域を管理することなく、無限の記憶容量を要求する。一方、論理ボリューム提供者は、論理ボリューム利用者が記憶領域をどのように利用するかを考えることなく、記憶領域を効率よく管理を行い、より迅速に利用者へ提供することを要求する。 The logical volume user requests infinite storage capacity without managing the storage area. On the other hand, the logical volume provider requests to manage the storage area efficiently and provide it to the user more quickly without considering how the logical volume user uses the storage area.
本発明の目的は、記憶資源の利用者と提供者の要求を解決するために、記憶領域を管理する装置によって、計算機のオンライン中に、一元的に管理された記憶領域から動的に適切な容量の記憶領域を割り当てることによって論理ボリュームを拡張することにある。 It is an object of the present invention to solve the demands of users and providers of storage resources by using a storage area management device, which is dynamically appropriate from a centrally managed storage area while the computer is online. The purpose is to expand the logical volume by allocating a storage area of capacity.
本発明の計算機システムは、1台ないし複数のホスト計算機、1台ないし複数のディスク記憶装置、そして、ボリューム提供装置が相互接続された構成をとる。複数のディスク記憶装置を管理するボリューム提供装置は、複数のディスク記憶装置から個々のホスト計算機に対応する論理ボリュームを提供する。ホスト計算機は論理ボリュームへI/O要求を送り、ボリューム提供部はI/O要求のリードやライトが行われる論理ブロックアドレスを読み取り、論理ボリューム上にI/O要求がアクセスした論理ブロックアドレスの記憶領域が存在しない場合、ボリューム提供装置が未使用磁気ディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張する。また、アプリケーションの指示による任意量での論理ボリュームを縮小する。 The computer system of the present invention has a configuration in which one or more host computers, one or more disk storage devices, and a volume providing device are interconnected. A volume providing device that manages a plurality of disk storage devices provides a logical volume corresponding to each host computer from the plurality of disk storage devices. The host computer sends an I / O request to the logical volume, the volume provider reads the logical block address where the I / O request is read or written, and stores the logical block address accessed by the I / O request on the logical volume. When the area does not exist, the volume providing apparatus allocates a storage area from an unused magnetic disk storage device and dynamically expands the storage area of the logical volume. In addition, the logical volume is reduced by an arbitrary amount according to an application instruction.
本発明によれば、ボリュームサーバの要求に応じて記憶領域をボリュームサーバに付加することにより、ホスト計算機のアプリケーションは、容量を動的に伸縮可能な単一ボリュームを利用できる。 According to the present invention, by adding a storage area to a volume server in response to a request from the volume server, a host computer application can use a single volume whose capacity can be dynamically expanded and contracted.
<第一の実施例>
以下に、発明の実施例を図面を用いて説明する。
<First embodiment>
Embodiments of the present invention will be described below with reference to the drawings.
図1に本発明を適用した計算機システムの構成例を示す。本計算機システムは
、複数のホスト1100、ボリュームサーバ1200、複数の磁気ディスク記憶装置1300から構成される。本実施例では、ホスト1100が1台、磁気ディスク記憶装置1300が3台となっているが、1台ないし複数台あってもよい。また、ホスト1100、ボリュームサーバ1200、そして、磁気ディスク記憶装置1300はCPU、メモリ等を有するが、本発明の実施例の説明に関係がないため説明を省略する。
FIG. 1 shows a configuration example of a computer system to which the present invention is applied. The computer system includes a plurality of
ホスト1100は、アプリケーション(App)1110、オペレーティングシステム(以下OS)1130、そして、チャネルインターフェイス1140を有する。アプリケーション1110は、ボリューム提供装置であるボリュームサーバ1200から提供されるボリュームをリード処理、ライト処理するDBやファイルシステム等の応用ソフトウエアである。オペレーティングシステム1130は、アプリケーション1110からのI/O要求を受け取りチャネルインターフェイス(I/F)1140へ転送するボリュームデバイス部(rsd0)1131と命令部1132から構成される。OS1130の命令部1132は、OS1130が使用する記憶装置の開始ブロック位置と終了ブロック位置等から構成される論理区画情報の管理とボリュームサーバ1200の動作制御を行うソフトウエアである。
The
ボリュームサーバ1200から提供される記憶領域である論理ボリュームを示す図4を用いて論理区画情報4100について説明する。本実施例では動的にボリュームを拡張するために、OS1130が扱う論理区画情報の開始ブロック位置は0LBA(4200)で示し、また終了ブロック位置は記憶装置のOSがサポートする最大記憶装置の容量もしくはユーザが利用する記憶容量を示す。もし、最大容量がユーザの利用する記憶容量によって制限された場合、ボリュームサーバ1200によって提供される論理ボリュームの記憶領域もこの終了ブロック位置によって制限される。また、論理区画情報はOS1130の管理下にある記憶装置において開始ブロック位置0LBA(4200)から論理区画情報の保管に必要な領域(4100)分のLBAまでに保管される。通常の保管されるデータは論理区画情報以外の記憶領域(4400)に保管される。
The
図1に示すチャネルI/F1140は、OS1130からのI/Oを外部デバイスへ転送する機能を有するデバイスであり、ファイバチャネルI/FやSCSI I/FなどのブロックデバイスI/Fである。
A channel I /
ホスト1100とボリュームサーバ1200間並びにボリュームサーバ1200とディスク1300間を制御するコマンドはI/O要求と呼ばれる。I/O要求はSCSIプロトコルなどのブロックデバイスプロトコルのコマンドである。図17にI/O要求のコマンドフォーマットを示す。I/O要求は、オペレーションコード17001、LUN(Logical Unit Number)17002、LBA(Logical Block Address)17003、転送データ長17004を持つ。オペレーションコード17001は、リード処理、ライト処理等を示す番号である。LUN17002は、コマンドが処理を行う論理ボリュームの一意な番号である。LBA17003はボリュームサーバ1200から提供される論理ボリューム上の処理を行う位置である。転送データ長17004は、本I/O要求で一度に処理される量である。
Commands for controlling between the
ボリュームサーバ1200は、ホスト側のチャネルI/F1210、ホスト1100から要求されたI/O要求の処理と磁気ディスク記憶装置1300の管理を行うボリューム提供部1230、そして、ボリューム提供部1230が要求するI/O要求を磁気ディスク記憶装置1300へ転送するチャネルI/F1220から構成される。ホスト側のチャネルI/F1200は、ホスト1100と接続可能なファイバチャネルI/FやSCSIなどのブロックデバイスI/Fである。本実施例ではホスト1100側と磁気ディスク記憶装置1300側のチャネルは分離しているが、ホスト1100側のチャネルI/F1210と磁気ディスク記憶装置1300側のチャネルI/F1220は共有していてもよい。
The
また、このボリュームサーバ1200はホスト1100に対して無尽蔵の容量を持つ論理ボリュームを提供する。つまり、ホスト1100からボリュームサーバ1200を見たときにボリュームの範囲を決定する論理ブロック番号(LBA)の開始値は0と決まっているが、範囲の終了値であるLBAは規定しなくてもよい。また、範囲の終了値のLBAを規定した場合、その値がボリュームサーバ1200から提供されるボリュームの最大容量となる。
The
ボリュームサーバ1200内のボリューム提供部1230は、I/O監視部1231、容量増減部1232、セグメント管理部1233、I/O処理部1234、そして、物理論理アドレス管理部1235から構成される。セグメント管理部1233は、セグメント管理表2000を内部に持ち、このセグメント管理表2000を使用してボリュームサーバ1200によって提供されるボリュームの記憶領域の管理を行っている。
The
図2のセグメント管理表2000は、ディスク番号(Disk ID)2100、セグメント番号(Segment Number)2200、開始LBA(LBA(START))2300、セグメントの大きさ(Size)2400とそのセグメントの利用状況(In−Use)2500の値を持つ。ディスクID2100は、磁気ディスク記憶装置1300がボリュームサーバ1200に接続された際にSCSI等のブロックレベルプロトコルによって決定されたディスクの一意な識別番号である。セグメントは、個々の磁気ディスク記憶装置1300内で分けられたボリュームサーバ1200で管理される記憶領域の最小単位であり、セグメント番号2200はボリュームサーバ1200でセグメントを管理するための一意な識別番号である。LBA(START)2300はディスクID2100の磁気ディスク記憶装置1300内でセグメントの記憶領域が開始する物理位置を規定する。セグメントの大きさはディスク内のLBA(START)2300から始まる記憶領域の大きさを示す。セグメントの利用状況はセグメントの記憶領域がボリュームサーバ1200によって使用されているか未使用であるかを2つの値によって示す。使用中の場合は1、または未使用の場合は0の値によって利用状況を示す。
The segment management table 2000 in FIG. 2 includes a disk number (Disk ID) 2100, a segment number (Segment Number) 2200, a start LBA (LBA (START)) 2300, a segment size (Size) 2400, and the usage status of the segment ( In-Use) 2500. The
次に、物理論理アドレス管理部1235ではボリュームサーバ1200によって提供される論理ボリュームとデータが保管される磁気ディスク記憶装置1300との間の物理論理アドレス管理を行う。この論理ボリュームと実データが存在する磁気ディスク記憶装置1300を管理する手段として、物理論理アドレス管理部1235内に図3の物理論理管理表3000をもつ。物理論理管理表3000は論理ユニット番号(LUN)3100、セグメント番号(Segment Number)3200、LUN LBA(START)3300、そして、LUN LBA(END)3400が管理される。LUN3100は論理ユニット番号と呼ばれ、ボリュームサーバ1200からホスト1100へ提供される論理ボリュームの一意な番号である。セグメント番号3200はセグメント管理部1233で管理されている記憶領域の一意な番号である。LUN3100により提供される論理ボリュームは複数のセグメントから構成され、論理ボリュームの論理ブロック番号(LBA)は物理論理管理表3000の個々のLUN3100内で若いセグメントのLBAから古いセグメントのLBAの順に連続して結合されている。
Next, the physical logical
例えば、図3でLUN0(3500)の時にセグメント番号1(3510)、セグメント番号2(3520)、セグメント番号3(3530)の順に結合され、図4のようにLUN0(4000)の 単一論理ボリュームとしてホスト1100に提供される。LUN LBA(START)3300はLUN内でセグメントが使用するLBAの開始位置が示されている。LUN LBA(END)3400はLUN内でセグメントが使用するLBAの終了位置が示されている。I/O監視部1231は、ホスト1100から磁気ディスク記憶装置1300へアクセスされる個々のI/O要求内のLBAを監視する。I/O処理部1234は実際のリード/ライトのI/O処理を行う。容量増減部1232は、I/O監視部1231もしくはホスト1100の命令部1132から要求された容量の増減処理を行う。
For example, when LUN 0 (3500) in FIG. 3, segment number 1 (3510), segment number 2 (3520), and segment number 3 (3530) are combined in this order, and LUN 0 (4000) single logical volume as shown in FIG. To the
本実施例では、ボリュームサーバ1200が独立した装置として配置されているが、磁気ディスク記憶装置1300にボリュームサーバ1200の機能を組み込んでもよい。
In this embodiment, the
また、本実施例ではセグメント単位でボリューム拡張を行っているが、セグメント管理部1233と物理論理アドレス管理部1235を例えば、Log Structuredファイルシステム等の容量拡張可能なファイルシステムとして見なすと、セグメント管理表2000と物理論理管理表300内の記憶領域の最小単位であるセグメントをファイルシステムの記憶領域の最小単位であるブロックと置き換え、ファイルシステムのファイルをボリュームサーバ1200より提供されるLUN3100が付けられた論理ボリュームと見なすことができる。つまり、セグメント管理部1233と物理論理アドレス管理部1235をファイルシステムに置き換えても、ブロック単位で動的に拡張可能な論理ボリュームを提供できる。
(動作の説明)
次に、ボリュームサーバ1200の動作を図5を用いて説明をする。ホスト1100からボリュームサーバ1200へI/O要求が発行された後(ステップ5001)、ボリュームサーバ1200は受信したI/O要求の処理をボリューム提供部1230で行う(ステップ5002)。I/O要求の処理が終了するとI/O要求の処理完了通知をホスト1100へ発行する(ステップ5003)。ホストはI/O完了通知を受信して(ステップ5004)、処理を終了する。ボリュームサーバ1200のボリューム提供部1230は一見すると従来の磁気ディスク記憶装置1300の制御部と同じ動作に見えるが、ボリュームを無限に拡張する機構が施されている。以下では、この機構が備わっているボリューム提供部1230の内部動作を説明する。
In this embodiment, volume expansion is performed on a segment basis. However, when the
(Description of operation)
Next, the operation of the
ボリューム提供部1230は、I/O監視部1231、I/O処理部1234、物理論理アドレス管理部1235、容量増減部1232、そして、セグメント管理部1233の連携により動作する。図1のボリューム提供部1230の拡大図1236内の太い線はI/O要求の流れを表し、細い線は制御の流れを示す。まず、ホスト 側I/F1210から流されたI/O要求はI/O監視部1231で処理され、その後I/O処理部1234で個々のI/O要求のLBAを物理論理変換した後、個々の磁気ディスク記憶装置1300に対してリード/ライト処理が行われる。この処理の流れに従い個々の部について説明する。
The
I/O監視部1231の動作について図6を用いて説明する。各LUNにおける論理ボリュームの既存の確保領域容量は図3の物理論理管理表3000のセグメント番号と各セグメントのサイズ2400が記載されている図2のセグメント管理表2000よりLUN内の各セグメントのサイズ2400を合算して計算する(ステップ6001)。ホスト1100からのI/O要求が送られるとI/O要求が論理ボリューム上のアクセスされるLBAを検出する(ステップ6002)。アクセスされるLBAより確保されている領域が大きい場合(ステップ6003)、物理論理アドレス管理部1235へI/O処理を要求する(ステップ6005)。アクセスされるLBAより確保されている領域が小さい場合(ステップ6003)、容量増減部1232へ容量確保の要求を行い(ステップ6004)、I/O処理部1234へI/O処理を要求(ステップ6005)する。
The operation of the I /
次に、容量増減部1232の処理動作について図7を用いて説明する。I/O監視部1231からの要求とホスト1100の命令部1132からの要求とで動作が異なる。まず、I/O監視部1231からの動作について説明する。I/O監視部1231から容量増加の命令が要求される(ステップ7001)とボリューム増加処理(ステップ7002)を行い、処理を終了する。一方、ホスト1100の命令部1132から全容量の中からmLBA分の容量減少の命令が要求されると(ステップ7001)、mLBA分のボリューム減少処理を行う(ステップ7003)。
Next, the processing operation of the capacity increasing / decreasing
ボリューム増加処理(ステップ 7002)では、セグメント管理部1233と物理論理アドレス管理部1235と連携して次の処理が行われる(図8)。まず、セグメント管理部1233へ未使用セグメントの取得要求をセグメント番号パラメータSN=−1として行う(ステップ 8001)。セグメント管理部1233では、要求されたセグメントが存在する場合セグメント番号パラメータSNにセグメント番号(SN>=0)を入れて戻し、要求されたセグメントが存在しない場合SN=−1を戻す(ステップ8002)。セグメント番号を受け取った容量増減部1232はセグメント番号パラメータSNが正数であるか否かを判別する(ステップ8003)。SN>=0の場合には処理を継続し、SN<0の場合はエラーを戻し(ステップ 8006)、処理を終了する。容量増減部1232ではセグメント管理部1233より取得したセグメント番号SNを元に物理論理アドレス管理部1235へボリューム結合要求をする(ステップ8004)。物理論理アドレス管理部1235では、セグメント番号を元に物理論理管理表3000へ目的のLUNである論理ボリュームの最後尾セグメントに対してセグメントを結合して(ステップ8005)、処理を終了する。この物理論理アドレス管理部1235の具体的な動作については後述する。
In the volume increase processing (step 7002), the following processing is performed in cooperation with the
一方、ボリューム減少処理(ステップ 7003)は次の処理が行われる(図9)。縮小容量がmLBAの時、縮小後の論理ボリューム領域が存在しない一つもしくは複数のセグメント番号を物理論理管理表3000から取得する(ステップ9001)。セグメント取得手順としては、まず、物理論理管理表3000より終了LBA(3400)よりLBA(END)−mとして縮小後のLBA算出する。この縮小後のLBAを元にして目的のLUN上で縮小後のLBAと重複していない一つないし複数のセグメント番号(SN)を取得する。 On the other hand, the volume reduction process (step 7003) is performed as follows (FIG. 9). When the reduced capacity is mLBA, one or a plurality of segment numbers in which no reduced logical volume area exists are acquired from the physical logical management table 3000 (step 9001). As a segment acquisition procedure, first, a reduced LBA is calculated from the physical logical management table 3000 as LBA (END) -m from the end LBA (3400). Based on the reduced LBA, one or more segment numbers (SN) that do not overlap with the reduced LBA are acquired on the target LUN.
次に、これらのセグメントを物理論理アドレス管理部1235へセグメントの返還要求を行う(ステップ9002)。物理論理アドレス管理部1235は受け取ったセグメントを物理論理管理表3000上のLUNで指定される論理ボリュームのリストからセグメント番号と一致する列(SN3200、LBA(START)3300、LBA(END)3400)を切り離す(ステップ9003)。容量増減部1232はセグメント管理部1233へ切り離されたセグメント番号SNを未使用セグメントとして管理するように命令する(ステップ9004)。セグメント管理部1233では、切り離されたセグメントを未使用セグメントとして管理する(ステップ9005)。ホスト1100に論理ボリュームが切り離されたことを通知する(ステップ9006)。以上で、ボリューム縮小の処理手順を終了する。
Next, a return request for these segments is made to the physical logical address management unit 1235 (step 9002). The physical logical
セグメント管理部1233は、容量増減部1232より命令を受けたときに、セグメント管理表2000に記載されているセグメントの使用状況の管理とセグメント追加・削除を管理する。セグメント使用状況の管理は前述したセグメント管理表2000の管理手順に従う。
When the
セグメント使用状況の管理の動作について、図10を用いて説明する。まず、容量増減部1232よりボリューム増減要求が引き数のセグメント番号と共に渡される。セグメント番号<0のとき 未使用セグメント取得要求と判断され(ステップ10001)、ステップ10002へ処理を続ける。未使用セグメント取得要求は、未使用ボリュームが存在の可否をセグメント管理表2000を用いて調べる(ステップ10002)。未使用ボリュームが無ければ(ステップ10002)、エラーとして容量増減部1232へ通知する(ステップ10005)。未使用セグメントが存在する場合(ステップ10002)、未使用セグメントのセグメント番号を容量増減部1232へ戻す(ステップ10003)。そして、セグメント管理表のセグメントに対応する使用状況を、使用中を示す1に変更して(ステップ10004)、ステップ10007に進む。
一方、セグメント番号>=0の時(ステップ10001)、セグメントの未使用状態へ移す動作と判断され、ステップ10006で処理を継続する。ステップ10006でセグメント管理表2000よりセグメント番号に対応する使用状況を未使用の0にして、ステップ10006に進む。ステップ10007では、セグメント管理表2000の利用状態2400の項目を用いて使用中セグメントの数と全セグメント数よりセグメントの利用率(使用中セグメント数/全セグメント数)を計算して、利用率が90%以上の可否を判別する。90%以上の場合、保守員に磁気ディスク記憶装置1300の追加を依頼して(ステップ10008)、処理を終了する。利用率が90%以下の場合はそのまま処理を終了する。利用率のしきい値である90%は、保守員がシステムの信頼性に応じて可変に変更できるものとする。以上で、セグメント管理部1233のボリューム使用状況管理の動作についての説明を終了する。
The operation of managing the segment usage status will be described with reference to FIG. First, a volume increase / decrease request is passed from the capacity increase /
On the other hand, when the segment number> = 0 (step 10001), it is determined that the operation moves to the unused state of the segment, and the processing is continued in
次に、磁気ディスク記憶装置1300の追加・削除の動作を図11を用いて説明する。ボリューム追加・削除の動作をステップ11001で判断する。追加の場合はステップ11005へ進み、削除の場合はステップ11002へ進む。磁気ディスク記憶装置1300の追加の場合、ステップ11005で磁気ディスク記憶装置1300の容量を確認する(ステップ11005)。確認された容量を元にセグメントの数ならびに大きさを決定する(ステップ11006)。セグメントの数並びに大きさは、固定値もしくは保守員による指定される値のどちらでもよい。この値を元にセグメント管理表2000の最後尾へ、磁気ディスク記憶装置1300の追加毎に、ディスク ID2100、セグメントのセグメント番号2200、開始位置2300、セグメントの大きさ2400、そして、利用状況2500として未使用を表す0を挿入して(ステップ11007)、処理を終了する。
Next, operations for adding / deleting the magnetic
一方、ボリューム削除の場合、該当のセグメント番号のセグメントが未使用セグメントか否かを判断する(ステップ11002)。未使用セグメントである場合、セグメント管理表2000よりそのセグメント番号の列を削除する(ステップ11003)。該当セグメントが未使用セグメントでない場合(ステップ 11002)、エラーとして戻し、処理を終える(ステップ11004)。 On the other hand, in the case of volume deletion, it is determined whether or not the segment with the corresponding segment number is an unused segment (step 11002). If it is an unused segment, the segment number column is deleted from the segment management table 2000 (step 11003). If the segment is not an unused segment (step 11002), it is returned as an error, and the process is terminated (step 11004).
以上で、セグメント管理部1233のセグメント追加・削除の動作について説明を終了する。セグメント管理部1233は、以上で説明された手順でセグメントの使用状況の管理と追加・削除の動作を行う。
This is the end of the description of the segment addition / deletion operation of the
I/O処理部1234の動作処理を図12を用いて説明する。まずI/O監視部1231よりI/O処理部1234へ送られたI/O要求はI/O要求のLBAを物理アドレスへ変換することを物理論理アドレス管理部1235へ要求する(ステップ12001)。次に、I/O要求の種別を判別する(ステップ12002)。リード I/Oの場合、物理アドレスを用いて磁気ディスク記憶装置1300よりデータを読み出し(ステップ12003)、読み出されたデータをホスト1100に戻す(ステップ12004)。ライト I/Oの場合、物理アドレスを用いて磁気ディスク記憶装置1300へデータを書き込み(ステップ12005)、書き込みが完了したことをホスト1100に通知する(ステップ12006)。以上でI/O処理部1234の動作を手順の説明を終了する。
The operation process of the I /
物理論理アドレス管理部1235の動作は2つの動作に分かれる。まず、I/O処理部1234から要求される物理論理アドレス変換手順である。この変換手順を図13を用いて説明し、実際の物理アドレスと論理アドレスとの物理論理間の構造を図14を用いて説明する。変換の際には次の規則を使う。まず、I/O要求のターゲットとなっているLUNに対するセグメント群を選ぶ(ステップ13001)。LBAから物理側のディスク番号とLBAを算出する(ステップ13002)。
The operation of the physical logical
算出する手順は、まず、ターゲットのLUNが属する複数のセグメント群からI/O要求に記載されているLBAtargetを元に物理論理管理表3000から各セグメントの開始LBAを参照してLBAtarget(14300)がアクセスするセグメント番号(SN)を選ぶ。判明したセグメント番号SNよりセグメント管理表2000を用いて、LBAtargetが(14300)アクセスするディスクID、セグメントの磁気ディスク装置の先頭から物理アドレスを割り出す。N番目のセグメントの先頭物理アドレスLBAN(14003)からデータが操作されるセグメント上のアドレスはLBAtarget−LBANであるので、磁気ディスク記憶装置1300の先頭からセグメントの物理アドレスは、(セグメントの先頭LBA LBAsegstart)+(LBA−LBAN)(14005)である。I/O処理部1234へディスクID2100、ディスクID2100の磁気ディスク記憶装置1300のLBAである(セグメントの先頭LBA LBAsegstart)+(LBA−LBAN)(14005)を戻す(ステップ13003)。
First, the LBA target (14300) refers to the start LBA of each segment from the physical logical management table 3000 based on the LBA target described in the I / O request from a plurality of segment groups to which the target LUN belongs. Select the segment number (SN) to access. Using the segment management table 2000 from the segment number SN that has been found, the LBA target (14300) calculates the disk ID to be accessed and the physical address from the beginning of the segment magnetic disk device. Since the address on the segment on which data is operated from the head physical address LBAN (14003) of the Nth segment is LBAtarget-LBAN, the physical address of the segment from the head of the magnetic
もう一つの物理論理アドレス管理部1235の動作は、ボリュームの物理論理管理表3000への追加と削除である。この動作を図15を用いて説明する。物理論理管理表内のLUNを選択する(ステップ15001)。ボリュームの追加の際(ステップ15002)、容量増減部1232より追加されるセグメント番号が与えられ、追加されるLUNボリュームにおいてセグメント列の最後尾にセグメントを追加する(ステップ15003)。この際、ホスト1100から追加されたセグメントの見え方は、LBAは、LBAN(14003)からLBAN+SIZEN(14004)のアドレス間に追加ボリュームが存在する。ボリュームを削除する際には(ステップ15002)、容量増減部1232よりmLBA分が削除される命令を受けた後、削除されるLUNボリューム内のセグメント列の最後尾よりセグメント単位毎にmLBA分の容量を削除する(ステップ15004)。削除されたセグメントはセグメント番号を容量増減部1232へ戻す(ステップ15005)。以上で物理論理アドレス管理部1235の動作の説明を終了する。
Another operation of the physical logical
ホスト1100の命令部1132は、アプリケーション1110側で使用するボリューム内のデータの容量を縮小した後、アプリケーションからもしくはユーザから指示を受け、ボリュームサーバ1200から提供される論理ボリュームの記憶領域をセグメント単位毎に縮小する命令をI/F1140経由でボリュームサーバ1200へ命令するプログラムである。図16を用いて、この動作を説明する。
The
まず、アプリケーション1110からボリュームのmLBA分の縮小の要求を受ける(ステップ16001)。命令部1132では、OS1130の下で管理されている論理ボリュームの論理区画情報の最終ブロック位置をmLBA分縮小する(ステップ16002)。命令部1132より容量がmLBA分のボリュームをボリュームサーバの容量増減部1232へ発行する(ステップ16003)。容量増減部1232はボリューム縮小処理を行い(ステップ16004)、ホスト1100側にその結果を戻す。以上で命令部1132の動作の説明を終了する。
First, the
次に、アプリケーション1110との連携動作を示す。前述したように、ホスト1100はボリュームサーバ1200から提供される論理ボリュームを既存のボリュームとして取扱うことができるが、ボリュームサーバ1200側でLUNが示すボリュームが保持しているセグメント以上のボリュームへのアクセスが生じた時に、ボリュームがセグメント管理部1233より追加される。この動作は、前述したボリューム提供部1230の動作と同じである。
Next, a cooperative operation with the
一方、アプリケーション1110が自ら拡張したボリュームの容量整理等を行い、実際のアプリケーション1110で使用されている容量が減った時には、ホスト1100の命令部1132へ、アプリケーション1110側で、削減前後における差分の容量を伝え、前述のホスト1100の命令部1132経由でのボリュームサーバでの前述のボリューム縮小手順(図16)を実行する。これらの手順で、ボリュームサーバで使用中のセグメント数をアプリケーション1110の動作にあわせて適切な論理ボリューム容量を提供できる。
<第二の実施例>
第一の実施例では、ホスト1100が、ボリュームサーバ1300から提供される論理ボリュームの記憶領域外へライトI/Oアクセスが発生時に、ボリュームサーバ1200が逐次記憶領域を割り当てることによって、ボリュームサーバ1200から提供される論理ボリュームへの記憶領域拡張を実施した。第二の実施例では、アプリケーション1110の指示によってホスト1100の命令部1300経由で予め論理ボリュームの記憶容量拡張を行い、OS1130によって論理ボリュームの記憶容量の大きさを認知した上でアプリケーション1110に利用可能にする。この手順について図18を用いて説明する。
On the other hand, when the capacity of the volume expanded by the
<Second Example>
In the first embodiment, when a write I / O access occurs outside the storage area of the logical volume provided from the
まず、ホスト1000の命令部1132はアプリケーション1110からlLBAの記憶領域の拡張要求を受け取る(ステップ18001)。ホスト1100の命令部1132は、該当論理ボリュームの全容量と拡張領域分mLBAの合算したLBAへライトI/Oを発行する。ボリュームサーバ1200のI/O監視部1231は、ボリュームサーバが提供しているボリュームよりmLBA分拡張しているので容量増減部1232への容量拡張処理を行う(ステップ18003)。ライトI/Oが成功して記憶領域が増加した場合、ステップ18005を行い、失敗したときには記憶領域拡張を行わず処理は終了する。ステップ18005ではホスト1100の命令部1132は、ボリュームサーバ1200から提供される該当論理ボリュームに対するOS1130の論理区画情報の終了ブロック数をmLBA分増加する。以上で、アプリケーション1110経由でボリュームサーバ1200から提供される論理ボリュームの記憶領域拡張手順について説明を終了する。
First, the
1100:ホスト、1110:アプリケーション、1130:オペレーティングシステム(OS)、1131:ボリュームデバイス部、1132:命令部、1140:チャネルインターフェイス、1200:ボリュームサーバ、1210:チャネルインターフェイス、1220:チャネルインターフェイス、1230:ボリューム提供部、1231:I/O監視部、1232:容量増減部、1233:セグメント管理部、1234:I/O処理部、1235:物理論理アドレス管理部、1236:ボリューム提供部、1300:磁気ディスク記憶装置 1100: Host, 1110: Application, 1130: Operating system (OS), 1131: Volume device part, 1132: Command part, 1140: Channel interface, 1200: Volume server, 1210: Channel interface, 1220: Channel interface, 1230: Volume Providing unit, 1231: I / O monitoring unit, 1232: capacity increasing / decreasing unit, 1233: segment managing unit, 1234: I / O processing unit, 1235: physical logical address managing unit, 1236: volume providing unit, 1300: magnetic disk storage apparatus
Claims (5)
前記ホスト計算機から論理ボリュームへのI/O要求を受け付け、
前記I/O要求のアクセス対象の論理ブロックアドレスを読み取り、
前記I/O要求がアクセスした論理ブロックアドレスの記憶領域が論理ボリューム上に存在しない場合、未使用ディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張することを特徴とする記憶装置の容量自動拡張方法。 An automatic capacity expansion method in a volume providing device connected to at least one host computer and at least one disk storage device is:
Accepts an I / O request from the host computer to the logical volume,
Read the logical block address to be accessed of the I / O request,
When the storage area of the logical block address accessed by the I / O request does not exist on the logical volume, a storage area is allocated from an unused disk storage device and the storage area of the logical volume is dynamically expanded. A method for automatically expanding the capacity of a storage device.
前記ホスト計算機から論理ボリュームの縮小要求を受け付け、
前記縮小要求の対象となる論理ブロックアドレスを読み取り、
前記縮小要求が指定した論理ブロックアドレスの記憶領域を縮小することを特徴とする記憶装置の容量自動拡張方法。 An automatic capacity expansion method in a volume providing device connected to at least one host computer and at least one disk storage device is:
Accept a logical volume reduction request from the host computer,
Read the logical block address subject to the reduction request,
An automatic capacity expansion method for a storage device, wherein the storage area of a logical block address designated by the reduction request is reduced.
前記ホスト計算機から論理ボリュームへのI/O要求を受け付ける手段、
前記I/O要求のアクセス対象の論理ブロックアドレスを読み取る手段、
前記I/O要求がアクセスした論理ブロックアドレスの記憶領域が論理ボリューム上に存在しない場合、未使用ディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張する手段を有することを特徴とするボリューム提供装置。 The volume providing device connected to at least one host computer and at least one disk storage device is:
Means for receiving an I / O request from the host computer to the logical volume;
Means for reading a logical block address to be accessed by the I / O request;
Means for allocating a storage area from an unused disk storage device and dynamically expanding the storage area of the logical volume when the storage area of the logical block address accessed by the I / O request does not exist on the logical volume; A volume providing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008068556A JP4369520B2 (en) | 2008-03-17 | 2008-03-17 | Volume control apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008068556A JP4369520B2 (en) | 2008-03-17 | 2008-03-17 | Volume control apparatus and method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001204305A Division JP4175788B2 (en) | 2001-07-05 | 2001-07-05 | Volume controller |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009026882A Division JP2009151807A (en) | 2009-02-09 | 2009-02-09 | Storage device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008198221A true JP2008198221A (en) | 2008-08-28 |
JP2008198221A5 JP2008198221A5 (en) | 2008-10-09 |
JP4369520B2 JP4369520B2 (en) | 2009-11-25 |
Family
ID=39757032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008068556A Expired - Lifetime JP4369520B2 (en) | 2008-03-17 | 2008-03-17 | Volume control apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4369520B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086114A (en) * | 2008-09-30 | 2010-04-15 | Hitachi Ltd | Computer system and capacity management method in computer system |
US11907746B2 (en) | 2020-09-25 | 2024-02-20 | Hitachi, Ltd. | Compound storage system |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130282998A1 (en) | 2012-04-24 | 2013-10-24 | Hitachi, Ltd. | Backup system and backup method |
JP6114397B2 (en) | 2013-03-18 | 2017-04-12 | 株式会社日立製作所 | Hybrid storage system and storage control method |
-
2008
- 2008-03-17 JP JP2008068556A patent/JP4369520B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086114A (en) * | 2008-09-30 | 2010-04-15 | Hitachi Ltd | Computer system and capacity management method in computer system |
US11907746B2 (en) | 2020-09-25 | 2024-02-20 | Hitachi, Ltd. | Compound storage system |
Also Published As
Publication number | Publication date |
---|---|
JP4369520B2 (en) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4175788B2 (en) | Volume controller | |
US9411746B2 (en) | Computer system, computer and method for performing thin provisioning capacity management in coordination with virtual machines | |
US7127557B2 (en) | RAID apparatus and logical device expansion method thereof | |
EP2254036B1 (en) | Storage apparatus and data copy method | |
JP4464378B2 (en) | Computer system, storage system and control method for saving storage area by collecting the same data | |
US20110066823A1 (en) | Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer | |
US7380090B2 (en) | Storage device and control method for the same | |
JP6459644B2 (en) | Storage control device, control system, and control program | |
JP2008186172A (en) | Storage module and capacity pool free capacity adjustment method | |
JP2010073095A (en) | Computer system and control method therefor | |
JPH08101782A (en) | System and method for control of storage | |
JP2013515979A (en) | Storage device | |
JP2014514622A (en) | Storage system including flash memory and storage control method | |
US20150293719A1 (en) | Storage Space Processing Method and Apparatus, and Non-Volatile Computer Readable Storage Medium | |
US8037276B2 (en) | Computer system, storage area allocation method, and management computer | |
WO2018158808A1 (en) | Information system, management program, and program exchanging method for information system | |
JP4369520B2 (en) | Volume control apparatus and method | |
JP5597266B2 (en) | Storage system | |
JP6636159B2 (en) | Storage device | |
JP2009151807A (en) | Storage device | |
JP2010113727A (en) | Control method and storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080707 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080815 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090406 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090410 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090722 |
|
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: 20090820 |
|
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: 20090827 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4369520 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |