(57)【特許請求の範囲】
【請求項１】
ミラーディスクを構成する各ディスクに対して、生成した１乃至複数の論理ボリュームの割付単位でありかつミラー管理単位である論理エクステント単位にデータアクセスをするミラーディスク制御装置において、
論理ボリューム毎に当該各ディスク内に予め設けられた再配置エクステントエリアと、
前記各ディスクに設けられ、論理エクステントと前記各ディスク上の物理エクステントとの対応づけを論理ボリューム毎に保持するエクステント対応管理情報記憶手段と、
前記各ディスクに設けられ、前記再配置エクステントエリアに含まれる各再配置物理エクステントの使用状態を保持する再配置エクステント管理情報記憶手段と、
前記ミラーディスクへのアクセス制御を行うディスクアクセス制御手段と、
ディスクへのデータ書込みの際に障害が発生したときに、当該障害が発生したディスクに設けられた前記エクステント対応管理情報記憶手段又は前記再配置エクステント管理情報記憶手段を参照し、当該障害が発生したディスクへのデータ書込み箇所を、その障害発生箇所に代えて当該障害が発生したディスクにおける前記再配置エクステントエリア内にミラー管理単位で再配置する再配置処理を実行することで、データを書き込む物理エクステントの再配置を行う再配置処理手段と、
を有することを特徴とするミラーディスク制御装置。
【請求項２】
前記再配置処理手段は、復旧すべきデータをデータ書込みが正常にできたディスクから読み出して障害が発生したディスク側の該当する再配置エクステントに書き込むことを特徴とする請求項１記載のミラーディスク制御装置。
【請求項３】
前記再配置処理手段による再配置処理の実行タイミングを制御する再配置処理制御管理手段を有し、再配置処理を障害発生時又はオペレータからの指示によって選択的に行うことを特徴とする請求項１記載のミラーディスク制御装置。
【請求項４】
前記再配置処理手段は、前記障害が発生したディスクの交換後に当該交換したディスクに対して再配置処理を実行した後、オペレータからの指示に応じて再配置エクステントに割り当てられていたデータを、当該データが格納されている論理ボリューム内であって当該データの書込みが正常にできた他方のディスクにおける当該データの物理エクステントと同一位置に再配置することを特徴とする請求項１記載のミラーディスク制御装置。
【請求項５】
ミラーディスクを構成する各ディスクに対して、生成した１乃至複数の論理ボリュームの割付単位でありかつミラー管理単位である論理エクステント単位にデータアクセスをするミラーディスク制御装置において、
論理ボリューム毎に当該各ディスク内に予め設けられた再配置エクステントエリアと、
論理エクステントと前記各ディスク上の物理エクステントとの対応づけを論理ボリューム毎に保持するエクステント対応管理情報記憶手段と、
前記再配置エクステントエリアに含まれる各再配置物理エクステントの使用状態を保持する再配置エクステント管理情報記憶手段と、
前記ミラーディスクへのアクセス制御を行うディスクアクセス制御手段と、
データ書込みの際に障害が発生したディスクへのデータ書込み箇所を、その障害発生箇所に代えて前記障害が発生したディスクにおける前記再配置エクステントエリア内にミラー管理単位で再配置する再配置処理を実行することで、データを書き込む物理エクステントの再配置を行う再配置処理手段と、
を有し、
前記再配置処理手段は、オペレータからの指示に応じて再配置エクステントに割り当てられていたデータを、当該データが格納されている論理ボリューム内のオペレータにより指定された物理エクステント位置に再配置することを特徴とするミラーディスク制御装置。
【請求項６】
前記再配置エクステントエリアは、対応する論理ボリューム内に設けられることを特徴とする請求項１又は５に記載のミラーディスク制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はミラーディスク制御装置、特に論理ボリューム単位にミラー管理を行う場合に適したミラーディスク制御に関する。
【０００２】
【従来の技術】
データの信頼性向上あるいはディスクアクセス処理の高速化を図るために同一内容のディスクを多重化させて管理するミラーディスク管理方式がある。従来のミラーディスク管理方式では、物理ディスクをミラー管理単位とし、ディスクアクセス時にエラーが発生したときにはエラーが発生した物理ディスク全体を切り離して縮退運転に移行させていた。このような方法だと、ほんの一部分の格納領域で障害が発生しただけでも１台の物理ディスクを切り離すことになり非効率である。そこで、近年では、障害箇所を論理エクステント単位に切り離す論理ボリュームミラー管理方式が採用されている。
【０００３】
この論理ボリュームミラー管理方式は、物理ディスクを論理ボリュームという任意のエリアに分割して形成した仮想的なディスク単位、すなわち論理ボリューム単位にミラー管理を行う。論理ボリュームを物理ディスク上に確保するとき実際に使用される物理ディスクエリアが任意の割付単位（例えば４ＭＢ）の整数倍で割り付けられる。以降、この割付単位を論理ボリュームにおいては論理エクステント、それに対応する物理ディスクにおいては物理エクステントと記述する。
【０００４】
ここで、論理ボリュームミラー管理方式におけるミラー管理単位を論理ボリュームではなくディスクアクセス単位である論理エクステントとする。エクステントをミラー管理単位とした場合は、エクステント単位で障害状況を管理することになる。ミラー書込みの際、片方のディスクに書込み障害が発生したとすると、ミラーディスク制御では、障害が発生した論理エクステントに対応した物理エクステントを障害中とする。これにより、障害が発生した物理エクステントは、ミラー管理上、障害とみなされ切り離される。つまり、以降のアクセスから除外される。この結果、当該論理エクステントに対する読込み及び書込み処理は、正常な一方のディスクのみに行われる。
【０００５】
論理ボリュームミラー管理方式では、以上のようにディスクアクセス処理において障害が発生した場合でもその障害発生部分（物理エクステント）だけを切り離せばよいので、ディスク全体を切り離すことなくミラーディスクの構成のまま運転を継続することができる。
【０００６】
【発明が解決しようとする課題】
しかしながら、この方式だと、障害中の物理エクステントが各物理ディスクに分散する場合が発生しうるので、システム運用に際して、下記のような弊害が発生する。まず、ミラーディスクを構成するディスクそれぞれに障害中の物理エクステントが存在しているときに一方のディスクを交換しようとした場合、交換対象のディスクには正常な物理エクステントとして格納されているが、当該物理エクステントに対応した他方のディスクの物理エクステントが障害中である場合、交換対象のディスクを交換してしまうと当該物理エクステントに格納されている正常なデータは消失してしまう。従って、システム運転中にはディスク交換を単純にすることができない。
【０００７】
また、ディスク交換をしないまでも一方のディスクを切り離してバックアップを取ろうとするとき、バックアップ対象のディスクには障害中の物理エクステントとして格納されているが、当該物理エクステントに対応した他方のディスクの物理エクステントが正常である場合、当該物理エクステントに格納されるべき正常なデータはバックアップされないので、バックアップ自体に意味がない。
【０００８】
以上のように、従来においては、論理ボリュームあるいは論理エクステントをミラー管理単位とする場合において障害中の物理エクステントが複数のディスクに分散している場合、システム運転中には物理ディスクを切り離すことはできない。
【０００９】
本発明は以上のような問題を解決するためになされたものであり、その目的は、論理ボリューム単位でミラーディスク管理がなされる場合にシステム運転中での物理ディスクの切り離しを可能にするミラーディスク制御装置を提供することにある。
【００１１】
【課題を解決するための手段】
以上のような目的を達成するために、本発明に係るミラーディスク制御装置は、ミラーディスクを構成する各ディスクに対して、生成した１乃至複数の論理ボリュームの割付単位でありかつミラー管理単位である論理エクステント単位にデータアクセスをするミラーディスク制御装置において、論理ボリューム毎に当該各ディスク内に予め設けられた再配置エクステントエリアと、前記各ディスクに設けられ、論理エクステントと前記各ディスク上の物理エクステントとの対応づけを論理ボリューム毎に保持するエクステント対応管理情報記憶手段と、前記各ディスクに設けられ、前記再配置エクステントエリアに含まれる各再配置物理エクステントの使用状態を保持する再配置エクステント管理情報記憶手段と、前記ミラーディスクへのアクセス制御を行うディスクアクセス制御手段と、ディスクへのデータ書込みの際に障害が発生したときに、当該障害が発生したディスクに設けられた前記エクステント対応管理情報記憶手段又は前記再配置エクステント管理情報記憶手段を参照し、当該障害が発生したディスクへのデータ書込み箇所を、その障害発生箇所に代えて当該障害が発生したディスクにおける前記再配置エクステントエリア内にミラー管理単位で再配置する再配置処理を実行することで、データを書き込む物理エクステントの再配置を行う再配置処理手段とを有するものである。
【００１２】
また、前記再配置処理手段は、復旧すべきデータをデータ書込みが正常にできたディスクから読み出して障害が発生したディスク側の該当する再配置エクステントに書き込むものである。
【００１３】
また、前記再配置処理手段による再配置処理の実行タイミングを制御する再配置処理制御管理手段を有し、再配置処理を障害発生時又はオペレータからの指示によって選択的に行うものである。
【００１４】
また、前記再配置処理手段は、前記障害が発生したディスクの交換後に当該交換したディスクに対して再配置処理を実行した後、オペレータからの指示に応じて再配置エクステントに割り当てられていたデータを、当該データが格納されている論理ボリューム内であって当該データの書込みが正常にできた他方のディスクにおける当該データの物理エクステントと同一位置に再配置するものである。
【００１５】
また、他の発明に係るミラーディスク制御装置は、ミラーディスクを構成する各ディスクに対して、生成した１乃至複数の論理ボリュームの割付単位でありかつミラー管理単位である論理エクステント単位にデータアクセスをするミラーディスク制御装置において、論理ボリューム毎に当該各ディスク内に予め設けられた再配置エクステントエリアと、論理エクステントと前記各ディスク上の物理エクステントとの対応づけを論理ボリューム毎に保持するエクステント対応管理情報記憶手段と、前記再配置エクステントエリアに含まれる各再配置物理エクステントの使用状態を保持する再配置エクステント管理情報記憶手段と、前記ミラーディスクへのアクセス制御を行うディスクアクセス制御手段と、データ書込みの際に障害が発生したディスクへのデータ書込み箇所を、その障害発生箇所に代えて前記障害が発生したディスクにおける前記再配置エクステントエリア内にミラー管理単位で再配置する再配置処理を実行することで、データを書き込む物理エクステントの再配置を行う再配置処理手段とを有し、前記再配置処理手段は、オペレータからの指示に応じて再配置エクステントに割り当てられていたデータを、当該データが格納されている論理ボリューム内のオペレータにより指定された物理エクステント位置に再配置するものである。
【００１６】
また、前記再配置エクステントエリアは、対応する論理ボリューム内に設けられるものである。
【００１７】
【発明の実施の形態】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００１８】
図１は、本発明に係るミラーディスク装置の一実施の形態を搭載したシステム全体の構成図である。本実施の形態におけるシステムは、複数のサーバ１，２それぞれに同等のミラーディスク制御装置３を搭載し、稼働系のサーバ１がダウンしたときでも待機系のサーバ２がミラーディスク制御を継続して行えるようにホットスタンバイ型の多重系として構成されている。
【００１９】
図２は、本実施の形態におけるミラーディスク制御装置の構成図である。本実施の形態におけるミラーディスク制御装置３には、ミラーディスクを構成する２台のディスク４，５が接続されている。本実施の形態では、ディスク４をプライマリ側、ディスク５をミラー側とする。各ディスク４，５には、本実施の形態においてミラーディスク管理単位とする複数の論理ボリューム（ＬＶ）６と、各論理ボリューム６を構成する論理エクステント（ＬＥ）に対応づけられた各ディスク４，５の物理エクステント（ＰＥ）の状態、使用状況等を管理する論理ボリューム管理テーブル７が形成される。ミラーディスクを構成する各論理ボリュームの正常、異常の状態は、任意の単位（例えば２５６バイト）で管理され、この管理単位すなわちミラー単位で保持される。ミラー管理単位は、通常エクステントより小さい単位で管理されるが、本実施の形態では、便宜上、エクステントをミラー管理単位とする。各エクステントの状態は、論理ボリューム管理テーブル７で保持管理される。各論理ボリュームには、実際にデータを格納するデータ物理エクステント（以下、単に「データエクステント」ともいう）を含むデータエクステントエリア８及び本実施の形態において特徴的な再配置用の物理エクステント（以下、「再配置エクステント」という）を含む再配置エクステントエリア９が確保されている。図２の“Ｐ−ＰＥ１”、“Ｍ−ＰＥ１”、“Ｐ−ＲＰＥ１”、“Ｍ−ＲＰＥ１”等は、それぞれ物理エクステント番号を示している。本実施の形態では、例えば“Ｐ−ＰＥ１”のハイフン前の“Ｐ”はプライマリ側ディスクを意味し、ハイフン後の“ＰＥ”はデータ物理エクステントを意味し、“１”は昇順に並べたときの通しエクステント番号（１〜ｎ）である。
【００２０】
論理ボリューム管理テーブル７は、全ディスク４，５に保持され全て同一内容であり、常に同時に更新される。論理ボリューム管理テーブル７には、論理・物理エクステント対応管理テーブル（以下、単に「エクステント対応テーブル」という）１０と、再配置エクステントテーブル１１との組が論理ボリューム毎に設けられている。エクステント対応テーブル１０は、エクステント対応管理情報記憶手段として設けられており、論理エクステントと各ディスク４，５の物理エクステントとの対応付け及び各物理エクステントの障害状況を管理するためのテーブルである。図２に示したエクステント対応テーブル１０の例によると、番号“ＬＥ１”で表される論理エクステントには、物理エクステント“Ｐ−ＰＥ１”，“Ｍ−ＰＥ１”が対応づけられていることがわかる。各物理エクステントの状態（ステータス）としては、アクセス可能な物理エクステントが割り付けられていることを示す「正常」、対応物理エクステントが障害中であることを示す「障害中」及び対応する物理エクステントは割り付けられていないことを示す「未割付」がある。再配置エクステントテーブル１１は、再配置エクステント管理情報記憶手段として設けられており、各再配置エクステントの使用状況を管理するためのテーブルである。各再配置エクステントのフラグ値としては、割付可能状態である「未使用」、対応論理エクステントに割り付けている「使用中」及び再配置エクステント自体が使用不可状態である「障害中」がある。再配置エクステントが使用されている場合には当該再配置エクステントを使用している対応した論理エクステント番号が対応論理エクステントに設定される。
【００２１】
ミラーディスク制御装置３は、ディスクアクセス制御部１２、再配置処理部１３及び再配置処理制御管理部１４を有している。ディスクアクセス制御部１２は、アプリケーション等からの要求に応じてディスクアクセスを行うが、この際、ミラーディスク制御、すなわち、一データ書込み要求に対して複数のミラーディスク４，５にデータ書込みを行う。再配置処理部１３は、ディスクアクセス制御部１２又はオペレータ（操作員）からのコマンドによる指示に応じてデータ復旧、移動等のために物理エクステントの再配置を行う。再配置処理制御管理部１４は、再配置処理部１３による再配置処理の実行タイミングを制御する。すなわち、ディスクアクセス制御部１２が障害発生時に発した再配置要求メッセージをそのまま再配置処理部１３へ渡したり、再配置要求メッセージを一時保持し、操作員からの指示に応じて再配置要求メッセージを再配置処理部１３へ渡すことを、環境設定された条件に従い選択的に行う。
【００２２】
本実施の形態において特徴的なことは、ミラーディスク管理単位である論理ボリューム毎に再配置エクステントエリア９を設けたことである。これにより、障害発生箇所（データ物理エクステント）の代わりに再配置エクステントを利用することで各論理ボリュームには正常なデータが必ず書き込まれていることになるので、論理ボリューム単位にミラーディスク管理を行う場合でもシステム運転中にディスクを切り離すことができる。
【００２３】
次に、本実施の形態の動作について説明するが、最初に、本実施の形態におけるミラーディスク制御を行う際の環境設定について説明する。
【００２４】
まず、操作員は、プライマリディスクアドレス、ミラーディスクアドレス、各論理ボリュームサイズ及び再配置エクステントエリア９を構成する物理エクステントの割付個数を予め指定する。これにより、各ディスク４，５の論理ボリューム及び論理ボリューム管理テーブル７を生成することができる。なお、エクステント対応テーブル１０のステータスには「正常」が、再配置エクステントテーブル１１のフラグには「未使用」が通常は初期値として設定される。また、詳細は後述するが、本実施の形態では、再配置処理を障害発生時点あるいは操作員からコマンド指示によって選択的に行えるようにしているので、いずれのタイミングで行うかの設定も予め指定しておく。
【００２５】
次に、本実施の形態におけるミラーディスク制御について図３に示したフローチャートを用いて説明する。
【００２６】
障害が発生しない通常時のミラーディスクアクセスは、基本的には従来と同じである。すなわち、論理ボリュームに対するアクセスが行われると、利用者からのアクセス要求箇所を最終的に論理エクステントに変換し、更に論理ボリューム管理テーブル７を検索し、対応する各ディスク４，５の物理エクステントを取得し、物理エクステントをディスク４，５の物理アドレスに変換し、直接の入出力要求をＯＳ（オペレーティングシステム）に対し行う。通常、データ読込みはプライマリ側のディスク４へ、データ書込みは双方のディスク４，５へ行う。このときの内部処理として、ディスクアクセス制御部１２は、アクセス対象の論理ボリュームに対し、再配置処理部１３との排他を行い（ステップ１０１）、論理エクステントに対応する両ディスク４，５の物理エクステントに入出力要求を行う（ステップ１０２）。この際、物理エクステントのステータスが“障害中”でないことを確認する。障害が発生せずに正常終了したときには（ステップ１０３，１０４）、その後論理ボリュームの排他を解除する（ステップ１０９）。排他を解除することによって再配置処理部１３は論理ボリュームへのアクセスが可能となる。そして、データアクセス要求元へ正常終了した旨をＯＳを介して返す（ステップ１１０，１１１）。
【００２７】
次に、本実施の形態において特徴とする障害発生時における処理について同じく図３を用いて説明する。
【００２８】
両ディスク４，５へのデータ書込み時にエラーが発生した場合（ステップ１０１〜１０４）、エクステント対応テーブル１０の障害が発生したディスクの当該物理エクステントの状態を“正常”から“障害中”に変更して（ステップ１０５）、全ディスク４，５に格納されている全論理ボリューム管理テーブル７を更新する（ステップ１０６）。つまり、ディスクアクセス制御部１２は、図示しない内部メモリに読み込んだ論理ボリューム管理テーブルのエクステント対応テーブルを上記のように変更した後、全ディスク４，５へ書き込む。正常に書込みができたとき、ディスクアクセス制御部１２は、挙動指示を“再配置”、パラメータに障害が発生した論理ボリューム、ディスク及び論理エクステントを指定して再配置処理部１３へ再配置要求メッセージを送付する（ステップ１０７，１０８）。再配置要求メッセージに関する詳細は追って説明する。その後、論理ボリュームの排他を解除し（ステップ１０９）、データアクセス要求元へ正常終了した旨を返す（ステップ１１０，１１１）。
【００２９】
また、いずれかのディスク４，５に論理ボリューム管理テーブル７が書き込めないときには今後ミラーディスク構成が維持できないものとして論理ボリュームの排他を解除し（ステップ１０７，１０９）、データアクセス要求元へ異常終了した旨をＯＳを介して返す（ステップ１１０，１１２）。
【００３０】
次に、本実施の形態における再配置処理部１３が行う再配置処理について図４，５に示したフローチャートを用いて説明する。
【００３１】
再配置処理部１３は、予め起動され、常時処理要求メッセージの待ち状態となる。そして、処理要求メッセージが送られてくると後述する一連の処理を実行した後、処理要求メッセージの待ち状態に戻る。処理要求メッセージは、ディスクアクセス制御部１２の上記ステップ１０８における再配置要求メッセージの送付処理及び後述する操作員からのコマンド指示によって再配置処理制御管理部１４を介して送られてくる。
【００３２】
ところで、処理要求メッセージには、挙動指示及びパラメータが指定されている。挙動指示には、再配置処理部１３が行うべき指示内容が指定されており、その種別として“再配置”、“一致”及び“エクステント指示”がある。操作員からのコマンド指示には、全ての挙動指示が指定されてくるが、ディスクアクセス制御部１２からの処理要求メッセージには、“再配置”のみが指定されてくる。パラメータには、再配置対象となる論理ボリューム、ディスク及び論理エクステントが固定的に指定される。また、挙動指示として“エクステント指示”が指定された場合には更に割付物理エクステント番号が指定される。通知には、ＯＳが持つメッセージ通信機能を利用する。
【００３３】
処理要求メッセージ受信待ち状態にある再配置処理部１３は、要求メッセージが送られてくると（ステップ２０１）、メッセージに含まれているパラメータを解析し（ステップ２０２）、特定された処理対象となるディスクから論理ボリューム管理テーブル７を読み込む（ステップ２０３）。もし、読み込めない場合は、ディスク全域がアクセス不能（例えば、電源断）とみなし、変更した内容があれば元の状態に戻して全処理をスキップする（ステップ２０４，２３０）。物理エクステントのみの障害かアクセス不能か否かのチェックができる点で障害が発生したディスクから論理ボリューム管理テーブル７を読み込むことに意義がある。
【００３４】
挙動指示として“再配置”が指定されていた場合（ステップ２０５）、再配置処理部１３は、パラメータに指定されたディスクの再配置エクステントテーブル１１を検索し（ステップ２０６）、フラグが“未使用”の再配置エクステントを得る（ステップ２０８）。もし、“未使用”の再配置エクステントがなければ、利用可能な物理エクステントが再配置エクステントエリア９内に存在しないため処理の継続が不可能と判断し、変更した内容があれば元の状態に戻して全処理をスキップする（ステップ２０７，２３０）。
【００３５】
このように、挙動指示として“再配置”が指定されている場合、障害が発生したデータエクステントエリア８内の物理エクステントに代わって再配置エクステントエリア９内に予め確保しておいた再配置エクステントを割り当てることになる。つまり、当該論理エクステントに対応づけした物理エクステントを再配置することになる。
【００３６】
その後、再配置処理部１３は、アクセス対象の論理ボリュームに対し、ディスクアクセス制御部１２との排他を行う（ステップ２１８）。そして、再配置処理部１３は、正常にデータを書き込むことのできたディスクの物理エクステントからデータを読み込み（ステップ２１９）、ステップ２０８において獲得した再配置エクステントに当該データを書き込む（ステップ２２１）。これにより、障害が発生したディスク側にもデータが格納されたことになる。特に、本実施の形態では、再配置エクステントに、データ書込み要求に含まれているデータではなく正常にディスクに書き込めたデータを読み出して書き込む処理とした。これにより、後述する操作員からのコマンド指示のタイミングで再配置処理を非同期に行うことができる。以上の処理中にエラーが生じた場合は、変更した内容を元の状態に戻す（ステップ２２０，２２２，２３０）。
【００３７】
続いて、再配置処理部１３は、ステップ２０３において図示しない内部メモリに読み込んだ論理ボリューム管理テーブルのエクステント対応テーブルの“障害中”であった当該ディスク毎対応物理エクステントに割り当てた再配置エクステントをセットし、更にステータスを“障害中”を“正常”に変更する（ステップ２２３）。そして、論理ボリューム管理テーブルのエクステント対応テーブルの当該再配置エクステントに対応した対応論理エクステントに更新したエクステント対応テーブルの論理エクステントをセットし、更にフラグを“未使用”から“使用中”に変更する（ステップ２２５）。その後、内部メモリにおいて更新した論理ボリューム管理テーブルを全ディスク４，５に書き込むことで全ディスク４，５の論理ボリューム管理テーブル７の内容を同一にする。その後、論理ボリュームの排他を解除した後（ステップ２２８）、再度、処理要求メッセージ待ちへ戻る（ステップ２０１）。
【００３８】
以上説明した本実施の形態の動作により更新される論理ボリューム管理テーブル７について具体例（図６）をあげて説明する。
【００３９】
データ書込みの際、論理エクステントＬＥ３に対応したディスク５の物理エクステントＭ−ＰＥ３に障害が発生したため、エクステント対応テーブル１０−１に示したように物理エクステントＭ−ＰＥ３のステータスを“正常”から“障害中”に変更する（ステップ１０５）。なお、このとき、論理エクステントＬＥ３に対応したディスク４の物理エクステントＰ−ＰＥ３にはデータが正常に書き込まれている。再配置処理部１３は、ディスクアクセス制御部１２からの処理要求に応じて再配置エクステントテーブル１１−１を検索し、“未使用”の再配置エクステントＭ−ＲＰＥ１を取得する（ステップ２０６，２０８）。そして、ディスク４の物理エクステントＰ−ＰＥ３に正常に書き込めたデータを読み込んで再配置エクステントＭ−ＲＰＥ１にコピーする（ステップ２２１）。そして、エクステント対応テーブル１０−２に示したように“障害中”であったディスク毎対応物理エクステント“Ｍ−ＰＥ３”を再配置先の物理エクステント“Ｍ−ＲＰＥ１”で更新するとともに当該ステータスを“障害中”から“正常”に変更する（ステップ２２３）。更に、再配置エクステントテーブル１１−２に示したように再配置エクステントＭ−ＲＰＥ１のフラグを“使用中”に変更し、また、対応する論理エクステント“ＬＥ３”を対応論理エクステントに設定する（ステップ２２５）。
【００４０】
この結果、以降の処理において論理エクステントＬＥ３へのアクセスに対してエクステント対応テーブル１０−２を参照することによってディスク５に対しては、再配置エクステントＭ−ＲＰＥ１がアクセスされることになる。
【００４１】
本実施の形態によれば、データ書込みの際に障害が発生した場合でもデータ書込み先の論理エクステントに対応した障害発生ディスクのデータエクステントを再配置エクステントに再配置してデータを書き込むようにしたので、障害が発生したディスク側にも当該データを持たせることができる。つまり、書込み処理時に障害が発生したデータが障害発生ディスクにも格納されることになるので、システム運転中にディスクを切り離すことができる。これにより、ディスク交換やディスクバックアップをシステム停止することなく行うことができる。この結果、障害箇所を持った状態での運転を一時的なものとでき、ミラーディスク自体の信頼性を向上させることができる。
【００４２】
また、本実施の形態では、再配置エクステントエリア９を物理ディスク毎ではなく論理ボリューム毎にかつデータエクステントエリア８に隣接配置したので、物理エクステントの再配置に伴うアクセス時のシークタイムの膨大を極力軽減することができる。
【００４３】
ところで、上記説明したように、挙動指示“再配置”は、ディスクアクセス制御部１２からの要求メッセージのみならず操作員からのコマンド指示にも指定できるようにした。これは、次の理由による。
【００４４】
基本的には、前述したようにディスクアクセス制御部１２からの要求メッセージに対応して障害発生時に障害発生ディスク側に正常なデータを即座にコピーすることが望ましい。いつでもディスク交換ができ、また、バックアップできるからである。しかし、上記再配置処理を実行すると、論理ボリューム管理テーブルの全ディスク書込み処理が余計に発生するため、障害発生に連動して再配置処理を常に実行することにすると再配置データアクセス要求を発したアプリケーションの処理速度に影響を及ぼしてしまう。そこで、本実施の形態では、ディスクアクセス制御部１２からの要求に応じてリアルタイムに再配置処理を行うこと以外に、ディスクアクセス制御部１２からの要求には即座に応答せずに操作員からの指示を待って再配置処理を行うこともできるようにした。このため、本実施の形態では、再配置処理制御管理部１４を設けて再配置処理の実行タイミングを制御できるようにした。なお、前述したように、環境設定の際に操作員からコマンド指示によって再配置処理を行うことを選択しておく必要がある。
【００４５】
この場合、ディスクアクセス制御部１２からの要求メッセージは、再配置処理部１３にそのまま渡されるのではなく、再配置処理制御管理部１４によってメッセージキュー（図示せず）に蓄積されていく。そして、挙動指示として“再配置”が設定された操作員からのコマンド指示があると、再配置処理制御管理部１４は、メッセージキューに一時保持しておいた再配置要求メッセージを順次取り出し、処理要求メッセージ待ちの再配置処理部１３に送ることになる。このようにして、操作員が所望するタイミングで再配置処理を実行することができる。なお、操作員からのコマンド指示待ちが設定されているときに障害が発生すると、ミラー単位である論理エクステント単位に切り離しが行われ、従来と同様に縮退運転がされることになる。
【００４６】
次に、挙動指示として“一致”又は“エクステント指示”が指定されている場合について説明する。
【００４７】
いずれかの挙動指示が要求メッセージに指定されているということは、操作員からのコマンド指示に基づくものであることは前述したとおりである。このうち、“一致”は、ミラーディスクを構成する各ディスク４，５において同一データを格納するデータ物理エクステントの位置（物理エクステント番号）を一致させたいときに使用する。具体的に言うと、例えば、ディスク４の物理エクステントＰ−ＰＥ３に正常に書込みができたデータであってディスク５への書込み処理で障害を起こして再配置エクステントＭ−ＲＰＥ１へ書き込まれたデータを、ディスク４の物理エクステントＰ−ＰＥ３と同一のディスク５における物理エクステント（この場合は、Ｍ−ＰＥ３）に再配置する。上記再配置処理においては、同一データ物理エクステントにデータ書込みをしようとして障害が発生したため再配置エクステントを利用するようにした。その後、ディスク交換をすることによって当該データ物理エクステントが使用可能となった場合、管理上、また再配置エクステントを解放する意味でも各ディスク４，５に格納される同一データを同一物理エクステントに配置することが望ましい。そこで、本実施の形態では、このような復旧を可能とするために再配置処理後にデータを各ディスク４，５において同一物理エクステント番号に格納できるような機能を提供した。
【００４８】
一方、“エクステント指示”は、データ格納箇所を他の物理エクステントに移動させるという点で“一致”と一致するが、“一致”はデータを正常に書込みができた一方のディスクと同一データ物理エクステントへ書き戻すのに対して“エクステント指示”は操作員に指定された物理エクステントへ移動させる点で異なる。そのため、挙動指示として“エクステント指示”が指定されるときには併せて移動先として割付物理エクステントをパラメータに明示する必要がある。“エクステント指示”は、ディスク交換の有無に関係なく再配置エクステントを意識的に解放したいときなどに用いるのが効果的である。
【００４９】
再配置処理部１３は、挙動指示として“一致”が指定されたメッセージを受け取ると（ステップ２０２）、特定された処理対象となるディスクから論理ボリューム管理テーブル７を読み込む（ステップ２０３）。処理対象となるディスク、論理ボリューム及び論理エクステントは、パラメータ指定されているので、再配置先となるデータ物理エクステントを容易に特定できる（ステップ２１０）。すなわち、図６に示した例を利用すると、パラメータにディスクがディスク５、論理ボリュームがＬＶ１、論理エクステントがＬＥ３と指定されていた場合、エクステント対応テーブル１０−２によると再配置エクステントＭ−ＲＰＥ１に格納されたデータは、本来、対応するディスク４において正常に格納されている物理エクステントＰ−ＰＥ３に対応した位置、すなわちＭ−ＰＥ３に格納されるデータであることがわかる。
【００５０】
取得できた物理エクステントが再配置エクステントでないことを確認した後（ステップ２１１，２１２）、再配置処理部１３は、アクセス対象の論理ボリュームに対し、ディスクアクセス制御部１２との排他を行う（ステップ２１８）。そして、再配置処理部１３は、再配置エクステントＭ−ＲＰＥ１からデータを読み込み（ステップ２１９）、データ物理エクステントＭ−ＰＥ３にデータを書き込む（ステップ２２１）。これにより、ミラーディスクを構成する各ディスク４，５において同一物理エクステントに同一データを格納することができる。その後、再配置処理部１３は、内部メモリにある論理ボリューム管理テーブルのエクステント対応テーブルのディスク毎対応物理エクステントに“Ｍ−ＰＥ３”を設定する（ステップ２２３）。なお、ステータスは“正常”のままである。更に、再配置エクステントテーブルにおいて更新前のディスク毎対応物理エクステント“Ｍ−ＲＰＥ１”における対応論理エクステント“ＬＥ３”を初期化し、対応するフラグを“使用中”から“未使用”に変更する（ステップ２２５）。そして、内部メモリにおいて更新した論理ボリューム管理テーブルを全ディスク４，５に書き込むことで全ディスク４，５の論理ボリューム管理テーブル７の内容を同一にする。その後、論理ボリュームの排他を解除した後（ステップ２２８）、再度、処理要求待ちへ戻る（ステップ２０１）。
【００５１】
また、再配置処理部１３は、挙動指示として“エクステント指示”が指定されたメッセージを受け取ると（ステップ２０２）、特定された処理対象となるディスクから論理ボリューム管理テーブル７を読み込む（ステップ２０３）。そして、パラメータ指定された割付物理エクステントを再配置先物理エクステントとする（ステップ２１３）。その後の処理は、“一致”の場合と基本的に同じであるため詳細な説明を省略するが、再配置先となる物理エクステントが人為的に指定されているので、当該再配置先となる物理エクステントが妥当であるかの確認をする。すなわち、当該物理エクステントのステータスが“未割付”であることをエクステント対応テーブル１０によって使用可能であることを確認し（ステップ２１４）、更に再配置エクステントテーブル１１を検索することによって当該再配置先となる物理エクステントが再配置エクステントであったときにはフラグを参照して使用中でないことを確認する必要がある（ステップ２１６）。
【００５２】
なお、本実施の形態では、ミラーディスクを２台で構成した場合で説明したが、ミラー側ディスクを複数台と考えることで３台以上の場合でも容易に適用できることはいうまもでない。
【００５３】
【発明の効果】
本発明によれば、書込み処理時に障害が発生したデータを障害発生ディスク側の再配置エリア内に格納するようにしたので、システム運転中に片方のディスクを切り離すことができる。これにより、ディスク交換やディスクバックアップをシステム停止することなく行うことができる。
【００５４】
また、障害発生ディスク側に書き込むデータを正常に書込みができたディスク側から読み出すようにしたので、再配置処理を障害発生時以降でも非同期に行うことができる。
【００５５】
また、再配置処理の実行タイミングを制御できるようにしたので、再配置処理を障害発生時以外にもオペレータの指示によって実行させることができる。
【００５６】
また、再配置エクステントに書き込まれたデータを、オペレータの指示に従い正常に書き込みできたディスク側と同一物理エクステントに書き戻すことができる機能を設けたので、再配置エクステントを解放することができるとともに障害ディスク復旧後に本来のミラー関係に復旧することができる。
【００５７】
また、再配置エクステントに書き込まれたデータをオペレータに指定された物理エクステントに移動できる機能を設けたので、再配置エクステントを解放することができる。
【００５８】
また、再配置エクステントエリアを論理ボリューム内にデータを格納する物理エクステントエリアに隣接配置することができるので、物理エクステントの再配置に伴うアクセス時のシークタイムの膨大を極力軽減することができる。
【図面の簡単な説明】
【図１】本発明に係るミラーディスク装置の一実施の形態を搭載したシステム全体の構成図である。
【図２】本実施の形態におけるミラーディスク制御装置の構成図である。
【図３】本実施の形態におけるディスクアクセス制御部が行うミラーディスク制御処理を示したフローチャートである。
【図４】本実施の形態における再配置処理部が行う再配置処理を示したフローチャートである。
【図５】図４の続きのフローチャートである。
【図６】本実施の形態において障害が発生したことにより更新される各テーブルの内容の例を示した図である。
【符号の説明】
１，２  サーバ、３  ミラーディスク制御装置、４，５  ディスク、６  論理ボリューム（ＬＶ）、７  論理ボリューム管理テーブル、８  データエクステントエリア、９  再配置エクステントエリア、１０  論理・物理エクステント対応管理テーブル、１１  再配置エクステントテーブル、１２  ディスクアクセス制御部、１３  再配置処理部、１４  再配置処理制御管理部。
【図１】
0003614328.tif 000002
【図２】
0003614328.tif 000003
【図３】
0003614328.tif 000004
【図４】
0003614328.tif 000005
【図５】
0003614328.tif 000006
【図６】
0003614328.tif 000007