JP2010123055A - データ移行プログラム,データ移行方法及びデータ移行装置 - Google Patents

データ移行プログラム,データ移行方法及びデータ移行装置 Download PDF

Info

Publication number
JP2010123055A
JP2010123055A JP2008298197A JP2008298197A JP2010123055A JP 2010123055 A JP2010123055 A JP 2010123055A JP 2008298197 A JP2008298197 A JP 2008298197A JP 2008298197 A JP2008298197 A JP 2008298197A JP 2010123055 A JP2010123055 A JP 2010123055A
Authority
JP
Japan
Prior art keywords
storage
data
device node
migration
input
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.)
Withdrawn
Application number
JP2008298197A
Other languages
English (en)
Inventor
Takeshi Miyamae
剛 宮前
Yoshitake Shinkai
慶武 新開
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008298197A priority Critical patent/JP2010123055A/ja
Priority to US12/619,650 priority patent/US20100131728A1/en
Publication of JP2010123055A publication Critical patent/JP2010123055A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データの複製の完了時において業務アプリケーションによるアクセス要求の発行先となるストレージを設定し直す必要のないデータ移行を実現する。
【解決手段】業務アプリケーション50から送信されるアクセス要求の発行先を、移行元ストレージ10のデバイスノード10Aから移行先ストレージ20のデバイスノード20Aに切替える。そして、移行元ストレージ10のデータを移行先ストレージ20へと複製する。その一方で、データの複製中に発行された、ストレージ格納データに対する読込処理又は書込処理の要求を、デバイスノード10Aに転送し、移行元ストレージ10に対して処理を実行する。さらに、移行元ストレージ10で実行された書込処理の対象データが既に複製済みのときに、その対象データを移行先ストレージ20へ再複製する。そして、データの複製が完了したときに、デバイスノード10Aへのアクセス要求の転送を中止する。
【選択図】 図1

Description

