(57)【要約】【課題】フェイルオーバ型クラスタシステムで、システム全体の性能が、フェイルオーバ後においてフェイルオーバ前に比べて低くならないようにする。【解決手段】記憶装置２２００のパリティグループ３４００内のボリューム（コピー元ボリューム）２２１０に書込んだデータをリモートコピー機能を使用して記憶装置２３００のパリティグループ３３００内のボリューム２３１０（コピー先ボリューム）に書込む場合、このボリュームの組に関し、コピー先ボリュームのフェイルオーバ後の性能が、コピー元ボリュームのフェイルオーバ前の性能以上という条件（１）と、コピー中の、コピー先ボリュームの性能が、コピー元ボリュームの性能以上という条件（２）の２条件のうち、指定したどちらか一方もしくは両方の条件を満たすか否かを、コピー中に判断し、条件が満たされなければ、コピー先ボリュームが定義されている記憶装置内の構成を変更して、指定条件が満たされるようにする。【選択図】                図４
2004246852.tif 000002
【特許請求の範囲】
【請求項１】
複数台の記憶装置と複数台の計算機を含み、
前記複数台の記憶装置のうち、それぞれ任意の記憶装置内に定義された任意の異なる二つの論理ボリュームを、それぞれ第一の論理ボリューム、第二の論理ボリュームとし、    前記複数台の計算機のうち、任意の計算機をそれぞれ第一の計算機、第二の計算機とし、
前記第一の計算機が前記第一のボリュームを使用して処理を行なっており、かつ前記第一の論理ボリュームに書込まれたデータが前記第二の論理ボリュームにも書込まれるという関連づけが前記第一の論理ボリュームと前記第二の論理ボリュームの間で成り立っている状態を第一の状態とし、
前記関連づけを解消し、かつ前記第二の計算機が前記第二のボリュームを使用して処理を行なう状態を第二の状態とするコンピュータシステムにおける論理ボリュームコピー先性能調整方法であって、
前記第一の状態もしくは前記第二の状態における前記第二の論理ボリュームの性能が、前記第一の状態における前記第一の論理ボリュームの性能以上であるという条件を満たさなければ、前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行ない上記条件を満たすようにする性能調整処理を行なう契機を検出する性能調整契機検出ステップと、
前記契機が検出されたとき、前記第一の論理ボリュームに関する第一の性能値及び前記第二の論理ボリュームに関する第二の性能値を取得する性能値取得ステップと、
前記取得された第二の性能値と前記第一の性能値を比較して、前記条件が成立するかを予測もしくは判断する性能低下有無予測ステップと、
前記条件が成立しないとき、前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なうことで前記条件が成立するようになる構成変更処理を探索する構成変更処理探索ステップと、
前記構成変更処理探索ステップで探索した結果のいずれか一つ以上の構成変更を行なう性能調整ステップを有することを特徴とする論理ボリュームコピー先性能調整方法。
【請求項２】
請求項１記載の論理ボリュームコピー先性能調整方法において、
前記性能調整契機検出ステップは、
前記第一の論理ボリュームもしくは前記第二の論理ボリュームが定義された記憶装置内の構成が変更されたという事象、もしくは前回前記性能調整処理を行なってから一定時間以上が経過したという事象、もしくは予め指定された時刻になったという事象、もしくは前記コンピュータシステム内の任意の計算機から要求されたという事象、もしくは前記第一の状態から前記第二の状態に推移したという事象、もしくは前記第一の論理ボリュームに書かれたデータと同じデータが、前記第二の論理ボリュームに書かれるために、前記第二のボリュームが定義されている記憶装置に転送された転送回数が予め定めた回数に到達したという事象のうち、いずれか一つ以上の事象が発生した際に、前記性能調整処理を行なう契機であると判断し、
性能値取得ステップは、
前記第一の性能値と第二の性能値として、
前記第一の論理ボリューム、前記第二の論理ボリューム、前記第一の論理ボリュームと資源を共有する論理ボリューム、及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、過去のある時点もしくは前記第一の状態における、単位時間あたりの平均処理要求回数、もしくは総要求データ量、もしくは総利用時間、もしくは平均要求処理時間、もしくは前記第一の計算機からの平均アクセス時間のうちのいずれか一つ以上の値を取得し、該取得した値の和、もしくは該取得した値の平均値、もしくは該取得した値のいずれか一つの値、もしくは該取得した値の和をキーとして、予め定義した該取得した値の和と平均要求処理時間との対応表を引いた結果得られる値のいずれかを使用し、
前記構成変更処理探索ステップは、
前記第二の論理ボリューム及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、
前記論理ボリュームの物理的記憶位置の移動、もしくは前記論理ボリュームに対する処理要求優先度の変更、もしくは前記論理ボリュームに割り当てたキャッシュ容量の変更のうち、いずれか一つ以上の構成変更処理の探索を行なうことを特徴とするボリュームコピー先性能調整方法。
【請求項３】
複数台の記憶装置と複数台の計算機を含み、
前記複数台の記憶装置のうち、それぞれ任意の記憶装置内に定義された任意の異なる二つの論理ボリュームを、それぞれ第一の論理ボリューム、第二の論理ボリュームとし、
前記複数台の計算機のうち、任意の計算機をそれぞれ第一の計算機、第二の計算機とし、
前記第一の計算機が前記第一のボリュームを使用して処理を行なっており、かつ前記第一の論理ボリュームに書込まれたデータが前記第二の論理ボリュームにも書込まれるという関連づけが前記第一の論理ボリュームと前記第二の論理ボリュームの間で成り立っている状態を第一の状態とし、前記関連づけを解消し、かつ前記第二の計算機が前記第二のボリュームを使用して処理を行なう状態を第二の状態とするコンピュータシステムにおける、前記第一の論理ボリュームが定義されており、かつ前記第二の論理ボリュームが定義されていない第三の状態において前記第二の論理ボリュームを定義する記憶領域を探索する論理ボリューム定義領域探索方法であって、
前記第一の論理ボリュームを指定して、前記第二の論理ボリュームを探索する要求を受け取る論理ボリューム探索要求受信ステップと、
前記第一の論理ボリュームに関する性能情報を第一の性能値として取得する第一の性能値取得ステップと、
前記コンピュータシステム内の、前記第二の論理ボリュームを定義する記憶領域の一覧を取得する記憶領域一覧取得ステップと、
前記一覧から指定された記憶領域に関する性能情報を、前記領域に論理ボリュームを定義したと仮定した際の性能情報として、性能値を取得する第二の性能値取得ステップと、
前記第二の性能値と前記第一の性能値を比較して、前記第一の状態もしくは前記第二の状態における前記第二の論理ボリュームの性能が、前記第一の状態における前記第一の論理ボリュームの性能以上になるという条件が成立するかを予測する性能低下有無予測ステップと、
前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なうことで前記条件が成立するようになる構成変更処理を探索する構成変更処理探索ステップと、
前記論理ボリューム探索要求の結果を返す要求処理結果返答ステップを有することを特徴とする論理ボリューム定義領域探索方法。
【請求項４】
請求項３記載の論理ボリューム定義領域探索方法において、前記第一の性能値取得ステップ及び第二の性能値取得ステップは、
前記第一の論理ボリューム、前記第二の論理ボリューム、前記第一の論理ボリュームと資源を共有する論理ボリューム、及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、過去のある時点もしくは前記第三の状態における、単位時間あたりの平均処理要求回数、もしくは単位時間あたりの総要求データ量、もしくは単位時間あたりの総利用時間、もしくは平均要求処理時間、もしくは前記第一の計算機からの平均アクセス時間、のうちいずれか一つ以上の値を取得し、
前記取得した値の和、もしくは前記取得した値の平均値、もしくはいずれか一つの値、もしくは前記取得した値の和をキーとして、予め定義した前記取得した値の和と平均要求処理時間との対応表を引いた結果得られる値を使用し、
前記構成変更処理探索ステップは、
前記第二の論理ボリュームと前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、前記論理ボリュームの物理的記憶位置を移動、もしくは前記論理ボリュームに対する処理要求優先度を変更、もしくは前記論理ボリュームに割り当てたキャッシュ容量を変更のうち、いずれか一つ以上の構成変更処理を行なうことを特徴とする論理ボリューム定義領域探索方法。
【請求項５】
複数台の記憶装置と複数台の計算機を含み、
前記複数台の記憶装置のうち、それぞれ任意の記憶装置内に定義された任意の異なる二つの論理ボリュームを、それぞれ第一の論理ボリューム、第二の論理ボリュームとし、
前記複数台の計算機のうち、任意の計算機をそれぞれ第一の計算機、第二の計算機とし、
前記第一の計算機が前記第一のボリュームを使用して処理を行なっており、かつ前記第一の論理ボリュームに書込まれたデータが前記第二の論理ボリュームにも書込まれるという関連づけが前記第一の論理ボリュームと前記第二の論理ボリュームの間で成り立っている状態を第一の状態とし、
前記関連づけを解消し、かつ前記第二の計算機が前記第二のボリュームを使用して処理を行なう状態を第二の状態とするコンピュータシステムにおける、前記第一のボリュームと前記第二の論理ボリュームが定義されており、かつ前記第一の論理ボリュームと前記第二の論理ボリュームの関連づけが成立していない第四の状態において前記第一の論理ボリュームと前記第二の論理ボリュームの前記関連づけを生成する論理ボリューム間関連づけ処理方法であって、
前記第一の論理ボリュームと前記第二の論理ボリュームと共に前記関連づけ生成要求を受け取る、論理ボリューム間関連づけ要求受信ステップと、
前記第一の論理ボリュームに関する性能情報を性能値として取得する第一の性能値取得ステップと、
前記第二の論理ボリュームに関する性能情報を性能値として取得する第二の性能値取得ステップと、
前記第二の性能値と前記第一の性能値を比較して、前記第一の状態もしくは前記第二の状態における前記第二の論理ボリュームの性能が、前記第一の状態における前記第一の論理ボリュームの性能以上になるという条件が成立するかを予測する性能低下有無予測ステップと、
前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なうことで、前記条件を満たすようになる構成変更処理を探索する構成変更処理探索ステップと、
該探索された構成変更処理により前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なう性能調整ステップと、
前記第一の論理ボリュームと前記第二の論理ボリュームの前記関連づけを行なう論理ボリューム間関連づけステップと、
前記論理ボリューム間関連づけ要求に対する結果を返す要求処理結果返答ステップを有することを特徴とする論理ボリューム間関連づけ処理方法。
【請求項６】
請求項５記載の論理ボリューム間関連づけ処理方法において、
前記第一の性能値取得ステップ及び前記第二の性能値取得ステップは、
前記第一の論理ボリューム、前記第二の論理ボリューム、前記第一の論理ボリュームと資源を共有する論理ボリューム、及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、過去のある時点もしくは前記第四の状態における、単位時間あたりの平均処理要求回数、もしくは単位時間あたりの総要求データ量、もしくは総利用時間、もしくは平均要求処理時間、もしくは前記第一の計算機からの平均アクセス時間のうちいずれか一つ以上の値を取得し、
前記取得した値の和、もしくは前記取得した値の平均値、もしくはいずれか一つの値、もしくは前記取得した値の和をキーとして、予め定義した前記取得した値の和と平均要求処理時間との対応表を引いた結果得られる値を使用し、
前記構成変更処理探索ステップは、
前記第二の論理ボリューム及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、前記論理ボリュームの物理的記憶位置を移動、もしくは前記論理ボリュームに対する処理要求優先度を変更、もしくは前記論理ボリュームに割り当てたキャッシュ容量を変更のうち、いずれか一つ以上の構成変更処理を行なうことを特徴とする論理ボリューム間関連づけ処理方法。
【請求項７】
複数台の記憶装置と複数台の計算機を含み、
前記複数台の記憶装置のうち、それぞれ任意の記憶装置内に定義された任意の異なる二つの論理ボリュームを、それぞれ第一の論理ボリューム、第二の論理ボリュームとし、
前記複数台の計算機のうち、任意の計算機をそれぞれ第一の計算機、第二の計算機とし、
前記第一の計算機が前記第一のボリュームを使用して処理を行なっており、かつ前記第一の論理ボリュームに書込まれたデータが前記第二の論理ボリュームにも書込まれるという関連づけが前記第一の論理ボリュームと前記第二の論理ボリュームの間で成り立っている状態を第一の状態とし、
前記関連づけを解消し、かつ前記第二の計算機が前記第二のボリュームを使用して処理を行なう状態を第二の状態とするコンピュータシステムにおける論理ボリュームコピー先性能調整装置であって、
前記第一の状態もしくは前記第二の状態における前記第二の論理ボリュームの性能が、前記第一の状態における前記第一の論理ボリュームの性能以上であるという条件を満たさなければ、前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行ない上記条件を満たすようにする性能調整処理を行なう契機を検出する性能調整契機検出手段と、
前記第一の論理ボリュームに関する性能情報を第一の性能値として取得する第一の性能値取得手段と、
前記第二の論理ボリュームに関する性能情報を第二の性能値として取得する第二の性能値取得手段と、
前記第二の性能値と前記第一の性能値を比較して、前記条件が成立するかを予測もしくは判断する性能低下有無予測手段と、
前記条件が成立しないと予測もしくは判断された前記第二の論理ボリュームについて、前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なうことで前記条件が成立するようになる構成変更処理を探索する構成変更処理探索手段と、
前記構成変更処理探索手段で探索した結果が空でなければ、前記結果のいずれか一つ以上の構成変更処理を行なう性能調整手段を有することを特徴とする論理ボリュームコピー先性能調整装置。
【請求項８】
請求項７記載の論理ボリュームコピー先性能調整装置おいて、
前記性能調整契機検出手段は、
前記第一の論理ボリュームもしくは前記第二の論理ボリュームが定義された記憶装置内の構成が変更されたという事象、もしくは前回前記性能調整処理を行なってから一定時間以上が経過したという事象、もしくは予め指定された時刻になったという事象、もしくは前記コンピュータシステム内の任意の計算機から要求されたという事象、もしくは前記第一の状態から前記第二の状態に推移したという事象、もしくは前記第一の論理ボリュームに書かれたデータと同じデータが、前記第二の論理ボリュームに書かれるために、前記第二のボリュームが定義されている記憶装置に転送されたという事象のうち、いずれか一つ以上の事象が発生した際に、前記性能調整処理を行なう契機であると判断し、
前記第一の性能値取得手段及び前記第二の性能値取得手段は、
前記第一の論理ボリューム、前記第二の論理ボリューム、前記第一の論理ボリュームと資源を共有する論理ボリューム、及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、過去のある時点もしくは前記第一の状態における、単位時間あたりの平均処理要求回数、もしくは単位時間あたりの総要求データ量、もしくは単位時間あたりの総利用時間、もしくは平均要求処理時間、もしくは前記第一の計算機からの平均アクセス時間のうちいずれか一つ以上の値を取得して、
前記取得した値の和、もしくは前記取得した値の平均値もしくはいずれか一つの値、もしくは前記取得した値の和をキーとして、予め定義した前記取得した値の和と平均要求処理時間との対応表を引いた結果得られる値を使用し、
前記構成変更処理探索手段は、
前記第二の論理ボリューム及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、前記論理ボリュームの物理的記憶位置を移動、もしくは前記論理ボリュームに対する処理要求優先度を変更、もしくは前記論理ボリュームに割り当てたキャッシュ容量を変更のうち、いずれか一つ以上の構成変更処理の探索を行なうことを特徴とする論理ボリュームコピー先性能調整装置。
【請求項９】
複数台の記憶装置と複数台の計算機を含み、
前記複数台の記憶装置のうち、それぞれ任意の記憶装置内に定義された任意の異なる二つの論理ボリュームを、それぞれ第一の論理ボリューム、第二の論理ボリュームとし、
前記複数台の計算機のうち、任意の計算機をそれぞれ第一の計算機、第二の計算機とし、
前記第一の計算機が前記第一のボリュームを使用して処理を行なっており、かつ前記第一の論理ボリュームに書込まれたデータが前記第二の論理ボリュームにも書込まれるという関連づけが前記第一の論理ボリュームと前記第二の論理ボリュームの間で成り立っている状態を第一の状態とし、前記関連づけを解消し、かつ前記第二の計算機が前記第二のボリュームを使用して処理を行なう状態を第二の状態とする、コンピュータシステムにおける、前記第一の論理ボリュームが定義されており、かつ前記第二の論理ボリュームが定義されていない第三の状態において前記第二の論理ボリュームを定義する記憶領域を探索する論理ボリューム定義領域探索装置であって、
前記第一の論理ボリュームを指定して、前記第二の論理ボリュームを探索する要求を受け取る論理ボリューム探索要求受信手段と、
前記第一の論理ボリュームに関する性能情報を第一の性能値として取得する第一の性能値取得手段と、
前記コンピュータシステム内の、前記第二の論理ボリュームを定義する記憶領域の一覧を取得する記憶領域一覧取得手段と、
前記一覧から指定された記憶領域に関する性能情報を、前記領域に論理ボリュームを定義したと仮定した際の性能情報として、性能値を取得する第二の性能値取得手段と、
前記第二の性能値と前記第一の性能値を比較して、前記第一の状態もしくは前記第二の状態における前記第二の論理ボリュームの性能が、前記第一の状態における前記第一の論理ボリュームの性能以上になるという条件が成立するかを予測する性能低下有無予測手段と、
前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なうことで前記条件が成立するようになる構成変更処理を探索する構成変更処理探索手段と、
前記論理ボリューム探索要求の結果を返す要求処理結果返答手段を有することを特徴とする論理ボリューム定義領域探索装置。
【請求項１０】
請求項９記載の論理ボリューム定義領域探索装置において、
前記第一の性能値取得手段及び第二の性能値取得手段は、
前記第一の論理ボリューム、前記第二の論理ボリューム、前記第一の論理ボリュームと資源を共有する論理ボリューム、及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、過去のある時点もしくは前記第三の状態における、単位時間あたりの平均処理要求回数、もしくは単位時間あたりの総要求データ量、もしくは単位時間あたりの総利用時間、もしくは平均要求処理時間、もしくは前記第一の計算機からの平均アクセス時間、のうちいずれか一つ以上の値を取得し、
前記取得した値の和、もしくは前記取得した値の平均値、もしくはいずれか一つの値、もしくは前記取得した値の和をキーとして、予め定義した前記取得した値の和と平均要求処理時間との対応表を引いた結果得られる値を使用し、
前記構成変更処理探索手段は、
前記第二の論理ボリュームと前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、前記論理ボリュームの物理的記憶位置を移動、もしくは前記論理ボリュームに対する処理要求優先度を変更、もしくは前記論理ボリュームに割り当てたキャッシュ容量を変更のうち、いずれか一つ以上の構成変更処理を行なうことを特徴とする論理ボリューム定義領域探索装置。
【請求項１１】
複数台の記憶装置と複数台の計算機を含み、
前記複数台の記憶装置のうち、それぞれ任意の記憶装置内に定義された任意の異なる二つの論理ボリュームを、それぞれ第一の論理ボリューム、第二の論理ボリュームとし、
前記複数台の計算機のうち、任意の計算機をそれぞれ第一の計算機、第二の計算機とし、
前記第一の計算機が前記第一のボリュームを使用して処理を行なっており、かつ前記第一の論理ボリュームに書込まれたデータが前記第二の論理ボリュームにも書込まれるという関連づけが前記第一の論理ボリュームと前記第二の論理ボリュームの間で成り立っている状態を第一の状態とし、
前記関連づけを解消し、かつ前記第二の計算機が前記第二のボリュームを使用して処理を行なう状態を第二の状態とするコンピュータシステムにおける、前記第一のボリュームと前記第二の論理ボリュームが定義されており、かつ前記第一の論理ボリュームと前記第二の論理ボリュームの関連づけが成立していない第四の状態において前記第一の論理ボリュームと前記第二の論理ボリュームの前記関連づけを生成する論理ボリューム間関連づけ処理装置であって、
前記第一の論理ボリュームと前記第二の論理ボリュームと共に前記関連づけ生成要求を受け取る、論理ボリューム間関連づけ要求受信手段と、
前記第一の論理ボリュームに関する性能情報を性能値として取得する第一の性能値取得手段と、
前記第二の論理ボリュームに関する性能情報を性能値として取得する第二の性能値取得手段と、
前記第二の性能値と前記第一の性能値を比較して、前記第一の状態もしくは前記第二の状態における前記第二の論理ボリュームの性能が、前記第一の状態における前記第一の論理ボリュームの性能以上になるという条件が成立するかを予測する性能低下有無予測手段と、
前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なうことで、前記条件を満たすようになる構成変更処理を探索する構成変更処理探索手段と、
該探索された構成変更処理により前記第二の論理ボリュームが定義されている記憶装置内の構成変更を行なう性能調整手段と、
前記第一の論理ボリュームと前記第二の論理ボリュームの前記関連づけを行なう論理ボリューム間関連づけ手段と、
前記論理ボリューム間関連づけ要求に対する結果を返す要求処理結果返答手段を有することを特徴とする論理ボリューム間関連づけ処理装置。
【請求項１２】
請求項１１記載の論理ボリューム間関連づけ処理装置において、
前記第一の性能値取得手段及び前記第二の性能値取得手段は、
前記第一の論理ボリューム、前記第二の論理ボリューム、前記第一の論理ボリュームと資源を共有する論理ボリューム、及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、過去のある時点もしくは前記第四の状態における、単位時間あたりの平均処理要求回数、もしくは単位時間あたりの総要求データ量、もしくは総利用時間、もしくは平均要求処理時間、もしくは前記第一の計算機からの平均アクセス時間のうちいずれか一つ以上の値を取得し、
前記取得した値の和、もしくは前記取得した値の平均値、もしくはいずれか一つの値、もしくは前記取得した値の和をキーとして、予め定義した前記取得した値の和と平均要求処理時間との対応表を引いた結果得られる値を使用し、
前記構成変更処理探索手段は、
前記第二の論理ボリューム及び前記第二の論理ボリュームと資源を共有する論理ボリュームのうち、いずれか一つ以上の論理ボリュームについて、前記論理ボリュームの物理的記憶位置を移動、もしくは前記論理ボリュームに対する処理要求優先度を変更、もしくは前記論理ボリュームに割り当てたキャッシュ容量を変更のうち、いずれか一つ以上の構成変更処理を行なうことを特徴とする論理ボリューム間関連づけ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶装置内の論理ボリュームの性能調整に係り、特に論理ボリューム間コピー機能使用時に、コピー元論理ボリュームの性能に応じてコピー先論理ボリュームの性能を調整する技術に関する。
なお、本明細書におけるボリュームの性能調整とは、前記ボリュームの性能が要求性能以上になるように、当該ボリュームが定義されている記憶装置内の構成を変更することを示す。
【０００２】
【従来の技術】
２台以上の物理ディスクをグループ化して冗長性をもたせ、性能や信頼性を向上させる、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ    Ａｒｒａｙ    ｏｆ    Ｉｎｅｘｐｅｎｓｉｖｅ    Ｄｉｓｋｓ）と呼ばれる技術がある（例えば、非特許文献１参照。）。
ＲＡＩＤ技術を適用している記憶装置を使用する場合、まず、記憶装置内の物理ディスク（物理記憶装置）を２台以上集めて、パリティグループと呼ばれる論理記憶装置を構成する。
そして、パリティグループ内に論理ボリューム（以下本明細書では以降「ボリューム」と呼ぶ）と呼ばれる論理記憶領域を定義し、前記記憶装置を利用するクライアント計算機からは、前記ボリュームを使用する。
多くの記憶装置では、１つのパリティグループ内に２つ以上のボリュームが定義可能である。
【０００３】
ボリュームの定義例を図１に示す。
図１では、物理ディスク１０００、物理ディスク１０１０、物理ディスク１０２０、及び物理ディスク１０３０が１つのパリティグループ１１００を構成し、その中にボリューム１１１０とボリューム１１２０が定義されている。
このとき、パリティグループ１１００内に定義されているボリューム１１１０及びボリューム１１２０は、物理ディスク１０００、物理ディスク１０１０、物理ディスク１０２０、及び物理ディスク１０３０を共有している。
このような、異なるボリュームが同じ物理ディスクを共有しているという状態は、ＲＡＩＤ技術を採用している記憶装置を使用する場合だけでなく、単一の物理ディスク内に２つ以上のボリュームを定義して使用する場合にも存在する。
いくつかのＲＡＩＤ技術を適用している記憶装置では、前記パリティグループを定義してからその中にボリュームを定義するではなく、前記パリティグループ内に論理ディスクと呼ばれる記憶領域を定義し、前記論理ディスクの組み合わせ、もしくは分割した一部の領域を、ボリュームとして定義することができる。
さらに別のいくつかの記憶装置では、パリティグループを定義せずに、物理ディスクの一部分もしは全体を組み合わせて、直接ボリュームを構成することができる。
【０００４】
このように物理ディスクからボリュームを構成する方法には、いくつかの方法があるが、いずれも異なるボリュームが同じ物理ディスクを共有するという点は共通である（例えば、非特許文献２参照。）。
以下では、物理ディスクの一部もしくは全体を一つ以上組み合わせた領域をまとめてパリティグループと呼び、前記パリティグループ上に定義した論理的な記憶領域を、ボリュームと呼ぶ。
記憶装置を利用する計算機のＣＰＵを介さずに、ボリューム間でデータコピーを行なう機能を持つ記憶装置がある。
さらに前記記憶装置のいくつかは、ボリューム間のデータを全てコピーした後も、２つのボリュームの関連づけが解消されるまでの間、前記ボリューム間コピーにおけるコピー元ボリュームにデータが書かれると、同じデータをコピー先ボリュームにも書き込む機能を持つ。
本明細書では、これらをまとめてボリューム間コピーを行なう、と表現する。
さらにボリューム間コピーを行なう機能のうち、同じ記憶装置内のボリューム間のコピーはスナップショットと呼ばれ（例えば、特許文献１参照。）、異なる記憶装置内のボリューム間コピーはリモートコピーと呼ばれる（例えば、特許文献２参照。）。
また、記憶装置内のボリュームに含まれるデータの全てもしくは一部を、指定する間、記憶装置内のキャッシュメモリに常駐させる方式がある（例えば、特許文献３参照。）。
また、記憶装置内のボリューム毎に処理優先度をつけ、クライアント計算機からの要求を、前記処理優先度に従って処理する方式がある（例えば、特許文献４参照。）。
また、記憶装置内のボリューム再配置による各ボリュームの性能最適化を行なう方式がある（例えば、特許文献５参照。）。
【０００５】
２台以上の計算機を組み合わせ、１つのシステムとして動作させることで、システム全体の性能や可用性を向上させる手法がある。
この手法はクラスタリングと呼ばれ、クラスタリングを採用しているシステムをクラスタシステムと呼ぶ（例えば、非特許文献３および非特許文献４参照。）。
クラスタシステムは、大きく分けてロードバランス型とフェイルオーバ型に分けられる。
ロードバランス型は、業務アプリケーションを、全てのサーバで分担して処理する方式である。
一方フェイルオーバ型は、サーバ群を、業務アプリケーションを処理するサーバ（現用系サーバ）と、通常は待機しておき現用系サーバに障害が発生した際に処理を引き継ぐ（フェイルオーバする）サーバ（待機系サーバ）に分けて運用する。
フェイルオーバ型には、現用系サーバと待機系サーバがボリュームを共有する方式と、各サーバ間でボリュームをミラーリングする（同じデータのコピーを持つ）方式がある。
【０００６】
図２に、ボリュームをミラーリングするフェイルオーバ型クラスタシステムの構成例を示す。
計算機２０００及び計算機２１００は、それぞれ通信機器２４００及び通信機器２５００に接続されており、さらに通信機器２４００及び通信機器２５００は、それぞれ記憶装置２２００及び記憶装置２３００に接続されている。
また、記憶装置２２００と記憶装置２３００は、通信路２６００で接続されている。
そして記憶装置２２００内にはボリューム２２１０が、また記憶装置２３００内にはボリューム２３１０が定義されている。
計算機２０００は、ボリューム２２１０を使用して業務アプリケーションを処理しており、前記ボリューム２２１０は、リモートコピー機能を利用して、通信路２６００経由で、ボリューム２３１０にコピーされている。
この状態では、ボリューム２２１０に書き込まれたデータは、自動的にボリューム２３１０にも書き込まれる。
【０００７】
図２に示したシステムで、計算機２０００に障害が発生すると、計算機２１００が業務アプリケーションの処理を引き継ぐ（フェイルオーバする）。
このとき計算機２１００は、ボリューム２２１０もしくはボリューム２３１０を使用する。
また記憶装置２２００に障害が発生した場合、計算機２０００もしくは計算機２１００のどちらかが、ボリューム２３００を使用して処理を行なう。
しかし一般的には、計算機２０００と記憶装置２２００が設置されている場所と、計算機２１００と記憶装置２３００が設置されている場所が地理的に離れている場合、計算機２０００もしくは記憶装置２２００に障害が発生すると、計算機２１００が記憶装置２３００を使用して業務アプリケーションの処理を行なう。
前記図２に示したクラスタシステムでは、計算機、通信機器、通信路、及びボリュームは全て二重化されるため、システム中の機器のうちいずれか１つに障害が発生しても、システム全体は動作を継続することができる。
【０００８】
【特許文献１】米国特許第５８４５２９５号明細書
【特許文献２】米国特許第５１５５８４５号明細書
【特許文献３】特開２００１−１７５５３７号公報
【特許文献４】米国特許第６１５７９６３号明細書
【特許文献５】特開２００１−６７１８７号公報
【非特許文献１】Ｊｏｎ    Ｗｉｌｌｉａｍ    Ｔｏｉｇｏ，“Ｔｈｅ    Ｈｏｌｙ    Ｇｒａｉｌ    ｏｆ    Ｄａｔａ    Ｓｔｏｒａｇｅ    Ｍａｎａｇｅｍｅｎｔ”，Ｐｒｅｎｔｉｃｅ    Ｈａｌｌ，２０００．
【非特許文献２】Ｍａｒｋ    Ｆａｒｌｅｙ，“Ｂｕｉｌｄｉｎｇ    Ｓｔｏｒａｇｅ    Ｎｅｔｗｏｒｋｓ”，ｎｅｔｗｏｒｋ    Ｐｒｏｆｅｓｓｉｏｎａｌ’ｓＬｉｂｒａｒｙ，Ｏｓｂｏｒｎｅ
【非特許文献３】Ｒｉｃｈａｒｄ  Ｂａｒｋｅｒ，  Ｍａｒｋ  Ｅｒｉｃｋｓｏｎ他，  Ｔｈｅ  Ｒｅｓｉｌｉｅｎｔ  Ｅｎｔｅｒｐｒｉｓｅ  −  Ｒｅｃｏｖｅｒｉｎｇ  ｉｎｆｏｒｍａｔｉｏｎ  ｓｅｒｖｉｃｅｓ  ｆｒｏｍ  ｄｉｓａｓｔｅｒｓ，ＶＥＲＩＴＡＳ  Ｖｉｓｉｏｎ  ２００２配布書籍，  ２００２．
【非特許文献４】Ｅｖａｎｓ    Ｍａｒｃｕｓ，Ｈａｌ    Ｓｔｅｒｎ，Ｂｌｕｅｐｒｉｎｔｓ    ｆｏｒ    Ｈｉｇｈ    Ａｖａｉｌａｂｉｌｉｔｙ，Ｗｉｌｅｙ  Ｃｏｍｐｕｔｅｒ    Ｐｕｂｌｉｓｈｉｎｇ，２００２．
【０００９】
【発明が解決しようとする課題】
図２のクラスタシステムにおいて、ボリューム２３１０と同じパリティグループ上に他のボリュームが定義されている例を、図３に示す。
計算機２０００及び計算機２１００は、それぞれ通信機器２４００及び通信機器２５００に接続されており、また通信機器２４００及び通信機器２５００は、記憶装置２２００及び記憶装置２３００に接続されている。
また、計算機３０００は通信機器３６００と、通信機器３６００は記憶装置２３００と、それぞれ接続されている。
さらに、記憶装置２２００と記憶装置２３００は、通信路２６００で接続されている。
また、記憶装置２２００内にはパリティグループ３４００が、記憶装置２３００内にはパリティグループ３３００が定義されている。
さらに、パリティグループ３４００内にはボリューム２２１０が、パリティグループ３３００内にはボリューム２３１０とボリューム３３１０が定義されている。
ここで、計算機２０００は、ボリューム２２１０を使用して業務アプリケーションを処理しており、ボリューム２２１０はリモートコピー機能を使用してボリューム２３１０にコピーされている。
計算機２１００は、計算機２０００に障害が発生した際にボリューム２３１０を使用して業務アプリケーションを処理するために待機中である。
一方、計算機３０００は、前記ボリューム３３１０を使用して業務アプリケーションを処理している。
【００１０】
図３のクラスタシステムにおいて、計算機２０００に障害が発生し、フェイルオーバして、計算機２１００がボリューム２３１０を使用して処理を引き継ぐ時、ボリューム２２１０の性能に比べてボリューム２３１０の性能が低ければ、システム全体の処理性能が低下する。
これは、ボリューム２３１０と物理ディスクを共有しているボリューム３３１０に負荷がかかっている場合に発生する。
前記問題を回避するため、図３のクラスタシステムを構築する際に、ボリューム２３１０を、負荷のかかるボリューム３３１０とは別のパリティグループ上に配置することが考えられる。
しかし、計算機３０００で実行されている業務アプリケーションや計算機２０００で実行されている業務アプリケーションの記憶装置へのアクセス傾向の変化による各ボリュームの負荷の増減や、前記従来技術の項で述べたボリューム再配置による各ボリュームの性能最適化を行なう方式による構成変更等の影響により、必ずしも前記フェイルオーバ後のシステム全体の性能低下を回避するようにできるわけではない。
【００１１】
本発明の第一の目的は、フェイルオーバ型のクラスタシステムにおいて、フェイルオーバ後のシステム全体の性能が、フェイルオーバ前のシステム全体の性能に比べて低くならないようにする手段を提供することである。
一方、スナップショットもしくはリモートコピーを使用してボリューム間コピーを行っている際に、コピー先ボリュームの性能がコピー元ボリュームの性能に比べて低いと、コピー元ボリュームからコピー先ボリュームに転送されるデータの一時保存用メモリが余分に消費されたり、両ボリュームへのデータ書き込みが完了するまで待機する場合に、待機時間が余分に長くなったりする。
本発明の第二の目的は、円滑で効率的なボリューム間コピーが行なえるようにする手段を提供することである。
【００１２】
【課題を解決するための手段】
前記の目的を達成するために、本発明は、スナップショットもしくはリモートコピー機能を使用してコピーを行っているボリュームの組に関して、コピー先ボリュームのフェイルオーバ後の性能が、コピー元ボリュームのフェイルオーバ前の性能以上であるという条件（１）と、コピー中の、コピー先ボリュームの性能が、コピー元ボリュームの性能以上であるという条件（２）の２つの条件のうち、指定したどちらか一方もしくは両方の条件を満たすかどうかを、コピー中に判断し、前記条件が満たされていなければ、前記コピー先ボリュームが定義されている記憶装置内の構成を変更して、前記指定した条件が満たされるようにしている。また、コピー開始前の、コピー先ボリュームを定義するパリティグループを選択する際に、コピー元ボリュームと同容量のボリュームが定義可能、かつ前記ボリュームを定義した際に、指定した前記条件（１）、（２）のうち両方もしくはいずれか一方の条件を満たすボリュームを定義することができる、パリティグループの一覧を取得するようにしている。
さらに、コピー開始時に、定義されているコピー元ボリュームとコピー先ボリュームが指定した前記条件（１）、（２）のうち両方もしくはいずれか一方の条件を満たすかどうかを判断し、満たさなければ前記コピー元ボリュームが定義されている記憶装置内の構成を変更し、前記条件を満たすようになればコピー元ボリュームとコピー先ボリュームの関連づけを行って前記コピーを開始するとともに、前記条件を満たさなければ、コピーを開始せずに異常終了するようにしている。
【００１３】
【発明の実施の形態】
第１の実施例として、図３における、記憶装置２２００及び記憶装置２３００内で本発明を実装する例を示す。
本実施例では、コピー元ボリューム２２１０が定義されている記憶装置２２００内の性能情報を、記憶装置２２００と記憶装置２３００との間のデータ通信路２６００を使って転送し、コピー先ボリューム２３１０と同じパリティグループ上のボリューム３３１０を、必要に応じて他のパリティグループに移動することで、ボリューム２３１０の性能調整を行なう。
前記性能調整を行なう契機は、記憶装置２２００内の構成が変更された際、もしくはコピー元ボリューム３３１０からコピー先ボリューム２３１０へのデータ転送が２５６回行なわれるにつき最低１回とする。
【００１４】
本実施例における記憶装置２２００及び記憶装置２３００内のブロック構成を図４に示す。
記憶装置２２００内には、パリティグループ３４００とパリティグループ４０２０が定義されている。
パリティグループ３４００内には、ボリューム２２１０とボリューム４０１４が定義されており、さらにパリティグループ４０２０内にはボリューム４０２２が定義されている。
また記憶装置２２００内のメモリ４５７０には、前記装置内の各パリティグループ及びボリュームの性能情報を管理する性能情報管理部４０４０と、前記性能情報管理部４０４０が管理する性能情報４０４２が存在する。
本明細書における性能情報の管理とは、性能情報の収集、保存、提供を言う。
記憶装置２２００内には、他の記憶装置にデータ及び前記性能情報４０４２の内容の一部もしくは全てを転送する、通信装置４０３０が存在する。
そして、メモリ４５７０には、記憶装置２２００内のボリューム及びパリティグループの構成や関係を管理する構成情報４０５２と、前記構成情報４０５２を管理する構成情報管理部４０５０が存在する。
さらにメモリ４５７０には、前記構成情報管理部４０５０が管理する構成情報４０５２を監視し、前記構成情報４０５２が変更されると構成変更通知を通信装置４０３０に転送する、性能調整契機検出部４０６０が存在する。
前記前記性能情報管理部４０４０と性能調整契機検出部４０６０は、性能調整プログラム内にあり、前記構成情報管理部４０５０は、装置管理プログラム内にある。なお、４５６０はバス、４５５０はＣＰＵである。
【００１５】
一方、記憶装置２３００内には、パリティグループ３３００とパリティグループ４１２０が定義されている。
パリティグループ３３００内にはボリューム２３１０とボリューム３３１０が定義されており、またパリティグループ４１２０内にはボリューム４１２２が定義されている。
さらに記憶装置２３００内のメモリ４５２０には、前記装置内の各パリティグループ及びボリュームの性能情報である性能情報４１６２と、前記性能情報を管理する性能情報管理部４１６０が存在する。
また、前記通信装置４０３０から、通信路２６００を通して、データ及び性能情報４０４２の一部もしくは全てを受信する通信装置４１３０が存在する。
また、前記メモリ４５２０には前記記憶装置２３００内のボリューム及びパリティグループに関する構成情報４１７２と、前記構成情報４１７２を管理する構成情報管理部４１７０が存在する。
また、前記メモリ４５２０には、前記通信装置４１３０と前記性能情報管理部４１６０から、記憶装置２２００及び記憶装置２３００内の各パリティグループ及びボリュームの性能情報を取得し、コピー先ボリュームの性能調整が必要かどうかを判断し、必要であれば性能調整を行なう性能調整部４１４０と、前記性能調整部の要求に従い記憶装置２３００内の構成情報４１７２を変更する構成変更部４１５０が存在する。
前記性能調整部４１４０と前記性能情報管理部４１６０は、性能調整プログラム内にあり、前記構成変更部４１５０と構成情報管理部４１７０は、装置管理プログラム内にある。なお、４５３０はバス、４５４０はＣＰＵである。
【００１６】
本実施例では、リモートコピー機能により、ボリューム２２１０からボリューム２３１０にデータがコピーされるように、前記２つのボリュームは関連づけられている。
また、前記リモートコピーが行われるというボリューム間の関連づけが解消された後のボリューム２３１０の性能が、前記コピーが行われる関係が成立している間のボリューム２２１０の性能を下回ると予測される場合は、フェイルオーバ後にシステム全体の性能低下が発生するとみなし、ボリューム２３１０の性能調整が必要であるとする。
前記性能調整が必要であると判断した場合、前記ボリューム２３１０とパリティグループを共有しているボリュームである、ボリューム３３１０を、記憶装置２３００内の他のパリティグループ、パリティグループ４１２０に移動する。
【００１７】
本実施例では、前記性能情報管理部４０４０及び性能情報管理部４１６０は、常に、前記性能情報管理部が存在する記憶装置内の全ボリュームの、１分毎の性能情報を収集するものとする。
ただし、前記性能情報を収集する単位は、１分には限らず、他の時間でもよい。
また、常に性能情報を収集する必要はなく、１時間毎に、１分間分の性能情報を収集してもよい。
前記性能調整契機検出部４０６０が発行する前記構成変更通知は、記憶装置２２００内の構成情報４０５２が変更されたことを示す信号である。
前記構成情報４０５２が変更される契機には、前記従来の技術の項で述べた、ボリューム再配置による性能最適化機能によりボリューム再配置を行なった場合や、前記記憶装置内のキャッシュメモリにボリュームに含まれるデータを常駐させる機能を使用した場合、記憶装置２２００内に新たなボリュームやパリティグループが生成された、もしくは既存のボリュームやパリティグループが削除された場合等でもよい。
【００１８】
図４における通信装置４０３０の処理の流れを、図５に示す。
開始（ステップ５０００）後、ステップ５００２で、性能情報を通信装置４１３０に送付する機会を決定するためのカウンタを０に初期化する等の、内部データの初期化を行なう。
次にステップ５００４で、ボリューム２２１０からボリューム２３１０にコピーすべきデータ、もしくは前記性能調整契機検出部４０６０が発行する構成変更通知が発生するまで待つ。
前記ステップ５００４で待った結果、コピーすべきデータが存在すると（ステップ５００５）、ステップ５００６で前記データを受け取る。
その後、ステップ５００８で、通信装置４１３０に対して、データ受信要求を送った後、続けてステップ５０１０で、前記ステップ５００６で取得したデータを送信する。
そして、ステップ５０１２で前記カウンタを１加算し、ステップ５０１４で、前記ステップ５０１２の結果、前記カウンタが２５６になれば、ステップ５０１６を続けて処理し、前記カウンタが２５６でなければステップ５００４に戻り処理を継続する。
前記ステップ５０１４で前記カウンタが２５６になった場合、もしくは前記ステップ５００５でコピーすべきデータがない場合、ステップ５０１６で前記カウンタを０に初期化し、ステップ５０１８で、性能情報管理部４０４０から性能情報４０４２の一部もしくは全てを取得し、ステップ５０２０で、通信装置４１３０に対して、性能情報受信要求を送り、続けてステップ５０２２で、前記ステップ５０１８で取得した性能情報を送る。
なお、前記ステップ５０１８で取得する性能情報については後述する。
【００１９】
図４における通信装置４１３０の処理の流れを、図６に示す。
処理開始（ステップ６０００）後、ステップ６００２で内部データを初期化した後、ステップ６００４で、図４における通信装置４０３０から送られてくる、データ受信要求もしくは性能情報受信要求を待つ。
前記いずれかの要求がくると、ステップ６００６で前記要求を受信する。
そしてステップ６００８で、前記受信した要求がデータ受信要求かどうかを判断する。
前記受信した要求がデータ受信要求であれば、ステップ６０１０で、通信装置４０３０から続けて送られてくるデータを受信する。
そしてステップ６０１２で、前記受信したデータを、前記データのコピー先であるボリューム２３１０に書き込む。
前記ステップ６００８におけるデータ受信要求かどうかの判断が、データ受信要求でないと判断されれば、前記通信装置４０３０から次に送られてくるデータは性能情報とみなして、ステップ６０１４で性能情報を受信する。
その後、ステップ６０１６で、前記ステップ６０１４で受信した性能情報を、性能調整部４１４０に転送する。
前記ステップ６０１２もしくは前記ステップ６０１６の処理が終了すると、再びステップ６００４に戻り処理を継続する。
【００２０】
図７に、図４における性能調整部４１４０の処理の流れを示す。
処理開始（ステップ７０００）後、ステップ７００２で内部データの初期化を行なう。
そしてステップ７００４で、前記通信装置４１３０から（ステップ６０１６で）転送されてくるデータを待つ。
前記データが転送されてくると、ステップ７００６で、前記データを受信し、続けてステップ７００８で、性能情報管理部４１６０から、性能情報４１６２の一部もしくは全てを取得する。
次にステップ７０１０で、前記ステップ７００８で取得した性能情報と前記ステップ７００６で取得した性能情報を比較し、この時点でフェイルオーバをしたと仮定して、フェイルオーバ後のボリューム２３１０（コピー先ボリューム）の性能が、フェイルオーバ前のボリューム２２１０（コピー元ボリューム）の性能以上かどうかを判断する。
ここで、前記ステップ７００８で取得する性能情報及び前記ステップ７０１０における性能比較方式については、後述する。
【００２１】
前記ステップ７０１０の判断の結果、フェイルオーバ後のコピー先ボリューム２３１０の性能が、フェイルオーバ前のコピー元ボリューム２２１０の性能以上であればステップ７００４に戻り処理を継続し、その他の場合は、ステップ７０１２から処理を継続する。
ステップ７０１２では、コピー先ボリュームと同じパリティグループ上に定義されているボリュームの一覧を、構成情報管理部４１７０から取得する。
本実施例では、ボリューム２３１０と同じパリティグループ３３００上に定義されているボリュームである、ボリューム３３１０が該当する。
ステップ７０１２の後、ステップ７０１４で、前記ボリュームの一覧のうち、ステップ７０１８を処理していないボリュームがあるかどうかを判断し、ステップ７０１２の後ステップ７０１８を処理していないボリュームがなければ、コピー先ボリュームと同じパリティグループ上に定義されているボリュームを可能な限り他のパリティグループに移動しても、フェイルオーバ後のコピー先ボリュームの性能はフェイルオーバ前のコピー元ボリュームの性能以上にすることはできないものと判断して、ステップ７０１６でシステム管理者に電子メイルを送って警告する。
なお前記警告の方法は電子メイルに限らず、管理画面にメッセージを表示したり、音で警告したりしてもよい。
【００２２】
前記ステップ７０１４で、ステップ７０１２の後、ステップ７０１８を処理していないボリュームが存在すれば、ステップ７０１８で、前記ステップ７０１２の後、ステップ７０１８を処理していないボリュームのうち１つを選択する。
そしてステップ７０２０で、前記選択したボリュームが移動可能なパリティグループを探索する。
そしてステップ７０２２で、前記探索の結果、前記選択したボリュームの移動先パリティグループが見つかったと判断すれば、ステップ７０２４で、構成変更部４１５０を使用して前記選択したボリュームを前記探索結果の移動先パリティグループに移動し、ステップ７００８に戻り処理を継続する。
前記ステップ７０２０の探索の結果、前記選択したボリュームの移動先が見つからなければ、ステップ７０１４に戻り処理を継続する。
【００２３】
図８に、前記ステップ７０２０の処理の流れを示す。
処理を開始（ステップ８０００）すると、ステップ８００２で、指定された調査対象のボリュームが定義されているパリティグループとは別のパリティグループの一覧を取得する。
その後、ステップ８００４で、前記取得したパリティグループの一覧のうち、ステップ８００６を処理していないパリティグループがなければ、ステップ８０１６で、指定されたボリュームの移動先は見つからなかったものとして、終了する（ステップ８０１８）。
しかしステップ８００４で、ステップ８００６を処理していないパリティグループがあれば、ステップ８００６で、前記ステップ８００６を処理していないパリティグループのうちの１つを選択する。
そしてステップ８００８で、前記選択したパリティグループに、調査対象のボリュームを移動するだけの空き領域があるかを調べ、空き領域がなければ、移動可能でないとして、ステップ８００４に戻り処理を継続する。
【００２４】
ここで、ステップ８００８で調査対象のボリュームが前記パリティグループに移動可能かを判断する方法は、空き領域の有無に限らず、調査対象のボリュームが存在するパリティグループと前記選択したパリティグループの、任意の属性（例：パリティグループを構成する物理ディスクの台数や冗長性の持たせ方）が一致するか、もしくは移動対象ボリュームの属性が特定の値かどうか（例：移動対象ボリュームがリモートコピー先になっているか）を判断基準にしてもよい。
ステップ８００８で、調査対象ボリュームが前記選択したパリティグループに移動可能であると判断すると、ステップ８０１４で、前記選択したパリティグループを調査対象のボリュームの移動先として（本処理の結果として）、終了する（ステップ８０１８）。
【００２５】
図９は、本実施例において、ボリュームもしくはパリティグループの性能を評価する式である。
項９０００は、評価対象のボリュームもしくはパリティグループに対する単位時間あたりの総アクセス要求数である。
項９０１０は、調査対象のボリュームもしくはパリティグループにおいて、アクセス要求が連続して来た際に、あるアクセス要求の処理が完了してから次のアクセス要求の処理を開始するまでに必要な時間の平均である平均要求処理間隔である。
項９０２０は、調査対象のボリュームもしくはパリティグループから単位時間あたりに読み書きしたデータの総量である総転送量である。
項９０３０は、調査対象のボリュームもしくはパリティグループに、単位時間当たりに読み書き可能な平均データ量であり、仕様上の値である。
図９に示した式で評価した値は、単位時間あたりに転送機能（データ転送及びその準備、後処理）を使用している時間の割合を示し、この値が大きい程、当該ボリュームの負荷が高いといえる。
【００２６】
図１０に、性能情報４０４２の例を示す。
前記の通り、図１０は記憶装置２２００内のボリューム及びパリティグループの性能情報を示す。
行１０１００は、各列の内容を示すラベルであり、なくてもよい。
行１０１１０、行１０１２０、行１０１３０はそれぞれボリュームの性能情報を、また行１０１４０、行１０１５０は、それぞれパリティグループの性能情報を示し、いずれも１行１エントリからなる。
列１００００は、当該エントリのボリューム名もしくはパリティグループ名を示す。
列１００１０は、当該エントリが示すボリュームもしくはパリティグループに対する単位時間当たりの総アクセス要求数を示し、図９の式における項９０００で使用する値である。
列１００２０は、当該エントリが示すボリュームもしくはパリティグループにおける平均要求処理間隔である。
前記平均要求処理間隔とは、アクセス要求が連続して来た際に、ある要求の処理が完了してから次の要求の処理を開始するまでに必要な時間の平均である。
前記列１００２０の値は、図９の式における項９０１０で使用する。
列１００３０は、当該エントリが示すボリュームもしくはパリティグループに対する単位時間当たりの総転送量を示す。
ここで総転送量とは、読み出したデータと書き込んだデータの総量である。
前記列１００３０の値は、図９の式における項９０２０で使用する値である。
列１００４０は、当該エントリが示すボリュームもしくはパリティグループにおける平均データ量である。
前記平均データ量は、本実施例では当該機器における仕様上の値である。
ただし前記平均データ量は、過去のログから算出した平均値でもよい。
前記列１００４０が示す値は、図９の式における項９０３０で使用する値である。
図１０では、性能情報４０４２の例を示したが、性能情報４１６２についても同形式の表を使用する。
【００２７】
図１１に、構成情報４０５２の例を示す。
図１１の表は、前記記憶装置２２００内に定義されているパリティグループと、前記パリティグループ内に定義されているボリュームもしくは未定義領域の容量及び名称を示す。
列１１０００は、前記パリティグループの名称を示し、列１１０２０は前記パリティグループ内に定義されているボリュームの名称もしくは空き領域を示す。
前記１１０２０が“（未定義）”である行は、前記行に対応する列１１０００のパリティグループの空き容量を示し、それ以外はボリュームの名称を示す。
列１１０１０は、前記列１１０２０で指定されたボリュームもしくは空き領域の容量を示す。
行１１１００は、各列に示した項目の内容を示し、なくてもよい。
行１１１１０、行１１１２０は、それぞれ列１１０００で示したパリティグループ３４００内に定義されているボリュームを示し、行１１１３０は前記パリティグループ３４００の空き容量を示す。
同様に行１１１４０、行１１１５０は、それぞれ列１１０００で示したパリティグループ４０２０に定義されたボリューム、及び空き領域と容量を示す。
図１１では、構成情報４０５２の例を示したが、構成情報４１７２についても同形式の表を使用する。
【００２８】
本実施例における性能情報とは、全て図９において述べた、ボリュームもしくはパリティグループの性能を評価する式の計算結果（以下性能値と呼ぶ）である。
ステップ５０１８で、通信装置４０３０が性能情報管理部４０４０から取得する、リモートコピーのコピー元ボリューム２２１０の性能情報とは、コピー元ボリュームが属するパリティグループ３４００の上に定義されているボリュームのうち、コピー元ボリューム以外のボリューム、すなわちボリューム４０１４の、性能値（前記ボリュームが複数存在する場合はそれらの和を計算する。以下本実施例では第一の性能値とする）である。
前記性能値の和が小さければ小さい程、コピー元ボリュームに対する他ボリュームの負荷の影響は小さいため、コピー元ボリュームの性能は高いものとする。
ステップ７００８で、性能調整部４１４０が性能情報管理部４１６０から取得する、リモートコピーのコピー先ボリュームの性能情報とは、コピー先ボリューム２３１０が属するパリティグループ３３００の上に定義されているボリュームのうち、コピー先ボリューム以外のボリューム、すなわちボリューム３３１０の、性能値（前記ボリュームが複数存在する場合はそれらの和を計算する。以下本実施例では第二の性能値とする）である。
ステップ７０１０において、フェイルオーバ後のコピー先ボリュームの性能がフェイルオーバ前のコピー元ボリュームの性能以上かどうかを判断する際には、前記第二の性能値が前記第一の性能値未満かどうかを判断する。
【００２９】
本実施例における性能調整部４１４０の処理の流れ、すなわち図７に示した処理の流れでは、前記第二の性能値は、ステップ７００８で毎回性能情報管理部４１６０から取得しているが、ステップ７００８を一度目に処理する際に、前記第二の性能値ではなく個々のボリュームの性能値を取得し、前記個々のボリュームの性能値の和を前記第二の性能値とするとともに、ステップ７０２４で移動したボリュームの性能値を前記第二の性能値から減算することで、ステップ７００８を二度目以降に実行する際の性能情報管理部４１６０に対する第二の性能値の問い合わせをなくしてもよい。
【００３０】
本実施例における性能調整部４１４０の処理の流れ、すなわち図７に示した処理の流れでは、コピー先ボリュームと同じパリティグループ上のボリュームを移動可能ならば１つ移動してから、ステップ７０１０で性能値の比較を再度行なって別のボリュームを移動するかどうかを決めているが、前記ステップ７０２４でボリュームを移動する前に、どのボリュームを移動すれば前記ステップ７０１０の条件が真になるかを全て調べてからまとめて移動してもよい。
この場合、前記ステップ７０１０の条件が真になるボリューム一覧が見つからなければ、ボリュームを１つも移動しなくてよい。
またボリューム移動に関し、ステップ７０１２でボリューム一覧を取得した後、負荷の重い順に整列しておき、ステップ７０１４を、前記整列した負荷の重いボリュームの順に処理することで移動するボリューム数を減らすことが可能になる。
【００３１】
図８に示した処理の流れにおけるステップ８００８において、調査対象のボリュームが、他のスナップショットもしくはリモートコピーのコピー元ボリュームもしくはコピー先ボリュームである場合、移動可能でないと判断してもよい。
同様に、図７に示した処理の流れにおけるステップ７０１２において、ボリューム一覧を取得する際、スナップショットもしくはリモートコピーのコピー元ボリュームもしくはコピー先ボリュームであるボリュームや、特定の属性を持つボリューム（例：キャッシュ常駐機能が有効なボリューム）は、前記ボリューム一覧に含めない、もしくは一覧の前または後の方にくるように整列してもよい。
本実施例では、前記性能調整契機検出部４０６０は構成情報４０５２が変更されると、常に構成変更通知を通信装置４０３０に送信していたが、予め指定されたボリュームや、他ボリュームとリモートコピー機能を使用してデータコピーを行っているボリュームが定義されているパリティグループ上のボリュームに関する定義が変更された場合のみ、前記構成変更通知を送信してもよい。
【００３２】
次に第２の実施例として、同一記憶装置内に定義されているボリュームの間でスナップショット機能によりボリューム間コピーが行われているコンピュータシステムにおいて、１時間毎に、コピー先ボリュームのフェイルオーバ後の性能がコピー元ボリュームのフェイルオーバ前の性能よりも悪くなる可能性を調べ、前記可能性があれば、コピー先ボリュームと同一パリティグループ上に定義されているボリュームを他のパリティグループに移動する実施例を示す。
【００３３】
図１２に、本実施例のシステム構成図を示す。
計算機１２０００、計算機１２１００は、それぞれ通信機器１２２００及び通信機器１２３００に接続されており、前記通信機器１２２００及び前記通信機器１２３００は、それぞれ記憶装置１２４００内の、通信部１２４４０及び通信部１２４５０に接続されている。
記憶装置１２４００内には、パリティグループ１２４１０、パリティグループ１２４２０、及びパリティグループ１２４３０が定義されており、パリティグループ１２４１０内にはボリューム１２４１５が、またパリティグループ１２４２０内にはパリティグループ１２４２５が定義されている。
【００３４】
図１３に、本実施例における、前記記憶装置１２４００内のブロック構成図を示す。
記憶装置１２４００内には、パリティグループ１２４１０、パリティグループ１２４２０、パリティグループ１２４３０が定義されており、さらにパリティグループ１２４１０内にはボリューム１２４１５が、またパリティグループ１２４２０内にはボリューム１２４２５が定義されている。
また、メモリ１３９００には、前記パリティグループ１２４１０、パリティグループ１２４２０、パリティグループ１２４３０内に定義されているボリューム及びパリティグループに関する性能情報１３２１０と、前記性能情報１３２１０を管理する性能情報管理部１３２００が存在する。
さらに、前記メモリ１３９００には、前記記憶装置１２４００内のパリティグループ間のボリューム移動やボリュームに割り当てられたキャッシュ容量の変更、ボリュームやパリティグループに対する処理優先度を制御する機能を持つ構成変更部１３３００が存在する。
さらに、前記記憶装置１２４００内には、指定した時間毎に性能調整部に対して時刻到達を通知することが可能な、タイマ１３７００が存在する。
また、前記メモリ１３９００には、前記記憶装置１２４００内のボリューム及びパリティグループに関する構成情報１３４１０と、前記構成情報１３４１０を管理する構成情報管理部１３４００が存在する。
そして、前記メモリ１３９００には、前記性能情報管理部１３２００、前記構成変更部１３３００、構成情報管理部１３４００、及びタイマ１３７００を使用して、記憶装置１２４００内の、スナップショット機能を使用中の全てのボリュームについて、コピー先ボリュームの性能をコピー元ボリュームの性能以上になるように構成情報１３４１０を変更する、性能調整部１３１００が存在する。
前記性能調整部１３１００と前記性能情報管理部１３２００は、性能調整プログラム内にあり、前記構成変更部１３３００と構成情報管理部１３４００は、装置管理プログラム内にある。
また、１３９５０はバス、１３９００はＣＰＵである。
なお、性能情報１３２１０は、図１０に示した表と同形式の表を使用する。
また構成情報１３４１０は、図１１に示した表と同形式の表を使用する。
【００３５】
図１４に、図１３における前記性能調整部１３１００の処理の流れを示す。
処理開始（ステップ１４０００）後、ステップ１４０１０で、内部データ及びタイマ１３７００の初期化を行なう。
次にステップ１４０２０で、タイマ１３７００を使用して、１時間経過するまで待機する。
ステップ１４０２０が終了すると、ステップ１４０３０で、性能情報管理部１３２００からコピー元ボリュームと同じパリティグループ上の、コピー元ボリューム以外のボリュームの、性能値の和（以下本実施例では第一の性能値とする）を性能情報として取得する。
なお本実施例では、前記性能値とは、図９の式を当該ボリュームに関して評価した結果の値である。
同様にステップ１４０４０で、前記前記性能情報管理部１３２００から、コピー先ボリュームと同じパリティグループ上の、コピー先ボリューム以外のボリュームの、性能値の和（以下本実施例では第二の性能値とする）を性能情報として取得する。
【００３６】
次に、ステップ１４０５０で、フェイルオーバ後のコピー先ボリュームの性能が、フェイルオーバ前のコピー元ボリュームの性能かどうかを判断する。
前記判断は、実際には前記第二の性能値が前記第一の性能値以上かどうかを判断する。
前記ステップ１４０５０で、前記第二の性能値が前記第一の性能値以上であれば、ステップ１４０２０に戻り処理を継続する。
しかし前記第二の性能値が前記第一の性能値未満であれば、ステップ１４０６０で、前記コピー先ボリュームと同じパリティグループ上に定義されているボリュームの一覧を取得する。
そしてステップ１４０７０で、前記パリティグループの一覧のうち、ステップ１４０６０を処理した後、ステップ１４０９０を実行していないボリュームがあるかどうかを判断し、前記ボリュームがなければステップ１４０８０にて管理者に警告してからステップ１４０２０に戻り処理を行なう。
ここでステップ１４０８０の処理は、ステップ７０１６（図７参照）と同様とする。
【００３７】
一方、前記ステップ１４０７０で、前記ステップ１４０６０を処理した後、ステップ１４０９０を実行していないボリュームがあれば、ステップ１４０９０で前記ボリュームのうちの１つを選択する。
そしてステップ１４１００で、前記ステップ１４０９０で選択したボリュームが移動可能な先を探索する。
前記ステップ１４０９０の処理は、前記ステップ７０２０と同様とする。
そしてステップ１４１１０で、前記ステップ１４１００の結果が空であればステップ１４０７０に戻り処理を継続する。
また、前記ステップ１４１１０で、前記ステップ１４１００の結果が空でないと判断すれば、ステップ１４１２０で、構成変更部１３３００を使用して、前記選択したボリュームを前記探索結果のパリティグループに移動し、ステップ１４０４０に戻り処理を継続する。
なお、ステップ１４１００で選択したボリュームの移動先を探索する際、スナップショットのコピー元ボリュームが定義されているパリティグループは、移動先として探索するパリティグループから除く。
前記ステップ１４０２０において待機する時間は固定時間である必要はなく、前記ステップ１４０６０もしくは前記ステップ１４１２０が実行されたかどうかにより待機時間を増減してもよい。
【００３８】
次に第３の実施例として、スナップショット機能を利用してボリュームのコピーを作成する際に、コピー元ボリュームを指定すると、前記コピー元ボリュームよりもコピー中の性能が高いコピー先ボリュームを定義可能な（本実施例では、以下第一の条件とする）パリティグループの一覧を取得する機能を持つ記憶装置の例を示す。
なお本実施例におけるシステム構成は図３と同様とする。
本実施例の記憶装置内のブロック構成を図１５に示す。
記憶装置１５０００内には、パリティグループ１５６００、パリティグループ１５７００、及びパリティグループ１５８００が定義されており、さらにパリティグループ１５６００内にはボリューム１５６５０が、またパリティグループ１５７００内にはボリューム１５７５０が定義されている。
さらに記憶装置１５０００内のメモリ１５０２０には、記憶装置１５０００内のボリューム及びパリティグループに関する構成情報１５３１０、前記構成情報１５３１０を管理する構成情報管理部１５３００、前記記憶装置１５０００内のボリューム及びパリティグループの性能情報である性能情報１５５００、前記性能情報１５５００を元に性能予測を行なうための表である性能予測表１５５５０、前記性能情報１５５００を管理し前記性能予測表１５５００を使用して性能予測を行なう性能情報管理部１５４００が存在する。
ここで、性能情報１５５００には、各ボリューム及びパリティグループの単位時間あたりの総要求数が記憶されている。
さらに前記記憶装置１５０００内には、前記記憶装置１５０００を使用する計算機から、前記第一の条件を満たすパリティグループの一覧の取得要求を受け取るとともに前記要求の処理結果を返す通信装置１５９００が存在し、前記メモリ１５０２０には、前記要求を処理する要求処理部１５１００が存在する。
前記要求処理部１５１００と性能情報管理部１５４００はボリューム探索プログラム１５１２０内にあり、構成情報管理部１５３００は装置管理プログラム１５１４０内にある。
また、１５０４０はＣＰＵ、１５０６０は入力装置、１５０８０は出力装置、１５０９０はバスである。
なお、性能情報１５５００は図１０の表、構成情報１５３１０は図１１の表とそれぞれ同形式の表を使用する。
【００３９】
本実施例における要求処理部１５１００の処理の流れを図１６に示す。
処理開始（ステップ１６０００）後、ステップ１６０１０で内部変数を初期化する。
そしてステップ１６０２０で、記憶装置１５０００を利用している計算機からの前記第一の条件を満たすパリティグループ一覧取得要求を待つ。
そして前記要求が来ると、ステップ１６０３０で前記要求を通信部１５９００から受け取り、ステップ１６０４０で、結果として返すパリティグループ一覧を初期化する（空にする）。
次にステップ１６０５０で、前記要求と共に指定されたコピー元ボリュームが定義されているパリティグループ上に定義されている、全ボリュームの一覧と、前記ボリュームの一覧に含まれる各ボリュームの性能情報をそれぞれ構成情報管理部１５３００、性能情報管理部１５４００から取得する。
ここで、前記性能情報管理部１５４００から取得する性能情報は、前記性能情報１５５００と性能予測表１５５５０を使用して予測した値（本実施例では以下性能値とする）である（予測方法は後述する）。
【００４０】
次にステップ１６０６０で、コピー先パリティグループを探索する、記憶装置１５０００内のパリティグループの一覧を、構成情報管理部１５３００から取得する。
なお、前記一覧には、コピー元ボリュームが定義されているパリティグループは含まない。
その後、ステップ１６０７０で、前記ステップ１６０６０で取得したパリティグループの一覧のうち、ステップ１６０９０を処理していないパリティグループがあるかどうかを調べ、前記パリティグループがなければ、ステップ１６０８０で、通信部１５９００を使用して、当該時点のコピー先パリティグループ一覧を結果として返し、ステップ１６０２０に戻って処理を継続する。
【００４１】
一方、前記ステップ１６０７０の結果、前記ステップ１６０９０を処理していないパリティグループが存在すれば、ステップ１６０９０で前記パリティグループから１つ選択し、ステップ１６１００で、前記パリティグループ上に指定された前記コピー元ボリュームに対応するコピー先ボリュームが定義可能かを調べる。
本実施例では、コピー先ボリュームが定義可能かというのは、コピー元ボリュームと同じ容量のボリュームが定義可能かにより決定するものとする。
なお、前記ステップ１６１００で定義可能かを調べるには、ボリュームを定義する空き領域があるかを調べるだけでなく、ステップ８００８と同様に、前記コピー元ボリュームが存在するパリティグループと、前記コピー先ボリュームが存在するパリティグループの任意の属性を比較してもよい。
ステップ１６１００で、前記コピー先ボリュームにコピー先ボリュームが定義可能でなければ、ステップ１６０７０に戻り処理を継続する。
またステップ１６０１００で、前記コピー先ボリュームが定義可能であれば、ステップ１６１１０で、前記選択したパリティグループの性能情報を、前記性能情報管理部１５４００から取得する。
ここで前記性能情報とは、前記選択したパリティグループに対して、前記図９の式を評価した結果である。
【００４２】
次にステップ１６１２０で、前記ステップ１６０５０と前記ステップ１６１１０で取得した値から、前記選択したパリティグループにコピー先ボリュームを定義した際、コピー元ボリュームよりもよい性能が達成できるかを調べる。
このとき、前記ステップ１６０５０で取得した性能値が、前記ステップ１６１１０で取得した性能値よりも大きければ、コピー元ボリュームよりもコピー先ボリュームの方が性能がよいとする。
前記ステップ１６１２０で、前記選択したパリティグループ上にコピー先ボリュームを作成してもコピー元ボリュームよりも性能はよくならないと判断すれば、ステップ１６０７０に戻り処理を継続する。
一方、前記ステップ１６１２０で、前記選択したパリティグループ上にコピー先ボリュームを作成するとコピー先ボリューム以上の性能が達成できると判断すれば、ステップ１６１３０で、前記選択したパリティグループを、結果の前記第一の条件を満たすパリティグループ一覧に追加し、ステップ１６０７０に戻って処理を継続する。
【００４３】
図２２に、コピー先パリティグループの探索結果を表示する画面の例を示す。
図２２は、実施例３の探索結果を表示した表示例であり、指定したボリューム１をコピー元とすると、コピー中の性能がコピー元以上であるコピー先ボリューム２が作成可能なパリティグループを探索した結果を表示したものである。
管理者はこの画面を見ることにより前記コピー先ボリューム２の作成先を選択することができる。
なお、実施例３のようなコピー中だけでなく、フェイルオーバ後の性能についても、フェイルオーバ前のコピー元ボリューム以上にするように探索した場合も同様の画面が使える。
図において、
２２０００は画面の例、
２２１００はコピー元ボリュームの総容量、
２２１１０はコピー元ボリュームの現在の性能（レスポンスタイム、以下同様）、
２２２００〜２２２６０はパリティグループの情報、
２２３００はパリティグループ名、
２２３２０はパリティグループのボリューム未割り当て領域の総容量、
２２３４０はパリティグループ上のボリュームの現在の性能、
２２３６０は当該パリティグループ上にボリューム２を定義し、ボリューム１に書いたデータをボリューム２にも書くようにしたときのボリューム２予測性能、
２２３８０はフェイルオーバがおき、ボリューム１を使って行っていた業務を、当該パリティグループ上に定義したボリューム２で行うようにしたときのボリューム２の予測性能、
である。
以下に、管理者がコピー先を選ぶ基準の例を示す。
コピー中の予測性能はコピー元ボリュームの現在の性能より少し早いものが望ましい。これは、必要以上に早いボリュームを割り当てないようにするためである。
また、予測値に誤差があると考えられ、同じ値ではなくすこし早い方が安全である。
さらにフェイルオーバ後の性能の低下を避けたければ、列２２３８０の値がコピー元ボリュームの現在の性能以上（値は小さい）のものを探す。そして、今後のボリューム割り当て計画を考慮し、列２２３２０の空き容量をみて、ボリューム２を定義するパリティグループを選択する（例えば、できる限りコピー元ボリュームの容量に近い空き領域を持つ記憶領域から割り当てる等）。
【００４４】
図１７に、性能予測表１５５５０の例を示す。
本性能予測表は、あるボリュームの性能を予測するための表である。
列１７０００は、前記ボリュームが定義されているパリティグループ上の全てのボリュームに対する単位時間あたりの総要求数の和を示しており、列１７０１０は、前記列１７０００における、予測アクセス時間を示している。
行１７１００は、各列で示した値のラベルであり、なくてもよい。
行１７１１０、行１７１２０、行１７１３０、行１７１４０は、それぞれの総要求数の範囲と、そのときの予測アクセス時間の組を示している。
ここで列１７０１０では、固定値を使用しているが、予測アクセス時間を計算する関数へのポインタでもよいし、前記関数に付与された関数番号でもよい。
前記予測アクセス時間を計算する関数には、列１７０００の値を使用してもよい。
性能情報管理部１５４００が、ステップ１６０５０およびステップ１６１１０で提供する性能情報は、前記図１７に示した表から求めた値である。
【００４５】
ステップ１６０５０では、コピー元ボリュームと同一パリティグループ上の全ボリュームの、単位時間あたりの要求数の和を基に、前記図１７の表を引き、予測アクセス時間を求める（本実施例では第一の予測値とする）。
そしてステップ１６１１０では、選択したパリティグループ上の全ボリュームの、単位時間あたりの要求数の和から、前記図１７の表を引き、予測アクセス時間を求める（本実施例では第二の予測値とする）。
そして、ステップ１６１２０では、前記第一の予測値よりも前記第二の予測値の方が小さければ、前記選択したパリティグループ上にコピー先ボリュームを定義すると、コピー元ボリューム以上の性能が達成できると判断する。
【００４６】
本実施例において、要求処理部１５１００で行なう処理は、記憶装置１５０００内ではなく、前記記憶装置１５０００外の計算機上で行なってもよい。
このとき前記計算機では、通信部１５９００を通して前記構成情報１５３１０、性能情報１５５００を取得し、前記第一の条件を満たすパリティグループ一覧を作成する。
前記要求処理部１５１００の処理をホスト側で行なうことで、単一記憶装置内のボリュームコピーであるスナップショットだけではなく、異なる記憶装置間のリモートコピーのコピー先ボリュームを定義するパリティグループの探索を行なってもよい。
また、２台以上の記憶装置から前記第一の条件を満たすパリティグループの一覧を探してもよい。
本実施例では、第一の条件を満たすパリティグループのみを探索したが、パリティグループが定義されていない物理ディスクのうち、第一の条件を満たすパリティグループが定義可能な領域を探索してもよい。
【００４７】
第４の実施例として、スナップショット機能を使用したボリューム間コピー開始時に、コピー中にコピー先ボリュームの性能がコピー元ボリュームの性能を下回る可能性の有無を調べ、前記可能性があれば、前記コピー先ボリュームと同じパリティグループ上に定義されている、前記コピー先ボリューム以外のボリュームを、他のパリティグループに移動することで、前記可能性を無くしてから、コピー元ボリュームのデータをコピー先ボリュームにコピーする。かつコピー元ボリュームに書かれたデータをコピー先ボリュームにも書き込むという、コピー元ボリュームとコピー先ボリュームの関連づけを行い、スナップショット機能によるコピー処理を開始する例を示す。
ただし前記可能性がなくせなければ、コピー処理を開始せずに異常終了する。ただし前記可能性の有無は、予測した値から判断するものとする。なお本実施例におけるシステム構成は図３と同様とする。
【００４８】
本実施例の記憶装置２２００内のブロック構成を図１８に示す。
記憶装置１８０００内には、パリティグループ１８１００、パリティグループ１８２００、パリティグループ１８３００が定義されており、さらにパリティグループ１８１００内にはボリューム１８１５０が、またパリティグループ１８２００内にはボリューム１８２５０が定義されている。
また、前記記憶装置１８０００内のメモリ１８９９０には、前記記憶装置１８０００内のボリューム及びパリティグループに関する構成情報である構成情報１８９１０と前記構成情報１８９１０を管理する構成情報管理部１８９００、さらに前記記憶装置１８０００内のボリューム及びパリティグループに関する性能情報である性能情報１８８２０と前記性能情報１８８２０を管理する性能情報管理部１８８００が存在する。
また、前記メモリ１８９９０には、前記構成情報１８９１０を変更する構成変更部１８７００、前記記憶装置１８０００内のスナップショットを制御するスナップショット制御部１８５００、そして指定された２つのボリューム間で、スナップショット機能を利用したコピーを開始する要求を受け取り、コピー先ボリュームがコピー元ボリュームよりも性能が悪ければ性能調整を行なうと共に、前記性能調整の結果前記コピー先ボリュームの性能が前記コピー元ボリュームの性能以上になれば、前記スナップショット処理部１８５００を使用して前記要求されたスナップショットを開始し、前記性能調整の結果前記コピー先ボリュームの性能が前記コピー元ボリュームの性能以上にならなければ前記要求を異常終了する、制御部１８４００が存在する。
また、前記記憶装置１８０００内には、前記記憶装置１８０００外の計算機や通信機器と通信を行なう通信部１８４００が存在する。
前記制御部１８４００と性能情報管理部１８８００とスナップショット制御部１８５００は、スナップショットプログラム内にあり、構成変更部１８７００と構成情報管理部１８９００は、装置管理プログラム内にある。
また、１８９５０はＣＰＵ、１８９８０はバスである。
なお、性能情報１８８２０、構成情報１８９１０は、それぞれ図１０の表、図１１の表と同形式の表を使用する。
【００４９】
前記制御部１８４００の処理の流れを図１９に示す。
処理開始（ステップ１９０００）後、ステップ１９０１０で内部変数の初期化を行ない、続けてステップ１９０３０でスナップショット開始要求が送られてくるのを待つ。
そして、前記要求が送られてくると、ステップ１９０４０で、通信部１８４００を使用して前記要求を受信する。
そしてステップ１９０５０で、前記構成情報管理部１８９００と前記性能情報管理部１８８００から、コピー元ボリュームが定義されているパリティグループ上に定義されている、全ボリュームの性能情報を取得する。
ここで前記性能情報とは、各ボリュームに対し図９の式を計算した結果の値である（以下本実施例では、ステップ１９０５０で取得した値を第一の性能値とする）。
次にステップ１９０６０で、コピー先ボリュームが定義されているパリティグループ上に定義されている全ボリュームの、性能情報（図９の式を評価した結果）を取得する（以下本実施例では、ステップ１９０６０で取得した値を第二の性能値とする）。
そしてステップ１９０７０で、前記コピー先ボリュームの性能が前記コピー元ボリュームの性能以上になるかを調べる。
前記ステップ１９０７０の処理は、実際には前記第二の性能値が前記第一の性能値以上かどうかを判断することで行なう。
前記第二の性能値が前記第一の性能値以上であれば、ステップ１９１００で前記要求に従い、前記コピー元ボリュームとコピー先ボリュームの関連づけを行ってスナップショット処理を開始した後、ステップ１９１６０で通信部１８４００を使用して結果を返す。
【００５０】
一方、前記第二の性能値が前記第一の性能値未満であれば、ステップ１９０８０で、前記コピー先ボリュームと同一パリティグループ上のボリュームのうち前記コピー先ボリュームを除く全てのボリュームの一覧を取得する。
次にステップ１９０９０で、前記ステップ１９０８０を処理した後にステップ１９１１０を処理していないボリュームがあるかどうかを取得し、前記ボリュームがなければ、ステップ１９１５０として結果をエラーとし、ステップ１９１６０で、通信部１８４００を使用して前記結果を前記要求元に返す。
【００５１】
一方、ステップ１９０９０で、前記ステップ１９０８０を処理した後ステップ１９１１０を処理していないボリュームがあれば、ステップ１９１１０で前記ボリュームのうちの１つを選択し、ステップ１９１２０で前記ボリュームを移動する先が存在するかどうかを探索する。
なお前記ステップ１９１２０の処理は、前記ステップ７０２０（図７参照）と同様であるとする。
次のステップ１９１３０では、前記ステップ１９１２０の結果が空でないかどうかを調べ、空であれば前記ステップ１９０９０に戻り処理を継続する。
一方、前記結果が空でなければ、ステップ１９１４０で、前記構成変更部１８７００を使用して、前記ボリュームを前記探索した結果のパリティグループに移動し、ステップ１９０６０に戻り処理を継続する。
【００５２】
本実施例では、コピー元ボリュームの性能に比べてコピー先ボリュームの性能が低ければ、コピー先ボリュームを他のパリティグループに移動する方式を示したが、コピー先ボリュームと同一パリティグループ上に定義されているコピー先ボリューム以外のボリュームを移動してもよい。
また、コピー先ボリュームを移動する方法と、コピー先ボリュームと同一パリティグループ上に定義されているコピー先ボリューム以外のボリュームを移動する方法を組み合わせてもよい。
【００５３】
第５の実施例として、コピー先ボリュームの性能調整を、フェイルオーバ後に行なう例を示す。
本実施例では、コピー先ボリュームの性能情報を、コピー元ボリュームが定義されている記憶装置内の構成が変更される度、及びデータコピーが２５６回行なわれる毎に最低１回、コピー先ボリュームが定義された記憶装置に転送する。
前記転送された記憶装置は、前記コピー先ボリュームが定義された記憶装置内に記憶され、フェイルオーバが発生した際に、前記記憶された性能情報を使用して、コピー先ボリュームの性能調整を行なう。
【００５４】
図２０に、本実施例の記憶装置内のブロック構成を示す。
性能調整部２０１４０、性能情報管理部２０１６０、性能情報２０１６２、及びフェイルオーバ検出部２０１１０以外は、前記実施例１の図４において説明した構成要素と同様である。
また、通信装置４０３０の処理の流れは、図５に示した方法と同様である。
さらに、通信装置４１３０の処理の流れは、ステップ６０１６における性能情報転送先が性能調整部４１４０ではなく性能情報管理部２０１６０であること以外は、図６に示した処理の流れと同様である。
なお、構成変更検出部２００２０は、構成情報管理部４０５０が管理する構成情報４０５２が変更されるまで監視し、前記変更が行なわれると、構成変更通知を通信装置４０３０に送る。
一方、性能情報管理部２０１６０は、記憶装置２３００内のボリューム及びパリティグループ、及び記憶装置２２００内のリモートコピーのコピー元であるボリューム２２１０の性能情報２０１６２を記憶している。
前記性能情報２０１６２は、図１０に示した形式の、記憶装置２３００、及び記憶装置２２００に関する性能情報を保持している。
【００５５】
フェイルオーバ検出部２０１１０は、フェイルオーバの発生を監視し、前記フェイルオーバの発生を検出すると、性能調整部２０１４０を呼び出して、ボリューム２３１０の性能調整を行なう。
性能調整部２０１４０は、構成変更部４１５０と、性能情報管理部２０１６０が保持する性能情報２０１６２を使用して、ボリューム２３１０の性能調整を行なう。
ここで、フェイルオーバ検出部２０１１０は、ボリューム２３１０へのデータ読み出し要求を監視し、前記要求がきたらフェイルオーバが発生して待機系サーバが処理をはじめたと判断して前記性能調整部２０１４０による性能調整を開始する。
なお前記フェイルオーバ検出部２０１１０がフェイルオーバの発生を監視する方法は前記方法に限らず、通信路２６００もしくは別途設けられた通信路を使用して定期的に記憶装置２２００を監視したり、ホスト側からのフェイルオーバ発生通知を待ったりしてもよい。
【００５６】
図２０における性能調整部２０１４０の処理の流れを、図２１に示す。
開始（ステップ２１０００）後、ステップ２１０１０で内部データの初期化を行なう。
次にステップ２１０２０で、フェイルオーバ検出部２０１１０から、フェイルオーバ検出通知が来るまで待つ。
その後ステップ２１０３０で、性能情報管理部２０１６０から、予め記録しておいたフェイルオーバ前のコピー元ボリューム２２１０の性能情報を取得する。
そしてステップ２１０４０で、性能情報管理部２０１６０から、コピー先ボリューム２３１０の性能情報を取得する。
そしてステップ２１０５０で、前記取得したコピー元ボリュームとコピー先ボリュームの性能情報を比較し、コピー先ボリュームの性能が、フェイルオーバ前のコピー元ボリュームの性能よりもよければ、性能調整の必要はないとみなし、処理を終了する（ステップ２１１３０）。
【００５７】
ステップ２１０５０で、コピー先ボリュームの性能が、フェイルオーバ前のコピー元ボリュームの性能に比べて低ければ、ステップ２１０６０で前記コピー先ボリュームと同一パリティグループ上の他ボリュームの一覧を取得し、ステップ２１０７０で前記一覧のうちステップ２１０９０以降を処理していないボリュームがないかを判断し、なければステップ２１０８０で、フェイルオーバ前に使用していたボリュームに比べてフェイルオーバ後に使用するボリュームは性能が低く、システム全体の性能が低下する可能性がある旨を通知する。
【００５８】
一方、前記ステップ２１０７０で前記一覧のうちステップ２１０９０を処理していないボリュームがあれば、前記ボリュームをステップ２１０９０で選択し、ステップ２１１００で、前記選択したボリュームを他パリティグループに移動できないか、移動先のパリティグループを探索する。
前記ステップ２１１００は、図８に示した方法と同様とする。
次にステップ２１１１０で、ステップ２１１００で探索した結果、前記選択したボリュームの移動先が存在するかどうかを判断し、存在すれば、ステップ２１１２０で、構成変更部４１５０を使用して前記選択したボリュームを前記探索した先のパリティグループに移動し、ステップ２１０４０に戻り処理を継続する。
一方前記ステップ２１１１０で、ステップ２１１００の結果、前記選択したボリュームの移動先パリティグループが存在しないと判断すれば、ステップ２１０７０に戻って処理を継続する。
【００５９】
第１の実施例、第２の実施例、及び第５の実施例では、記憶装置内で本発明を実装する場合について述べたが、記憶装置２２００、記憶装置２３００、もしくは記憶装置１２４００内の任意の処理部を、計算機２０００、計算機２１００、計算機３０００、通信装置２４００、通信装置２５００、通信装置３６００、計算機１２０００、計算機１２１００、通信装置１２２００、通信装置１２３００のいずれかに設けてもよい。
また、第３の実施例、第４の実施例においても、記憶装置内で本発明を実装する場合について述べたが、記憶装置１５０００、記憶装置１８０００内の任意の処理部を、記憶装置外部の計算機内や、記憶装置外部の通信装置内に設けてもよい。
第１の実施例、第２の実施例、及び第５の実施例では、記憶装置間の通信路２６００を使用して性能情報の転送を行なったが、ボリューム間データコピーに伴うデータを転送する通信路とは別に設けられた記憶装置間の通信路や、各記憶装置を利用する計算機間の通信路を使用して前記性能情報の転送を行なってもよい。
【００６０】
第１の実施例及び第５の実施例では、２５６回のデータ転送に対して最低１回の性能情報転送を行なったが、前記転送頻度は２５６回に１度に限らない。
また、通信路の負荷やコピー元ボリュームもしくはコピー先ボリュームの負荷に応じて前記データ転送を行なう頻度を変更したり、予め定義したスケジュールに従って前記頻度を変更したりしてもよい。
また、管理者が指定した際や、定期的、もしくは任意の記憶装置内（コピー元ボリュームやコピー先ボリュームが定義されている記憶装置内等）の構成変更（ボリュームやパリティグループの作成や削除、移動等）が行なわれた際に性能情報を転送してもよい。
また、第２の実施例において、性能調整部１３１００が行なう性能調整処理は、必ずしも前記の待期時間の経過を契機として行なう必要はなく、性能調整の必要性を記憶しておき、管理者に確認した後に行なったり、管理者に通知しておき、後に管理者が指定した際に行なったり、コピー元ボリュームが定義されている記憶装置内の任意の構成変更が行なわれた際に行なったりしてもよい。
例えば、コピー元ボリュームが定義されている記憶装置で、従来技術の項で述べた「ボリューム再配置による性能最適化」機能が実行され、コピー元ボリュームが定義されたパリティグループ上のボリュームになんらかの変更（ボリューム作成や削除、移動等）が加えられた場合、コピー先ボリュームの性能調整を行なってもよい。
【００６１】
第１の実施例、第２の実施例、第４の実施例、及び第５の実施例において使用した性能予測方式は、図９に示した式を計算した値であった。
しかし前記全ての実施例における性能予測方式は、読み出し要求と書き込み要求で別々に図９の式を計算して結果を求め、前記結果の和を計算して使用したり、図９に示した式とは別の式を使用したりしてもよい。
ここで、図９に示した式とは異なる式で使用する性能評価項目として、１要求あたりの平均アクセスタイムを使用してもよい。
また別の方法として、前記式を使用せずに、第３の実施例で示したように、総要求数と予測アクセスタイムの対応を表にして、前記表から予測値を求めてもよい。
前記表では、総転送量や使用している物理ディスクの仕様における転送性能により、値を変えてもよい。
さらに前記表は、過去の履歴から作成したり一定時間毎に更新したりしてもよい。
別の方法として、コピー元ボリュームの実際の性能にかかわらず、コピー先ボリュームの性能が予め定めた値以上かどうかで判断してもよい。
また、必ずしもコピー先ボリュームの性能がコピー元ボリュームの性能と同等以上である必要はなく、コピー先ボリュームの性能値がコピー元ボリュームの性能値の一定割合以上（例：８０％以上）もしくは一定範囲内（例：８０％以上１２０％以下）かどうかで判断してもよい。
また、前記いずれかの方法で求めた性能予測値を、コピー元ボリュームとコピー先ボリュームの仕様値の比により、定数倍してもよい。
なお前記ボリュームの仕様値とは、前記ボリュームが定義されているパリティグループを構成する各物理ディスクの性能仕様の平均値や前記パリティグループ内の最遅値、和等である。
【００６２】
第１の実施例、第２の実施例、及び第５の実施例で述べた性能情報の取得方法として、コピー元ボリュームもしくはコピー先ボリュームと同じパリティグループ上に性能測定用のボリュームを新たに設け、前記性能測定用のボリュームに、記憶装置内もしくは前記記憶装置を利用可能な計算機から、実際にアクセスして測定した値を使用してもよい。
前記測定用ボリュームは、新たに設けずに、既存のボリュームを利用してもよい。
図９に示した式の値を計算する場合、もしくは図１７に示した性能予測表から予測性能値を計算する場合、読み出し要求もしくは書き込み要求のどちらか一方のみを前記計算結果に含めてもよい。
また、前記読み出し要求もしくは書き込み要求が、他の記憶装置からのボリューム間コピーによるものか、もしくはそれ以外かにより、前記読み出し要求もしくは書き込み要求を、前記計算結果に含めるか含めないかを決定してもよい。
たとえば、コピー先ボリュームのフェイルオーバ後の予測値を計算する際に、前記ボリュームが定義されている全てのボリュームの読み出し要求と書き込み要求の総数から、前記ボリュームに対するボリューム間コピーによる書き込み要求の総数を引いた値と、コピー元ボリュームに対する読み込み要求及び書き込み要求の総数の和を、前記ボリュームの総要求数として、図１７に示した性能予測表を使用して計算する等である。
【００６３】
第１の実施例及び第５の実施例において、性能情報と共に、コピー元ボリュームが定義されている記憶装置内の任意の構成情報を、コピー先ボリュームが定義されている記憶装置に転送し、前記コピー先ボリュームが定義されている記憶装置の構成を、前記転送した構成情報に従い変更することで、前記コピー先ボリュームの性能を調整してもよい。
前記構成情報の例として、キャッシュ常駐機能の使用有無や、コピー元ボリュームに対する要求の処理優先度がある。
【００６４】
第１の実施例、第２の実施例、第３の実施例、第４の実施例、及び第５の実施例では、時刻が変化してもボリュームの性能は変化しないという仮定の下で処理を行なったが、時間帯毎の性能値を取得して、全ての時間帯もしくは指定した時間帯に、フェイルオーバが起きても性能が低下しないようにしたり、コピー中にコピー元ボリュームの性能よりもコピー先ボリュームの性能が悪くならないようにしたりしてもよい。
【００６５】
第１の実施例、第２の実施例、第４の実施例、及び第５の実施例では、コピー先ボリュームと同じパリティグループ上に定義されているボリュームを移動することで、フェイルオーバ後のコピー先の性能確保を行なったが、コピー先ボリューム自体を他のパリティグループに移してもよい。
また、コピー先ボリュームの性能を調整する方式として、前記ボリュームもしくは前記ボリュームと同じパリティグループ上に定義されている前記ボリューム以外のボリュームに割り当てられているキャッシュの容量を増減したり、前記ボリュームに対する処理優先度を上下したりしてもよい。
キャッシュ容量の増減やボリュームに対する処理優先度の上下等の処理を行なう場合、前記処理を行った際の予測性能の求め方として、前記処理を行なう前の性能値を一定割合で増減する方法や、過去の履歴から類似した設定を行った際の性能情報を取得する方法がある。
【００６６】
第１の実施例、第２の実施例、第４の実施例では、フェイルオーバ前後もしくはコピー中にコピー先ボリュームの性能がコピー元ボリュームより低くなる可能性があれば、ボリューム移動を行なうことでコピー先ボリュームの性能調整を行ったが、前記可能性がある際に前記性能調整は行なわずに、管理者に前記可能性がある旨を通知してもよい。
また、管理者の要求に応じて前記可能性の有無を取得する手段を、提供してもよい。
前記手段を、記憶装置や前記記憶装置を使用する計算機からなるシステムの管理ソフトウェアにおいて使用し、取得した情報をもとに、前記可能性の有無や程度（フェイルオーバ前後のシステム性能の比等）により管理ソフトウェアにおける表示方式を変えてもよい。
【００６７】
第１の実施例、第２の実施例、第４の実施例、及び第５の実施例では、コピー先ボリュームを移動することで性能調整を行なう方式を述べたが、前記従来技術の項で述べた「ボリューム再配置による性能最適化」機能を使用して前記ボリュームの性能調整を行なってもよい。
このとき、コピー元ボリュームが定義されている記憶装置からコピー先ボリュームが定義されている記憶装置に送る性能情報では、前記性能調整が必要になる構成変更が行なわれたもしくは前記性能調整を行なう契機がきた旨を知らせるために必要な情報があるのみでもよい。
前記従来の技術の項で述べた、記憶装置内のボリューム再配置による各ボリュームの性能最適化を行なう方式を本発明と併用する場合、コピー先ボリュームについては再配置を行なわない、またコピー先ボリュームが定義されているパリティグループは、前記再配置の移動先にしない、としてもよい。
【００６８】
第１の実施例及び第２の実施例では、フェイルオーバ前のコピー元ボリュームの性能とフェイルオーバ後のコピー先ボリュームの性能を比較したが、コピー中の、コピー先ボリューム、コピー元ボリュームの性能を比較し、コピー先ボリュームの性能が低ければ性能調整を行なうようにしてもよい。
同様に、第３の実施例、第４の実施例では、コピー中のコピー元ボリュームとコピー先ボリュームの性能を比較したが、フェイルオーバ前のコピー元ボリュームとフェイルオーバ後のコピー先ボリュームの性能を比較してもよい。
さらに、第１の実施例、第２の実施例、第３の実施例、及び第４の実施例において、コピー中のコピー先ボリュームがコピー元ボリュームの性能以上であるという条件と、フェイルオーバ後のコピー先ボリュームがフェイルオーバ前のコピー元ボリュームの性能以上であるという条件の、２つの条件をどちらも満たすかどうか、さらに前記２つの条件がどちらか１つでも成り立たなければ、前記２つの条件の両方が成り立つようにボリューム移動等による性能調整を行なってもよい。
【００６９】
第１の実施例、第２の実施例、第３の実施例、第４の実施例、及び第５の実施例では、コピー元ボリュームとコピー先ボリュームの数が、それぞれ１つの場合について述べた。
しかし、コピー先ボリュームが２つ以上の場合でも、本発明は適用可能である。
このとき、全てのコピー先ボリューム、指定したコピー先ボリューム、もしくは指定した数以上のコピー先ボリュームについて、コピー中もしくはフェイルオーバ後の性能が、コピー元ボリュームの性能以上になるようにする。
【００７０】
第１の実施例、第２の実施例、第４の実施例、及び第５の実施例では、１つのボリュームの組について述べたが、２つ以上のボリュームの組全てについて、コピー中もしくはフェイルオーバ後の性能が、コピー元ボリュームの性能以上になるように、コピー先ボリュームの性能調整を行なってもよい。
また前記２つ以上のボリュームの組に優先度をつけ、優先度の高いものから順に、可能な限り、コピー先ボリュームの性能調整を行なってもよい。
２つ以上のボリュームの組全てについて性能調整を行なう場合、性能予測表を使用した予測方式が使用可能である。
この場合、ある組のコピー先ボリュームの性能を予測するには、他のボリュームの組のうち、コピー先ボリュームが、前記性能予測を行なおうとするボリュームと同じパリティグループ上にある組がないかを調べ、前記組があれば、前記予測表を引く際の総要求数や総転送量を計算する際に、前記組のコピー先ボリュームの値ではなく、前記組のコピー元ボリュームの値を使用することで、フェイルオーバ後に使用するボリュームの性能予測を行なう。
【００７１】
実施例１、実施例２、及び実施例５では、記憶装置を利用する計算機が２台の場合を述べたが、前記２台の計算機が同一計算機であってもよい。
すなわち、第一のボリュームと第二のボリュームの間でボリューム間コピーを行なっているとき、１台の計算機が、第一のボリューム参照し、前記第一のボリュームに障害が発生すると、前記第二のボリュームを使用して処理を継続するシステムでも本発明は適用可能である。
このとき、前記第二のボリュームのコピー中もしくはコピー終了後の性能が、前記第一のボリュームの、コピー中の性能を下回る可能性の有無を調べ、前記可能性があれば、コピー先ボリュームの性能調整を行なう。
第６の実施例として、ボリューム甲とボリューム乙の２つのボリュームを割り当て、ボリューム甲からボリューム乙へのリモートコピー機能を利用したボリューム間コピーを開始するとともに、フェイルオーバ後のボリューム乙の性能が、フェイルオーバ前のボリューム甲の性能以下にならないかを調べ、前記可能性があれば、ボリューム乙と同じパリティグループ上に定義されているボリュームを他のパリティグループに移動し、前記可能性をなくす実施例を示す。
図２３に、本実施例のシステム構成を示す。
計算機２３０００、２３１００は、いずれも通信装置２３５００、２３６００に接続されており、通信装置２３５００、２３６００は、いずれも記憶装置２３２００、２３３００、２３４００に接続されている。
なおここで通信装置２３５００と記憶装置２３２００との間の通信路を２３９００、通信装置２３６００と記憶装置２３２００との間の通信路を２３９５０とする。また記憶装置２３２０記憶装置２３３００は通信路２３７００に接続されている。
さらに、記憶装置２３２００内にはパリティグループ２３２１０が、また記憶装置２３３００内にはパリティグループ２３３１０が、また記憶装置２３４００内にはパリティグループ２３４１０が定義されている。
また、計算機２３９００、記憶装置２３２００、２３３００、２３４００はそれぞれ通信路２３８００に接続されている。
また、システム運用開始時は、計算機２３０００でアプリケーションを実行し、前記アプリケーションは、記憶装置２３２００、２３３００、２３４００のいずれかに定義されたボリューム甲を使用して業務を行なう。
そして、前記計算機２３０００もしくはボリューム甲を定義した記憶装置に障害が発生すると、計算機２３１００で前記アプリケーションを実行し、前記アプリケーションは、前記ボリューム甲とは別の記憶装置内に定義されたボリューム乙を使用して、業務を処理する。
また計算機２３９００は、前記記憶装置２３２００、２３３００、２３４００内のボリューム構成の変更や、ペアボリューム構成の変更を行なう。
図２４に、計算機２３９００内の構成を示す。
ＣＰＵ２４０００、入力装置２４１００、出力装置２４２００、通信装置２４３００、およびメモリ２４４００は通信路２４５００で接続されている。また通信装置２４３００は、通信路２３８００に接続されている。
メモリ２４４００内には、ペアボリューム割り当てプログラム２４４１０、ボリューム構成管理プログラム２４４２０、性能情報管理プログラム２４４４０、ペアボリューム構成管理プログラム２４４６０、ボリューム構成情報２４４３０、性能情報２４４５０、ペアボリューム構成情報２４４７０、装置情報２４４８０、性能予測表２４４９０、装置間接続関係情報２４４９５が記憶されている。前記メモリ２４４００内に記憶されているプログラムは全て記憶装置２３２０２３３００、２３４００内のいずれかに記憶されており、通信路２３８００を介してメモリ２４４００に読み込まれ、ＣＰＵ２４０００により実行される。また、これらプログラムモジュールは、ＣＰＵにより読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ、ＬＡＮ及びＳＡＮ等の伝送経路等）に格納してもよい。また、これらプログラムモジュールは、その機能をハードウェア構成（ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の半導体集積回路等）で実現してもよい。
また前記メモリ２４４００内の情報は全て前記メモリ２４４００内のプログラムによって記憶装置２３２００、２３３００、２３４００から収集した、もしくは入力装置２４１００からユーザが入力した情報である。
ボリューム構成情報２４４３０は、図１１に示した形式のボリューム構成情報を記憶装置毎に集めたものである。
また性能情報２４４５０は、図１０に示した形式の性能情報を記憶装置毎に集めたものである。
装置情報２４４８０は、計算機２３９００から制御可能な記憶装置、すなわち本実施例における記憶装置２３２００、２３３００、２３４００の一覧である。
性能予測表２４４９０は、図１７に示した表と同じ形式の表である。
装置間接続関係情報２４４９５は、装置情報２４４８０のうちどの記憶装置間でリモートコピーが可能かの関係を示した表であり、装置組の一覧である。
本実施例では、前記一覧には記憶装置２３２００と記憶装置２３３００を対にして記憶する。
ボリューム構成管理プログラム２４４２０は、指定された記憶装置内のパリティグループ上へのボリュームの割り当て・解放や指定された記憶装置内のボリュームの構成情報の取得を行なう。
性能管理プログラム２４４４０は、記憶装置２３２００、２３３００、２３４００内のボリュームの性能を各記憶装置から収集し性能情報２４４５０に蓄えるとともに、要求に応じて前記性能情報２４４５０の内容を提供する。ペアボリューム構成管理プログラム２４４６０は、必要に応じて記憶装置２３２００、２３３００、２３４００と通信しながら、指定された２つのボリューム間のリモートコピーの開始・終了を行なったり、指定された記憶装置内のペアボリューム構成情報をペアボリューム構成情報２４４７０に取得したりするとともに、要求に応じて前記ペアボリューム構成情報２４４７０の内容を提供する。
図２５は、図２４のペアボリューム構成情報２４４７０の例である。行２５０００、２５０１０は、それぞれリモートコピーペアのコピー元ボリューム、コピー先ボリュームを示している。列２５１００は各列に含まれる内容のラベルを示しており、列２５１１０は１行で１つのペアボリュームを示している。
図２６は、図２４におけるペアボリューム割り当てプログラム２４４１０の処理の流れを示している。
処理開始（ステップ２６０００）後、ボリューム構成管理プログラム２４４２０を使用して、リモートコピーが可能な２つの記憶装置に、それぞれボリューム甲とボリューム乙を割り当てる。
このとき、割り当てるボリュームの容量や割り当てるパリティグループの構成等の条件を指定する。
そしてステップ２６１００で、前記処理が成功したかを判断する。
前記処理が成功していれば、ステップ２６１５０で、フェイルオーバ後のボリューム乙の性能がフェイルオーバ前のボリューム甲の性能よりも低くならないように、ボリューム構成管理プログラム２４４２０や性能情報管理プログラム２４４４０を使用して、性能調整を行なう。
前記性能調整の結果が成功であれば（ステップ２６２００）、ペアボリューム構成管理プログラムを使用して、前記ステップ２６０５０で割り当てたボリューム間でリモートコピーを行なう関係を成立させ（ステップ２６２５０）、前記ステップ２６２５０の処理結果が成功であれば（ステップ２６３００）、処理成功として終了する（ステップ２６３５０）。
ステップ２６２００、ステップ２６３００で処理に失敗したと判断した場合は、ステップ２６０５０から処理を継続する。またステップ２６１００で処理に失敗したと判断した場合は、ステップ２６４００で、図２６に示した処理を開始した後、ステップ２６０５０で割り当てた全てのボリュームを解放する。
図２７は、図２６におけるボリューム割り当てステップ２６０５０の処理の流れを示している。
処理開始後（ステップ２７０００）、ボリューム構成管理プログラム２４４２０を使用して、装置情報２４４８０に記録されている全ての記憶装置から、前記記憶装置内に定義されている全てのボリュームの構成情報を、ボリューム構成情報２４４３０に取得する（ステップ２７１００）。
そしてステップ２７２００で、指定された容量やパリティグループの構成の条件を満たすボリュームが定義可能な記憶装置をステップ２７１００の結果から抽出する。
次にステップ２７３００で、前記抽出した記憶装置のうち、ステップ２７４００の処理を行なっていない記憶装置が存在するかどうかを判断し、存在しなければボリュームの割り当てはできないとして、処理を終了する（ステップ２７７００）。
前記ステップ２７３００で前記記憶装置が存在すると判断すれば、前記記憶装置のうち１つを選択し（ステップ２７４００）、装置間接続関係情報２４４９５を参照して、前記選択した記憶装置内のボリュームとの間でリモートコピーが可能なボリュームを定義可能な記憶装置があるかどうかを調べ（ステップ２７５００）、無ければステップ２７３００に戻る。
前記調べた結果、前記記憶装置があれば、ステップ２７６００で、前記ステップ２７４００内にボリューム甲を、また前記ステップ２７６００であると判断した記憶装置内にボリューム乙をそれぞれ定義し（ステップ２７６００）、割り当てに成功したとして、処理を終了する（ステップ２７７００）。
図２８に、図２６におけるステップ２６１５０の処理の流れを示す。
処理を開始（ステップ２８０００）すると、前記ボリューム甲と同一パリティグループ上に定義されている前記ボリューム甲以外のボリュームの一覧を、ボリューム構成管理プログラム２４４２０を使用して、ボリューム構成情報２４４３０から取得する（ステップ２８０５０）。
次に、前記ボリューム乙と同一パリティグループ上に定義されている前記ボリューム乙以外のボリュームの一覧を、ボリューム構成管理プログラム２４４２０を使用して、ボリューム構成情報２４４３０から取得する（ステップ２８１００）。
次に、前記ステップ２８１００で取得したボリューム全てが、リモートコピーのコピー先であるかつコピー元ボリュームが前記ステップ２８０５０で取得した一覧に含まれるという条件が成立するかどうかを調べ、前記調べた結果条件が成立するのであればステップ２８７００で処理成功として終了するとともに、前記条件が成立しないのであればステップ２８２００から処理を継続する（ステップ２８１５０）。
次に、ステップ２８２００で、前記ステップ２８０５０で取得した結果に含まれる全てのボリュームの性能情報を取得し後述の方法で計算する。
次にステップ２８２５０で、前記ステップ２８１００で取得した結果に含まれる全てのボリュームのうち、ステップ２８５５０の処理が終わっていれば前記ステップ２８５５０の処理で移動したと仮定したボリュームを除いた全てのボリュームの、性能情報を取得し計算する。
前記ステップ２８２００、２８２５０では、それぞれ、性能情報管理プログラム２４４４０で各記憶装置から個々のボリュームの性能情報を性能情報２４４５０に取得し、前記性能情報に含まれる各ボリュームの要求数の和を計算し、性能予測表２４４９０を使用して全ボリュームの性能を計算する。
ステップ２８２５０の次は、ステップ２８３００で、前記ステップ２８２００で取得した性能が前記ステップ２８２５０で取得した性能よりもよい（高性能である）場合（ステップ２８３００）、ステップ２８６５０から処理を継続し、前記以外の場合はステップ２８３５０から処理を継続する。そしてステップ２８３５０で、前記ステップ２８１００で取得した一覧のうち、ステップ２８４００以降の処理を行なっていないボリュームがあれば、ステップ２８４００で前記ボリュームのうち１つを選択し、ステップ２８４５０から処理を継続する。
前記ステップ２８３５０でステップ２８４００以降の処理を行なっていないボリュームがないと判断すれば、性能調整ができなかったとして、処理を終了する（ステップ２８６００）。
ステップ２８４００の次は、前記ステップ２８４００で選択したボリュームを移動可能な他のパリティグループが存在しないかを探索し（ステップ２８４５０）、前記パリティグループ先がなければステップ２８３５０から処理を継続するとともに、前記パリティグループがあればステップ２８５５０から処理を継続する（ステップ２８５００）。
ステップ２８５５０では、前記ステップ２８４５０の結果見つかった移動先に前記ステップ２８４００で選択したボリュームを移動すると仮定してステップ２８２００から処理を継続する。
一方ステップ２８６５０では、ステップ２８５５０でボリュームの移動を仮定していれば、前記仮定に基づきボリュームを実際に移動し、性能調整に成功したとして処理を終了する（ステップ２８７００）。
図２９に、記憶装置２３２００内の構成を示す。
ＣＰＵ２９０００、通信装置２９１００、２９２００、２９３００、メモリ２９７００、パリティグループ２３２１０、２９５００は通信路２９６００で接続されている。
さらに、通信装置２９１００は通信路２９９００と通信路２９９５０に、通信装置２９２００は通信路２３７００に、通信装置２９３００は通信路２３８００にそれぞれ接続されている。
そして、パリティグループ２３２１０にはボリューム２９４１０、２９４２０が、またパリティグループ２９５００にはボリューム２９５１０が定義されている。
メモリ２９７００内には、ボリューム構成管理プログラム２９７１０、ペアボリューム構成管理プログラム２９７３０、性能情報管理プログラム２９７５０、ボリューム構成情報２９７２０、ペアボリューム構成情報２９７４０、性能情報２９７６０が記憶されている。
前記メモリ２９７００内のプログラムは、記憶装置２３２００内のボリュームである、ボリューム２９４１０、２９４２０、２９５１０のいずれかに記憶されており、メモリ２９７００に読み込まれ、ＣＰＵ２９０００で実行される。また、これらプログラムモジュールは、ＣＰＵにより読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ、ＬＡＮ及びＳＡＮ等の伝送経路等）に格納してもよい。また、これらプログラムモジュールは、その機能をハードウェア構成（ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の半導体集積回路等）で実現してもよい。
ボリューム構成情報２９７２０は、記憶装置２３２００内のボリューム構成を示した情報であり、図１１と同形式の表である。
前記ボリューム構成管理プログラム２９７１０は、図２４のボリューム構成管理プログラム２４４２０からボリューム構成変更要求を受けて前記要求に従いボリューム構成を変更した際に、前記ボリューム構成情報２９７２０を変更する。
ペアボリューム構成情報２９７４０は、記憶装置２３２００内のボリュームと他の記憶装置との間で行なわれているリモートコピーのペアボリューム情報であり、図２６と同形式の表である。
ペアボリューム構成管理プログラム２９７３０は、図２４のペアボリューム構成管理プログラム２４４６０からペアボリューム構成変更要求を受け、前記要求に従いペアボリューム構成を変更した際に、前記ペアボリューム構成情報２９７４０を変更する。
性能情報２９７６０は、性能情報管理プログラム２９７５０が定期的に集めた、記憶装置２３２００内のボリューム及びパリティグループの性能情報であり、図１０と同形式の表である。
性能情報管理プログラム２９７５０は、前記に加え、性能情報管理プログラム２４４４０からの要求に従い、前記性能情報２９７６０内の情報を返す。
計算機２３９００および記憶装置２３２００内のメモリに記憶されている任意のプログラムのうち、２つ以上のプログラムが提供する機能を、他の１つのプログラムで提供してもよい。
本実施例では、ボリュームの割り当て、性能調整、およびリモートコピーを行なう手順を示したが、ボリュームの割り当て、性能調整のみを行ない、リモートコピーは後程別途行なってもよい。
本実施例では、ステップ２８３５０〜２８５００で、ボリューム乙と同じパリティグループ上にある全ての他ボリュームについて移動先を調べたが、これを全ての他ボリュームではなく、リモートコピーのコピー元もしくはコピー先のボリュームではない全ての他ボリュームとして移動先を調べてもよいし、過去に本発明による性能調整を行なったボリュームを記憶しておき、前記記憶したボリューム以外の全ての他のボリュームとして移動先を調べてもよい。
本実施例では、リモートコピー先ボリュームと同じパリティグループ上のボリュームの性能を、現在の単位時間あたりの平均要求数を元に性能予測表２４４９０を引いて予測したが、前記リモートコピー先ボリュームと同じパリティグループ上のボリュームがリモートコピー先のボリュームである場合、前記ボリュームのリモートコピー元のボリュームの単位時間あたりの平均要求数を、フェイルオーバ後の前記ボリュームの単位時間あたりの平均要求数として、予測性能を計算してもよい。
本実施例では、ボリューム甲とボリューム乙を定義する時点で、既に他のボリュームが定義しており、前記ボリュームの性能情報が取得できていることを前提としているが、全てのボリュームを新たに定義する場合等、性能情報が取得できていない場合は、図２８に示した処理において、ステップ２８１５０の条件が成立しなければ、ステップ２８２００の処理から継続するのではなく、性能調整できないものとして、処理を終了してもよい。
本実施例では、ボリューム甲とボリューム乙を割り当ててから性能調整を行なったが、ボリューム甲のみを割り当て、その後前記ボリューム甲を指定して、前記ボリューム甲のフェイルオーバ前の性能以上の性能をフェイルオーバ後に達成可能だと予測されるボリュームをボリューム乙として定義してもよい。
もしくは、ボリューム甲のみを割り当て、前記ボリューム甲を指定して、性能調整を行なえば、前記ボリューム甲のフェイルオーバ前の性能以上の性能をフェイルオーバ後に達成可能だと予測されるボリュームをボリューム乙として定義してもよい。
もしくは、割り当てた２つのボリュームのうち、同じ負荷をかけたときの性能が低い方をボリューム甲とし、もう一方をボリューム乙としてもよい。
もしくは、２つの異なる記憶装置から、既に定義されているボリュームがすべてリモートコピー先になっているパリティグループ甲と、既に定義されているボリュームが全てリモートコピー元になっているかつ前記パリティグループ甲上に定義されているボリュームのリモートコピー元が全て含まれているパリティグループ乙を探し、前記パリティグループ甲内にボリューム甲を、また前記パリティグループ乙内にボリューム乙を定義してもよい。
【００７２】
【発明の効果】
本発明により、フェイルオーバ型のクラスタシステムにおいて、フェイルオーバ後のシステム全体の性能低下を回避することができる。
また、スナップショット機能もしくはリモートコピー機能によりボリューム間コピーを行なう際、余分なデータ転送用メモリの消費やデータ書き込み待ちが発生しない、円滑な処理が行なえるようになる。
【図面の簡単な説明】
【図１】物理ディスクと論理ボリュームの関係を示す図である。
【図２】クラスタシステムの構成例を示す図である。
【図３】フェイルオーバ後にシステム全体の性能が低下する可能性のある、フェイルオーバ型クラスタシステムの構成例を示す図である。
【図４】第１の実施例における記憶装置２２００及び記憶装置２３００内のブロック構成を示す図である。
【図５】第１の実施例において、通信装置４０３０から、データ及び性能情報を送信する手順を示す図である。
【図６】第１の実施例において、通信装置４１３０で、データ及び性能情報を受信する手順を示す図である。
【図７】第１の実施例において、性能調整部４１４０で、リモートコピー先ボリュームの性能調整を行なう手順を示す図である。
【図８】第１の実施例において、ボリュームの移動先を探索する手順を示す図である。
【図９】第１の実施例において、ボリュームもしくはパリティグループの性能値を求める計算式を示す図である。
【図１０】第１の実施例における性能情報４０４２の表を示す図である。
【図１１】第１の実施例における構成情報４０５２の表を示す図である。
【図１２】第２の実施例におけるシステム構成を示す図である。
【図１３】第２の実施例における記憶装置１２４００内のブロック構成を示す図である。
【図１４】第２の実施例において、性能調整部１３１００で、スナップショット先ボリュームの性能調整を行なう手順を示す図である。
【図１５】第３の実施例における記憶装置内のブロック構成を示す図である。
【図１６】第３の実施例において、要求処理部１５１００で、コピー先ボリューム定義先候補のパリティグループ一覧を取得する処理の流れを示す図である。
【図１７】第３の実施例において、性能予測に使用する性能予測表を示す図である。
【図１８】第４の実施例における記憶装置２２００内のブロック構成を示す図である。
【図１９】第４の実施例において、制御部１８４００内の処理の流れを示す図である。
【図２０】第５の実施例における、記憶装置２２００及び記憶装置２３００内のブロック構成を示す図である。
【図２１】第５の実施例における、性能調整部２０１４０の性能調整処理手順を示す図である。
【図２２】コピー先パリティグループの探索結果を表示する画面の例を示す図である。
【図２３】第６の実施例における、システム構成図を示す図である。
【図２４】第６の実施例における、計算機２３９００内のブロック構成を示す図である。
【図２５】第６の実施例における、ペアボリューム構成管理情報２４４７０を示す図である。
【図２６】第６の実施例における、ペアボリューム割り当てプログラム２４４１０の処理の流れを示す図である。
【図２７】第６の実施例における、ボリューム割り当てステップ２６０５０の処理の流れを示す図である。
【図２８】第６の実施例における、性能調整ステップ２６１５０の処理の流れを示す図である。
【図２９】第６の実施例における、記憶装置２３２００内のブロック構成を示す図である。
【符号の説明】
２２００、２３００    記憶装置
２２１０    リモートコピー元ボリューム
２３１０    リモートコピー先ボリューム
２６００    通信路
３３００、３４００、４０２０、４１２０    パリティグループ
３３１０、４０１４、４０２２、４１２２    ボリューム
４０３０、４１３０    通信装置
４０４０、４１６０    性能情報管理部
４０４２、４１６２    性能情報
４０５０、４１７０    構成情報管理部
４０５２、４１７２    構成情報
４０６０    構成変更検出部
４１４０    性能調整部
４１５０    構成変更部
４５００、４５９０    性能調整プログラム
４５１０、４５８０    装置管理プログラム
４５２０、４５７０    メモリ
４５３０、４５６０    バス
４５４０、４５５０    ＣＰＵ
【図１】
2004246852.tif 000003
【図２】
2004246852.tif 000004
【図３】
2004246852.tif 000005
【図４】
2004246852.tif 000006
【図５】
2004246852.tif 000007
【図６】
2004246852.tif 000008
【図７】
2004246852.tif 000009
【図８】
2004246852.tif 000010
【図９】
2004246852.tif 000011
【図１０】
2004246852.tif 000012
【図１１】
2004246852.tif 000013
【図１２】
2004246852.tif 000014
【図１３】
2004246852.tif 000015
【図１４】
2004246852.tif 000016
【図１５】
2004246852.tif 000017
【図１６】
2004246852.tif 000018
【図１７】
2004246852.tif 000019
【図１８】
2004246852.tif 000020
【図１９】
2004246852.tif 000021
【図２０】
2004246852.tif 000022
【図２１】
2004246852.tif 000023
【図２２】
2004246852.tif 000024
【図２３】
2004246852.tif 000025
【図２４】
2004246852.tif 000026
【図２５】
2004246852.tif 000027
【図２６】
2004246852.tif 000028
【図２７】
2004246852.tif 000029
【図２８】
2004246852.tif 000030
【図２９】
2004246852.tif 000031