(57)【要約】【課題】仮想ボリュームのバックアップにおいて、無駄な読出し及び書込みが生じるのを防ぐ。仮想ボリュームのリストアにおいて、バックアップ時点よりも大きな実容量が必要になることを防ぐ。【解決手段】記憶制御装置が、一以上の第一の記憶装置のどこに書込みが生じたかを管理するための情報である書込み管理情報を用いて、書込みが生じた一以上の箇所を特定し、特定された一以上の箇所に記憶された一以上のデータ要素を第二の記憶装置にバックアップする。リストアのために、バックアップ時の書込み管理情報を保管し、そのバックアップ時の書込み管理情報から特定される一以上の箇所、又は、該一以上の箇所にそれぞれ対応する新たな一以上の箇所を表す新たな書込み管理情報から特定される新たな一以上の箇所に、第二の記憶装置に記憶されている一以上のデータ要素をリストアする。【選択図】図１
2008181271.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に提供される仮想的な論理ボリュームである仮想ボリュームに対する書込みに応じて複数のセグメントのうちの未割当てのセグメントを割り当て該書込みに従うデータ要素を該割り当てたセグメントに書く仮想化システムに備えられる記憶制御装置であって、
前記複数のセグメントが関連する一以上の第一の記憶装置と、
第二の記憶装置と、
前記一以上の第一の記憶装置のどこに書込みが生じたかを管理するための情報である書込み管理情報を用いて、前記一以上の第一の記憶装置において書込みが生じた一以上の箇所を特定し、前記特定された一以上の箇所にそれぞれ記憶されている一以上のデータ要素を前記第二の記憶装置にバックアップするバックアップ制御部と
を備える記憶制御装置。
【請求項２】
バックアップ時の前記書込み管理情報を保管する保管部と、
前記バックアップ時の前記書込み管理情報を読出し、前記読み出した書込み管理情報から特定される前記一以上の箇所、又は、前記一以上の箇所にそれぞれ対応する新たな一以上の箇所を表す新たな書込み管理情報から特定される前記新たな一以上の箇所に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアするリストア制御部と
を更に備え、
前記新たな書込み管理情報は、前記読み出された書込み管理情報を基に生成された情報である、
請求項１記載の記憶制御装置。
【請求項３】
前記記憶制御装置は、前記仮想化システムに備えられる仮想化装置に接続され、
前記仮想化装置は、
前記一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
前記上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と、
前記割当て管理情報と前記対応管理情報とで構成される前記書込み管理情報を前記記憶制御装置に送信する書込み管理情報送信部と
を備え、
前記記憶制御装置は、更に、前記一以上の第一の記憶装置にある、前記仮想化装置からの第二のライト要求に従う前記一以上の物理領域に、該第二のライト要求に従う前記ライト対象データを書込むライト実行部を有し、
前記バックアップ制御部により特定される前記一以上の箇所は、前記仮想化装置からの前記書込み管理情報を用いて特定される、前記一以上の第一の記憶装置にある一以上の物理領域である、
請求項１記載の記憶制御装置。
【請求項４】
バックアップ時の前記書込み管理情報を保管する保管部と、
前記バックアップ時の前記書込み管理情報を読出し、該読み出した書込み管理情報を前記仮想化装置に送信し、該書込み管理情報を基に前記仮想化装置により生成された、前記一以上の物理領域にそれぞれ対応する新たな一以上の物理領域を表す新たな書込み管理情報を、前記仮想化装置から受信し、前記新たな書込み管理情報から特定される前記新たな一以上の物理領域に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアするリストア制御部と
を更に備える請求項３記載の記憶制御装置。
【請求項５】
前記記憶制御装置は、前記仮想化システムに備えられる仮想化装置に接続され、
前記仮想化装置は、
前記一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
前記上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と
を備え、
前記記憶制御装置は、更に、前記仮想化装置からの前記第二のライト要求に従う前記ライト対象データを、前記一以上の第一の記憶装置にある、該第二のライト要求に従う前記一以上の物理領域に書込み、該書込みに応じて、前記一以上の物理領域に書込みが生じたことを示す情報に前記書込み管理情報を更新するライト実行部を有し、
前記バックアップ制御部により特定される前記一以上の箇所は、更新後の前記書込み管理情報を用いて特定される、前記一以上の第一の記憶装置にある一以上の物理領域である、
請求項１記載の記憶制御装置。
【請求項６】
バックアップ時の前記書込み管理情報を保管する保管部と、
前記バックアップ時の前記書込み管理情報を読出し、該読み出した書込み管理情報から特定される一以上の物理領域に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアするリストア制御部と
を更に備える請求項５記載の記憶制御装置。
【請求項７】
複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す前記書込み管理情報を記憶する記憶資源と、
前記仮想ボリュームを前記上位装置に提供し、前記上位装置からライト対象データのライト要求を受信し、該ライト要求に応答して、前記書込み管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該割当てた一以上のセグメントに前記ライト対象データを書込み、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記書込み管理情報を更新するライト制御部と
を更に備え、
前記複数のセグメントの各々は、前記一以上の第一の記憶装置を構成する記憶領域であり、
前記書込み管理情報は、前記複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報である、
請求項１記載の記憶制御装置。
【請求項８】
バックアップ時の前記書込み管理情報を保管する保管部と、
前記バックアップ時の前記書込み管理情報を読出し、該書込み管理情報から特定される前記一以上のセグメントに、それぞれ、新たな一以上のセグメントを対応付け、該新たな一以上のセグメントに、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアするリストア制御部と
を更に備える請求項７記載の記憶制御装置。
【請求項９】
前記記憶資源に記憶されている前記書込み管理情報を、前記仮想ボリュームに前記複数のセグメントのうちのいずれも割当てられていないことを表す情報に更新し、前記第二の記憶装置から前記一以上のデータ要素をそれぞれ読出し、読み出したデータ要素を書込むためのセグメントを前記複数のセグメントから選択して前記仮想ボリュームに割り当て、割当てたセグメントに前記読み出したデータ要素をリストアし、該セグメントを前記仮想ボリュームに割当てたことを示す情報に前記書込み管理情報を更新するリストア制御部、
を更に備える請求項７記載の記憶制御装置。
【請求項１０】
一以上の前記第一の記憶装置の各々は、ランダムアクセスタイプの記憶装置であり、
第二の記憶装置は、シーケンシャルアクセスタイプの記憶装置である、
請求項１記載の記憶制御装置。
【請求項１１】
仮想化装置と、
前記仮想化装置に接続された記憶制御装置と
を備え、
前記仮想化装置が、
一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
前記上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と、
前記割当て管理情報と前記対応管理情報とで構成される前記書込み管理情報を前記記憶制御装置に送信する書込み管理情報送信部と
を備え、
前記記憶制御装置が、
前記一以上の第一の記憶装置と、
第二の記憶装置と、
前記仮想化装置からの前記書込み管理情報から、前記一以上の第一の記憶装置における一以上の物理領域を特定し、前記特定された一以上の物理領域にそれぞれ記憶されている一以上のデータ要素を前記第二の記憶装置にバックアップするバックアップ制御部と
を備える、
仮想化システム。
【請求項１２】
前記仮想化装置が、セグメント再割り当て部を更に備え、
前記記憶制御装置が、保管部とリストア制御部とを更に備え、
前記保管部が、バックアップ時の前記書込み管理情報を保管し、
前記リストア制御部は、前記バックアップ時の前記書込み管理情報を読出し、該読み出した書込み管理情報を前記仮想化装置に送信し、
前記セグメント再割り当て部が、前記記憶制御装置からの前記書込み管理情報より特定される一以上のセグメントにそれぞれ新たな一以上のセグメントを対応付け、該新たな一以上のセグメントにそれぞれ対応した新たな一以上の物理領域を表す新たな書込み管理情報を前記書込み管理情報を基に生成し、該生成した新たな書込み管理情報を前記記憶制御装置に送信し、
前記記憶制御装置の前記リストア制御部が、前記仮想化装置からの前記新たな書込み管理情報から特定される前記新たな一以上の物理領域に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアする、
請求項１１記載の仮想化システム。
【請求項１３】
仮想化装置と
前記仮想化装置に接続された記憶制御装置と
を備え、
前記仮想化装置が、
前記一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
前記上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と
を備え、
前記記憶制御装置が、
前記一以上の第一の記憶装置と、
第二の記憶装置と、
前記仮想化装置からの前記第二のライト要求に従う前記ライト対象データを、前記一以上の第一の記憶装置にある、該第二のライト要求に従う前記一以上の物理領域に書込み、該書込みに応じて、前記一以上の物理領域に書込みが生じたことを示す情報に前記書込み管理情報を更新するライト実行部と、
更新後の前記書込み管理情報を用いて、前記一以上の第一の記憶装置にある、書込みが生じている一以上の物理領域を特定し、該特定した一以上の物理領域にそれぞれ記憶されている一以上のデータ要素を前記第二の記憶装置にバックアップするバックアップ制御部と
を備える、
仮想化システム。
【請求項１４】
前記仮想化装置が、バックアップ時における前記割当て管理情報を保存する割当て管理情報保存部を更に備え、
前記記憶制御装置が、保管部とリストア制御部を更に備え、
前記保管部が、バックアップ時の前記書込み管理情報を保管し、
前記リストア制御部が、前記バックアップ時の前記書込み管理情報を読出し、該読み出した書込み管理情報から特定される一以上の物理領域に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアし、
前記割当て管理情報保存部が、リストアされた前記一以上のデータ要素のバックアップ時における前記割当て管理情報を前記記憶資源にリストアする、
請求項１３記載の仮想化システム。
【請求項１５】
上位装置に提供される仮想的な論理ボリュームである仮想ボリュームに対する書込みに応じて複数のセグメントのうちの未割当てのセグメントを割り当て該書込みに従うデータ要素を該割り当てたセグメントに書く記憶制御方法であって、
前記複数のセグメントが関連する一以上の第一の記憶装置のどこに書込みが生じたかを管理するための情報である書込み管理情報を用いて、前記一以上の第一の記憶装置において書込みが生じた一以上の箇所を特定し、
前記特定された一以上の箇所にそれぞれ記憶されている一以上のデータ要素を前記第二の記憶装置にバックアップする、
記憶制御方法。
【請求項１６】
バックアップ時の前記書込み管理情報を保管し、
前記バックアップ時の前記書込み管理情報を読出し、前記読み出した書込み管理情報から特定される前記一以上の箇所、又は、前記一以上の箇所にそれぞれ対応する新たな一以上の箇所を表す新たな書込み管理情報から特定される前記新たな一以上の箇所に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアし、
前記新たな書込み管理情報が、前記読み出された書込み管理情報を基に生成された情報である、
請求項１５記載の記憶制御方法。
【請求項１７】
一以上の第一の記憶装置を備えた記憶制御装置に接続される仮想化装置であって、
前記一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と、
前記割当て管理情報と前記対応管理情報とで構成される前記書込み管理情報を前記記憶制御装置に送信する書込み管理情報送信部と
を備える仮想化装置。
【請求項１８】
前記記憶制御装置からの前記書込み管理情報より特定される一以上のセグメントにそれぞれ新たな一以上のセグメントを対応付け、該新たな一以上のセグメントにそれぞれ対応した新たな一以上の物理領域を表す新たな書込み管理情報を前記書込み管理情報を基に生成し、該生成した新たな書込み管理情報を前記記憶制御装置に送信するセグメント再割り当て部、
を更に備える請求項１７記載の仮想化装置。
【請求項１９】
一以上の第一の記憶装置を備えた記憶制御装置に接続される仮想化装置であって、
前記一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と、
バックアップ時における前記割当て管理情報を保存する割当て管理情報保存部と
を備える仮想化装置。
【請求項２０】
上位装置に提供される仮想的な論理ボリュームである仮想ボリュームに対する書込みに応じて複数のセグメントのうちの未割当てのセグメントを割り当て該書込みに従うデータ要素を該割り当てたセグメントに書く仮想化システムに備えられる記憶制御装置であって、
前記複数のセグメントが関連する一以上の第一の記憶装置と、
第二の記憶装置と、
前記一以上の第一の記憶装置のどこに書込みが生じたかを管理するための情報である書込み管理情報であって、バックアップ時の書込み管理情報を保管する保管部と、
バックアップ時の前記書込み管理情報を読出し、前記読み出した書込み管理情報から特定される前記一以上の箇所、又は、前記一以上の箇所にそれぞれ対応する新たな一以上の箇所を表す新たな書込み管理情報から特定される前記新たな一以上の箇所に、前記第二の記憶装置に記憶されている複数のデータ要素のうち、前記一以上の箇所に記憶されていた一以上のデータ要素をそれぞれリストアするリストア制御部と
を備える記憶制御装置。
【請求項２１】
前記記憶制御装置は、前記仮想化システムに備えられる仮想化装置に接続され、
前記仮想化装置は、
前記一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
前記上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と、
前記割当て管理情報と前記対応管理情報とで構成される前記書込み管理情報を前記記憶制御装置に送信する書込み管理情報送信部と
を備え、
前記記憶制御装置は、更に、前記一以上の第一の記憶装置にある、前記仮想化装置からの第二のライト要求に従う前記一以上の物理領域に、該第二のライト要求に従う前記ライト対象データを書込むライト実行部を有し、
前記保管部は、前記仮想化装置からの前記書込み管理情報を保管し、
前記リストア制御部は、前記読み出した書込み管理情報を前記仮想化装置に送信し、該書込み管理情報を基に前記仮想化装置により生成された、前記一以上の物理領域にそれぞれ対応する新たな一以上の物理領域を表す新たな書込み管理情報を、前記仮想化装置から受信し、前記新たな書込み管理情報から特定される前記新たな一以上の物理領域に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアする、
請求項２０記載の記憶制御装置。
【請求項２２】
前記記憶制御装置は、前記仮想化システムに備えられる仮想化装置に接続され、
前記仮想化装置は、
前記一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、前記複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶する記憶資源と、
前記上位装置から前記仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を前記対応管理情報を用いて特定し、該特定した一以上の物理領域に前記ライト対象データを書込むための第二のライト要求を前記記憶制御装置に送信するライト制御部と
を備え、
前記記憶制御装置は、更に、前記仮想化装置からの前記第二のライト要求に従う前記ライト対象データを、前記一以上の第一の記憶装置にある、該第二のライト要求に従う前記一以上の物理領域に書込み、該書込みに応じて、前記一以上の物理領域に書込みが生じたことを示す情報に前記書込み管理情報を更新するライト実行部を有し、
前記リストア制御部が、前記読み出した書込み管理情報から特定される一以上の物理領域に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアする、
請求項２０記載の記憶制御装置。
【請求項２３】
複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す前記書込み管理情報を記憶する記憶資源と、
前記仮想ボリュームを前記上位装置に提供し、前記上位装置からライト対象データのライト要求を受信し、該ライト要求に応答して、前記書込み管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該割当てた一以上のセグメントに前記ライト対象データを書込み、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記書込み管理情報を更新するライト制御部と
を更に備え、
前記複数のセグメントの各々は、前記一以上の第一の記憶装置を構成する記憶領域であり、
前記書込み管理情報は、前記複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報であり、
前記リストア制御部は、前記読み出した書込み管理情報から特定される前記一以上のセグメントに、それぞれ、新たな一以上のセグメントを対応付け、該新たな一以上のセグメントに、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアする、
請求項２０記載の記憶制御装置。
【請求項２４】
複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す前記書込み管理情報を記憶する記憶資源と、
前記仮想ボリュームを前記上位装置に提供し、前記上位装置からライト対象データのライト要求を受信し、該ライト要求に応答して、前記書込み管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該割当てた一以上のセグメントに前記ライト対象データを書込み、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に前記書込み管理情報を更新するライト制御部と
を更に備え、
前記複数のセグメントの各々は、前記一以上の第一の記憶装置を構成する記憶領域であり、
前記書込み管理情報は、前記複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報であり、
前記リストア制御部が、前記記憶資源に記憶されている前記書込み管理情報を、前記仮想ボリュームに前記複数のセグメントのうちのいずれも割当てられていないことを表す情報に更新し、前記読み出した書込み管理情報を基に、前記第二の記憶装置から前記一以上のデータ要素をそれぞれ読出し、読み出したデータ要素を書込むためのセグメントを前記複数のセグメントから選択して前記仮想ボリュームに割り当て、割当てたセグメントに前記読み出したデータ要素をリストアし、該セグメントを前記仮想ボリュームに割当てたことを示す情報に前記書込み管理情報を更新する、
請求項２０記載の記憶制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのバックアップのための技術に関する。
【背景技術】
【０００２】
ストレージシステムは、ホスト計算機に対し論理ボリュームという単位で記憶領域を提供することができる。一般に、論理ボリュームの記憶容量は固定であるが、記憶領域の利用効率を高めるべく、ホスト計算機からのアクセス要求に応じて物理リソースの一部領域（以下、「セグメント」と言う）を仮想ボリュームに割り当てることによりその仮想ボリュームの記憶容量を自動拡張する技術がある。その技術に関する開示は、例えば特許文献１（特開２００３−１５９１５号公報）にある。
【０００３】
仮想ボリュームは、仮想的な論理ボリュームである。ストレージシステムは、該仮想ボリュームに実際に割当てられている一以上のセグメントのトータルの記憶容量（以下、「実容量」と言う）とは異なる仮想的な記憶容量（以下、「仮想容量」と言う）を、ホスト計算機（具体的には、例えば、該ホスト計算機で実行されるアプリケーション）に見せることができる。仮想ボリュームにセグメントが割り当てられることにより、該セグメントの記憶容量分、仮想ボリュームの実容量が増える（拡張される）ことになる。そのため、仮想ボリュームは「容量拡張ボリューム」と呼ぶことができる。或いは、仮想ボリュームは、Thin Provisioning技術により提供可能な論理ボリュームなので、仮想ボリュームを「Thin Provisioningボリューム」と呼ぶこともできる。
【０００４】
【特許文献１】特開２００３−１５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えば、ホスト計算機、ディスクストレージ及びテープライブラリ装置を、SAN（Storage Area Network）と呼ばれる通信ネットワークに接続し、バックアップ処理用のサーバ（以下、「バックアップサーバ」と称する）により、ディスクストレージに記憶されたデータをテープライブラリ装置へボリューム単位でバックアップする方法がある。この場合、バックアップサーバは、ディスクストレージの論理ボリュームからデータを読出し、読み出したデータを、テープライブラリ装置へ格納する。
【０００６】
バックアップ対象となる論理ボリュームが、前述した仮想ボリュームである場合、バックアップサーバからは、実容量とは異なる仮想容量分の仮想ボリュームが見えるので、バックアップの際には、仮想容量分の読出しと書込みが行われる。一般的に、仮想容量よりも実容量の方が少ない。このため、仮想容量分の読出しと書込みには、無駄な読出しと書込みが含まれる。
【０００７】
さらに、例えば、バックアップされたデータを、バックアップと逆の流れでリストアする場合、具体的には、テープライブラリ装置からバックアップサーバを経由してディスクストレージ内の論理ボリュームにデータをリストアする場合、リストア先となる仮想ボリュームに仮想容量分の書込みが発生するため、バックアップ時点よりも大きな実容量が必要となる。
【０００８】
以上の問題点は、バックアップ元が、ディスクストレージとは異なる他種のストレージデバイスである場合、及び／又は、バックアップ先が、テープライブラリ装置とは異なる他種のストレージデバイスである場合にも、同様に生じ得る。
【０００９】
従って、本発明の目的は、仮想ボリュームのバックアップにおいて、無駄な読出し及び書込みが生じるのを防ぐことにある。
【００１０】
本発明の別の目的は、仮想ボリュームのリストアにおいて、バックアップ時点よりも大きな実容量が必要になることを防ぐことにある。
【００１１】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【００１２】
バックアップでは、記憶制御装置が、複数のセグメントが関連する一以上の第一の記憶装置のどこに書込みが生じたかを管理するための情報である書込み管理情報を参照することで、前記一以上の第一の記憶装置において書込みが生じた一以上の箇所を特定し、前記特定された一以上の箇所にそれぞれ記憶されている一以上のデータ要素を第二の記憶装置にバックアップする。
【００１３】
リストアのために、記憶制御装置が、バックアップ時の書込み管理情報を保管する。リストアでは、記憶制御装置が、バックアップ時の前記書込み管理情報を取得し、その書込み管理情報から特定される一以上の箇所、又は、該一以上の箇所にそれぞれ対応する新たな一以上の箇所を表す新たな書込み管理情報から特定される新たな一以上の箇所に、第二の記憶装置に記憶されている複数のデータ要素のうち、一以上の箇所に記憶されていた一以上のデータ要素をそれぞれリストアする。
【発明を実施するための最良の形態】
【００１４】
本発明の実施形態の概要を説明する。
【００１５】
上位装置に提供される仮想的な論理ボリュームである仮想ボリュームに対する書込みに応じて複数のセグメントのうちの未割当てのセグメントを割り当て該書込みに従うデータ要素を該割り当てたセグメントに書く仮想化システムに記憶制御装置が備えられる。この記憶制御装置は、例えば、後述する仮想ディスクライブラリ装置であるが、それに限らず、他種の装置が提供されても良い。
【００１６】
記憶制御装置は、複数のセグメントが関連する一以上の第一の記憶装置と、第二の記憶装置と、バックアップ制御部とを備える。バックアップ制御部は、一以上の第一の記憶装置のどこに書込みが生じたかを管理するための情報である書込み管理情報を用いて、一以上の第一の記憶装置において書込みが生じた一以上の箇所を特定し、特定された一以上の箇所にそれぞれ記憶されている一以上のデータ要素を第二の記憶装置にバックアップする。
【００１７】
なお、ここで、「複数のセグメントが関連する一以上の第一の記憶装置」とは、セグメント又はセグメントが対応する記憶領域で構成された一以上の第一の記憶装置のことである。この場合、或るセグメントにデータ要素の書込みが生じれば、或るセグメントそれ自体又は或るセグメントに対応した記憶領域にデータ要素の書込みが生じる。一以上の第一の記憶装置の具体例としては、後述の第一乃至第四の実施形態であれば、仮想ディスクライブラリ装置内のディスクが相当する。
【００１８】
一以上の第一の記憶装置の各々としては、ランダムアクセスタイプの記憶装置を採用することができる。この種の記憶装置としては、例えば、ハードディスクドライブ、ＤＶＤドライブなどのディスク型の記憶装置であっても良いし、フラッシュメモリ等のメモリであってもよい。第二の記憶装置としては、シーケンシャルアクセスタイプの記憶装置を採用することができる。この種の記憶装置としては、例えば、テープ媒体を採用することができる。しかし、これらに限らず、例えば、第一の記憶装置としてシーケンシャルアクセスタイプの記憶装置が採用されても良いし、第二の記憶装置としてランダムアクセスタイプの記憶装置が採用されても良い。
【００１９】
記憶制御装置は、保管部とリストア制御部とを更に備えることができる。保管部は、バックアップ時の前記書込み管理情報を保管することができる。リストア制御部は、前記バックアップ時の前記書込み管理情報を読出し、前記読み出した書込み管理情報から特定される前記一以上の箇所、又は、前記一以上の箇所にそれぞれ対応する新たな一以上の箇所を表す新たな書込み管理情報から特定される前記新たな一以上の箇所に、前記第二の記憶装置に記憶されている前記一以上のデータ要素をそれぞれリストアすることができる。なお、新たな書込み管理情報は、読み出された書込み管理情報を基に生成された情報である。
【００２０】
保管部は、バックアップ時の前記書込み管理情報を、第二の記憶装置に格納しても良いし、他の記憶装置に格納しても良い（例えば記憶制御装置内のメモリに格納しても良い）。
【００２１】
記憶制御装置には、仮想化装置を接続することができる。その仮想化装置は、記憶資源と、ライト制御部と、書込み管理上放送深部とを備えることができる。記憶資源は、一以上の第一の記憶装置に基づく一以上の仮想的な第一の記憶装置を構成する複数のセグメントのうちどのセグメントが前記仮想ボリュームに割り当てられているかを表す情報である割当て管理情報と、複数のセグメントの各々が前記一以上の第一の記憶装置のどの物理領域に対応するかを表す対応管理情報とを記憶することができる。ライト制御部は、上位装置から仮想ボリュームに対するライト対象データの第一のライト要求を受信し、該第一のライト要求に応答して、前記割当て管理情報を基に、前記複数のセグメントから未割当ての一以上のセグメントを選択し、選択した未割当ての一以上のセグメントを前記仮想ボリュームに割り当て、該一以上のセグメントを前記仮想ボリュームに割当てたことを示す情報に割当て管理情報を更新し、該割り当てた一以上のセグメントにそれぞれ対応する一以上の物理領域を対応管理情報を用いて特定し、該特定した一以上の物理領域にライト対象データを書込むための第二のライト要求を記憶制御装置に送信することができる。書込み管理情報送信部は、割当て管理情報と対応管理情報とで構成される前記書込み管理情報を記憶制御装置に送信することができる。
【００２２】
また、仮想化装置は、セグメント再割り当て部を更に備えても良い。リストア制御部は、バックアップ時の書込み管理情報を読出し、該読み出した書込み管理情報を仮想化装置に送信することができる。仮想化装置のセグメント再割り当て部が、記憶制御装置からの書込み管理情報より特定される一以上のセグメントにそれぞれ新たな一以上のセグメントを対応付け、該新たな一以上のセグメントにそれぞれ対応した新たな一以上の物理領域を表す新たな書込み管理情報を前記書込み管理情報を基に生成し、該生成した新たな書込み管理情報を記憶制御装置に送信することができる。記憶制御装置のリストア制御部が、仮想化装置からの新たな書込み管理情報から特定される前記新たな一以上の物理領域に、前記第二の記憶装置に記憶されている一以上のデータ要素をそれぞれリストアすることができる。
【００２３】
仮想化装置が、書込み管理情報送信部を備えていなくても良い。また、記憶制御装置のリストア制御部が、書込み管理情報を仮想化装置に送信する機能を備えていなくても良い。この場合、例えば、記憶制御装置が、ライト実行部を備えることができる。ライト実行部は、仮想化装置からの第二のライト要求に従うライト対象データを、一以上の第一の記憶装置にある、該第二のライト要求に従う一以上の物理領域に書込み、該書込みに応じて、一以上の物理領域に書込みが生じたことを示す情報に書込み管理情報を更新することができる。バックアップ制御部は、更新後の書込み管理情報を用いて、前記一以上の第一の記憶装置にある、書込みが生じている一以上の物理領域を特定し、該特定した一以上の物理領域にそれぞれ記憶されている一以上のデータ要素を前記第二の記憶装置にバックアップすることができる。また、仮想化装置が、バックアップ時における割当て管理情報を保存する割当て管理情報保存部を更に備えても良い。リストア制御部が、バックアップ時の書込み管理情報から特定される一以上の物理領域に、第二の記憶装置に記憶されている一以上のデータ要素をそれぞれリストアすることができ、割当て管理情報保存部が、リストアされた一以上のデータ要素のバックアップ時における前記割当て管理情報を記憶資源にリストアすることができる。割り当て管理情報保存部は、バックアップ時における割当て管理情報を、一以上の記憶装置の少なくとも一つに格納しても良いし、他の記憶装置（例えば仮想化装置のメモリ或いは記憶制御装置のメモリ）に格納しても良い。
【００２４】
もし、仮想容量分の複数のデータ要素が第二の記憶装置にバックアップされている場合、リストア制御部が、第二の記憶装置に記憶されている複数のデータ要素から、バックアップ時の書込み制御情報より特定される一以上の箇所にそれぞれ記憶されていた一以上のデータ要素を特定し、特定した一以上のデータ要素のみを、一以上の第一の記憶装置にリストアしても良い。
【００２５】
上述した各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ（例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること）により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、ＣＤ−ＲＯＭ等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
【００２６】
以下、図面を参照して、詳細に、本発明の幾つかの実施形態を説明する。なお、以下の説明では、一つのセグメント、或いは、該セグメントに対応した物理領域に記憶されている対象を「データ要素」と呼ぶ。
【００２７】
＜第一の実施形態＞。
【００２８】
図１は、本発明の第一実施形態に係る計算機システムの構成例を示す。
【００２９】
ホスト計算機１００、ストレージ仮想化装置１１０及び仮想ディスクライブラリ装置１２０は、スイッチ１３０を介してファイバチャネル１４０を用いて接続されており、データや処理要求等の受け渡しを行う。ホスト計算機１００、ストレージ仮想化装置１１０及び仮想ディスクライブラリ装置１２０は、ＬＡＮ（Local Area Network）等の通信ネットワークで接続されていても良いし、専用線などで接続されても良い。
【００３０】
ホスト計算機１００は、ＣＰＵ１０４とメモリ１０３とを備える。メモリ１０３には、複数のコンピュータプログラムとして、例えば、アプリケーション１０１と、バックアップ／リストア制御指示プログラム１０２とが記憶される。これらのコンピュータプログラムは、ＣＰＵ１０４にて実行される。以下、コンピュータプログラムが主語になる場合は、実際にはそのプログラムを実行するＣＰＵによって処理が行われるものとする。アプリケーション１０１は、ストレージ仮想化装置１１０から提供される論理ボリューム（例えば仮想ボリューム）にデータを書き込んだり、その論理ボリュームからデータを読み出したりする。バックアップ／リストア制御指示プログラム１０２は、バックアップ開始指示、リストア開始指示等の種々のコマンドを発行する。
【００３１】
ストレージ仮想化装置１１０は、ディスクアレイコントローラ１１１と、一以上（例えば２つ）の仮想ボリューム１１２と、一以上（例えば２つ）のディスク１１３と、一以上（例えば２つ）のディスクデバイス１１６と、一以上（例えば２つ）の外部ディスク１１４とを備える。ディスクデバイス１１６は、ディスク型の記憶デバイス、例えば、ハードディスクドライブ、ＤＶＤドライブなどであるが、他種の記憶デバイス（例えばフラッシュメモリデバイス）であっても良い。ディスク１１３は、一以上のディスクデバイス１１６のうちの少なくとも一つのディスクデバイス１１６の記憶空間を基に形成された論理ボリュームである。外部ディスク１１４は、ストレージ仮想化装置１１０の外部にある少なくとも一つディスクデバイス１２６（仮想ディスクライブラリ装置１２０にある少なくとも一つディスクデバイス１２６）の記憶空間を基に形成された仮想的な論理ボリュームである。外部ディスク１１４は、例えば、特開２００５−１０７６４５号公報（ＵＳ出願番号１０／７６９８０５号、ＵＳ出願番号１１／４７１５５６号）に開示の技術を援用することにより提供されても良いし、外部にあるディスク（論理ボリューム）１２２と１対１で対応付けられても良い。仮想ボリューム１１２ａには、一以上のディスク１１３が有するセグメントが割り当てられる。仮想ボリューム１１２ｂには、一以上の外部ディスク１１４が有するセグメントが割り当てられる。外部ディスク１１４のセグメントに書かれるデータは、そのセグメントが対応する、ディスク１２２を構成する物理領域に書かれる。
【００３２】
仮想ディスクライブラリ装置１２０は、仮想ディスクアレイコントローラ１２１と、一以上のディスク１２２と、一以上のディスクデバイス１２６と、テープライブラリ装置１２３とを備える。ディスクデバイス１２６は、ディスク型の記憶デバイスであるが、他種の記憶デバイス（例えばフラッシュメモリデバイス）が採用されても良い。テープライブラリ装置１２３は、一以上のテープ１２６と、テープ１２６の移動を行うロボット１２４と、テープ１２６にデータを書き込んだり読み出したりするテープドライブ１２５とを備える。
【００３３】
図２は、ディスクアレイコントローラ１１１の構成例を示す。
【００３４】
ディスクアレイコントローラ１１１は、ホスト計算機１００とのインタフェースとなる計算機ＩＦ部２００と、ディスク制御プログラム２１１、仮想ボリューム対応テーブル２１２及び外部ディスク対応テーブル２１３を記憶するローカルメモリ（以下、制御メモリ）２１０と、ディスク制御プログラム２１１を実行するプロセッサ（例えば、ＣＰＵ、以下、制御プロセッサ）２２０と、一時的にデータを記憶するキャッシュメモリ２３０と、ディスク１１３とのインタフェースとなるディスクＩＦ部２４０と、仮想ディスクライブラリ装置１２０とのインタフェースとなる外部ＩＦ部２５０とを備える。
【００３５】
ディスク制御プログラム２１１は、仮想ボリューム対応テーブル２１２を使用して、ホスト側（例えばアプリケーション１０１）に仮想ボリューム１１２ａ、１１２ｂを見せる機能を有する。さらに、ディスク制御プログラム２１１は、外部ディスク対応テーブル２１３を使用して、ストレージ仮想化装置１１０に外部接続された仮想ディスクライブラリ装置１２０のディスク１２２を外部ディスク１１４として扱う機能を有する。仮想ボリューム１１２ａの複数のアドレス範囲の各々には、該アドレス範囲に対するアクセス（例えばライト）に応じて、ディスク１１３を構成する複数のセグメントのうちの未使用のセグメントが割り当てられる。このため、仮想ボリューム１１２ａの各実領域は、この仮想ボリューム１１２ａに割り当てられた、ディスク１１３における各セグメントであるとすることができる。一方、仮想ボリューム１１２ｂの複数のアドレス範囲の各々には、該アドレス範囲に対するアクセス（例えばライト）に応じて、外部ディスク１１４を構成する複数のセグメントのうちの未使用のセグメントが割り当てられる。そして、その割り当てられたセグメントは、ディスク１１２を構成する複数の物理領域（記憶領域）と対応している。このため、仮想ボリューム１１２ｂの各実領域は、この仮想ボリューム１１２ｂに割り当てられた、外部ディスク１１４における各セグメントとしても良いし、各セグメントに対応する、ディスク１２２における各物理領域としても良い。ホスト側には、仮想ボリューム１１２ａ、１１２ｂの記憶容量として、実容量（割り当てられた一以上のセグメントのトータル記憶容量）とは異なる仮想容量（実容量以上の記憶容量）が提供される。ディスク制御プログラム２１１は、さらに、ストレージ仮想化装置１１０のディスク１１３や外部ディスク１１４を管理し制御する機能を有する。
【００３６】
図３は、仮想ディスクアレイコントローラ１２１の構成例を示す。
【００３７】
仮想ディスクアレイコントローラ１２１は、ストレージ仮想化装置１１０とのインタフェースとなるＦＥ／ＩＦ部３００と、ディスク制御プログラム３１１、テープライブラリ制御プログラム３１２、バックアップ制御プログラム３１３及びリストア制御プログラム３１４を記憶するローカルメモリ（以下、制御メモリ）３１０と、ディスク制御プログラム３１１、テープライブラリ制御プログラム３１２、バックアップ制御プログラム３１３及びリストア制御プログラム３１４を実行するプロセッサ（例えば、ＣＰＵ、以下、制御プロセッサ）３２０と、一時的にデータを記憶するキャッシュメモリ３３０と、ディスク１２２とのインタフェースとなるディスクＩＦ部３４０と、テープライブラリ装置１２３とのインタフェースとなるテープＩＦ部３５０とを備える。
【００３８】
ディスク制御プログラム３１１は、仮想ディスクライブラリ装置１２０のディスク１２２を管理し制御する機能を有する。具体的には、例えば、ストレージ仮想化装置１１０のディスク制御プログラム２１１は、仮想ボリューム１１２ｂに対する第一のライト要求をホスト計算機１００から受けた場合、外部ディスク１１４における未割当てのセグメントをセグメント管理表４００から特定し、特定したセグメントに対応した物理領域のあるディスク１２２を外部ディスク対応テーブル２１３から特定し、特定したディスク１２２と特定したセグメントに対応したアドレス（物理領域のアドレス）とを指定した第二のライト要求を、仮想ディスクライブラリ装置１２０に転送する。ディスク制御プログラム３１１が、その第二のライト要求に応答して、該第二のライト要求で指定されたアドレスに対応する物理領域に、該第二のライト要求に従うデータのデータ要素をライトする。
【００３９】
テープライブラリ制御プログラム３１２は、仮想ディスクライブラリ１２０のテープライブラリ装置１２３を管理し制御する機能を有する。具体的には、例えば、仮想ボリューム１１２ａ、１１２ｂのバックアップ処理及びリストア処理の際には、バックアップ制御プログラム３１３やリストア制御プログラム３１４が実行されるが、そのバックアップ処理及びリストア処理において、テープ１２６に対するデータの書込み、及び、テープ１２６からのデータの読出しは、バックアップ制御プログラム３１３やリストア制御プログラム３１４によって適宜にテープライブラリ制御プログラム３１２が呼び出されて実行されることにより、行われる。後に、図７を参照してバックアップ処理を説明したり、図８及び図９を参照してリストア処理を説明したりするが、説明が冗長になるのを防ぐため、その説明では、テープライブラリ制御プログラム３１２の呼び出しに関する説明は省略することにする。
【００４０】
バックアップ制御プログラム３１３は、ディスク制御プログラム３１１とテープライブラリ制御プログラム３１２と連携し、ディスク１２２のデータをテープ１２６にコピーする（以下、バックアップ）機能を有する。さらに、バックアップ制御プログラム３１３は、ストレージ仮想化装置１１０と通信し、仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を参照しながらバックアップを行うことで、仮想ボリューム１１２ｂの実領域のみをバックアップする機能を有する。また、バックアップ制御プログラム３１３は、ストレージ仮想化装置１１０と通信し、仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３の一部もしくは全部をテープ１２６にコピーする機能を有する。
【００４１】
リストア制御プログラム３１４は、ディスク制御プログラム３１１とテープライブラリ制御プログラム３１２と連携し、テープ１２６のデータをディスク１２２にコピーする（以下、リストア）機能を有する。さらに、リストア制御プログラム３１４は、ストレージ仮想化装置１１０と通信し、テープ１２６に記録されている仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３をディスク制御プログラム２１１に送信する機能を有する。ディスク制御プログラム２１１は、リストア制御プログラム３１４から受信した仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を参照し、リストア先となる仮想ボリューム１１２ｂを作成する機能を有する。また、ディスク制御プログラム２１１は、リストア先の情報となる仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３をリストア制御プログラム３１４に送信する機能を有する。リストア制御プログラム３１４は、ディスク制御プログラム２１１から受信した仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を参照しながらリストアする機能を有する。
【００４２】
さて、前述の仮想ボリューム対応テーブル２１２は、図４のセグメント管理表４００と、図５の物理論理管理表５００とにより構成することができる。
【００４３】
図４は、セグメント管理表４００の構成例を示す。
【００４４】
セグメント管理表４００は、仮想ボリューム１１２ａ、１１２ｂに実領域として割り当てるセグメントを管理するためのものである。セグメント管理表４００としては、ディスク１１３のためのセグメント管理表と、外部ディスク１１４のためのセグメント管理表がある。この図４は、外部ディスク１１４のためのセグメント管理表を代表的に例に採って示している（ディスク１１３のためのセグメント管理表の図示は省略している）。
【００４５】
外部ディスク１１４のためのセグメント管理表４００には、外部ディスク１１４毎に、外部ディスクＩＤ４１０と、Ｓｅｇｍｅｎｔ
Ｎｕｍｂｅｒ（以下、ＳＮもしくはセグメント番号）４２０と、ＬＢＡ（ＳＴＡＲＴ）４３０と、Ｓｉｚｅ４４０と、Ｉｎ−ｕｓｅ４５０とが記録される。外部ディスクＩＤ４１０は、外部ディスク１１４の一意な識別番号（例えばディスク制御プログラム２１１によって決定された番号）である。セグメントは、個々のディスク１１３や外部ディスク１１４内で分けられたディスク制御プログラム２１１で管理される記憶領域の最小単位であり、ＳＮ４２０は、ディスク制御プログラム２１１でセグメントを管理するための一意な識別番号である。ＬＢＡ（ＳＴＡＲＴ）４３０は、外部ディスクＩＤ４１０の外部ディスク１１４内でセグメントが開始する物理位置を規定する。Ｓｉｚｅ４４０は、外部ディスク１１４内のＬＢＡ（ＳＴＡＲＴ）４３０から始まる記憶領域の大きさを示す。Ｉｎ−ｕｓｅ４５０は、セグメントの利用状況を示し、セグメントがディスク制御プログラム２１１によって使用されているか未使用であるかを２つの値によって示す。使用中の場合は１、または未使用の場合は０の値によって利用状況を示す。
【００４６】
図５は、物理論理管理表５００の構成例を示す。
【００４７】
物理論理管理表５００は、ディスク制御プログラム２１１によって提供される仮想ボリューム１１２とデータが保管されるディスク１１３や外部ディスク１１４との間の物理論理アドレス管理を行うためのものである。物理論理管理表５００は、仮想ボリューム１１２毎に、ＬＵＮ５１０と、容量５２０と、ＳＮ５３０と、ＬＵＮ
ＬＢＡ（ＳＴＡＲＴ）５４０と、ＬＵＮ ＬＢＡ（ＥＮＤ）５５０とが記録される。ＬＵＮ５１０は、論理ユニット番号と呼ばれ、ディスク制御プログラム２１１からホスト計算機１００へ提供される論理ボリュームの一意な番号である。仮想ボリューム１１２が、論理ボリュームとしてホスト計算機１００へ提供される。容量５２０は、ホスト計算機１００に提供する仮想的な論理ボリュームの容量（仮想容量）である。ＳＮ５３０は、ディスク制御プログラム２１１で管理されている記憶領域の一意な番号である。ＬＵＮ
ＬＢＡ（ＳＴＡＲＴ）５４０は、セグメントの割当先のアドレス範囲（仮想ボリュームのアドレス範囲）でのＬＢＡ開始位置が示されている。ＬＵＮ
ＬＢＡ（ＥＮＤ）５５０は、セグメントの割当先のアドレス範囲（仮想ボリュームのアドレス範囲）でのＬＢＡ終了位置が示されている。
【００４８】
ディスク制御プログラム２１１は、ホスト計算機１００から論理ボリュームへアクセスされる個々のＩ／Ｏ要求内のＬＢＡを監視し、必要に応じて論理ボリュームの実領域の増減処理を行う。具体的には、例えば、ＬＵＮ０（５１０）の仮想ボリュームにおいて、アドレス範囲０〜９９９のいずれを指定したライト要求があった場合、そのアドレス範囲０〜９９９に対して、例えば、ＳＮ１（４２０）のセグメントが割り当てられるとする。この場合、ＳＮ１がＳＮ（５３０）として物理論理管理表５００に記録され、且つ、ＳＮ１（４２０）に対応したＩｎ−ｕｓｅ（４５０）が１に設定される。一方、例えば、ＬＵＮ０（５１０）の仮想ボリュームにおいて、アドレス範囲０〜９９９からＳＮ１（５３０）のセグメントが解放される場合、ＳＮ１（４２０）が物理論理管理表５００から消去され、且つ、ＳＮ１（４２０）に対応したＩｎ−ｕｓｅ（４５０）が０に設定される。
【００４９】
図６は、外部ディスク対応テーブル２１３の構成例を示す。
【００５０】
外部ディスク対応テーブル２１３は、外部ディスク１１４と別装置のディスク（例えばディスク１２２）との対応を管理するためのものである。外部ディスク対応テーブル２１３は、外部ディスク１１４毎に、外部ディスクＩＤ６１０と、装置ＩＤ６２０と、ディスクＩＤ６３０とが記録される。外部ディスクＩＤ６１０は、ディスク制御プログラム２１１によって決定された外部ディスク１１４の一意な識別番号である。装置ＩＤ６２０は、ストレージ仮想化装置１１０に外部接続されている装置（例えば、仮想ディスクライブラリ装置１２０）の一意な識別番号である。ディスクＩＤ６３０は、装置ＩＤ６２０で識別される装置内のディスクを一意に識別可能な番号である。例えば、外部ディスクＩＤ
０（６１１）の外部ディスク１１４は、装置ＩＤ １（６２１）のディスクＩＤ １００（６３１）のディスク（例えば、ディスク１２２）と対応している。図６では、外部ディスクとディスクは１対１で対応しているが、１つの外部ディスクと複数のディスクが対応、もしくは複数の外部ディスクと１つのディスクが対応していてもよい。
【００５１】
図７は、バックアップ処理の処理フローを示している。
【００５２】
ステップ７０１０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、仮想ディスクライブラリ装置１２０に、バックアップ対象ＬＵのバックアップ開始指示を送信し、そのバックアップ開始指示を、仮想ディスクライブラリ装置１２０が受領する。例えば、バックアップ開始指示では、バックアップ対象（バックアップ元）となる仮想ボリューム１１２ａ又は１１２ｂのＬＵＮとバックアップ先となるテープ１２６とが指定されている。バックアップ先となるテープ１２６は指定されなくてもよく、その場合、任意に選択されたテープ１２６（未だデータのバックアップ先とされていない未使用のテープ１２６）と、バックアップ元のＬＵＮとの対応関係が、図示しないテーブルに記録される等により、管理されてもよい。また、複数の仮想ボリューム１１２ａ及び１１２ｂをまとめてバックアップ対象とされてもよい。この処理フローでは、仮想ボリューム１１２ｂがバックアップ対象ＬＵであるとする。また、テープ１２６に代えて、テープＬＵのＬＵＮが指定されても良い。テープＬＵとは、一以上のテープ１２６の全部又は一部の記憶空間に対応した論理ユニットである。
【００５３】
ステップ７０２０では、仮想ディスクライブラリ装置１２０のバックアップ制御プログラム３１３が、上記バックアップ開始指示に応答して、ストレージ仮想化装置１１０に、バックアップ対象ＬＵ１１２ｂ（仮想ボリューム１１２ｂ）のバックアップ開始を通知する。
【００５４】
ステップ７０３０では、ストレージ仮想化装置１１０が、バックアップ対象ＬＵ１１２ｂのバックアップ開始通知を受領する。
【００５５】
ステップ７０４０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、そのバックアップ開始通知に応答して、バックアップ対象ＬＵ１１２ｂへの上位装置（例えば、ホスト計算機１００）からのライトを禁止する。具体的には、例えば、ディスク制御プログラム２１１は、バックアップ対象ＬＵ１１２ｂに対するライト要求をホスト計算機１００から受領しても、該ライト要求に対する応答としてビジーを返す或いは何も応答しない等、そのライト要求に従うデータをバックアップ対象ＬＵ１１２ｂに書き込まない。ディスク制御プログラム２１１は、バックアップ対象ＬＵ１１２ｂについてライト禁止状態となったことを、仮想ディスクライブラリ装置１２０に通知することができる。
【００５６】
ステップ７０５０は、例えば、ストレージ仮想化装置１１０からのライト禁止状態の通知に応答して、仮想ディスクライブラリ装置１２０のバックアップ制御プログラム３１３により、実行される。ステップ７０５０では、バックアップ制御プログラム３１３が、ストレージ仮想化装置１１０に、バックアップ対象ＬＵ１１２ｂに関係する仮想ボリューム対応テーブル２１２と、外部ディスク対応テーブル２１３とを要求する。仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３の全てが要求されてもよい。
【００５７】
ステップ７０６０では、ストレージ仮想化装置１１０が、仮想ディスクライブラリ装置１２０からの要求を受領する。
【００５８】
ステップ７０７０では、その要求に応答して、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、仮想ディスクライブラリ装置１２０から要求された仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３とを、仮想ディスクライブラリ装置１２０に送信する。
【００５９】
ステップ７０８０では、仮想ディスクライブラリ装置１２０が、ストレージ仮想化装置１１０から送信されてきた仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を受領する。
【００６０】
ステップ７０９０では、仮想ディスクライブラリ装置１２０のバックアップ制御プログラム３１３が、バックアップ先となるテープ１２６（バックアップ開始指示で指定されているテープ１２６）に、バックアップ対象ＬＵ１１２ｂのリストア時に必要となる仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３（ストレージ仮想化装置１１０から送信されてきた仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３）をコピーする。それら仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３は、例えば、バックアップ先となるテープ１２６の先頭から書かれる。先頭からの書込みに代えて、バックアップ先となるテープ１２６の所定位置或いは任意位置でも良いし、テープライブラリ装置１２３内の所定の記憶領域であっても良い。どのバックアップ対象ＬＵに対応した仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３がどこに書かれたか等が、図示しないテーブルに記録されて、バックアップ対象ＬＵのリストアの際には、そのテーブルを参照することにより、そのバックアップ対象ＬＵに対応した仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３がどこに記録されているかが特定され、特定された位置からその仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３が読み出されても良い。
【００６１】
ステップ７１００では、バックアップ制御プログラム３１３が、仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３とを参照して、バックアップ対象ＬＵ１１２ｂの各実領域に相当する、ディスク１２２を構成する各物理領域を特定し、各物理領域から、バックアップ先となるテープ１２６に、各物理領域に記憶されている各データ要素をコピーする。例えば、図５のＬＵＮ０のＬＵがバックアップ対象ＬＵ１１２ｂの場合、セグメント番号１（５２１）、セグメント番号２（５２２）及びセグメント番号３（５２３）にそれぞれ対応する物理領域が、バックアップ元となる。セグメント番号１（５２１）に対応したセグメントは、図４と図６から、装置ＩＤ１（６２１）のディスクＩＤ１００（６３１）のディスク１２２内のＬＢＡ（ＳＴＡＲＴ）０（４３１）からＳｉｚｅ１０００（４４１）の物理領域であり、この物理領域が実領域となる。同様に、セグメント番号２（５２２）は、装置ＩＤ１（６２１）のディスクＩＤ１００（６３１）のディスク１２２内のＬＢＡ（ＳＴＡＲＴ）１０００（４３２）からＳｉｚｅ１０００（４４２）の物理領域、セグメント番号３（５２３）は、装置ＩＤ１（６２１）のディスクＩＤ１００（６３１）のディスク１２２内のＬＢＡ（ＳＴＡＲＴ）２０００（４３３）からＳｉｚｅ１０００（４４３）の物理領域であり、ＬＵＮ０のＬＵのバックアップでは、これら物理領域をバックアップ元としてバックアップ先となるテープ１２６にデータ要素がそれぞれコピーされる。なお、コピーする順番としては、物理論理管理表５００（図５参照）に記録されているセグメント番号の並びの順番（例えばＬＵＮ０であれば、セグメント番号１，２及び３の順番）とすることができる。それに代えて、他の何らかの規則性ある順番でコピーされても良いし、不規則な順番でコピーされても良い。不規則な順番でコピーされた場合、バックアップ先のテープ１２６のどの位置にどのセグメント番号に対応した物理領域上のデータ要素が記憶されたかが図示しないテーブルに記録される等により管理されても良い。
【００６２】
ステップ７１１０では、バックアップ対象ＬＵ１１２ｂのバックアップ完了後、バックアップ制御プログラム３１３が、ストレージ仮想化装置１１０に、バックアップ対象ＬＵ１１２ｂのバックアップ終了を通知する。
【００６３】
ステップ７１２０では、ストレージ仮想化装置１１０が、バックアップ対象ＬＵ１１２ｂのバックアップ終了通知を受領する。
【００６４】
ステップ７１３０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、バックアップ対象ＬＵ１１２ｂへのライトを許可する（言い換えれば、ライト禁止状態を解除する）。
【００６５】
ステップ７１４０では、仮想ディスクライブラリ装置１２０が、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２に、バックアップ対象ＬＵ１１２ｂのバックアップ終了を通知する。
【００６６】
以上の一連の処理フローにより、バックアップ処理が行われる。なお、このバックアップ処理において、例えば、上記バックアップ先のテープ１２６に未使用領域が残った場合、次回以降のバックアップ処理では、その未使用領域の先頭から、仮想ボリューム対応テーブル２１２などが記録されても良いし、完全に未使用のテープ１２６（テープ先頭からデータを書き込むことが可能なテープ１２６）が選択されて該テープ１２６に仮想ボリューム対応テーブル２１２などが記録されても良い。
【００６７】
図８及び図９の組み合わせは、リストア処理の処理フローを示している。
【００６８】
ステップ８０１０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、仮想ディスクライブラリ装置１２０に、リストア対象ＬＵのリストア開始指示を送信し、仮想ディスクライブラリ装置１２０が受領する。例えば、リストア開始指示では、リストア元となるテープ１２６と、リストア対象となる仮想ボリューム１１２のＬＵＮ（リストア対象ＬＵのＬＵＮ）とが指定されている。リストア先となるＬＵは、リストア対象ＬＵ（言い換えれば、バックアップ対象ＬＵ）であっても良いし、リストア対象ＬＵとは異なるＬＵでもよい。具体的には、例えば、バックアップ対象ＬＵのＬＵＮが０であって、該バックアップ対象ＬＵをリストアする場合、リストア対象ＬＵのＬＵＮも０であるが、リストア先となるＬＵは、該リストア対象ＬＵ（ＬＵＮ０のＬＵ）であっても良いし、それとは別のＬＵであっても良い。また、リストア元となるテープ１２６は指定されなくてもよく、その場合、例えば、上述した図示しないテーブル等から、指定されたリストア対象ＬＵを格納しているテープ１２６が特定され、該特定されたテープ１２６が、リストア元とされてもよい。また、複数のＬＵをまとめてリストア対象とされてもよい。この処理フローでは、仮想ボリューム１１２ｂがリストア対象ＬＵでありリストア先であるとする。また、テープ１２６に代えて、テープＬＵのＬＵＮが指定されても良い。テープＬＵとは、一以上のテープ１２６の全部又は一部の記憶空間に対応した論理ユニットである。
【００６９】
ステップ８０２０では、仮想ディスクライブラリ装置１２０のリストア制御プログラム３１４が、例えば上記リストア開始指示に応答して、ストレージ仮想化装置１１０に、リストア対象ＬＵ１１２ｂのリストア開始を通知する。
【００７０】
ステップ８０３０では、ストレージ仮想化装置１１０が、リストア対象ＬＵ１１２ｂのリストア開始通知を受領する。
【００７１】
ステップ８０４０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、例えば上記リストア開始通知に応答して、リストア対象ＬＵ１１２ｂへの上位装置（例えば、ホスト計算機１００）からのライトを禁止する。ここでの処理は、例えば、ステップ７０４０と実質的に同様とすることができる。
【００７２】
ステップ８０５０では、例えば、ストレージ仮想化装置１１０からのライト禁止状態の通知に応答して、仮想ディスクライブラリ装置１２０のリストア制御プログラム３１４が、リストア元となるテープ１２６から、仮想ボリューム対応テーブル２１２及び外部ディスク対応テーブル２１３を読み出す。
【００７３】
ステップ８０６０では、リストア制御プログラム３１４が、ストレージ仮想化装置１１０に、テープ１２６から読み出した仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を送信する。
【００７４】
ステップ８０７０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、仮想ディスクライブラリ装置１２０から送信されてきた仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を受領する。
【００７５】
ステップ８０８０では、ディスク制御プログラム２１１が、リストア対象ＬＵ１１２ｂの実領域の割当をリセットする。具体的には、例えば、ディスク制御プログラム２１１は、物理論理管理表５００のリストア対象ＬＵ１１２ｂのＳＮ（５３０）をリセットし、リセットしたセグメント番号のセグメント管理表４００のＩｎ−ｕｓｅ（４５０）を０（未使用）に変更する。
【００７６】
ステップ８０９０では、ディスク制御プログラム２１１０が、上記受領された仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３（テープ１２６に格納されていた仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３）を参照して、リストアで必要となる容量分、リストア対象ＬＵ１１２ｂに実領域を割り当てる。例えば、ディスク制御プログラム２１１０は、上記受領された仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を参照して、リストアでコピーを行うセグメント数分、セグメント管理表４００を参照して、Ｉｎ−ｕｓｅ（４５０）が０（未使用）となっているセグメントを、リストア対象ＬＵ１１２ｂに割り当てる。リストア対象ＬＵ１１２ｂに割当て可能なセグメントのサイズと、テープ１２６に格納されているデータ要素（要するにバックアップされたデータ要素）が記憶されていたセグメントのサイズとが同じでない場合は、バックアップ時にバックアップ対象ＬＵに割当てられていたセグメントの数と、リストア時にリストア対象ＬＵ１１２ｂに割当てられるセグメントの数は、異なっていてもよい。
【００７７】
ステップ８１００では、ディスク制御プログラム２１１０が、仮想ディスクライブラリ装置１２０に、リストア先情報を追加した仮想ボリューム対応テーブル２１２と、外部ディスク対応テーブル２１３とを送信する。具体的には、例えば、図１０に示すように、ディスク制御プログラム２１１０は、セグメント番号１０３０に対応する物理領域に記憶されていたデータ要素を、リストア先セグメント番号１０６０で示されるセグメントに対応する物理領域にリストアするというように、リストア先セグメント番号１０６０を物理論理管理表５００に追加する。リストア先セグメント番号１０６０は、ステップ８０９０で割当てられたセグメントの番号である。また、ディスク制御プログラム２１１０は、セグメント管理表４００と外部ディスク対応テーブル２１３とを、それぞれ、最新の状態に更新して、仮想ディスクライブラリ装置１２０に送信する。
【００７８】
ステップ９０１０では、仮想ディスクライブラリ装置１２０のリストア制御プログラム３１４が、ストレージ仮想化装置１１０から送信されてきた、リストア先情報が追加された仮想ボリューム対応テーブル２１２と、外部ディスク対応テーブル２１３とを受領する。
【００７９】
ステップ９０２０では、リストア制御プログラム３１４が、リストア先情報が追加された仮想ボリューム対応テーブル２１２と、外部ディスク対応テーブル２１３とを参照しながら、バックアップデータ要素（つまり、リストア対象のデータ要素）が格納されているテープ１２６から、リストア先の実領域となる、ディスク１２２の物理領域に、該バックアップデータ要素をコピーする（リストアする）。具体的には、例えば、リストア制御プログラム３１４は、図１０に示すＬＵＮ０（１０１１）のＬＵをリストアする場合、セグメント番号１（１０２１）に対応する物理領域に記憶されていたバックアップデータ要素（この時点ではテープ１２６に記憶されているデータ要素）を、リストア先セグメント番号１（１０６１）のセグメントに対応した物理領域にコピーする。リストア先セグメント番号１（１０６１）のセグメントの物理領域の位置は、セグメント管理表４００と外部ディスク対応テーブル２１３とを参照して特定することができる。同様に、リストア制御プログラム３１４は、セグメント番号２（１０２２）のセグメントに対応する物理領域に記憶されていたバックアップデータ要素を、リストア先セグメント番号２（１０６２）のセグメントに対応する物理領域にテープ１２６からコピーし、セグメント番号３（１０２３）のセグメントに対応する物理領域に記憶されていたバックアップデータ要素を、リストア先セグメント番号７（１０６３）のセグメントに対応する物理領域にテープ１２６からコピーする。なお、リストア制御プログラム３１４は、どのセグメント番号のセグメントに対応する物理領域に記憶されていたバックアップデータ要素がテープ１２６のどこに記憶されているかは、例えば、物理論理管理表５００においてバックアップ対象ＬＵに対応したセグメント番号群のうちそのセグメント番号が上から何番目にあるかと、バックアップデータが記憶されていたセグメントのサイズと、テープ１２６にデータ要素を記憶する際にテープドライブ１２３によって実行される圧縮の比率（圧縮率）とに基づいて、算出することができる。また、その方法に代えて、例えば、バックアップ制御プログラム３１３が、バックアップ元のセグメントに対応する物理領域からテープ１２６にデータ要素をコピーした際に、物理論理管理表５００において、コピー先のテープ１２６上のアドレスを、コピー元のセグメントのセグメント番号に対応付けておき、リストアの際には、リストア制御プログラム３１４が、その物理論理管理表５００を参照することで、どのセグメント番号のセグメントに対応する物理領域に記憶されていたバックアップデータ要素がテープ１２６のどこに記憶されているかを特定してもよい。
【００８０】
ステップ９０３０では、リストア対象ＬＵのリストア完了後、リストア制御プログラム３１４が、ストレージ仮想化装置１１０に、リストア対象ＬＵ１１２ｂのリストア終了を通知する。
【００８１】
ステップ９０４０では、ストレージ仮想化装置１１０が、リストア対象ＬＵのリストア終了通知を受領する。
【００８２】
ステップ９０５０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、リストア終了通知に応答して、リストア対象ＬＵ１１２ｂへの上位装置（ホスト計算機１００）からのライトを許可する（つまりライト禁止状態を解除する）。ディスク制御プログラム２１１は、ライト禁止状態の解除を、仮想ディスクライブラリ装置１２０に通知することができる。
【００８３】
ステップ９０６０では、仮想ディスクライブラリ装置１２０のリストア制御プログラム３１４が、例えばライト禁止状態解除の通知に応答して、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２に、リストア対象ＬＵ１１２ｂのリストア終了を通知する。
【００８４】
以上が、リストア処理の処理フローについての説明である。なお、この処理フローにおいて、例えば、ステップ９０５０で、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、リストア終了通知に応答して、物理論理管理表５００に追加したリストア先ＳＮ１０６０を、セグメント番号１０３０にコピーし、リストア先ＳＮ１０６０のカラムを削除してもよい。それにより、物理論理管理表５００を最新の状態（リストア対象ＬＵ１１２ｂのリストア完了時に適した状態）にすることができる。
【００８５】
以上、上述した第一実施形態によれば、ストレージ仮想化装置１１０と仮想ディスクライブラリ装置１２０間で、仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を通信することで、実領域の容量とは異なる仮想容量を上位装置に見せる仮想ボリューム１１２ａ、１１２ｂのボリューム単位バックアップにおいて、仮想容量ではなく、実容量分のバックアップが可能となる。また、リストアの場合は、リストア先となる仮想ボリュームの仮想容量ではなく、バックアップ時の実容量分のリストアが可能となる。
【００８６】
＜第二の実施形態＞。
【００８７】
以下、本発明の第二実施形態を説明する。なお、以下の説明では、第一実施形態との相違点を主に説明し、第一実施形態との共通点については説明を省略或いは簡略する。
【００８８】
図１１は、本発明の第二実施形態に係る計算機システムの構成例を示す。図１２は、第二実施形態に係る仮想ディスクアレイコントローラ１２００の構成例を示した図である。図１３は、ディスク１２２の記憶領域例を示した図である。ディスクアレイコントローラ１１１の構成例は、第一実施形態と同じである。
【００８９】
バックアップ／リストア制御指示プログラム１０２は、バックアップ開始前に、ストレージ仮想化装置１１０に、バックアップ対象ＬＵへのライトを禁止する指示を出す機能と、バックアップ終了後に、ストレージ仮想化装置１１０に、バックアップ対象ＬＵへのライトを許可する指示を出す機能とを有する。また、バックアップ／リストア制御指示プログラム１０２は、リストア開始前に、ストレージ仮想化装置１１０に、リストア対象ＬＵへの上位装置からのライトを禁止する指示を出す機能と、リストア終了後に、ストレージ仮想化装置１１０に、リストア対象ＬＵへの上位装置からのライトを許可する指示を出す機能とを有する。
【００９０】
ストレージ仮想化装置１１０は、複数の外部ディスク１１４から構成されるプール１１１０を一つ以上（例えば一つ）備える。プール１１１０は、単一の外部ディスク１１４で構成されてもよい。プール１１１０は、一又は複数の外部ディスク１１４により構成されるが、各外部ディスク１１４の各セグメントは、複数のディスク１２２のうちのいずれかのディスク１２２の各物理領域に対応する。このため、プール１１１０は複数のディスク１２２で構成されている、と実質的に言うこともできる。ディスク制御プログラム２１１は、仮想ボリューム１１２に、プール１１１０から必要に応じてセグメントを実領域として割り当てる機能を有する。プール１１１０は、複数の仮想ボリューム１１２ａ、１１２ｂから使用され、同一の外部ディスク１１４の異なる記憶領域を、仮想ボリューム１１２ａと仮想ボリューム１１２ｂで使用してもよい。第一実施形態と同じく、外部ディスク１１４は、ディスク１２２と対応しており、対応関係は外部ディスク対応テーブル２１３で管理されている。また、図１３に示すように、仮想ボリューム１１２ａ、１１２ｂの実領域となり得るセグメントに対応した物理領域を有するディスク１２２には、セグメントの割当て先となる仮想ボリューム１１２ａ、１１２ｂに対応した仮想ボリューム対応テーブル２１２と、外部ディスク対応テーブル２１３との情報が、仮想ボリューム情報１３１０として記録されている。例えば、ディスク１２２の記憶領域の先頭部分に、仮想ボリューム情報１３１０が記録されており、その後から、仮想ボリューム１１２ａ、１１２ｂに割当てられ得るセグメント（物理領域）の始まりとなる。ディスク制御プログラム２１１は、プール１１１０を構成しているディスク１２２の仮想ボリューム情報１３１０を参照することで、仮想ボリューム１１２ａ、１１２ｂの実領域を再構築する機能（仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を仮想ボリューム情報１３１０と同じ内容になるように更新する機能）を有する。
【００９１】
なお、仮想ボリューム情報１３１０が格納される所定領域のサイズは、その仮想ボリューム情報１３１０が格納されるディスク１２２が有する物理領域の数などを基に設定される。それにより、仮想ボリューム情報１３１０に情報が追加されることによって仮想ボリューム情報１３１０のサイズが増大しても、所定領域を超えないようにすることができる。仮想ボリューム情報１３１０の更新は、例えば、その仮想ボリューム情報１３１０を格納しているディスク１２２における物理領域（セグメント）が仮想ボリューム１１２ａ又は１１２ｂに割当てられたり、その物理領域（セグメント）の割当てが解除されたりする都度に、ストレージ仮想化装置１１０のディスク制御プログラム２１１によって実行される。
【００９２】
仮想ディスクアレイコントローラ１２００は、差分管理プログラム１２１０と、差分管理表１４００とを更に備える。また、差分ビットマップ１５００（図１５参照）が、ディスク１２２に格納される。
【００９３】
差分管理プログラム１２１０は、差分管理ビットマップ１５００を使用して、ディスク１２２の差分管理を行う機能を有する。例えば、差分ビットマップ１５００を使用して、ライトが行われた記憶領域をビット１、ライトが行われていない記憶領域をビット０として、管理することができる。
【００９４】
差分管理表１４００と差分ビットマップ１５００は、ディスク１２２の差分管理を行うためのものである。図１４に示すように、差分管理表１４００には、ディスクＩＤ１４１０と、差分ビットマップ番号１４２０と、差分管理サイズ１４３０と、差分ビットマップ格納位置１４４０とが記録される。ディスクＩＤ１４１０は、差分管理を行っているディスク１２２の一意な識別番号である。差分ビットマップ番号１４２０は、ディスクＩＤ１４１０のディスク１２２に対応する差分ビットマップ１５００の一意な識別番号である。差分管理サイズ１４３０は、差分ビットマップの１ビットが対応するサイズを示す。差分ビットマップ格納位置１４４０は、ディスク１２２のどこに差分ビットマップを格納しているかを示す。例えば、差分ビットマップ格納位置１４４０が、１００：０−１０００（１４４１）であれば、ディスクＩＤ１００のＬＢＡ０から１０００に格納していることを示す。差分ビットマップの格納位置は、参照速度の高速化のために、ディスク１２２上ではなく、キャッシュメモリ３３０上に格納してもよい。差分ビットマップ１５００は、例えば、一つのディスク１２２につき一つ用意される。差分ビットマップ１５００は、例えば、差分管理サイズ１４３０が１ＭＢであれば、１５１０ａがディスク１２２の記憶領域の先頭から１ＭＢ、１５１０ｂが先頭１ＭＢから２ＭＢに対応するブロックの差分ビットを示す。対応するブロックのどれか一つが更新されたら（ライトされたら）差分ビットを反転する。例えば、１５１０ａ、１５１０ｂ、１５１０ｅは更新されておらず（ライトされておらず）、１５１０ｃ、１５１０ｄが更新されている（ライトされている）ことを表す。
【００９５】
仮想ディスクライブラリ装置１２０は、プール１１１０を構成するディスク１２２において、仮想ボリューム１１２の実領域として使用されているセグメントを、差分管理表１４００及び差分ビットマップ１５００を参照することで知ることができる。例えば、プール１１１０を構成するディスク１２２において、全てのセグメント（記憶領域）が仮想ボリューム１１２ａ、１１２ｂの実領域として割り当てられていない状況で、プール１１１０を構成するディスク１２２の差分ビットマップ１５００をリセット（例えば、オールゼロクリア）することができる。以降、仮想ボリューム１１２の実領域として割り当てられた場合、実領域として割り当てられた物理領域には必ずライトが行われるため、差分ビットマップ１５００でビットが反転（ビット１）している物理領域が、仮想ボリューム１１２ａ、１１２ｂの実領域として使用されている物理領域であることが分かる。なお、差分ビットマップ１５００を構成する各ビットは、各物理領域ではなく、各物理領域を構成する複数のブロックの各々に対応付けられても良い。
【００９６】
図１６は、本発明の第二の実施形態でのバックアップ処理の処理フローを示す。
【００９７】
ステップ１６０１０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、ストレージ仮想化装置１１０に、バックアップ対象ＬＵへのライト禁止指示を送信し、ストレージ仮想化装置１１０がそのライト禁止指示を受領する。ここで、バックアップ対象ＬＵとは、後述するバックアップ対象プール内のセグメントの割当て先となるＬＵである。例えばプール１１１０がバックアップ対象プールの場合、仮想ボリューム１１２ａ及び１１２ｂが、バックアップ対象ＬＵとなる。
【００９８】
ステップ１６０２０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、ライト禁止指示に応答して、バックアップ対象ＬＵ１１２ａ、１１２ｂへのライトを禁止する。
【００９９】
ステップ１６０３０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、仮想ディスクライブラリ装置１２０に、バックアップ対象プールを指定したバックアップ開始指示を送信し、仮想ディスクライブラリ装置１２０がそのバックアップ開始指示を受領する。例えば、バックアップ開始指示では、バックアップ対象プール１１１０を構成する全てのディスク１２２のＬＵＮとバックアップ先となるテープ１２６とが指定される。プール１１１０を構成するディスク１１２のＬＵＮは、例えば、図示しないテーブル等でホスト計算機１００において管理することができる。バックアップ対象プール１１１０を構成するディスク１２２のＬＵＮは、例えば、ホスト計算機１００のユーザが手で入力しても良いし、該ユーザがバックアップ対象プール１１１０の識別子を入力し、バックアップ／リストア制御指示プログラム１０２が、その識別子に対応するディスク１２２のＬＵＮを特定しても良い。
【０１００】
ステップ１６０４０では、仮想ディスクライブラリ装置１２０のバックアップ制御プログラム３１３が、バックアップ開始指示に応答して、バックアップ先となるテープ１２６に、バックアップ対象プールを構成する各ディスク１２２の各差分ビットマップ１５００と、差分管理表１４００とをコピーする。各差分ビットマップ１５００及び差分管理表１４００のコピー先は、バックアップ先となるテープ１２６の先頭部分など、所定の位置であっても良いし、任意の位置であっても良い。各差分ビットマップ１５００及び差分管理表１４００がどのテープ１２６のどこに格納されたかが、図示しないテーブル等を用いて、仮想ディスクライブラリ装置１２０において管理されても良い。
【０１０１】
ステップ１６０５０では、バックアップ制御プログラム３１３が、各差分ビットマップ１５００を参照しながら、バックアップ対象プールの実領域（仮想ボリューム１１２ａ、１１２ｂに割当てられているセグメント）に対応した物理領域にあるデータ要素を、ディスク１２２からバックアップ先となるテープ１２６にコピーする。例えば、バックアップ制御プログラム３１３は、差分ビットマップ１５００を参照し、反転しているビットに対応したブロックに記憶されているデータ要素を、バックアップ先となるテープ１２６にコピーする。
【０１０２】
ステップ１６０６０では、バックアップ対象プールのバックアップ完了後、バックアップ制御プログラム３１３が、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２に、バックアップ対象プールのバックアップ終了を通知する。
【０１０３】
ステップ１６０７０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、バックアップ終了の通知に応答して、ストレージ仮想化装置１１０に、バックアップ対象ＬＵへのライト許可指示を送信し、ストレージ仮想化装置１１０がそのライト許可指示を受領する。
【０１０４】
ステップ１６０８０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、ライト許可指示に応答して、バックアップ対象ＬＵへのライトを許可する。
【０１０５】
図１７は、本発明の第二の実施形態でのリストア処理の処理フローを示す。
【０１０６】
ステップ１７０１０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、ストレージ仮想化装置１１０に、リストア対象ＬＵへの上位装置からのライト禁止指示を送信し、ストレージ仮想化装置１１０が受領する。この処理フローでは、第一実施形態と同様に、リストア先ＬＵとリストア対象ＬＵ（つまり、バックアップ元になったＬＵ）とが同一であるとする。また、リストアは、バックアップと同様にプール単位で行われるので、リストア対象ＬＵは、仮想ボリューム１１２ａ、１１２ｂとなる。
【０１０７】
ステップ１７０２０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、リストア対象ＬＵ１１２ａ、１１２ｂへの上位装置からのライトを禁止する。
【０１０８】
ステップ１７０３０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、仮想ディスクライブラリ装置１２０に、リストア対象プールを指定したリストア開始指示を送信し、仮想ディスクライブラリ装置１２０がそのリストア開始指示を受領する。例えば、リストア開始指示では、リストア元となるテープ１２６と、リストア対象プール１１１０を構成する全てのディスク１２２のＬＵＮとが指定される。
【０１０９】
ステップ１７０４０では、仮想ディスクライブラリ装置１２０のリストア制御プログラム３１４が、リストア対象プール１１１０を構成する全てのディスク１２２（つまりリストア先となるディスク１２２）をフォーマットする。このフォーマットでは、例えば、プール１１１０を構成する各ディスク１２２の全領域（全セグメント）を０で上書きする。
【０１１０】
ステップ１７０５０では、仮想ディスクライブラリ装置１２０のリストア制御プログラム３１４が、リストア対象プール１１１０を構成する各ディスク１２２に対応した各差分ビットマップ１５００を、リストア元のテープ１２６に格納されている差分ビットマップ１５００を使用して、バックアップ時の状態にリストアする（つまり、リストア対象プール１１１０を構成する各ディスク１２２に対応した各差分ビットマップ１５００を、リストア元のテープ１２６に格納されている差分ビットマップ１５００と同じ内容にする）。
【０１１１】
ステップ１７０６０では、リストア制御プログラム３１４が、リストアされた差分ビットマップ１５００を参照しながら、リストア元のテープ１２６から、リストア先の実領域となる、ディスク１２２の物理領域に、バックアップデータをコピーする（リストアする）。どのバックアップデータをどこにコピーするかは、例えば、バックアップが所定の規則に従って実行され、リストアが該所定の規則を基に実行されることで、制御される。具体的には、例えば、バックアップの際に、バックアップ対象プールを構成するディスク１２２のうち、ＬＵＮの若いディスク１２２にある、セグメント番号の若いセグメントから、順に、コピーが実行される。リストアの際にも、ＬＵＮの若いディスク１２２にある、セグメント番号の若いセグメントに記憶されていたバックアップデータから、順に、リストアされる。なお、テープ１２６において、どこからどこまでが、一つのセグメントに記憶されていたバックアップデータであるかは、テープドライブ１２３が実行する圧縮の比率（圧縮率）などを基に特定することができる。
【０１１２】
ステップ１７０７０では、リストア対象プールのリストア完了後、リストア制御プログラム３１４が、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２に、リストア対象プールのリストア終了を通知する。
【０１１３】
ステップ１７０８０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、リストア終了の通知に応答して、ストレージ仮想化装置１１０に、リストア対象ＬＵ１１２ａ、１１２ｂへの上位装置からのライト許可指示を送信し、ストレージ仮想化装置１１０がそのライト許可指示を受領する。
【０１１４】
ステップ１７０９０では、ストレージ仮想化装置１１０のディスク制御プログラム２１１が、ライト許可指示に応答して、リストア対象ＬＵ１１２ａ、１１２ｂにおいて、各ディスク１２２の仮想ボリューム情報１３１０を参照し、仮想ボリューム１１２ａ、１１２ｂに対する実領域（セグメント）の割当を再構築する。具体的には、ディスク制御プログラム２１１は、仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３を、各ディスク１２２の仮想ボリューム情報１３１０と同じ内容になるように更新する。
【０１１５】
ステップ１７１００では、ディスク制御プログラム２１１が、リストア対象ＬＵ１１２ａ、１１２ｂへの上位装置からのライトを許可する。
【０１１６】
以上、上述した第二実施形態によれば、仮想ディスクライブラリ装置１２０において、プール１１１０を構成するディスク１２２の差分管理を行うことで、実容量分のバックアップが可能となる。また、リストアの場合は、バックアップを行った実容量分のリストアが可能となる。各差分ビットマップ１５００は、ディスク１２２に格納されることに代えて又は加えて、制御メモリ３１０に記憶されても良い。逆に、差分管理表１４００は、制御メモリ３１０に記憶されることに代えて又は加えて、ディスク１２２に格納されても良い。
【０１１７】
なお、第一実施形態とこの第二の実施形態との相違点の概要は、例えば以下の通りである。
【０１１８】
第一実施形態では、バックアップ処理及びリストア処理は、それぞれ、仮想ボリューム単位で行うことができる。具体的には、例えば、バックアップ対象及びリストア対象がそれぞれ仮想ボリューム１１２ｂである場合、バックアップ処理では、ストレージ仮想化装置１１０から仮想ディスクライブラリ装置１２０に仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３が送信されることにより、仮想ボリューム１１２ｂに割当てられていた実領域（セグメント）に記憶されているデータがテープ１２６にコピーされる。そして、リストア処理では、仮想ボリューム１１２ｂの実容量分のデータが、テープ１２６からディスク１２２にコピーされる。但し、リストア完了時に仮想ボリューム１１２ｂに割当てられているセグメントの番号と、バックアップ開始時に仮想ボリューム１１２ｂに割当てられているセグメントの番号とは、必ずしも一致しない。
【０１１９】
一方、第二実施形態では、バックアップ処理及びリストア処理は、それぞれ、仮想ボリューム単位でなく、プール単位となる。すなわち、例えば、仮想ボリューム１１２ｂのみのバックアップを行いたくても、仮想ボリューム１１２ｂのみのバックアップを行うことはできず、プール１１１０における割当て済みセグメントに記憶されているデータが、バックアップされる。割当て済みセグメントとしては、仮想ボリューム１１２ｂに割当てられているセグメントだけでなく、仮想ボリューム１１２ａに割当てられているセグメントもあるため、結果として、仮想ボリューム１１２ｂだけでなく同じプール１１１０からのセグメントの割当てを受けている仮想ボリューム１１２ａのバックアップも行われる。但し、第二実施形態では、仮想ディスクライブラリ装置１２０にて、どのディスク１２２のどこが割当て済みセグメントであるかが管理されているので、ストレージ仮想化装置１１０から仮想ディスクライブラリ装置１２０への仮想ボリューム対応テーブル２１２と外部ディスク対応テーブル２１３との送信は、不要である。
【０１２０】
＜第三の実施形態＞。
【０１２１】
以下、本発明の第三実施形態を説明する。なお、以下の説明では、第一実施形態との相違点を主に説明し、第一実施形態との共通点については説明を省略或いは簡略する。
【０１２２】
図１８は、本発明の第三実施形態に係る計算機システムの構成例を示す。図１９は、第三実施形態に係る仮想ディスクアレイコントローラ１８１０の構成例を示した図である。
【０１２３】
ホスト計算機１００と仮想ディスクライブラリ装置１２０とが、ファイバチャネル１４０を用いて互いに接続されており、データや処理要求等の受け渡しが行われる。ホスト計算機１００、仮想ディスクライブラリ装置１２０は、ＬＡＮ（Local Area Network）等の通信ネットワークで接続されていても良いし、専用線などで接続されても良い。
【０１２４】
仮想ディスクライブラリ装置１２０は、仮想ディスクアレイコントローラ１８１０、複数の仮想ボリューム１８２０、ディスク１２２及びテープライブラリ装置１２３を備える。
【０１２５】
仮想ディスクアレイコントローラ１８１０は、ホスト計算機１００とのインタフェースとなるＦＥ／ＩＦ部３００と、ディスク制御プログラム１９１０、テープライブラリ制御プログラム３１２、バックアップ制御プログラム３１３、リストア制御プログラム３１４及び仮想ボリューム対応テーブル１９２０を記憶するローカルメモリ（以下、制御メモリ）３１０と、ディスク制御プログラム１９１０、テープライブラリ制御プログラム３１２、バックアップ制御プログラム３１３、リストア制御プログラム３１４及び仮想ボリューム対応テーブル１９２０を実行するプロセッサ（例えば、ＣＰＵ、以下、制御プロセッサ）３２０と、一時的に情報を記憶するキャッシュメモリ３３０と、ディスク１２２とのインタフェースとなるディスクＩＦ部３４０と、テープライブラリ装置１２３とのインタフェースとなるテープＩＦ部３５０とを備える。
【０１２６】
ディスク制御プログラム１９１０は、仮想ボリューム対応テーブル１９２０を使用して、ホスト側（例えばアプリケーション１０１）に仮想的な容量を見せる仮想ボリューム１８２０を扱う機能を有する。仮想ボリューム１８２０の実領域は、ディスク１２２のセグメントであり、仮想ボリューム１８２０の記憶容量として実容量以上の仮想容量をホスト側に見せる機能を有する。また、仮想ディスクライブラリ装置１２０のディスク１２２を管理し、制御する機能を有する。
【０１２７】
図２０のセグメント管理表２０００と図２１の物理論理管理表２１００は、仮想ボリューム対応テーブル１９２０を示している。
【０１２８】
セグメント管理表２０００は、図４のセグメント管理表４００の外部ディスクＩＤ４１０が、ディスクＩＤ２０１０に変わった以外は、セグメント管理表４００と同じである。ディスクＩＤ２０１０は、ディスク制御プログラム１９１０によって決定されたディスク１２２の一意な識別番号である。
【０１２９】
物理論理管理表２１００は、図５の物理論理管理表５００と同じである。
【０１３０】
図２２は、本発明の第三の実施形態でのバックアップ処理の処理フローを示す。
【０１３１】
ステップ２２０１０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、仮想ディスクライブラリ装置１２０に、バックアップ対象ＬＵ１１２ｂのバックアップ開始指示を送信し、仮想ディスクライブラリ装置１２０がそのバックアップ開始指示を受領する。
【０１３２】
ステップ２２０２０では、仮想ディスクライブラリ装置１２０のバックアップ制御プログラム３１３が、バックアップ開始指示に応答して、バックアップ対象ＬＵ１１２ｂへの上位装置からのライトを禁止する。
【０１３３】
ステップ２２０３０では、バックアップ制御プログラム３１３が、バックアップ先となるテープ１２６に、バックアップ対象ＬＵ１１２ｂのリストア時に必要となる仮想ボリューム対応テーブル１９２０をコピーする。
【０１３４】
ステップ２２０４０では、バックアップ制御プログラム３１３が、仮想ボリューム対応テーブル１９２０を参照しながら、バックアップ対象ＬＵ１１２ｂの実領域に記憶されているデータ要素を、ディスク１２２からバックアップ先となるテープ１２６にコピーする。
【０１３５】
ステップ２２０５０では、バックアップ対象ＬＵのバックアップ完了後、バックアップ制御プログラム３１３が、バックアップ対象ＬＵ１１２ｂへのライトを許可する。
【０１３６】
ステップ２２０６０では、バックアップ制御プログラム３１３が、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２に、バックアップ対象ＬＵ１１２ｂのバックアップ終了を通知する。
【０１３７】
図２３は、本発明の第三実施形態でのリストア処理の処理フローを示している。
【０１３８】
ステップ２３０１０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、仮想ディスクライブラリ装置１２０に、リストア対象ＬＵ１１２ｂのリストア開始指示を送信し、仮想ディスクライブラリ装置１２０がそのリストア開始指示を受領する。
【０１３９】
ステップ２３０２０では、仮想ディスクライブラリ装置１２０のリストア制御プログラム３１４が、リストア開始指示に応答して、リストア対象ＬＵ１１２ｂへの上位装置からのライトを禁止する。
【０１４０】
ステップ２３０３０では、リストア制御プログラム３１４が、リストア対象ＬＵ１１２ｂの実領域の割当をリセットする。
【０１４１】
ステップ２３０４０では、リストア制御プログラム３１４が、リストア元となるテープ１２６から、仮想ボリューム対応テーブル１９２０を読み出す。
【０１４２】
ステップ２３０５０では、リストア制御プログラム３１４が、テープ１２６に格納されていた仮想ボリューム対応テーブル１９２０を参照して、リストアで必要となる実容量分、リストア対象ＬＵ１１２ｂに実領域を割り当てる。
【０１４３】
ステップ２３０６０では、リストア制御プログラム３１４が、図１０に示すようなリストア先情報を追加した仮想ボリューム対応テーブルを作成する。
【０１４４】
ステップ２３０７０では、リストア制御プログラム３１４が、リストア先情報が追加された仮想ボリューム対応テーブルを参照しながら、バックアップデータが格納されているテープ１２６から、リストア先の実領域にデータ要素をコピーする（リストアする）。
【０１４５】
ステップ２３０８０では、リストア対象ＬＵのリストア完了後、リストア制御プログラム３１４が、リストア対象ＬＵ１１２ｂへの上位装置からのライトを許可する。
【０１４６】
ステップ２３０９０では、リストア制御プログラム３１４が、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２に、リストア対象ＬＵのリストア終了を通知する。
【０１４７】
以上、上述した第三実施形態によれば、ホスト計算機１００と仮想ディスクライブラリ装置１２０から構成されるシステムにおいて、仮想ボリューム対応テーブル１９２０を使用して、実容量分のバックアップが可能となる。また、リストアの場合は、リストア先仮想ボリュームの仮想容量ではなく、バックアップを行った実容量分のリストアが可能となる。
【０１４８】
＜第四の実施形態＞。
【０１４９】
以下、本発明の第四実施形態を説明する。なお、以下の説明では、第三実施形態との相違点を主に説明し、第三実施形態との共通点については説明を省略或いは簡略する。
【０１５０】
本発明の第四実施形態に係る計算機システムの構成例は、第三実施形態と同じである。バックアップ処理フローも第三実施形態と同じであり、リストア処理フローの一部が第三実施形態と異なっている。
【０１５１】
図２４は、本発明の第四実施形態でのリストア処理の処理フローを示している。
【０１５２】
ステップ２４０１０では、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２が、仮想ディスクライブラリ装置１２０に、リストア対象ＬＵ１１２ｂのリストア開始指示を送信し、仮想ディスクライブラリ装置１２０がそのリストア開始指示を受領する。
【０１５３】
ステップ２４０２０では、リストア制御プログラム３１４が、リストア開始指示に応答して、リストア対象ＬＵ１１２ｂへの上位装置からのライトを禁止する。
【０１５４】
ステップ２４０３０では、リストア制御プログラム３１４が、リストア対象ＬＵ１１２ｂの実領域の割当をリセットする。
【０１５５】
ステップ２４０４０では、リストア制御プログラム３１４が、リストア元となるテープ１２６から、仮想ボリューム対応テーブル１９２０を読み出す。
【０１５６】
ステップ２４０５０では、リストア制御プログラム３１４が、リストア元となるテープ１２６に格納されていた仮想ボリューム対応テーブル１９２０を参照しながら、バックアップデータが格納されているテープ１２６から、リストア先仮想ボリューム１８２０の論理アドレス位置にデータ要素をコピーする（リストアする）。仮想ボリューム１８２０の論理アドレス位置は、例えば、図２１で示されるＬＵＮ
ＬＢＡ（ＳＴＡＲＴ）５４０とＬＵＮ ＬＢＡ（ＥＮＤ）５５０で示されるアドレス位置である。仮想ボリューム１８２０に対してライトを行うことで、例えば特開２００３−１５９１５号公報で開示されている技術により、仮想ボリューム１８２０に実領域が割り当てられながら、データコピー処理（リストア処理）が行われる。
【０１５７】
ステップ２４０６０では、リストア対象ＬＵのリストア完了後、リストア制御プログラム３１４が、リストア対象ＬＵへの上位装置からのライトを許可する。
【０１５８】
ステップ２４０７０では、リストア制御プログラム３１４が、ホスト計算機１００のバックアップ／リストア制御指示プログラム１０２に、リストア対象ＬＵのリストア終了を通知する。
【０１５９】
以上、上述した第四実施形態によれば、ホスト計算機１００と仮想ディスクライブラリ装置１２０から構成されるシステムにおいて、仮想ボリューム対応テーブル１９２０を使用して、実容量分のバックアップが可能となる。また、リストアの場合は、バックアップを行った実容量分のリストアが可能となる。
【０１６０】
なお、第三実施形態とこの第四の実施形態との相違点の概要は、例えば以下の通りである。すなわち、第三実施形態では、リストア先は、仮想ボリューム１１２ｂではなく、仮想ボリューム１１２ｂの実領域である、ディスク１２２のセグメントである。それに対し、第四実施形態では、リストア先は、仮想ボリューム１１２ｂそれ自体であり、仮想ボリューム１１２ｂに対するリストア（コピー）の都度に、リストア先に対応したアドレスに割当てられるセグメントに、バックアップデータ要素（リストア対象データ要素）が書かれる。
【０１６１】
以上、本発明の好適な幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【図面の簡単な説明】
【０１６２】
【図１】図１は、本発明の第一実施形態に係る計算機システムの構成例を示す。
【図２】図２は、ストレージ仮想化装置のディスクアレイコントローラの構成例を示した図である。
【図３】図３は、仮想ディスクライブラリ装置の仮想ディスクアレイコントローラの構成例を示した図である。
【図４】図４は、セグメント管理表の構成例を示す。
【図５】図５は、物理論理管理表の構成例を示す。
【図６】図６は、外部ディスク対応テーブルの構成例を示す。
【図７】図７は、本発明の第一実施形態に係るバックアップ処理の処理フローの一例を示す。
【図８】図８は、本発明の第一実施形態に係るリストア処理の処理フローの一例の一部を示す。
【図９】図９は、本発明の第一実施形態に係るリストア処理の処理フローの一例の残りの一部を示す。
【図１０】図１０は、リストア先情報を付加した物理論理管理表の構成例を示す。
【図１１】図１１は、本発明の第二実施形態に係る計算機システムの構成例を示す。
【図１２】図１２は、本発明の第二実施形態での仮想ディスクライブラリ装置の仮想ディスクアレイコントローラの構成例を示した図である。
【図１３】図１３は、ディスク１２２の構成例を示した図である。
【図１４】図１４は、差分管理表の構成例を示す。
【図１５】図１５は、差分ビットマップの一例を示す。
【図１６】図１６は、本発明の第二実施形態に係るバックアップ処理の処理フローの一例を示す。
【図１７】図１７は、本発明の第二実施形態に係るリストア処理の処理フローの一例を示す。
【図１８】図１８は、本発明の第三実施形態に係る計算機システムの構成例を示す。
【図１９】図１９は、本発明の第三実施形態での仮想ディスクライブラリ装置の仮想ディスクアレイコントローラの構成例を示した図である。
【図２０】図２０は、本発明の第三実施形態でのセグメント管理表の構成例を示す。
【図２１】図２１は、本発明の第三実施形態での物理論理管理表の構成例を示す。
【図２２】図２２は、本発明の第三実施形態に係るバックアップ処理の処理フローの一例を示す。
【図２３】図２３は、本発明の第三実施形態に係るリストア処理の処理フローの一例を示す。
【図２４】図２４は、本発明の第四実施形態に係るリストア処理の処理フローの一例を示す。
【符号の説明】
【０１６３】
１００…計算機、１１０…ストレージ仮想化装置、１１１…ディスクアレイコントローラ、１１２…仮想ボリューム、１２０…仮想ディスクライブラリ装置、１２１…仮想ディスクアレイコントローラ、１２２…ディスク、１２３…テープライブラリ装置、１２６…テープ
【図１】
2008181271.tif 000003
【図２】
2008181271.tif 000004
【図３】
2008181271.tif 000005
【図４】
2008181271.tif 000006
【図５】
2008181271.tif 000007
【図６】
2008181271.tif 000008
【図７】
2008181271.tif 000009
【図８】
2008181271.tif 000010
【図９】
2008181271.tif 000011
【図１０】
2008181271.tif 000012
【図１１】
2008181271.tif 000013
【図１２】
2008181271.tif 000014
【図１３】
2008181271.tif 000015
【図１４】
2008181271.tif 000016
【図１５】
2008181271.tif 000017
【図１６】
2008181271.tif 000018
【図１７】
2008181271.tif 000019
【図１８】
2008181271.tif 000020
【図１９】
2008181271.tif 000021
【図２０】
2008181271.tif 000022
【図２１】
2008181271.tif 000023
【図２２】
2008181271.tif 000024
【図２３】
2008181271.tif 000025
【図２４】
2008181271.tif 000026