JP2005055963A - ボリューム制御方法、この方法を実行するプログラム、及びストレージ装置 - Google Patents
ボリューム制御方法、この方法を実行するプログラム、及びストレージ装置 Download PDFInfo
- Publication number
- JP2005055963A JP2005055963A JP2003206074A JP2003206074A JP2005055963A JP 2005055963 A JP2005055963 A JP 2005055963A JP 2003206074 A JP2003206074 A JP 2003206074A JP 2003206074 A JP2003206074 A JP 2003206074A JP 2005055963 A JP2005055963 A JP 2005055963A
- Authority
- JP
- Japan
- Prior art keywords
- volume
- logical volume
- condition
- logical
- physical disks
- 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
Images
Abstract
【課題】障害回復中の論理ボリュームを使用することの障害を回避しつつ、運用コストの上昇を抑える。
【解決手段】使用開始指令の対象となった番号「8」の論理ボリューム235を構成する複数の物理ディスク231a−1〜231a−5のうちのいずれかに障害が発生している場合には、ボリューム管理情報220を参照して、障害の無い複数の物理ディスク231b−1〜231b−5で構成される番号「11」の論理ボリュームを抽出する。次に、番号「8」の論理ボリュームのボリューム管理情報221に関して、論理ボリューム番号領域222に格納されている番号を変えずに、アレイグループ番号領域223の情報「1」及びアレイグループ内位置情報領域224に格納されている情報「1」を、それぞれ番号「11」の論理ボリュームの対応情報「2」「2」に変更し、番号「8」の論理ボリューム235に対する物理ディスクの割り当てを変更する。
【選択図】 図3
【解決手段】使用開始指令の対象となった番号「8」の論理ボリューム235を構成する複数の物理ディスク231a−1〜231a−5のうちのいずれかに障害が発生している場合には、ボリューム管理情報220を参照して、障害の無い複数の物理ディスク231b−1〜231b−5で構成される番号「11」の論理ボリュームを抽出する。次に、番号「8」の論理ボリュームのボリューム管理情報221に関して、論理ボリューム番号領域222に格納されている番号を変えずに、アレイグループ番号領域223の情報「1」及びアレイグループ内位置情報領域224に格納されている情報「1」を、それぞれ番号「11」の論理ボリュームの対応情報「2」「2」に変更し、番号「8」の論理ボリューム235に対する物理ディスクの割り当てを変更する。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、ホスト計算機に認識している論理ボリュームに対して、複数の物理ディスクを割り当てるためのボリューム制御方法、この方法を実行するプログラム、及びストレージ装置に関する。
【0002】
【従来の技術】
社会基盤を担う公共・企業の基幹システムにおけるデータ量増加に対応するため、近年では、特許文献1などに示すディスクアレイの制御技術を用いてストレージ装置の大容量化に対応している。このシステムのホスト計算機は、特許文献2に示すような入出力装置管理技術を用いて、ストレージ装置を認識し、業務のためのI/Oを行っている。この入出力装置管理技術は、具体的には、どの論理ボリュームをこれから使用するかという設定情報を予め複数準備しておき、条件に応じて適宜、設定情報を切り替えるという技術である。
【0003】
以上のようなシステムは、当然ながら高い可用性が求められている。そのため、RAID(Redundant Arrays of Inexpensive Disks)に代表されるディスクアレイ技術をベースにしたストレージ装置においては、特許文献3や特許文献4に示すようなスペアリング技術が採用されている。このスペアリング技術は、1つの論理ボリュームに対して複数の物理ディスクが割り当てられているときに、複数の物理ディスクのうちのいずれか1つに障害が発生した場合、この障害が発生した物理ディスクの内容を予備のディスクに復元し、この予備のディスクを障害が発生した物理ディスクとして扱い、障害が発生した場合でも継続的にストレージ装置を使用できる、という技術である。なお、論理ボリュームが割り当てられている複数の物理ディスクをまとめてアレイグループと呼ぶ。
【0004】
【特許文献1】
特開2001−256003号公報
【特許文献2】
特開2001−265748号公報
【特許文献3】
特開平9−330182号公報
【特許文献4】
特開平6−119125号公報
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献3や特許文献4に記載のストレージシステムでは、障害回復中の物理ディスクを含むアレイグループに割り当てられている論理ボリュームは、障害回復処理のためのディスクI/Oにより、書込み応答性能等が劣化してしまうとう問題点がある。また、この論理ボリュームにI/Oが発生すると、障害回復処理そのものに遅延をきたす虞れがあるという問題点もある。
【0006】
従って、新たに論理ボリュームを使用開始する場合は、このような論理ボリュームを避けることが望ましい。
【0007】
そこで、特許文献2に記載の入出力装置管理技術を用いて、ホスト計算機の設定情報を変更し、障害回復中の論理ボリュームから、他の論理ボリュームにボリューム番号を変更することで、障害回復中の論理ボリュームを使用することによる上記問題点を回避することができる。
【0008】
しかしながら、特許文献2の技術では、ホスト計算機の設定情報を変更するのは、オペレータの作業であるため、障害にあわせて設定情報を変更する場合には、オペレータを待機させる必要があるばかりでなく、その変更ミスなどに備える必要があり、運用コストの上昇を招くという問題点がある。そこで、運用コストの上昇を抑えようとすると、特許文献2の技術を採用しないことになり、結局、障害回復中の論理ボリュームを使用することによる上記問題点、つまり、書込み応答性能等の劣化や障害回復処理の遅延が生じてしまうという問題点がある。
【0009】
本発明は、このような従来の問題点に着目し、障害回復中等の論理ボリュームを使用しつつ、運用コストの上昇を抑えることができるボリューム制御方法、この方法を実行するプログラム、ストレージ装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
前記目的を達成するためのボリューム制御方法は、
論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報を記憶しておき、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするボリューム制御方法において、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断工程と、
前記条件判断工程で、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出工程と、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出工程で抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更工程と、を有することを特徴とするものである。
【0011】
ここで、前記ボリューム条件には、論理ボリュームが設定されている複数の物理ディスクのいずれにも障害が生じていないという条件を含み、前記条件判断工程では、前記第1の論理ボリュームの使用開始指令を受け付けると、前記ボリューム管理情報を参照して、該第1の論理ボリュームが設定されている複数の物理ディスクを選び出し、複数の該物理ディスクのいずれにも障害が生じていないか否か判断する、ことが好ましい。
【0012】
また、前記目的を達成するためのストレージ装置のボリューム制御プログラムは、
複数の物理ディスクと演算装置とを備え、論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報を記憶しておき、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置のボリューム制御プログラムにおいて、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断ステップと、
前記条件判断ステップで、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出ステップと、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出ステップで抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更ステップと、
前記演算装置に実行させることを特徴とするものである。
【0013】
ここで、前記ボリューム制御プログラムは、
前記ストレージ装置が、複数の物理ディスクを有するアレイグループを複数有する場合、
前記ボリューム管理情報には、各識別子に対応する一の論理ボリュームが複数のアレイグープのうちのいずれのアレイグループに属しているかを示すために、該論理ボリュームが属しているアレイグループの識別子を含み、
前記論理ボリューム抽出ステップでは、前記ボリューム管理情報を参照して、前記第1の論理ボリュームが設定されている複数の物理ディスクを有しているアレイグループとは異なるアレイグループから、前記ボリューム条件を満たす未使用の前記第2の論理ボリュームを抽出する、ものであってもよい。この場合、各アレイグループには、それぞれ、複数の論理ボリュームが設定され、前記ボリューム条件には、複数の前記アレイグループのうちで、使用中の論理ボリュームの数が最も少ないアレイグループに設定されている論理ボリュームであるという条件を含ませてもよい。
【0014】
また、以上の各ボリューム制御プログラムは、
前記ボリューム条件には、論理ボリュームが設定されている複数の物理ディスクのいずれにも障害が生じていないという条件を含み、
前記条件判断ステップでは、前記第1の論理ボリュームの使用開始指令を受け付けると、前記ボリューム管理情報を参照して、該第1の論理ボリュームが設定されている複数の物理ディスクを選び出し、複数の該物理ディスクのいずれにも障害が生じていないか否か判断することが好ましい。
【0015】
また、以上の各ボリューム制御プログラムは、
前記ボリューム条件を複数有し、前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に実行してもよい。この場合、複数の前記ボリューム条件に対して、それぞれ、使用優先順位を付し、前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に該使用優先順に対応した順序で実行してもよい。
【0016】
前記目的を達成するためのストレージ装置は、
複数の物理ディスクと、論理ボリューム毎の識別子、及び各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を含むボリューム管理情報を記憶する記憶手段と、を備え、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置において、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断手段と、
前記条件判断手段により、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出手段と、
前記記憶手段に記憶されている前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出手段により抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更手段と、を備えていることを特徴とするものである。
【0017】
また、前記目的を達成するための他のストレージ装置は、
複数の物理ディスクと、複数の物理ディスクを制御するディスクコントローラとを備え、
前記ディスクコントローラは、論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報が記憶されているメモリを有し、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置において、
前記ディスクコントローラは、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断ステップと、
前記条件判断ステップで、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出ステップと、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出ステップで抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更ステップと、を実行することを特徴とするものである。
【0018】
【発明の実施の形態】
以下、本発明に係るストレージシステムの実施形態について、図面を用いて説明する。
【0019】
まず、図1〜図5を用いて、本発明に係るストレージシステムの第1の実施形態について説明する。
【0020】
本実施形態のストレージシステムは、図1に示すように、ホスト計算機100と、このホスト計算機100からアクセスされるストレージ装置200とを備えている。ホスト計算機100には、このホスト計算機100の入出力情報制御情報104の設定など、運用を管理するためのホスト計算機SVP(Service Processor)101が付属しており、ストレージ装置200には、このストレージ装置200内のディスクやデータ管理を行うためのストレージ装置SVP201が付属している。
【0021】
ホスト計算機101は、各種処理を実行するCPU106と、各種プログラムやデータが記憶されている主記憶装置102と、ストレージ装置200との入出力制御を行うIOP107と、を備えている。主記憶装置102上には、ハードウェアシステムエリア(HSA)103が存在し、システム立ち上げ時に、ここに入出力構成制御情報104が展開される。さらに、主記憶装置102上には、OS105が展開され、CPU106で実行される。OS105は、この入出力構成制御情報104に基づいて入出力を行う。
【0022】
ストレージ装置200は、ホスト計算機100と接続するためのデバイスインタフェース202と、複数のアレイグループ230a,230bと、予備ディスク232と、各アレイグループを構成する複数の物理ディスク231,231,…や予備ディスク232へのアクセスを制御するディスクコントローラ210と、を備えている。各アレイグループ230a,230bは、複数の物理ディスク231,231,…で構成され、ホスト計算機100には、1つのアレイグループを構成する各物理ディスク231,231,…の一部の集合を1つの論理ボリューム235として見せかけている。なお、本実施形態において、各論理ボリューム235は、全て同じ種類であるとする。
【0023】
ディスクコントローラ210は、各種処理を実行するCPU211と、各種データやCPU211が実行する各種プログラムが記憶されている制御メモリ212と、を備えている。CPU211は、制御メモリ212上に展開されている管理プログラム213を実行することで、ホスト計算機100からの入出力やディスクの制御を行う。この制御には、前述の論理ボリューム235とアレイグループ230a,230bを構成する複数のディスク231,231,…との対応付けや、ディスク231の障害回復処理も含まれる。また、制御メモリ212上には、本発明の処理を実現するためのボリューム制御プログラム214も展開されている。このボリューム制御プログラム214は、ホスト計算機100からのボリューム割り当てや、ボリュームのミラーリング開始などの、論理ボリューム235の使用開始を契機に、CPU211に実行され、障害のある論理ボリュームが設定されている複数の物理ディスクを、他の論理ボリュームが設定されている複数の物理ディスクに置き換える。
【0024】
論理ボリューム235及び物理ディスク231に関する情報は、制御メモリ212上のボリューム管理情報220に記述される。前述の管理プログラム213の実行による、論理ボリューム235と複数のディスク231,231,…との対応付けは、このボリューム管理情報220に基づいて行われる。また、前述のボリューム管理プログラム214の実行による、障害のある論理ボリュームを他の論理ボリュームに置き換える処理では、このボリューム管理情報220の書き換えが行われる。なお、ユーザは、ストレージ装置SVP201によりボリューム管理情報220を見ることができるので、このボリューム管理情報220の書き換え状況を確認することができる。また、制御メモリ212に記憶されているデータ220の構成や各種プログラム213,214は、いずれも、これらの内容が記憶されている記憶媒体203をストレージ装置SVP201が取り込み、このストレージ装置SVP201から制御メモリ212へ与えられる。
【0025】
ボリューム管理情報220は、図2に示すように、論理ボリューム管理情報221と物理ディスク管理情報226とを有する。
【0026】
論理ボリューム管理情報221は、論理ボリューム番号領域222、アレイグループ番号領域223、アレイグループ内位置情報領域224、パス情報領域225を有する。論理ボリューム番号領域222は、ホスト計算機100が認識する論理ボリューム235の識別子を格納する領域である。アレイグループ番号領域223は、識別子で特定される論理ボリューム235が、複数のアレイグループ230a,230bのうちのいずれのアレイグループに対応しているかを示すために、対応アレイグループの識別子を格納する領域である。アレイグループ内位置情報領域225は、識別子で特定される論理ボリューム235がアレイグループ番号領域223で示されたアレイグループ230の中の、どの領域に対応させているかを示す情報を格納する領域である。パス情報領域414は、識別子で特定される論理ボリューム235が、どのホスト計算機100に割り当てられているかを示す情報を格納する領域である。割り当て済みの場合はホスト計算機の識別子、未使用の場合は「unused」、使用済みで割り当て解除された場合は「disconnected」が設定される。
【0027】
以上の論理ボリューム番号領域222、アレイグループ番号領域223,アレイグループ内位置情報領域224、バス情報領域225の組み合わせが、論理ボリューム235の数だけ用意される。つまり、論理ボリューム管理情報221は、ホスト計算機100が認識しているボリュームイメージを実現するための情報を格納する領域であるから、ホスト計算機100が認識している論理ボリューム235毎に、以上の情報222,223,224,225が存在する。
【0028】
物理ディスク管理情報226は、物理ディスク番号領域227、アレイグループ番号領域228、障害情報格納領域229を有している。物理ディスク番号領域227は、ストレージ装置200内の物理ディスク235の識別子を格納する領域である。アレイグループ番号領域422は、ディスク識別子で特定される物理ディスク235が属するアレイグループ230の識別子を格納する領域である。障害情報格納領域229は、ディスク識別子で特定される物理ディスク235の障害の有無などの状態を示す情報を格納する領域である。以上の情報227,228,229の組み合わせが、物理的ディスク235の数だけ用意される。
【0029】
ここで、論理ボリューム235と物理ディスク231との対応関係について、図3を用いて説明する。
【0030】
ホスト計算機100は、1つの論理ボリューム235を、1つのディスクデバイスと認識して入出力を行う。しかし、1つの論理ボリューム235は、実際には、前述したように、あるアレイグループ230を構成する複数の物理ディスク231,231,…のそれぞれの一部の集合として実現されている。ホスト計算機100がある論理ボリューム235に対して入出力を行う場合、ストレージ装置200のディスクコントローラ210は、論理ボリューム235への入出力コマンドを、この論理ボリューム235に対応する複数の物理ディスク231,231,…への入出力コマンドに変換して、実際の入出力処理を行う。具体的には、ホスト計算機100から、仮に、番号「8」の論理ボリューム235への入出力コマンドを受け取ると、番号「8」で特定される論理ボリューム235の論理ボリューム管理情報221を参照し、この論理ボリューム管理情報221のアレイグループ番号領域223に格納されている「1」で、複数のアレイグループ230a,230bのうちの番号「1」のアレイグループ230aを特定し、アレイグループ内位置情報領域224に格納されている「1」で、このアレイグループ230aのうちのアレイグループ内位置1で特定される複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5の一部の領域を特定する。この特定された領域が、複数の物理ディスク231のうちで、番号「8」の論理ボリューム235が展開されている領域となる。
【0031】
管理プログラム213は、前述したように、以上の論理ボリューム235と物理ディスク231との対応付けの他、ディスクの障害回復処理をも行う。
【0032】
例えば、番号「1」のアレイグループ230aの複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうち、第四の物理ディスク231a−4で障害が発生すると、ストレージ装置200のディスクコントローラ210は、これを検知して、この物理ディスク231a−4に関する物理ディスク管理情報226の障害情報格納領域229に障害がある旨を示すフラグを立てから障害回復処理を実行する。アレイグループ230aの複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうち、第五の物理ディスク231a−5は、他の物理ディスクに記憶されていた情報を復元するためのパリティが格納されており、ディスクコントローラ210は、このパリティを用いて、障害が発生した第四の物理ディス231a−4の情報を予備ディスク232に復元する。この障害回復処理の具体的な内容は、従来技術の欄で挙げた特許文献3や特許文献4に詳細に記載されている。
【0033】
次に、ボリューム制御プログラム214の起動の契機となる管理プログラム213の処理内容に関して、図4に示すフローチャートに従って説明する。
【0034】
管理プログラム213を実行するディスクコントローラ210のCPU211は、ホスト計算機100からコマンドを受信すると(ステップ1)、そのコマンドを解析し(ステップ2)、どのような内容のコマンドであるかを判別する(ステップ3)。仮に、ホスト計算機100からのコマンドがミラー開始コマンドである場合には、このコマンドからコピー元及びコピー先の論理ボリューム番号を取得し(ステップ4)、ボリューム制御プログラム214を起動させ(ステップ20)、コピー先の論理ボリュームの使用開始指令をこのボリューム制御プログラム214による処理に渡す。
【0035】
ボリューム制御プログラム214による後述のボリューム制御処理(ステップ20)が終了すると、管理プログラム213を実行するディスクコントローラ210のCPU211は、前述した論理ボリューム235と物理ディスク231との対応付けを行う。つまり、ボリューム管理情報220を参照して、コピー元の論理ボリュームと物理ディスクとのマッチングを行い(ステップ5)、さらに、コピー先の論理ボリュームと物理ディスクとのマッチング(ステップ6)を行う。そして、コピー元の物理ディスクの情報をコピー先の物理ディスクにコピーする(ステップ7)。
【0036】
また、ステップ3で、コマンド種類として、初期化コマンドを受信したと判断した場合には、このコマンドから初期化する論理ボリューム番号を取得し(ステップ8)、ボリューム制御プログラム214を起動させ(ステップ20)、初期化する論理ボリュームの使用開始指令をこのボリューム制御プログラム214による処理に渡す。
【0037】
ボリューム制御プログラム214によるボリューム制御処理(ステップ20)が終了すると、管理プログラム213を実行するCPU211は、ボリューム管理情報220を参照して、初期化する論理ボリュームと物理ディスクとのマッチングを行い(ステップ9)、ボリューム管理ヘッダを作成して、これを初期化する物理ディスクに対に書き込む(ステップ10)。なお、物理ディスク231に直接アクセスするステップ7,10の処理では、論理ボリューム管理情報221のバス情報領域225に例えば「used」を書き込む処理や、物理ディスク231の障害を検知して、物理ディスク管理情報226の障害情報格納領域229に障害の有無を書き込む処理等も行われる。
【0038】
以上のように、ボリューム制御プログラム214は、未使用の論理ボリュームを新たに使用する場合(初期化処理の場合)や、未使用ではないが、論理ボリュームに既に書き込まれていたデータが新たに読み出されることがない処理(ミラー処理でのコピー先論理ボリュームに対する処理)で当該論理ボリュームを使用する場合に、起動する。これは、ボリューム制御プログラム214での処理により、当該論理ボリュームに対して定義されていた複数の物理ディスクの全てが、他の複数の物理ディスクに一括して定義され直され、当該論理ボリュームに対して読み出し処理を行っても、当初定義されていた複数の論理ボリュームに対して読み出し処理できないからである。
【0039】
次に、ボリューム制御プログラム214によるボリューム制御処理(ステップ20)の詳細内容について、図5に示すフローチャートに従って説明する。
【0040】
ボリューム制御プログラム214を実行するディスクコントローラ210のCPU211は、論理ボリュームの使用開始指令を受けると、この使用開始指令に含まれている論理ボリューム番号から、該当論理ボリュームの論理ボリューム管理情報221を取得する(ステップ21)。続いて、この論理ボリュームが展開されている複数の物理ディスクのそれぞれの物理ディスク管理情報226を取得し(ステップ22)、複数の物理ディスクのうちで障害が発生している(障害回復中も含む)ものがあるか否かを判断する(ステップ23)。
【0041】
具体的には、仮に、図3に示すように、番号「8」の論理ボリューム235の使用開始指令を受けると、この論理ボリューム番号「8」の論理ボリューム管理情報221を取得する(ステップ21)。続いて、この論理ボリューム管理情報221から、論理ボリューム番号「8」のアレイグループ番号「1」及びアレイグループ内位置情報「1」を取得し、この論理ボリューム235が展開されている複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5を特定する。そして、これらの物理ディスクに関するそれぞれの物理ディスク管理情報226を取得し(ステップ22)、これらの物理ディスク管理情報226の障害情報格納領域229を参照して、複数の物理ディスクのうちで障害が発生しているものがあるか否かを判断する(ステップ23)。この場合、番号「8」の論理ボリューム235を構成する複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうち、第四の物理ディスク231a−4の障害情報格納領域229に、障害有りを示すフラグが立っているので、このディスクに障害が発生していると判断する。
【0042】
ステップ23で、当該論理ボリュームが展開されている複数の物理ディスクのいずれにも障害が発生していないと判断すると処理を終了し、いずれかの物理ディスクに障害が発生していると判断すると、論理ボリューム管理情報221を参照して未使用の論理ボリュームを候補として抽出し、この未使用の論理ボリュームが展開されている複数の物理ディスクに障害が発生していないかを確認する(ステップ24)。未使用の論理ボリュームであって、これを構成している複数の物理ディスクのいずれにも障害が発生していない候補が見つかれば(ステップ25)、論理ボリューム管理情報221に関して、当初の論理ボリューム番号を候補になった論理ボリュームの番号に書き換える(ステップ26)。
【0043】
具体的には、図3に示すように、番号「8」の論理ボリューム235の使用開始指令を受けると、この論理ボリューム235を構成する複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうちの少なくとも1つの物理ディスク231a−4に障害が発生している場合には(ステップ23)、論理ボリューム管理情報221のパス情報領域225を参照して、この論理ボリューム以外で未使用(unused)の番号「11」の論理ボリュームを抽出する(ステップ24)。そして、この番号「11」の論理ボリュームを構成する複数の物理ディスク231a−b,231b−2,231b−3,231b−4,231b−5のそれぞれに関して、物理ディスク管理情報226の障害情報格納領域229を参照して、障害が発生していないことを確認し、障害が発生していなければ、この番号「11」の論理ボリュームを候補とする(ステップ25)。最後に、論理ボリューム管理情報221に関して、当初の論理ボリューム番号「8」を候補になった論理ボリュームの番号「11」に書き換える(ステップ26)。言い換えると、論理ボリューム管理情報221に関して、番号「8」の論理ボリュームが設定されている複数の物理ディスクの領域の情報であるアレイグループ番号領域223の情報「1」及びアレイグループ内位置情報領域224の情報「1」と共に、パス情報領域225の情報「unused」を、当該論理ボリュームの番号領域222の情報「8」を変更せずに、番号「11」の論理ボリュームの対応情報に変更する。つまり、番号「8」の論理ボリュームは、その識別子である番号自体の変更がないものの、その実体は番号「11」の論理ボリュームの内容になる。
【0044】
このため、例えば、ホスト計算機からのコマンドに含まれている論理ボリューム番号が示す論理ボリュームを構成する複数の物理ディスクのうちのいずれかに障害があったとしても、図4のフローチャートで、ボリューム制御処理(ステップ20)の後の論理ボリュームと物理ディスクとのマッチング(ステップ5,6,9)では、論理ボリュームを構成する当初の複数の物理ディスクが障害の無い複数の物理ディスクに一括変換されているため、この障害の無い複数の物理ディスクとマッチングすることになる。この結果、その後のコピー処理(ステップ7)や管理ヘッダ作成処理(ステップ10)では、障害の無い物理ディスクに対して処理を行うことになるので、障害のある物理ディスクに対して実行されている障害回復処理の影響をほとんど受けず、これらの処理を素早く行えると共に、障害のある物理ディスクに対する障害回復処理も遅延をきたすことがない。また、本実施形態では、論理ボリュームを構成する複数の物理ディスクに障害があっても、この論理ボリュームの番号は変更されないので、ホスト計算機100は、ディスクデバイス認識の変更がなく、論理ボリュームを構成する物理ディスクに障害が有ろうが無かろうが関係なく、処理を継続できる。さらに、本実施形態では、ストレージ装置200のディスクコントローラ210が以上の処理を自動的に行っているので、論理ボリュームを構成する複数の物理ディスクに障害があった場合の支障を回避するために、ホスト計算機の設定情報をオペレータが変更する必要がなく、オペレータの負担を軽減でき、運用コストの上昇を押えることができる。
【0045】
次に、本発明に係るストージシステムの第二の実施形態について、図6〜図9を用いて説明する。なお、本実施形態において、第一の実施形態と同一の部位に関しては、同一の符号を付し、重複した説明を省略する。
【0046】
本実施形態は、先の第一の実施形態では、ディスクの障害回復の有無が論理ボリューム交替のボリューム条件がディスクの障害の有無の1つのみであるのに対して、複数のボリューム条件が設定されているものである。このため、本実施形態のストレージシステムは、基本的には第一の実施形態と同じであるが、図6に示すように、ストレージ装置200aの制御メモリ212aに記憶されているプログラムやデータの内容が、若干第一の実施形態と異なっている。
【0047】
本実施形態のストレージ装置200aの制御メモリ212aには、第一の実施形態と同様の管理プログラム213の他、後述の装置タイプ情報領域が付加されたボリューム管理情報220aと、論理ボリューム交替の複数のボリューム条件とその使用優先順位との関係が示されているボリューム制御条件情報215と、複数のボリューム条件に従って論理ボリュームの交替処理を行うボリューム制御プログラム214aとが記憶されている。なお、制御メモリ212aに記憶されているデータ220aの構成や各種プログラム213,214a,215は、第一の実施形態と同様に、いずれも、これらの内容が記憶されている記憶媒体203をストレージ装置SVP201が取り込み、このストレージ装置SVP201から制御メモリ212aに与えられる。
【0048】
本実施形態のボリューム管理情報220aは、論理ボリューム管理情報221aの項目に、論理ボリュームの装置タイプの情報を格納する装置タイプ情報領域225aが設けられている。この情報により、その論理ボリュームの容量などのボリューム構成のタイプが判別できる。したがって、この実施形態では、第一の実施形態と異なり、論理ボリュームには装置タイプと呼ばれるいくつかの種類があることを前提としている。なお、本実施形態のボリューム管理情報220aは、装置タイプ情報領域225aが設けられている以外、第一の実施形態のボリューム管理情報220と同様である。
【0049】
ボリューム制御条件情報215は、図8に示すように、論理ボリューム交替の複数のボリューム条件216とその使用優先順位217とから構成されている。ボリューム条件216としては、障害が無い論理ボリュームを選択するという意味の「障害が無い」と、装置タイプ情報領域225aに示された装置タイプがホスト計算機100からの要求に合う論理ボリュームを選択するという意味の「装置タイプが要求に合う」と、使用中の論理ボリュームの数量が最も少ないアレイグループに属する論理ボリュームを選択するという意味の「使用率の低いアレイグループ」とがある。使用優先順位217に関して、本実施形態では、「装置タイプが要求に合う」に対して最も使用優先順位が高い「1」を付し、「障害が無い」に対して次に使用優先順位が高い「2」を付し、「使用率の低いアレーグループ」に対して使用優先順位が低い「3」を付している。
【0050】
次に、図9に示すフローチャートに従って、ボリューム制御プログラム214aによるボリューム制御処理の詳細内容について説明する。なお、このボリューム制御プログラム214aも、第一の実施形態と同様に、未使用の論理ボリュームを新たに使用する場合(初期化処理の場合)や、未使用ではないが、論理ボリュームに既に書き込まれていたデータが新たに読み出されることがない処理(ミラー処理でのコピー先論理ボリュームに対する処理)で当該論理ボリュームを使用する場合に、起動する。
【0051】
ボリューム制御プログラム214aを実行するディスクコントローラ210のCPU211は、ある論理ボリュームの使用開始指令を受け取ると、まず、ボリューム制御条件情報215の中から、使用優先順位217が最も高いボリューム条件216を取得する(ステップ31)。そして、どのようなボリューム条件を取得したかを判断し(ステップ32)、取得したボリューム条件216に従って処理を行う。但し、ステップ31でボリューム条件を取得できなかった場合、すなわちボリューム制御条件情報215が空であった場合は、処理を終了する。
【0052】
取得されたボリューム条件216が「装置タイプの要求に合う」であった場合は、論理ボリューム管理情報221aを参照して、未使用であって、ホスト計算機100からの要求に合う装置タイプが装置タイプ情報領域225aに設定されている論理ボリュームを候補として抽出し(ステップ33)、ステップ36に進む。具体的には、まず、使用開始指令の対象となっている論理ボリュームの装置タイプ情報領域225aを参照して、ホスト計算機100からの要求に合うか否かの条件判断を行い、この論理ボリュームの装置タイプが要求に合えば、この論理ボリュームを候補とする。また、使用開始指令の対象となっている論理ボリュームの装置タイプがホスト計算機100からの要求に合わなければ、論理ボリューム管理情報221aのパス情報領域225を参照して、未使用(unused)の論理ボリュームを抽出し、さらに、このうちから、ホスト計算機100からの要求に合う装置タイプが装置タイプ情報領域225aに設定されている論理ボリュームを候補として抽出する。この場合、候補となる論理ボリュームが複数あれば、これら複数の論理ボリュームを候補とする。
【0053】
取得されたボリューム条件216が「障害がない」であった場合は、論理ボリューム管理情報221aを参照して、障害のない論理ボリュームを候補として抽出し(ステップ34)、ステップ36に進む。具体的には、図5に示すフローチャートのステップ21〜24の処理を行う。つまり、対象となっている論理ボリュームの論理ボリューム情報221aを取得してから(ステップ21)、この論理ボリュームが展開されている複数の物理ディスクの物理ディスク管理情報226を取得し(ステップ22)、論理ボリュームが展開されている複数の物理ディスクのいずれにも障害が発生していないかを判断して(ステップ23)、障害があれば未使用であって障害のない他の論理ボリュームを抽出する(ステップ24)。この場合、候補となる論理ボリュームが複数あれば、これら複数の論理ボリュームを候補とする。
【0054】
取得されたボリューム条件216が「使用率の低いアレイグループ」であった場合は、論理ボリューム管理情報410を参照して、使用中の論理ボリュームの数量が最も少ないアレイグループに属する複数の論理ボリュームのうちから未使用の論理ボリュームを候補として抽出し(ステップ35)、ステップ36に進む。使用率を求める際には、まず、対象となるアレイグループに属する複数の論理ボリューム、つまり、アレイグループ番号領域223に示されている番号が同じ論理ボリュームを抽出する。続いて、これらの論理ボリュームのパス情報領域225が「unused」または「disconnected」でないもの数、すなわちホスト計算機100に割り当て済みのものの数が使用量とし、この使用量をアレイグループを構成する論理ボリュームの数量で割った値を使用率とする。
【0055】
ステップ33が終了し、ステップ36に至ると、ボリューム条件216が残っているか否かを判断し、ボリューム条件216が残っていれば、次に使用優先順位217の高いボリューム条件216を取得し(ステップ37)、ステップ32に戻る。そして、先の条件判断で抽出された一以上の論理ボリュームを候補対象として、新たなボリューム条件を満たすか否かの判断を行って、この新たなボリューム条件を満たせば、ステップ36に進む。また、この新たなボリューム条件を満たさなければ、候補が見つからなかったものとして、この時点で終了する。なお、一旦、候補が抽出された場合には、他のボリューム条件を満たさないからといって、候補が見つからなかったとせずに、これを候補として残しておいてもよい。
【0056】
ステップ36で、残っているボリューム条件がないと判断した場合には、候補が見つかったか否かを判断する(ステップ38)。候補が見つからなければ、処理を終了し、候補が見つかれば、図5に示すフローチャートのステップ26と同様に、論理ボリューム管理情報221aに関して、当初の論理ボリューム番号を候補になった論理ボリュームの番号に書き換える。なお、複数候補が挙がった場合は、予め定められた条件に従って1つの候補に絞り込むようにすると良い。例えば、論理ボリューム番号領域222の番号が最も若い論理ボリュームを候補にしてもよい。
【0057】
以上で、ボリューム制御プログラム214aによる処理は終了し、第一の実施形態と同様に、管理プログラム213によるステップ5やステップ9の処理等へ移行する。
【0058】
なお、以上の第二の実施形態において、ボリューム条件の数として、三つの例を示したが、本発明はこれに限定されるものではなく、第一の実施形態のように1つでも、また、2つでも、さらに4つ以上であってもよい。また、ボリューム条件としては、他の条件を採用してもよい。例えば、「ディスクに対するアクセスビジー率が低い」をボリューム条件としてもよい。
【0059】
また、以上の各実施形態において、論理ボリュームの番号を交替する処理までを記述したが、障害回復処理終了などの契機や負荷の状況によって、交替前の元の状態の戻す処理を追加してもよい。
【0060】
【発明の効果】
本発明によれば、ボリューム条件として「障害がない」を条件とすれば、使用開始指令の対象となった論理ボリュームを構成する複数の論理ボリュームのうちのいずれかに障害があっても、この論理ボリュームの識別子が変更されずに、論理ボリュームを構成する複数の物理ディスクが障害の無い複数の物理ディスクに変更されるので、障害のある当初の論理ボリュームをそのまま使用することの障害、例えば、書き込み応答性能の劣化や障害回復処理の遅延等を回避することができる。
【0061】
また、本発明では、使用開始指令の対象となった論理ボリュームの物理ディスク割り当ての変更処理をストレージ装置で自動的に行っているので、オペレータの負担を軽減でき、運用コストの上昇を抑えることができる。さらに、使用開始指令の対象となった論理ボリュームの物理ディスク割り当ての変更処理をストレージ装置で自動的に行っていることで、障害の有無を最新の情報で判断することができ、性能劣化中のボリュームを避けるだけでなく、障害回復が終わり、通常の性能で使用できるようになったボリュームを有効に使用することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施形態におけるストレージシステムのブロック構成図である。
【図2】本発明の第一の実施形態におけるボリューム管理情報の構成を示す説明図である。
【図3】本発明の第一の実施形態における論理ボリュームと物理ディスクとボリューム管理情報との対応関係を示す説明図である。
【図4】本発明の第一の実施形態における管理プログラムの処理内容を示すフローチャートである。
【図5】本発明の第一の実施形態におけるボリューム制御プログラムの処理内容を示すフローチャートである。
【図6】本発明の第二の実施形態におけるストレージシステムのブロック構成図である。
【図7】本発明の第二の実施形態におけるボリューム管理情報の構成を示す説明図である。
【図8】本発明の第二の実施形態におけるボリューム制御条件情報の構成を示す説明図である。
【図9】本発明の第二の実施形態におけるボリューム制御プログラムの処理内容を示すフローチャートである。
【符号の説明】
100…ホスト計算機、200,200a…ストレージ装置、210,210a…ディスクコントローラ、211…CPU、212,212a…制御メモリ、213…管理プログラム、214,214a…ボリューム管理プログラム、215…ボリューム制御条件情報、216…ボリューム条件、217…使用優先順位、220,220a…ボリューム管理情報、221,221a…論理ボリューム管理情報、222…論理ボリューム番号領域、226…物理ディスク管理情報、229…障害情報格納領域、230…アレイグループ、231…物理ディスク、235…論理ボリューム。
【発明の属する技術分野】
本発明は、ホスト計算機に認識している論理ボリュームに対して、複数の物理ディスクを割り当てるためのボリューム制御方法、この方法を実行するプログラム、及びストレージ装置に関する。
【0002】
【従来の技術】
社会基盤を担う公共・企業の基幹システムにおけるデータ量増加に対応するため、近年では、特許文献1などに示すディスクアレイの制御技術を用いてストレージ装置の大容量化に対応している。このシステムのホスト計算機は、特許文献2に示すような入出力装置管理技術を用いて、ストレージ装置を認識し、業務のためのI/Oを行っている。この入出力装置管理技術は、具体的には、どの論理ボリュームをこれから使用するかという設定情報を予め複数準備しておき、条件に応じて適宜、設定情報を切り替えるという技術である。
【0003】
以上のようなシステムは、当然ながら高い可用性が求められている。そのため、RAID(Redundant Arrays of Inexpensive Disks)に代表されるディスクアレイ技術をベースにしたストレージ装置においては、特許文献3や特許文献4に示すようなスペアリング技術が採用されている。このスペアリング技術は、1つの論理ボリュームに対して複数の物理ディスクが割り当てられているときに、複数の物理ディスクのうちのいずれか1つに障害が発生した場合、この障害が発生した物理ディスクの内容を予備のディスクに復元し、この予備のディスクを障害が発生した物理ディスクとして扱い、障害が発生した場合でも継続的にストレージ装置を使用できる、という技術である。なお、論理ボリュームが割り当てられている複数の物理ディスクをまとめてアレイグループと呼ぶ。
【0004】
【特許文献1】
特開2001−256003号公報
【特許文献2】
特開2001−265748号公報
【特許文献3】
特開平9−330182号公報
【特許文献4】
特開平6−119125号公報
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献3や特許文献4に記載のストレージシステムでは、障害回復中の物理ディスクを含むアレイグループに割り当てられている論理ボリュームは、障害回復処理のためのディスクI/Oにより、書込み応答性能等が劣化してしまうとう問題点がある。また、この論理ボリュームにI/Oが発生すると、障害回復処理そのものに遅延をきたす虞れがあるという問題点もある。
【0006】
従って、新たに論理ボリュームを使用開始する場合は、このような論理ボリュームを避けることが望ましい。
【0007】
そこで、特許文献2に記載の入出力装置管理技術を用いて、ホスト計算機の設定情報を変更し、障害回復中の論理ボリュームから、他の論理ボリュームにボリューム番号を変更することで、障害回復中の論理ボリュームを使用することによる上記問題点を回避することができる。
【0008】
しかしながら、特許文献2の技術では、ホスト計算機の設定情報を変更するのは、オペレータの作業であるため、障害にあわせて設定情報を変更する場合には、オペレータを待機させる必要があるばかりでなく、その変更ミスなどに備える必要があり、運用コストの上昇を招くという問題点がある。そこで、運用コストの上昇を抑えようとすると、特許文献2の技術を採用しないことになり、結局、障害回復中の論理ボリュームを使用することによる上記問題点、つまり、書込み応答性能等の劣化や障害回復処理の遅延が生じてしまうという問題点がある。
【0009】
本発明は、このような従来の問題点に着目し、障害回復中等の論理ボリュームを使用しつつ、運用コストの上昇を抑えることができるボリューム制御方法、この方法を実行するプログラム、ストレージ装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
前記目的を達成するためのボリューム制御方法は、
論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報を記憶しておき、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするボリューム制御方法において、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断工程と、
前記条件判断工程で、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出工程と、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出工程で抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更工程と、を有することを特徴とするものである。
【0011】
ここで、前記ボリューム条件には、論理ボリュームが設定されている複数の物理ディスクのいずれにも障害が生じていないという条件を含み、前記条件判断工程では、前記第1の論理ボリュームの使用開始指令を受け付けると、前記ボリューム管理情報を参照して、該第1の論理ボリュームが設定されている複数の物理ディスクを選び出し、複数の該物理ディスクのいずれにも障害が生じていないか否か判断する、ことが好ましい。
【0012】
また、前記目的を達成するためのストレージ装置のボリューム制御プログラムは、
複数の物理ディスクと演算装置とを備え、論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報を記憶しておき、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置のボリューム制御プログラムにおいて、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断ステップと、
前記条件判断ステップで、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出ステップと、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出ステップで抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更ステップと、
前記演算装置に実行させることを特徴とするものである。
【0013】
ここで、前記ボリューム制御プログラムは、
前記ストレージ装置が、複数の物理ディスクを有するアレイグループを複数有する場合、
前記ボリューム管理情報には、各識別子に対応する一の論理ボリュームが複数のアレイグープのうちのいずれのアレイグループに属しているかを示すために、該論理ボリュームが属しているアレイグループの識別子を含み、
前記論理ボリューム抽出ステップでは、前記ボリューム管理情報を参照して、前記第1の論理ボリュームが設定されている複数の物理ディスクを有しているアレイグループとは異なるアレイグループから、前記ボリューム条件を満たす未使用の前記第2の論理ボリュームを抽出する、ものであってもよい。この場合、各アレイグループには、それぞれ、複数の論理ボリュームが設定され、前記ボリューム条件には、複数の前記アレイグループのうちで、使用中の論理ボリュームの数が最も少ないアレイグループに設定されている論理ボリュームであるという条件を含ませてもよい。
【0014】
また、以上の各ボリューム制御プログラムは、
前記ボリューム条件には、論理ボリュームが設定されている複数の物理ディスクのいずれにも障害が生じていないという条件を含み、
前記条件判断ステップでは、前記第1の論理ボリュームの使用開始指令を受け付けると、前記ボリューム管理情報を参照して、該第1の論理ボリュームが設定されている複数の物理ディスクを選び出し、複数の該物理ディスクのいずれにも障害が生じていないか否か判断することが好ましい。
【0015】
また、以上の各ボリューム制御プログラムは、
前記ボリューム条件を複数有し、前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に実行してもよい。この場合、複数の前記ボリューム条件に対して、それぞれ、使用優先順位を付し、前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に該使用優先順に対応した順序で実行してもよい。
【0016】
前記目的を達成するためのストレージ装置は、
複数の物理ディスクと、論理ボリューム毎の識別子、及び各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を含むボリューム管理情報を記憶する記憶手段と、を備え、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置において、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断手段と、
前記条件判断手段により、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出手段と、
前記記憶手段に記憶されている前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出手段により抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更手段と、を備えていることを特徴とするものである。
【0017】
また、前記目的を達成するための他のストレージ装置は、
複数の物理ディスクと、複数の物理ディスクを制御するディスクコントローラとを備え、
前記ディスクコントローラは、論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報が記憶されているメモリを有し、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置において、
前記ディスクコントローラは、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断ステップと、
前記条件判断ステップで、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出ステップと、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出ステップで抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更ステップと、を実行することを特徴とするものである。
【0018】
【発明の実施の形態】
以下、本発明に係るストレージシステムの実施形態について、図面を用いて説明する。
【0019】
まず、図1〜図5を用いて、本発明に係るストレージシステムの第1の実施形態について説明する。
【0020】
本実施形態のストレージシステムは、図1に示すように、ホスト計算機100と、このホスト計算機100からアクセスされるストレージ装置200とを備えている。ホスト計算機100には、このホスト計算機100の入出力情報制御情報104の設定など、運用を管理するためのホスト計算機SVP(Service Processor)101が付属しており、ストレージ装置200には、このストレージ装置200内のディスクやデータ管理を行うためのストレージ装置SVP201が付属している。
【0021】
ホスト計算機101は、各種処理を実行するCPU106と、各種プログラムやデータが記憶されている主記憶装置102と、ストレージ装置200との入出力制御を行うIOP107と、を備えている。主記憶装置102上には、ハードウェアシステムエリア(HSA)103が存在し、システム立ち上げ時に、ここに入出力構成制御情報104が展開される。さらに、主記憶装置102上には、OS105が展開され、CPU106で実行される。OS105は、この入出力構成制御情報104に基づいて入出力を行う。
【0022】
ストレージ装置200は、ホスト計算機100と接続するためのデバイスインタフェース202と、複数のアレイグループ230a,230bと、予備ディスク232と、各アレイグループを構成する複数の物理ディスク231,231,…や予備ディスク232へのアクセスを制御するディスクコントローラ210と、を備えている。各アレイグループ230a,230bは、複数の物理ディスク231,231,…で構成され、ホスト計算機100には、1つのアレイグループを構成する各物理ディスク231,231,…の一部の集合を1つの論理ボリューム235として見せかけている。なお、本実施形態において、各論理ボリューム235は、全て同じ種類であるとする。
【0023】
ディスクコントローラ210は、各種処理を実行するCPU211と、各種データやCPU211が実行する各種プログラムが記憶されている制御メモリ212と、を備えている。CPU211は、制御メモリ212上に展開されている管理プログラム213を実行することで、ホスト計算機100からの入出力やディスクの制御を行う。この制御には、前述の論理ボリューム235とアレイグループ230a,230bを構成する複数のディスク231,231,…との対応付けや、ディスク231の障害回復処理も含まれる。また、制御メモリ212上には、本発明の処理を実現するためのボリューム制御プログラム214も展開されている。このボリューム制御プログラム214は、ホスト計算機100からのボリューム割り当てや、ボリュームのミラーリング開始などの、論理ボリューム235の使用開始を契機に、CPU211に実行され、障害のある論理ボリュームが設定されている複数の物理ディスクを、他の論理ボリュームが設定されている複数の物理ディスクに置き換える。
【0024】
論理ボリューム235及び物理ディスク231に関する情報は、制御メモリ212上のボリューム管理情報220に記述される。前述の管理プログラム213の実行による、論理ボリューム235と複数のディスク231,231,…との対応付けは、このボリューム管理情報220に基づいて行われる。また、前述のボリューム管理プログラム214の実行による、障害のある論理ボリュームを他の論理ボリュームに置き換える処理では、このボリューム管理情報220の書き換えが行われる。なお、ユーザは、ストレージ装置SVP201によりボリューム管理情報220を見ることができるので、このボリューム管理情報220の書き換え状況を確認することができる。また、制御メモリ212に記憶されているデータ220の構成や各種プログラム213,214は、いずれも、これらの内容が記憶されている記憶媒体203をストレージ装置SVP201が取り込み、このストレージ装置SVP201から制御メモリ212へ与えられる。
【0025】
ボリューム管理情報220は、図2に示すように、論理ボリューム管理情報221と物理ディスク管理情報226とを有する。
【0026】
論理ボリューム管理情報221は、論理ボリューム番号領域222、アレイグループ番号領域223、アレイグループ内位置情報領域224、パス情報領域225を有する。論理ボリューム番号領域222は、ホスト計算機100が認識する論理ボリューム235の識別子を格納する領域である。アレイグループ番号領域223は、識別子で特定される論理ボリューム235が、複数のアレイグループ230a,230bのうちのいずれのアレイグループに対応しているかを示すために、対応アレイグループの識別子を格納する領域である。アレイグループ内位置情報領域225は、識別子で特定される論理ボリューム235がアレイグループ番号領域223で示されたアレイグループ230の中の、どの領域に対応させているかを示す情報を格納する領域である。パス情報領域414は、識別子で特定される論理ボリューム235が、どのホスト計算機100に割り当てられているかを示す情報を格納する領域である。割り当て済みの場合はホスト計算機の識別子、未使用の場合は「unused」、使用済みで割り当て解除された場合は「disconnected」が設定される。
【0027】
以上の論理ボリューム番号領域222、アレイグループ番号領域223,アレイグループ内位置情報領域224、バス情報領域225の組み合わせが、論理ボリューム235の数だけ用意される。つまり、論理ボリューム管理情報221は、ホスト計算機100が認識しているボリュームイメージを実現するための情報を格納する領域であるから、ホスト計算機100が認識している論理ボリューム235毎に、以上の情報222,223,224,225が存在する。
【0028】
物理ディスク管理情報226は、物理ディスク番号領域227、アレイグループ番号領域228、障害情報格納領域229を有している。物理ディスク番号領域227は、ストレージ装置200内の物理ディスク235の識別子を格納する領域である。アレイグループ番号領域422は、ディスク識別子で特定される物理ディスク235が属するアレイグループ230の識別子を格納する領域である。障害情報格納領域229は、ディスク識別子で特定される物理ディスク235の障害の有無などの状態を示す情報を格納する領域である。以上の情報227,228,229の組み合わせが、物理的ディスク235の数だけ用意される。
【0029】
ここで、論理ボリューム235と物理ディスク231との対応関係について、図3を用いて説明する。
【0030】
ホスト計算機100は、1つの論理ボリューム235を、1つのディスクデバイスと認識して入出力を行う。しかし、1つの論理ボリューム235は、実際には、前述したように、あるアレイグループ230を構成する複数の物理ディスク231,231,…のそれぞれの一部の集合として実現されている。ホスト計算機100がある論理ボリューム235に対して入出力を行う場合、ストレージ装置200のディスクコントローラ210は、論理ボリューム235への入出力コマンドを、この論理ボリューム235に対応する複数の物理ディスク231,231,…への入出力コマンドに変換して、実際の入出力処理を行う。具体的には、ホスト計算機100から、仮に、番号「8」の論理ボリューム235への入出力コマンドを受け取ると、番号「8」で特定される論理ボリューム235の論理ボリューム管理情報221を参照し、この論理ボリューム管理情報221のアレイグループ番号領域223に格納されている「1」で、複数のアレイグループ230a,230bのうちの番号「1」のアレイグループ230aを特定し、アレイグループ内位置情報領域224に格納されている「1」で、このアレイグループ230aのうちのアレイグループ内位置1で特定される複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5の一部の領域を特定する。この特定された領域が、複数の物理ディスク231のうちで、番号「8」の論理ボリューム235が展開されている領域となる。
【0031】
管理プログラム213は、前述したように、以上の論理ボリューム235と物理ディスク231との対応付けの他、ディスクの障害回復処理をも行う。
【0032】
例えば、番号「1」のアレイグループ230aの複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうち、第四の物理ディスク231a−4で障害が発生すると、ストレージ装置200のディスクコントローラ210は、これを検知して、この物理ディスク231a−4に関する物理ディスク管理情報226の障害情報格納領域229に障害がある旨を示すフラグを立てから障害回復処理を実行する。アレイグループ230aの複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうち、第五の物理ディスク231a−5は、他の物理ディスクに記憶されていた情報を復元するためのパリティが格納されており、ディスクコントローラ210は、このパリティを用いて、障害が発生した第四の物理ディス231a−4の情報を予備ディスク232に復元する。この障害回復処理の具体的な内容は、従来技術の欄で挙げた特許文献3や特許文献4に詳細に記載されている。
【0033】
次に、ボリューム制御プログラム214の起動の契機となる管理プログラム213の処理内容に関して、図4に示すフローチャートに従って説明する。
【0034】
管理プログラム213を実行するディスクコントローラ210のCPU211は、ホスト計算機100からコマンドを受信すると(ステップ1)、そのコマンドを解析し(ステップ2)、どのような内容のコマンドであるかを判別する(ステップ3)。仮に、ホスト計算機100からのコマンドがミラー開始コマンドである場合には、このコマンドからコピー元及びコピー先の論理ボリューム番号を取得し(ステップ4)、ボリューム制御プログラム214を起動させ(ステップ20)、コピー先の論理ボリュームの使用開始指令をこのボリューム制御プログラム214による処理に渡す。
【0035】
ボリューム制御プログラム214による後述のボリューム制御処理(ステップ20)が終了すると、管理プログラム213を実行するディスクコントローラ210のCPU211は、前述した論理ボリューム235と物理ディスク231との対応付けを行う。つまり、ボリューム管理情報220を参照して、コピー元の論理ボリュームと物理ディスクとのマッチングを行い(ステップ5)、さらに、コピー先の論理ボリュームと物理ディスクとのマッチング(ステップ6)を行う。そして、コピー元の物理ディスクの情報をコピー先の物理ディスクにコピーする(ステップ7)。
【0036】
また、ステップ3で、コマンド種類として、初期化コマンドを受信したと判断した場合には、このコマンドから初期化する論理ボリューム番号を取得し(ステップ8)、ボリューム制御プログラム214を起動させ(ステップ20)、初期化する論理ボリュームの使用開始指令をこのボリューム制御プログラム214による処理に渡す。
【0037】
ボリューム制御プログラム214によるボリューム制御処理(ステップ20)が終了すると、管理プログラム213を実行するCPU211は、ボリューム管理情報220を参照して、初期化する論理ボリュームと物理ディスクとのマッチングを行い(ステップ9)、ボリューム管理ヘッダを作成して、これを初期化する物理ディスクに対に書き込む(ステップ10)。なお、物理ディスク231に直接アクセスするステップ7,10の処理では、論理ボリューム管理情報221のバス情報領域225に例えば「used」を書き込む処理や、物理ディスク231の障害を検知して、物理ディスク管理情報226の障害情報格納領域229に障害の有無を書き込む処理等も行われる。
【0038】
以上のように、ボリューム制御プログラム214は、未使用の論理ボリュームを新たに使用する場合(初期化処理の場合)や、未使用ではないが、論理ボリュームに既に書き込まれていたデータが新たに読み出されることがない処理(ミラー処理でのコピー先論理ボリュームに対する処理)で当該論理ボリュームを使用する場合に、起動する。これは、ボリューム制御プログラム214での処理により、当該論理ボリュームに対して定義されていた複数の物理ディスクの全てが、他の複数の物理ディスクに一括して定義され直され、当該論理ボリュームに対して読み出し処理を行っても、当初定義されていた複数の論理ボリュームに対して読み出し処理できないからである。
【0039】
次に、ボリューム制御プログラム214によるボリューム制御処理(ステップ20)の詳細内容について、図5に示すフローチャートに従って説明する。
【0040】
ボリューム制御プログラム214を実行するディスクコントローラ210のCPU211は、論理ボリュームの使用開始指令を受けると、この使用開始指令に含まれている論理ボリューム番号から、該当論理ボリュームの論理ボリューム管理情報221を取得する(ステップ21)。続いて、この論理ボリュームが展開されている複数の物理ディスクのそれぞれの物理ディスク管理情報226を取得し(ステップ22)、複数の物理ディスクのうちで障害が発生している(障害回復中も含む)ものがあるか否かを判断する(ステップ23)。
【0041】
具体的には、仮に、図3に示すように、番号「8」の論理ボリューム235の使用開始指令を受けると、この論理ボリューム番号「8」の論理ボリューム管理情報221を取得する(ステップ21)。続いて、この論理ボリューム管理情報221から、論理ボリューム番号「8」のアレイグループ番号「1」及びアレイグループ内位置情報「1」を取得し、この論理ボリューム235が展開されている複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5を特定する。そして、これらの物理ディスクに関するそれぞれの物理ディスク管理情報226を取得し(ステップ22)、これらの物理ディスク管理情報226の障害情報格納領域229を参照して、複数の物理ディスクのうちで障害が発生しているものがあるか否かを判断する(ステップ23)。この場合、番号「8」の論理ボリューム235を構成する複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうち、第四の物理ディスク231a−4の障害情報格納領域229に、障害有りを示すフラグが立っているので、このディスクに障害が発生していると判断する。
【0042】
ステップ23で、当該論理ボリュームが展開されている複数の物理ディスクのいずれにも障害が発生していないと判断すると処理を終了し、いずれかの物理ディスクに障害が発生していると判断すると、論理ボリューム管理情報221を参照して未使用の論理ボリュームを候補として抽出し、この未使用の論理ボリュームが展開されている複数の物理ディスクに障害が発生していないかを確認する(ステップ24)。未使用の論理ボリュームであって、これを構成している複数の物理ディスクのいずれにも障害が発生していない候補が見つかれば(ステップ25)、論理ボリューム管理情報221に関して、当初の論理ボリューム番号を候補になった論理ボリュームの番号に書き換える(ステップ26)。
【0043】
具体的には、図3に示すように、番号「8」の論理ボリューム235の使用開始指令を受けると、この論理ボリューム235を構成する複数の物理ディスク231a−1,231a−2,231a−3,231a−4,231a−5のうちの少なくとも1つの物理ディスク231a−4に障害が発生している場合には(ステップ23)、論理ボリューム管理情報221のパス情報領域225を参照して、この論理ボリューム以外で未使用(unused)の番号「11」の論理ボリュームを抽出する(ステップ24)。そして、この番号「11」の論理ボリュームを構成する複数の物理ディスク231a−b,231b−2,231b−3,231b−4,231b−5のそれぞれに関して、物理ディスク管理情報226の障害情報格納領域229を参照して、障害が発生していないことを確認し、障害が発生していなければ、この番号「11」の論理ボリュームを候補とする(ステップ25)。最後に、論理ボリューム管理情報221に関して、当初の論理ボリューム番号「8」を候補になった論理ボリュームの番号「11」に書き換える(ステップ26)。言い換えると、論理ボリューム管理情報221に関して、番号「8」の論理ボリュームが設定されている複数の物理ディスクの領域の情報であるアレイグループ番号領域223の情報「1」及びアレイグループ内位置情報領域224の情報「1」と共に、パス情報領域225の情報「unused」を、当該論理ボリュームの番号領域222の情報「8」を変更せずに、番号「11」の論理ボリュームの対応情報に変更する。つまり、番号「8」の論理ボリュームは、その識別子である番号自体の変更がないものの、その実体は番号「11」の論理ボリュームの内容になる。
【0044】
このため、例えば、ホスト計算機からのコマンドに含まれている論理ボリューム番号が示す論理ボリュームを構成する複数の物理ディスクのうちのいずれかに障害があったとしても、図4のフローチャートで、ボリューム制御処理(ステップ20)の後の論理ボリュームと物理ディスクとのマッチング(ステップ5,6,9)では、論理ボリュームを構成する当初の複数の物理ディスクが障害の無い複数の物理ディスクに一括変換されているため、この障害の無い複数の物理ディスクとマッチングすることになる。この結果、その後のコピー処理(ステップ7)や管理ヘッダ作成処理(ステップ10)では、障害の無い物理ディスクに対して処理を行うことになるので、障害のある物理ディスクに対して実行されている障害回復処理の影響をほとんど受けず、これらの処理を素早く行えると共に、障害のある物理ディスクに対する障害回復処理も遅延をきたすことがない。また、本実施形態では、論理ボリュームを構成する複数の物理ディスクに障害があっても、この論理ボリュームの番号は変更されないので、ホスト計算機100は、ディスクデバイス認識の変更がなく、論理ボリュームを構成する物理ディスクに障害が有ろうが無かろうが関係なく、処理を継続できる。さらに、本実施形態では、ストレージ装置200のディスクコントローラ210が以上の処理を自動的に行っているので、論理ボリュームを構成する複数の物理ディスクに障害があった場合の支障を回避するために、ホスト計算機の設定情報をオペレータが変更する必要がなく、オペレータの負担を軽減でき、運用コストの上昇を押えることができる。
【0045】
次に、本発明に係るストージシステムの第二の実施形態について、図6〜図9を用いて説明する。なお、本実施形態において、第一の実施形態と同一の部位に関しては、同一の符号を付し、重複した説明を省略する。
【0046】
本実施形態は、先の第一の実施形態では、ディスクの障害回復の有無が論理ボリューム交替のボリューム条件がディスクの障害の有無の1つのみであるのに対して、複数のボリューム条件が設定されているものである。このため、本実施形態のストレージシステムは、基本的には第一の実施形態と同じであるが、図6に示すように、ストレージ装置200aの制御メモリ212aに記憶されているプログラムやデータの内容が、若干第一の実施形態と異なっている。
【0047】
本実施形態のストレージ装置200aの制御メモリ212aには、第一の実施形態と同様の管理プログラム213の他、後述の装置タイプ情報領域が付加されたボリューム管理情報220aと、論理ボリューム交替の複数のボリューム条件とその使用優先順位との関係が示されているボリューム制御条件情報215と、複数のボリューム条件に従って論理ボリュームの交替処理を行うボリューム制御プログラム214aとが記憶されている。なお、制御メモリ212aに記憶されているデータ220aの構成や各種プログラム213,214a,215は、第一の実施形態と同様に、いずれも、これらの内容が記憶されている記憶媒体203をストレージ装置SVP201が取り込み、このストレージ装置SVP201から制御メモリ212aに与えられる。
【0048】
本実施形態のボリューム管理情報220aは、論理ボリューム管理情報221aの項目に、論理ボリュームの装置タイプの情報を格納する装置タイプ情報領域225aが設けられている。この情報により、その論理ボリュームの容量などのボリューム構成のタイプが判別できる。したがって、この実施形態では、第一の実施形態と異なり、論理ボリュームには装置タイプと呼ばれるいくつかの種類があることを前提としている。なお、本実施形態のボリューム管理情報220aは、装置タイプ情報領域225aが設けられている以外、第一の実施形態のボリューム管理情報220と同様である。
【0049】
ボリューム制御条件情報215は、図8に示すように、論理ボリューム交替の複数のボリューム条件216とその使用優先順位217とから構成されている。ボリューム条件216としては、障害が無い論理ボリュームを選択するという意味の「障害が無い」と、装置タイプ情報領域225aに示された装置タイプがホスト計算機100からの要求に合う論理ボリュームを選択するという意味の「装置タイプが要求に合う」と、使用中の論理ボリュームの数量が最も少ないアレイグループに属する論理ボリュームを選択するという意味の「使用率の低いアレイグループ」とがある。使用優先順位217に関して、本実施形態では、「装置タイプが要求に合う」に対して最も使用優先順位が高い「1」を付し、「障害が無い」に対して次に使用優先順位が高い「2」を付し、「使用率の低いアレーグループ」に対して使用優先順位が低い「3」を付している。
【0050】
次に、図9に示すフローチャートに従って、ボリューム制御プログラム214aによるボリューム制御処理の詳細内容について説明する。なお、このボリューム制御プログラム214aも、第一の実施形態と同様に、未使用の論理ボリュームを新たに使用する場合(初期化処理の場合)や、未使用ではないが、論理ボリュームに既に書き込まれていたデータが新たに読み出されることがない処理(ミラー処理でのコピー先論理ボリュームに対する処理)で当該論理ボリュームを使用する場合に、起動する。
【0051】
ボリューム制御プログラム214aを実行するディスクコントローラ210のCPU211は、ある論理ボリュームの使用開始指令を受け取ると、まず、ボリューム制御条件情報215の中から、使用優先順位217が最も高いボリューム条件216を取得する(ステップ31)。そして、どのようなボリューム条件を取得したかを判断し(ステップ32)、取得したボリューム条件216に従って処理を行う。但し、ステップ31でボリューム条件を取得できなかった場合、すなわちボリューム制御条件情報215が空であった場合は、処理を終了する。
【0052】
取得されたボリューム条件216が「装置タイプの要求に合う」であった場合は、論理ボリューム管理情報221aを参照して、未使用であって、ホスト計算機100からの要求に合う装置タイプが装置タイプ情報領域225aに設定されている論理ボリュームを候補として抽出し(ステップ33)、ステップ36に進む。具体的には、まず、使用開始指令の対象となっている論理ボリュームの装置タイプ情報領域225aを参照して、ホスト計算機100からの要求に合うか否かの条件判断を行い、この論理ボリュームの装置タイプが要求に合えば、この論理ボリュームを候補とする。また、使用開始指令の対象となっている論理ボリュームの装置タイプがホスト計算機100からの要求に合わなければ、論理ボリューム管理情報221aのパス情報領域225を参照して、未使用(unused)の論理ボリュームを抽出し、さらに、このうちから、ホスト計算機100からの要求に合う装置タイプが装置タイプ情報領域225aに設定されている論理ボリュームを候補として抽出する。この場合、候補となる論理ボリュームが複数あれば、これら複数の論理ボリュームを候補とする。
【0053】
取得されたボリューム条件216が「障害がない」であった場合は、論理ボリューム管理情報221aを参照して、障害のない論理ボリュームを候補として抽出し(ステップ34)、ステップ36に進む。具体的には、図5に示すフローチャートのステップ21〜24の処理を行う。つまり、対象となっている論理ボリュームの論理ボリューム情報221aを取得してから(ステップ21)、この論理ボリュームが展開されている複数の物理ディスクの物理ディスク管理情報226を取得し(ステップ22)、論理ボリュームが展開されている複数の物理ディスクのいずれにも障害が発生していないかを判断して(ステップ23)、障害があれば未使用であって障害のない他の論理ボリュームを抽出する(ステップ24)。この場合、候補となる論理ボリュームが複数あれば、これら複数の論理ボリュームを候補とする。
【0054】
取得されたボリューム条件216が「使用率の低いアレイグループ」であった場合は、論理ボリューム管理情報410を参照して、使用中の論理ボリュームの数量が最も少ないアレイグループに属する複数の論理ボリュームのうちから未使用の論理ボリュームを候補として抽出し(ステップ35)、ステップ36に進む。使用率を求める際には、まず、対象となるアレイグループに属する複数の論理ボリューム、つまり、アレイグループ番号領域223に示されている番号が同じ論理ボリュームを抽出する。続いて、これらの論理ボリュームのパス情報領域225が「unused」または「disconnected」でないもの数、すなわちホスト計算機100に割り当て済みのものの数が使用量とし、この使用量をアレイグループを構成する論理ボリュームの数量で割った値を使用率とする。
【0055】
ステップ33が終了し、ステップ36に至ると、ボリューム条件216が残っているか否かを判断し、ボリューム条件216が残っていれば、次に使用優先順位217の高いボリューム条件216を取得し(ステップ37)、ステップ32に戻る。そして、先の条件判断で抽出された一以上の論理ボリュームを候補対象として、新たなボリューム条件を満たすか否かの判断を行って、この新たなボリューム条件を満たせば、ステップ36に進む。また、この新たなボリューム条件を満たさなければ、候補が見つからなかったものとして、この時点で終了する。なお、一旦、候補が抽出された場合には、他のボリューム条件を満たさないからといって、候補が見つからなかったとせずに、これを候補として残しておいてもよい。
【0056】
ステップ36で、残っているボリューム条件がないと判断した場合には、候補が見つかったか否かを判断する(ステップ38)。候補が見つからなければ、処理を終了し、候補が見つかれば、図5に示すフローチャートのステップ26と同様に、論理ボリューム管理情報221aに関して、当初の論理ボリューム番号を候補になった論理ボリュームの番号に書き換える。なお、複数候補が挙がった場合は、予め定められた条件に従って1つの候補に絞り込むようにすると良い。例えば、論理ボリューム番号領域222の番号が最も若い論理ボリュームを候補にしてもよい。
【0057】
以上で、ボリューム制御プログラム214aによる処理は終了し、第一の実施形態と同様に、管理プログラム213によるステップ5やステップ9の処理等へ移行する。
【0058】
なお、以上の第二の実施形態において、ボリューム条件の数として、三つの例を示したが、本発明はこれに限定されるものではなく、第一の実施形態のように1つでも、また、2つでも、さらに4つ以上であってもよい。また、ボリューム条件としては、他の条件を採用してもよい。例えば、「ディスクに対するアクセスビジー率が低い」をボリューム条件としてもよい。
【0059】
また、以上の各実施形態において、論理ボリュームの番号を交替する処理までを記述したが、障害回復処理終了などの契機や負荷の状況によって、交替前の元の状態の戻す処理を追加してもよい。
【0060】
【発明の効果】
本発明によれば、ボリューム条件として「障害がない」を条件とすれば、使用開始指令の対象となった論理ボリュームを構成する複数の論理ボリュームのうちのいずれかに障害があっても、この論理ボリュームの識別子が変更されずに、論理ボリュームを構成する複数の物理ディスクが障害の無い複数の物理ディスクに変更されるので、障害のある当初の論理ボリュームをそのまま使用することの障害、例えば、書き込み応答性能の劣化や障害回復処理の遅延等を回避することができる。
【0061】
また、本発明では、使用開始指令の対象となった論理ボリュームの物理ディスク割り当ての変更処理をストレージ装置で自動的に行っているので、オペレータの負担を軽減でき、運用コストの上昇を抑えることができる。さらに、使用開始指令の対象となった論理ボリュームの物理ディスク割り当ての変更処理をストレージ装置で自動的に行っていることで、障害の有無を最新の情報で判断することができ、性能劣化中のボリュームを避けるだけでなく、障害回復が終わり、通常の性能で使用できるようになったボリュームを有効に使用することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施形態におけるストレージシステムのブロック構成図である。
【図2】本発明の第一の実施形態におけるボリューム管理情報の構成を示す説明図である。
【図3】本発明の第一の実施形態における論理ボリュームと物理ディスクとボリューム管理情報との対応関係を示す説明図である。
【図4】本発明の第一の実施形態における管理プログラムの処理内容を示すフローチャートである。
【図5】本発明の第一の実施形態におけるボリューム制御プログラムの処理内容を示すフローチャートである。
【図6】本発明の第二の実施形態におけるストレージシステムのブロック構成図である。
【図7】本発明の第二の実施形態におけるボリューム管理情報の構成を示す説明図である。
【図8】本発明の第二の実施形態におけるボリューム制御条件情報の構成を示す説明図である。
【図9】本発明の第二の実施形態におけるボリューム制御プログラムの処理内容を示すフローチャートである。
【符号の説明】
100…ホスト計算機、200,200a…ストレージ装置、210,210a…ディスクコントローラ、211…CPU、212,212a…制御メモリ、213…管理プログラム、214,214a…ボリューム管理プログラム、215…ボリューム制御条件情報、216…ボリューム条件、217…使用優先順位、220,220a…ボリューム管理情報、221,221a…論理ボリューム管理情報、222…論理ボリューム番号領域、226…物理ディスク管理情報、229…障害情報格納領域、230…アレイグループ、231…物理ディスク、235…論理ボリューム。
Claims (16)
- 論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報を記憶しておき、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするボリューム制御方法において、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断工程と、
前記条件判断工程で、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出工程と、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出工程で抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更工程と、を有することを特徴とするボリューム制御方法。 - 請求項1に記載のボリューム制御方法において、
前記ボリューム条件には、論理ボリュームが設定されている複数の物理ディスクのいずれにも障害が生じていないという条件を含み、
前記条件判断工程では、前記第1の論理ボリュームの使用開始指令を受け付けると、前記ボリューム管理情報を参照して、該第1の論理ボリュームが設定されている複数の物理ディスクを選び出し、複数の該物理ディスクのいずれにも障害が生じていないか否か判断する、ことを特徴とするボリューム制御方法。 - 請求項1及び2のいずれか一項に記載のボリューム制御方法において、
前記ボリューム条件を複数有する、ことを特徴とするボリューム制御方法。 - 請求項3に記載のボリューム制御方法において、
複数の前記ボリューム条件に対して、それぞれ、使用優先順位が付され、前記条件判断工程及び論理ボリューム抽出工程を、各ボリューム条件毎に該使用優先順に対応した順序で実行する、ことを特徴とするボリューム制御方法。 - 複数の物理ディスクと演算装置とを備え、論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報を記憶しておき、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置のボリューム制御プログラムにおいて、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断ステップと、
前記条件判断ステップで、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出ステップと、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出ステップで抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更ステップと、
前記演算装置に実行させることを特徴とするボリューム制御プログラム。 - 請求項5に記載のボリューム制御プログラムにおいて、
前記ストレージ装置は、複数の物理ディスクを有するアレイグループを複数有し、
前記ボリューム管理情報には、各識別子に対応する一の論理ボリュームが複数のアレイグープのうちのいずれのアレイグループに属しているかを示すために、該論理ボリュームが属しているアレイグループの識別子を含み、
前記論理ボリューム抽出ステップでは、前記ボリューム管理情報を参照して、前記第1の論理ボリュームが設定されている複数の物理ディスクを有しているアレイグループとは異なるアレイグループから、前記ボリューム条件を満たす未使用の前記第2の論理ボリュームを抽出する、ことを特徴とするボリューム制御プログラム。 - 請求項6に記載のボリューム制御プログラムにおいて、
各アレイグループには、それぞれ、複数の論理ボリュームが設定され、
前記ボリューム条件には、複数の前記アレイグループのうちで、使用中の論理ボリュームの数が最も少ないアレイグループに設定されている論理ボリュームであるという条件を含む、ことを特徴等するボリューム制御プログラム。 - 請求項5から7のいずれか一項に記載のボリューム制御プログラムにおいて、
前記ボリューム条件には、論理ボリュームが設定されている複数の物理ディスクのいずれにも障害が生じていないという条件を含み、
前記条件判断ステップでは、前記第1の論理ボリュームの使用開始指令を受け付けると、前記ボリューム管理情報を参照して、該第1の論理ボリュームが設定されている複数の物理ディスクを選び出し、複数の該物理ディスクのいずれにも障害が生じていないか否か判断する、ことを特徴とするボリューム制御プログラム。 - 請求項5から8のいずれか一項に記載のボリューム制御プログラムにおいて、
前記ボリューム条件を複数有し、
前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に実行する、ことを特徴とするボリューム制御プログラム。 - 請求項9に記載のボリューム制御プログラムにおいて、
複数の前記ボリューム条件に対して、それぞれ、使用優先順位が付され、前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に該使用優先順に対応した順序で実行する、ことを特徴とするボリューム制御プログラム。 - 複数の物理ディスクと、論理ボリューム毎の識別子、及び各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を含むボリューム管理情報を記憶する記憶手段と、を備え、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置において、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断手段と、
前記条件判断手段により、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出手段と、
前記記憶手段に記憶されている前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出手段により抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更手段と、を備えていることを特徴とするストレージ装置。 - 複数の物理ディスクと、複数の物理ディスクを制御するディスクコントローラとを備え、
前記ディスクコントローラは、論理ボリューム毎の識別子と、各識別子に対応する一の論理ボリュームが設定されている複数の物理ディスク上の領域の情報とを含むボリューム管理情報が記憶されているメモリを有し、所定の識別子に対応する論理ボリュームにアクセスする際、該ボリューム管理情報を参照して、該所定の識別子に対応する複数の物理ディスク上の領域にアクセスするストレージ装置において、
前記ディスクコントローラは、
所定の識別子に対応する論理ボリューム(以下、第1の論理ボリュームとする)の使用開始指令を受け付けると、該第1の論理ボリュームが予め定められているボリューム条件を満たしているか否かを判断する条件判断ステップと、
前記条件判断ステップで、前記第1の論理ボリュームが前記ボリューム条件を満たしていないと判断されると、前記ボリューム管理情報から該ボリューム条件を満たす未使用の論理ボリューム(以下、第2の論理ボリュームとする)を抽出する論理ボリューム抽出ステップと、
前記ボリューム管理情報のうち、前記第1の論理ボリュームが設定されている複数の物理ディスク上の領域の情報を、該第1の論理ボリュームの識別子を変更せずに、前記論理ボリューム抽出ステップで抽出された前記第2の論理ボリュームが設定されている複数の物理ディスク上の領域の情報に、変更するボリューム管理情報変更ステップと、を実行することを特徴とするストレージ装置。 - 請求項12に記載のストレージ装置において、
複数の物理ディスクを有するアレイグループを複数備え、
前記ボリューム管理情報には、各識別子に対応する一の論理ボリュームが複数のアレイグープのうちのいずれのアレイグループに属しているかを示すために、該論理ボリュームが属しているアレイグループの識別子を含み、
前記ディスクコントローラは、前記論理ボリューム抽出ステップで、前記ボリューム管理情報を参照して、前記第1の論理ボリュームが設定されている複数の物理ディスクを有しているアレイグループとは異なるアレイグループから、前記ボリューム条件を満たす未使用の前記第2の論理ボリュームを抽出する、ことを特徴とするストレージ装置。 - 請求項12及び13のいずれか一項に記載のストレージ装置において、
前記ボリューム条件には、論理ボリュームが設定されている複数の物理ディスクのいずれにも障害が生じていないという条件を含み、
前記ディスクコントローラは、前記条件判断ステップで、前記第1の論理ボリュームの使用開始指令を受け付けると、前記ボリューム管理情報を参照して、該第1の論理ボリュームが設定されている複数の物理ディスクを選び出し、複数の該物理ディスクのいずれにも障害が生じていないか否か判断する、ことを特徴とするストレージ装置。 - 請求項5から8のいずれか一項に記載のストレージ装置において、
前記ボリューム条件を複数有し、
前記ディスクコントローラは、前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に実行する、ことを特徴とするストレージ装置。 - 請求項15に記載のストレージ装置において、
複数の前記ボリューム条件に対して、それぞれ、使用優先順位が付され、
前記ストレージ装置は、前記条件判断ステップ及び論理ボリューム抽出ステップを、各ボリューム条件毎に該使用優先順に対応した順序で実行する、ことを特徴とするストレージ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003206074A JP2005055963A (ja) | 2003-08-05 | 2003-08-05 | ボリューム制御方法、この方法を実行するプログラム、及びストレージ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003206074A JP2005055963A (ja) | 2003-08-05 | 2003-08-05 | ボリューム制御方法、この方法を実行するプログラム、及びストレージ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005055963A true JP2005055963A (ja) | 2005-03-03 |
Family
ID=34363063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003206074A Pending JP2005055963A (ja) | 2003-08-05 | 2003-08-05 | ボリューム制御方法、この方法を実行するプログラム、及びストレージ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005055963A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006330895A (ja) * | 2005-05-24 | 2006-12-07 | Hitachi Ltd | ストレージシステム及びストレージシステムの運用方法 |
JP2007122463A (ja) * | 2005-10-28 | 2007-05-17 | Fujitsu Ltd | 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法 |
US7457925B2 (en) | 2005-03-22 | 2008-11-25 | Hitachi, Ltd. | Storage control method and system |
JP2010244130A (ja) * | 2009-04-01 | 2010-10-28 | Toshiba Corp | ディスクアレイ装置及びディスクアレイ制御方法 |
-
2003
- 2003-08-05 JP JP2003206074A patent/JP2005055963A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457925B2 (en) | 2005-03-22 | 2008-11-25 | Hitachi, Ltd. | Storage control method and system |
JP2006330895A (ja) * | 2005-05-24 | 2006-12-07 | Hitachi Ltd | ストレージシステム及びストレージシステムの運用方法 |
US20090150608A1 (en) | 2005-05-24 | 2009-06-11 | Masataka Innan | Storage system and operation method of storage system |
US7953942B2 (en) * | 2005-05-24 | 2011-05-31 | Hitachi, Ltd. | Storage system and operation method of storage system |
US8180979B2 (en) | 2005-05-24 | 2012-05-15 | Hitachi, Ltd. | Storage system and operation method of storage system |
US8484425B2 (en) | 2005-05-24 | 2013-07-09 | Hitachi, Ltd. | Storage system and operation method of storage system including first and second virtualization devices |
JP2007122463A (ja) * | 2005-10-28 | 2007-05-17 | Fujitsu Ltd | 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法 |
JP4550717B2 (ja) * | 2005-10-28 | 2010-09-22 | 富士通株式会社 | 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法 |
US7913042B2 (en) | 2005-10-28 | 2011-03-22 | Fujitsu Limited | Virtual storage system control apparatus, virtual storage system control program and virtual storage system control method |
JP2010244130A (ja) * | 2009-04-01 | 2010-10-28 | Toshiba Corp | ディスクアレイ装置及びディスクアレイ制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8296601B2 (en) | Take over method for computer system | |
TW411420B (en) | An apparatus and method for automatic configuration of a RAID controller | |
US8392752B2 (en) | Selective recovery and aggregation technique for two storage apparatuses of a raid | |
US7281160B2 (en) | Rapid regeneration of failed disk sector in a distributed database system | |
US7631219B2 (en) | Method and computer program product for marking errors in BIOS on a RAID controller | |
US7457916B2 (en) | Storage system, management server, and method of managing application thereof | |
JP6009095B2 (ja) | ストレージシステム及び記憶制御方法 | |
US7146474B2 (en) | System, method and computer program product to automatically select target volumes for a fast copy to optimize performance and availability | |
JP5721344B2 (ja) | システム、システムの制御方法、及び、プログラム | |
JP2007156597A (ja) | ストレージ装置 | |
JP4884041B2 (ja) | 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法 | |
US8489918B2 (en) | Storage system and ownership control method for storage system | |
JP2007133471A (ja) | ストレージ装置及びスナップショットのリストア方法 | |
JP2008052547A (ja) | 記憶制御装置及び記憶制御装置の障害回復方法 | |
JP2010049634A (ja) | ストレージシステム及びストレージシステムにおけるデータ移行方法 | |
JP2007334593A (ja) | Raidコントローラおよびraid装置 | |
US7849264B2 (en) | Storage area management method for a storage system | |
JP2002182972A (ja) | メモリ・ミラーリングを用いるデータ処理システムでの枯渇回復のサポート | |
WO2012081058A1 (en) | Storage subsystem and its logical unit processing method | |
US20090177916A1 (en) | Storage system, controller of storage system, control method of storage system | |
US7529776B2 (en) | Multiple copy track stage recovery in a data storage system | |
JP2005055963A (ja) | ボリューム制御方法、この方法を実行するプログラム、及びストレージ装置 | |
US20050097390A1 (en) | Method and apparatus for copying data of disk drive in disk array system | |
JP2004062376A (ja) | Raidディスクリードエラー処理方式、方法及びプログラム | |
US20070260835A1 (en) | Storage controlling device of disk array device and redundancy restoring method |