本発明は、コンピュータシステムにおいて、ストレージ間でデータを移行する技術に関する。
コンピュータシステムの運用においては、システムメンテナンスの際に、各サーバに設けられたストレージ(外部記憶装置)を置き換えるべく、ストレージ間におけるデータ移行が行われる。かかるデータ移行作業では、まず、データ移行中に業務アプリケーションによりストレージへの入出力要求(I/O(Input/Output)要求)が送信されることを回避するべく、業務アプリケーションの処理を停止させる。そして、移行元ストレージに格納されたデータを、移行先ストレージに複製する。さらに、業務アプリケーションからストレージに対して発行される入出力要求の発行先を、移行元ストレージから移行先ストレージへと切替えた上で、業務アプリケーションの処理を再開する。
ここで、近年では、業務アプリケーションの処理量の増加に伴い、サーバが備えるストレージの容量が増加しており、ストレージ間のデータ移行において移行対象となるデータ量が増加している。このため、移行元ストレージから移行先ストレージへのデータの複製に要する時間が長くなり、業務アプリケーションを停止させなければならない時間が長くなる傾向にある。しかし、その一方で、例えばインターネットを用いて提供されるサービスなど、24時間365日体制でサービスを提供するシステムが増加している。このため、業務アプリケーションの処理を停止した状態でデータの複製を行うことが難しくなってきている。そこで、次のような技術が提案されている。即ち、業務アプリケーションの処理と並行して、移行元ストレージから移行先ストレージへとデータの複製を行う。このとき、データ複製開始後に業務アプリケーションから発行される入出力要求の発行先は、移行元ストレージのままである。このため、ストレージを制御するサブシステム側で、移行元ストレージと移行先ストレージとを対応付けるテーブルを参照して、移行先ストレージを特定する。そして、サブシステム側で、その入出力要求の発行先を移行先ストレージへと変換し、移行先ストレージにおいて、その入出力要求を処理する。このとき、入出力要求が、移行先ストレージへの複製が完了していないデータを対象とする読出処理又は書込処理であるときには、その対象データを移行先ストレージに複製した上で、読出処理又は書込処理を行うようにする。
しかしながら、かかる技術では、データの複製完了後であっても、業務アプリケーション側において入出力要求の発行先の切替えを行わない限り、サブシステム側では、入出力要求の発行先を移行元ストレージから移行先ストレージへと変換し続ける必要がある。かかる変換処理は、ストレージに対するアクセスにおいては本来不要な冗長処理であり、業務アプリケーションの処理遅延の原因となってしまう。このため、かかる変換処理を可能な限り回避するには、システム管理者が、移行先ストレージへのデータの複製が完了した後速やかに、業務アプリケーションから発行される入出力要求の発行先が移行先ストレージとなるように設定を切替えることが望ましい。しかしながら、システム管理者がデータの複製の完了時点を正確に予測することは困難である。データ移行に要する時間は、移行対象となるデータ量やサーバの処理能力等に依存するほか、移行中に業務アプリケーションから発行される入出力要求に応じたストレージの更新量によっても変動するからである。このため、システム管理者がデータの複製の完了時点で業務アプリケーションによる入出力要求の発行先を設定し直すためには、データの複製が完了するのを監視しておかなければならなかった。
特開2008−65486号公報
以上のような問題点に鑑み、移行元ストレージから移行先ストレージへのデータの複製の完了時に、システム管理者が業務アプリケーションによる入出力要求の発行先の切替えを行う必要のない、ストレージ間のデータ移行を実現することを目的とする。
開示のシステムにおいては、第1のストレージ(移行元ストレージ)から第2のストレージ(移行先ストレージ)へのデータ移行において、まず、業務アプリケーションから送信される入出力要求の発行先を、移行元ストレージのデバイスノードから移行先ストレージのデバイスノードに切替える。そして、移行先ストレージに対し、移行元ストレージに格納されたデータを複製する。その一方で、データの複製中に業務アプリケーションから発行された入出力要求が、少なくともストレージ格納データに対する読出処理又は書込処理の要求であるとき、その入出力要求を移行元ストレージのデバイスノードに対して転送する。そして、その転送された読出処理又は書込処理の要求に従い、移行元ストレージに対して読出処理又は書込処理を実行する。さらに、移行元ストレージに対して実行された書込処理が少なくとも移行元ストレージから移行先ストレージへと複製済みのデータを対象としているときに、移行元ストレージで書込処理を行った対象データを、移行元ストレージから移行先ストレージへと再複製する。そして、移行先ストレージに対するデータの複製が完了したときに、移行元ストレージのデバイスノードへの入出力要求の転送を中止する。
開示のシステムによれば、データの複製の開始前に業務アプリケーションによる入出力要求の発行先を移行先ボリュームのデバイスノードへと切替えても、データの複製中に発行された入出力要求によるストレージ格納データの読出処理又は書込処理は、必ず移行元ストレージに対して行われる。このため、データの複製中であっても、読出処理及び書込処理の対象データの複製が済んでいるか否かに関わらず、データの読出及び書込を正確且つ確実に行うことができる。また、移行元ストレージにおいて、移行先ストレージに複製済みのデータに対して行われた書込処理の対象データは、移行先ボリュームに再複製される。このため、データ複製中に生じる書込処理によって、移行元ストレージ及び移行先ストレージ間においてデータの不整合が生じることもない。したがって、データの複製の開始前に業務アプリケーションによる入出力要求の発行先を移行先ボリュームのデバイスノードへと切替えても、データ移行を正常に行うことができる。そして、システム管理者は、データの複製後に、業務アプリケーションにおける入出力要求の発行先を移行先ボリュームに切替える必要がなく、データの複製の完了を監視する必要がない。
図1は、ストレージ間におけるデータ移行を実現するデータ移行機構を具現化したデータ移行装置の全体構成を示す。この装置の各構成要素は、少なくともCPU(Central Processing Unit)及びメモリを備えたサーバにおいて、オペレーティングシステム(以下、OSという)が動作している環境で実現される。そして、本装置は、図1に示すように、移行元ボリューム10と,移行元ボリューム10に対応するデバイスノード10A及びフィルタドライバ10Bと,移行先ボリューム20と,移行先ボリューム20に対応するデバイスノード20A及びフィルタドライバ20Bと,移行管理部30と,移行管理部30により用いられるビットマップ30Aと,レジストリ40と,業務アプリケーション50と,を含む。
移行元ボリューム10は、本データ移行機構において、データの移行元となるストレージである。そして、移行元ボリューム10には、業務アプリケーション50で使用されるデータが格納されている。データ移行前においては、業務アプリケーション50から発行される入出力要求は、OSによるドライブレター又はマウントポイント(以下、ドライブレター等という)の割り当てにより、移行元ボリューム10が発行先となっている。
デバイスノード10Aは、業務アプリケーション50に対し、移行元ボリューム10を制御するためのインタフェースとして機能する。
フィルタドライバ10Bは、デバイスノード10Aのアッパーフィルタ(Upper Filter)として機能する。そして、フィルタドライバ10Bは、デバイスノード10Aへと送られる入出力要求を必要に応じて遮断(インタセプト)し、ライブラリとしての移行管理部30に渡す。ここで、業務アプリケーション50から発行される入出力要求は、次の種類のものを含む。即ち、ボリューム内に格納されたデータ(ストレージ格納データ)に対する読出処理及び書込処理の要求,ボリューム属性の設定要求(パーティション情報取得要求,マウント要求又はボリュームのリザーブ・リリース要求等)及びボリュームの使用用途通知等を含む。また、入出力要求のデータ(IRP:I/O Request Packet)は、次の情報を含む。即ち、入出力要求の発行先のボリュームに対応するデバイスノード及び上述の入出力要求の種類を特定可能な情報を含む。また、入出力要求の種類がボリューム内に格納されたデータに対する読出処理又は書込処理の要求である場合には、さらに、読出処理又は書込処理の対象データが属するデータブロックの識別子や、対象データのデータ長等を含む。
移行先ボリューム20は、データの移行先となるストレージである。そして、移行先ボリューム20には、移行元ボリューム10に格納されたデータが複製される。
デバイスノード20Aは、移行元ボリューム10に対応するデバイスノード10Aと同様に、業務アプリケーション50に対し、移行元ボリューム20を制御するためのインタフェースとして機能する。
フィルタドライバ20Bも、移行元ボリューム10に対するフィルタドライバ10Bと同様に、デバイスノード20Aのアッパーフィルタとして機能する。そして、フィルタドライバ20Bは、デバイスノード20Aへと送られる入出力要求を必要に応じてインタセプトし、ライブラリとしての移行管理部30に渡す。
移行管理部30(Migration Manager)は、フィルタドライバ10B及びフィルタドライバ20Bと連係して動作するライブラリである。そして、フィルタドライバ10B又はフィルタドライバ20Bで受信した入出力要求の発行先を、その入出力要求の種類により必要に応じて変更し、転送を行う。また、移行管理部30は、移行元ボリューム10のデータブロックに対応するビットで構成されたビットマップ30Aを用い、データ移行が完了したか否かをデータブロックごとに記録して、データ移行状況を管理する。
レジストリ40には、データの移行元となるボリューム及び移行先となるボリュームを特定するための情報である移行情報が格納される。なお、このレジストリ40は、本装置が実装されているサーバが再起動されたときに、移行管理部30に対して移行情報を設定し直すために用いられる。
業務アプリケーション50は、使用するボリュームのドライブレター等を指定して、ボリュームに対する入出力要求を発行する。
ここで、OSでは、予め、業務アプリケーション50により使用されるボリュームに対し、ドライブレター等の割り当て(マッピング)がなされている。そして、OSでは、業務アプリケーション50から発信された入出力要求の発行先としてのドライブレター等が割り当てられているボリュームに対応するデバイスノードに対し、入出力要求を発行する。
次に、本データ移行装置を適用してデータの移行を行う手順について、図2を用いて説明する。なお、以下の手順は、本データ移行装置が実装されるサーバにインストールされたOSがWindows(登録商標)である場合を例として説明するが、本データ移行機構は、他のOSがインストールされたサーバにおいても同様に適用可能である。また、下記説明の()内の番号は、図2に付されている()内の番号に対応する。
(1)システム管理者は、移行元ボリューム10と同一サイズで移行先ボリューム20を作成し、移行先ボリューム20を移行元ボリューム10と同一のファイルシステムでフォーマットする。
(2)業務アプリケーション50から発行される入出力要求は、OSにおけるドライブレター等の割り当てにより、移行元ボリューム10のデバイスノード10Aに対して発行されている。ここで、システム管理者は、業務アプリケーション50の処理を一時的に停止する。
(3)さらに、システム管理者は、移行管理部30をインストールするとともに、この移行管理部30をライブラリとして用いて連係処理を行うように、フィルタドライバ10B及びフィルタドライバ20Bをインストールする。そして、システム管理者は、移行先ボリューム20を初期化すること及びインストールした移行管理部30やフィルタドライバ10B,フィルタドライバ20Bの機能を有効にすること等の理由により、サーバを再起動する。なお、サーバが再起動されたとき、OSは、まずライブラリである移行管理部30をロードし、さらに、フィルタドライバ10B及びフィルタドライバ20Bをロードする。
(4)ここで、システム管理者は、OSに対し、ドライブレター等の割り当てを移行元ボリューム10から移行先ボリューム20へ切替えるための、ドライブレター等切替えコマンドを発行する。OSは,このドライブレター等切替えコマンドが発行されると、ドライブレター等の割り当てを、移行元ボリューム10から移行先ボリューム20へと切替える。具体的には、ドライブレター等の移行元ボリューム10への割り当てを解除し(DeleteVolumeMountPoint())、代わりに移行先ボリューム20に対してそのドライブレター等を割り当てる(SetVolumeMountPoint())。
図3は、OSによるドライブレター等の割り当て変更の説明図である。ドライブレター等切替えコマンドの実行前は、図3(A)に示すように、業務アプリケーション50(アプリA及びアプリB)が入出力要求を発行する発行先としてのドライブレター「F:」及びマウントポイント「C:¥Gyomu」は、OSにより、いずれも移行元ボリューム10(¥Device¥HarddiskVolume1)に割り当てられている。そして、ドライブレター等切替えコマンドが発行されることにより、図3(B)に示すように、ドライブレター「F:」及びマウントポイント「C:¥Gyomu」は、いずれも移行先ボリューム20(¥Device¥HarddiskVolume2)に割り当てられるようになる。(以下、図2の説明に戻る。)
(5)システム管理者は、データ移行処理を開始することを移行管理部30に通知するため、データの移行元として移行元ボリューム10を、データの移行先として移行先ボリューム20を、夫々移行情報として指定して、移行開始コマンドを発行する。移行管理部30は、移行開始コマンドが発行されると、この移行情報をレジストリ40に記録する。ここで、システム管理者は、再度サーバを再起動する。
(6)サーバが再起動されるときに、移行管理部30は、レジストリ40から移行情報を読み込み、データの移行元として移行元ボリューム10を、データの移行先として移行先ボリューム20を、夫々メモリに登録する。
なお、(5)及び(6)の手順についてさらに具体的に説明すると、次のようになる。即ち、システム管理者は、移行元ボリューム10及び移行先ボリューム20に夫々割り当てられたドライブレター等を指定して、移行開始コマンドを発行する。移行管理部30は、このドライブレター等が指定された移行情報をレジストリ40に記録し、サーバが再起動されると、この移行情報をレジストリ40から読み込む。この再起動時に、OSの機能により、移行元ボリューム10に割り当てられているドライブレター等がフィルタドライバ10Bに対してマウント要求として通知される。同様に、移行先ボリューム20に割り当てられているドライブレター等がフィルタドライバ20Bに対してマウント要求として通知される。そして、フィルタドライバ10B及びフィルタドライバ20Bでは、移行管理部30に対し、自ボリュームに割り当てられたドライブレター等と自ボリュームを物理的に特定することが可能な識別子である物理ボリューム情報とを関連付けた情報を通知する。移行管理部30では、この物理ボリューム情報と移行情報に含まれる移行元ボリューム10及び移行先ボリューム20のドライブレター等に基づき、移行元ボリューム10及び移行先ボリューム20の物理ボリューム情報を特定し、メモリに登録する。
(7)フィルタドライバ10B及びフィルタドライバ20Bは、夫々移行元ボリューム10及び移行先ボリューム20が移行管理部30により登録されているときには、以後、入出力要求を移行管理部30へ渡すようにする。一方、移行管理部30は、入出力要求の種類に応じて、その入出力要求の発行先を変更する。
さらに具体的に説明すると、上記(4)において、業務アプリケーション50から発行される入出力要求の発行先が移行先ボリューム20のデバイスノード20Aに切替えられている。このため、この段階においては、移行管理部30では、実質的にはフィルタドライバ20Bからのみ入出力要求を渡されることとなる。そして、入出力要求がストレージ格納データに対する読出処理及び書込処理のときには、その発行先を移行元ボリューム10のデバイスノード10Aに変更し、デバイスノード10Aに対して転送する。また、入出力要求がボリューム属性の設定要求であるときには、その発行先を移行先ボリューム20のデバイスノード20Aのまま変更せず、デバイスノード20Aに対して送信する。さらに、入出力要求がボリュームの使用用途通知等であるときには、その発行先を移行先ボリューム20のデバイスノード20A及び移行元ボリューム10のデバイスノード10Aとし、デバイスノード20Aに対して送信する一方、デバイスノード10Aに対しても転送する。なお、上述の(5)において再度サーバを再起動する理由には、このボリュームの使用用途通知等の送信及び転送を、OSの起動中に発行されるものから全て対象として行うということが含まれる。データ移行完了時に、移行元及び移行先の両方のボリュームに対して同一の使用用途通知等が発行された状態になっていることを保証するためである。
システム管理者は、この状態で、業務アプリケーション50の処理を再開させる。
(8)システム管理者は、移行元ボリューム10のデータを移行先ボリューム20へ複製させるためのバックグラウンドコピーコマンドを発行する。このバックグラウンドコピーコマンドが発行されることにより、移行管理部30は、業務アプリケーション50の処理と並行して、移行元ボリューム10に格納された全データを、移行先ボリューム20へバックグラウンドコピーする。また、移行管理部30は、移行元ボリューム10のデータが一定の領域ごとに区分けされたデータブロックのうち、どのデータブロックが複製済みであるかが判別可能になるように、ビットマップ30Aに記録する。さらに、バックグラウンドコピー中に、移行元ボリューム10から移行先ボリューム20へ複製済みのデータに対し、業務アプリケーション50により書込要求が発行されたときには、移行管理部30は次のような処理を行う。即ち、書込要求に従って移行元ボリューム10のデータに対して書込(更新)する一方、ビットマップ30Aのビットのうち、書込を行ったデータの属するデータブロックに対応するビットについては、複製が済んでいないものとして記録し直す。そして、移行管理部30は、ビットマップ30Aを参照しつつ、全てのデータブロックに対応するビットが複製済みとなるまでバックグラウンドコピーを続行する。
(9)移行管理部30では、移行元ボリューム10に格納されたデータ全ての移行先ボリューム20へのバックグラウンドコピーが完了したことを条件として、入出力要求の転送設定を自動変更する。具体的には、移行元ボリューム10のデバイスノード10Aへ入出力要求の転送を中止する。これにより、移行先ボリューム20に対して発行される入出力要求が、そのまま移行先ボリューム20のデバイスノード20Aに送信されるようになる。この段階で、データ移行が完了する。
(10)なお、データ移行完了後、システム管理者は、必要に応じて移行元ボリューム10を再利用することができる。また、システム管理者は、OS等において自動的に周辺機器を認識してリソースの割り当て等を行うプラグアンドプレイの仕様に従い,ディスクを動的に取り外すこともできる。
次に、業務アプリケーション50から入出力要求が発行されたときに、移行管理部30において実行される処理内容について、図4に示すフローチャートを用いて説明する。
ステップ1(図ではS1と略記する。以下同様)では、発行された入出力要求の種類をチェックする。
ステップ2では、入出力要求の種類がボリューム内に格納されたデータに対する読出処理又は書込処理の要求であるか否かを判定する。入出力要求がボリューム内に格納されたデータに対する読出処理又は書込処理の要求であるときにはステップ3に進み(Yes)、そうでないときにはステップ6に進む(No)。
ステップ3では、入出力要求の発行先を移行元ボリューム10のデバイスノード10Aに変更し、入出力要求をデバイスノード10に対して転送する。なお、デバイスノード10Aでは、この読出処理又は書込処理の要求に従って、移行元ボリューム10に対し、読出処理又は書込処理を実行する。
ステップ4では、さらに、入出力要求の種類が書込処理の要求であるか否かを判定し、書込処理の要求であれば、ステップ5に進む(Yes)一方、書込処理の要求でなければ、処理を終了する。
ステップ5では、ビットマップ30Aを構成するビットのうち、書込処理の要求があったデータの属するデータブロックに対応するビットに、複製が完了していないことを示す値(以下、未完了値という)を設定する。
ステップ6では、入出力要求の種類がボリューム属性の設定要求であるか否かを判定する。ボリューム属性の設定要求であるときにはステップ7に進み(Yes)、そうでないときにはステップ8に進む(No)。
ステップ7では、入出力要求を、そのまま移行先ボリューム20のデバイスノード20Aに送信する。なお、デバイスノード20Aでは、このボリューム属性の設定要求に従って、移行先ボリューム20に対し、ボリューム属性の設定処理を実行する。
ステップ8では、入出力要求を、移行元ボリューム10のデバイスノード10Aに転送する一方、そのまま移行先ボリューム20のデバイスノード20Aにも送信する。なお、ステップ8の処理を行う条件としては、入出力要求がボリュームの使用用途通知等であった場合が該当する。また、デバイスノード10A及びデバイスノード20Aでは、このボリュームの使用用途通知等の要求に従って、夫々移行元ボリューム10及び移行先ボリューム20に対し、ボリュームの使用用途通知等の処理を実行する。
次に、移行管理部30で実行されるバックグラウンドコピーの処理内容について、図5に示すフローチャートを用いて説明する。なお、この処理は、システム管理者により移行開始コマンドが発行されたときに実行される。
ステップ11では、ビットマップ30Aを参照する。なお、バックグラウンドコピー前は、ビットマップの全てのビットには、未完了値が設定されている。
ステップ12では、ビットマップ30Aに、未完了値のビットが存在するか否かを判定し、存在すれば、ステップ13に進み(Yes)、存在しなければ、処理を終了する。
ステップ13では、未完了値のビットに、複製が完了したことを示す値(以下、完了値という)に設定する。
ステップ14では、移行元ボリューム10のデータブロックのうち、ステップ13で完了値にしたビットに対応するデータブロックのデータを、移行元ボリューム10から移行先ボリューム20へ複製する。そして、ステップ12に戻る。
ここで、ビットマップ30Aを用いたバックグラウンドコピーの処理について具体的に説明する。データ複製前は、ビットマップ30Aの全てのビットに、未完了値である「1」が設定されている。そして、移行管理部30は、移行元ボリューム10のデータブロックを移行先ボリューム20に対して複製し、そのデータブロックに対応するビットを、完了値である「0」に変更する。また、バックグラウンドコピー中に、移行元ボリューム10から移行先ボリューム20へ複製済みのデータ、即ち、ビットマップ30Aのビットが「0」であるデータブロックに属するデータに対し、業務アプリケーション50により書込要求が発行されたときには、そのビットを「1」に戻す。
なお、図6は、ビットマップ30Aと移行元ボリューム10及び移行先ボリューム20との関係を示す図である。図6に示すように、ビットマップ30Aの各ビットは、移行元ボリューム10に格納された各データブロックに対応している。そして、移行元ボリューム10のデータブロックのうち、A及びCに対応するビットは「0」であり、移行先ボリューム20への複製が完了していることを示している。一方、移行先ボリューム20のデータブロックのうち、B及びDに対応するビットは「1」であり、移行先ボリューム20への複製が完了していないことを示している。
かかるデータ移行装置によれば、データの複製中に業務アプリケーション50からデバイスノード20Aに対して発行された入出力要求は、その種類に応じて移行元ボリューム10のデバイスノード10A又は移行先ボリューム20のデバイスノード20Aに振り分けられる。このとき、特に、データの読出処理又は書込処理の要求については、デバイスノード10Aに転送され、移行元ボリューム10に対して読出処理又は書込処理がなされる。このため、データの複製中であっても、読出処理及び書込処理の対象データの複製が済んでいるか否かに関わらず、データの読出及び書込を正確且つ確実に行うことができる。また、データの複製中に書込処理の要求がなされたときには、その書込処理の対象データについては、再度移行先ボリューム20に対して複製がなされる。このため、既に移行先ボリューム20に複製済みのデータに対して書込処理を行っても、移行元ボリューム10及び移行先ボリューム20間においてデータの不整合が生じることがない。したがって、データの複製の開始前に業務アプリケーションによる入出力要求の発行先を移行先ボリュームのデバイスノードへと切替えても、データ移行を正常に実現することができる。そして、システム管理者は、データの複製後に、業務アプリケーションにおける入出力要求の発行先を移行先ボリュームに切替える必要がなく、データの複製の完了を監視する必要がない。
また、このように、システム管理者が、いつ終了するか予測できないデータの複製の完了を監視する必要がないため、コンピュータシステム全体で複数のデータ移行を行う場合であっても、その作業スケジュールを立てることが容易になる。
さらに、業務アプリケーション50から発行された入出力要求が、ボリューム属性の設定要求であるときには、移行元ボリューム10のデバイスノード10Aへの転送は行われず、移行先ボリューム20のデバイスノード20Aにそのまま送信される。一方で、入出力要求が、ボリュームの使用用途の設定要求であるときには、移行元ボリューム10のデバイスノード10Aへの転送が行われるとともに、移行先ボリューム20のデバイスノード20Aにそのまま送信される。このように、入出力要求の種類に応じて、移行元ボリューム10及び移行先ボリューム20において夫々必要な情報のみを送信することで、移行元ボリューム10及び移行先ボリューム20の設定における不整合を回避することができる。
なお、上記実施例においては、業務アプリケーション50により発行される入出力要求の発行先を移行元ボリューム10から移行先ボリューム20に変更する方法として、OSにおけるドライブレター等の割り当てを変更している。しかし、本データ移行機構は、この方法に限らず、例えば、業務アプリケーション50内の設定において、入出力要求の発行先が移行元ボリューム10から移行先ボリューム20になるように変更しても実現可能である。
以上の発明の詳細な説明に関し、更に以下の付記を開示する。
(付記1)第1のストレージから第2のストレージへとデータ移行を行うデータ移行プログラムであって、業務アプリケーションから発行される入出力要求の発行先を、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードに切替えるステップと、前記第2のストレージに対し、前記第1のストレージに格納されたデータを複製するステップと、データの複製中に業務アプリケーションから発行された入出力要求が、少なくともストレージ格納データに対する読込処理又は書込処理の要求であるとき、その入出力要求を前記第1のストレージのデバイスノードに対して転送するステップと、前記第1のストレージのデバイスノードに対して転送された読込処理又は書込処理の要求に従い、前記第1のストレージに対して読込処理又は書込処理を実行するステップと、前記第1のストレージに対して実行された書込処理が、少なくとも前記第1のストレージから前記第2のストレージへと複製済みのデータを対象としているとき、その書込処理の対象データを、前記第1のストレージから前記第2のストレージへと再複製するステップと、前記第2のストレージに対するデータの複製が完了したときに、前記第1のストレージのデバイスノードへの入出力要求の転送を中止するステップと、をコンピュータに実現させることを特徴とするデータ移行プログラム。
(付記2)データの複製中に業務アプリケーションから発行された入出力要求が、ストレージ属性の設定要求であるときには、その入出力要求を前記第2のストレージのデバイスノードに対して送信するステップと、前記第2のストレージのデバイスノードに対して送信されたストレージ属性の設定要求に従い、前記第1のストレージに対してストレージ属性の設定処理を実行するステップと、をさらに含むことを特徴とする付記1記載のデータ移行プログラム。
(付記3)前記第2のストレージのデバイスノードが発行先となった入出力要求が、ストレージ使用用途通知であるときには、その入出力要求を前記第2のストレージのデバイスノードに送信するとともに、前記第1のストレージのデバイスノードに転送するステップと、前記第2のストレージのデバイスノードに対して送信されたストレージ使用用途通知の要求に従い、前記第2のストレージに対してストレージ使用用途通知処理を実行する一方、前記第1のストレージのデバイスノードに対して転送されたストレージ使用用途通知の要求に従い、前記第1のストレージに対してストレージ使用用途通知処理を実行するステップと、をさらに含むことを特徴とする付記1又は付記2に記載のデータ移行プログラム。
(付記4)前記複製するステップは、前記第1のストレージのデータブロックに夫々対応したビットで構成されたビットマップであって各ビットが前記第2のストレージに対するデータの複製が未完了であることを示す未完了値又はデータの複製が完了したことを示す完了値のいずれかを示すビットマップを参照し、そのビットマップを構成する全てのビットが完了値になるまで前記第2のストレージへのデータの複製を行うことを特徴とする付記1〜付記3のいずれか1つに記載のデータ移行プログラム。
(付記5)前記複製するステップは、前記ビットマップのうち、前記第2のストレージへのデータの複製が完了したデータブロックに対応するビットを完了値に変更する一方、前記第1のストレージから前記第2のストレージへと複製済みのデータに対して書込処理を行ったときには、その書込処理の対象データの属するデータブロックに対応するビットを未完了値に変更することを特徴とする付記4記載のデータ移行プログラム。
(付記6)前記切替えるステップは、業務アプリケーションから発行される入出力要求の発行先を示すドライブレター又はマウントポイントに対してオペレーティングシステムにより関連付けられるストレージのデバイスノードを、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードへと切替えることを特徴とする付記1〜付記5のいずれか1つに記載のデータ移行プログラム。
(付記7)前記切替えるステップは、業務アプリケーション内における、入出力要求の発行先の設定を、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードへと切替えることを特徴とする付記1〜付記5のいずれか1つに記載のデータ移行プログラム。
(付記8)第1のストレージから第2のストレージへとデータ移行を行うデータ移行方法であって、業務アプリケーションから発行される入出力要求の発行先を、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードに切替えるステップと、前記第2のストレージに対し、前記第1のストレージに格納されたデータを複製するステップと、データの複製中に業務アプリケーションから発行された入出力要求が、少なくともストレージ格納データに対する読込処理又は書込処理の要求であるとき、その入出力要求を前記第1のストレージのデバイスノードに対して転送するステップと、前記第1のストレージのデバイスノードに対して転送された読込処理又は書込処理の要求に従い、前記第1のストレージに対して読込処理又は書込処理を実行するステップと、前記第1のストレージに対して実行された書込処理が、少なくとも前記第1のストレージから前記第2のストレージへと複製済みのデータを対象としているとき、その書込処理の対象データを、前記第1のストレージから前記第2のストレージへと再複製するステップと、前記第2のストレージに対するデータの複製が完了したときに、前記第1のストレージのデバイスノードへの入出力要求の転送を中止するステップと、をコンピュータに実行させることを特徴とするデータ移行方法。
(付記9)第1のストレージから第2のストレージへとデータ移行を行うデータ移行装置であって、業務アプリケーションから発行される入出力要求の発行先を、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードに切替える手段と、前記第2のストレージに対し、前記第1のストレージに格納されたデータを複製する手段と、データの複製中に業務アプリケーションから発行された入出力要求が、少なくともストレージ格納データに対する読込処理又は書込処理の要求であるとき、その入出力要求を前記第1のストレージのデバイスノードに対して転送する手段と、前記第1のストレージのデバイスノードに対して転送された読込処理又は書込処理の要求に従い、前記第1のストレージに対して読込処理又は書込処理を実行する手段と、前記第1のストレージに対して実行された書込処理が、少なくとも前記第1のストレージから前記第2のストレージへと複製済みのデータを対象としているとき、その書込処理の対象データを、前記第1のストレージから前記第2のストレージへと再複製する手段と、前記第2のストレージに対するデータの複製が完了したときに、前記第1のストレージのデバイスノードへの入出力要求の転送を中止する手段と、を含んで構成されたことを特徴とするデータ移行装置。
データ移行装置の全体構成図 データ移行の手順の説明図 OSによるドライブレター等の割り当て変更の説明図であって、(A)は割り当て変更前の状態、(B)は割り当て変更後の状態を示す。 移行管理部による入出力要求受信時の処理のフローチャート 移行管理部によるバックグラウンドコピーの処理のフローチャート ビットマップの説明図
符号の説明
10 移行元ボリューム
10A フィルタドライバ
10B デバイスノード
20 移行先ボリューム
20A フィルタドライバ
20B デバイスノード
30 移行管理部
30A ビットマップ
40 レジストリ
50 業務アプリケーション

