JP4990322B2 - データ移動管理装置及び情報処理システム - Google Patents

データ移動管理装置及び情報処理システム Download PDF

Info

Publication number
JP4990322B2
JP4990322B2 JP2009116486A JP2009116486A JP4990322B2 JP 4990322 B2 JP4990322 B2 JP 4990322B2 JP 2009116486 A JP2009116486 A JP 2009116486A JP 2009116486 A JP2009116486 A JP 2009116486A JP 4990322 B2 JP4990322 B2 JP 4990322B2
Authority
JP
Japan
Prior art keywords
execution plan
storage area
migration
data
data movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009116486A
Other languages
English (en)
Other versions
JP2010266993A (ja
JP2010266993A5 (ja
Inventor
明彦 坂口
山川  洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009116486A priority Critical patent/JP4990322B2/ja
Priority to US12/493,978 priority patent/US8205112B2/en
Priority to EP09174029A priority patent/EP2251788B1/en
Priority to AT09174029T priority patent/ATE555440T1/de
Publication of JP2010266993A publication Critical patent/JP2010266993A/ja
Publication of JP2010266993A5 publication Critical patent/JP2010266993A5/ja
Priority to US13/476,620 priority patent/US20120226938A1/en
Application granted granted Critical
Publication of JP4990322B2 publication Critical patent/JP4990322B2/ja
Priority to US13/613,929 priority patent/US8555106B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Description

本発明は、データ移動管理装置及び情報処理システムに関する。
企業等で取り扱われるデータ量は年々増大する一方である。そのため、企業等では、異なる複数の記憶制御装置を用いて比較的大規模な情報処理システムを構築し、多量のデータを管理している。データの利用頻度は、時間の経過に応じて低下していくため、データの利用頻度に応じて、データの格納場所を再配置する。
そこで、使用頻度の比較的高いデータは、より高速な論理ボリュームに保存させ、かつ、使用頻度の比較的低いデータは、より低速な論理ボリュームに移動させることにより、情報処理システム内の記憶資源を有効に利用する。従来技術では、バックアップデータを移動先の論理ボリュームにコピーさせることにより、移動対象データを情報処理システム内で再配置させる。
しかし、バックアップデータを用いる方法では、データ再配置が終了するまでの間、ホストコンピュータから移動対象データへのアクセスを禁止しなければならない。従って、データ再配置が終了するまで、ホストコンピュータ上での業務処理を停止させる必要があり、使い勝手が低い。そこで、ホストコンピュータからのアクセスを停止させることなく、データを再配置させることのできる技術が提案されている(特許文献1)。
米国特許第5,680,640号明細書
前記文献に記載の従来技術のように、ホストコンピュータからのアクセスを許可しつつ、データを移動させる場合、ホストコンピュータによるデータへのアクセスと、そのデータを移動させるためのデータコピーとが同時に発生する。このため、移動対象データのI/O(Input/Output)負荷が増大する。
その場合において、ホストコンピュータからのアクセス頻度が高いと、記憶制御装置の処理負荷が増大し、データコピーの完了に要する時間が長くなる。そればかりか、ホストコンピュータからのアクセスが優先して処理されるような場合には、データコピー処理がタイムアウトエラー等によってエラー終了する可能性もある。
データ移動がエラー終了した場合、情報処理システムを管理するユーザは、最初に設定した複数のデータ移動のうち、エラー終了したデータ移動がどれであるのかを特定し、新しいデータ移動を再設定する必要がある。
ここで、企業等で使用される比較的大規模な情報処理システムでは、複数のデータを一度に再配置させることがある。さらに、異なる複数のデータが互いに関連している場合、それらの互いに関連するデータは、同時に移動させる必要がある。
このように、比較的大規模な情報処理システムでは、複雑なデータ移動が計画され、深夜等の比較的アクセスの少ない時間帯に実行される。もしも、計画されたデータ移動の一部にエラーが生じて完了しなかった場合、ユーザは、複雑なデータ移動計画を再び立案して設定し直す必要があり、使い勝手が低い。
さらに、最初のデータ移動計画が失敗した原因に応じて、新たなデータ移動計画は再設定されるべきであるが、ユーザは、経験と勘に頼ってデータ移動計画を再設定するため、新たな計画通りにデータ移動が完了する保証はない。
そこで、本発明の目的は、データ移動を比較的簡単に設定して実行させることのできるデータ移動管理装置及び情報処理システムを提供することにある。本発明の他の目的は、データ移動の完了時間をデータ移動の履歴情報に基づいて予測し、その予測結果に応じてデータ移動の実行計画を変更させることができるデータ移動管理装置及び情報処理システムを提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明の一つの観点に従うデータ移動管理装置は、複数の記憶領域を備える情報処理システム内のデータ移動を管理するためのデータ移動管理装置であって、各記憶領域に含まれる移動元記憶領域から各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、メモリに記憶される実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、マイクロプロセッサが、各記憶領域を制御するための記憶制御装置と通信ネットワークを介して通信するための通信インターフェースと、を有し、マイクロプロセッサは、(1)実行計画を作成してメモリに記憶させ、(2)実行計画に基づく指示を通信ネットワークを介して記憶制御装置に与えることにより、移動元記憶領域から移動先記憶領域へデータを移動させ、(3)実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、(4)実行計画が失敗したと判定される場合、実行計画に含まれる情報を用いて再実行計画を作成し、(5)再実行計画を実行計画に関連づけてメモリに記憶させ、(6)再実行計画に基づく別の指示を通信ネットワークを介して記憶制御装置に与えることにより、移動元記憶領域から移動先記憶領域へデータを移動させる。
第2観点では、第1観点において、メモリには、情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、マイクロプロセッサは、メモリに記憶されている履歴情報に基づいて、実行計画または再実行計画の完了に要する移動完了時間を予測し、その予測された移動完了時間を実行計画または再実行計画に関連づけて出力させるようになっている。
第3観点では、第2観点において、履歴情報には、実行計画の実行結果が反映されるようになっており、マイクロプロセッサは、実行計画の実行結果が反映された履歴情報に基づいて、再実行計画の移動完了時間を予測する。
第4観点では、第1観点において、マイクロプロセッサは、実行計画が失敗した場合に、その失敗原因に応じて、移動元記憶領域または移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、再実行計画を作成する。
第5観点では、第4観点において、メモリには、失敗原因毎にリトライ可能か否かを予め規定する失敗原因テーブルが記憶されており、マイクロプロセッサは、失敗原因テーブルを参照することにより、実行計画の失敗原因がリトライ可能な失敗原因であるか否かを判定し、実行計画の失敗原因がリトライ不可であると設定されている場合に、移動元記憶領域または移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、再実行計画を作成する。
第6観点では、第4観点において、マイクロプロセッサは、移動元記憶領域または移動先記憶領域のうち変更対象となる記憶領域の属性に基づいて、別の記憶領域を各記憶領域の中から選択する。
第7観点では、第1観点において、メモリには、情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、マイクロプロセッサは、実行計画が失敗した場合に、実行計画に含まれる移動元記憶領域及び移動先記憶領域を再選択して再実行計画を作成可能であるか否かを判定し、移動元記憶領域及び移動先記憶領域を再選択可能であると判定した場合には、移動元記憶領域から移動先記憶領域へのデータ移動の完了に要する移動完了時間を履歴情報に基づいて予測し、予測された移動完了時間が予め設定される所定の変更条件に該当する場合に、移動先記憶領域を、各記憶領域に含まれる別の記憶領域に変更させる。
第8観点では、第7観点において、マイクロプロセッサは、別の記憶領域として、変更対象の移動先記憶領域と同一または類似する属性を有する記憶領域を選択する。
第9観点では、第7観点において、所定の変更条件は、今回予測される移動完了時間が、失敗した実行計画について事前に予測された移動完了時間よりも第1所定値以上長い場合、または、実行計画が開始されてから失敗するまでに要した時間が、実行計画について事前に予測された移動完了時間よりも第2所定値以上長い場合、または、移動元記憶領域と移動先記憶領域とから構成されるデータ移動ペアが実行計画に複数含まれている場合において、いずれか一つのデータ移動ペアについて予測される移動完了時間が、他の各データ移動ペアについて予測される移動完了時間よりも第3所定値以上長い場合、のいずれか一つまたは複数である。
第10観点では、第1観点において、実行計画には、移動元記憶領域と移動先記憶領域とから構成されるデータ移動ペアが複数含まれており、マイクロプロセッサは、実行計画に含まれる各データ移動ペアのうちいずれか一つのデータ移動ペアについてデータ移動が失敗した場合には、実行計画が失敗したものと判定し、さらに、マイクロプロセッサは、失敗した実行計画に含まれる各データ移動ペアのうちデータ移動に失敗したデータ移動ペアの設定に使用される情報を用いて、データ移動に失敗したデータ移動ペアについてのデータ移動を完了させるための再実行計画を作成する。
第11観点では、第1観点において、メモリには、マイクロプロセッサにより作成される実行計画及び再実行計画を記憶するための実行計画管理テーブルも記憶されており、実行計画管理テーブルにおいて、実行計画を識別するための識別子と、再実行計画を識別するための識別子とは異なるように設定される。
第12観点では、第1観点において、マイクロプロセッサは、失敗した実行計画に再実行計画が関連づけられた場合、実行計画に関する別の実行計画の作成を禁止させる。
第13観点に従う情報処理システムは、データ移動を管理するためのデータ移動管理装置と、データ移動管理装置に通信ネットワークを介して接続され、それぞれ複数の記憶領域を有する複数の記憶制御装置と、を有する情報処理システムであって、データ移動管理装置は、各記憶領域に含まれる移動元記憶領域から各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、メモリに記憶される実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、マイクロプロセッサが、各記憶制御装置と通信ネットワークを介して通信するための通信インターフェースと、を有し、マイクロプロセッサは、(1)実行計画を作成してメモリに記憶させ、(2)実行計画に基づく指示を通信ネットワークを介して各記憶制御装置に与えて、移動元記憶領域から移動先記憶領域へデータを移動させ、(3)実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、(4)実行計画が失敗したと判定される場合、実行計画に含まれる情報を用いて再実行計画を作成し、(5)再実行計画を実行計画に関連づけてメモリに記憶させ、(6)再実行計画に基づく別の指示を通信ネットワークを介して各記憶制御装置に与えて、移動元記憶領域から移動先記憶領域へデータを移動させる。
なお、本発明は、以下のように、データ移動を管理するための方法として捉えることもできる。即ち、複数の記憶領域を備える情報処理システム内のデータ移動を管理するためのデータ移動管理方法であって、
前記各記憶領域に含まれる移動元記憶領域から前記各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を作成してメモリに記憶させ、
前記実行計画に基づく指示を、前記各記憶領域を制御するための記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させ、
前記実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、
前記実行計画が失敗したと判定される場合、前記実行計画に含まれる情報を用いて再実行計画を作成し、
前記再実行計画を前記実行計画に関連づけて前記メモリに記憶させ、
前記再実行計画に基づく別の指示を前記記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させる、
データ移動管理方法。
本発明の機能や手段あるいはステップは、その全部または一部をコンピュータプログラムとして構成できる場合がある。このコンピュータプログラムは、記録媒体に固定して譲渡等することができるほかに、インターネット等の通信ネットワークを介して伝送することもできる。さらに、上述の特徴は、明示された組合せ以外に組み合わせることができ、そのような組合せも本発明の範囲に含まれる。
本発明の実施形態の概念を示す説明図。 システムの全体構成を示すブロック図。 データマイグレーションの様子を模式的に示す説明図。 管理サーバのメモリ構成を示す説明図。 タスク管理テーブルの一部を示す説明図。 タスク管理テーブルの他の部分を示す説明図。 エラー情報テーブルの説明図。 ボリューム情報テーブルの説明図。 マイグレーション履歴情報の説明図。 データマイグレーション処理の全体を示すフローチャート。 データマイグレーションタスクを生成する処理のフローチャート。 データマイグレーションタスクを実行する処理のフローチャート。 データマイグレーションに生じるエラーを検出する処理のフローチャート。 データマイグレーションの再実行を指示する処理のフローチャート。 再実行を指示する場合の画面例を示す図。 再実行タスクを生成する処理のフローチャート。 データマイグレーションの終了時間を予測する処理のフローチャート。 データマイグレーションのためのボリュームペアを生成する処理のフローチャート。 ボリュームペアの移動先ボリュームを再選択する処理のフローチャート。 第2実施例に係るシステムで実行される、ボリュームペアを再選択する処理のフローチャート。 第3実施例に係るシステムで実行される、再実行タスクを生成する処理を示すフローチャート。 図21に続くフローチャート。 第4実施例に係るシステムで実行される、データマイグレーションタスクを生成する処理のフローチャート。
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、以下に述べるように、エラー終了したデータマイグレーションタスクに関する設定情報を利用して、そのデータマイグレーションを再実行させるための新たなタスクを生成する。さらに、本実施形態では、データマイグレーションの終了に要する時間をデータマイグレーションの履歴情報に基づいて予測し、その予測結果をユーザに提供する。以下の説明では、「データマイグレーション」を「マイグレーション」と略する場合がある。
図1は、本実施形態の全体概念を示す説明図である。図1に示す構成は、本発明の理解のための一例であって、本発明の範囲は図1に示す構成に限定されない。情報処理システムは、例えば、管理装置1と、複数のストレージ装置2(1),2(2)と、ホストコンピュータ3(以下、ホストコンピュータをホストと略記する)と、通信ネットワークCN1,CN2とを備える。
各ストレージ装置2及びホスト3は、管理用の通信ネットワークCN1を介して、管理装置1に接続される。さらに、各ストレージ装置2は、I/O用の通信ネットワークCN2を介して、ホストコンピュータ3及び他方のストレージ装置2に接続される。
管理用通信ネットワークCN1は、例えば、LAN(Local Area Network)またはインターネットのような通信ネットワークとして構成可能である。I/O用通信ネットワークCN2は、例えば、IP−SAN(Internet Protocol-Storage Area Network)またはFC−SAN(Fibre Channel-SAN)のような通信ネットワークとして構成可能である。なお、二つの通信ネットワークCN1,CN2を用いずに、一つの通信ネットワークで、I/Oデータ転送及び管理用通信を行う構成としてもよい。
管理装置1の構成を説明する前に、ストレージ装置2(1),2(2)の構成を先に説明する。「記憶制御装置」としてのストレージ装置2(1),2(2)は、例えば、コントローラ2Aと、論理ボリューム2Bとを有する。
各ストレージ装置2(1),2(2)は、互いに対等な関係であってもよいし、あるいは、一方のストレージ装置2(1)が他方のストレージ装置2(2)の有する記憶資源(例えば、論理ボリューム)を利用するという関係でもよい。後者の関係を「外部接続」と呼び、この場合、一方のストレージ装置2(1)は接続元ストレージ装置、他方のストレージ装置2(2)は接続先ストレージ装置となる。なお、以下の説明では、特に区別しない場合、ストレージ装置2(1),2(2)をストレージ装置2と呼ぶ。
コントローラ2Aは、ストレージ装置2の構成及び動作を制御する。各論理ボリューム2Bは、一つまたは複数の記憶装置の有する物理的記憶領域に基づいて生成される、論理的な記憶領域である。より詳しくは、例えば、複数の記憶装置がそれぞれ有する物理的記憶領域を一つのグループにまとめ、そのグループ化された物理的記憶領域に一つまたは複数の論理ボリューム2Bを設定することができる。図1では、各論理ボリューム2Bを識別するために「#10」,「#20」等の番号を付してある。
ここで、記憶装置としては、例えば、ハードディスク装置、半導体メモリ装置、光ディスク装置、光磁気ディスク装置、磁気テープ装置、フレキシブルディスク装置等のデータを読み書き可能な種々のデバイスを利用可能である。
記憶装置としてハードディスクデバイスを用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。また、例えば、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)、MRAM(MagnetoresistiveRandom Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(Resistance RAM)」等の種々の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置を混在させる構成でもよい。
ホスト3は、通信ネットワークCN2を介して各ストレージ装置2にもそれぞれ接続されており、各ストレージ装置2の有する論理ボリューム2Bにアクセスしてデータを読み書きする。ホスト3は、例えば、顧客管理ソフトウェア、売上げ管理ソフトウェア等のようなアプリケーションプログラムを搭載しており、ホスト3に接続されるクライアントコンピュータ(不図示)にサービスを提供する。
管理装置1は、例えば、タスク管理部1Aと、マイグレーション制御部1Bと、エラー検出部1Cと、予測部1Dと、再実行タスク生成部1Eと、を備える。これら各機能1A〜1Eは、管理装置1に搭載される所定のプログラムにより実現される。各機能1A〜1Eの少なくとも一部をハードウェア回路として構成してもよい。
タスク管理部1Aは、データを再配置させるためのマイグレーションタスクを管理するための機能である。タスク管理部1Aには、手動または自動で、データマイグレーションを行うためのタスクが入力される。タスク管理部1Aは、登録される各タスクの進捗状況、実行予定日時、完了日時等を管理し、記憶する。タスク管理部1Aは、過去に実行されたデータマイグレーションタスクに関する履歴情報も記憶している。
マイグレーション制御部1Bは、タスク管理部1Aで管理されているマイグレーションタスクの実行を制御するための機能である。ここでは、一方のストレージ装置2(1)から他方のストレージ装置2(2)に、データを移動させる場合を例に挙げて説明する。マイグレーション制御部1Bは、マイグレーションタスクに基づいて、移動元のストレージ装置2(1)、及び/または、移動先のストレージ装置2(2)に指示を与え、データマイグレーションを実行させる。移動元ストレージ装置2(1)または移動先ストレージ装置2(2)のいずれか一方にのみ、データマイグレーションの実行開始指示を与える構成でもよい。また、移動先ボリュームの指定に代えて、アレイグループの識別子または記憶装置の識別子を使用する構成でもよい。
後述の実施例に記載のように、一つのマイグレーションタスク内には、複数のボリュームペアを設けることができる。換言すれば、関連する複数のデータを一つのグループとして管理し、同時に移動させることができる。そのようなグループをマイグレーショングループと呼ぶ。
エラー検出部1Cは、データマイグレーション処理に関するエラーを検出するための機能である。エラー検出部1Cは、例えば、「タイムアウト」、「通信障害」、「使用不可」等のエラーの発生を検出する。各エラー内容は、後述の実施例で明らかにされる。一つのマイグレーションタスクが複数のデータマイグレーションを含む場合、エラー検出部1Cは、各データマイグレーション毎にエラーの有無を検出する。マイグレーションタスク内の全データマイグレーションが正常に終了した場合、そのマイグレーションタスクは正常に終了したものと判断される。マイグレーションタスク内のいずれか一つのデータマイグレーションが失敗した場合、そのマイグレーションタスクもエラー終了したものと判断される。
再実行タスク生成部1Eは、エラーのために完了しなかったマイグレーションタスクについて、エラー終了したデータマイグレーションを再実行させるための新たなタスクを生成する機能である。再実行タスク生成部1Eは、エラー終了したデータマイグレーションに関する設定情報(例えば、移動元ストレージ装置の識別子、移動元ボリュームの識別子、移動先ストレージ装置の識別子、移動先ボリュームの識別子等)を用いて、再実行タスクを生成する。
再実行タスク生成部1Eは、例えば、設定変更部1E1と、関連づけ部1E2とを有することができる。設定変更部1E1は、データマイグレーションのエラーに基づいて、データマイグレーションに関する構成を変更させる。例えば、設定変更部1E1は、最初に選択された移動先ボリュームと同一または類似の属性を有する別の論理ボリューム2Bを、新たな移動先ボリュームとして選択する。これにより、最初のマイグレーションタスクで生じたエラーを回避して、データマイグレーションの成功可能性を高める。関連づけ部1E2は、最初に作成されて、エラー終了したマイグレーションタスクと、新たに作成される再実行タスクとを関連づける。これにより、最初に立案されたデータマイグレーション計画が、最終的にどこまで完了したのか等を容易に把握することができる。
なお、後述の実施例に示すように、再実行タスク生成部1Eは、エラー終了したデータマイグレーションのうち、再実行タスクに含まれることになったデータマイグレーションについては、タスクの生成を禁止する。つまり、エラー終了したデータマイグレーションについて、複数の再実行タスクが生成されるのを禁止する。
予測部1Dは、データマイグレーションの完了に要する時間を予測する。予測部1Dは、例えば、タスク管理部1Aにより管理される過去の履歴情報に基づいて、データマイグレーションの実行前に、そのデータマイグレーションの完了に要する時間を予測することができる。
例えば、これから実行しようとするデータマイグレーションの各パラメータ(データサイズ、移動元記憶装置及び移動先記憶装置のデータ転送速度、通信回線の速度等のパラメータ)と同一または類似するパラメータを有する履歴情報とを比較することにより、データマイグレーション完了時間を予測できる。
マイグレーションタスク内に複数のデータマイグレーションが含まれる場合、例えば、それらのデータマイグレーションのうち、最も遅く完了するデータマイグレーションの時刻によって、そのマイグレーションタスクの完了時刻を予測できる。以上は並列処理の場合である。それに対し、一つのデータマイグレーションが終了した後で、次のデータマイグレーションを実行させる場合、一つのマイグレーションタスクに含まれる各データマイグレーションの完了に要する時間の合計値を、そのマイグレーションタスクの完了時間として用いることができる。
データマイグレーションの完了時間の予測結果は、そのデータマイグレーションに対応付けられて、タスク管理部1Aにより管理される。さらに、その予測結果は、図15で後述するような管理画面を介して、ユーザに提供される。
この情報処理システムにおけるデータマイグレーション処理について説明する。図1に例では、複数の論理ボリューム2B(#10),2B(#11)は、互いに関連するデータを記憶しているため、同一のマイグレーショングループに属している。
ユーザは、そのマイグレーショングループについてのマイグレーション計画を立案し、管理装置1のタスク管理部1Aに登録させる。そのマイグレーション計画では、一つの移動元ボリューム2B(#10)は、ストレージ装置2(2)内の移動先ボリューム2B(#20)に移動され、他の一つの移動元ボリューム2B(#11)は、ストレージ装置2(2)内の他の移動先ボリューム2B(#21)に移動される。なお、移行先の記憶領域としては、論理ボリューム2Bに限らず、アレイグループ(RAIDグループまたはパリティグループとも呼ばれる)または記憶装置を指定することもできる。
指定された時期が到来すると、マイグレーション制御部1Bは、登録されたマイグレーションタスクに基づいて、各ストレージ装置2(1),2(2)に指示を与え、各ストレージ装置2(1),2(2)間でデータを移動させる。データ移動は、例えば、論理ボリューム2B間のデータコピーとして実現される。
データコピー中も、ホスト3からのアクセスは許可されている。移動元ボリューム2B(#10)から移動先ボリューム2B(#20)へのデータコピーは正常に完了したものとする。しかし、他の移動元ボリューム2B(#11)から他の移動先ボリューム2B(#21)へのデータコピーは失敗したものとする。
データコピー中に、ホスト3が移動元ボリューム2B(#11)へ頻繁にアクセスすると、移動元ボリューム2B(#11)に関するストレージ装置2(1)の負荷が急激に増大する。このため、ホスト3からのコマンドを処理するためにストレージ装置2(1)のコンピュータ資源が多く使用され、データコピー処理中にタイムアウトが発生する。この結果、移動元ボリューム2B(#11)から移動先ボリューム2B(#21)へのデータ移動がエラー終了する。エラー検出部1Cは、そのエラーを検出する。
再実行タスク生成部1Eは、エラー終了したデータマイグレーションに関する情報を再利用し、そのエラー終了したデータマイグレーションを再実行させるための新たなマイグレーションタスク(再実行タスク)を生成させる。従って、ユーザは、データマイグレーションの再実行に必要な情報を全て設定し直すことなく、再実行タスクを容易に作成することができる。
さらに、再実行タスク生成部1Eは、最初のマイグレーションタスクと再実行タスクとを関連づけて、タスク管理部1Aに管理させる。従って、ユーザは、最初に立案したデータマイグレーション計画が最終的にどのように実施されたのかを容易に把握することができる。
このように構成される本実施形態によれば、データマイグレーションが失敗した場合でも、そのデータマイグレーションを再実行させるためのタスクを容易に作成でき、ユーザの使い勝手が向上する。さらに、失敗したマイグレーションタスクと再実行されるマイグレーションタスクとを関連づけて管理するため、どのデータがどこに配置されたのかを追跡調査することができ、ユーザは、データマイグレーションの最終的な実行結果を容易に把握することができ、使い勝手が向上する。以下、本実施形態を詳細に説明する。
図2〜図19に基づいて第1実施例を説明する。図2は、システム全体の構成を示す説明図である。先に、図1に示す構成との関係を述べる。管理サーバ10は管理装置1に、ストレージ装置20(1),20(2)はストレージ装置2(1),2(2)に、ホスト30はホスト3に、コントローラ100はコントローラ2Aに、論理ボリューム230は論理ボリューム2Bに、対応する。
本実施例では、管理サーバ10は、例えばLANのような通信ネットワークCN10を介して、各ホスト30に接続されている。さらに、管理サーバ10は、SANのような通信ネットワークCN20を介して、各ストレージ装置20に接続されている。なお、通信ネットワークの構成は図2に示すものに限られない。
管理サーバ10は、システムの構成及び動作を管理するための装置である。管理サーバ10は、情報処理システム内のデータマイグレーションを管理する。管理サーバ10は、例えば、マイクロプロセッサ11と、メモリ12と、通信ネットワークインターフェース13,14とを備える。マイクロプロセッサ11は、メモリ12に記憶されているプログラムを読み込んで実行することにより、後述するデータマイグレーション管理機能等を実現する。
ユーザは、例えば、ウェブブラウザ等を搭載したパーソナルコンピュータまたは携帯情報端末を用いて、管理サーバ10にアクセスし、データマイグレーション計画を設定したり、データマイグレーションの実行結果を確認したりすることができる。
管理サーバ10は、例えば、ディスプレイ装置、キーボードスイッチ及びポインティングデバイス等の入出力装置を有することもできる。その場合、ユーザは、それら入出力装置を用いて、管理サーバ10に情報を入力したり、管理サーバ10に情報を出力させたりすることができる。あるいは、上述のように、管理サーバ10に、パーソナルコンピュータまたは携帯情報端末等の操作及び表示用コンピュータを接続し、操作及び表示用コンピュータを介して、データマイグレーションに関する設定を行ったり、または、データマイグレーションの実行結果等を表示させたりする構成でもよい。
以下、情報処理システムを管理し、データマイグレーションに関する情報を設定したり、データマイグレーションに関する情報を表示させたりする、一つ以上のコンピュータの集合を、管理システムと呼ぶことがある。管理用コンピュータ(例えば、管理サーバ10)が上述の入出力装置を備え、データマイグレーションに関する情報を表示等する場合、管理用コンピュータが管理システムである。管理用コンピュータと、操作及び表示用コンピュータとを組み合わせた構成も、管理システムである。なお、管理処理の高速化または/及び高信頼化のために、複数のコンピュータを用いて管理する構成としてもよい。この場合、それら複数のコンピュータの集合が管理システムとなる。
各ストレージ装置20(1),20(2)は、基本的に、ほぼ同一構成の装置として形成することができる。各ストレージ装置20(1),20(2)を特に区別する必要が無い場合、ストレージ装置20と呼ぶ。
ストレージ装置20(1)を例に挙げて、その構成を説明する。ストレージ装置20(1)は、例えば、コントローラ100(1)と、複数の論理ボリューム230(1)とを備えている。
コントローラ100(1)は、ストレージ装置20(1)の動作を制御する。例えば、コントローラ100(1)は、ホスト30から発行されるコマンドに応じて、対象の論理ボリューム230(1)にデータを書き込んだり、または、対象の論理ボリューム230(1)からデータを読み出す。さらに、コントローラ100(1)は、管理サーバ10からの指示に応じて、データマイグレーションのための各種処理(例えば、論理ボリュームの生成、論理ボリューム間のデータコピー等)を実施する。
コントローラ100(1)は、例えば、第1通信部110と、第2通信部120と、マイクロプロセッサ130と、キャッシュメモリ140と、データ転送制御回路150と、を備える。
第1通信部110は、ホスト30及び他のストレージ装置20(2)との間の通信を制御する制御回路である。第1通信部110は、例えば、IP−SANまたはFC−SANのような通信ネットワークCN20を介して、ホスト30及び他のストレージ装置20(2)に接続されている。
例えば、第1通信部110の有する複数のターゲットポートには、各ホスト30のイニシエータポートが接続され、第1通信部110の有するイニシエータポートには、他のストレージ装置20(2)の他のコントローラ100(2)が有するターゲットポートが接続される。
第2通信部120は、各論理ボリューム230(1)を構成する各記憶装置210(図3参照)と通信を行うための制御回路である。第2通信部120は、複数の通信経路を介して各記憶装置210に接続されている。従って、一方の通信経路に障害が発生した場合でも、他方の通信経路を介して記憶装置210にアクセスすることができる。
マイクロプロセッサ(図中、MP)130は、コントローラ100(1)の動作を制御する制御回路である。マイクロプロセッサ130は、ホスト30または管理サーバ10から受信したコマンド等に基づいて、所定の指示を出す。
キャッシュメモリ(図中、CM)140は、ライトデータ等を記憶するためのメモリである。キャッシュメモリ140の一部の領域は、キャッシュ領域として使用され、そこにはライトデータ等が格納される。キャッシュメモリ140の他の領域は、制御情報領域として使用され、そこには制御情報及び管理情報等が格納される。
データ転送制御回路150は、各通信部110,120と、マイクロプロセッサ130及びキャッシュメモリ140とを相互に接続するための回路である。他のストレージ装置20(1)も、一方のストレージ装置20(1)と同様に、コントローラ100(2)及び論理ボリューム230(2)を備える。
本実施例では、一方のストレージ装置20(1)が、他方のストレージ装置20(2)の有する論理ボリューム230(2)を、一方のストレージ装置20(1)内に取り込んで使用することができる。この技術を、本明細書では、外部接続と呼ぶ。図2では、説明の便宜上、2つのストレージ装置20(1),20(2)を示すが、これに限らず、3つ以上のストレージ装置に外部接続技術を用いることもできる。
一方のストレージ装置20(1)の有する各論理ボリューム230(1)のうち、「V」が添えられている論理ボリューム230(1V)は、他方のストレージ装置20(2)内の論理ボリューム230(2)を利用して形成されている、仮想的な論理ボリュームである。そのような実体を備えない論理ボリューム230(1V)を、外部接続ボリュームまたは仮想ボリュームと呼ぶ。
ホスト30は、外部接続ボリューム230(1V)にアクセスすることができるが、実際にデータを格納している論理ボリュームは、他方のストレージ装置20(2)内の実ボリューム230(2)である。
そこで、一方のストレージ装置20(1)は、外部接続ボリューム230(1V)に対するライトコマンド及びリードコマンドを、接続先のボリューム230(2)宛のコマンドに変換し、他方のストレージ装置20(2)に送信する。
このような外部接続技術を用いることにより、一方のストレージ装置20(1)は、他方のストレージ装置20(2)内の論理ボリューム230(2)を、一方のストレージ装置20(1)内に取り込んで使用できる。さらに、一方のストレージ装置20(1)の有する機能を利用して、他方のストレージ装置20(2)内のデータをホスト30に提供することができ、システム全体としての信頼性及び応答性能を高めることができる。
各ホスト30は、ストレージ装置20内の論理ボリューム230を使用することにより、図外のクライアントコンピュータに、各種サービスを提供する。各ホスト30は、各クライアントコンピュータにインターネット等の通信ネットワーク(不図示)を介して接続されている。各ホスト30は、例えば、マイクロプロセッサ31と、メモリ32と、通信ネットワークインターフェース33,34とを備える。マイクロプロセッサ31は、メモリ32に記憶されているプログラムを読み込んで実行することにより、例えば、顧客管理、売上げ管理、動画配信等のサービスをクライアントコンピュータに提供する。
図3は、データマイグレーションの概要を示す説明図である。図3では、3つのストレージ装置20(1),20(2),20(3)を示している。これに限らず、本発明は、一つのストレージ装置20内でデータマイグレーションを実行する場合にも適用することができるし、あるいは、4つ以上のストレージ装置を含むシステム内でデータマイグレーションを実行する場合にも適用できる。
図3の上側に示すように、ストレージ装置20(1)に設けられている複数の記憶装置210の有する物理的記憶領域は、一つのアレイグループ220(1)にまとめられており、そのアレイグループ220(1)の有する記憶領域には、論理ボリューム230(1)が設けられている。同様にして、他のストレージ装置20(2),20(3)においても、アレイグループ220(2),220(3)及び論理ボリューム230(2),230(3)が設けられている。
ストレージ装置20(1)内の論理ボリューム230(1)がマイグレーション対象の場合を説明する。マイグレーション先の候補としては、アレイグループ220(2)とアレイグループ220(3)とがある。
ユーザは、いずれかのアレイグループ220(2),220(3)を選択して、データマイグレーションを設定することができる。あるいは、ユーザは、いずれかのアレイグループ220(2),220(3)に属する論理ボリューム230(2),230(3)を選択して、データマイグレーションを設定することもできる。さらには、ユーザは、いずれかのアレイグループ220(2),220(3)に属する記憶装置210を選択して、データマイグレーションを設定することもできる。
図4は、管理サーバ10のメモリ12の記憶内容を模式的に示す説明図である。メモリ12には、複数のプログラム310〜350と複数のテーブル類T10〜T40とが記憶されている。
プログラムとしては、例えば、タスク管理プログラム310,エラー判定プログラム320,マイグレーション制御プログラム330,ボリューム選択プログラム340,マイグレーション終了時間予測プログラム350(以下、予測プログラム350と呼ぶ)が、メモリ12に記憶される。なお、各プログラム310〜350は、プログラム配信サーバ(不図示)から管理サーバ10に送信してインストールさせることもできるし、あるいは、記録媒体に固定された各プログラム310〜350を管理サーバ10に読み込ませてインストールさせることもできる。
タスク管理プログラム310は、データマイグレーションを実行するためのタスクを管理するプログラムである。エラー判定プログラム320は、データマイグレーション処理中にエラーが発生したか否かを判定するプログラムである。マイグレーション制御プログラム330は、データマイグレーションタスクに基づいて、データマイグレーションに関与する各ストレージ装置20に所定の指示を与え、データマイグレーションを実行させるプログラムである。ボリューム選択プログラム340は、エラー終了したデータマイグレーションを再実行させるためのタスクを生成する場合に、適切な論理ボリュームを選択させるプログラムである。予測プログラム350は、データマイグレーションの完了に要する時間を予測するプログラムである。
テーブル類としては、例えば、タスク管理テーブルT10,エラー情報テーブルT20,ボリューム情報テーブルT30,マイグレーション履歴情報T40が、メモリ12に記憶される。
なお、以下の説明では、「テーブル」または「データベース」等の表現を用いて、本実施例のシステムで使用される各種情報を説明する。しかし、「テーブル」等の名称は便宜上使用されているに過ぎず、本システムで使用される各種情報を、テーブルやデータベース等以外の他のデータ構造で表現することもできる。つまり、本実施例で使用される各種情報は、データ構造に依存しない。
従って、例えば、図4に示すタスク管理テーブルT10は、タスク管理データベース、または、タスク管理リスト、タスク管理情報等と呼ぶことができる。他のテーブルT20,T30についても同様である。マイグレーション履歴情報T40についても同様に、例えば、マイグレーション履歴管理テーブル、マイグレーション履歴管理リスト、マイグレーション履歴管理データベース等と呼ぶことができる。以下、各テーブルT10〜T40の構成例を説明する。
図5は、タスク管理テーブルT10の一部を構成する、タスク全体を管理するためのテーブルT11を示す。タスク管理テーブルT10は、マイグレーションタスク全体の管理用テーブルT11と、各タスク毎のデータマイグレーションを管理するためのテーブルT12(図6参照)とを有する。各管理テーブルT11,T12は、タスクIDを介して関連づけられる。一つのタスクには、複数のデータマイグレーションを登録できる。図5に示す管理テーブルT11は、一つまたは複数のデータマイグレーションを含むタスク全体を管理する。図6に示す管理テーブルT12は、一つのタスク内に含まれる各データマイグレーションを管理する。
マイグレーションタスクの全体を管理するテーブルT11は、例えば、タスクID欄C110と、タスク状態欄C111と、進捗欄C112と、開始日時欄C113と、終了日時欄C114と、予測時間欄C115と、所要時間欄C116と、元タスクID欄C117と、再タスクID欄C118とを含む。本来「再実行タスクID」とすべきところを、紙面の大きさの都合上、「再タスクID」と省略している。
タスクID欄C110は、各マイグレーションタスクを識別するための識別子(ID)を管理する。タスク状態欄C111は、各マイグレーションタスクの状態を管理する。タスク状態としては、例えば、「完了」、「エラー」、「実行中」、「実行前(または待機中)」等を挙げることができる。「完了」とは、データマイグレーションが正常に完了した状態を示す。「エラー」とは、タスクに含まれる各データマイグレーションのうち一部または全部についてエラーが発生した状態を示す。「実行中」とは、データマイグレーションを実行している途中である状態を示す。「実行前(待機中)」とは、データマイグレーションの実行時期が到来するのを待っている状態を示す。
進捗欄C112は、マイグレーションタスクの進捗状況を管理する。進捗状況は、例えば、データマイグレーションされる予定のサイズと、実際にデータマイグレーションが完了したサイズとの比率を百分率形式で表示する。
開始日時欄C113は、データマイグレーションが開始される日時を管理する。日時は、例えば、西暦年月日時分秒の形式で表示することができる。実行前状態にあるデータマイグレーションの場合、開始日時欄C113に記憶される日時は、開始予定日時である。そのデータマイグレーションが実行されると、開始日時欄C113に記憶される日時は、開始された日時となる。
終了日時欄C114は、データマイグレーションが終了した日時を管理する。終了日時欄C114には、データマイグレーションが正常終了した日時、または、データマイグレーションがエラー終了した日時のいずれかが記憶される。未だ実行されていないデータマイグレーションについては、終了日時欄C114は空欄となる。
予測時間欄C115は、データマイグレーションの完了に要すると予測される時間を管理する。データマイグレーションが正常終了または異常終了した場合でも、予測された完了時間は、予測時間欄C115に残される。
所要時間欄C116は、データマイグレーションに実際に要した時間を管理する。エラー終了の場合は、データマイグレーションが完了していないので、所要時間の欄C116は空欄となる。
元タスクID欄C117は、再実行タスクが作成されたタスクのIDを管理する。再タスクID欄C118は、再実行タスクを識別するためのIDを管理する。正常に終了したタスクの場合、元タスクID欄C117及び再タスクID欄C118は、空欄となる。エラー終了したタスクの場合、その失敗したタスクについて再実行タスクが生成されると、再実行タスクの元タスクID欄C117には、失敗したタスクのIDが記憶される。失敗したタスクの再タスクID欄C118には、再実行タスクのIDが記憶される。
このように、本実施例では、失敗したマイグレーションタスクを再度実行させるための新たなマイグレーションタスク(再実行タスク)に新たなIDを付与し、元のマイグレーションタスク(失敗した元のタスク)のIDに関連づけて管理する。従って、再実行タスクと元のタスクとの関係を容易に把握することができる。
図6は、各タスク内の各データマイグレーションを管理するためのテーブルT12を示す説明図である。この管理テーブルT12は、図5に示す管理テーブルT11に含まれている各タスク毎にそれぞれ用意される。
管理テーブルT12は、例えば、タスクID欄C120と、移動元ボリュームID欄C121と、移動先ボリュームID欄C122と、ボリューム状態欄C123と、進捗欄C124と、エラーID欄C125と、予測時間欄C126と、所要時間欄C127とを含んで構成される。
タスクID欄C120は、マイグレーションタスクのIDを管理する。移動元ボリュームID欄C121は、データ移動元の論理ボリュームのIDを管理する。移動先ボリュームID欄C122は、データ移動先の論理ボリュームのIDを管理する。
ボリューム状態欄C123は、データマイグレーションの状態を管理する。ボリューム状態欄C123には、例えば、移動元ボリュームの状態として、「正常終了」、「エラー終了」、「実行中」、「実行前(または待機中)」のいずれか一つが設定される。進捗欄C124は、各データマイグレーションの進捗状況(コピー進捗状況)を管理する。
エラーID欄C125は、データマイグレーションがエラー終了した場合において、そのエラー原因を識別するためのエラーIDを管理する。予測時間欄C126は、データマイグレーションの完了に要すると予測された時間を管理する。所要時間欄C127は、データマイグレーションの完了までに実際に要した時間を管理する。
図7は、エラー情報テーブルT20を示す。エラー情報テーブルT20は、データマイグレーション処理中に発生しうるエラーの種類を管理する。エラー情報テーブルT20は、例えば、エラーID欄C20と、エラー内容欄C21と、リトライフラグ欄C22とを備える。
エラーID欄C20は、各エラーを識別するためのIDを管理する。エラー内容欄C21は、各エラーの内容を管理する。エラー内容としては、例えば、「タイムアウト」、「ボリューム使用中」、「マイグレーションさせることのできないボリューム」、「外部ストレージ装置との通信に失敗」等を挙げることができる。
「タイムアウト」とは、データマイグレーション中に(つまり、データコピー中に)、移動元ボリュームまたは移動先ボリュームから所定時間内に応答が無いために生じるエラーである。「ボリューム使用中」とは、例えば、移動先ボリュームをホストが使用しているために生じるエラーである。「マイグレーションさせることのできないボリューム」とは、例えば、コマンドデバイスのような特殊な論理ボリュームを移動元ボリュームとして選択したために生じるエラーである。「外部ストレージ装置との通信に失敗」とは、上述した外部接続先のストレージ装置との通信に失敗したために生じるエラーである。
リトライフラグ欄C22は、リトライ可能か否かを示すフラグを管理する。リトライフラグが「可」と設定された場合、エラーの生じたデータマイグレーションを再実行することができる。リトライフラグが「不可」と設定された場合、エラーの生じたデータマイグレーションを再実行することはできない。
例えば、移動先ボリュームが使用中の場合、そのボリュームを指定してデータマイグレーションを再実行できないため、リトライフラグに「不可」と設定される。さらに、移動元ボリュームがコマンドデバイスのような特殊ボリュームである場合、その特殊ボリュームを勝手に移動させることはできない。従って、この場合も、リトライフラグに「不可」と設定される。さらに、例えば、外部ストレージ装置との間の通信経路上に障害が発生している場合、その障害が取り除かれない限り、外部ストレージ装置を用いたデータマイグレーションを行うことはできない。そこで、この場合も、リトライフラグに「不可」と設定される。
図8は、ボリューム情報テーブルT30を示す。ボリューム情報テーブルT30は、情報処理システム内の各論理ボリュームを管理するためのテーブルである。ボリューム情報テーブルT30は、例えば、ボリュームID欄C30と、RAIDレベル欄C31と、ディスクタイプ欄C32と、回転数欄C33と、サイズ欄C34と、アレイグループID欄C35と、装置ID欄C36と、接続経路欄C37とを含む。
ボリュームID欄C30は、各論理ボリューム230を識別するためのIDを管理する。RAIDレベル欄C31は、例えば、「RAID5(4D+1P)」、「RAID1(D+D)」、「RAID6(6D+2P)」等のように、論理ボリューム230のRAIDレベル及びRAID構成を管理する。RAIDレベルにはRAID0も含まれる。
ディスクタイプ欄C32は、論理ボリューム230に記憶領域を提供する記憶装置210の種類を管理する。便宜上「ディスク」と呼ぶが、円形状の記録媒体に限らない。ディスクタイプとしては、例えば、SATAディスク、FCディスク、SSD(ソリッドステートデバイス:フラッシュメモリデバイス)等を挙げることができる。回転数欄C33は、論理ボリューム230に記憶領域を提供する記憶装置210の回転数を管理する。なお、フラッシュメモリデバイスの場合、回転数に代えてデータ転送速度を設定することもできる。
サイズ欄C34は、論理ボリューム230のサイズを管理する。アレイグループID欄C35は、論理ボリューム230の属するアレイグループ220を識別するためのIDを管理する。装置ID欄C36は、論理ボリューム230の属するストレージ装置を識別するためのIDを管理する。
接続経路欄C37は、論理ボリューム230にアクセスするための通信経路に関する情報を管理する。アクセスするための通信経路に関する情報としては、例えば、WWN(World Wide Name)、LUN(Logical Unit Number)、iSCSI(internet Small Computer System Interface)ネーム、IPアドレス等を挙げることができる。一つの論理ボリュームにアクセスするための通信経路が複数存在する場合、それら複数の通信経路に関する情報がC37に記録される。
図9は、マイグレーション履歴情報T40を示す。マイグレーション履歴情報T40は、過去に行われた各データマイグレーションに関する情報を記憶する。マイグレーション履歴情報T40は、例えば、タスク管理テーブルT10(T11,T12)とボリューム情報テーブルT30からの情報に基づいて作成することができる。
マイグレーション履歴情報T40は、例えば、タスクID欄C40と、移動元ボリュームID欄C41と、移動元ボリュームの仕様欄C42と、移動先ボリュームID欄C43と、移動先ボリュームの仕様欄C44と、コピー速度欄C45とを含む。
タスクID欄C40は、過去に行われたマイグレーションタスクのIDを管理する。移動元ボリュームID欄C41は、移動元ボリュームのIDを管理する。移動元ボリュームの仕様欄C42は、移動元ボリュームの仕様に関する情報を管理する。仕様に関する情報としては、例えば、RAIDレベル(RAID構成を含む)、サイズ、ディスクタイプ、回転数等を挙げることができる。
移動先ボリュームID欄C43は、移動先ボリュームのIDを管理する。移動先ボリュームの仕様欄C44は、移動先ボリュームの仕様に関する情報を管理する。仕様に関する情報は、移動元ボリュームについて述べた内容と同様である。コピー速度欄C45は、過去に行われたデータマイグレーションのコピー速度を管理する。
なお、コピー速度欄C45に代えて、マイグレーション情報欄C46とし、マイグレーション情報欄C46内で、データマイグレーションの開始日時、コピー速度、データマイグレーションの終了日時等を管理する構成としてもよい。
さらに、タスク管理テーブルT10により、過去に行われた各データマイグレーションの履歴を管理する構成としてもよい。その場合、マイグレーション履歴情報T40は不要となる。
図10〜図19に基づいてデータマイグレーション処理を説明する。以下に示す各フローチャートは、処理の概要を示しており、実際のコンピュータプログラムとは相違する場合がある。
以下の説明では、主に、管理サーバ10を動作の主体として述べる。実際には、管理サーバ10内のマイクロプロセッサ11が、メモリ12に記憶されたコンピュータプログラムを読み込んで実行することにより、所定の処理が実現される。従って、動作の主体をマイクロプロセッサとして説明することもできる。さらに、上記の理解を踏まえた上で、動作の主体をコンピュータプログラムとして説明することもできる。
なお、コンピュータプログラムの全部または一部は、例えば、専用ハードウェア回路から構成することもできる。また、コンピュータプログラムは、コンピュータプログラムを配信するためのプログラム配信サーバを介して、管理サーバ10にインストールさせることができる。あるいは、記憶媒体に記憶されたコンピュータプログラムを管理サーバ10に読み込ませてインストールさせることもできる。
図10は、データマイグレーション処理の全体概要を示すフローチャートである。まず最初に、管理サーバ10は、システム管理者等のユーザからの指示に応じて、データマイグレーションを実行させるためのタスクを生成する(S11)。
ユーザ指示に代えて、予め用意されるマイグレーションタスク生成条件に基づいて、マイグレーションタスクを生成する構成としてもよい。例えば、「所定時間以上アクセスされていないデータをより低コストの論理ボリュームに移す。」のような所定条件を満たす場合に、マイグレーションタスクを生成させることができる。
管理サーバ10は、タスク管理テーブルT10に登録されている各マイグレーションタスクの開始予定時期と現在時刻とを比較しており、開始予定時期が到来すると、移動元ストレージ装置、または/及び、移動先ストレージ装置に、データマイグレーションの実行を要求する(S12)。
その実行要求には、例えば、移動元ボリュームを特定するための情報と、移動先ボリュームを特定するための情報とが含まれる。なお、上述の通り、移動先ボリュームの指定に代えて、移動先のアレイグループまたは移動先の記憶装置のいずれかを指定する構成としてもよい。以下の説明では、移動先の記憶領域として論理ボリュームを指定する場合を説明する。
管理サーバ10からの実行要求に基づいて、移動元ボリュームから移動先ボリュームへのデータマイグレーション(つまり、データコピー)が開始される(S12)。もしもデータコピー中に、ホスト30が移動元ボリュームにアクセスした場合は、以下のように対応できる。なお、移動元ボリュームにデータを書き込むとは、正確には、移動元ボリュームに対応する記憶装置210にデータを書き込むことを意味するが、便宜上、「移動元ボリュームにデータを書き込む」と表現する。また、移動元ボリュームからデータを読み出すとは、正確には、移動元ボリュームに対応する記憶装置210からデータを読み出す、または、移動元ボリュームに対応するキャッシュ領域からデータを読み出す、ことを意味する。しかし、便宜上、「移動元ボリュームからデータを読み出す」と表現する。移動先ボリュームへのデータ読み書きについても同様である。
(1)移動元ボリュームからデータを読み出すリードアクセスについては、それを許可する。
(2)移動元ボリューム内のデータを更新させるライトアクセスの場合、書込先(更新先)の領域が既に移動先ボリュームにコピーされたコピー済領域であるならば、移動元ボリューム及び移動先ボリュームの両方に新データを書込み、その書込み完了後にホスト30に完了応答を返す。
(3)あるいは、コピー済み領域へのに対応するものである場合、ホスト30に書き込み完了応答を返す前に、移動元ボリュームに新データを書き込む。その後、繰り返し実行されるコピー処理(更新コピーと呼ぶ)として、新データを移動元ボリュームから移動先ボリュームにコピーさせる。このような方法では、書き込み要求の処理時間を短時間で済ませることができる。しかし、単位時間当たりの書き込みデータ量が多い場合(特に、移動元ボリュームへの書き込み要求が頻繁に繰り返される場合)は、更新コピーで処理可能なデータ量に限界があるために、データマイグレーション完了までの時間が予測できない場合がある。
なお、データマイグレーション中におけるホスト30からのアクセスを処理する方法は、上述の方法に限られない。但し、データマイグレーション中におけるホスト30からのアクセスが多いと、データマイグレーション処理の速度が低下し、タイムアウトによってエラー終了する可能性がある。
管理サーバ10は、データマイグレーション処理にエラーが発生した場合、それのエラーを検出する(S13)。各ストレージ装置20のコントローラ100は、各記憶装置210の状態を監視しており、ディスク障害またはコントローラ障害等の何らかの障害が発生した場合には、その障害に関する情報を管理サーバ10に通知する。
障害に関する情報には、例えば、障害の発生した記憶装置210または/及びアレイグループ220等を特定するための識別子、障害の発生した論理ボリューム230を特定するための識別子、障害の種別を示すコード等を含めることができる。
なお、コントローラ100から管理サーバ10に障害の発生を通知する構成に代えて、管理サーバ10がコントローラ100に、定期的にまたは不定期に、障害の有無を問い合わせる構成としてもよい。
コントローラ100は、障害が検出された場合に、その障害に関係するデータマイグレーション処理を中止する。コントローラ100は、データマイグレーション処理が中止された旨を管理サーバ10に通知する。その通知の際に、ディスク障害またはコントローラ障害等の障害が発生したことを示す情報を、コントローラ100から管理サーバ10に送信する構成としてもよい。
以上のように、データマイグレーション処理中にエラーが検出されると、そのデータマイグレーション処理は中止される。ユーザは、管理サーバ10から提供される画面(図15参照)に基づいて、ラー終了したマイグレーションタスクを再実行させるためのタスクの生成を要求することができる(S14)。
管理サーバ10は、ユーザからの指示に基づいて、再実行タスクを生成し、タスク管理テーブルT10に登録する(S15)。なお、ユーザ指示により再実行タスクを生成させる構成に代えて、予め設定される条件を満たす場合に、再実行タスクを生成させる構成としてもよい。
管理サーバ10は、再実行タスクに設定されている開始日時が到来した場合には、移動元ストレージ装置、または/及び、移動先ストレージ装置にデータマイグレーション処理の実行を要求する(S16)。以下、各処理の詳細を図を改めてさらに説明する。
図11は、データマイグレーションタスクを生成するための処理を示すフローチャートである。本処理は、図10のS11に対応する。
管理サーバ10は、例えば、ユーザからの指示に基づいて、移動元ボリューム及び移動先ボリュームをそれぞれ選択し(S20,S21)、さらに、データマイグレーションの開始日時を設定する(S22)。なお、移動元ボリューム及び移動先ボリュームの選択と、開始日時の設定とは、自動的にまたは半自動的に行う構成としてもよい。
管理サーバ10は、S20〜S22で設定されるデータマイグレーションについて、その完了に要する時間を予測する(S23)。データマイグレーション完了時間を予測する処理については、図17で後述する。
管理サーバ10は、S20〜S22で設定されるデータマイグレーション及びS23で予測される完了時間を、タスク管理テーブルT10に登録させる(S24)。管理サーバ10は、マイグレーションタスクの生成が全て完了したと判定するまで、S20〜S24を繰り返す(S25)。マイグレーションタスクの生成が完了した場合(S25:YES)、本処理は終了する。
図12は、データマイグレーションタスクを実行させるための処理を示すフローチャートである。図12に示す処理は、図10のS12に対応する。管理サーバ10は、タスク管理テーブルT10を参照し(S30)、実行タイミング(開始予定日時)の到来したタスクが有るか否かを判定する(S31)。
実行タイミングの到来したタスクを発見した場合(S31:YES)、管理サーバ10は、そのタスクに含まれる移動元ボリュームを特定する識別子及び移動先ボリュームを特定する識別子をそれぞれ抽出する(S32)。
管理サーバ10は、抽出された情報に基づいて、移動元ストレージ装置、または/及び、移動先ストレージ装置に、データマイグレーションの実行を指示する(S33)。一つのタスク内に、複数のデータマイグレーションを含ませることができる。一つのマイグレーショングループに管理されている複数の論理ボリュームは、一括して移動させる必要があるためである。
従って、データマイグレーションは、各ボリュームペア毎にそれぞれ開始される。ボリュームペアをコピーペアと呼ぶこともできる。各ボリュームペア間のデータマイグレーションは、並列的に処理することができる。あるいは、一つのボリュームペアのデータマイグレーションが完了した後で、次のボリュームペアのデータマイグレーションを開始させる構成としてもよい。
一つのデータマイグレーションが完了すると、移動元ストレージ装置または移動先ストレージ装置の少なくともいずれか一方から、データマイグレーション処理が完了した旨が管理サーバ10に報告される(S34)。データマイグレーションは、各ボリュームペア毎に行われる。従って、ストレージ装置は、各ボリュームペア毎に、データマイグレーションが完了した旨を管理サーバ10に報告する。
管理サーバ10は、ストレージ装置からの報告を受領すると、タスク管理テーブルT10(特にテーブルT12)を更新させ(S35)、タスク内の全てのデータマイグレーションが完了したか否かを判定する(S36)。
そのタスク内に未終了のデータマイグレーションが残っている場合(S36:NO)、管理サーバ10は、S30に戻り、ストレージ装置からの完了報告を待つ。また、別のタスクの実行タイミングが到来した場合、管理サーバ10は、その別のタスクの実行をストレージ装置に指示する。つまり、管理サーバ10は、複数のマイグレーションタスクを並列的に処理することができる。
一つのタスク内の全てのデータマイグレーションが終了した場合(S36:YES)、管理サーバ10は、タスク管理テーブルT10(特にテーブルT11)を更新させて(S37)、本処理を終了する。なお、エラー終了も、データマイグレーションの終了であると判定される。
図13は、エラーを検出するための処理を示すフローチャートである。本処理は、図10のS13に対応する。管理サーバ10は、ストレージ装置20からの通知に基づいて、データマイグレーションがエラー終了したか否かを判定する(S40)。エラー終了したと判定された場合(S40:YES)、管理サーバ10は、エラー情報テーブルT20を参照してエラーIDを特定し(S41)、タスク管理テーブルT10(正確にはテーブルT12)に、エラーIDを記憶させる(S42)。
図14は、失敗したマイグレーションタスクの再実行を管理サーバ10に指示する処理を示すフローチャートである。本処理は、図10のS14に対応する。ここでは、図15の画面を参照して説明する。
図15は、管理サーバ10により提供されるタスク管理画面G10を示す。タスク管理画面G10は、タスク管理テーブルT10に基づいて作成される。ユーザは、いつでも必要な場合にタスク管理画面G10を表示させることができ、各タスクの実行状況を確認することができる。
タスク管理画面G10は、例えば、チェック欄G100と、タスクID欄G101と、タスク種別欄G102と、タスク状態欄G103と、進捗欄G104と、開始日時欄G105と、終了日時欄G106と、予測時間G107と、実行ボタンG108と、中止ボタンG109と、一時停止ボタンG110と、再実行ボタンG111とを含む。
チェック欄G100は、タスクを選択するために使用される。タスクID欄G101は、各タスクのIDを表示する。タスク種別欄G102は、各タスクの種類を表示させる。本実施例では、データマイグレーションについて述べるため、タスク種別は「マイグレーション」である。なお、これ以外のタスクの種類としては、例えば、データを破棄するためのシュレッダー処理を行うシュレッダータスク等がある。
タスク状態欄G103は、タスクの状態を表示する。タスク状態としては、例えば、「完了」、「エラー」、「実行中」、「実行前」がある。進捗欄G104は、タスクの進捗状況を百分率形式で表示する。開始日時欄G105は、タスクの開始された日時または開始が予定されている日時を表示する。終了日時欄G106は、タスクが正常終了またはエラー終了した日時を表示する。予測時間欄G107は、タスクの完了に要すると予測された時間を表示する。
実行ボタンG108は、選択されたタスクを実行させるためのボタンである。中止ボタンG109は、選択されたタスクを中止させるためのボタンである。一時停止ボタンG110は、選択されたタスクの実行を一時停止させるためのボタンである。再実行ボタンG111は、選択されたタスクについて再実行タスクを生成させるボタンである。
図14に戻る。管理サーバ10は、タスク管理画面G10において、エラー終了したタスクがユーザにより選択されたか否かを判定する(S50)。そして、管理サーバ10は、エラー終了したタスクについて再実行ボタンG111が操作されたか否かを判定する(S51)。再実行ボタンG111が操作された場合(S51:YES)、管理サーバ10は、再実行タスクを生成するための処理を起動させる(S52)。
図16は、再実行タスクを生成する処理を示すフローチャートである。管理サーバ10は、タスク管理テーブルT10を参照し(S60)、エラー終了のタスクはあるか否かを判定する(S61)。エラー終了のタスクが有る場合(S61:YES)、管理サーバ10は、そのエラー終了したタスクが再実行タスクであるか否かを判定する(S62)。つまり、二度続けて失敗したタスクであるか否かを判定する(S62)。
エラー終了したタスクが一つも存在しない場合(S61:NO)、または、エラー終了したタスクが再実行タスクだけであった場合(S62:YES)のいずれかの場合には、エラー処理が行われる(S66)。管理サーバ10は、例えば、「再実行可能なタスクがありません。」のようなエラーメッセージをユーザに通知する。
再実行タスク以外のタスクがエラーで終了していた場合(S61:YES かつ、S62:NO)、管理サーバ10は、そのエラー終了したタスクから、エラー終了したデータマイグレーションのボリュームペアを抽出し、改めてデータマイグレーションを実行させるためのボリュームペアを作成する(S63)。詳細は後述するが、エラー終了したデータマイグレーションのボリュームペアをそのまま使用できる場合には、そのボリュームペアをそのまま用いて、再実行用のデータマイグレーションを生成する。エラー終了したデータマイグレーションのボリュームペアをそのまま使用することができない場合には、例えば、別の移動先ボリュームを選択して新たなボリュームペアを作成する。
管理サーバ10は、再実行用のデータマイグレーションの完了時間を予測し、S63で設定された内容と予測された完了時間とを、タスク管理テーブルT10に記憶させる(S64)。エラー終了したタスク内の、エラー終了したデータマイグレーションについて再実行準備が完了するまで(S65)、S63及びS64が繰り返し実行される。
図17は、マイグレーション完了時間(マイグレーション終了時間)を予測する処理のフローチャートである。本処理は、図11のS23と図16のS64で使用される。
管理サーバ10は、ボリューム情報テーブルT30から、移動元ボリュームに関する情報及び移動先ボリュームに関する情報をそれぞれ取得する(S70,S71)。ボリュームに関する情報としては、例えば、RAIDレベル(RAID構成を含む)、ディスクタイプ、回転数、サイズ、装置ID等を挙げることができる。
管理サーバ10は、S70,S71で取得された情報に基づいて、マイグレーション履歴情報T40を検索し(S72)、ボリュームペアの構成が一致するデータマイグレーションの履歴が有るか否かを判定する(S73)。つまり、管理サーバ10は、データマイグレーション完了時間を予測しようとしているボリュームペアと同一構成のボリュームペアについて、過去に行われたデータマイグレーションの履歴を探す。
予測対象のボリュームペアと同一構成のデータマイグレーションが過去に行われていない場合(S73:NO)、管理サーバ10は、基準コピー速度を管理するためのテーブルT50を参照し、予め用意されている基準コピー速度を選択する(S74)。
基準コピー速度は、例えば、過去に行われたデータマイグレーションの実測速度の平均値等に基づいて定めることができる。基準コピー速度は、例えば、RAIDレベル別、ディスクタイプ別、回転数別等のように、状況に応じて複数用意することができる。その場合、管理サーバ10は、各状況別の基準コピー速度を複数用いて、予測に使用するコピー速度を算出することもできる。
過去に同一構成のデータマイグレーションが行われている場合(S73:YES)、管理サーバ10は、過去のデータマイグレーション時のコピー速度を選択する(S75)。管理サーバ10は、S74またはS75のいずれかで選択されるコピー速度に基づいて、データマイグレーションの完了に要する時間を予測する(S76)。簡単には、管理サーバ10は、データマイグレーションサイズをコピー速度で除算することにより、完了時間を予測できる(予測される完了時間=データマイグレーションのサイズ/コピー速度)。
なお、再実行タスクに関する完了時間を予測する場合には、最新のマイグレーション履歴情報T40が使用される。つまり、失敗した元のタスクに関する完了時間の予測に使用されたマイグレーション履歴情報T40(旧)ではなく、最新のマイグレーション履歴情報T40(新)を使用して、再実行タスクの完了時間を予測する。これにより、予測精度を高めることができる。
さらに、再実行タスクに含まれる各データマイグレーションについての完了時間に基づいて、再実行タスクの完了時間が予測され、元の失敗したタスクにおいて成功したデータマイグレーションについての完了時間は考慮されない。
例えば、最初のタスクを第1タスクとし、第1タスク内には、ボリューム#10とボリューム#20の第1ペアと、ボリューム#11とボリューム#21の第2ペアと、ボリューム#12とボリューム#22の第3ペアとが含まれているとする。
第1タスクを実行した結果、ボリューム#10とボリューム#20の第1ペアのみデータマイグレーションが成功し、第2ペア(ボリューム#11とボリューム#21のペア)及び第3ペア(ボリューム#12とボリューム#22のペア)は、データマイグレーションに失敗したものとする。
そこで、再実行タスクとして第2タスクが生成される。第2タスクには、第2ペア及び第3ペアが含まれる。管理サーバ10は、第1タスク終了後に更新される最新のマイグレーション履歴情報T40(新)に基づいて、第2ペアのデータマイグレーションの完了時間と、第3ペアのデータマイグレーションの完了時間とをそれぞれ予測する。さらに、管理サーバ10は、第2ペアの完了時間と第3ペアの完了時間とに基づいて、第2タスクの完了時間を予測する。
図18は、データマイグレーションを再実行させるためのボリュームペアを生成する処理を示すフローチャートである。本処理は、図16のS63に対応する。
管理サーバ10は、エラー終了したデータマイグレーションに関するボリュームペアを抽出し(S80)、そのボリュームペアに関するエラーを確認すべく、エラー情報テーブルT20を参照する(S81)。
管理サーバ10は、ボリュームペアについて生じたエラーがリトライ可能なエラーであるか否かを判定する(S82)。リトライ可能なエラーである場合(S82:YES)、管理サーバ10は、元の移動元ボリューム及び移動先ボリュームを再び選択してボリュームペアを生成する(S83)。つまり、リトライ可能なエラーの場合には、ボリュームペアの構成は変化しない。
これに対し、ボリュームペアについて生じたエラーがリトライ可能なエラーではない場合(S82:NO)、管理サーバ10は、後述のように、ボリュームペアの構成を変えて、再選択する(S84)。
図19は、ボリュームペアを再選択する処理を示すフローチャートである。本処理は、図18のS84に対応する。管理サーバ10は、リトライできないエラーであると判定されたエラーが移動先ボリュームに関するエラーであるか否かを判定する(S90)。
移動先ボリュームに関するエラーである場合(S90:YES)、管理サーバ10は、移動先ストレージ装置の有する複数の論理ボリュームのうち、元の移動先ボリュームと同一の属性を有する別の論理ボリュームを検索する(S91)。例えば、最初に選択された移動先ボリュームが「RAID5(3D+1P)、SATAディスク、7200rpm」等の属性を備える場合、管理サーバ10は、元の属性と同一の属性を有する別の論理ボリュームを検索する。
最初に選択された移動先ボリュームと同一属性を有する、候補となり得る論理ボリューム(候補ボリュームと呼ぶ場合がある)が検出された場合(S92:YES)、管理サーバ10は、検出された候補ボリュームを新たな移動先ボリュームとして選択し、ボリュームペアを再設定する(S93)。
移動元ボリュームのエラーの場合(S90:NO)または候補ボリュームが一つも見つからない場合(S92:NO)のいずれかである場合には、エラー処理が行われる(S94)。管理サーバ10は、例えば、「データマイグレーションを再実行させるためのボリュームペアを選択することができません。」のようなエラーメッセージをユーザに通知する。
このように構成される本実施例によれば、以下の効果を奏する。本実施例では、複数のデータマイグレーションを含むタスクが失敗した場合に、ユーザは、図15に示すような管理画面G10を用いて、再実行タスクの生成を指示できる。これにより、失敗したタスクの情報を利用して再実行タスクを作成させることができ、使い勝手が向上する。
本実施例では、図5の管理テーブルT11に示すように、失敗した元のタスクと再実行タスクとを関連づけて管理する。従って、データマイグレーションの最終結果を容易に確認することができ、使い勝手が向上する。
本実施例では、再実行タスクには新たなタスクIDを付与し、元のタスクのIDと対応付ける。これにより、情報処理システム内で行われる各データマイグレーションの履歴を、タスク管理テーブルT10によって一元的に管理することができる。つまり、本実施例では、マイグレーション履歴情報T40は省略できる。しかし、説明の便宜上、マイグレーション履歴情報T40を用いる構成を例に挙げて説明した。
本実施例では、リトライ可能なエラーの場合には、失敗したデータマイグレーションのボリュームペアを再選択し、リトライ不能なエラーの場合には、元の移動先ボリュームと同一属性を有する別の論理ボリュームを新たに選択して、データマイグレーションを設定する。従って、再実行タスクが正常に完了する可能性を高めることができる。
本実施例では、データマイグレーションの完了に要する時間を予測し、その予測結果をユーザに提供する(図15参照)。従って、ユーザは、データマイグレーションにどのくらいの時間がかかるのか事前に把握することができ、使い勝手が向上する。例えば、ユーザは、完了時間の長いマイグレーションタスクから先に開始させるように、複数のタスクの実行順序を指示したり、入れ替えたりすることができる。
図20に基づいて第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に相当する。従って、以下の各実施例では、第1実施例との相違点を中心に説明する。第2実施例では、候補ボリュームを検索する場合に、最初に選択された移動先ボリュームと重要な属性が一致する論理ボリュームを検索する。
図20は、本実施例による管理サーバ10で実施される、ボリュームペアの再選択処理を示すフローチャートである。本処理は、図19に示す処理と共通のS90,S92〜S94を備えており、S91Aのみ相違する。
移動先ボリュームのエラーである場合(S90:YES)、管理サーバ10は、属性の優先順位を管理するためのテーブルT60を参照し、予め優先順位が高く設定されている属性が一致する候補ボリュームを検索する(S91A)。
属性優先順位管理テーブルT60には、例えば、RAIDレベル、ディスクタイプ、回転数、アレイグループID等の各属性毎に、優先順位が予め設定されている。相対的に優先順位が高く設定される属性として、例えば、RAIDレベルとディスクタイプ等を挙げることができる。相対的に優先順位の低く設定される属性としては、例えば、アレイグループIDと回転数等を挙げることができる。
管理サーバ10は、移動先ボリュームとして選択可能な複数の論理ボリュームの中から、最初に選択された移動先ボリュームと優先順位の高い属性が一致する論理ボリュームを、候補ボリュームとして選び出す。
このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、優先順位の高い属性が一致する論理ボリュームを、最初に選択された移動先ボリュームの代わりとなる候補ボリュームとして検索する。従って、候補ボリュームとして選択可能な範囲を広げることができ、使い勝手が向上する。
図21,図22に基づいて第3実施例を説明する。本実施例では、データマイグレーションにリトライ可能なエラーが発生した場合に、データマイグレーション完了時間の予測結果に基づいて、ボリュームペアの構成を変更する。図21は、本実施例の管理サーバ10により実施される、再実行タスクの生成処理を示すフローチャートである。
管理サーバ10は、エラー終了のタスクが有るか否かを判定する(S100)。エラー終了したタスクが存在する場合(S100:YES)、管理サーバ10は、そのエラー終了したタスクが再実行タスクであるか否かを判定する(S101)。
エラー終了したタスクが一つも存在しない場合(S100:NO)、または、エラー終了したタスクが再実行タスクである場合(S101:YES)のいずれかである場合、図22に示すエラー処理に移行する(S111)。エラー処理では、例えば、予め用意されているエラーメッセージをユーザに通知する。
図21に戻る。エラー終了したタスクが再実行タスクではない場合(S101:NO)、管理サーバ10は、そのエラー終了タスク内において、データマイグレーションに失敗したボリュームペアを抽出する(S102)。
管理サーバ10は、そのデータマイグレーションのエラー原因がリトライ可能であるか否かを判定する(S103)。リトライ可能なエラーではない場合(S103:NO)、管理サーバ10は、図19または図20で説明した処理を実行する(S104)。
リトライ可能なエラーである場合(S103:YES)、管理サーバ10は、最初に選択されたボリュームペアについて、データマイグレーション完了に要する時間を改めて予測する(S105)。
第1実施例では、リトライ可能なエラーの場合、最初に選択されたボリュームペア(元のボリュームペア)を用いて、データマイグレーションを再度実行させる。これに対し、本実施例では、完了時間を予測し直し、その結果に応じて、ボリュームペアの構成を変更させる。そこで、本実施例では、最初のボリュームペアについてのデータマイグレーション完了時間を予測し直す(S105)。
管理サーバ10は、予測された完了時間に基づいて、ボリュームペアの構成変更条件に該当するか否かを判定する。ボリュームペアの構成変更条件は、例えば、以下のように予め定義されている。
(条件1)今回予測された完了時間Tnewが、前回予測された完了時間Toldのα倍以上の場合(Tnew≧Told×α α>0)。例えば、αの値は、例えば「1.2」程度に設定するこことができる。αの値は例示であって、その値に限定されない。以下に述べるβ,γについても同様である。
(条件2)元のタスクがエラー終了した時間Terrorが、今回予測された完了時間Tnewのβ倍以上の場合(Terror≧Tnew×β β>0)。βの値は、例えば「2」程度に設定することができる。
(条件3)他のボリュームペアの完了時間Tvol1よりもγ倍以上の完了時間Tvol2を有するボリュームがある場合(Tvol2≧Tvol1×γ γ>0)。γの値は、例えば「1.5」程度に設定することができる。
上記の条件1〜条件3は例示であって、それらに限定されない。他の条件に基づいて、ボリュームペアの構成を変更すべきか否か判断することもできる。
ボリュームペアの構成変更条件に該当しない場合(S106:NO)、管理サーバ10は、元のボリュームペアを、新たなボリュームペアとして設定し(S107)、図22のS115に移行する。
ボリュームペアの構成変更条件に該当する場合(S106:YES)、管理サーバ10は、移動先ボリュームのエラーであるか否かを判定する(S108)。移動先ボリュームのエラーではない場合(S108:NO)、エラー処理が行われ、所定のエラーメッセージがユーザに通知される(S111)。
移動先ボリュームのエラーである場合(S108:YES)、図22のS109に移る。図22を参照する。管理サーバ10は、移動先ストレージ装置内において、元の移動先ボリュームと同一属性を有する候補ボリュームを検索する(S109)。第2実施例で述べたように、優先順位の高い属性が一致する候補ボリュームを検索する構成でもよい。
管理サーバ10は、候補ボリュームが発見されたか否かを判定する(S110)。候補ボリュームを一つも発見できない場合(S110:NO)、エラー処理が行われ、所定のエラーメッセージがユーザに通知される(S111)。
候補ボリュームが発見された場合(S110:YES)、管理サーバ10は、候補ボリュームについてのデータマイグレーション完了時間を予測する(S112)。管理サーバ10は、候補ボリュームについて予測された完了時間が、上述のボリュームペア構成変更条件に該当しないかどうかを判定する(S113)。その候補ボリュームを選択すると、ボリュームペア構成変更条件に該当してしまう場合(S113:NO)、管理サーバ10は、S109に戻って、別の候補ボリュームを検索する。
候補ボリュームがボリュームペア構成変更条件に該当しない場合(S113:YES)、管理サーバ10は、その候補ボリュームを用いてボリュームペアを再設定し(S114)、タスク管理テーブルT10に再実行タスクを登録させる(S115)。
管理サーバ10は、再実行タスクの生成が指示された各エラー終了タスクについて、再実行タスクが生成されたか否かを判定する(S116)。再実行タスクの生成されていないエラー終了タスクが残っている場合(S116:NO)、S102に戻る。指示されたエラー終了タスクの全てについて再実行タスクが生成された場合(S116:YES)、本処理は終了する。
このように構成される本実施例も第1実施例及び第2実施例と同様の効果を奏する。さらに、本実施例では、元のボリュームペアをそのまま再選択可能な場合であっても、データマイグレーション完了時間に基づいてボリュームペアの構成を変更した方が良いか否か判定する。従って、再実行タスクが成功する可能性をより一層高めることができ、ユーザの使い勝手及びシステムの信頼性を向上させることができる。
図23に基づいて第4実施例を説明する。本実施例では、データマイグレーションタスクを生成する場合に、第3実施例で述べたボリュームペア構成変更条件に該当するか否かを判定する。
図23は、本実施例による管理サーバ10により実施される、データマイグレーションタスクを生成する処理のフローチャートである。本処理は、図11に示すS20〜S25を全て含んでいる。さらに、本処理では、新たなステップS26,S27が、S23とS24との間に追加されている。
管理サーバ10は、生成されたボリュームペアについてのデータマイグレーション完了時間を予測した後(S23)、その予測時間がボリュームペア構成変更条件に該当するか否かを判定する(S26)。
ボリュームペア変更条件に該当する場合(S26:YES)、管理サーバ10は、図19または図20に示す処理を行って、ボリュームペアの構成を変更する(S27)。
このように構成される本実施例も第1〜第3実施例と同様の効果を奏する。さらに、本実施例では、タスクの生成時点で、データマイグレーション完了時間の予測値に基づいてボリュームペアの構成が妥当であるか否かを事前に判断する。従って、データマイグレーションタスクの成功可能性を高めることができ、使い勝手及び信頼性が向上する。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上記各実施例を適宜組み合わせることもできる。例えば、マイグレーション完了時間を予測する構成を除いた、マイグレーションタスクの再生成及びその関連について、上記各実施例を組み合わせることができる。それとは逆に、マイグレーションタスクを再生成する構成を除いた、マイグレーション完了時間の予測及びその関連について、上記各実施例を組み合わせることもできる。それらの各組合せも、本発明の範囲に含まれる。
上記各実施例では、移動先ボリュームのデータ保全を省略する場合を説明した。しかし、移動先ボリュームのデータと移動元ボリュームのデータとを入れ替えることによって、移動先ボリュームのデータを保全しつつ、データマイグレーションを行う方式も知られている。入れ替え方式の場合、例えば、一時的に使用される退避用ボリュームを用意し、移動先ボリュームから退避ボリュームへデータを移動し、次に、移動元ボリュームから移動先ボリュームへデータを移動し、最後に、退避ボリュームから移動元ボリュームへデータを移動させる。上記3ステップ以外の方法で、入れ替え方式を実現してもよい。
なお、上記各実施例で述べたように、移動先ボリュームのデータ保全を省略する方式の場合、マイグレーションタスクを作成した管理者とは異なる別の管理者が、先に移動先ボリュームへ別のデータを移動させてしまうこともあり得る。その場合、移動先ボリュームに移されたデータが上書きされてしまうのを防止すべく、その移動先ボリュームへのデータマイグレーションが抑止されることがある。
その抑止処理は、ストレージ装置側によって行われる場合もあれば、管理サーバ側で行われる場合もある。その抑止処理は、例えば、その移動先ボリュームをマイグレーション先として指定できるかどうかの情報を、各ボリュームにそれぞれ設定できるようにすることで実現することができる。そのような指定可否を示す情報を用意すれば、同一の移動先ボリュームに、それぞれ異なる別々の移動元ボリュームからデータがコピーされるのを防止することができる。
1:管理装置、1A:タスク管理部、1B:マイグレーション制御部、1C:エラー検出部、1D:予測部、1E:再実行タスク生成部、1E1:設定変更部、1E2:関連づけ部、2:ストレージ装置、2A:コントローラ、2B:論理ボリューム、3:ホストコンピュータ、CN1,CN2:通信ネットワーク、10:管理サーバ、20:ストレージ装置、30:ホストコンピュータ、100:コントローラ、110:第1通信部、120:第2通信部、130:マイクロプロセッサ、140:キャッシュメモリ、210:記憶装置、220:アレイグループ、230:論理ボリューム。

Claims (14)

  1. 複数の記憶領域を備える情報処理システム内のデータ移動を管理するためのデータ移動管理装置であって、
    前記各記憶領域に含まれる移動元記憶領域から前記各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、
    前記メモリに記憶される前記実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、
    前記マイクロプロセッサが、前記各記憶領域を制御するための記憶制御装置と通信ネットワークを介して通信するための通信インターフェースと、
    を有し、
    前記マイクロプロセッサは、
    (1)前記実行計画を作成して前記メモリに記憶させ、
    (2)前記実行計画に基づく指示を前記通信ネットワークを介して前記記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させ、
    (3)前記実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、
    (4)前記実行計画が失敗したと判定される場合、
    前記実行計画に含まれるデータ移動のうち失敗したデータ移動がリトライ可能か否かを判定し、
    リトライ可能であると判定した場合は、前記失敗したデータ移動に係る前記移動元記憶領域及び前記移動先記憶領域を再度選択して、前記失敗したデータ移動を再実行するための再実行計画を作成し、
    前記失敗したデータ移動がリトライ可能ではないと判定された場合は、その失敗原因に応じて、前記失敗したデータ移動に係る前記移動元記憶領域または前記移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、前記失敗したデータ移動を再実行するための再実行計画を作成し、
    (5)前記再実行計画を前記実行計画に関連づけて前記メモリに記憶させ、
    (6)前記再実行計画に基づく別の指示を前記通信ネットワークを介して前記記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させる、
    データ移動管理装置。
  2. 前記メモリには、前記情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、
    前記マイクロプロセッサは、前記メモリに記憶されている前記履歴情報に基づいて、前記実行計画または前記再実行計画の完了に要する移動完了時間を予測し、その予測された移動完了時間を前記実行計画または前記再実行計画に関連づけて出力させる、
    請求項1に記載のデータ移動管理装置。
  3. 前記履歴情報には、前記実行計画の実行結果が反映されるようになっており、
    前記マイクロプロセッサは、前記実行計画の前記実行結果が反映された前記履歴情報に基づいて、前記再実行計画の移動完了時間を予測する、
    請求項2に記載のデータ移動管理装置。
  4. 前記メモリには、前記失敗原因毎にリトライ可能か否かを予め規定する失敗原因テーブルが記憶されており、
    前記マイクロプロセッサは、前記失敗原因テーブルを参照することにより、前記実行計画の失敗原因がリトライ可能な失敗原因であるか否かを判定し、前記実行計画の失敗原因がリトライ不可であると設定されている場合に、前記移動元記憶領域または前記移動先記憶領域のいずれかまたは両方を前記別の記憶領域に変更させることにより、前記再実行計画を作成する、
    請求項に記載のデータ移動管理装置。
  5. 前記マイクロプロセッサは、前記移動元記憶領域または前記移動先記憶領域のうち変更対象となる記憶領域の属性に基づいて、前記別の記憶領域を前記各記憶領域の中から選択する、請求項に記載のデータ移動管理装置。
  6. 前記メモリには、前記情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、
    前記マイクロプロセッサは、
    前記実行計画が失敗した場合に、前記実行計画に含まれる前記移動元記憶領域及び前記移動先記憶領域を再選択して再実行計画を作成可能であるか否かを判定し、
    前記移動元記憶領域及び前記移動先記憶領域を再選択可能であると判定した場合には、前記移動元記憶領域から前記移動先記憶領域へのデータ移動の完了に要する移動完了時間を前記履歴情報に基づいて予測し、
    前記予測された移動完了時間が予め設定される所定の変更条件に該当する場合に、前記移動先記憶領域を、前記各記憶領域に含まれる別の記憶領域に変更させる、
    請求項1に記載のデータ移動管理装置。
  7. 前記マイクロプロセッサは、前記別の記憶領域として、変更対象の前記移動先記憶領域と同一または類似する属性を有する記憶領域を選択する、
    請求項に記載のデータ移動管理装置。
  8. 前記所定の変更条件は、
    今回予測される移動完了時間が、失敗した前記実行計画について事前に予測された移動完了時間よりも第1所定値以上長い場合、または、
    前記実行計画が開始されてから失敗するまでに要した時間が、前記実行計画について事前に予測された移動完了時間よりも第2所定値以上長い場合、または、
    前記移動元記憶領域と前記移動先記憶領域とから構成されるデータ移動ペアが前記実行計画に複数含まれている場合において、いずれか一つのデータ移動ペアについて予測される移動完了時間が、他の各データ移動ペアについて予測される移動完了時間よりも第3所定値以上長い場合、
    のいずれか一つまたは複数である、
    請求項に記載のデータ移動管理装置。
  9. 前記実行計画には、前記移動元記憶領域と前記移動先記憶領域とから構成されるデータ移動ペアが複数含まれており、
    前記マイクロプロセッサは、前記実行計画に含まれる前記各データ移動ペアのうちいずれか一つのデータ移動ペアについてデータ移動が失敗した場合には、前記実行計画が失敗したものと判定し、さらに、
    前記マイクロプロセッサは、失敗した前記実行計画に含まれる前記各データ移動ペアのうち前記データ移動に失敗した前記データ移動ペアの設定に使用される情報を用いて、前記データ移動に失敗した前記データ移動ペアについてのデータ移動を完了させるための前記再実行計画を作成する、
    請求項1に記載のデータ移動管理装置。
  10. 前記メモリには、前記マイクロプロセッサにより作成される前記実行計画及び前記再実行計画を記憶するための実行計画管理テーブルも記憶されており、
    前記実行計画管理テーブルにおいて、前記実行計画を識別するための識別子と、前記再実行計画を識別するための識別子とは異なるように設定される、
    請求項1に記載のデータ移動管理装置。
  11. 前記マイクロプロセッサは、失敗した前記実行計画に前記再実行計画が関連づけられた場合、前記実行計画に関する別の実行計画の作成を禁止させる、
    請求項1に記載のデータ移動管理装置。
  12. データ移動を管理するためのデータ移動管理装置と、
    前記データ移動管理装置に通信ネットワークを介して接続され、それぞれ複数の記憶領域を有する複数の記憶制御装置と、
    を有する情報処理システムであって、
    前記データ移動管理装置は、
    前記各記憶領域に含まれる移動元記憶領域から前記各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、
    前記メモリに記憶される前記実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、
    前記マイクロプロセッサが、前記各記憶制御装置と前記通信ネットワークを介して通信するための通信インターフェースと、
    を有し、
    前記マイクロプロセッサは、
    (1)前記実行計画を作成して前記メモリに記憶させ、
    (2)前記実行計画に基づく指示を前記通信ネットワークを介して前記各記憶制御装置に与えて、前記移動元記憶領域から前記移動先記憶領域へデータを移動させ、
    (3)前記実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、
    (4)前記実行計画が失敗したと判定される場合、
    前記実行計画に含まれるデータ移動のうち失敗したデータ移動がリトライ可能か否かを判定し、
    リトライ可能であると判定した場合は、前記失敗したデータ移動に係る前記移動元記憶領域及び前記移動先記憶領域を再度選択して、前記失敗したデータ移動を再実行するための再実行計画を作成し、
    前記失敗したデータ移動がリトライ可能ではないと判定された場合は、その失敗原因に応じて、前記失敗したデータ移動に係る前記移動元記憶領域または前記移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、前記失敗したデータ移動を再実行するための再実行計画を作成し、
    (5)前記再実行計画を前記実行計画に関連づけて前記メモリに記憶させ、
    (6)前記再実行計画に基づく別の指示を前記通信ネットワークを介して前記各記憶制御装置に与えて、前記移動元記憶領域から前記移動先記憶領域へデータを移動させる、
    情報処理システム。
  13. 前記メモリには、過去に実行されたデータ移動に関する履歴情報も記憶されており、
    前記マイクロプロセッサは、前記メモリに記憶されている前記履歴情報に基づいて、前記実行計画または前記再実行計画の完了に要する移動完了時間を予測し、その予測された移動完了時間を前記実行計画または前記再実行計画に関連づけて出力させる、
    請求項12に記載の情報処理システム。
  14. 前記マイクロプロセッサは、前記実行計画が失敗した場合に、その失敗原因に応じて、前記移動元記憶領域または前記移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、前記再実行計画を作成する、
    請求項12に記載の情報処理システム。
JP2009116486A 2009-05-13 2009-05-13 データ移動管理装置及び情報処理システム Expired - Fee Related JP4990322B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2009116486A JP4990322B2 (ja) 2009-05-13 2009-05-13 データ移動管理装置及び情報処理システム
US12/493,978 US8205112B2 (en) 2009-05-13 2009-06-29 Data migration management apparatus and information processing system
EP09174029A EP2251788B1 (en) 2009-05-13 2009-10-26 Data migration management apparatus and information processing system
AT09174029T ATE555440T1 (de) 2009-05-13 2009-10-26 Datenmigrationsverwaltungsvorrichtung und informationsverarbeitungssystem
US13/476,620 US20120226938A1 (en) 2009-05-13 2012-05-21 Data migration management apparatus and information processing system
US13/613,929 US8555106B2 (en) 2009-05-13 2012-09-13 Data migration management apparatus and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009116486A JP4990322B2 (ja) 2009-05-13 2009-05-13 データ移動管理装置及び情報処理システム

Publications (3)

Publication Number Publication Date
JP2010266993A JP2010266993A (ja) 2010-11-25
JP2010266993A5 JP2010266993A5 (ja) 2011-04-14
JP4990322B2 true JP4990322B2 (ja) 2012-08-01

Family

ID=42261938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009116486A Expired - Fee Related JP4990322B2 (ja) 2009-05-13 2009-05-13 データ移動管理装置及び情報処理システム

Country Status (4)

Country Link
US (3) US8205112B2 (ja)
EP (1) EP2251788B1 (ja)
JP (1) JP4990322B2 (ja)
AT (1) ATE555440T1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863605B2 (ja) * 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
EP2450785A1 (en) * 2009-10-09 2012-05-09 Hitachi Ltd. Data storage controller and virtual volume control method
JP5454135B2 (ja) * 2009-12-25 2014-03-26 富士通株式会社 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
US8768973B2 (en) * 2010-05-26 2014-07-01 Pivotal Software, Inc. Apparatus and method for expanding a shared-nothing system
JP5614226B2 (ja) * 2010-10-15 2014-10-29 富士通株式会社 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
JP5680466B2 (ja) * 2011-03-29 2015-03-04 三菱重工業株式会社 並列処理システム及び並列処理システムの動作方法
JP5716099B2 (ja) * 2011-07-22 2015-05-13 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法
US8627152B1 (en) * 2011-11-14 2014-01-07 Amazon Technologies, Inc. Simultaneous error detection during VM import
CN104011683B (zh) * 2012-01-10 2017-07-07 富士通株式会社 虚拟机管理方法以及虚拟机管理装置
US8719534B1 (en) * 2012-03-21 2014-05-06 Netapp, Inc. Method and system for generating a migration plan
US9183094B2 (en) * 2012-05-25 2015-11-10 Symantec Corporation Backup image duplication
US20130339787A1 (en) 2012-06-15 2013-12-19 International Business Machines Coporation Systematic failure remediation
US8898514B2 (en) * 2012-06-25 2014-11-25 Hewlett-Packard Development Company, L.P. SAS storage device drive system with failure information table
US8943178B2 (en) * 2012-08-29 2015-01-27 International Business Machines Corporation Continuous operation during reconfiguration periods
WO2014074998A2 (en) * 2012-11-12 2014-05-15 EPI-USE Systems, Ltd. Fast replication of an enterprise system to a remote computing environment
US9626110B2 (en) 2013-02-22 2017-04-18 Hitachi, Ltd. Method for selecting a page for migration based on access path information and response performance information
JP5676676B2 (ja) 2013-04-08 2015-02-25 株式会社スクウェア・エニックス ビデオゲーム処理装置、及びビデオゲーム処理プログラム
JP2014211849A (ja) * 2013-04-22 2014-11-13 富士通株式会社 ストレージ制御装置、ストレージ装置、および制御プログラム
WO2014174570A1 (ja) * 2013-04-22 2014-10-30 株式会社日立製作所 ストレージ管理計算機、ストレージ管理方法、およびストレージシステム
US9286330B2 (en) 2013-05-15 2016-03-15 Oracle International Corporation Migration of data objects
US9602598B2 (en) * 2013-05-29 2017-03-21 International Business Machines Corporation Coordinating application migration processes
WO2014205847A1 (zh) 2013-06-29 2014-12-31 华为技术有限公司 一种分区平衡子任务下发方法、装置与系统
US9063667B2 (en) * 2013-08-13 2015-06-23 Utah State University Dynamic memory relocation
US20160041996A1 (en) 2014-08-11 2016-02-11 Netapp, Inc. System and method for developing and implementing a migration plan for migrating a file system
US10860529B2 (en) * 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US9633055B2 (en) 2014-05-15 2017-04-25 Microsoft Technology Licensing, Llc Database migration
US10067695B2 (en) * 2014-06-26 2018-09-04 Hitachi, Ltd. Management server, computer system, and method
US10067673B2 (en) 2014-09-29 2018-09-04 Hitachi, Ltd. Management system for storage system
US9612766B2 (en) * 2014-12-19 2017-04-04 Oracle International Corporation Systems and methods for shadow migration progress estimation
WO2016121108A1 (ja) * 2015-01-30 2016-08-04 株式会社日立製作所 ストレージ装置管理方法および計算機システム
US20160242072A1 (en) * 2015-02-18 2016-08-18 Qualcomm Incorporated Handling over-sized call setup messages
WO2017044595A1 (en) * 2015-09-08 2017-03-16 OverNest, Inc. Systems and methods for storing data blocks using a set of generated logical memory identifiers
US9600493B1 (en) * 2015-12-01 2017-03-21 International Business Machines Corporation Copy from source medium to target medium
US10261853B1 (en) * 2016-06-28 2019-04-16 EMC IP Holding Company LLC Dynamic replication error retry and recovery
TWI616820B (zh) * 2017-03-31 2018-03-01 鴻海精密工業股份有限公司 虛擬機遷移控制方法及裝置
JP7068573B2 (ja) 2018-01-17 2022-05-17 富士通株式会社 データ処理装置、データ処理システムおよびデータ処理プログラム
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10880401B2 (en) 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
CN110633140A (zh) * 2018-06-21 2019-12-31 中兴通讯股份有限公司 一种资源调度的方法、装置及计算机存储介质
US10877892B2 (en) * 2018-07-11 2020-12-29 Micron Technology, Inc. Predictive paging to accelerate memory access
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
KR102650689B1 (ko) 2019-08-02 2024-03-25 삼성전자주식회사 스토리지 장치
KR20210016208A (ko) 2019-08-02 2021-02-15 삼성전자주식회사 스토리지 장치, 및 스토리지 장치 및 스토리지 장치를 제어하는 호스트 장치를 포함하는 스토리지 시스템의 동작 방법
JP2021033851A (ja) 2019-08-28 2021-03-01 富士ゼロックス株式会社 情報処理装置、情報処理システム、及び情報処理プログラム
US11741380B2 (en) * 2020-01-31 2023-08-29 Oracle International Corporation Machine learning predictions for database migrations
US20220035656A1 (en) * 2020-07-29 2022-02-03 Mythics, Inc. Migration evaluation system and method
US11449478B2 (en) 2020-10-08 2022-09-20 Kyndryl, Inc. Blockchain implemented data migration audit trail
US20220171663A1 (en) * 2020-11-30 2022-06-02 Netapp, Inc. Systems and Methods for Resource Lifecycle Management
US11403184B1 (en) * 2021-03-01 2022-08-02 EMC IP Holding Company LLC Mitigating and automating backup failure recoveries in data protection policies

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
JP3414218B2 (ja) * 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US7165154B2 (en) * 2002-03-18 2007-01-16 Net Integration Technologies Inc. System and method for data backup
US7549080B1 (en) * 2002-08-27 2009-06-16 At&T Corp Asymmetric data mirroring
US7546482B2 (en) * 2002-10-28 2009-06-09 Emc Corporation Method and apparatus for monitoring the storage of data in a computer system
US7080221B1 (en) * 2003-04-23 2006-07-18 Emc Corporation Method and apparatus for managing migration of data in a clustered computer system environment
US7502961B2 (en) 2004-09-09 2009-03-10 Microsoft Corporation Method, system, and apparatus for providing alert synthesis in a data protection system
JP4915775B2 (ja) * 2006-03-28 2012-04-11 株式会社日立製作所 ストレージシステム及びストレージシステムのリモートコピー制御方法
US7472307B2 (en) * 2004-11-02 2008-12-30 Hewlett-Packard Development Company, L.P. Recovery operations in storage networks
US7475189B2 (en) * 2005-03-04 2009-01-06 Microsoft Corporation Advanced hardware and software encapsulation of RAID solutions to facilitate data protection
US8055724B2 (en) * 2005-03-21 2011-11-08 Emc Corporation Selection of migration methods including partial read restore in distributed storage management
JP4749140B2 (ja) * 2005-12-05 2011-08-17 株式会社日立製作所 データマイグレーション方法及びシステム
US7546484B2 (en) * 2006-02-08 2009-06-09 Microsoft Corporation Managing backup solutions with light-weight storage nodes
JP4900784B2 (ja) * 2006-04-13 2012-03-21 株式会社日立製作所 ストレージシステム及びストレージシステムのデータ移行方法
US7568124B2 (en) * 2006-06-02 2009-07-28 Microsoft Corporation Driving data backups with data source tagging
JP4930934B2 (ja) 2006-09-29 2012-05-16 株式会社日立製作所 データマイグレーション方法及び情報処理システム
US7594138B2 (en) * 2007-01-31 2009-09-22 International Business Machines Corporation System and method of error recovery for backup applications
JP4814119B2 (ja) 2007-02-16 2011-11-16 株式会社日立製作所 計算機システム、ストレージ管理サーバ、及びデータ移行方法
JP2008287327A (ja) * 2007-05-15 2008-11-27 Hitachi Ltd データマイグレーション方法、計算機システム、及びデータマイグレーションプログラム
JP5362975B2 (ja) * 2007-10-17 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス間のデータ複製を制御する制御装置、方法、プログラム及びストレージ・システム

Also Published As

Publication number Publication date
ATE555440T1 (de) 2012-05-15
EP2251788A1 (en) 2010-11-17
US20130007387A1 (en) 2013-01-03
US8205112B2 (en) 2012-06-19
US8555106B2 (en) 2013-10-08
US20100293412A1 (en) 2010-11-18
US20120226938A1 (en) 2012-09-06
EP2251788B1 (en) 2012-04-25
JP2010266993A (ja) 2010-11-25

Similar Documents

Publication Publication Date Title
JP4990322B2 (ja) データ移動管理装置及び情報処理システム
US11372710B2 (en) Preemptive relocation of failing data
JP5178854B2 (ja) ストレージシステム及びデータ再配置制御装置
JP4643395B2 (ja) ストレージシステム及びデータの移動方法
JP4814119B2 (ja) 計算機システム、ストレージ管理サーバ、及びデータ移行方法
US7581061B2 (en) Data migration using temporary volume to migrate high priority data to high performance storage and lower priority data to lower performance storage
US8412908B2 (en) Storage area dynamic assignment method
US7558916B2 (en) Storage system, data processing method and storage apparatus
JP4842909B2 (ja) ストレージシステム及びデータ再配置制御装置
US20060004876A1 (en) Data migration in storage system
JP2007316995A (ja) 記憶システム及びデータ管理方法
US20060218366A1 (en) Data relocation method
JP4643597B2 (ja) ストレージシステム及びデータ再配置制御装置
JP2006301820A (ja) ストレージシステム及びストレージシステムのデータ移行方法
JP2008108020A (ja) 計算機システム、データ移行方法、およびストレージ管理サーバ
JP2006099763A (ja) ストレージ階層を考慮したボリュームグループを管理する方法
JP2008123132A (ja) 記憶制御装置及び記憶制御装置の論理ボリューム形成方法
US8949559B2 (en) Storage system and performance management method of storage system
JP6005446B2 (ja) ストレージシステム、仮想化制御装置、情報処理装置、および、ストレージシステムの制御方法
JP2009223863A (ja) コンピュータシステム及びコマンド実行頻度制御方法
US20070124366A1 (en) Storage control method for managing access environment enabling host to access data
WO2014087465A1 (ja) ストレージ装置及びストレージ装置移行方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120403

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120501

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees