JP2010113727A - 制御方法及び記憶システム - Google Patents
制御方法及び記憶システム Download PDFInfo
- Publication number
- JP2010113727A JP2010113727A JP2009289008A JP2009289008A JP2010113727A JP 2010113727 A JP2010113727 A JP 2010113727A JP 2009289008 A JP2009289008 A JP 2009289008A JP 2009289008 A JP2009289008 A JP 2009289008A JP 2010113727 A JP2010113727 A JP 2010113727A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- segment
- logical
- unit
- capacity
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】
記憶装置の記憶領域を一意に決めるのではなく、動的に決定する。
【解決手段】
発明におけるシステムでは、ホストから記憶装置の論理ボリュームへアクセスされるリードもしくはライトI/Oの論理ブロックアドレスを監視する。取得された論理ブロックアドレスを元に、論理ボリュームの記憶領域を動的に伸長する。また、ホストの命令部からボリュームサーバへ論理ボリュームの容量縮小/拡張の指示により論理ボリュームの記憶領域を縮小/拡張する。
【選択図】 図1
記憶装置の記憶領域を一意に決めるのではなく、動的に決定する。
【解決手段】
発明におけるシステムでは、ホストから記憶装置の論理ボリュームへアクセスされるリードもしくはライトI/Oの論理ブロックアドレスを監視する。取得された論理ブロックアドレスを元に、論理ボリュームの記憶領域を動的に伸長する。また、ホストの命令部からボリュームサーバへ論理ボリュームの容量縮小/拡張の指示により論理ボリュームの記憶領域を縮小/拡張する。
【選択図】 図1
Description
本発明は、記憶装置システムにおいて、オンライン中に逐次容量拡張を行う方法に関する。
近年、複数のホスト計算機の記憶領域を一つの記憶装置に記憶する動きが盛んになっている。この動きを促している記憶装置の代表的なものとして、ディスクアレイがある。ディスクアレイは装置内部で複数の磁気ディスク記憶装置によって記憶領域の冗長性を持たせることにより信頼性を高め、必要な容量の記憶領域を論理ボリュームとして複数のホストへ提供する。このディスクアレイを用いたときの大きな利点の一つとして、論理ボリュームの容量拡張ができる点が挙げられる。
例えば、計算機がディスクアレイによって提供された論理ボリュームを使い切った場合、ディスクアレイ内部の未使用領域を任意長で切り出した論理ボリュームとして割り当て、計算機がこの論理ボリュームを使用中の論理ボリュームと結合することにより記憶領域を拡張できる。この機能はオンライン中にもボリュームの拡張ができるため、オンラインボリューム拡張と呼ばれる。オンラインボリューム拡張により、時々刻々と増大するデータに対して論理ボリュームの記憶領域の範囲をアプリケーション無停止で拡張するので、アプリケーションの稼動時間を拡大できる。また、ボリューム容量移行時にボリューム間データ移行を行う必要もないのでストレージの管理コストを大幅に削減できる。
従来、論理ボリューム利用者はオンラインボリューム拡張をするためには論理ボリューム提供者に連絡して拡張を施さなければならない。一つの企業内で利用するような小規模のサイトでは逼迫したデータの増加が無いため随時オンラインボリューム拡張をする必要がないが、データセンタなどの複数企業が共同で利用するような大規模のサイトでは、急激なデータの増加が複数企業の計算機から生じる可能性があり、随時オンラインボリューム拡張を行う必要性がある。加えて、ディスクアレイなどの記憶領域の利用効率を高めるために、1つの記憶装置で無駄なく複数利用者にボリュームを提供しなければならない。
記憶装置の記憶領域を無駄なく利用するためには、記憶領域を小さい容量の論理ボリュームの単位で管理して、拡張の度に小さい容量の論理ボリュームで論理ボリュームの拡張を行わなければならない。このような状況下でオンラインボリューム拡張を利用する際、時々刻々と増大するデータにより複数の利用者からオンラインボリューム拡張の要求が同時発生して、論理ボリューム提供者が対応仕切れない場合がある。最悪の場合、オンラインボリューム拡張ができずに計算機の処理停止を余儀なくされるという問題がある。
論理ボリューム利用者は記憶領域を管理することなく、無限の記憶容量を要求する。一方、論理ボリューム提供者は、論理ボリューム利用者が記憶領域をどのように利用するかを考えることなく、記憶領域を効率よく管理を行い、より迅速に利用者へ提供することを要求する。
本発明の目的は、記憶資源の利用者と提供者の要求を解決するために、記憶領域を管理する装置によって、計算機のオンライン中に、一元的に管理された記憶領域から動的に適切な容量の記憶領域を割り当てることによって論理ボリュームを拡張することにある。
本発明の計算機システムは、1台ないし複数のホスト計算機、1台ないし複数のディスク記憶装置、そして、ボリューム提供装置が相互接続された構成をとる。複数のディスク記憶装置を管理するボリューム提供装置は、複数のディスク記憶装置から個々のホスト計算機に対応する論理ボリュームを提供する。ホスト計算機は論理ボリュームへI/O要求を送り、ボリューム提供部はI/O要求のリードやライトが行われる論理ブロックアドレスを読み取り、論理ボリューム上にI/O要求がアクセスした論理ブロックアドレスの記憶領域が存在しない場合、ボリューム提供装置が未使用磁気ディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張する。また、アプリケーションの指示による任意量での論理ボリュームを縮小する。
本発明によれば、ボリュームサーバの要求に応じて記憶領域をボリュームサーバに付加することにより、ホスト計算機のアプリケーションは、容量を動的に伸縮可能な単一ボリュームを利用できる。
1100:ホスト、1110:アプリケーション、1130:オペレーティングシステム(OS)、1131:ボリュームデバイス部、1132:命令部、1140:チャネルインターフェイス、1200:ボリュームサーバ、1210:チャネルインターフェイス、1220:チャネルインターフェイス、1230:ボリューム提供部、1231:I/O監視部、1232:容量増減部、1233:セグメント管理部、1234:I/O処理部、1235:物理論理アドレス管理部、1236:ボリューム提供部、1300:磁気ディスク記憶装置
<第一の実施例>
以下に、発明の実施例を図面を用いて説明する。
以下に、発明の実施例を図面を用いて説明する。
図1に本発明を適用した計算機システムの構成例を示す。本計算機システムは、複数のホスト1100、ボリュームサーバ1200、複数の磁気ディスク記憶装置1300から構成される。本実施例では、ホスト1100が1台、磁気ディスク記憶装置1300が3台となっているが、1台ないし複数台あってもよい。また、ホスト1100、ボリュームサーバ1200、そして、磁気ディスク記憶装置1300はCPU、メモリ等を有するが、本発明の実施例の説明に関係がないため説明を省略する。
ホスト1100は、アプリケーション(App)1110、オペレーティングシステム(以下OS)1130、そして、チャネルインターフェイス1140を有する。アプリケーション1110は、ボリューム提供装置であるボリュームサーバ1200から提供されるボリュームをリード処理、ライト処理するDBやファイルシステム等の応用ソフトウエアである。オペレーティングシステム1130は、アプリケーション1110からのI/O要求を受け取りチャネルインターフェイス(I/F)1140へ転送するボリュームデバイス部(rsd0)1131と命令部1132から構成される。OS1130の命令部1132は、OS1130が使用する記憶装置の開始ブロック位置と終了ブロック位置等から構成される論理区画情報の管理とボリュームサーバ1200の動作制御を行うソフトウエアである。
ボリュームサーバ1200から提供される記憶領域である論理ボリュームを示す図4を用いて論理区画情報4100について説明する。本実施例では動的にボリュームを拡張するために、OS1130が扱う論理区画情報の開始ブロック位置は0LBA(4200)で示し、また終了ブロック位置は記憶装置のOSがサポートする最大記憶装置の容量もしくはユーザが利用する記憶容量を示す。もし、最大容量がユーザの利用する記憶容量によって制限された場合、ボリュームサーバ1200によって提供される論理ボリュームの記憶領域もこの終了ブロック位置によって制限される。また、論理区画情報はOS1130の管理下にある記憶装置において開始ブロック位置0LBA(4200)から論理区画情報の保管に必要な領域(4100)分のLBAまでに保管される。通常の保管されるデータは論理区画情報以外の記憶領域(4400)に保管される。
図1に示すチャネルI/F1140は、OS1130からのI/Oを外部デバイスへ転送する機能を有するデバイスであり、ファイバチャネルI/FやSCSI I/FなどのブロックデバイスI/Fである。
ホスト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要求で一度に処理される量である。
ボリュームサーバ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は共有していてもよい。
また、このボリュームサーバ1200はホスト1100に対して無尽蔵の容量を持つ論理ボリュームを提供する。つまり、ホスト1100からボリュームサーバ1200を見たときにボリュームの範囲を決定する論理ブロック番号(LBA)の開始値は0と決まっているが、範囲の終了値であるLBAは規定しなくてもよい。また、範囲の終了値のLBAを規定した場合、その値がボリュームサーバ1200から提供されるボリュームの最大容量となる。
ボリュームサーバ1200内のボリューム提供部1230は、I/O監視部1231、容量増減部1232、セグメント管理部1233、I/O処理部1234、そして、物理論理アドレス管理部1235から構成される。セグメント管理部1233は、セグメント管理表2000を内部に持ち、このセグメント管理表2000を使用してボリュームサーバ1200によって提供されるボリュームの記憶領域の管理を行っている。
図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の値によって利用状況を示す。
次に、物理論理アドレス管理部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の順に連続して結合されている。
例えば、図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から要求された容量の増減処理を行う。
本実施例では、ボリュームサーバ1200が独立した装置として配置されているが、磁気ディスク記憶装置1300にボリュームサーバ1200の機能を組み込んでもよい。
また、本実施例ではセグメント単位でボリューム拡張を行っているが、セグメント管理部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の内部動作を説明する。
(動作の説明)
次に、ボリュームサーバ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の内部動作を説明する。
ボリューム提供部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に対してリード/ライト処理が行われる。この処理の流れに従い個々の部について説明する。
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)する。
次に、容量増減部1232の処理動作について図7を用いて説明する。I/O監視部1231からの要求とホスト1100の命令部1132からの要求とで動作が異なる。まず、I/O監視部1231からの動作について説明する。I/O監視部1231から容量増加の命令が要求される(ステップ7001)とボリューム増加処理(ステップ7002)を行い、処理を終了する。一方、ホスト1100の命令部1132から全容量の中からmLBA分の容量減少の命令が要求されると(ステップ7001)、mLBA分のボリューム減少処理を行う(ステップ7003)。
ボリューム増加処理(ステップ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の具体的な動作については後述する。
一方、ボリューム減少処理(ステップ7003)は次の処理が行われる(図9)。縮小容量がmLBAの時、縮小後の論理ボリューム領域が存在しない一つもしくは複数のセグメント番号を物理論理管理表3000から取得する(ステップ9001)。セグメント取得手順としては、まず、物理論理管理表3000より終了LBA(3400)よりLBA(END)−mとして縮小後のLBAを算出する。この縮小後のLBAを元にして目的のLUN上で縮小後のLBAと重複していない一つないし複数のセグメント番号(SN)を取得する。
次に、これらのセグメントを物理論理アドレス管理部1235へセグメントの返還要求を行う(ステップ9002)。物理論理アドレス管理部1235は受け取ったセグメントを物理論理管理表3000上のLUNで指定される論理ボリュームのリストからセグメント番号と一致する列(SN3200、LBA(START)3300、LBA(END)3400)を切り離す(ステップ9003)。容量増減部1232はセグメント管理部1233へ切り離されたセグメント番号SNを未使用セグメントとして管理するように命令する(ステップ9004)。セグメント管理部1233では、切り離されたセグメントを未使用セグメントとして管理する(ステップ9005)。ホスト1100に論理ボリュームが切り離されたことを通知する(ステップ9006)。以上で、ボリューム縮小の処理手順を終了する。
セグメント管理部1233は、容量増減部1232より命令を受けたときに、セグメント管理表2000に記載されているセグメントの使用状況の管理とセグメント追加・削除を管理する。セグメント使用状況の管理は前述したセグメント管理表2000の管理手順に従う。
セグメント使用状況の管理の動作について、図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のボリューム使用状況管理の動作についての説明を終了する。
一方、セグメント番号>=0の時(ステップ10001)、セグメントの未使用状態へ移す動作と判断され、ステップ10006で処理を継続する。ステップ10006でセグメント管理表2000よりセグメント番号に対応する使用状況を未使用の0にして、ステップ10006に進む。ステップ10007では、セグメント管理表2000の利用状態2400の項目を用いて使用中セグメントの数と全セグメント数よりセグメントの利用率(使用中セグメント数/全セグメント数)を計算して、利用率が90%以上の可否を判別する。90%以上の場合、保守員に磁気ディスク記憶装置1300の追加を依頼して(ステップ10008)、処理を終了する。利用率が90%以下の場合はそのまま処理を終了する。利用率のしきい値である90%は、保守員がシステムの信頼性に応じて可変に変更できるものとする。以上で、セグメント管理部1233のボリューム使用状況管理の動作についての説明を終了する。
次に、磁気ディスク記憶装置1300の追加・削除の動作を図11を用いて説明する。ボリューム追加・削除の動作をステップ11001で判断する。追加の場合はステップ11005へ進み、削除の場合はステップ11002へ進む。磁気ディスク記憶装置1300の追加の場合、ステップ11005で磁気ディスク記憶装置1300の容量を確認する(ステップ11005)。確認された容量を元にセグメントの数ならびに大きさを決定する(ステップ11006)。セグメントの数並びに大きさは、固定値もしくは保守員による指定される値のどちらでもよい。この値を元にセグメント管理表2000の最後尾へ、磁気ディスク記憶装置1300の追加毎に、ディスク ID2100、セグメントのセグメント番号2200、開始位置2300、セグメントの大きさ2400、そして、利用状況2500として未使用を表す0を挿入して(ステップ11007)、処理を終了する。
一方、ボリューム削除の場合、該当のセグメント番号のセグメントが未使用セグメントか否かを判断する(ステップ11002)。未使用セグメントである場合、セグメント管理表2000よりそのセグメント番号の列を削除する(ステップ11003)。該当セグメントが未使用セグメントでない場合(ステップ 11002)、エラーとして戻し、処理を終える(ステップ11004)。
以上で、セグメント管理部1233のセグメント追加・削除の動作について説明を終了する。セグメント管理部1233は、以上で説明された手順でセグメントの使用状況の管理と追加・削除の動作を行う。
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の動作を手順の説明を終了する。
物理論理アドレス管理部1235の動作は2つの動作に分かれる。まず、I/O処理部1234から要求される物理論理アドレス変換手順である。この変換手順を図13を用いて説明し、実際の物理アドレスと論理アドレスとの物理論理間の構造を図14を用いて説明する。変換の際には次の規則を使う。まず、I/O要求のターゲットとなっているLUNに対するセグメント群を選ぶ(ステップ13001)。LBAから物理側のディスク番号とLBAを算出する(ステップ13002)。
算出する手順は、まず、ターゲットの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)。
もう一つの物理論理アドレス管理部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の動作の説明を終了する。
ホスト1100の命令部1132は、アプリケーション1110側で使用するボリューム内のデータの容量を縮小した後、アプリケーションからもしくはユーザから指示を受け、ボリュームサーバ1200から提供される論理ボリュームの記憶領域をセグメント単位毎に縮小する命令をI/F1140経由でボリュームサーバ1200へ命令するプログラムである。図16を用いて、この動作を説明する。
まず、アプリケーション1110からボリュームのmLBA分の縮小の要求を受ける(ステップ16001)。命令部1132では、OS1130の下で管理されている論理ボリュームの論理区画情報の最終ブロック位置をmLBA分縮小する(ステップ16002)。命令部1132より容量がmLBA分のボリュームをボリュームサーバの容量増減部1232へ発行する(ステップ16003)。容量増減部1232はボリューム縮小処理を行い(ステップ16004)、ホスト1100側にその結果を戻す。以上で命令部1132の動作の説明を終了する。
次に、アプリケーション1110との連携動作を示す。前述したように、ホスト1100はボリュームサーバ1200から提供される論理ボリュームを既存のボリュームとして取扱うことができるが、ボリュームサーバ1200側でLUNが示すボリュームが保持しているセグメント以上のボリュームへのアクセスが生じた時に、ボリュームがセグメント管理部1233より追加される。この動作は、前述したボリューム提供部1230の動作と同じである。
一方、アプリケーション1110が自ら拡張したボリュームの容量整理等を行い、実際のアプリケーション1110で使用されている容量が減った時には、ホスト1100の命令部1132へ、アプリケーション1110側で、削減前後における差分の容量を伝え、前述のホスト1100の命令部1132経由でのボリュームサーバでの前述のボリューム縮小手順(図16)を実行する。これらの手順で、ボリュームサーバで使用中のセグメント数をアプリケーション1110の動作にあわせて適切な論理ボリューム容量を提供できる。
<第二の実施例>
第一の実施例では、ホスト1100が、ボリュームサーバ1300から提供される論理ボリュームの記憶領域外へライトI/Oアクセスが発生時に、ボリュームサーバ1200が逐次記憶領域を割り当てることによって、ボリュームサーバ1200から提供される論理ボリュームへの記憶領域拡張を実施した。第二の実施例では、アプリケーション1110の指示によってホスト1100の命令部1300経由で予め論理ボリュームの記憶容量拡張を行い、OS1130によって論理ボリュームの記憶容量の大きさを認知した上でアプリケーション1110に利用可能にする。この手順について図18を用いて説明する。
<第二の実施例>
第一の実施例では、ホスト1100が、ボリュームサーバ1300から提供される論理ボリュームの記憶領域外へライトI/Oアクセスが発生時に、ボリュームサーバ1200が逐次記憶領域を割り当てることによって、ボリュームサーバ1200から提供される論理ボリュームへの記憶領域拡張を実施した。第二の実施例では、アプリケーション1110の指示によってホスト1100の命令部1300経由で予め論理ボリュームの記憶容量拡張を行い、OS1130によって論理ボリュームの記憶容量の大きさを認知した上でアプリケーション1110に利用可能にする。この手順について図18を用いて説明する。
まず、ホスト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から提供される論理ボリュームの記憶領域拡張手順について説明を終了する。
Claims (5)
- 少なくとも1台のホスト計算機及び少なくとも1台のディスク記憶装置に接続されたボリューム提供装置における容量自動拡張方法は、
前記ホスト計算機から論理ボリュームへのI/O要求を受け付け、
前記I/O要求のアクセス対象の論理ブロックアドレスを読み取り、
前記I/O要求がアクセスした論理ブロックアドレスの記憶領域が論理ボリューム上に存在しない場合、未使用ディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張することを特徴とする記憶装置の容量自動拡張方法。 - 少なくとも1台のホスト計算機及び少なくとも1台のディスク記憶装置に接続されたボリューム提供装置における容量自動拡張方法は、
前記ホスト計算機から論理ボリュームの縮小要求を受け付け、
前記縮小要求の対象となる論理ブロックアドレスを読み取り、
前記縮小要求が指定した論理ブロックアドレスの記憶領域を縮小することを特徴とする記憶装置の容量自動拡張方法。 - アプリケーションからの指示に基づいて論理ボリュームの記憶領域を拡張することを特徴とする請求項1記載の記憶装置の容量自動拡張方法。
- アプリケーションからの指示に基づいて論理ボリュームの記憶領域を縮小することを特徴とする請求項2記載の記憶装置の容量自動拡張方法。
- 少なくとも1台のホスト計算機及び少なくとも1台のディスク記憶装置に接続されたボリューム提供装置は、
前記ホスト計算機から論理ボリュームへのI/O要求を受け付ける手段、
前記I/O要求のアクセス対象の論理ブロックアドレスを読み取る手段、
前記I/O要求がアクセスした論理ブロックアドレスの記憶領域が論理ボリューム上に存在しない場合、未使用ディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張する手段を有することを特徴とするボリューム提供装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009289008A JP2010113727A (ja) | 2009-12-21 | 2009-12-21 | 制御方法及び記憶システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009289008A JP2010113727A (ja) | 2009-12-21 | 2009-12-21 | 制御方法及び記憶システム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009026882A Division JP2009151807A (ja) | 2009-02-09 | 2009-02-09 | 記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010113727A true JP2010113727A (ja) | 2010-05-20 |
Family
ID=42302187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009289008A Pending JP2010113727A (ja) | 2009-12-21 | 2009-12-21 | 制御方法及び記憶システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010113727A (ja) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5694452A (en) * | 1979-10-18 | 1981-07-30 | Storage Technology Corp | Virtual memory system and method therefor |
JPS57203280A (en) * | 1981-05-08 | 1982-12-13 | Storage Technology Corp | Virtual memory system |
JPH0324644A (ja) * | 1989-06-22 | 1991-02-01 | Nec Corp | マルチボリュームにおけるファイルの自動拡張方式 |
JPH04232539A (ja) * | 1990-12-27 | 1992-08-20 | Nippon Denki Joho Service Kk | ファイルオーバー未然防止システム |
JPH052456A (ja) * | 1990-10-02 | 1993-01-08 | Hitachi Ltd | 記憶媒体に対する情報記憶方法およびそのためのシステム |
JPH07261938A (ja) * | 1994-03-24 | 1995-10-13 | Hitachi Ltd | 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム |
JPH0863376A (ja) * | 1994-08-26 | 1996-03-08 | Nec Shizuoka Ltd | パーティション可変システム |
JPH08221875A (ja) * | 1995-02-01 | 1996-08-30 | Hewlett Packard Co <Hp> | データ記憶システムにおける仮想容量の過大割当てを避ける方法 |
JPH08221876A (ja) * | 1995-02-10 | 1996-08-30 | Hewlett Packard Co <Hp> | 記憶スペースを提供する方法 |
JPH0973407A (ja) * | 1995-09-05 | 1997-03-18 | Mitsubishi Electric Corp | データ管理装置 |
JPH09251406A (ja) * | 1996-03-15 | 1997-09-22 | Nec Corp | パーティション領域拡張方法 |
JPH10187505A (ja) * | 1996-12-24 | 1998-07-21 | Toshiba Corp | 情報記憶システム及び同システムに適用するデータ配置方法 |
JPH11217854A (ja) * | 1998-01-30 | 1999-08-10 | Hitachi Constr Mach Co Ltd | 作業機械のモニタ用記憶容量警告装置 |
JPH11232837A (ja) * | 1998-02-12 | 1999-08-27 | Toshiba Corp | データ更新機能付き録再dvd装置並びにその装置に適用可能なdvdディスク |
JP2000010924A (ja) * | 1998-06-22 | 2000-01-14 | Dainippon Printing Co Ltd | ネットワークを用いたデータ処理システム |
JP2001075853A (ja) * | 1999-09-03 | 2001-03-23 | Hitachi Ltd | 計算機システム、及び該計算機システムに用いられる計算機並びに記憶装置 |
JP2001084112A (ja) * | 1999-09-10 | 2001-03-30 | Toshiba Corp | 情報記録制御システムおよび情報記録制御方法 |
JP2001125863A (ja) * | 1999-09-29 | 2001-05-11 | Ricoh Co Ltd | メッセージをユーザに送信するため種々の通信モードに基づいて遠隔的な診断、制御及び情報収集を行う方法並びにシステム |
JP2001134384A (ja) * | 1999-11-04 | 2001-05-18 | Nec Software Hokkaido Ltd | 情報処理装置 |
JP2001160012A (ja) * | 1999-12-03 | 2001-06-12 | Nec Corp | 電子メール自動管理方式とクライアントシステム |
-
2009
- 2009-12-21 JP JP2009289008A patent/JP2010113727A/ja active Pending
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5694452A (en) * | 1979-10-18 | 1981-07-30 | Storage Technology Corp | Virtual memory system and method therefor |
JPS57203280A (en) * | 1981-05-08 | 1982-12-13 | Storage Technology Corp | Virtual memory system |
JPH0324644A (ja) * | 1989-06-22 | 1991-02-01 | Nec Corp | マルチボリュームにおけるファイルの自動拡張方式 |
JPH052456A (ja) * | 1990-10-02 | 1993-01-08 | Hitachi Ltd | 記憶媒体に対する情報記憶方法およびそのためのシステム |
JPH04232539A (ja) * | 1990-12-27 | 1992-08-20 | Nippon Denki Joho Service Kk | ファイルオーバー未然防止システム |
JPH07261938A (ja) * | 1994-03-24 | 1995-10-13 | Hitachi Ltd | 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム |
JPH0863376A (ja) * | 1994-08-26 | 1996-03-08 | Nec Shizuoka Ltd | パーティション可変システム |
JPH08221875A (ja) * | 1995-02-01 | 1996-08-30 | Hewlett Packard Co <Hp> | データ記憶システムにおける仮想容量の過大割当てを避ける方法 |
JPH08221876A (ja) * | 1995-02-10 | 1996-08-30 | Hewlett Packard Co <Hp> | 記憶スペースを提供する方法 |
JPH0973407A (ja) * | 1995-09-05 | 1997-03-18 | Mitsubishi Electric Corp | データ管理装置 |
JPH09251406A (ja) * | 1996-03-15 | 1997-09-22 | Nec Corp | パーティション領域拡張方法 |
JPH10187505A (ja) * | 1996-12-24 | 1998-07-21 | Toshiba Corp | 情報記憶システム及び同システムに適用するデータ配置方法 |
JPH11217854A (ja) * | 1998-01-30 | 1999-08-10 | Hitachi Constr Mach Co Ltd | 作業機械のモニタ用記憶容量警告装置 |
JPH11232837A (ja) * | 1998-02-12 | 1999-08-27 | Toshiba Corp | データ更新機能付き録再dvd装置並びにその装置に適用可能なdvdディスク |
JP2000010924A (ja) * | 1998-06-22 | 2000-01-14 | Dainippon Printing Co Ltd | ネットワークを用いたデータ処理システム |
JP2001075853A (ja) * | 1999-09-03 | 2001-03-23 | Hitachi Ltd | 計算機システム、及び該計算機システムに用いられる計算機並びに記憶装置 |
JP2001084112A (ja) * | 1999-09-10 | 2001-03-30 | Toshiba Corp | 情報記録制御システムおよび情報記録制御方法 |
JP2001125863A (ja) * | 1999-09-29 | 2001-05-11 | Ricoh Co Ltd | メッセージをユーザに送信するため種々の通信モードに基づいて遠隔的な診断、制御及び情報収集を行う方法並びにシステム |
JP2001134384A (ja) * | 1999-11-04 | 2001-05-18 | Nec Software Hokkaido Ltd | 情報処理装置 |
JP2001160012A (ja) * | 1999-12-03 | 2001-06-12 | Nec Corp | 電子メール自動管理方式とクライアントシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4175788B2 (ja) | ボリューム制御装置 | |
US9411746B2 (en) | Computer system, computer and method for performing thin provisioning capacity management in coordination with virtual machines | |
EP2254036B1 (en) | Storage apparatus and data copy method | |
US9122415B2 (en) | Storage system using real data storage area dynamic allocation method | |
US20110066823A1 (en) | Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer | |
JP5028381B2 (ja) | ストレージ装置およびキャッシュ制御方法 | |
JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
US7380090B2 (en) | Storage device and control method for the same | |
JP6459644B2 (ja) | ストレージ制御装置、制御システム及び制御プログラム | |
JP2008186172A (ja) | ストレージモジュール及び容量プール空き容量調整方法 | |
JP2008065503A (ja) | ストレージシステム及びバックアップ/リカバリ方法 | |
JP5537732B2 (ja) | ストレージシステム | |
JPWO2015052798A1 (ja) | ストレージシステム及び記憶制御方法 | |
JP2014514622A (ja) | フラッシュメモリを含むストレージシステム、及び記憶制御方法 | |
WO2013186828A1 (ja) | 計算機システム及び制御方法 | |
US20150293719A1 (en) | Storage Space Processing Method and Apparatus, and Non-Volatile Computer Readable Storage Medium | |
US20190243758A1 (en) | Storage control device and storage control method | |
US8037276B2 (en) | Computer system, storage area allocation method, and management computer | |
JP4369520B2 (ja) | ボリューム制御装置及び方法 | |
JP5597266B2 (ja) | ストレージシステム | |
JP6636159B2 (ja) | ストレージ装置 | |
JP2010113727A (ja) | 制御方法及び記憶システム | |
JP2009151807A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100401 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121113 |