Claims (6)

  1. 第1のストレージから第2のストレージへとデータ移行を行うデータ移行プログラムであって、
    業務アプリケーションから発行される入出力要求の発行先を、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードに切替えるステップと、
    前記第2のストレージに対し、前記第1のストレージに格納されたデータを複製するステップと、
    データの複製中に業務アプリケーションから発行された入出力要求が、少なくともストレージ格納データに対する読込処理又は書込処理の要求であるとき、その入出力要求を前記第1のストレージのデバイスノードに対して転送するステップと、
    前記第1のストレージのデバイスノードに対して転送された読込処理又は書込処理の要求に従い、前記第1のストレージに対して読込処理又は書込処理を実行するステップと、
    前記第1のストレージに対して実行された書込処理が、少なくとも前記第1のストレージから前記第2のストレージへと複製済みのデータを対象としているとき、その書込処理の対象データを、前記第1のストレージから前記第2のストレージへと再複製するステップと、
    前記第2のストレージに対するデータの複製が完了したときに、前記第1のストレージのデバイスノードへの入出力要求の転送を中止するステップと、
    をコンピュータに実現させることを特徴とするデータ移行プログラム。
  2. データの複製中に業務アプリケーションから発行された入出力要求が、ストレージ属性の設定要求であるときには、その入出力要求を前記第2のストレージのデバイスノードに対して送信するステップと、
    前記第2のストレージのデバイスノードに対して送信されたストレージ属性の設定要求に従い、前記第1のストレージに対してストレージ属性の設定処理を実行するステップと、
    をさらに含むことを特徴とする請求項1記載のデータ移行プログラム。
  3. 前記複製するステップは、前記第1のストレージのデータブロックに夫々対応したビットで構成されたビットマップであって各ビットが前記第2のストレージに対するデータの複製が未完了であることを示す未完了値又はデータの複製が完了したことを示す完了値のいずれかを示すビットマップを参照し、そのビットマップを構成する全てのビットが完了値になるまで前記第2のストレージへのデータの複製を行うことを特徴とする請求項1又は請求項2に記載のデータ移行プログラム。
  4. 前記切替えるステップは、業務アプリケーションから発行される入出力要求の発行先を示すドライブレター又はマウントポイントに対してオペレーティングシステムにより関連付けられるストレージのデバイスノードを、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードへと切替えることを特徴とする請求項1〜請求項3のいずれか1つに記載のデータ移行プログラム。
  5. 第1のストレージから第2のストレージへとデータ移行を行うデータ移行方法であって、
    業務アプリケーションから発行される入出力要求の発行先を、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードに切替えるステップと、
    前記第2のストレージに対し、前記第1のストレージに格納されたデータを複製するステップと、
    データの複製中に業務アプリケーションから発行された入出力要求が、少なくともストレージ格納データに対する読込処理又は書込処理の要求であるとき、その入出力要求を前記第1のストレージのデバイスノードに対して転送するステップと、
    前記第1のストレージのデバイスノードに対して転送された読込処理又は書込処理の要求に従い、前記第1のストレージに対して読込処理又は書込処理を実行するステップと、
    前記第1のストレージに対して実行された書込処理が、少なくとも前記第1のストレージから前記第2のストレージへと複製済みのデータを対象としているとき、その書込処理の対象データを、前記第1のストレージから前記第2のストレージへと再複製するステップと、
    前記第2のストレージに対するデータの複製が完了したときに、前記第1のストレージのデバイスノードへの入出力要求の転送を中止するステップと、
    をコンピュータに実行させることを特徴とするデータ移行方法。
  6. 第1のストレージから第2のストレージへとデータ移行を行うデータ移行装置であって、
    業務アプリケーションから発行される入出力要求の発行先を、前記第1のストレージのデバイスノードから前記第2のストレージのデバイスノードに切替える手段と、
    前記第2のストレージに対し、前記第1のストレージに格納されたデータを複製する手段と、
    データの複製中に業務アプリケーションから発行された入出力要求が、少なくともストレージ格納データに対する読込処理又は書込処理の要求であるとき、その入出力要求を前記第1のストレージのデバイスノードに対して転送する手段と、
    前記第1のストレージのデバイスノードに対して転送された読込処理又は書込処理の要求に従い、前記第1のストレージに対して読込処理又は書込処理を実行する手段と、
    前記第1のストレージに対して実行された書込処理が、少なくとも前記第1のストレージから前記第2のストレージへと複製済みのデータを対象としているとき、その書込処理の対象データを、前記第1のストレージから前記第2のストレージへと再複製する手段と、
    前記第2のストレージに対するデータの複製が完了したときに、前記第1のストレージのデバイスノードへの入出力要求の転送を中止する手段と、
    を含んで構成されたことを特徴とするデータ移行装置。
