(57)【特許請求の範囲】
【請求項１】
第一の計算機と、
前記第一の計算機に接続される第二の計算機と、
前記第一及び前記第二の計算機に接続される第一の記憶装置システムと、
前記第一及び前記第二の計算機に接続される第二の記憶装置システムと、
前記第一及び前記第二の記憶装置システムに接続される第三の記憶装置システムと
を備え、
前記第一、第二、および第三の記憶装置システムは、
前記第二の計算機の使用するデータを格納する記憶領域を有し、
前記第一および第二の記憶装置システムは、それぞれ、
当該記憶装置システムに接続される他の記憶装置システム内の前記記憶領域を、当該記憶装置システムの前記記憶領域として前記第二の計算機に提供する仮想化手段を有し、
前記第一の記憶装置システムの前記仮想化手段が、前記第三の記憶装置システム内の第三の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として前記第二の計算機に提供している場合、
前記第一の計算機は、前記第二の記憶装置システムに対し、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権の変更を指示し、
前記第一の計算機は、前記第二の記憶装置システムに対し、前記第三の記憶領域に対応する第二の記憶領域の設定を指示し、
前記第二の記憶装置システムは、前記設定指示に基づいて前記第二の記憶領域を設定し、
前記第一の計算機は、前記第二の計算機に対し、前記第二の記憶領域を認識するように指示し、
前記第一の計算機は、前記第二の計算機に対し、前記第二の計算機から前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第一の経路の交替として、前記第二の計算機から前記第二の記憶領域を介して前記第三の記憶領域に入出力要求を行う第二の経路の設定を指示し、
前記第一の計算機は、前記第二の計算機に対し、前記第一の経路を介した前記第三の記憶領域に対する入出力要求の禁止を指示し、
前記第二の記憶装置システムの前記仮想化手段は、前記第三の記憶領域を前記第二の記
憶領域として前記第二の計算機に提供する
ことを特徴とする、計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記第一の記憶装置システムの前記仮想化手段が、前記第三の記憶装置システム内の第三の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として前記第二の計算機に提供している場合、
前記第一の計算機は、前記第二の記憶装置システムに対し、前記第一の記憶領域に対応する第二の記憶領域の設定を指示し、
前記第二の記憶装置システムは、前記設定指示に基づいて前記第二の記憶領域を設定し、
前記第一の計算機は、前記第二の計算機に対し、前記第二の記憶領域を認識するように指示し、
前記第一の計算機は、前記第二の計算機に対し、前記第二の計算機から前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第一の経路の交替として、前記第二の計算機から前記第二の記憶領域及び前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第三の経路の設定を指示し、
前記第一の計算機は、前記第二の計算機に対し、前記第一の経路を介した前記第三の記憶領域に対する入出力要求の禁止を指示し、
前記第一の計算機は、前記第二の記憶装置システムに対し、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権の変更を指示し、
前記第一の計算機は、前記第二の記憶装置システムに対し、前記第三の記憶領域と前記第二の記憶領域が対応するように対応関係を変更する指示を行い、
前記第二の記憶装置システムの前記仮想化手段は、前記第三の記憶領域を前記第二の記憶領域として前記第二の計算機に提供する
ことを特徴とする、計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記第二の計算機は、前記第一の計算機から前記第二の記憶領域の認識指示を受信した場合、前記第二の記憶領域に対応する識別ファイルを作成し、
前記第二の計算機は、前記第一の計算機から、前記第一の経路の交替として前記第二の経路の設定指示を受信した場合、前記第一および第二の記憶領域のそれぞれに対応する前記識別ファイルが、同一の記憶領域に対応するものとして認識する
ことを特徴とする、計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記第二の計算機は、前記第一の計算機から、前記第一の経路の交替として前記第二の経路の設定指示を受信し、前記第一の経路を介した前記第三の記憶領域に対する入出力要求の禁止指示を受信した場合、前記第二の経路を介して前記第三の記憶領域に対する入出力要求を行う
ことを特徴とする、計算機システム。
【請求項５】
請求項１または２に記載の計算機システムであって、
前記第一の計算機は、前記第一の記憶装置システムの入出力処理量、及び、前記第一の記憶装置システムに対する前記第二の計算機からの入出力要求頻度を取得し、
前記入出力処理量がある閾値に満たない場合、または、前記入出力要求頻度がある閾値以上の場合、
前記第二の記憶装置システムが、前記第一の記憶領域に交替して、前記第三の記憶領域を前記第二の記憶領域として前記第二の計算機に提供する
ことを特徴とする、計算機システム。
【請求項６】
請求項１に記載の計算機システムであって、
前記第一及び第二の記憶装置システムは、それぞれ、前記第二の計算機から送信されるデータを格納する第一及び第二のキャッシュメモリ
を有し、
前記第一の計算機は、前記第二の記憶装置システムに対し、前記第二の記憶領域を設定する際に、前記第二のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第一のモード設定を指示し、
前記第一の計算機は、前記第二の計算機に対して前記第二の記憶領域の認識指示を行った後に、前記第一の記憶装置システムに対し、前記第一のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第二のモード設定を指示し、
前記第一の計算機は、前記第二の計算機に対して前記第一の経路を介した前記第三の記憶領域に対する入出力要求の禁止指示を行った後に、前記第一のモード設定の解除を指示し、
前記第二の記憶装置システムは、前記第二の計算機から前記第三の記憶領域に送信されるデータを、前記第二のキャッシュメモリに格納した後に前記第二の計算機に対して格納処理終了情報を送信する設定を行う
ことを特徴とする、計算機システム。
【請求項７】
請求項２に記載の計算機システムであって、
前記第一及び第二の記憶装置システムは、それぞれ、前記第二の計算機から送信されるデータを格納する第一及び第二のキャッシュメモリを有し、
前記第一の計算機は、前記第二の計算機に対して前記第二の記憶領域の認識指示を行った後に、前記第二の記憶装置システムに対し、前記第二のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第一のモード設定を指示し、
前記第一の計算機は、前記第二の計算機に対して前記第一の経路を介した前記第三の記憶領域に対する入出力要求の禁止指示を行った後に、前記第二の記憶装置システムに対する前記第一のモード設定の解除を指示し、
前記第一の計算機は、前記第一の記憶装置システムに対し、前記第一のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第二のモード設定を指示し、
前記第一の計算機は、前記第二の記憶装置システムに対し、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権を変更する
ことを特徴とする、計算機システム。
【請求項８】
請求項６に記載の計算機システムであって、
前記第一の記憶装置システムは、前記第二の計算機から前記第三の記憶領域に対して入出力要求があった場合、前記第三の記憶領域に対して前記第二の計算機からのアクセスが許可されているかアクセス権を判断し、
前記アクセスが許可されていない場合、前記第二の計算機からの入出力要求を拒否し
前記アクセスが許可されている場合、前記第二のモード設定がされているかを判断し、
前記第二のモード設定がされていない場合、前記第二の計算機からの前記第三の記憶領域に対する入出力要求に対して、入出力処理を実行し、
前記第二のモード設定がされている場合、前記第二の計算機からの前記第三の記憶領域に対するデータの出力要求に対して、出力処理を実行し、
前記第二の計算機からの前記第三の記憶領域に対する入力要求に対して、前記第二の計算機から送信されるデータを前記第一のキャッシュメモリに格納し、前記第三の記憶領域に格納した後に前記第二の計算機に対して前記入力処理の完了情報を送信する
ことを特徴とする、計算機システム。
【請求項９】
制御部と、
記憶装置と、
キャッシュメモリと、
通信部と
を有し、
前記制御部、前記記憶装置、前記キャッシュメモリ、前記通信部は、相互接続網によって接続され、
前記通信部は、第一の計算機、第二の計算機、前記第一の計算機に接続される第一の記憶装置システム、前記第一の記憶装置システムに接続される第二の記憶装置システムのそれぞれに接続され、
前記第一の記憶装置システムが、前記第二の記憶装置システムが有する第二の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として前記第一の計算機に提供している場合、
前記制御部は、前記記憶装置に前記第二の記憶領域に対応する第三の記憶領域を設定し、前記制御部は、前記第一の記憶装置システムから前記第一の記憶領域の属性情報を受信して、前記第三の記憶領域に設定し、
前記第二の計算機が、前記第一の計算機に対して前記第三の記憶領域を認識させる指示を行い、前記第一の記憶領域を介して前記第二の記憶領域に対する入出力要求を行う経路の交替として、前記第三の記憶領域を介して前記第二の記憶領域に対する入出力要求を行う経路を設定した場合、
前記制御部は、前記第二の記憶領域を前記第三の記憶領域として前記第一の計算機に提供する
ことを特徴とする、記憶装置システム。
【請求項１０】
請求項９に記載の記憶装置システムであって、
前記第一の記憶装置システムが、前記第二の記憶装置システムが有する第二の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として前記第一の計算機に提供している場合、
前記制御部は、前記記憶装置に前記第一の記憶領域に対応する第三の記憶領域を設定し、
前記制御部は、前記第一の記憶装置システムから前記第一の記憶領域の属性情報を受信して、前記第三の記憶領域に設定し、
前記第二の計算機が、前記第一の計算機に対して前記第三の記憶領域を認識させる指示を行い、前記第一の記憶領域を介して前記第二の記憶領域に対する入出力要求を行う経路の交替として、前記第三の記憶領域及び前記第一の記憶領域を介して前記第二の記憶領域に対する入出力要求を行う経路を設定した場合、
前記制御部は、前記第二の記憶領域と前記第三の記憶領域が対応するように対応関係を変更し、
前記制御部は、前記第二の記憶領域を前記第三の記憶領域として前記第一の計算機に提供する
ことを特徴とする、記憶装置システム。
【請求項１１】
請求項９に記載の記憶装置システムであって、
前記制御部は、前記第三の記憶領域を設定する際、前記キャッシュメモリに格納された前記第二の記憶領域に送信されるデータを、前記第二の記憶領域に格納した後に前記第一の計算機に対して格納処理終了情報を送信する処理モードを設定し、
前記第二の計算機が、前記第一の計算機に対して前記第三の記憶領域を認識させる指示を行い、前記第一の記憶領域を介して前記第二の記憶領域に対する入出力要求を行う経路の交替として、前記第三の記憶領域を介して前記第二の記憶領域に対する入出力要求を行う経路を設定した場合、
前記制御部は、前記処理モードを解除し、前記第一の計算機から前記第二の記憶領域に送信されるデータを前記キャッシュメモリに格納した後に、前記第一の計算機に対して格納処理終了情報を送信する
ことを特徴とする、記憶装置システム。
【請求項１２】
請求項１１に記載の記憶装置システムであって、
前記第一の計算機から前記第二の記憶領域に対して入出力要求があった場合、
前記制御部は、前記第二の記憶領域に対して前記第一の計算機からのアクセスが許可されているかを判断し、
前記アクセスが許可されていない場合、前記第一の計算機からの入出力要求を拒否し、
前記アクセスが許可されている場合、前記処理モードが設定されているかを判断し、
前記処理モードが設定されていない場合、前記第一の計算機からの記第二の記憶領域に対する入出力要求に対して、入出力処理を実行し、
前記処理モードが設定されている場合、前記第一の計算機からの記第二の記憶領域に対するデータの出力要求に対して、出力処理を実行し、
前記第一の計算機からの記第二の記憶領域に対する入力要求に対して、前記第一の計算機から前記第二の記憶領域に対して送信されるデータを前記キャッシュメモリに格納し、
前記キャッシュメモリに格納されたデータを前記第二の記憶領域に格納した後に、前記第一の計算機に前記入力処理が完了した情報を送信する
ことを特徴とする、記憶装置システム。
【請求項１３】
計算機システムにおけるアクセス制御方法であって、
当該計算機システムは、
第一の計算機と、
前記第一の計算機に接続される第二の計算機と、
前記第一及び前記第二の計算機に接続される第一の記憶装置システムと、
前記第一及び前記第二の計算機に接続される第二の記憶装置システムと、
前記第一及び前記第二の記憶装置システムに接続される第三の記憶装置システムと
を備え、
前記第一、第二、および第三の記憶装置システムは、それぞれ、前記第二の計算機の使用するデータを格納する記憶領域を有し、
前記第一の記憶装置システムが、前記第三の記憶装置システム内の第三の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として前記第二の計算機に提供している場合、
前記第二の記憶装置システムから、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権を変更し、
前記第二の記憶装置システムに、前記第三の記憶領域に対応する第二の記憶領域を設定し、
前記第二の記憶領域に対して前記第一の記憶領域の識別情報を設定し、
前記第二の計算機は前記第二の記憶領域を認識し、
前記第二の計算機から前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第一の経路の交替として、前記第二の計算機から前記第二の記憶領域を介して前記第三の記憶領域に入出力要求を行う第二の経路を設定し、
前記第二の計算機から前記第一の経路を介した入出力要求を禁止し、
前記第二の記憶装置システムは、前記第三の記憶領域を前記第二の記憶領域として前記第二の計算機に提供する
ことを特徴とする、アクセス制御方法。
【請求項１４】
請求項１３に記載の計算機システムにおけるアクセス制御方法であって、
前記第一の記憶装置システムが、前記第三の記憶装置システム内の第三の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として前記第二の計算機に提供している場合、
前記第二の記憶装置システムに、前記第一の記憶領域に対応する第二の記憶領域を設定し、
前記第二の記憶領域に対して前記第一の記憶領域の識別情報を設定し、
前記第二の計算機は前記第二の記憶領域を認識し、
前記第二の計算機から前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第一の経路の交替として、前記第二の計算機から前記第二の記憶領域及び前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第三の経路を設定し、
前記第二の計算機から前記第一の経路を介した入出力要求を禁止し、
前記第二の記憶装置システムから、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権を変更し、
前記第三の記憶領域と前記第二の記憶領域が対応するように対応関係を変更し、
前記第二の記憶装置システムは、前記第三の記憶領域を前記第二の記憶領域として前記第二の計算機に提供する
ことを特徴とする、アクセス制御方法。
【請求項１５】
請求項１３に記載のアクセス制御方法であって、
前記第二の計算機が前記第二の記憶領域を認識する際に、前記第二の記憶領域に対応する識別ファイルを作成し、
前記第二の計算機から前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第一の経路の交替として、前記第二の計算機から前記第二の記憶領域を介して前記第三の記憶領域に入出力要求を行う第二の経路を設定する際に、前記第一および第二の記憶領域のそれぞれに対応する前記識別ファイルは、同一の記憶領域に対応するものとして認識される
ことを特徴とする、アクセス制御方法。
【請求項１６】
請求項１３に記載のアクセス制御方法であって、
前記第二の計算機から前記第一の経路を介した入出力要求を禁止した場合、前記第二の計算機から前記第三の記憶領域に対する入出力要求は、前記第二の経路を介して行われる
ことを特徴とする、アクセス制御方法。
【請求項１７】
請求項１３または１４に記載のアクセス制御方法であって、
前記第一の記憶装置システムの入出力処理量、及び、前記第一の記憶装置システムに対する前記第二の計算機からの入出力要求頻度を検知し、
前記入出力処理量がある閾値に満たない場合、または、前記入出力要求頻度がある閾値以上の場合、前記第一の記憶領域に交替して、前記第三の記憶領域を前記第二の記憶領域として前記第二の計算機に提供する処理を行う
ことを特徴とする、アクセス制御方法。
【請求項１８】
請求項１３に記載のアクセス制御方法であって、
当該計算機システムにおいて、前記第一及び第二の記憶装置システムは、それぞれ、前記第二の計算機から送信されるデータを格納する第一及び第二のキャッシュメモリ
を有し、
前記第二の記憶装置システムに前記第二の記憶領域を設定する際に、前記第二のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第一のモードを設定し、
前記第二の計算機が前記第二の記憶領域を認識した後、前記第一の記憶装置システムに対し、前記第一のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第二のモードを設定し、
前記第二の計算機から前記第一の経路を介した前記第三の記憶領域に対する入出力要求を禁止した後、前記第一のモードを解除する
ことを特徴とする、アクセス制御方法。
【請求項１９】
請求項１４に記載のアクセス制御方法であって、
当該計算機システムにおいて、前記第一及び第二の記憶装置システムは、それぞれ、前記第二の計算機から送信されるデータを格納する第一及び第二のキャッシュメモリを有し、
前記第二の計算機が前記第二の記憶領域を認識した後、前記第二のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第一のモードを設定し、
前記第二の計算機から前記第一の経路を介した前記第三の記憶領域に対する入出力要求を禁止した後、前記第二の記憶装置システムに対して前記第一のモードを解除し、前記第一の記憶装置システムに対し、前記第一のキャッシュメモリに格納された前記第三の記憶領域に送信されるデータを、前記第三の記憶領域に格納した後に前記第二の計算機に対して格納処理終了情報を送信する第二のモードを設定し、
前記第二の記憶装置システムに対し、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権を変更する
ことを特徴とする、アクセス制御方法。
【請求項２０】
制御部と、
通信部と
を有し、
前記通信部は、第一、第二、及び第三の記憶装置システムに接続され、
前記第一の記憶装置システムが、前記第三の記憶装置システムが有する第三の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として、他の計算機に提供している場合、
前記制御部は、前記第二の記憶装置システムに対し、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権の変更を指示し、
前記制御部は、前記第二の記憶装置システムに対し、前記第三の記憶領域に対応する第二の記憶領域の設定を指示し、
前記制御部は、前記他の計算機に対し、前記第二の記憶領域を認識するように指示し、
前記制御部は、前記他の計算機に対し、前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第一の経路の交替として、前記第二の記憶領域を介して前記第三の記憶領域に入出力要求を行う第二の経路の設定を指示し、
前記制御部は、前記他の計算機に対し、前記第一の経路を介した前記第三の記憶領域に対する入出力要求の禁止を指示する
ことを特徴とする、計算機。
【請求項２１】
請求項２０に記載の計算機であって、
前記第一の記憶装置システムが、前記第三の記憶装置システム内の第三の記憶領域を、前記第一の記憶装置システム内の第一の記憶領域として前記他の計算機に提供している場合、
前記制御部は、前記第二の記憶装置システムに対し、前記第一の記憶領域に対応する第二の記憶領域の設定を指示し、
前記制御部は、前記他の計算機に対し、前記第二の記憶領域を認識するように指示し、
前記制御部は、前記他の計算機に対し、前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第一の経路の交替として、前記第二の記憶領域及び前記第一の記憶領域を介して前記第三の記憶領域に入出力要求を行う第三の経路の設定を指示し、
前記制御部は、前記他の計算機に対し、前記第一の経路を介した前記第三の記憶領域に対する入出力要求の禁止を指示し、
前記制御部は、前記第二の記憶装置システムに対し、前記第三の記憶領域に対するアクセスが可能となるようにアクセス権の変更を指示し、
前記制御部は、前記第二の記憶装置システムに対し、前記第三の記憶領域と前記第二の記憶領域が対応するように対応関係を変更する指示を行う
ことを特徴とする、計算機。
【請求項２２】
請求項２０または２１に記載の計算機であって、
前記制御部は、前記第一及び第二の記憶装置システムの構成情報、及び、稼動情報を取得し、取得した前記構成情報及び前記稼動情報に基づいて、一方の前記記憶装置システムが有する前記記憶領域を、他方の前記記憶装置システムに移動する移動指示を送信する
ことを特徴とする、計算機。
【請求項２３】
請求項２２に記載の計算機であって、
前記制御部は、前記第一及び第二の記憶装置システムの前記構成情報として前記各記憶装置システムのある時点での入出力処理量を取得し、
前記各記憶装置システムの一方の前記入出力処理量がある閾値に満たない場合、前記移動指示によって該記憶装置システムから前記記憶領域を移動することを決定し、
前記各記憶装置システムの前記入出力処理量がある閾値に満たす場合、
前記制御部は、前記第一及び第二の記憶装置システムの前記稼動情報として前記各記憶装置システムに対する前記他の計算機からの入出力要求頻度を取得し、
前記各記憶装置システムの一方の前記入出力要求頻度がある閾値以上の場合、前記移動指示によって該記憶装置システムから前記記憶領域を移動することを決定する
ことを特徴とする、計算機。
【請求項２４】
請求項２２に記載の計算機であって、
前記第一および第二の記憶装置システムのうち一方の記憶装置システムが、該記憶装置システムに接続される前記第三の記憶装置システムの前記記憶領域を該記憶装置システム内のある記憶領域として前記他の計算機に提供している場合、
前記制御部は、前記移動指示を送信する際、前記ある記憶領域を優先して移動対象とする
ことを特徴とする、計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムにおいて、計算機が使用するデータを格納する記憶装置システム（以下、ストレージと呼ぶ）、特にホスト計算機（以下、ホストと呼ぶ）と一台以上の他のストレージを接続し、他のストレージ内の記憶領域（以下、デバイスと呼ぶ）を自己のデバイスとして仮想化する、ストレージの制御方法に関する。
【背景技術】
【０００２】
インターネットビジネスの拡大、手続きの電子化など、急速に情報システムが進展する中、コンピュータが送受信するデータ量は、飛躍的に増加している。このようなデータ量の飛躍的増加に加え、ディスク装置へのデータバックアップ（Ｄｉｓｋ−ｔｏ−Ｄｉｓｋ Ｂａｃｋｕｐ）や監査対応などによる企業の業務活動記録（取引情報やメールなど）の長期保管など、ストレージに格納するデータ量も飛躍的に増加を続けている。これに伴い、企業情報システムにおいて、各部門/各システムのストレージの増強を図る一方で、複雑化するＩＴインフラストラクチャの管理の簡素化や効率化が求められている。特にストレージの管理を簡素化し、データの価値に応じ最適なストレージを活用してトータルコストの最適化を図る技術に対する期待が高まっている。
【０００３】
大規模ストレージを有するシステムの管理コストを低減する方法として、特許文献１に開示されるようなストレージ仮想化技術が挙げられる。特許文献１では、第一のストレージを一台以上の第ニのストレージへ接続し、第ニのストレージがホスト等上位装置に提供するデバイスを、第一のストレージを介して第一のストレージの論理的なデバイス（以下、論理デバイスと呼ぶ）としてホストへ提供するストレージ仮想化技術（以下、外部ストレージ接続技術とも呼ぶ）が開示されている。第一のストレージは、ホストからの論理デバイスへの入出力要求を受信した際に、アクセス対象のデバイスが第ニのストレージの論理デバイス、若しくは第一のストレージに含まれるディスク装置などの物理的なデバイス（以下、物理デバイスと呼ぶ）のいずれに対応しているのかを判定し、判定結果に従って適当なアクセス先に入出力要求を振り分ける。
【０００４】
特許文献１に示す外部ストレージ接続技術を利用したストレージを用いると、性能、信頼性、価格などの属性の異なる複数のストレージを統合したシステムを構築できる。例えば、外部ストレージ接続技術を利用した高コスト・高機能・高信頼な第一のストレージと、低コスト・低機能・低信頼な第ニのストレージ複数台とを接続し、記憶領域を階層化することによって、データの鮮度や価値に応じた最適なデータ配置が可能となる。このような記憶階層の異なるストレージを有するシステムを用いることで、監査対応などを目的として、日々の業務で発生する取引情報やメールなどの大量の情報を、各情報が持つ価値に応じて最適なコストで長期間保存することが可能となる。
【０００５】
【特許文献１】特開平２００５-０１１２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ただし、上記のように大量のデータを、ストレージの寿命を超えた数十年レベルの長期にわたって保存する場合、データの保存期間中に計算機システムを構成する機器を交換することが必要となる。特に、外部ストレージ接続技術を適用した第一のストレージを交換する際に、特許文献１では、新規に導入したデータの移行先となる第一のストレージへ、移行元の第一のストレージが管理するデバイスのデータをコピーして移行することが開示されている。このデータのコピー処理によって、既存の第一のストレージが行うデバイスの入出力処理に、スループット低下などの悪影響を及ぼすことが懸念される。更に、移行対象となる大量のデバイスのデータを全てコピーする必要があるため、第一のストレージ間におけるデバイス引継ぎに多くの時間を要する。
【０００７】
また、大規模データセンタなど大量のデータを取り扱うストレージを有するシステムでは、性能確保などの観点により、システム内に第一のストレージを複数台接続して運用することも予想される。このようなシステムの場合、それぞれの第一のストレージは第二のストレージが有する大量のデバイスを仮想化するため、各デバイスに対する入出力負荷（以下、デバイスに対する入出力をＩ／Ｏとも呼ぶ）の変動によっては、第一のストレージ間における負荷の不均衡が拡大することになる。
【０００８】
本発明の目的は、ストレージ仮想化技術を用いた計算機システムにおいて、機器の追加や削減などのシステム構成変更、装置障害による特定ストレージの入出力処理能力低下、ホスト入出力負荷の変動、などによるストレージ処理能力と入出力負荷とのバランスを再調整することである。
【課題を解決するための手段】
【０００９】
ストレージ間の入出力負荷を均等化・最適化するため、デバイスの仮想化を担当するストレージ（以下、仮想化制御ストレージと呼ぶ）間におけるデバイス引継ぎについて、以下の手段を用いて実現する。  
ホストと、管理サーバと、外部ストレージ技術を適用した第一と第二の仮想化制御ストレージ（以下、第一（第二）のストレージとも称する）と、外部ストレージ接続により仮想化される１台以上の第三のストレージで構成される計算機システムにおいて、第三のストレージ内の第三のデバイスが第一のストレージの第一のデバイスとして仮想化されている。第三のデバイスのように、第一のストレージから見て他のストレージ内のデバイスでありながら、第一のストレージ内のデバイスに対応付けられるデバイスを、以下、仮想デバイスと呼ぶ。この際、仮想デバイスとして第三のデバイスを、第一のストレージ内の第一のデバイスから第二のストレージ内の第二のデバイスに移行する。
【００１０】
一つの実施形態として、第二のストレージに第三のデバイスを仮想化する第二のデバイスを定義し、第一のデバイスの属性などを引き継ぎ、ホストと連動することでアクセス対象となるデバイスを、第一のデバイスから第二のデバイスへ切り替えることによって、仮想化制御ストレージにおける仮想デバイスの定義（以下、仮想デバイス定義と呼ぶ）を第一のストレージから第二のストレージに移行する。
【００１１】
また、別の実施形態として、第二のストレージに第一のデバイスを仮想化する第二のデバイスを定義し、ホストからのアクセス対象を第一のデバイスから第二のデバイスへ切り替えた後で、第二のデバイスの仮想化対象を第一のデバイスから第三のデバイスに変更することによって、仮想デバイス定義の移行を行う。
【００１２】
更に、ストレージ処理能力と入出力負荷とのバランスを再調整するため、管理サーバが第一および第二のストレージの構成情報や稼動情報を周期的に収集して、第一および第二のストレージを監視する。制御プロセッサやディスクキャッシュなどの構成部位障害によるＩ／Ｏ処理能力の低下や、ストレージの新規追加や機器老朽化による撤去などのシステム構成変更、もしくはホストからのＩ／Ｏ負荷の変動によるホスト負荷の偏りの発生を検知した上で、上記のデバイスの移行を行うことによって、ストレージ間のＩ／Ｏ負荷を均等化するシステムを実現する。
【発明の効果】
【００１３】
本発明によると、ストレージシステムの運用を継続しながら、仮想化制御ストレージのリプレースや増減設を行うことができる。
更に、ホストのＩ／Ｏ負荷変動などに応じて、仮想化制御ストレージ間での入出力負荷を最適化することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の実施例として、第1及び第2の実施例を説明する。
第1及び第2の実施例は、外部ストレージ接続技術を適用した第一と第二のストレージが、第三のストレージのデバイスを仮想デバイスとして仮想化する複数のストレージによるシステム（以下、仮想ストレージシステムと呼ぶ）において、実施される例である。
【００１５】
第1の実施例は、仮想ストレージシステムにおいて、第三のストレージの第三のデバイスを第一のストレージの第一のデバイスとして仮想化している際に、第二のストレージに第三のデバイスを仮想化する第二のデバイスを定義し、第一のデバイスの属性などを第一のストレージから第二のストレージに引き継ぐ。そして、ホストと連動することで、ホストからのアクセス対象となるデバイスを第一のデバイスから第二のデバイスへ切り替えることによって、仮想デバイス定義の移行を行う。
【００１６】
具体的には、まず、管理サーバが、ユーザもしくはストレージ管理者からの指示に応じて、移動先となる第二のストレージに、第三のデバイスを仮想化する第二のデバイスを定義し、第一のデバイスに設定された各種属性を第二のデバイスへ設定し、第二のデバイスのＬＵパス定義を行う。ここで、ＬＵパス定義とは、上位装置等がストレージのポートから論理デバイスに対してアクセスできるように、各ポートのＬＵＮ（Ｌｏｇｉｃａｌ Ｕｎｉｔ Ｎｕｍｂｅｒ）に論理デバイスを対応付けることを指す。次に、管理サーバは、第二のデバイスをホストへ認識させる指示をホストに対して行った後、第一のストレージの第一のデバイスに対する入出力処理動作モードを、ディスク装置への書き込みをホスト要求と同期実行するモード（以下、キャッシュスルーモードと呼ぶ）に設定する。
【００１７】
続いて、管理サーバは、ホストに対して第二のデバイスへの経路を、第一のデバイスへの経路の交替パスとして定義する。ここで、交替パスとは、ホストから複数の経路（パス）を有する論理デバイスに対し、複数のパスのうちアクセスに使用されていたパスから他のパスに切り替えてアクセスする際に用いられる他のパスを指す。然る後、第一のストレージに対して第一のデバイスへのＩ／Ｏ停止を指示する。この結果、ホストは、それ以降の第一のデバイスへのＩ／Ｏを、交替パスとして設定された経路を介して第二のデバイスへ振り替える。それから、管理サーバは、ホストへ第一のデバイスの交替パス定義の解除を要求し、第一のストレージの第一のデバイスの定義を解除する。
【００１８】
第2の実施例は、上述の仮想ストレージシステムにおいて、第三のストレージの第三のデバイスを第一のストレージの第一のデバイスとして仮想化している際に、第二のストレージに第一のデバイスを仮想化する第二のデバイスを定義し、ホストのアクセス対象を第一のデバイスから第二のデバイスへ切り替えた後で、第二のデバイスの仮想化対象を第一のデバイスから第三のデバイスに変更することによって、仮想デバイス定義の移行を行う。
【００１９】
具体的には、まず、管理サーバが、ユーザもしくはストレージ管理者からの指示に応じて、移動先となる第二のストレージへ第一のデバイスを仮想化した第二のデバイスを定義し、第一のデバイスに設定された各種属性を第二のデバイスへ設定し、第二のデバイスのＬＵパス定義を行う。次に第二のデバイスをホストへ認識させる指示を行った後、第二のストレージに対して第二のデバイスの入出力処理動作モードをキャッシュスルーモードに設定する。
【００２０】
続いて、ホストに対して第二のデバイスへのアクセスパスを第一のデバイスの交替パスとして定義し、然る後、第一のストレージに対してホストからの第一のデバイスへのＩ／Ｏ停止を指示する。この結果、ホストは、それ以降の第一のデバイスへのＩ／Ｏを、交替パスとして設定された経路を介して第二のデバイスへ振り返る。それから、ホストの第一のデバイスの交替パス定義の解除と、第一のストレージの第一のデバイスの定義を解除する。さらに、第二のストレージに対して第二のデバイスのキャッシュスルーモード解除を、第一のストレージに対して第一のデバイスのキャッシュスルーモード設定をそれぞれ指示する。そして第二のストレージの第二のデバイスが第三のストレージの第三のデバイスを仮想化するよう、デバイスの対応関係を変更する。
【００２１】
第1の実施例では、第三のデバイスを仮想化する第一及び第二のストレージの両方においてキャッシュスルーモードの動作を行うことになり、その間の第三のストレージの第三のデバイスに対するライト処理が同期実行されるため、性能低下を引き起こす。しかし、第2の実施例では、一旦、第一のストレージの仮想デバイスを第二のストレージで仮想化（すなわち、二重に仮想化）するため、移行処理中、第一または第二のストレージの少なくとも一方でディスクキャッシュを用いた非同期ライト処理が実行可能であり、性能低下を軽減することができる。
【００２２】
更に、第1及び第2の実施例において、管理サーバ１１０が、第一および第二のストレージの稼動情報や構成情報を監視して、特定の仮想デバイスや第一および第二のストレージへ負荷が集中していることを検知する構成とすることによって、第一および第二のストレージ間で入出力負荷の均等化を実現することができる。
【実施例１】
【００２３】
まず図１から図１０を参照して第１の実施例を説明する。
図１は第１の実施例が適用される計算機システムのハードウェア構成の一例を示す図である。
【００２４】
計算機システムは、１台以上のホスト１００、管理サーバ１１０、ファイバチャネルスイッチ１２０、ストレージ１３０ａおよび１３０ｂ（総称してストレージ１３０と呼ぶ）、管理端末１４０aおよび１４０b（総称して管理端末１４０と呼ぶ）、並びに、外部ストレージ１５０ａおよび１５０ｂ（総称して外部ストレージ１５０と呼ぶ）を有する。ホスト１００、ストレージ１３０および外部ストレージ１５０は各々ポート１０７，１３１，１５１を介してファイバチャネルスイッチ１２０のポート１２１に接続される。また、ホスト１００、ストレージ１３０、外部ストレージ１５０、ファイバチャネルスイッチ１２０は、各々インタフェース制御部（Ｉ／Ｆ）１０６、１３８，１５７，１２３から、ＩＰネットワーク１７５を介して管理サーバ１１０に接続され、管理サーバ１１０で動作する図示しないストレージ管理ソフトウェアによって管理される。尚、本実施例では、ストレージ１３０は管理端末１４０を介して管理サーバ１１０に接続する形態をとるものとするが、ストレージ１３０が直接ＩＰネットワークに接続される構成であっても良い。
【００２５】
ホスト１００は、ＣＰＵ１０１やメモリ１０２などを有する計算機である。ホスト１００は、ディスク装置や光磁気ディスク装置などの記憶装置１０３に格納されたオペレーティングシステムやアプリケーションプログラムなどのソフトウェアをメモリ１０２に読み上げ、ＣＰＵ１０１がメモリ１０２から読み出して実行することで、所定の処理を実行する。ホスト１００は、キーボードやマウスなどの入力装置１０４やディスプレイ１０５等の出力装置を具備し、入出力装置１０４を介して、ホスト管理者などからの入力を受け付け、出力装置を介して、ＣＰＵ１０１から指示された情報を出力する。又、ホスト１００は、ポート１０７以外に、ＩＰネットワーク１７５と接続するための一以上のインタフェース制御部１０６を有する。
【００２６】
管理サーバ１１０は、ホスト１００と同様、ＣＰＵ１１１やメモリ１１２を有する計算機である。管理サーバ１１０は、ディスク装置や光磁気ディスク装置等の記憶装置１１３に格納されたストレージ管理ソフトウェアなどをメモリ１１２に読み上げ、ＣＰＵ１１１がメモリ１１２からそれを読み出して実行することで、計算機システム全体の運用・保守管理といった、所定の処理を実行する。ＣＰＵ１１１によってストレージ管理ソフトウェアが実行されると、管理サーバ１１０は、インタフェース制御部１１６からＩＰネットワーク１７５を介して、計算機システム内の各機器からの構成情報、リソース利用率、性能監視情報、障害ログなどを収集する。そして、管理サーバ１１０は、収集したそれらの情報をディスプレイ１１５等の出力装置に出力して、ストレージ管理者に提示する。また、管理サーバは、キーボードやマウス等の入力装置１１４を介してストレージ管理者からの指示を受信し、受信した運用・保守指示を、インタフェース制御部１１６を介して各機器に送信する。
【００２７】
ストレージ１３０は、1または複数のポート１３１と、1または複数の制御プロセッサ１３２と、各々制御プロセッサ１３２に接続される1または複数のメモリ１３３と、1または複数のディスクキャッシュ１３４と、1または複数の制御メモリ１３５と、1または複数のポート１３６と、各々ポート１３６に接続される１台以上のディスク装置１３７と、インタフェース制御部１３８とを有する。
【００２８】
制御プロセッサ１３２は、ポート１３１から受信した入出力要求についてアクセス対象デバイスを特定し、当該デバイスに対応するディスク装置１３７や外部ストレージ１５０内のデバイスへの入出力要求を処理する。その際、制御プロセッサ１３２は受信した入出力要求に含まれるポートＩＤおよびＬＵＮ（Ｌｏｇｉｃａｌ Ｕｎｉｔ Ｎｕｍｂｅｒ）によって、アクセス対象のデバイスを特定する。尚、本実施例では、ポート１３１としてＳＣＳＩ（Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ）を上位プロトコルとしたファイバチャネルインタフェースに対応したポートを想定している。しかし、ＳＣＳＩを上位プロトコルとしたＩＰネットワークインタフェースなど、ネットワークインタフェースに対応したポートであっても構わない。
【００２９】
本実施例のストレージ１３０は次のようなデバイス階層を有する。まず、複数台のディスク装置１３７によるディスクアレイが構成され、このディスクアレイは制御プロセッサ１３２によって物理デバイスとして管理される。さらに、制御プロセッサ１３２は、ストレージ１３０内に搭載した物理デバイスに対して論理デバイスを割り当てる（即ち、制御プロセッサ１３２は物理デバイスと論理デバイスとを対応づける）。論理デバイスはストレージ１３０内で管理され、その番号はストレージ１３０毎に独立に管理される。
論理デバイスは、各ポート１３１に割り当てられたＬＵＮに対応付けられ、ストレージ１３０のデバイスとしてホスト１００に提供される。即ち、ホストが認識するのはストレージ１３０の論理デバイスであり、ホスト１００は論理デバイスに対応するポート１３１のＬＵＮを用いて、ストレージ１３０に格納されているデータにアクセスする。尚、本実施例では、制御プロセッサ１３２は外部ストレージ１５０の論理デバイスを外部デバイス（以下、あるストレージに対して別筐体のストレージ内にある論理デバイスを、当該ストレージにおける外部デバイスと呼ぶ）として管理し、ストレージ１３０のデバイスとして仮想化する。つまり、ストレージ１３０によって管理される外部デバイスは、仮想デバイスである。外部ストレージ接続技術を用いて取り込んだ外部デバイスは、物理デバイスと同様に、その１つ以上が同ストレージ１３０の論理デバイスと対応づけられる。尚、外部デバイスも各ストレージ１３０内で独立に管理される。
【００３０】
以上のようなデバイス階層を実現するため、制御プロセッサ１３２は、論理デバイス、物理デバイス、ディスク装置１３７、外部デバイス、外部ストレージ１５０の論理デバイス、並びに、それぞれのデバイス間の対応関係を管理する。そして、制御プロセッサ１３２は、論理デバイスに対するアクセス要求を、ディスク装置１３７や外部ストレージ装置１５０の論理デバイスへのアクセス要求に変換し、適当な装置へ送信する処理を行う。
【００３１】
尚、前述の通り、本実施例におけるストレージ１３０は、複数のディスク装置１３７をまとめて１つまたは複数の物理デバイスを定義し（即ち複数のディスク装置１３７をまとめて１つ又は複数の物理デバイスと対応付け）、１つの物理デバイスに１つの論理デバイスを割り当てて、ホスト１００に提供する。しかし、個々のディスク装置１３７を１つの物理デバイスおよび１つの論理デバイスとしてホスト１００に見せるようにしてもよい。
【００３２】
また、制御プロセッサ１３２は、デバイスに対する入出力処理以外にも、データ複製やデータ再配置など、デバイス間の各種データ処理を実行する。
また、制御プロセッサ１３２は、インタフェース制御部１３８を介して接続される管理端末１４０に、ストレージ管理者へ提示する構成情報を送信し、管理者から管理端末１４０に入力された保守・運用指示を管理端末１４０から受信してストレージ１３０の構成変更などを行う。
【００３３】
ディスクキャッシュ１３４には、ホスト１００からデータに対するアクセス要求の処理速度を高めるため、ディスク装置１３７から頻繁に読み出されるデータが予め格納されたり、ホスト１００から受信したデータが一時的に格納される。尚、ホスト１００から受信した書き込み用のデータがディスクキャッシュ１３４に格納された後、ディスク装置１３７に実際に書き込まれる前にホスト１００に対しライト要求に対する応答を返す処理を、ライトアフタと呼ぶ。
【００３４】
ライトアフタを行う場合、ディスクキャッシュに格納されているデータがディスク装置１３７に書き込まれる前に消失することを防止するために、ディスクキャッシュ１３４をバッテリバックアップなどにより不揮発化したり、媒体障害への耐性向上のため二重化したりするなど、ディスクキャッシュ１３４の可用性を向上させることが望ましい。
【００３５】
制御メモリ１３５には、前述のデバイス階層を実現するための各デバイスの属性、デバイス間の対応関係を管理するための制御情報や、ディスクキャッシュ１３４上に保持したディスク反映済み又は未反映データを管理するための制御情報などが格納される。      
制御メモリ１３５に格納されている制御情報が消失すると、ディスク装置１３７に格納されているデータへアクセスできなくなるため、制御メモリ１３５はバッテリバックアップなどにより不揮発化したり、媒体障害への耐性向上のため二重化したりするなど、可用性を向上させることが望ましい。
【００３６】
ストレージ１３０内の各部位は第１図で示すとおり、内部結合網で接続され、各部位間でのデータ、制御情報、及び構成情報の送受信を実行する。この内部結合網により、制御プロセッサ１３２同士が、ストレージ１３０の構成情報を共有して管理することができる。尚、可用性向上の観点から内部結合網も多重化されていることが望ましい。
【００３７】
管理端末１４０は、ＣＰＵ１４２、メモリ１４３、記憶装置１４４、ストレージ１３０と接続されるインタフェース制御部１４１、ＩＰネットワーク１７５と接続されるインタフェース制御部１４７、ストレージ管理者からの入力を受け付ける入力装置１４５、並びに、ストレージ管理者にストレージ１３０の構成情報や管理情報を出力するディスプレイ１４６等の出力装置を有する。ＣＰＵ１４２は記憶装置１４４に格納されているストレージ管理プログラムをメモリ１４３に読み出して実行することにより、構成情報の参照、構成変更の指示、特定機能の動作指示などを行い、ストレージ１３０の保守運用に関して、ストレージ管理者もしくは管理サーバ１１０とストレージ１３０間のインタフェースとなる。尚、本実施形態では、管理端末１４０を介さずに、ストレージ１３０を直接管理サーバ１１０へ接続し、ストレージ１３０を管理サーバ１１０で動作する管理ソフトウェアを用いて管理する構成としてもよい。
【００３８】
外部ストレージ１５０は、ファイバチャネルスイッチ１２０を介してストレージ１３０のポート１３１と接続されるポート１５１、制御プロセッサ１５２、メモリ１５３、ディスクキャッシュ１５４、1つ又は複数のディスク装置１５６及び各々ディスク装置に接続される1つ又は複数のポート１５５を有する。制御プロセッサ１５２は、メモリ１５３に格納されているプログラムを実行することにより、ポート１５１から受信したディスク装置１５６への入出力要求を処理する。尚、本実施形態では、外部ストレージ１５０は制御メモリを有さず、ストレージ１３０より小規模な構成のストレージとしたが、ストレージ１３０と同じ構成を有する1又は複数の同規模のストレージとしてもよい。
【００３９】
尚、本実施例では図１に示すようにストレージ装置１３０のポート１３１と外部ストレージ１５０のポート１５１とをファイバチャネルスイッチ１２０を介して接続するため、ホスト１００からの外部ストレージ１５０に対する直接アクセスを抑止するように、ファイバチャネルスイッチ１２０のゾーニングを設定することが望ましい。また、ファイバチャネルスイッチ１２０を介さずにポート１３１とポート１５１を直接接続してもかまわない。
【００４０】
次に、実施例におけるストレージ１３０のソフトウェア構成について説明する。図２は、ストレージ１３０および管理サーバ１１０およびホスト１００の制御メモリおよびメモリに格納される、制御情報とストレージ制御処理のためのプログラムの一例を示したソフトウェア構成図である。
【００４１】
ストレージ１３０の構成管理情報として、制御メモリ１３５には、論理デバイス管理情報２０１、ＬＵパス管理情報２０２、物理デバイス管理情報２０３、外部デバイス管理情報２０４、キャッシュ管理情報２０５、デバイス機能管理情報２０６がある。本実施例では、情報消失を防ぐために、これらの情報は制御メモリ１３５に格納され、制御プロセッサ１３２から参照・更新可能であるが、その際に相互接続網を介したアクセスが必要となる。
【００４２】
本実施例では、処理性能向上のため、各制御プロセッサ１３２で実行される処理に必要な制御情報の複製を、メモリ１３３に保持する。また、制御端末１４０や管理サーバ１１０も、ストレージ１３０の構成管理情報の複製を有する。管理サーバ１１０もしくは管理端末１４０から、ストレージ管理ソフトウェアもしくはストレージ管理者からの指示を受けてストレージ１３０の構成を変更した場合や、ストレージ１３０内各部位が障害・自動交替などによって構成が変化した場合に、制御プロセッサ１３２のうちの一つが制御メモリ１３５内の該当構成管理情報を更新する。そして、制御プロセッサ１３２は制御情報が構成変更により更新された旨を、相互接続網を介して他制御プロセッサ１３２、管理端末１４０、管理サーバ１１０に通知し、最新情報を制御メモリ１３５から他部位のメモリへ取り込ませる。
【００４３】
また、管理サーバ１１０は、ストレージ１３０や外部ストレージ１５０から受信したデバイス管理情報の複製２３１や、各ストレージの属性を示す図示しないストレージ管理情報をメモリ１１２に保持している。これらの情報はデータ消失を避けるために、管理サーバ１１０に搭載した記憶装置１１３に保持してもよい。
【００４４】
ホスト１００は、ストレージ１３０や外部ストレージ１５０が提供する論理デバイスを認識して、デバイスファイルとして管理する。デバイスファイルと各ストレージの論理デバイスとの対応管理情報を、デバイスパス管理情報２５１と呼ぶ。ストレージ１３０が複数のポート１３１から同一の論理デバイスを提供する場合などには、同一の論理デバイスに対して複数のデバイスファイルが生成される。ホスト１００では、パス管理ソフトなどによって、同一の論理デバイスに対する複数のデバイスファイルを一元管理し、当該論理デバイスへの入出力負荷分散やポート障害時の交替処理を行う。
【００４５】
次に各管理情報について説明する。第一に、論理デバイス管理情報２０１について説明する。図３に論理デバイス管理情報２０１の一例を示す。論理デバイス管理情報２０１は、各論理デバイスにつき、エントリ３０１からエントリ３１１までの情報組を保持する。
【００４６】
エントリ３０１には、論理デバイスを識別するために制御プロセッサ１３２が論理デバイスに割り当てた番号（以下、論理デバイス番号と呼ぶ）が格納されている。
エントリ３０２には、論理デバイス番号により特定される論理デバイスの容量がサイズとして格納されている。
【００４７】
エントリ３０３には、当該論理デバイスに対応づけられる物理デバイス又は外部デバイスの番号が格納される。すなわち、それぞれの管理情報である物理デバイス管理情報２０３又は外部デバイス管理情報２０４のエントリ５０１、又はエントリ６０１が格納される。論理デバイスが未定義の場合、エントリ３０３には無効値が設定される。
【００４８】
尚、本実施例では論理デバイスと物理／外部デバイスは１対１で対応するため、エントリ３０３には一つの物理／外部デバイスの番号が格納される。しかし、複数の物理／外部デバイスを結合して一つの論理デバイスが形成される場合には、論理デバイス管理情報２０１には、各論理デバイスが対応する物理／外部デバイスの番号リストとその数を格納するエントリが必要となる。尚、論理デバイスが未定義の場合、エントリ３０３には無効値が設定される。
【００４９】
エントリ３０４には、当該論理デバイスのデバイスタイプ識別情報が格納される。ストレージ１３０は、キャッシュ上でのデータ管理単位やデバイス管理情報の格納形態（ディスク空間への管理情報格納有無や格納形態など）の異なる、複数のデバイスタイプの論理デバイスを定義することができる。そこで、各論理デバイスがどのデバイスタイプであるかをエントリ３０４で記録する。
【００５０】
エントリ３０５には、当該論理デバイスの状態を示す情報（以下、デバイス状態と呼ぶ）が設定される。デバイス状態としては、「オンライン」、「オフライン」、「未実装」、「ブロックド」が存在する。「オンライン」は、当該論理デバイスが正常に稼動し、管理サーバ１１０によって１つ以上のポート１３１にＬＵパス定義され、ホスト１００からアクセスできる状態であることを示す。「オフライン」は、当該論理デバイスは定義され、正常に稼動しているが、ＬＵパスが未定義であるなどの理由で、ホスト１００からはアクセスできない状態にあることを示す。「未実装」は、当該論理デバイスが物理デバイス又は外部デバイスに対して定義されておらず、ホスト１００からアクセスできない状態にあることを示す。「ブロックド」は、当該論理デバイスに障害が発生してホスト１００からアクセスできない状態を示す。エントリ３０５の初期値は「未実装」であり、論理デバイス定義処理により「オフライン」に、更にＬＵパス定義処理により「オンライン」に変更される。
【００５１】
エントリ３０６には、ポート番号、ターゲットＩＤ、ＬＵＮリストなどの、当該論理デバイスを識別する情報が格納される。ポート番号は、当該論理デバイスに対応付けられたＬＵＮが、複数のポート１３１のうちどのポートであるかを表す情報、即ち当該論理デバイスにアクセスするために用いられるポート１３１の識別情報である。ここでポート１３１の識別情報とは、各ポート１３１に割り振られているストレージ１３０内で一意に識別可能な番号である。また、エントリ３０６に格納されるターゲットＩＤとＬＵＮリストは、当該論理デバイスを識別するための識別子である。本実施例においては、論理デバイスを識別するための識別子として、ＳＣＳＩ上でホスト１００からデバイスをアクセスする場合に用いられるＳＣＳＩ−ＩＤとＬＵＮが用いられる。エントリ３０６の各情報は、当該論理デバイスに対する定義が実行される際に設定される。
【００５２】
エントリ３０７には、当該論理デバイスへのアクセスが許可されているホスト１００を識別するホスト名（以下、接続ホスト名と呼ぶ）が格納される。ホスト名としては、ホスト１００のポート１０７に付与されたＷＷＮ(Ｗｏｒｌｄ Ｗｉｄｅ Ｎａｍｅ)など、ホスト１００もしくはポート１０７を一意に識別可能な値であれば何を用いてもよい。ストレージ１３０は、このほかに、各ポート１３１のＷＷＮなどポートの属性に関する管理情報を有する。当該エントリ３０７は、ストレージ管理者によって論理デバイス定義時に設定される。
【００５３】
エントリ３０８には、当該論理デバイスが後述する同期コピー中又は移行中の場合は、コピー先又は移行先の物理デバイス番号又は外部デバイス番号が設定され、当該論理デバイスが同期コピー中でもデータ移行中でもない場合には無効値が設定される。
【００５４】
エントリ３０９には、当該論理デバイスがデータ移行中である場合に、データ移行が完了した最終アドレスを示す情報（以下、データ移行進捗ポインタと呼ぶ）が格納される。データ移行進捗ポインタは、ホスト１００から当該論理デバイスへのＩ／Ｏ要求を受領した際に、アクセス対象領域が移行済みか未済みかを判定し、処理を選択する際に用いる。
【００５５】
エントリ３１０には、当該論理デバイスが同期コピー中か、データ移行中か、また両状態のどちらにも該当しないか、を示す情報（以下、同期コピー／データ移行中フラグと呼ぶ）が格納される。
【００５６】
エントリ３１１には、当該論理デバイスへのデータ更新処理をキャッシュスルーモードで行うか否かを示す情報（以下、キャッシュスルーフラグと呼ぶ）が格納される。キャッシュスルーモードとは、具体的には、ホストからのデータ更新時に更新データをキャッシュに格納し、さらにディスク装置へ当該更新データを書き込み、その後に当該更新処理の完了をホストへ報告する動作を示す。
【００５７】
第二に、ＬＵパス管理情報２０２について説明する。図４にＬＵパス管理情報２０２の一例を示す。ＬＵパス管理情報２０２は、ストレージ１３０内の各ポート１３１について、各ポートに定義されている有効なＬＵＮの数量分の情報を保持する。
【００５８】
エントリ４０１には、上述のポート番号のように、当該ポート１３１を識別する情報が格納される。
エントリ４０２には、ポート１３１に定義された(割り当てられた)ＬＵＮが格納される。エントリ４０３には、当該ＬＵＮが割り当てられている論理デバイスの番号（以下、対応論理デバイス番号と呼ぶ）が格納される。エントリ４０４には、当該ポート１３１に定義されている当該ＬＵＮに対してアクセスを許可されているホスト１００を示す情報が格納される。ホスト１００を示す情報としては、例えば上述のホスト１００のポート１０７に付与されているＷＷＮが用いられる。
【００５９】
尚、一つの論理デバイスに対して複数のポート１３１のＬＵＮが定義され、複数のポート１３１から当該論理デバイスにアクセスできる場合がある。この場合、当該複数のポート１３１のＬＵＮ各々に関するＬＵパス管理情報２０２の接続ホスト名の和集合（リスト）が、当該論理デバイスに関する論理デバイス管理情報２０１のエントリ３０７に保持される。
【００６０】
第三に、物理デバイス管理情報２０３について説明する。物理デバイス管理情報２０３は、ストレージ１３０内の１台以上のディスク装置１３７から構成される物理デバイスの管理に用いられる。図５に物理デバイス管理情報２０３の一例を示す。各ストレージ１３０は、自装置内に存在する物理デバイス毎に、エントリ５０１からエントリ５０７の情報組を保持する。
【００６１】
エントリ５０１には、物理デバイスを識別するための識別番号（以下、物理デバイス番号と呼ぶ）が登録される。エントリ５０２には、エントリ５０１により特定される物理デバイスの容量が格納される。エントリ５０３には、当該物理デバイスが対応付けられる論理デバイス番号が対応論理デバイス番号として格納される。エントリ５０３の格納は、当該物理デバイスが対応付けられる当該論理デバイスが定義される際に行われる。当該物理デバイスが論理デバイスへ割り当てられていない場合、エントリ５０３には無効値が設定される。
【００６２】
エントリ５０４には、当該物理デバイスの状態を示す情報（デバイス状態）が設定される。状態としては、「オンライン」、「オフライン」、「未実装」、「ブロックド」が存在する。「オンライン」は、当該物理デバイスが正常に稼動し、論理デバイスに割り当てられている状態を示す。「オフライン」は、当該物理デバイスは定義され、正常に稼動しているが、論理デバイスに未割り当てであることを示す。「未実装」は、当該物理デバイスがディスク装置１３７上に定義されていない状態にあることを示す。「ブロックド」は、当該物理デバイスに障害が発生してアクセスできない状態であることを示す。エントリ５０４の初期値は「未実装」であり、物理デバイス定義処理により「オフライン」に、さらに論理デバイスが定義された契機で「オンライン」に変更される。
【００６３】
エントリ５０５には、当該物理デバイスが割り当てられたディスク装置１３７のＲＡＩＤレベル、データディスクとパリティディスク数、データ分割単位であるストライプのサイズなど、ＲＡＩＤ構成に関連する情報が保持される。エントリ５０６には、当該物理デバイスが割り当てられたＲＡＩＤを構成する複数のディスク装置１３７各々の識別番号がリストとして保持される。このディスク装置１３７の識別番号は、ストレージ１３０内でディスク装置１３７を識別するために付与した一意な値である。エントリ５０７には、当該物理デバイスが各ディスク装置１３７内のどの領域に割り当てられているかを示す情報（以下、ディスク内サイズ／オフセットと呼ぶ）が格納される。本実施例では簡単のため、全物理デバイスについて、ＲＡＩＤを構成する各ディスク装置１３７内のオフセットとサイズが同一であるとする。
【００６４】
第四に、外部デバイス管理情報２０４について説明する。外部デバイス管理情報２０４は、ストレージ１３０に接続された外部ストレージ１５０の論理デバイスを外部デバイスとして管理するために用いられる。図６に外部デバイス管理情報２０４の一例を示す。ストレージ１３０は、外部ストレージ１５０内に存在する論理デバイス（＝外部デバイス）毎に、エントリ６０１からエントリ６０８までの情報組を保持する。
【００６５】
エントリ６０１には、ストレージ１３０の制御プロセッサ１３２が当該外部デバイスに対して割り当てた、ストレージ１３０内で一意な値（以下、外部デバイス番号と呼ぶ）が格納される。エントリ６０２には、外部デバイス番号により特定される外部デバイスの容量が格納される。エントリ６０３には、当該外部デバイスが対応付けられているストレージ１３０内の論理デバイスの番号が対応論理デバイス番号として登録される。
【００６６】
エントリ６０４には、物理デバイス管理情報２０３のエントリ５０４と同様に、当該外部デバイスのデバイス状態が設定される。尚、初期状態では、ストレージ１３０は外部ストレージ１５０を接続していないため、エントリ６０４の初期値は「未実装」となる。
【００６７】
エントリ６０５には、当該外部デバイスを搭載する外部ストレージ１５０の識別情報（以下、ストレージ識別情報と呼ぶ）が格納される。ストレージ識別情報としては、同ストレージのベンダ識別情報と、各ベンダが一意に割り振る製造シリアル番号の組み合わせなどが考えられる。エントリ６０６には、当該外部デバイスに対応する外部ストレージ１５０内の論理デバイスについて、外部ストレージ１５０内で割り振られた識別番号、すなわち論理デバイス番号が、外部ストレージ内デバイス番号として格納される。
【００６８】
エントリ６０７には、当該外部デバイスへアクセス可能なストレージ１３０のポート１３１の識別番号（以下、イニシエータポート番号リストと呼ぶ）が登録される。複数のポート１３１から当該外部デバイスへアクセスできる場合には、複数のポート識別番号が登録される。
【００６９】
エントリ６０８には、当該外部デバイスが外部ストレージ１５０の１つ以上のポート１５１にＬＵＮ定義されている場合、それらのポート１５１のポートＩＤおよび当該外部デバイスが割り当てられたターゲットＩＤ／ＬＵＮが１つ又は複数個保持される。尚、ストレージ装置１３０の制御プロセッサ１３２が、ポート１３１を介して外部デバイスにアクセスする場合、当該外部デバイスを識別するための情報として、当該外部デバイスが属する外部ストレージ１５０によって当該外部デバイスに割り当てられたターゲットＩＤ及びＬＵＮが用いられる。
【００７０】
第五に、デバイス機能管理情報２０６について説明する。本情報には、各論理デバイスに設定された様々な属性を示す情報が格納される。デバイスの属性情報の例としては、当該論理デバイスへのアクセスを特定ホストからのみに制限するアクセス制御情報、当該論理デバイスへのリード又はライトアクセスを抑止するアクセス属性情報、当該論理デバイス内データへの暗号化適用有無や暗号化・複合化に用いられる鍵情報などの暗号設定情報、などが挙げられる。
【００７１】
本実施例では、ストレージ１３０は上記の各デバイス管理情報を用いて、デバイスを管理する。当該ストレージ１３０の初期状態としては、当該装置が工場出荷時に既に各ディスク装置１３７に物理デバイスが定義されているものとする。ユーザ又はストレージ管理者はストレージ１３０を導入時に同ストレージ１３０に接続した外部ストレージ１５０の論理デバイスを外部デバイスとして定義する。また、これら物理デバイスまたは外部デバイスに対して論理デバイスを定義し、当該論理デバイスについて各ポート１３１にＬＵＮを定義する。
【００７２】
次に、再び図２に戻り、ストレージ１３０、管理サーバ１１０、ホスト１００のメモリ１３３、１１２、１０２に格納されるプログラムについて説明する。  本実施例では、ユーザ又はストレージ管理者からの指示に応じて、ストレージ１３０間で外部デバイスの制御担当を切り替える処理と、同切り替え処理中の論理デバイスに対するホストＩ／Ｏ処理を行う。これらの処理は、管理サーバ１１０、ストレージ１３０、ホスト１００が連携して実行される。
【００７３】
まず、外部デバイスの制御担当切り替え処理に対応して、管理サーバ１１０にはデバイス移動指示処理２４１がメモリ１１２に、ストレージ１３０にはデバイス移動処理２２２がメモリ１３３に、それぞれ格納される。また切り替え中の論理デバイスへのホストＩ／Ｏ処理に対応して、ホスト１００にはホストＩ／Ｏ処理２６１がメモリ１０２に、ストレージ１３０にはストレージＩ／Ｏ処理２２１がメモリ１３３に、それぞれ格納される。
【００７４】
図７は、管理サーバ１１０で実行される、デバイス移動指示処理２４１の処理フローの一例を示す図である。管理サーバ１１０は、ＩＰネットワーク１７５とインタフェース制御部１１６を介してユーザまたは管理者またはアプリケーションプログラムから、ストレージ１３０ａ（以下、移動元ストレージとも呼ぶ）の第一の論理デバイスをストレージ１３０ｂ（以下、移動先ストレージとも呼ぶ）の第二の論理デバイスへ移動する要求を受理する。当該要求に含まれる情報としては、例えば、ストレージ１３０ａおよび１３０ｂの識別情報、第一および第二の論理デバイス番号、ストレージ１３０ｂにおける第二の論理デバイスのＬＵパス定義に必要な情報（ストレージ１３０ｂのポート１３１特定情報およびＬＵＮのリスト）などが考えられる。
【００７５】
管理サーバ１１０は、移動対象の論理デバイスと対応するデバイスが、外部デバイスか当該ストレージ１３０の内部デバイス（物理デバイス）かのいずれかを判定する（ステップ７０１）。
【００７６】
管理サーバ１１０は、当該論理デバイスが外部デバイスと対応する場合、移動先となるストレージ１３０ｂから、当該外部デバイスに対応する外部ストレージ１５０の第三の論理デバイスに対するアクセスが可能になるように、外部ストレージ１５０に対して第三の論理デバイスのアクセス権変更を指示する（ステップ７０２）。
【００７７】
管理サーバ１１０は、移動先ストレージ１３０ｂに第三の論理デバイスを仮想化する外部デバイスを定義し、当該外部デバイスに対応させて第二の論理デバイスを定義する（ステップ７０３）。外部デバイス定義処理としては、具体的には、第三の論理デバイスをストレージ１３０ｂで仮想化する外部デバイスに関して、対応する外部デバイス管理情報２０４のエントリ中、エントリ６０２からエントリ６０８に、外部ストレージ１５０および第三の論理デバイスに関する情報を設定する。このとき、管理サーバ１１０は、エントリ６０４のデバイス状態を、「未実装」から「オフライン」に変更する。また、管理サーバ１１０は、ストレージ１３０ｂの第二の論理デバイスに対応する論理デバイス管理情報２０１の各エントリに対して、制御情報を設定する。例えば、エントリ３０３の対応物理／外部デバイス番号に対し、第三の論理デバイスを仮想化する当該外部デバイスの番号を設定する。
【００７８】
また、上述したように、本ステップ７０３において、外部デバイス管理情報２０４のエントリ６０４を「オンライン」に変更し、論理デバイス管理情報２０１のエントリ３０５を「未実装」から「オフライン」に変更する。また、第二の論理デバイスの論理デバイス管理情報２０１において、エントリ３１１のキャッシュスルーフラグはオンに設定され、移動先ストレージ１３０ｂにおいて第二の論理デバイスのライト処理はキャッシュスルーモードで処理される。
【００７９】
管理サーバ１１０は、移動元ストレージ１３０ａにて第一の論理デバイスに設定されていた各種属性を、移動先ストレージ１３０ｂの第二の論理デバイスに設定する（ステップ７０４）。このとき、第一の論理デバイスから第二の論理デバイスへ引き継ぐ各種属性の例としては、当該論理デバイスへのアクセスを特定ホスト１００からのみに制限するアクセス制御情報、当該論理デバイスへのリード又はライトアクセスを抑止するアクセス属性情報とアクセス属性情報の設定日時や有効期間などの付随情報、当該論理デバイス内データへの暗号化適用有無や暗号化・復号化に用いられる鍵情報などの暗号設定情報、などが挙げられる。
【００８０】
本ステップ７０４において、管理サーバ１１０は、移動元ストレージ１３０ａから第一の論理デバイスに関する属性を取得し、移動先ストレージ１３０ｂの第二の論理デバイスへ同じ属性を設定する。例えば、第一の論理デバイスに特定のホスト１００からのアクセスのみを許可するアクセス属性が設定されている場合、管理サーバは第一の論理デバイスの論理デバイス管理情報２０１におけるエントリ３０７の接続ホスト名の値を取得し、第二の論理デバイスの論理デバイス管理情報２０１におけるエントリ３０７へ設定する。また、例えば、第一の論理デバイスに２０１０年１月１日に１０年間ライトアクセスを禁止するアクセス属性が設定されていた場合、管理サーバ１１０は第二の論理デバイスに対して２０１０年１月１日の設定日付で設定から１０年間ライトアクセスを禁止するアクセス属性を設定する。
【００８１】
また、本ステップ７０４において、第一の論理デバイスの属性を第二の論理デバイスへ設定する処理は、管理サーバ１１０が行うのではなく、移動元ストレージ１３０ａと移動先ストレージ１３０ｂ間でデバイス属性を引き継いでもよい。例えば、移動元ストレージ１３０ｂから移動先ストレージ１３０ａに対して、第一の論理デバイスの属性情報を問い合わせ、移動元ストレージ１３０ａから返却されたデバイス属性情報を移動先ストレージ１３０ｂで第二の論理デバイスへ設定してもよい。また、逆に、移動元ストレージ１３０ａから移動先ストレージ１３０ｂへ第一の論理デバイスの属性を転送し、第二の論理デバイスへの属性設定を指示してもよい。
【００８２】
そして、管理サーバ１１０は、移動先ストレージ１３０ｂにて第二の論理デバイスのＬＵパスを定義する（ステップ７０５）。具体的には、ＬＵパス定義対象のポート１３１に対応するＬＵパス管理情報２０２のエントリについて、エントリ４０３の対応論理デバイス番号などの設定を行う。また、本ステップ７０５において、第二の論理デバイスに対応する論理デバイス管理情報２０１のエントリに、ＬＵパスを定義したポート１３１情報を設定し、エントリ３０５を「オンライン」に変更する。
【００８３】
管理サーバ１１０は、ホスト１００に対して第二の論理デバイスに対応する移動先ストレージ１３０ｂのＬＵを認識させる指示を行う（ステップ７０６）。ここで、管理サーバ１１０からのＬＵ認識指示を受けたホスト１００は、管理サーバ１１０によってストレージ１３０ｂに新しく割り当てられた第二の論理デバイスに対応するＬＵについてデバイスファイルを作成する。例えば、ヒューレットパッカード社のUNIX（登録商標）オペレーティングシステムでは、「IOSCAN」コマンドにより、新規ＬＵの認識とデバイスファイルの作成が行われる。
【００８４】
ホスト１００では、新規に作成されたデバイスファイルに対応するストレージ１３０の論理デバイスが既に作成されているデバイスファイルと同一のものであれば、それを検知し、これらのデバイスファイルを同じグループとして管理する。この同一性の判定には、ＳＣＳＩのＩｎｑｕｉｒｙコマンドなどにより、ＬＵに対応する各ストレージ１３０内の論理デバイス番号を取得する方法などが考えられる。しかし、第一の論理デバイスと第二の論理デバイスはそれぞれ異なるストレージ１３０ａと１３０ｂのデバイスであるため、この時点では同一のグループには管理されず、ホスト１００は二つのデバイスファイルを別のグループとして認識する。本ステップ７０６において、管理サーバ１１０は、一台以上のホスト１００が移動元ストレージ１３０ａの第一の論理デバイスに対応するＬＵにアクセスしている場合、全てのホスト１００に対して、同様に移動先ストレージ１３０ｂのＬＵを認識させる指示を行う。
【００８５】
管理サーバ１１０は、ホスト１００による移動先ストレージ１３０ｂのLU認識が完了したら、移動元ストレージ１３０ａに対して第一の論理デバイスの動作モードをキャッシュスルーモードに変更するよう指示する（ステップ７０７）。この動作モード変更によって、ストレージ１３０ａは、デバイス移動処理２２２が第一の論理デバイスに関してディスクキャッシュ１３４に保持している未反映の更新データを、全て外部ストレージ１５０の第三の論理デバイスへ書き込む。本ステップ７０７により、ホスト１００からの第一の論理デバイスへのデータ更新は、ホストからの更新要求と同期して、外部ストレージ１５０の第三の論理デバイスへ書き込まれる。したがって、未書き込みの更新データがストレージ１３０ａ内ディスクキャッシュ１３４に滞留することを回避できる。ストレージ１３０で実行される、キャッシュスルーモードにおける更新データの書き込み処理については、後述するデバイス移動処理２２２において説明する。
【００８６】
管理サーバ１１０は、キャッシュスルーモードへの変更に伴う上述の書き込み処理が完了したことを移動元ストレージ１３０ａから通知されたら、ホスト１００に対して、第二の論理デバイスに対応する移動先ストレージ１３０ｂのＬＵに対する経路を、移動元ストレージ１３０ａの第一の論理デバイスについての交替パスとして定義する指示を行う（ステップ７０８）。このとき、１台以上のホスト１００が移動元ストレージ１３０ａの第一の論理デバイスにアクセスする場合、これら全てのホスト１００に対しても同様に交替パスを定義するよう指示する。この交替パス定義によって、ホスト１００は、ステップ７０６で作成した二つのデバイスファイルを、同一の論理デバイスに対応するものとして認識する。このように、一つの交替パスのグループとして定義されると、ホスト１００はストレージ１３０ａおよび１３０ｂを経由する両ＬＵパスから外部ストレージ１５０の第三の論理デバイスに対するアクセスが可能となる。
【００８７】
交替パス定義が完了したら、管理サーバ１１０は移動元ストレージ１３０ａに対して第一の論理デバイスへのホスト１００からのＩ／Ｏ要求の受付を拒否するよう指示し（ステップ７０９）、さらにホスト１００に対して移動元ストレージ１３０ａのＬＵの交替パス定義を解除する指示を行う（ステップ７１０）。このとき、１台以上のホスト１００から第一の論理デバイスをアクセスしていた場合には、これら全てのホスト１００に対して同様の指示を行う。
【００８８】
管理サーバ１１０は、ストレージ１３０ｂに対して第二の論理デバイスのキャッシュスルーモードの解除を指示し、ディスクキャッシュを用いたライト処理を許可する（ステップ７１１）。
【００８９】
管理サーバ１１０は、移動元ストレージ１３０ａからの外部ストレージ１５０の第三の論理デバイスを仮想化する外部デバイスの定義を解除する指示を行い（ステップ７１２）、外部ストレージ１５０に対して、移動元ストレージ１３０ａからの第三の論理デバイスに対するアクセスを禁止するよう、第三の論理デバイスのアクセス権を変更する（ステップ７１３）。
【００９０】
一方、ステップ７０１の判定処理で、対象論理デバイスがストレージ１３０ａ内部の物理デバイスと対応する場合について説明する。
【００９１】
管理サーバ１１０は、まず移動先ストレージ１３０ｂの物理デバイスのうち、論理デバイスが定義されていない未使用の物理デバイスの中から移動先となるものを選定し、本物理デバイスに対応して第二の論理デバイスを定義する（ステップ７１４）。このとき、デバイス移動要求のパラメタ情報として、移動先ストレージ１３０ｂでの移動先物理デバイス特定情報を受信し、指示された物理デバイスを移動先として採用してもよい。また、本実施例では、移動先デバイスとして移動先ストレージ１３０ｂ内の物理デバイスが選定されるが、移動先ストレージ１３０ｂが管理する外部デバイスを移動先デバイスとして選定してもよい。
【００９２】
次に、管理サーバ１１０は、移動元である第一の論理デバイスの属性を第二の論理デバイスに設定し（ステップ７１５）、移動先ストレージ１３０ｂで第二の論理デバイスのＬＵパス定義を指示する（ステップ７１６）。
【００９３】
このＬＵを１台以上のホスト１００に認識させたら（ステップ７１７）、移動元ストレージ１３０ａに対して第一の論理デバイスの全データを移動先ストレージ１３０ｂの第二の論理デバイスに同期コピーするよう指示する（ステップ７１８）。同期コピーとは、ホストの書き込みＩ／Ｏ要求と同期してコピー処理を行うことを指す。同期コピーでは、ホストからの書き込み処理の終了時に、必ずコピー処理も完了していることが保証される。本指示を受けて、移動元ストレージ１３０ａは、対象論理デバイスの全データコピー処理を実行する。また、コピー処理中に到着したホストＩ／Ｏ要求に対しては、対象領域が、同期コピーが完了した領域であればコピー元とコピー先の両方に二重書きし、同期コピーが未完の領域であればコピー元にのみ書き込むといった、同期コピーの進捗に応じたＩ／Ｏ処理を実施する。ストレージ１３０で実行される同期コピーの処理については、後述するデバイス移動処理２２２において説明する。
【００９４】
上述した同期コピーの全データコピー処理の完了報告を移動元ストレージ１３０ａから受信すると、管理サーバ１１０はホスト１００に対して移動先ストレージ１３０ｂのＬＵに対する経路を、移動元ストレージ１３０ａの第一の論理デバイスの交替パスとして定義するよう指示する（ステップ７１９）。
【００９５】
その後、管理サーバ１１０は、移動元ストレージ１３０ａに対して第一の論理デバイスへの１台以上のホスト１００からのＩ／Ｏ停止と同期コピー処理の停止を指示し（ステップ７２０）、１台以上のホスト１００に対して移動元ストレージ１３０ａのＬＵの交替パス定義解除と第一の論理デバイスの初期化を指示する（ステップ７２１、７２２）。ストレージ１３０で実行されるＩ／Ｏ停止の処理については、後述するデバイス移動処理２２２において説明する。本ステップ７２２では、第一の論理デバイスの初期化として、第一の論理デバイスの格納データを消去してもよいし、第一の論理デバイスと対応する物理デバイスの対応関係を解除し、第一の論理デバイスを「未実装」状態としてもよい。また、格納データは消去せず、第一の論理デバイスに設定された属性のみを解除してもよい。
【００９６】
管理サーバ１１０は以上の処理によって、外部デバイス又は内部物理デバイスに対応した論理デバイスの移動処理を行い、ユーザ又はアプリケーションプログラムに対して処理完了を報告して処理を終了する（ステップ７２３）。
【００９７】
図８は、ストレージ１３０で実行される、デバイス移動処理２２２の処理フローの一例を示す図である。ストレージ１３０は、管理サーバ１１０からの処理要求内容によって、処理を選択する（ステップ８０１）。
【００９８】
処理要求が特定論理デバイスへのキャッシュスルーモードの設定の場合、ストレージ１３０は、対象論理デバイスに対応する論理デバイス管理情報２０１のエントリ３１１をオンに設定し（ステップ８０２）、当該論理デバイスについてディスクキャッシュ１３４に保持した未反映の更新データを全て、当該論理デバイスが対応する物理デバイス又は外部デバイスへ書き込む（ステップ８０３）。
【００９９】
管理サーバ１１０からの処理要求が同期コピー指示の場合、要求パラメタから対象となる第一の論理デバイスと移動先ストレージ１３０ｂおよび移動先第二の論理デバイスを決定する。また、本ステップ８０５において、第一の論理デバイスに対応する論理デバイス管理情報２０１のエントリ３０８から３１０に、ストレージ１３０ｂの第二の論理デバイスとの間で同期コピーペアを形成するよう、制御情報を設定する（ステップ８０５）。
【０１００】
そして、第一の論理デバイスに対応する論理デバイス管理情報２０１のエントリ３０９（データ移行進捗ポインタ）を用いながら、第一の論理デバイスの全データを順次第二の論理デバイスへコピーしていく（ステップ８０６）。なお、全データのコピーが完了しても、後述するI/O停止要求等で解除されない限り、第一および第二の論理デバイスに定義された同期コピーは継続される。このとき、同期コピー中に受け付けた当該論理デバイスに対するホスト１００からのデータ更新は、後述するストレージＩ／Ｏ処理２２１により、ホスト要求と同期に移動先ストレージ１３０ｂの第二の論理デバイスへコピーされる。
【０１０１】
一方、管理サーバ１１０からの処理要求が特定論理デバイスに対するＩ／Ｏ停止要求の場合、要求パラメタから対象となる論理デバイスとＩ／Ｏ要求を停止する１台以上のホスト１００を決定し、当該論理デバイスに対応する論理デバイス管理情報２０１のエントリ３０７から、Ｉ／Ｏ停止対象となる１台以上のホスト１００の識別子を消去して、当該ホスト１００から当該論理デバイスに対するＩ／Ｏ要求を停止する（ステップ８０７）。
【０１０２】
続いて、当該論理デバイスが同期コピー実行中であれば、同期コピーを解除し、通常状態となるよう、対応する論理デバイス管理情報２０１のエントリ３０８から３１０を更新する（ステップ８０８）。
【０１０３】
図９は、ストレージ１３０で実行される、ストレージＩ／Ｏ処理２２１の処理フローの一例を示す図である。ポート１３１を経由してホスト１００からのＩ／Ｏ要求を受領したストレージ１３０は、論理デバイス管理情報２０１のエントリ３０７などの情報を元に当該要求のアクセス元ホスト１００からのアクセス権を確認し（ステップ９０１）、アクセス権を持たないホスト１００からの要求である場合には、当該要求を拒否する（ステップ９０８）。      
ステップ９０１において当該Ｉ／Ｏ要求を受付可能である場合、ストレージ１３０は論理デバイス管理情報２０１のエントリ３１１のキャッシュスルーフラグをチェックし、キャッシュスルーモードであるかどうかを判断する（ステップ９０２）。
【０１０４】
キャッシュスルーモードであり、当該要求がライト要求の場合（ステップ９０３）には、ストレージ１３０はホスト１００から受領した更新データをディスクキャッシュ１３４に格納する（ステップ９０４）。その後、ストレージ１３０は当該更新データを当該論理デバイスに対応する物理／外部デバイスへ書き込んで（ステップ９０５）、ディスクキャッシュ１３４に保持した更新データを反映済み状態に変更し（ステップ９０６）、ホスト１００へ当該ライト要求処理の完了を報告する（ステップ９０７）。
【０１０５】
また、対象となる論理デバイスがキャッシュスルーモードではないが（ステップ９０２）、同期コピー中でかつ当該Ｉ／Ｏ要求がライト要求の場合、ストレージ１３０はホスト１００から受領した更新データをディスクキャッシュ１３４に格納する（ステップ９１２）。その後、ストレージ１３０は当該更新データを移行先ストレージ１３０ｂの第二の論理デバイスへ書き込み（ステップ９１３）、ホスト１００へ当該ライト要求処理の完了を報告する（ステップ９０７）。
【０１０６】
また、対象論理デバイスがキャッシュスルーモードでかつ当該要求がライト要求以外の場合、又は対象論理デバイスがキャッシュスルーモードでなく、かつ同期コピー中でないかもしくは同期コピー中であるが当該要求がライト要求以外の場合には、ストレージ１３０は要求されたＩ／Ｏ要求を処理する（ステップ９０９）。
【０１０７】
ステップ９０９において、リード要求処理に対しては、ストレージ１３０は対象データがディスクキャッシュ１３４内に保持されているかをチェックし、無ければ物理デバイス又は外部デバイスから読み上げて、当該データをディスクキャッシュ１３４に格納しつつ、ホスト１００へ転送する。また、ライト要求に対しては、ストレージ１３０はホスト１００から受領した更新データをディスクキャッシュ１３４に保持した時点で当該ライト要求処理の完了をホスト１００へ報告し、以降適切なタイミングで対応する物理デバイス又は外部デバイスへ書き込む。
【０１０８】
図１０は、ホスト１００で実行される、ホストＩ／Ｏ処理２６１の処理フローの一例を示す図である。
ホスト１００は、ホスト１００上で実行されるアプリケーションプログラムからストレージ１３０のＬＵに対応する特定のデバイスファイルへのＩ／Ｏ要求を受領する（ステップ１００１）。
【０１０９】
ホスト１００は、デバイスパス管理情報２５１を参照して当該デバイスファイルに複数のパス（マルチパス）が設定されているかをチェックする（ステップ１００２）。
【０１１０】
複数のパスが設定されていない場合は指定デバイスファイルをアクセス対象とし、設定されている場合には、各パスの状態とＩ／Ｏ振り分けの優先順位に基づいて、アクセス対象となるデバイスファイルを決定する（ステップ１００３）。
【０１１１】
次にホスト１００は、アクセス対象として決定したデバイスファイルを変換して、対応するストレージ１３０およびポート１３１の識別子とＬＵＮを算出する（ステップ１００４）。
【０１１２】
求めたアドレス情報に基づき、ホスト１００は対象デバイスへのＩ／Ｏ要求を送信し、正常終了時はアプリケーションプログラムに対して当該Ｉ／Ｏ要求処理の完了を報告する（ステップ１００６、１００９）。
【０１１３】
ステップ１００６において、異常終了時は当該デバイスに対する交替パスの有無をチェックし（ステップ１００７）、交替パスが存在すれば当該パスより当該Ｉ／Ｏ要求を再送し、Ｉ／Ｏ再試行が成功した場合には当該Ｉ／Ｏ要求処理の完了報告を行う（ステップ１００９）。
また、ステップ１００７において、交替パスが無くなった場合には当該Ｉ／Ｏ要求処理の異常終了報告を行う（ステップ１００９）。
【実施例２】
【０１１４】
図１から図６、図１０、図１２から図１４を参照して第２の実施例を説明する。第１と第２の実施例は多くの共通点を持つため、両者の差異についてのみ述べる。
第２の実施例では、まず移動先ストレージ１３０ｂに、移動元ストレージ１３０ａの第一の論理デバイスを仮想化する外部デバイスを定義し、当該外部デバイスに対応して第二の論理デバイスを定義したら、１台以上のホスト１００のアクセス対象を第二の論理デバイスへ切り替える。その後、移動元ストレージ１３０ａのディスクキャッシュ１３４に滞留した未反映の更新データを外部ストレージ１５０の第三の論理デバイスに書き込んだ後、移動先ストレージ１３０ｂで第三の論理デバイスを仮想化する別の外部デバイスを定義し、第二の論理デバイスを後者の外部デバイスと対応付くように対応関係を切り替える。
【０１１５】
第１と第２の実施例では、図１で示されるハードウェア構成および図２で示されるソフトウェア構成はほぼ同じである。ただし、デバイス切り替え手順の違いによって、デバイス移動指示処理２４１、デバイス移動処理２２２、ストレージＩ／Ｏ処理２２１の３つの処理で違いがある。
【０１１６】
図１２は、第２の実施例における管理サーバ１１０で実行される、デバイス移動指示処理２４１の処理フローの一例を示す図である。第１の実施例と同様に、ユーザまたは管理者またはアプリケーションプログラムからのデバイス移動要求を受け付けた管理サーバ１１０は、移動要求のパラメタ情報に基づき、まず移動先ストレージ１３０ｂにて、移動元ストレージ１３０ａの第一の論理デバイスを仮想化する第二の外部デバイスを定義する。同時に、本ステップにおいて、管理サーバ１１０は、第二の外部デバイスに対応する第二の論理デバイスを定義する（ステップ１２０１）。
【０１１７】
次に、管理サーバ１１０は、移動元ストレージ１３０ａにて第一の論理デバイスに設定されていた属性を移動先ストレージ１３０ｂの第二の論理デバイスに設定し（ステップ１２０２）、移動先ストレージ１３０ｂで第二の論理デバイスへのＬＵパス定義を行い（ステップ１２０３）、１台以上のホスト１００へ同ＬＵを認識させる（ステップ１２０４）。
【０１１８】
続いて、管理サーバ１１０は、移動先ストレージ１３０ｂに対して、第二の論理デバイスのキャッシュスルーモードを設定するよう指示する（ステップ１２０５）。
【０１１９】
この状態で、管理サーバ１１０は、１台以上のホスト１００に対して、移動先ストレージ１３０ｂのＬＵを移動元ストレージ１３０ａの対象ＬＵに対する経路の交替パスとして定義し（ステップ１２０６）、さらに移動元ストレージ１３０ａに対して、第一の論理デバイスに対する１台以上のホスト１００からのＩ／Ｏ停止を指示する（ステップ１２０７）。
【０１２０】
これによって、該当する１台以上のホスト１００からの移動元ストレージ１３０ａのＬＵへのＩ／Ｏ要求が拒絶されるため、交替パスが設定された移動先ストレージ１３０ｂのＬＵへ、以降のＩ／Ｏ要求が送信される。
【０１２１】
さらに、管理サーバ１００は、１台以上のホスト１００に対して移動元ストレージ１３０ａのＬＵに対する経路を交替パスから解除する指示を、移動先ストレージ１３０ｂに対して第二の論理デバイスのキャッシュスルーモードを解除する指示を、それぞれ行う。（ステップ１２０８、１２０９）。
【０１２２】
こうして、１台以上のホスト１００のアクセス対象を移動先ストレージ１３０ｂのＬＵへ切り替えることができる。第２の実施例では、この状態からさらに移動元ストレージ１３０ａの第一の論理デバイスを、第二の論理デバイスへ移動する処理を実施する。
【０１２３】
まず、管理サーバ１１０は、移動対象である第一の論理デバイスが外部デバイスもしくは移動元ストレージ１３０ａ内部の物理デバイスのどちらに対応するかを判定する（ステップ１２１０）。
【０１２４】
外部デバイスに対応する場合は、管理サーバ１１０は、移動元ストレージ１３０ａの第一の論理デバイスのキャッシュスルーモード設定を指示し、ディスクキャッシュ１３４に保持されている、第一の論理デバイス（すなわち、外部ストレージ１５０の第三の論理デバイス）への未反映の更新データを全て第三の論理デバイスへ書き込ませる（ステップ１２１１）。
【０１２５】
未反映更新データの書き込みが全て完了したら、管理サーバ１１０は、外部ストレージ１５０内の第三の論理デバイスに対して、移動先ストレージ１３０ｂからのアクセスが可能になるようアクセス権を変更し（ステップ１２１２）、移動先ストレージ１３０ｂに第三の論理デバイスを仮想化する第三の外部デバイスを定義したら（ステップ１２１３）、移動先ストレージ１３０ｂにおける第二の論理デバイスと第二の外部デバイスとの対応を変更し、第二の論理デバイスと第三の外部デバイスを対応させる（ステップ１２１４）。
【０１２６】
然る後、移動元ストレージ１３０ａから、外部ストレージ１５０の第三の論理デバイスへのアクセスを禁止するようにアクセス権を変更する（ステップ１２１６）。
これらの処理が完了したら、管理サーバ１１０は当該デバイス移動要求処理の完了を要求元へ報告する（ステップ１２１７）。
【０１２７】
一方、第一の論理デバイスが物理デバイスに対応する場合は、移動先ストレージ１３０ｂ内の物理デバイスのうち、論理デバイスに対応付かない未使用の第二の物理デバイスを選定し、第二の論理デバイスと第二の物理デバイスを対応させる（ステップ１２１８）。  そして、移動先ストレージ１３０ｂに対して、第一の論理デバイスの全データを第二の物理デバイスへ移行するよう指示する（ステップ１２１９）。
全データの移行が完了したことをストレージ１３０ｂからの完了報告で検知したら、管理サーバ１１０は要求元に対して当該処理の完了を報告する（ステップ１２１７）。
【０１２８】
図１３は、第２の実施例において、ストレージ１３０で実行されるデバイス移動処理２２２の処理フローの一例を示す図である。ストレージ１３０は、管理サーバ１１０からの要求処理内容をチェックし、キャッシュスルーモード設定処理の場合は第１の実施例と同様に当該論理デバイスへのキャッシュスルーモード設定、およびディスクキャッシュ１３４に保持した当該論理デバイスに対する未反映更新データの物理／外部デバイスへの書き込みを行う（ステップ１３０２、１３０３）。
【０１２９】
キャッシュスルー解除指示処理の場合は、ストレージ１３０は、指定された論理デバイスの論理デバイス管理情報２０１のエントリ３１１（キャッシュスルーフラグ）をオフに設定する（ステップ１３０５）。
【０１３０】
データ移行処理の場合は、ストレージ１３０は、パラメタ情報で指定された対象論理デバイスに対して、当該論理デバイスに対応する移行元物理／外部デバイスと別途指定される移行先物理／外部デバイスとの間でデータ移行処理を実施し、全てのデータ移行が完了した時点で当該論理デバイスを移行先物理／外部デバイスへ対応付くよう、論理デバイスと物理／外部デバイスの対応関係を変更する（ステップ１３０６、１３０７）。具体的には、ストレージ１３０は、当該論理デバイスに対応する論理デバイス管理情報２０１のエントリ３０３に移行先物理／外部デバイス番号を設定し、エントリ３１０のデータ移行中フラグをオフにする。また、ストレージ１３０は、移行先および移行元となる物理／外部デバイスに対応する物理／外部デバイス管理情報２０３／２０４のエントリ５０３／６０３およびエントリ５０４／６０４を更新する。
【０１３１】
最後に、要求処理がＩ／Ｏ停止処理の場合は、第１の実施例と同様、ストレージ１３０は、対象論理デバイスへ指定された１台以上のホスト１００からのＩ／Ｏ要求を抑止するよう制御情報を更新する（ステップ１３０８）。
【０１３２】
図１４は、第２の実施例において、ストレージ１３０で実行されるストレージＩ／Ｏ処理２２１の処理フローの一例を示す図である。尚、ステップ１４０１からステップ１４０８までの処理は、図９で示す第１の実施例におけるストレージＩ／Ｏ処理２２１のステップ９０１からステップ９０８までと同様であるため、説明は省略する。
【０１３３】
第２の実施例では、対象となる論理デバイスがキャッシュスルーモードでない場合、ストレージ１３０は、当該論理デバイスがデータ移行中、かつ当該Ｉ／Ｏ要求のアクセスアドレスが移行済み領域である場合には移行先の、移行済み領域でない場合には移行元、すなわち当該論理デバイスに現時点で対応している物理／外部デバイスに対して当該Ｉ／Ｏ要求処理を実行する（ステップ１４０９から１４０１２）。
【０１３４】
本発明によれば、外部ストレージ接続技術を利用した複数の仮想化制御ストレージのうち、第一の仮想化制御ストレージから別の第二の仮想化制御ストレージへ、仮想化されている第三のストレージの第三のデバイスに対するホストＩ／Ｏ要求を受け付けながら、仮想デバイス制御を切り替えることが可能となる。
【０１３５】
つまり、ホストのＩ／Ｏ負荷変動などによる仮想化制御ストレージ間での負荷不均衡の発生に応じて、仮想デバイス制御の担当を仮想化制御ストレージ間で切り替えることで、仮想化制御ストレージ間での入出力処理量の均等化・最適化が可能となる。これによって、システム運用中の負荷再調整の機構を具備することができ、大量のデバイスを搭載した大規模仮想ストレージシステムの性能設計をより簡易に行うことが可能となる。
【０１３６】
以上に説明した第１および第２の実施例では、ストレージ１３０間のデバイス移動指示はユーザまたは管理者またはアプリケーションプログラムから移動対象となる論理デバイスおよび移動先ストレージ１３０が指定されるとしていた。ここでは、図１１を参照し、移動対象デバイスおよび移動先ストレージ１３０の選定処理の一例として、管理サーバ１１０で実行されるストレージ負荷監視処理２４２について説明する。
【０１３７】
管理サーバ１１０は、ＩＰネットワーク１７５を経由して、ストレージ１３０の構成情報を周期的に取得し、各ストレージ１３０で構成異常が発生しているかをチェックする（ステップ１１０１、１１０２）。
【０１３８】
ディスクキャッシュ１３４や制御プロセッサ１３２の障害によって特定ストレージ１３０のＩ／Ｏ処理能力が低下していることを検知した場合、管理サーバ１１０は、当該ストレージ１３０を移動元ストレージ１３０ａと決定する（ステップ１１０８）。
【０１３９】
該当するストレージ１３０が検出されなかった場合、管理サーバ１１０は、周期的に各ストレージ１３０から各論理デバイスのＩ／Ｏ頻度、各制御プロセッサ１３２やディスクキャッシュ１３４の利用率などの稼動情報を取得する（ステップ１１０３）。
【０１４０】
各ストレージ１３０間のＩ／Ｏ負荷の差が規定レベル以上である場合、管理サーバ１１０は、高負荷ストレージを移動元ストレージ１３０ａと決定する（ステップ１１０４、１１０５）。
【０１４１】
ステップ１１０５またはステップ１１０８によって決定した移動元ストレージ１３０ａに対して、管理サーバ１１０は、移動元となる第一の論理デバイスを選定し、さらに移動先ストレージ１３０ｂおよび移動先となる第二の論理デバイスを選定して、当該デバイス移動をデバイス移動指示処理２４１に対して要求する（ステップ１１０６、１１０７）。本ステップ１１０６において、移動元となる第一の論理デバイスとしては、定常的に負荷の高い論理デバイスを選定するなど、ストレージ内のデバイス間負荷均衡化を目的としたデータ移行で用いられる従来公知の選定論理が適用できる。
【０１４２】
本発明では、論理デバイスが外部デバイスに対応するか物理デバイスに対応するかによって、移動処理が異なる。外部デバイスに対応する場合は、キャッシュに滞留した未反映更新データをデバイスに書き込むだけでよく、物理デバイスに対応する場合のように当該物理デバイスに保持した全データをコピーする必要がない。よって、ステップ１１０６の移動元となる第一の論理デバイスの選定では、外部デバイスに対応する論理デバイスを優先して選択することが望ましい。また、移動元の第一の論理デバイスが外部デバイスに対応する場合は、当該外部デバイスが含まれる外部ストレージ１５０に対して外部ストレージ接続が可能なストレージ１３０の中から、移動先ストレージ１３０ｂを選定するのが望ましい。
【０１４３】
以上のように、ストレージ負荷監視処理２４２によって、仮想化制御ストレージ内のキャッシュメモリや制御プロセッサなどの資源が機器障害などで使えなくなった場合や、仮想化制御ストレージのＩ／Ｏ処理能力が低下した場合、これらの状態を検知することができる。また、検知した結果、当該仮想化制御ストレージの仮想デバイス制御を他の仮想化制御ストレージへ振り替えて、ストレージシステム全体のＩ／Ｏ処理能力を最大限活用することができる。
【０１４４】
尚、本発明は上記の実施例に限定されず、数々の変形が可能である。
本発明の第１および第２の実施例では、管理サーバ１１０が１台以上のホスト１００、移動元ストレージ１３０ａ、および移動先ストレージ１３０ｂ間での移行処理の指示を行い、管理サーバ１１０の制御下でデバイス移動処理を実行する。移動元ストレージ１３０ａと移動先ストレージ１３０ｂ間での属性引継ぎやキャッシュスルーモードの設定、解除のタイミングは全て管理サーバ１１０が制御する。しかし、これらの処理の一部を管理サーバ１１０ではなく、移動先ストレージ１３０ｂが行ってもかまわない。例えば、移動先ストレージ１３０ｂが管理サーバ１１０からデバイス移動指示を受領し、以降、移動元ストレージ１３０ａからのデバイス属性の取得や、移動元ストレージ１３０ａへのキャッシュスルーモードの設定指示などを両ストレージ間の通信で実現してもよい。
【０１４５】
また、本発明の実施例では、外部ストレージ接続技術を適用したストレージ１３０による仮想ストレージシステムが対象であるが、ストレージ仮想化技術を有する仮想スイッチによる仮想ストレージシステムでもほぼ同様のデバイス移動方法が適用できる。
【０１４６】
図１５に、本発明の変形となるハードウェア構成図を示す。図中のファイバチャネルスイッチ１２０が制御装置１８０ａおよび１８０ｂ（総称して制御装置１８０と呼ぶ）と協働し、ストレージ仮想化技術による仮想デバイスを提供する。このとき、外部ストレージ１５０を仮想化する制御装置１８０ａから異なる制御装置１８０ｂへのデバイス移動が考えられる。本発明の変形では、本発明の第１または第２の実施例で説明したストレージ１３０による仮想ストレージシステムとは異なり、各制御装置１８０がディスクキャッシュ１３４を搭載しないため、ディスクキャッシュ１３４に滞留した移動元論理デバイスの更新データの書き込みが不要となる。一例として、図１６に、管理サーバ１１０で実行されるデバイス移動指示処理２４１の処理フロー図を示す。本発明の変形では、ディスクキャッシュに滞留した更新データを考慮しなくてもよいため、デバイス間での属性引継ぎのみで制御装置１８０間でのデバイスの移動が可能となる。
【図面の簡単な説明】
【０１４７】
【図１】本発明が適用される計算機システムのハードウェア構成の一例を示す図である。
【図２】本発明が適用される計算機システムのソフトウェア構成の一例を示す図である。
【図３】論理デバイス管理情報の一例を示す図である。
【図４】ＬＵパス管理情報の一例を示す図である。
【図５】物理デバイス管理情報の一例を示す図である。
【図６】外部デバイス管理情報の一例を示す図である。
【図７】本発明実施例１において、管理サーバ１１０で実行される、デバイス移動指示処理２４１の処理フローの一例を示す図である。
【図８】本発明実施例１において、ストレージ１３０で実行される、デバイス移動処理２２２の処理フローの一例を示す図である。
【図９】本発明実施例１において、ストレージ１３０で実行される、ストレージＩ／Ｏ処理２２１の処理フローの一例を示す図である。
【図１０】本発明実施例１において、ホスト１００で実行される、ホストＩ／Ｏ処理２６１の処理フローの一例を示す図である。
【図１１】本発明実施例１または２において、管理サーバ１１０で実行される、ストレージ負荷監視処理２４２の処理フローの一例を示す図である。
【図１２】本発明実施例２において、管理サーバ１１０で実行される、デバイス移動指示処理２４１の処理フローの一例を示す図である。
【図１３】本発明実施例２において、ストレージ１３０で実行される、デバイス移動処理２２２の処理フローの一例を示す図である。
【図１４】本発明実施例２において、ストレージ１３０で実行される、ストレージＩ／Ｏ処理２２１の処理フローの一例を示す図である。
【図１５】本発明が適用される計算機システムのハードウェア構成について別の一例を示す図である。
【図１６】本発明実施例の変形において、管理サーバ１１０で実行される、デバイス移動指示処理２４１の処理フローの一例を示す図である。
【符号の説明】
【０１４８】
１００…ホスト
１１０…管理サーバ
１２０…ファイバチャネルスイッチ
１３０…ストレージ
１４０…管理端末
１５０…外部ストレージ
１７５…ＩＰネットワーク
２０１…論理デバイス管理情報
２０２…ＬＵパス管理情報
２０３…物理デバイス管理情報
２０４…外部デバイス管理情報
２０５…キャッシュ管理情報
２０６…デバイス機能管理情報
２２１…ストレージＩ／Ｏ処理
２２２…デバイス移動処理
２４１…デバイス移動指示処理
２４２…ストレージ負荷監視処理
２５１…デバイスパス管理情報
２６１…ホストＩ／Ｏ処理
【図１】
0004842593.tif 000002
【図２】
0004842593.tif 000003
【図３】
0004842593.tif 000004
【図４】
0004842593.tif 000005
【図５】
0004842593.tif 000006
【図６】
0004842593.tif 000007
【図７】
0004842593.tif 000008
【図８】
0004842593.tif 000009
【図９】
0004842593.tif 000010
【図１０】
0004842593.tif 000011
【図１１】
0004842593.tif 000012
【図１２】
0004842593.tif 000013
【図１３】
0004842593.tif 000014
【図１４】
0004842593.tif 000015
【図１５】
0004842593.tif 000016
【図１６】
0004842593.tif 000017