(57)【要約】【課題】ストレージシステム単位の保守を可能とし、システムの運用を継続しながら、ストレージシステムの取り外し又は交換を可能とする。【解決手段】複数の第１の記憶装置を備える第１のストレージシステム及び複数の第２の記憶装置を備える第２のストレージシステムを含む計算機システムで、第１のストレージシステムで正常に稼働している第１の記憶装置の台数が所定の閾値以下であって、かつ、正常に稼働している第１の記憶装置に格納されたデータを第２の記憶装置に移行可能である場合には、正常に稼働している第１の記憶装置に格納されたデータを第２の記憶装置に複製し、第１のストレージシステムを計算機システムから外すことが可能であることを示す情報を出力する。【選択図】図３
2010049637.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機によってアクセスされる複数のストレージシステムを含む計算機システムであって、
前記複数のストレージシステムには、第１のストレージシステム及び第２のストレージシステムが含まれ、
前記第１のストレージシステムは、前記ホスト計算機及び前記第２のストレージシステムに接続される少なくとも一つの第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第１の記憶装置と、を備え、
前記第２のストレージシステムは、前記ホスト計算機及び前記第１のストレージシステムに接続される少なくとも一つの第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第２の記憶装置と、を備え、
前記第１のストレージシステムは、
前記第１のストレージシステムで正常に稼働している前記第１の記憶装置の台数が所定の閾値よりも大きいか否かを判定し、
前記正常に稼働している第１の記憶装置の台数が所定の閾値以下の場合には、前記正常に稼働している第１の記憶装置に格納されたデータを、前記第２の記憶装置に移行可能であるか否かを判定し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能である場合には、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製し、
前記第１のストレージシステムを前記計算機システムから外すことが可能であることを示す情報を出力することを特徴とする計算機システム。
【請求項２】
前記第１の記憶装置及び前記第２の記憶装置は、前記ホスト計算機によってアクセスされるデータを冗長化して格納し、
前記第１のストレージシステムは、
前記第１の記憶装置に障害が発生した場合には、前記障害が発生した第１の記憶装置に格納されたデータを前記第２の記憶装置に復元し、
その後、前記正常に稼働している第１の記憶装置の台数が所定の閾値以下の場合には、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記第１のストレージシステムは、未使用、かつ、障害が発生していない前記第２の記憶装置が、前記正常に稼働している第１の記憶装置の台数分、前記第２のストレージシステムに含まれている場合に、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能であると判定することを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記第１のストレージシステムは、未使用、かつ、障害が発生していない前記第２の記憶装置が、前記正常に稼働している第１の記憶装置の容量分、前記第２のストレージシステムに含まれている場合に、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能であると判定することを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記第１のストレージシステムは、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行した場合に前記複数のストレージシステム全体で使用可能な容量と、移行しない場合に使用可能な容量とを算出し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行したほうが使用可能な容量が大きくなる場合には、前記正常に稼働している第１の記憶装置の台数に関わらず、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行することを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記計算機システムには、前記複数のストレージシステムを管理する管理端末が含まれ、
前記管理端末は、
前記第１の記憶装置及び前記第２の記憶装置に含まれる未使用の記憶装置によって新たに提供される記憶領域の追加を受け付け、
前記新たに提供される記憶領域が追加された後に、前記第１の記憶装置及び前記第２の記憶装置に含まれる未使用の記憶装置の容量が前記第１のストレージシステムで使用されている第１の記憶装置の容量よりも小さく、かつ、前記第１の記憶装置及び前記第２の記憶装置に含まれる未使用の記憶装置の台数が前記第１のストレージシステムで使用されている第１の記憶装置の台数よりも小さくなる場合、又は、前記第１の記憶装置及び前記第２の記憶装置に含まれる未使用の記憶装置の容量が前記第２のストレージシステムで使用されている第２の記憶装置の容量よりも小さく、かつ、前記第１の記憶装置及び前記第２の記憶装置に含まれる未使用の記憶装置の台数が前記第２のストレージシステムで使用されている第２の記憶装置の台数よりも小さくなる場合には、その旨を示す情報を出力することを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記第２のストレージシステムは、前記第１のストレージシステムを介して前記ホスト計算機によってアクセスされ、
前記第１のストレージシステムは、
前記第１の記憶装置に格納されたデータをすべて前記第２の記憶装置に移行した場合には、前記第１のストレージシステムと前記ホスト計算機との接続を無効に設定し、
前記第２のストレージシステムと前記ホスト計算機との接続を有効に設定するように、前記第２のストレージシステムに指示することを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記第１のストレージシステムは、
前記第１のストレージシステムの使用時間を記録し、
前記使用時間が所定の閾値を超えた場合には、前記正常に稼働している第１の記憶装置に格納されたデータを、前記第２の記憶装置に移行可能であるか否かを判定し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能である場合には、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製することを特徴とする請求項１に記載の計算機システム。
【請求項９】
前記計算機システムには、バックエンドスイッチが含まれ、
前記複数のストレージシステムは、前記バックエンドスイッチを介して接続されることを特徴とする請求項１に記載の計算機システム。
【請求項１０】
前記複数のストレージシステムには、さらに、第３のストレージシステムが含まれ、
前記第２のストレージシステム及び前記第３のストレージシステムは、前記第１のストレージシステムを介して前記ホスト計算機によってアクセスされ、
前記第３のストレージシステムは、前記第１のストレージシステムに接続される複数の第３のインタフェースと、前記第３のインタフェースに接続される第３のプロセッサと、前記第３のプロセッサに接続される第３のメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第３の記憶装置と、を備え、
前記第１のストレージシステムは、複数の前記第１のインタフェースを含み、
前記第２のストレージシステムは、複数の前記第２のインタフェースを含み、
前記第１のインタフェースは、前記第２のストレージシステム及び前記第３のストレージシステムの少なくとも一方に接続され、
前記第１のストレージシステムは、
前記第１の記憶装置に格納されたデータをすべて前記第２の記憶装置に移行した後に、前記第１のストレージシステムと前記ホスト計算機との接続を無効に設定し、
前記第１のインタフェースに接続されたストレージシステムに、前記第１のストレージシステムとの接続を無効に設定するように指示し、
前記複数のストレージシステムから一つのストレージシステムを選択し、前記選択されたストレージシステムと前記ホスト計算機との接続を有効に設定するように、前記選択されたストレージシステムに指示することを特徴とする請求項１に記載の計算機システム。
【請求項１１】
ホスト計算機によってアクセスされるストレージシステムであって、
前記ストレージシステムは、前記ホスト計算機及び他のストレージシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第１の記憶装置と、を備え、
前記プロセッサは、
正常に稼働している前記第１の記憶装置の台数が所定の閾値よりも大きいか否かを判定し、
前記正常に稼働している第１の記憶装置の台数が所定の閾値以下の場合には、前記正常に稼働している第１の記憶装置に格納されたデータを、前記他のストレージシステムに備えられる第２の記憶装置に移行可能であるか否かを判定し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能である場合には、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製し、
前記ホスト計算機及び前記他のストレージシステムとの接続を切断可能であることを示す情報を出力することを特徴とするストレージシステム。
【請求項１２】
前記第１の記憶装置は、前記ホスト計算機によってアクセスされるデータを冗長化して格納し、
前記プロセッサは、
前記第１の記憶装置に障害が発生した場合には、前記障害が発生した第１の記憶装置に格納されたデータを前記第２の記憶装置に復元し、
その後、前記正常に稼働している第１の記憶装置の台数が所定の閾値以下の場合には、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製することを特徴とする請求項１１に記載のストレージシステム。
【請求項１３】
前記プロセッサは、未使用、かつ、障害が発生していない前記第２の記憶装置が、前記正常に稼働している第１の記憶装置の台数分、前記第２のストレージシステムに含まれている場合に、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能であると判定することを特徴とする請求項１１に記載のストレージシステム。
【請求項１４】
前記プロセッサは、未使用、かつ、障害が発生していない前記第２の記憶装置が、前記正常に稼働している第１の記憶装置の容量分、前記第２のストレージシステムに含まれている場合に、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能であると判定することを特徴とする請求項１１に記載のストレージシステム。
【請求項１５】
ホスト計算機によってアクセスされる複数のストレージシステムを含む計算機システムであって、
前記複数のストレージシステムには、第１のストレージシステム及び第２のストレージシステムが含まれ、
前記第１のストレージシステムは、前記ホスト計算機及び前記第２のストレージシステムに接続される少なくとも一つの第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第１の記憶装置と、を備え、
前記第２のストレージシステムは、前記ホスト計算機及び前記第１のストレージシステムに接続される少なくとも一つの第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第２の記憶装置と、を備え、
前記第１の記憶装置及び前記第２の記憶装置は、前記ホスト計算機によってアクセスされるデータを冗長化して格納し、
前記第１のストレージシステムは、
前記第１の記憶装置に障害が発生した場合には、未使用、かつ、障害が発生していない前記第１の記憶装置が存在するか否かを判定し、
未使用、かつ、障害が発生していない前記第１の記憶装置が存在する場合には、前記障害が発生した第１の記憶装置に格納されたデータを、未使用、かつ、障害が発生していない前記第１の記憶装置に復元し、
未使用、かつ、障害が発生していない前記第１の記憶装置が存在しない場合には、前記第１のストレージシステムで正常に稼働している前記第１の記憶装置の台数が所定の閾値よりも大きいか否かを判定し、
前記正常に稼働している第１の記憶装置の台数が所定の閾値以下の場合には、前記障害が発生した第１の記憶装置に格納されたデータ及び前記正常に稼働している第１の記憶装置に格納されたデータを、前記第２の記憶装置に移行可能であるか否かを判定し、
前記障害が発生した第１の記憶装置に格納されたデータ及び前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能である場合には、前記障害が発生した第１の記憶装置に格納されたデータを前記第２の記憶装置に復元し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製し、
前記第１のストレージシステムを前記計算機システムから外すことが可能であることを示す情報を出力し、
前記障害が発生した第１の記憶装置に格納されたデータ及び前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能でない場合には、未使用、かつ、障害が発生していない前記第２の記憶装置が、前記障害が発生した第１の記憶装置及び前記正常に稼働している第１の記憶装置の容量分、前記第２のストレージシステムに含まれているか否かを判定し、
未使用、かつ、障害が発生していない前記第２の記憶装置が、前記障害が発生した第１の記憶装置及び前記正常に稼働している第１の記憶装置の容量分、前記第２のストレージシステムに含まれていない場合には、前記第２のストレージシステムを前記計算機システムに追加することを要求する情報を出力し、
未使用、かつ、障害が発生していない前記第２の記憶装置が、前記障害が発生した第１の記憶装置及び前記正常に稼働している第１の記憶装置の容量分、前記第２のストレージシステムに含まれている場合には、前記障害が発生した第１の記憶装置に格納されたデータ及び前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行し、
前記第１のストレージシステムを前記計算機システムから外すことが可能であることを示す情報を出力し、
前記正常に稼働している第１の記憶装置の台数が所定の閾値よりも大きい場合には、前記障害が発生した第１の記憶装置に格納されたデータ及び前記正常に稼働している第１の記憶装置に格納されたデータを、前記第２の記憶装置に移行可能であるか否かを判定し、
前記障害が発生した第１の記憶装置に格納されたデータ及び前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能である場合には、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行した場合に前記複数のストレージシステム全体で使用可能な容量と、移行しない場合に使用可能な容量とを算出し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行したほうが使用可能な容量が大きくなる場合には、前記障害が発生した第１の記憶装置に格納されたデータを前記第２の記憶装置に復元し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製し、
前記第１のストレージシステムを前記計算機システムから外すことが可能であることを示す情報を出力し、
前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行しても使用可能な容量が大きくならない場合には、前記障害が発生した第１の記憶装置に格納されたデータを移行可能な前記第２の記憶装置が存在するか否かを判定し、
前記障害が発生した第１の記憶装置に格納されたデータを移行可能な前記第２の記憶装置が存在しない場合には、前記第２のストレージシステムを前記計算機システムに追加することを要求する情報を出力し、
前記障害が発生した第１の記憶装置に格納されたデータを移行可能な前記第２の記憶装置が存在する場合には、前記障害が発生した第１の記憶装置に格納されたデータを前記第２の記憶装置に復元することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムの保守を行う技術に関する。
【背景技術】
【０００２】
近年、情報システムにおいて扱われるデータ量の増加に伴い、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によるストレージシステムへのデータ集約が一般的に行われるようになった。
【０００３】
ストレージシステムは、ディスクドライブ、コントローラ、及び電源ユニットなどによって構成され、障害が発生した場合には、部品単位に交換及び増設可能な構成となっている。しかし、ストレージシステムの構成部品の交換及び増設するなどの保守作業には専門知識が必要となるため、障害が発生するたびに保守員が現地で作業する場合が多い。また、ストレージシステムは、多数の部品によって構成されているが、各部品の寿命が一律ではないため、保守員は何度も現地で作業する必要がある。保守員による作業によって人件費などのコストが増大し、さらに、保守員を確保できなかった場合には、障害の復旧までに時間を要する場合がある。
【０００４】
そこで、ディスクドライブ、コントローラ、及び電源ユニットなどの構成がブラックボックス化されたストレージシステム（アレイ筐体）単位で保守を行う技術が開示されている（特許文献１参照）。特許文献１に開示された技術によれば、アレイ筐体単位で保守を行うことによって、部品単位の保守が必要な従来のストレージシステムと比較して、保守管理を容易に行うことができる。
【特許文献１】特開２００８−９７３１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術は、１台のアレイ筐体のみで使用することを前提としているため、記憶容量を増やすためにアレイ筐体を増設するケースでの保守方法に課題がある。特許文献１に開示されている，計算機システム間でデータ移行を行う技術を用いた場合、１台のアレイ筐体の障害においても、計算機システムに含まれる全てのアレイ筐体についてデータ移行を行わなければならず、無駄が多い。
【０００６】
また、一般的に用いられる、ディスクドライブ（記憶装置）に障害が発生した場合に、他のディスクドライブにデータを回復させる方式を用いた場合、障害の回復を繰り返すことによって、ブラックボックス化されたアレイ筐体内に障害が発生した使用できないディスクドライブが増加し、有効な記憶容量が少なくなってしまう問題があった。また、有効な記憶容量が少なくなってもアレイ筐体の消費電力及びアレイ筐体が占有する空間は障害が発生していない場合と同じである。
【０００７】
そこで、本発明では、アレイ筐体単位の保守を可能とし、システムの運用を継続しながら、アレイ筐体の増設、取り外し、交換を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の代表的な一形態では、
ホスト計算機によってアクセスされる複数のストレージシステムを含む計算機システムであって、前記複数のストレージシステムには、第１のストレージシステム及び第２のストレージシステムが含まれ、前記第１のストレージシステムは、前記ホスト計算機及び前記第２のストレージシステムに接続される少なくとも一つの第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第１の記憶装置と、を備え、前記第２のストレージシステムは、前記ホスト計算機及び前記第１のストレージシステムに接続される少なくとも一つの第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリと、前記ホスト計算機によって読み書きされるデータを格納する複数の第２の記憶装置と、を備え、前記第１のストレージシステムは、前記第１のストレージシステムで正常に稼働している前記第１の記憶装置の台数が所定の閾値よりも大きいか否かを判定し、前記正常に稼働している第１の記憶装置の台数が所定の閾値以下の場合には、前記正常に稼働している第１の記憶装置に格納されたデータを、前記第２の記憶装置に移行可能であるか否かを判定し、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に移行可能である場合には、前記正常に稼働している第１の記憶装置に格納されたデータを前記第２の記憶装置に複製し、前記第１のストレージシステムを前記計算機システムから外すことが可能であることを示す情報を出力する。
【発明の効果】
【０００９】
本発明の一形態によれば、アレイ筐体（第１のストレージシステム）で正常に稼働している記憶装置の台数が所定の閾値よりも少なくなった場合には、他のアレイ筐体（第２のストレージシステム）にデータを移行することによって、システムの運用を継続しながらアレイ筐体を取り外し又は交換することができる。
【発明を実施するための最良の形態】
【００１０】
以下に図面を参照しながら本発明の実施の形態を説明する。
【００１１】
図１は、本発明の実施の形態の計算機システムの構成を示す図である。
【００１２】
本発明の実施の形態の計算機システムには、アレイ筐体（１００、２００及び３００）、管理端末５００、ホスト計算機６００及びバックエンドスイッチ（７００Ａ及び７００Ｂ）が含まれる。
【００１３】
ホスト計算機６００は、アプリケーションプログラムなどが実行され、各アレイ筐体によって提供される記憶領域に格納されたデータを読み書きする。管理端末５００は、計算機システムを管理し、特に、アレイ筐体を管理する。
【００１４】
アレイ筐体１００は、ホスト計算機６００によってデータが読み書きされる記憶領域を提供する。本発明の実施の形態の計算機システムには、三台のアレイ筐体（１００、２００及び３００）が含まれているが、共通の事項を説明する場合には、代表してアレイ筐体１００について説明する。アレイ筐体１００の構成については、詳細を後述する。なお、アレイ筐体は、任意のタイミングで計算機システムに追加することが可能である。
【００１５】
アレイ筐体１００と管理端末５００とは、イーサネット（「イーサネット」は登録商標、以下同じ）などの従来技術によるネットワーク（ＬＡＮ９００）を介して接続される。同じく、アレイ筐体とホスト計算機６００とは、ファイバチャネル又はイーサネットなどによるネットワーク（ＳＡＮ９１０）を介して接続される。本発明の実施の形態では、ＬＡＮ９００と、ＳＡＮ９１０とが、それぞれ独立した形態となっているが、双方の機能を兼ねる単一のネットワークであってもよい。
【００１６】
各アレイ筐体（１００、２００及び３００）は、バックエンドスイッチ７００Ａ及び７００Ｂを介して互いに接続される。また、本発明の実施の形態では、ホスト計算機６００にはアレイ筐体１００のみが接続されている。ホスト計算機６００は、アレイ筐体１００の筐体間接続インタフェース（Ｉ／Ｆ）１１９及び筐体間接続Ｉ／Ｆ１３９を介して、アレイ筐体２００及びアレイ筐体３００に格納されたデータにアクセスする。
【００１７】
バックエンドスイッチ７００Ａ及び７００Ｂは、任意のアレイ筐体間で通信を行えるようにするために設けられている。これによって、システムに含まれているアレイ筐体に障害などが発生した場合であっても、その他のアレイ筐体間の接続を維持することができる。また、バックエンドスイッチ７００Ａ及び７００Ｂは、一方の装置に障害が発生した場合であっても、他方の装置によって各アレイ筐体の接続を維持できるように冗長化されている。
【００１８】
バックエンドスイッチ７００Ａは、アレイ筐体間の接続を制御するスイッチＬＳＩ７０１Ａ及びアレイ筐体に接続される筐体Ｉ／Ｆ７０２Ａを備える。バックエンドスイッチ７００Ｂについても同様の構成であり、スイッチＬＳＩ７０１Ｂ及び筐体Ｉ／Ｆ７０２Ｂを備える。
【００１９】
アレイ筐体１００は、電源（１０１Ａ及び１０１Ｂ）、ＦＡＮ（１０２Ａ及び１０２Ｂ）、コントローラ（１１０及び１３０）及び複数の記憶装置１４０を備える。電源、ＦＡＮ及びコントローラなどの構成は、障害の発生などに備えて冗長化されている。アレイ筐体１００は、ブラックボックス化されており、通常、内部の構成部品が個別に保守されない構造となっている。障害が発生した場合には、アレイ筐体単位で交換又は追加されるように運用される。
【００２０】
電源（１０１Ａ及び１０１Ｂ）は、アレイ筐体１００に電力を供給する。ＦＡＮ（１０２Ａ及び１０２Ｂ）は、アレイ筐体１００が稼働することによって生じた熱を排熱する。
【００２１】
アレイ筐体１００には、前述のように、複数の記憶装置１４０が備えられている。記憶装置１４０は、ホスト計算機６００によって読み書きされるデータを格納する。記憶装置１４０は、磁気記憶装置であってもよいし、半導体記憶装置などの他の記憶装置であってもよい。本発明の実施の形態では、磁気記憶装置（ハードディスクドライブ、ＨＤＤ）が記憶装置として使用されている。
【００２２】
また、アレイ筐体１００では、複数の記憶装置１４０によって、ＲＡＩＤグループが構成される。アレイ筐体１００は、ＲＡＩＤグループが論理的な単位に分割された論理ユニットを記憶領域としてホスト計算機６００に提供する。なお、ＲＡＩＤグループは、アレイ筐体をまたがって構成される場合もある。例えば、アレイ筐体１００に含まれる記憶装置とアレイ筐体２００に含まれる記憶装置によって１つのＲＡＩＤグループを構成することが可能である。
【００２３】
コントローラ１（１１０）及びコントローラ２（１３０）は、アレイ筐体１００を制御する。コントローラ１（１１０）及びコントローラ２（１３０）は、同じ構成であるため、共通する構成についてはコントローラ１１０について説明する。
【００２４】
コントローラ１１０は、プロセッサ１１１、メモリ１１２、管理Ｉ／Ｆ１１３、ホストＩ／Ｆ１１４、キャッシュメモリ１１５、ブリッジ１１６、ドライブＩ／Ｆ１１７、内部スイッチ１１８、及び筐体間接続Ｉ／Ｆ１１９を含む。
【００２５】
プロセッサ１１１は、メモリ１１２に記憶されたプログラム及びデータに基づいて、アレイ筐体１００の制御など、各種処理を実行する。メモリ１１２は、プロセッサ１１１によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、メモリ１１２は、入出力プログラム１２０、構成管理プログラム１２１及び構成情報１２２などを記憶する。
【００２６】
入出力プログラム１２０は、ホスト計算機６００によって要求されたデータの読み書きを実行するプログラムである。構成管理プログラム１２１は、アレイ筐体１００の構成を管理するプログラムである。具体的には、記憶装置１４０とＲＡＩＤグループ及び論理ユニットとの対応付けを管理する。アレイ筐体が交換されたり、新たに追加されたりした場合には、構成管理プログラム１２１が実行される。また、障害が発生した場合などには、アレイ筐体１００の記憶装置１４０に格納されたデータを、アレイ筐体２００などの他のアレイ筐体に含まれる記憶装置に回復又は複製する機能を有する。構成情報１２２は、アレイ筐体１００の各構成の状態などの情報が格納される。構成情報１２２については、図２Ａ及び図２Ｂにて後述する。
【００２７】
管理Ｉ／Ｆ１１３は、ＬＡＮ９００を介して管理端末５００に接続される。管理Ｉ／Ｆ１１３は、管理端末５００から送信された要求を受信する。ホストＩ／Ｆ１１４は、複数備えられており、ＳＡＮ９１０を介してホスト計算機６００に接続される。ホストＩ／Ｆ１１４は、ホスト計算機６００から送信されたデータを読み書きする要求を受信する。
【００２８】
キャッシュメモリ１１５は、記憶装置１４０に対するデータの入出力を高速化するために設けられた一時記憶領域である。キャッシュメモリ１１５は、揮発性メモリで構成されることが一般的であるが、不揮発性メモリ又は磁気記憶装置で代用することも可能である。なお、キャッシュメモリ１１５の個数及び容量には特に制限はない。
【００２９】
ブリッジ１１６は、コントローラ１１０に含まれる各構成を接続する。また、ブリッジ１１６には、コントローラ１１０とコントローラ１３０とを接続するためのコントローラ間通信バスが接続される。冗長化されたコントローラ間を接続することによって、構成情報１２２を同期させ、一方のコントローラに障害が発生した場合であっても処理を継続することが可能となる。
【００３０】
ドライブＩ／Ｆ１１７は、コントローラ１１０による制御を実行するための構成と記憶装置１４０とを接続するインタフェースである。内部スイッチ１１８は、ドライブＩ／Ｆ１１７に複数の記憶装置１４０および筐体間接続Ｉ／Ｆ１１９を接続し、各ポートの有効または無効を切り替える機能を持つ。筐体間接続Ｉ／Ｆ１１９は、アレイ筐体間を接続するためのインタフェースである。
【００３１】
本発明の実施の形態では、前述のように、アレイ筐体１００にのみホスト計算機６００が接続されているため、アレイ筐体２００及びアレイ筐体３００は、通常、ホストＩ／Ｆ（２１４及び３１４）ではなく筐体間接続Ｉ／Ｆ（２１９、２３９、３１９及び３３９）を介して記憶装置にアクセスされる。そこで、アレイ筐体２００及びアレイ筐体３００では、コントローラ（２１０、２３０、３１０及び３３０）が誤って記憶装置にアクセスしないように、内部スイッチを切り替えてドライブＩ／Ｆと記憶装置との接続を遮断する。
【００３２】
アレイ筐体２００及びアレイ筐体３００の構成は、前述したアレイ筐体１００の構成と同じである。図１では、アレイ筐体２００及びアレイ筐体３００に含まれるインタフェースのみを記載し、他の構成を省略している。
【００３３】
ホスト計算機６００は、前述のように、アレイ筐体２００及びアレイ筐体３００に格納されたデータを、アレイ筐体１００を介してアクセスするため、ホストＩ／Ｆ２１４及びホストＩ／Ｆ３１４に接続する必要はない。したがって、本発明の実施の形態では、ホストＩ／Ｆ２１４及びホストＩ／Ｆ３１４はＳＡＮ９１０に接続されていない。同様に、アレイ筐体２００及びアレイ筐体３００は管理端末５００に接続されておらず、管理Ｉ／Ｆ２１３及び管理Ｉ／Ｆ３１３はＬＡＮ９００に接続されていない。
【００３４】
図２Ａ及び図２Ｂは、本発明の実施の形態のアレイ筐体の構成情報１２２の一例を示す図である。図２Ａは、アレイ筐体１００の構成情報１２２を示し、図２Ｂは、アレイ筐体２００の構成情報１２２を示している。
【００３５】
構成情報１２２は、構成状態情報１２５、記憶装置構成情報１２６及びアレイ筐体使用時間１２７を含む。また、構成情報１２２には、ＲＡＩＤグループによって提供される論理ユニットなどの対応情報などがさらに含まれる。
【００３６】
構成状態情報１２５は、記憶装置１４０以外のアレイ筐体１００を構成する各部位１２５１に対応する状態１２５２を格納する。部位１２５１は、例えば、図２Ａに示すように、コントローラ、電源、ＦＡＮ及びホストＩ／Ｆが対応する。具体的に説明すると、部位１２５１が電源の場合には、状態１２５２に正常に稼働していれば「正常」が、障害が発生している場合には「障害」が記録される。コントローラ及びＦＡＮについても同様である。
【００３７】
また、部位１２５１がホストＩ／Ｆの場合には、状態１２５２に「使用中」又は「未使用」が記憶される。前述したように、ホスト計算機６００は、ＳＡＮ９１０を介してホストＩ／Ｆ１１４に接続するため、図２Ａに示すように、状態１２５２には「使用中」が記録される。一方、アレイ筐体２００は、アレイ筐体１００の筐体間接続Ｉ／Ｆを介してホスト計算機６００によってアクセスされるため、ホストＩ／Ｆ２１４は使用されず、図２Ｂに示すように、状態１２５２に「未使用」が記録される。計算機システムに最初にアレイ筐体が追加された場合には、状態１２５２の初期値は「使用中」が設定され、アレイ筐体が追加された場合には、状態１２５２の初期値は「未使用」が設定される。
【００３８】
なお、ホスト計算機６００によって直接アクセスされるアレイ筐体を１台に限定する必要はなく、複数のアレイ筐体がホスト計算機６００に直接アクセス可能に構成してもよい。各アレイ筐体の構成状態情報１２５に含まれるホストＩ／Ｆの状態１２５２の値は、管理端末５００によって変更することが可能である。
【００３９】
記憶装置構成情報１２６は、各記憶装置の状態を記録する。記憶装置構成情報１２６は、ＨＤＤ番号１２６１、容量１２６２、ＲＡＩＤグループ番号１２６３及び状態１２６４を含む。
【００４０】
ＨＤＤ番号１２６１は、記憶装置１４０の識別情報である。ＨＤＤ番号１２６１は、同一のアレイ筐体内で一意に識別可能であればよい。
【００４１】
容量１２６２は、ＨＤＤ番号１２６１によって識別される記憶装置１４０の記憶容量である。容量１２６２は、アレイ筐体ごと、及び記憶装置ごとに異なっていてもよい。記憶装置の容量は、時代とともに増大すると考えられるため、後に追加されるアレイ筐体の記憶容量がもともと稼働しているアレイ筐体の記憶容量よりも大きいことが考えられる。しかし、ＲＡＩＤグループ全体の記憶容量は、ＲＡＩＤグループに含まれる記憶装置の中で最小の記憶容量に基づいて決定される。したがって、容量効率を考慮すると、一つのアレイ筐体に含まれる記憶装置は、同じ容量であることが望ましい。容量効率とは、提供可能な記憶容量と使用可能な記憶容量との比率である。ＲＡＩＤグループを構成するすべての記憶装置がすべて同じ記憶容量であれば容量効率は１となる。
【００４２】
ＲＡＩＤグループ番号１２６３は、ＨＤＤ番号１２６１によって識別される記憶装置１４０によって構成されるＲＡＩＤグループの識別情報である。なお、記憶装置がＲＡＩＤグループを構成しない場合又は未使用の場合などには空欄となる。
【００４３】
状態１２６４は、ＨＤＤ番号１２６１によって識別される記憶装置の状態を示す情報である。本発明の実施の形態では、記憶装置の状態１２６４には、「正常使用中」、「障害」、「閉塞」又は「空き」のいずれかが記録されるが、さらに他の状態が記録されるようにしてもよい。
【００４４】
「正常使用中」は、対応する記憶装置が正常に稼働している状態である。「障害」及び「閉塞」は、対応する記憶装置に障害が発生した状態である。「障害」は、対応する記憶装置に障害が発生した後、回復処理が実行されていない状態である。一方、「閉塞」は、対応する記憶装置に障害が発生した後、回復処理が実行され、システムから切り離された状態である。「空き」は、対応する記憶装置が使用されていない状態であり、他の記憶装置に障害が発生した場合の回復先になったり、記憶領域の追加が指示された場合に使用される。
【００４５】
アレイ筐体使用時間１２７は、アレイ筐体１００の稼働時間である。アレイ筐体使用時間１２７は必須ではないが、アレイ筐体の使用時間が一定時間を超えた場合など、障害発生以外の理由でアレイ筐体を交換する目安として利用することができる。
【００４６】
ここで、図２Ａ及び図２Ｂを参照しながら構成情報１２２について具体的に説明する。本発明の実施の形態では、まず、アレイ筐体１００が最初に導入され、後でアレイ筐体２００が導入されたとする。アレイ筐体１００に備えられる記憶装置の容量は「５００ＧＢ」、アレイ筐体２００に備えられる記憶装置の容量は「１ＴＢ」である。
【００４７】
図２Ａを参照すると、アレイ筐体１００では、ＨＤＤ番号１２６１が１、２、６、８〜１２の記憶装置が正常に稼働している。ＨＤＤ番号１２６１が３〜５の記憶装置は、過去に障害が発生し、回復処理が完了した「閉塞」状態となっている。さらに、ＨＤＤ番号１２６１が７の記憶装置は、障害が発生し、回復されていない「障害」となっている。
【００４８】
一方、図２Ｂを参照すると、ＨＤＤ番号１２６１が１〜６の記憶装置は正常に稼働している。一方、ＨＤＤ番号１２６１が７〜１２の記憶装置は使用されていない「空き」状態となっている。
【００４９】
ＲＡＩＤグループ番号１２６３が「１」のＲＡＩＤグループは、アレイ筐体１のＨＤＤ番号１２６１が１、２、６〜１２に対応する記憶装置と、アレイ筐体２のＨＤＤ番号１２６１が６に対応する記憶装置とによって構成されている。ＲＡＩＤグループ「１」は、１０台の記憶装置によって構成され、例えば、２台の記憶装置に障害が発生しても回復可能なＲＡＩＤ６構成（８Ｄ２Ｐ）となっている。また、ＲＡＩＤグループは、前述したように、最小の記憶容量に基づいて構成されるため、一台あたりの記憶容量が５００ＧＢとして構成される。したがって、アレイ筐体２００に含まれる記憶装置（ＨＤＤ番号１２６１が６）の容量は１ＴＢであるが、５００ＧＢのみが使用され、残りの５００ＧＢは使用することができなくなっている。
【００５０】
さらに、ＲＡＩＤグループ「１」を構成するアレイ筐体１００の記憶装置（ＨＤＤ番号１２６１が７）に障害が発生しているため、当該記憶装置に格納されたデータを回復する処理が実行される。アレイ筐体１００には状態１２６４が「空き」の記憶装置が含まれていないため、アレイ筐体２００又はアレイ筐体３００に含まれている状態１２６４が「空き」の記憶装置に回復されたデータが格納される。
【００５１】
図３は、本発明の実施の形態のアレイ筐体に含まれる記憶装置に障害が発生した場合に構成を変更する手順を示すフローチャートである。
【００５２】
本処理は、アレイ筐体に含まれる記憶装置に障害が発生した場合に、当該アレイ筐体のコントローラによって実行される。例えば、アレイ筐体１００に含まれる記憶装置１４０に障害が発生した場合には、コントローラ１１０（又はコントローラ１３０）によって本処理が実行される。
【００５３】
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる記憶装置１４０に障害が発生したことを検知すると、状態１２６４が「空き」の記憶装置がアレイ筐体１００に含まれているか否かを判定する（Ｓ３０１）。
【００５４】
アレイ筐体１００のコントローラ１１０は、状態１２６４が「空き」の記憶装置がアレイ筐体１００に含まれている場合には（Ｓ３０１の結果が「Ｙｅｓ」）、障害が発生した記憶装置から「空き」の記憶装置にデータの回復コピーを実行する（Ｓ３０２）。回復コピーとは、ＲＡＩＤグループを構成する、障害が発生した記憶装置以外の記憶装置に格納されたデータによって、障害が発生した記憶装置に格納されたデータを生成し、コピー先の記憶装置に格納することである。
【００５５】
アレイ筐体１００のコントローラ１１０は、回復コピーが完了すると、本処理を終了する。ＲＡＩＤグループを構成する記憶装置が同じアレイ筐体に含まれている方が、管理が容易であり、また、アレイ筐体の交換時に都合が良いため、同じアレイ筐体に含まれている記憶装置に対する回復コピーを最優先で実行する。
【００５６】
アレイ筐体１００のコントローラ１１０は、状態１２６４が「空き」の記憶装置がアレイ筐体１００に含まれていない場合には（Ｓ３０１の結果が「Ｎｏ」）、アレイ筐体１００に含まれる状態１２６４が「正常使用中」の記憶装置の台数が所定の閾値以上であるか否かを判定する（Ｓ３０３）。なお、Ｓ３０３の処理では、アレイ筐体１００に含まれる状態１２６４が「閉塞」の記憶装置の台数が一定数以下であるか否かを判定するようにしてもよい。
【００５７】
アレイ筐体は、閉塞された記憶装置が多くなると、アレイ筐体の記憶容量に対して消費電力が大きくなり、さらに、アレイ筐体を設置する空間あたりの記憶容量が少なくなってしまう。そこで、閉塞された記憶装置の数が所定の閾値を超えた場合には、アレイ筐体の交換を促すようにする。所定の閾値は、例えば、搭載された記憶装置の台数の半分などである。また、所定の閾値を記憶装置の台数とするのではなく、アレイ筐体全体で提供される記憶容量の割合としてもよい。
【００５８】
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる状態１２６４が「正常使用中」の記憶装置の台数が所定の閾値よりも小さい場合には（Ｓ３０３の結果が「Ｎｏ」）、アレイ筐体１００を交換するためにＳ３０４以降の処理を実行する。
【００５９】
アレイ筐体１００のコントローラ１１０は、障害が発生した記憶装置及びアレイ筐体１００で稼働中の記憶装置の台数分、移行可能な容量を備え、かつ、状態１２６４が「空き」の記憶装置が他のアレイ筐体に含まれているか否かを判定する（Ｓ３０４）。すなわち、アレイ筐体１００を取り外すために、回復対象の記憶装置と正常に稼働している記憶装置を他のアレイ筐体にすべて移行可能か否かを判定する。
【００６０】
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる記憶装置を記憶装置ごとに他のアレイ筐体にすべて移行可能な場合には（Ｓ３０４の結果が「Ｙｅｓ」）、まず、障害が発生した記憶装置に格納されたデータを他のアレイ筐体の記憶装置に回復コピーする（Ｓ３０５）。さらに、アレイ筐体１００で正常に稼働している記憶装置を他のアレイ筐体の記憶装置にコピーする（Ｓ３０６）。なお、Ｓ３０５及びＳ３０６の処理については、図４にて後述する。
【００６１】
Ｓ３０６の処理では、データを移行する他のアレイ筐体が複数存在する場合には、障害が発生した記憶装置の容量以上であれば任意であるが、容量効率などを考慮して選択するようにしてもよい。例えば、障害が発生した記憶装置の容量以上で、できるだけ容量の少ない記憶装置を選択することによって、容量効率の悪化を抑えることができる。また、同じＲＡＩＤグループを構成する記憶装置が可能な限り同じアレイ筐体に含まれるようにするために、同じＲＡＩＤグループに含まれる記憶装置が多く含まれるアレイ筐体の記憶装置を選択するようにしてもよい。
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる記憶装置に格納されたデータを他のアレイ筐体にすべて移行すると、アレイ筐体取り外し処理を実行する（Ｓ３０７）。アレイ筐体取り外し処理では、アレイ筐体を取り外すために必要な処理が実行される。アレイ筐体取り外し処理の詳細は、図７にて後述する。
【００６２】
一方、アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる記憶装置に格納されたデータを記憶装置ごとに他のアレイ筐体に移行できない場合には（Ｓ３０４の結果が「Ｎｏ」）、ＲＡＩＤグループの構成を変更することによって、移行対象の記憶装置に格納されたデータを他のアレイ筐体にすべて移行可能か否かを判定する（Ｓ３０８）。すなわち、Ｓ３０４の処理では、ＲＡＩＤ構成を変更することなく記憶装置ごとに移行可能か否かを判定していたが、Ｓ３０８の処理では他のアレイ筐体に含まれる記憶装置の台数は足りない場合に、ＲＡＩＤ構成を変更することによって他のアレイ筐体の空き記憶装置に移行可能であるか否かを判定する。なお、ＲＡＩＤグループを再構成すると、性能が悪化する可能性があるため、Ｓ３０８の判定処理を実行せずにアレイ筐体の追加を要求するＳ３０９の処理を実行するようにしてもよい。
【００６３】
アレイ筐体１００のコントローラ１１０は、ＲＡＩＤグループの構成を変更しても、移行対象の記憶装置に格納されたデータを他のアレイ筐体にすべて移行できない場合には（Ｓ３０８の結果が「Ｎｏ」）、利用者にアレイ筐体の追加を要求する（Ｓ３０９）。十分な容量を有するアレイ筐体が新たに追加されると、Ｓ３０４以降の処理が実行されることによって、アレイ筐体１００を取り外すことが可能となる。
【００６４】
アレイ筐体１００のコントローラ１１０は、ＲＡＩＤグループの構成を変更すれば、移行対象の記憶装置に格納されたデータを他のアレイ筐体にすべて移行可能な場合には（Ｓ３０８の結果が「Ｙｅｓ」）、ＲＡＩＤグループを再構成し、他のアレイ筐体にデータをコピーする（Ｓ３１０）。ＲＡＩＤグループを再構成する処理の詳細は、図９にて後述する。
【００６５】
なお、前述のように、ＲＡＩＤグループを再構成すると性能が悪化する可能性があるため、再構成されるＲＡＩＤグループの用途などに応じてＳ３１０の処理を実行するか否かを判定するようにしてもよい。さらに、ＲＡＩＤグループを構成する記憶装置の数の許容範囲をあらかじめ閾値を設定しておくことによって自動的に判定するようにしてもよいし、管理者が管理端末から選択できるようにしてもよい。
【００６６】
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる状態１２６４が「正常使用中」の記憶装置の台数が所定の閾値以上の場合には（Ｓ３０３の結果が「Ｙｅｓ」）、アレイ筐体１００を交換する必要はないため、他のアレイ筐体に障害が発生した記憶装置に格納されたデータを回復コピーすればよい。しかし、障害が発生したことによって、ＲＡＩＤグループに属する記憶装置が複数のアレイ筐体に分散して配置される場合に、性能又は容量効率が悪化する可能性がある。そこで、アレイ筐体１００に含まれるすべての正常に稼働している記憶装置を他のアレイ筐体にすべて移行させることによって性能又は容量効率の悪化を防ぐことが可能か否かを判定する。
【００６７】
具体的には、まず、アレイ筐体１００のコントローラ１１０は、障害が発生した記憶装置及びアレイ筐体１００で稼働中の記憶装置の台数分、移行可能な容量を備え、かつ、状態１２６４が「空き」の記憶装置が他のアレイ筐体に含まれているか否かを判定する（Ｓ３１１）。すなわち、Ｓ３０４の処理と同じ処理を実行し、他のアレイ筐体に移行可能か否かを判定する。
【００６８】
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００の記憶装置を他のアレイ筐体に移行可能な場合には（Ｓ３１１の結果が「Ｙｅｓ」）、他のアレイ筐体に移行した方が容量効率の悪化を防ぐことができるか否かを判定する（Ｓ３１２）。他のアレイ筐体に移行した方が容量効率の悪化を防ぐことができる場合には（Ｓ３１２の結果が「Ｙｅｓ」）、Ｓ３０５以降の処理を実行する。なお、この場合には、アレイ筐体を取り外す必要はないため、Ｓ３０７の処理を実行しなくてもよい。また、移行時にＲＡＩＤグループの構成を変更してもよい。移行による容量効率の変化については、図５にて後述する。
【００６９】
アレイ筐体１００のコントローラ１１０は、他のアレイ筐体に移行できない場合（Ｓ３１１の結果が「Ｎｏ」）又は他のアレイ筐体に移行しても使用可能領域が増加しない場合には（Ｓ３１２の結果が「Ｎｏ」）、障害が発生した記憶装置の回復コピーを実行可能な記憶装置が他のアレイ筐体に含まれているか否かを判定する（Ｓ３１３）。
【００７０】
アレイ筐体１００のコントローラ１１０は、障害が発生した記憶装置の回復コピーを他のアレイ筐体の記憶装置に実行できない場合には（Ｓ３１３の結果が「Ｎｏ」）、利用者にアレイ筐体の追加を要求する（Ｓ３１４）。アレイ筐体が新たに追加された後、回復コピーが実行される。
【００７１】
アレイ筐体１００のコントローラ１１０は、障害が発生した記憶装置の回復コピーを他のアレイ筐体に含まれる記憶装置に実行可能な場合には（Ｓ３１３の結果が「Ｙｅｓ」）、他のアレイ筐体の記憶装置に回復コピーを実行する（Ｓ３１５）。
【００７２】
図４は、本発明の実施の形態のアレイ筐体を取り外すためにデータをコピーする手順を説明する図である。図４に示す手順は、図３のフローチャートのＳ３０６及びＳ３０７の処理に対応する。
【００７３】
図４では、アレイ筐体１５１及びアレイ筐体１５２が含まれるシステムが示されている。各アレイ筐体には、それぞれ１０台の記憶装置が含まれている。また、アレイ筐体を取り外す基準は、搭載されている半分以上の記憶装置に障害が発生した場合とする。
【００７４】
図４上段は、図３のフローチャートのＳ３０６の処理に対応する。アレイ筐体１５１は、５台の記憶装置の状態が「閉塞」となっており、さらに１台の記憶装置の状態が「障害」となっている。前述したアレイ筐体を取り外す基準によれば、６台目の記憶装置に障害が発生したため、アレイ筐体１５１は取り外し対象となる。
【００７５】
前述したように、アレイ筐体を取り外すためにデータを複製する手順は、まず、障害が発生した記憶装置を他のアレイ筐体１５２に含まれる記憶装置に回復コピーを実行する（Ｓ３０６）。図４に示した例では、障害が発生した記憶装置に格納されたデータは、正常に稼働している他の記憶装置に格納されたデータ及びパリティによって他のアレイ筐体１５２に復元される。回復が完了した記憶装置は、状態１２６４が「障害」から「閉塞」に変更され、システムから切り離される。
【００７６】
図４下段は、図３のフローチャートのＳ３０７の処理に対応する。障害が発生した記憶装置の回復コピーが完了すると、取り外し対象のアレイ筐体で正常に稼働している記憶装置に格納されたデータをアレイ筐体１５２にコピーする（Ｓ３０７）。コピーが完了すると、移行後のＲＡＩＤグループで業務が継続される。
【００７７】
以上のように、アレイ筐体１５１に格納されたデータがアレイ筐体１５２に移行されると、アレイ筐体１５１に含まれる記憶装置の状態は、「閉塞」又は「空き」となり、アレイ筐体１５１の取り外しが可能となる。
【００７８】
図５は、本発明の実施の形態のＲＡＩＤグループ内に異なる容量の記憶装置が混在する場合にＲＡＩＤグループを再構成するか否かによって容量効率が相違する場合を説明する図である。
【００７９】
図５では、アレイ筐体１６１及びアレイ筐体１６２が含まれるシステムが示されている。アレイ筐体１６１には、５００ＧＢの容量の記憶装置が１０台搭載されており、アレイ筐体１６２には、１０００ＧＢ（１ＴＢ）の容量の記憶装置が１０台搭載されている。また、１０台の記憶装置によってＲＡＩＤグループ（ＲＡＩＤ６、８Ｄ＋２Ｐ）が構成されている。
【００８０】
ここで、アレイ筐体１６１に含まれる記憶装置にさらに１台障害が発生した場合について検討すると、障害が発生した記憶装置の回復コピーのみを行う場合（パターン１）と、さらに、アレイ筐体１６１で稼働している同じＲＡＩＤグループに属する記憶装置をすべてアレイ筐体１６２に移行する場合（パターン２）が考えられる。
【００８１】
パターン１では、ＲＡＩＤグループに属する記憶装置に、５００ＧＢの容量の記憶装置が含まれているため、アレイ筐体１６２に含まれる同じＲＡＩＤグループに属する記憶装置は５００ＧＢのみが使用され、残りの５００ＧＢは使用されない。したがって、アレイ筐体１６２の使用可能領域は、４０００ＧＢ（４ＴＢ）となる。
【００８２】
一方、アレイ筐体１６１に含まれ、同じＲＡＩＤグループに属するすべての記憶装置をアレイ筐体１６２に移行させると、ＲＡＩＤグループに属するすべての記憶装置の容量が１ＴＢとなるため、使用不可領域を解消させることができる。したがって、アレイ筐体１６２の使用可能領域は、５０００ＧＢ（５ＴＢ）となる。さらに、移行元のアレイ筐体１６１の５００ＧＢの記憶装置４台分も使用可能領域となるため、システム全体としては、さらに２０００ＧＢ（２ＴＢ）の容量を使用することができる。
【００８３】
図６は、本発明の実施の形態のアレイ筐体に含まれる記憶装置に障害が発生した場合以外にアレイ筐体を取り外す手順を示すフローチャートである。
【００８４】
本処理は、稼働中の各アレイ筐体で実行可能である。本処理は、各アレイ筐体で周期的に実行されてもよいし、一つのアレイ筐体で実行され、他のアレイ筐体の稼働状況を監視するようにしてもよい。処理の概要は、アレイ筐体を構成する記憶装置以外の部品に障害が発生した場合、又は、管理端末５００からアレイ筐体の取り外し指示を受け付けた場合に、アレイ筐体を取り外すための処理を実行する。取り外し対象のアレイ筐体をアレイ筐体１００として説明する。
【００８５】
アレイ筐体１００のコントローラ１１０は、まず、コントローラ、電源、又はＦＡＮに障害が発生したか否かを判定する（Ｓ６０１）。なお、コントローラ、電源及びＦＡＮは、前述のように、二重化されている。また、コントローラ１１０に障害が発生した場合には、コントローラ１３０が本処理を実行する。
【００８６】
アレイ筐体１００のコントローラ１１０は、コントローラ、電源、又はＦＡＮに障害が発生していない場合には（Ｓ６０１の結果が「Ｎｏ」）、アレイ筐体１００の使用時間が所定の閾値を超えたか否かを判定する（Ｓ６０２）。アレイ筐体の耐用年数を超過すると、障害の発生確率が増大するため、利用者にアレイ筐体の交換を促す。所定の閾値は、例えば、アレイ筐体の耐用年数に基づいて決定される。
【００８７】
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００の使用時間が所定の閾値を超えていない場合には（Ｓ６０２の結果が「Ｎｏ」）、管理端末５００からアレイ筐体１００の取り外し指示を受け付けたか否かを判定する（Ｓ６０３）。本発明の実施の形態では、障害発生以外の理由によってアレイ筐体１００を取り外す必要がある場合には、管理端末５００から指示することができる。
【００８８】
アレイ筐体１００のコントローラ１１０は、管理端末５００からアレイ筐体１００の取り外し指示を受け付けていない場合には（Ｓ６０３の結果が「Ｎｏ」）、アレイ筐体使用時間１２７を更新し（Ｓ６０４）、Ｓ６０１の処理に戻る。
【００８９】
一方、アレイ筐体１００のコントローラ１１０は、コントローラ、電源、又はＦＡＮに障害が発生した場合（Ｓ６０１の結果が「Ｙｅｓ」）、アレイ筐体１００の使用時間が所定の閾値を超えた場合（Ｓ６０２の結果が「Ｙｅｓ」）、又は管理端末５００からアレイ筐体１００の取り外し指示を受け付けた場合には（Ｓ６０３の結果が「Ｙｅｓ」）、アレイ筐体１００を取り外すための処理を実行する。アレイ筐体１００を取り外すための処理は、図３に示した障害発生時にアレイ筐体を取り外す処理において、障害が発生した記憶装置のデータを他のアレイ筐体に含まれる記憶装置の回復コピーを行う処理（Ｓ３０５）を除いたものである。
【００９０】
アレイ筐体１００のコントローラ１１０は、図３のＳ３０４の処理と同様に、アレイ筐体１００で稼働中の記憶装置の台数分、移行可能な容量を備え、かつ、状態１２６４が「空き」の記憶装置が他のアレイ筐体に含まれているか否かを判定する（Ｓ６０５）。
【００９１】
アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる記憶装置を記憶装置ごとに他のアレイ筐体にすべて移行可能な場合には（Ｓ６０５の結果が「Ｙｅｓ」）、アレイ筐体１００で正常に稼働している記憶装置を他のアレイ筐体の記憶装置にコピーする（Ｓ６０６）。Ｓ６０６の処理が完了すると、アレイ筐体取り外し処理を実行する（Ｓ６０７）。
【００９２】
一方、アレイ筐体１００のコントローラ１１０は、アレイ筐体１００に含まれる記憶装置に格納されたデータを記憶装置ごとに他のアレイ筐体に移行できない場合には（Ｓ６０５の結果が「Ｎｏ」）、図３のＳ３０８の処理と同様に、ＲＡＩＤグループの構成を変更することによって、移行対象の記憶装置に格納されたデータを他のアレイ筐体にすべて移行可能か否かを判定する（Ｓ６０８）。
【００９３】
アレイ筐体１００のコントローラ１１０は、ＲＡＩＤグループの構成を変更しても、アレイ筐体１００の記憶装置に格納されたデータを他のアレイ筐体にすべて移行できない場合には（Ｓ６０８の結果が「Ｎｏ」）、利用者にアレイ筐体の追加を要求する（Ｓ６０９）。
【００９４】
アレイ筐体１００のコントローラ１１０は、ＲＡＩＤグループの構成を変更すれば、アレイ筐体１００に含まれる記憶装置に格納されたデータを他のアレイ筐体にすべて移行可能な場合には（Ｓ６０８の結果が「Ｙｅｓ」）、ＲＡＩＤグループを再構成し、他のアレイ筐体にデータをコピーする（Ｓ６１０）。その後、アレイ筐体取り外し処理を実行し（Ｓ６０７）、本処理を終了する。
【００９５】
図７は、本発明の実施の形態のアレイ筐体取り外し処理の手順を示すフローチャートである。
【００９６】
本処理は、アレイ筐体を取り外す際に実行され、取り外し対象のアレイ筐体において実行される。取り外し対象のアレイ筐体をアレイ筐体１００として説明する。
【００９７】
アレイ筐体１００のコントローラ１１０は、まず、ホストＩ／Ｆ１１４の状態が「使用中」であるか否かを判定する（Ｓ７０１）。アレイ筐体１００のホストＩ／Ｆ１１４が「使用中」の場合には（Ｓ７０１の結果が「Ｙｅｓ」）、ホストＩ／Ｆが「未使用」のアレイ筐体を検索する（Ｓ７０２）。ホストＩ／Ｆが「未使用」のアレイ筐体が存在しない場合には（Ｓ７０２の結果が「Ｎｏ」）、利用者にアレイ筐体の追加を指示する（Ｓ７０３）。ホストＩ／Ｆが使用中のアレイ筐体を取り外すと、他のアレイ筐体に格納されたデータにアクセスできなくなるため、他のアレイ筐体のホストＩ／Ｆを経由してデータにアクセスできるように設定する必要がある。
【００９８】
一方、アレイ筐体１００のコントローラ１１０は、ホストＩ／Ｆが「未使用」のアレイ筐体が検索された場合には（Ｓ７０２の結果が「Ｙｅｓ」）、検索されたアレイ筐体のホストＩ／ＦをＳＡＮ９１０に接続するように指示する（Ｓ７０４）。なお、ホストＩ／Ｆが「未使用」であるアレイ筐体が複数検索された場合には、取り外される可能性の低いアレイ筐体を選択する。具体的には、閉塞された記憶装置の数が最も少ないアレイ筐体を選択したり、「空き」の記憶装置が最も多い記憶装置を選択する。使用時間が最も少ないアレイ筐体を選択してもよい。
【００９９】
さらに、アレイ筐体１００のコントローラ１１０は、検索されたアレイ筐体の内部スイッチのドライブＩ／Ｆ側ポートを有効化するように指示する（Ｓ７０５）。さらに、取り外し対象のアレイ筐体１００から検索されたアレイ筐体に制御権を移行し、検索されたアレイ筐体のホストＩ／Ｆを「未使用」から「使用中」に構成情報を更新する（Ｓ７０６）。制御権の移行とは、ホストＩ／Ｆの識別情報（例えば、ｉＳＣＳＩの場合には、ＩＰアドレス）を移行させたり、論理ユニットのオーナー権を移行させたりすることである。
【０１００】
アレイ筐体１００のコントローラ１１０は、取り外し対象のアレイ筐体１００のホストＩ／Ｆが「未使用」の場合（Ｓ７０１の結果が「Ｎｏ」）、又は、Ｓ７０６の処理が終了した場合には、バックエンドスイッチの取り外し対象のアレイ筐体が接続された筐体Ｉ／Ｆを無効化する（Ｓ７０７）。こうすることによって、ホスト計算機から誤って取り外し対象のアレイ筐体に接続されることを防ぐことができる。最後に、アレイ筐体１００を物理的にシステムから取り外すことを利用者に指示する（Ｓ７０８）。
【０１０１】
図８は、本発明の実施の形態の利用者がデータ領域を追加する手順を示すフローチャートである。
【０１０２】
本処理は、管理端末５００から利用者によってデータ領域（記憶領域）の追加が指示された場合に実行される。
【０１０３】
管理端末５００は、まず、利用者から追加されるデータ領域の設定情報の入力を受け付ける（Ｓ８０１）。具体的な設定情報は、例えば、記憶装置１台あたりの容量、記憶装置の台数及びＲＡＩＤレベルなどである。アレイ筐体に含まれる記憶装置の一覧から使用する記憶装置を選択し、選択された記憶装置に基づいて、容量及び台数を設定するようにしてもよい。
【０１０４】
管理端末５００は、空き状態であって、利用者に要求された容量及び台数の記憶装置がシステム内のアレイ筐体に含まれている否かを判定する（Ｓ８０２）。利用者に要求された容量及び台数の記憶装置がシステム内のアレイ筐体に含まれていない場合には（Ｓ８０２の結果が「Ｎｏ」）、利用者にアレイ筐体の追加を要求する（Ｓ８０３）。
【０１０５】
一方、管理端末５００は、利用者に要求された容量及び台数の記憶装置がシステム内のアレイ筐体に含まれている場合には（Ｓ８０２の結果が「Ｙｅｓ」）、要求されたＲＡＩＤグループが作成された後に、任意のアレイ筐体を取り外すために必要な空き状態の記憶装置が残されるか否かを判定する（Ｓ８０４）。
【０１０６】
さらに詳しく説明すると、要求されたＲＡＩＤグループが作成されたことにより、新たにデータ領域（記憶領域）が追加されると、計算機システム全体として空き記憶装置（未使用の記憶装置）が少なくなる。このとき、新たにＲＡＩＤグループが作成された後であっても、任意のアレイ筐体について、記憶装置の台数及び容量を変更せずに、正常に使用されている記憶装置を移行可能なだけの空き記憶装置が計算機システム全体に含まれているか否かを判定する。この判定結果に基づいて、ＲＡＩＤグループを作成した後に任意のアレイ筐体を取り外す場合に、新たにアレイ筐体を追加する必要があるか否かを判断することができる。
【０１０７】
管理端末５００は、要求されたＲＡＩＤグループが作成された後に、任意のアレイ筐体を取り外すために必要な空き状態の記憶装置が残される場合には（Ｓ８０４の結果が「Ｙｅｓ」）、要求されたＲＡＩＤグループを作成する（Ｓ８０５）。
【０１０８】
一方、管理端末５００は、要求されたＲＡＩＤグループが作成された後、任意のアレイ筐体を取り外すために必要な空き状態の記憶装置が残されない場合には（Ｓ８０４の結果が「Ｎｏ」）、利用者にその旨の警告を提示し、確認後、要求されたＲＡＩＤグループを作成する（Ｓ８０６）。
【０１０９】
図９は、本発明の実施の形態の取り外し対象のアレイ筐体の記憶装置を他のアレイ筐体に含まれる記憶装置にＲＡＩＤグループを再構成する手順を説明する図である。
【０１１０】
図９には、アレイ筐体１７１及びアレイ筐体１７２によって運用されている状態が示されている。また、アレイ筐体１７１には５００ＧＢの記憶装置が１０台含まれており、アレイ筐体１７２には１ＴＢの記憶装置が１０台含まれている。
【０１１１】
図９を参照すると、アレイ筐体１７１は、既に５台の記憶装置が閉塞している。アレイ筐体を取り外す基準が搭載されている記憶装置の半分以上が稼働していない場合とすれば、さらに一台の記憶装置に障害が発生したとき、アレイ筐体１７１は取り外し対象となる。また、アレイ筐体１７２は、４台の記憶装置が他のＲＡＩＤグループに割り当てられており、さらに５台の記憶装置がアレイ筐体１７１で障害が発生する前に稼働していた記憶装置の回復先となっている。
【０１１２】
ここで、アレイ筐体１７１の一台の記憶装置に障害が発生すると、システムにアレイ筐体１７２以外のアレイ筐体が含まれていない場合には、アレイ筐体を新たに追加する必要がある。このような場合にすぐにアレイ筐体を追加できるとは限らないため、同一のＲＡＩＤレベルでＲＡＩＤグループを再構成することによってアレイ筐体の追加を回避することを試みる（図３のＳ３１０）。
【０１１３】
図９に示したシステムでは、５００ＧＢの記憶装置によって８Ｄ＋２Ｐ（８データ２パリティ）のＲＡＩＤ６構成で実効４ＴＢの記憶領域となっていた。ここで、アレイ筐体１７２で再構成対象のＲＡＩＤグループに属する記憶装置及び空き記憶装置は、１ＴＢの記憶装置が６台となる。この６台の記憶装置によってＲＡＩＤ６のＲＡＩＤグループを構成すると、実効４ＴＢの４Ｄ＋２Ｐ（４データ２パリティ）構成となる。したがって、再構成前の記憶容量を維持することができる。
【０１１４】
このように、同じＲＡＩＤレベルで再構成前と同じ記憶容量を確保できる場合には、ＲＡＩＤグループを再構成してもよい。なお、構成される記憶装置を減らしてＲＡＩＤグループを再構成するとアクセス性能が低下する可能性があるため、ＲＡＩＤグループを再構成する場合には利用者に確認するようにする。また、あらかじめ利用者が記憶装置を減らすことを許容する上限台数を設定しておき、減らされる記憶装置の台数が設定された上限台数以下の場合にＲＡＩＤグループを再構成するようにしてもよい。
【０１１５】
なお、ＲＡＩＤグループを再構成する技術は、特開平０７−１４１１２１号公報に開示されている。特開平０７−１４１１２１号公報には、ＲＡＩＤグループを構成する記憶装置を増やす場合について記載されているが、ＲＡＩＤグループを構成する記憶装置を減らす場合には、アドレスを変換する順序を逆にすることによって同様に適用できる。
【０１１６】
以上のように、本発明の実施の形態によれば、アレイ筐体に障害が発生した場合に、部品単位の交換作業などの複雑な保守作業が必要でないため、利用者は複雑な手順を意識せずにアレイ筐体の交換又は取り外しによって運用保守を行うことができる。
【０１１７】
本発明の実施の形態によれば、アレイ筐体を取り外す場合に、正常に稼働している記憶装置に格納されたデータを自動的に他のアレイ筐体に移行することができるため、利用者は移行処理の終了後に安全にアレイ筐体を取り外すことができる。
【０１１８】
本発明の実施の形態によれば、システムの運用を停止させることなく、アレイ筐体を追加することによって、容量を追加することができる。
【０１１９】
本発明の実施の形態によれば、記憶装置の障害発生などによってＲＡＩＤグループに容量の異なる記憶装置が混在する場合に、ＲＡＩＤグループを再構成することによって、使用できない記憶領域を削減し、容量効率を向上させることができる。
【０１２０】
ここで、図１に示した計算機システムの構成では、バックエンドスイッチを利用することによって、複数のアレイ筐体間を接続していた。バックエンドスイッチが計算機システムに含まれる場合には、アレイ筐体の追加及び取り外しが容易になるが、バックエンドスイッチの導入コストが必要となる。さらに、バックエンドスイッチの保守コストも必要となる。
【０１２１】
そこで、本発明の実施の形態の変形例として、バックエンドスイッチを利用しない構成について説明する。
【０１２２】
図１０は、本発明の実施の形態の計算機システムの変形例の構成を示す図である。
【０１２３】
本発明の実施の形態の計算機システムの変形例には、前述したようにバックエンドスイッチが含まれず、アレイ筐体（１００、２００及び３００）、管理端末５００及びホスト計算機６００が含まれる。
【０１２４】
アレイ筐体の構成は、コントローラごとに筐体間接続Ｉ／Ｆを２つ備える点で図１に示した構成と相違する。その他の構成については図１に示した構成と同じである。
【０１２５】
アレイ筐体は、筐体間接続Ｉ／Ｆを介して他のアレイ筐体にカスケード接続される。また、任意のアレイ筐体の取り外し及び追加を可能とするために、リング型に接続される。なお、アレイ筐体をリング型に接続するのは、常時であってもよいし、アレイ筐体を取り外し又は追加する場合だけであってもよい。
【０１２６】
以上のように、アレイ筐体間をリング型の構成でカスケード接続することによって、アレイ筐体間の接続が複雑になるが、バックエンドスイッチを利用せずに本発明を実施することが可能となる。
【０１２７】
しかし、アレイ筐体間の接続にＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）を利用した場合には、リング状に接続することができないという問題がある。そこで、２つの筐体間接続Ｉ／Ｆによって二重のリング型に構成し、一箇所以上のパスをそれぞれ無効化することによって、冗長化されたツリー状のトポロジを形成することができる。この場合において、アレイ筐体を取り外す手順について図１１を参照しながら説明する。
【０１２８】
図１１は、本発明の実施の形態の変形例において、アレイ筐体を取り外す手順を説明する図である。
【０１２９】
図１１の上部に示す構成では、基本アレイ筐体をアレイ筐体１（１００）とし、アレイ筐体１（１００）にアレイ筐体２（２００）及びアレイ筐体３（３００）が接続され、アレイ筐体２（２００）及びアレイ筐体３（３００）の間の接続が無効化されている。なお、基本アレイ筐体とは、制御権を有し、ホスト計算機に接続されるアレイ筐体である。
【０１３０】
ここで、一例として、図１１の上部に示す構成からアレイ筐体１（１００）を取り外し、基本アレイ筐体をアレイ筐体２（２００）に変更する場合について説明する。このとき実行される処理は、図７のＳ７０７の処理に対応する。
【０１３１】
アレイ筐体１（１００）のコントローラ１１０は、図７のＳ７０６までの処理によって、基本アレイ筐体をアレイ筐体２（２００）に移行させる。そして、アレイ筐体１（１００）とアレイ筐体３（３００）との接続を無効化し、アレイ筐体２（２００）とアレイ筐体３（３００）との接続を有効にする。最後に、アレイ筐体１（１００）とアレイ筐体２（２００）との接続を無効化し、Ｓ７０８の処理で利用者にアレイ筐体１（１００）の取り外しを指示する。
【０１３２】
なお、アレイ筐体に含まれる記憶装置に格納されたデータの移行などの処理は、図３などに示した本発明の実施の形態の処理と同様である。
【０１３３】
本発明の実施の形態の変形例によれば、前述した効果に加え、バックエンドスイッチを使用した場合と比較して、ハードウェアの導入コストを低減させることができる。さらに、バックエンドスイッチの保守に必要なコストを削減することができる。
【図面の簡単な説明】
【０１３４】
【図１】本発明の実施の形態の計算機システムの構成を示す図である。
【図２Ａ】本発明の実施の形態のアレイ筐体の構成情報の一例を示す図である。
【図２Ｂ】本発明の実施の形態の別のアレイ筐体の構成情報の一例を示す図である。
【図３】本発明の実施の形態のアレイ筐体に含まれる記憶装置に障害が発生した場合に構成を変更する手順を示すフローチャートである。
【図４】本発明の実施の形態のアレイ筐体を取り外すためにデータをコピーする手順を説明する図である。
【図５】本発明の実施の形態のＲＡＩＤグループ内に異なる容量の記憶装置が混在する場合にＲＡＩＤグループを再構成するか否かによって容量効率が相違する場合を説明する図である。
【図６】本発明の実施の形態のアレイ筐体に含まれる記憶装置に障害が発生した場合以外にアレイ筐体を取り外す手順を示すフローチャートである。
【図７】本発明の実施の形態のアレイ筐体取り外し処理の手順を示すフローチャートである。
【図８】本発明の実施の形態の利用者がデータ領域を追加する手順を示すフローチャートである。
【図９】本発明の実施の形態の取り外し対象のアレイ筐体の記憶装置を他のアレイ筐体に含まれる記憶装置にＲＡＩＤグループを再構成する手順を説明する図である。
【図１０】本発明の実施の形態の計算機システムの変形例の構成を示す図である。
【図１１】本発明の実施の形態の変形例において、アレイ筐体を取り外す手順を説明する図である。
【符号の説明】
【０１３５】
１００、２００、３００    アレイ筐体
１１０    コントローラ
１１１    プロセッサ
１１２    メモリ
１１３    管理Ｉ／Ｆ
１１４    ホストＩ／Ｆ
１１５    キャッシュメモリ
１１６    ブリッジ
１１７    ドライブＩ／Ｆ
１１８    内部スイッチ
１１９    筐体間接続Ｉ／Ｆ
１２０    入出力プログラム
１２１    構成管理プログラム
１２２    構成情報
１２５    構成状態情報
１２６    記憶装置構成情報
１２７    アレイ筐体使用時間
１３０    コントローラ
１３９    筐体間接続インタフェース
１４０    記憶装置
５００    管理端末
６００    ホスト計算機
７００、８００    バックエンドスイッチ
９００    ＬＡＮ
９１０    ＳＡＮ
【図１】
2010049637.tif 000003
【図２Ａ】
2010049637.tif 000004
【図２Ｂ】
2010049637.tif 000005
【図３】
2010049637.tif 000006
【図４】
2010049637.tif 000007
【図５】
2010049637.tif 000008
【図６】
2010049637.tif 000009
【図７】
2010049637.tif 000010
【図８】
2010049637.tif 000011
【図９】
2010049637.tif 000012
【図１０】
2010049637.tif 000013
【図１１】
2010049637.tif 000014