JP2008298197A 2008-11-21 2008-11-21 データ移行プログラム,データ移行方法及びデータ移行装置 Withdrawn JP2010123055A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008298197A JP2010123055A (ja) 2008-11-21 2008-11-21 データ移行プログラム,データ移行方法及びデータ移行装置
US12/619,650 US20100131728A1 (en) 2008-11-21 2009-11-16 Computer-readable recording medium storing data migration program, data migration method, and data migration apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008298197A JP2010123055A (ja) 2008-11-21 2008-11-21 データ移行プログラム,データ移行方法及びデータ移行装置

Publications (1)

Publication Number Publication Date
JP2010123055A true JP2010123055A (ja) 2010-06-03

Family

ID=42197439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008298197A Withdrawn JP2010123055A (ja) 2008-11-21 2008-11-21 データ移行プログラム,データ移行方法及びデータ移行装置

Country Status (2)

Country Link
US (1) US20100131728A1 (ja)
JP (1) JP2010123055A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192269A (ja) * 2010-02-18 2011-09-29 Fujitsu Ltd ストレージ装置およびストレージシステム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2569710A4 (en) * 2010-05-13 2014-01-22 Hewlett Packard Development Co MIGRATION OF A FILE SYSTEM
CN102073462B (zh) * 2010-11-29 2013-04-17 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
US9329886B2 (en) 2010-12-10 2016-05-03 Amazon Technologies, Inc. Virtual machine morphing for heterogeneous migration environments
US9128942B1 (en) * 2010-12-24 2015-09-08 Netapp, Inc. On-demand operations
US8775753B2 (en) * 2011-01-04 2014-07-08 International Business Machines Corporation Synchronization of logical copy relationships
US8639775B2 (en) * 2011-04-28 2014-01-28 Hitachi, Ltd. Computer system and its management method
US9003149B2 (en) 2011-05-26 2015-04-07 International Business Machines Corporation Transparent file system migration to a new physical location
WO2013123097A1 (en) 2012-02-13 2013-08-22 SkyKick, Inc. Migration project automation, e.g., automated selling, planning, migration and configuration of email systems
US9329990B2 (en) * 2013-01-11 2016-05-03 Micron Technology, Inc. Host controlled enablement of automatic background operations in a memory device
CN104331344A (zh) * 2014-11-11 2015-02-04 浪潮(北京)电子信息产业有限公司 一种数据备份的方法及装置
US11150807B2 (en) * 2015-02-23 2021-10-19 Avago Technologies International Sales Pte. Limited Dynamic storage system configuration
US10970110B1 (en) 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of virtual machine instance migration
US10228969B1 (en) * 2015-06-25 2019-03-12 Amazon Technologies, Inc. Optimistic locking in virtual machine instance migration
CN107133228A (zh) * 2016-02-26 2017-09-05 华为技术有限公司 一种数据重分布的方法及装置
US10761892B2 (en) * 2018-01-10 2020-09-01 Accelstor Technologies Ltd Method and electronic device for executing data reading/writing in volume migration

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065486A (ja) * 2006-09-05 2008-03-21 Hitachi Ltd ストレージシステムおよびそのデータ移行方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192269A (ja) * 2010-02-18 2011-09-29 Fujitsu Ltd ストレージ装置およびストレージシステム

Also Published As

Publication number Publication date
US20100131728A1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
JP2010123055A (ja) データ移行プログラム,データ移行方法及びデータ移行装置
TWI428830B (zh) 將機器轉換至虛擬機器的方法及電腦程式產品
JP4439960B2 (ja) ストレージ装置
JP4949088B2 (ja) 階層型ストレージシステム間でのリモートミラー方式
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
JP5603941B2 (ja) 計算機システム及びデータ移行方法
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
US20120246271A1 (en) Method and system for transferring duplicate files in hierarchical storag management system
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2008108145A (ja) 計算機システム及びこれを用いたデータの管理方法
JP2010097533A (ja) パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化
WO2019061352A1 (zh) 数据加载方法及装置
JP2008152663A (ja) ストレージネットワークの性能管理方法、並びに、その方法を用いた計算機システム及び管理計算機
TWI764694B (zh) 容器化應用程式的管理系統與管理方法
JP3246146B2 (ja) 外部記憶装置のデータ移行方法
JP2016115253A (ja) 情報処理装置、メモリ管理方法およびメモリ管理プログラム
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
CN103885811A (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
JP5284604B2 (ja) 過渡状態情報を格納するための方法、システムおよびコンピュータ・プログラム
JP2006260240A (ja) 計算機システム及び記憶装置とコンピュータ・ソフトウエア並びにデータ移行方法
JP6227771B2 (ja) 論理ボリュームを管理するためのシステム及び方法
JP3315779B2 (ja) ディスク装置間のファイル転送装置およびファイル転送方法
JP2014038551A (ja) データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120207