JP6028415B2 - 仮想サーバ環境のデータ移行制御装置、方法、システム - Google Patents

仮想サーバ環境のデータ移行制御装置、方法、システム Download PDF

Info

Publication number
JP6028415B2
JP6028415B2 JP2012145427A JP2012145427A JP6028415B2 JP 6028415 B2 JP6028415 B2 JP 6028415B2 JP 2012145427 A JP2012145427 A JP 2012145427A JP 2012145427 A JP2012145427 A JP 2012145427A JP 6028415 B2 JP6028415 B2 JP 6028415B2
Authority
JP
Japan
Prior art keywords
block
storage means
data
write access
virtual machine
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.)
Active
Application number
JP2012145427A
Other languages
English (en)
Other versions
JP2014010540A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012145427A priority Critical patent/JP6028415B2/ja
Publication of JP2014010540A publication Critical patent/JP2014010540A/ja
Application granted granted Critical
Publication of JP6028415B2 publication Critical patent/JP6028415B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージに保存された仮想マシン環境を、仮想マシンの停止を回避しつつ他ストレージに移動させるシステム、方法、およびプログラムに関する。
計算機に関する仮想化とは、物理的な計算機である仮想計算機サーバが複数の論理的な仮想計算機を提供することで、ユーザが1個の物理的な計算機を独立した複数の論理的な計算機として利用する手法であり、今日では広く一般に用いられている。仮想計算機はそれぞれ異なる業務を独立して行うことができる。仮想化されたITシステムでは、仮想計算機のOSやアプリケーションは、仮想ディスクにインストールされる場合がある。仮想ディスクとは、仮想計算機からは1個の物理ドライブとして認識され利用されるが、その実体は仮想計算機サーバ等のファイルシステムに保存されたファイルである等、論理的なものとして管理されるものである。多数の仮想ディスクを一括して管理するには、大容量かつ高速な保存メディアである専用のストレージを接続して利用することが適している。ストレージはさらに可用性、バックアップ性などに優れており、重要な基幹業務システムにおいては今日広く用いられている。
ところで、近年のITシステムの大規模化に伴い仮想計算機はますます増える傾向にある。さらに業務にかかるデータ量も同様である。その結果ストレージの容量や速度についてひっ迫が従来よりも発生しやすいという問題がある。ひっ迫したストレージは、高速で大容量なものにリプレース等する必要が生じる。しかしながら一方でデータ量が大きくなることにより、ストレージをリプレース(移行)のために移行元であるストレージから移行先であるストレージにデータをコピーすることに要する時間が年々長くなってきているという問題もある。
ストレージを移行する方法の一つは、そのストレージを利用する仮想計算機等を停止させてデータを一旦静止させてから、ストレージ間でコピーを行う方法が考えられる。すなわち仮想化システムでは、仮想計算機を停止させた後、ストレージにあるデータを新しい移行先のストレージにコピーし、さらに仮想計算機の設定を変更して移行先のストレージを利用するようにして、最後に仮想計算機を再開させることで、移行が完了する。しかし仮想計算機が担う業務が停止するため、重要な基幹システムにおいては業務を停止させずにストレージを移行する技術が求められる。
特開2010‐123055 特許文献1では、業務アプリケーションから送信されるアクセス要求の発行先を、移行元ストレージのデバイスノードから移行先ストレージのデバイスノードに切替える。そして、移行元ストレージのデータを移行先ストレージへと複製する。その一方で、データの複製中に発行された、ストレージ格納データに対する読込処理又は書込処理の要求を、デバイスノードに転送し、移行元ストレージに対して処理を実行する。さらに、移行元ストレージで実行された書込処理の対象データが既に複製済みのときに、その対象データを移行先ストレージへ再複製する。そして、データの複製が完了したときに、デバイスノードへのアクセス要求の転送を中止する。
他にも、従来のデータ移行の制御方法として、移行先ストレージから移行元ストレージにストレージ機能を利用してデータをコピーする制御が存在する。
iStorage DataMigration(http://www.nec.co.jp/products/istorage/product/san/software/dm_m/index.shtml)
しかしながら、これら本技術の実現に必要な追加機能は、移行元と移行先の両方のストレージにそれぞれ要求される。例えば移行元が対応する機能を有さない通常のストレージの場合、本技術を用いてデータ移行することはできず、他の方法がない限り無停止でのデータ移行が不可能である。したがってシステム構築時にこれら本技術に必要な機能を持つストレージが予め採用されている必要がある。
さらに、特許文献1の発明が実現する方式によると、コピー後の新たなデータ書き込みにより双方のストレージ間でデータ不整合の解消が必要である。したがって移行先ストレージが移行元ストレージからデータを再転送する必要があるが、ディスクに書込みを頻繁に行う仮想計算機については頻繁に再転送が発生することになり、データ移行の所要時間が増加する。また無理にコピーを進めてもストレージに余計な負荷がかかり他へ悪影響が起こりうる。
したがって、本発明が解決しようとする課題は、無停止でのストレージ間のデータ移行を実行する際に、移行元に特別な機能を必要であること、再転送が発生すること、およびストレージ間のデータ移行にかかる所要時間が増加することである。
前述した問題を解決するために、データ移行制御システムは、
1または複数の仮想計算機を実行する仮想計算機サーバと、
データを格納するブロックを有する第1記憶手段および第2記憶手段と、
を有するデータ移行制御システムであって、
仮想計算機サーバは、
仮想計算機それぞれによる第1記憶手段のブロックへの書込アクセスの頻度を測定する性能情報管理手段と、仮想計算機による第1記憶手段への書込アクセスを第1記憶手段と第2記憶手段の双方への書込アクセスに変換する書込アクセス制御手段と、
を有し、
第2記憶手段は、
性能情報管理手段の測定結果に基づいてブロックのデータを第2記憶手段のブロックにコピーし、コピー中に書込アクセスの発生によりコンフリクト状態を検出し、コンフリクト状態を検出した場合には再度コピーする、データ移行実行手段を有する。
本発明は、無停止でのストレージ間のデータ移行を実行する際に、移行元には特別な機能を必要とせず再転送の発生を従来よりも少なくし、ストレージ間のデータ移行にかかる所要時間を短縮する効果がある。
第一の理由は、本発明の主機能が移行先ストレージのみにあるためである。第二の理由は、仮想計算機の書込アクセス頻度の計測結果に基づいて、論理ディスクのうち低負荷・低使用頻度の仮想計算機が利用する仮想ディスクを保存する部分の領域から優先して移行するためである。第三の理由は、所要時間がかかる原因であった移行中のデータと競合する書込アクセスが引き起こしたデータ不整合を解消するためのデータ再転送が削減されるためである。
さらに、業務負荷のピークが異なる仮想計算機が複数格納されたストレージの論理ディスクを移行対象とする環境において、仮想計算機のレスポンスを低下させない効果もある。
理由はデータの待ち合わせを行わずストレージ間でデータの再転送を行うからである。

(第1の実施形態)
本発明の第1の実施形態の構成を、図1を用いて説明する。本実施形態におけるデータ移行制御システムは、第1記憶手段100、第2記憶手段200、仮想計算機サーバ400、仮想計算機300、及びネットワーク1を有する。
第1記憶手段は、ホストポート501を有する。
第2記憶手段は、ホストポート502、データ移行実行手段202を有する。
仮想計算機サーバ400は、性能情報管理手段401と書込アクセス制御手段402を有する。
図示しない管理者は、第1記憶手段から第2記憶手段へ、データ移行を指示する。
仮想計算機300は、仮想的なコンピュータであり、仮想デバイスを通じて仮想計算機サーバ400が管理するデバイスに入出力(I/O)をすることができる。仮想計算機300は、仮想ディスクを持ち、この仮想ディスクが有する記憶領域にOSやアプリケーションをインストールし、また業務データ等を保存し、業務を行うことができる。仮想ディスクの実体は例えば通常のファイルである。仮想ディスクは、本実施形態では、以後述べる仮想計算機サーバ400に接続する外部の記憶領域に保持され、仮想デバイスを通じて仮想計算機300からI/Oをされる。仮想ディスクは、仮想計算機サーバ400にとっては通常のファイルと同等に扱うことができるので、コピーや移動や削除の対象となることができる。なお、仮想ディスクは、通常は仮想計算機300に対して1対1に割り当てられ、マウントされ、占有されるものであり、複数の仮想計算機300に同時にマウントされ共有され使用されることはないものとする。即ち仮想計算機が、他の仮想計算機を介して当該他の仮想計算機300aに割り当てられている仮想ディスクを、仮想ネットワークを通じて利用する場合は、当該他の仮想計算機300aが仮想ディスクを利用しているのであって、当該仮想計算機300が仮想ディスクを利用しているわけではない。仮想計算機300は複数個(例えば仮想計算機300から仮想計算機300nまで)存在してもよい。
仮想計算機サーバ400は、仮想計算機300を1個ないし複数個同時に実行することができる機能を持つサーバである。仮想計算機サーバ400はハイパバイザという仮想計算機300を実行するためのソフトウェアを有している。仮想計算機300によるデバイスへのI/Oは原則としてハイパバイザに管理され、ハイパバイザが仮想計算機300に提供する仮想的なハードウェア環境を通じてなされる。したがってこの場合、ハイパバイザが、仮想計算機300に接続されたストレージに保存される仮想ディスクへの、仮想計算機300による読み書きI/Oも仲介する。なお仮想計算機300のI/Oがハイパバイザに管理されない方式も存在する。
性能情報管理手段401は、仮想計算機300による仮想ディスクへの書込アクセス頻度(書込アクセス回数/秒、I/O頻度ともいう)を、仮想計算機300ごとに監視、取得する。取得した書き込みアクセス頻度の情報は、リクエストに応じて提供される。図2に一例を示す。表401aは仮想計算機300ごとの書込アクセスの頻度を表している。ここで得られる情報は、後述する優先度管理テーブル203において、書込アクセス回数/秒が小さい順にその仮想計算機300の優先度を高く設定するために用いられる。
書込アクセス制御手段402は、仮想計算機サーバ400にストレージである記憶手段が複数接続されていた場合に、その中から指定された記憶手段について、仮想計算機300による当該一の記憶手段への書込アクセスを、当該一及び他の記憶手段の双方、又は他の記憶手段のみのいずれかの書込アクセスに変換する。当該一の記憶手段の書込みが行われたブロックに対応する他の記憶手段のブロックを特定するため、本実施形態では、記憶手段はそれぞれ同じサイズの論理ボリュームを有する。あるいは記憶手段間のブロック対応関係を示す表を別に有し、適宜参照できるようにしてもよい。
本手段の目的の一つは、移行完了後のブロックのデータ一貫性の維持である。つまり本手段は、移行元と移行先の双方の記憶手段のデータが両方とも同じように更新されるように、移行元への書込みを移行元と移行先の双方の書込みに変換ためのものとして機能する。すなわち、本願において、仮想計算機300による第1記憶手段100への書込アクセスは、第1記憶手段100にあるブロックに対して任意データを当該ブロックの任意の位置に上書きするとともに、その任意データを移行先の記憶手段の当該ブロックに対応するブロックの同位置に上書きする。両方の記憶手段から書き込み完了が返却されたことを確認して仮想計算機300へ書き込み成功を返却する。いったんコピーが終わった移行元と移行先のブロックは、それぞれのブロックに同一データが書き込まれ一貫性が維持される。移行が完了したブロックについては以後データの再転送は不要となり性能向上に寄与する。
本手段のもう一つの目的は、すべてのブロックについてコピー完了後の記憶手段の切り替えである。すなわち移行完了前は移行元と移行先の双方に書込アクセスをし、移行完了後は移行先の記憶手段にのみ書込アクセスをする。そして移行元の記憶手段には書込アクセスがなされないので取り外してもよい(IOエラーにならない)ことになる。これにより、移行を完全に完了させることができる。
第1記憶手段100と第2記憶手段200はそれぞれ、記憶媒体を有する、いわゆるストレージである。各記憶手段はそれが有する記憶領域を、より小さな論理ディスク101、201を単位として論理的に分割されている。論理ディスク101、201は各々ブロックに細分化され、ブロック単位でデータを保存管理する。ブロックはすべて同一サイズの固定長である。ブロックにはアドレスが付与されている。さらに、第1記憶手段100と第2記憶手段200はそれぞれ1つ以上のFC(Fibre Channel)等を接続するホストポート501、502を有しており、このホストポート501、502を通じてコンピュータ等は前述のブロックのデータにアクセス(読み取り、書き込み)をすることができる。記憶媒体は、ハードディスクに限られず、例えばSSDなどであってもよい。本実施形態では、第1記憶手段100と第2記憶手段200は仮想計算機サーバ400に接続され、仮想計算機300の有する仮想ディスクは第1記憶手段100の論理ディスク101に保存されている。
(第2の実施形態)
本発明の第2の実施形態の構成を、図3を用いて説明する。本実施形態におけるデータ移行制御システムは、第1記憶手段100、第2記憶手段200、仮想計算機サーバ400、仮想計算機300、データ移行制御手段320、及びネットワーク1を有する。
第1記憶手段は、ホストポート501を有する。
第2記憶手段は、ホストポート502、データ移行実行手段202、優先度管理テーブル203、データ移行ペア管理テーブル204、データ移行差分マップ205、を有する。
仮想計算機サーバ400は、性能情報管理手段401と書込アクセス制御手段402を有する。
図示しない管理者は、第1記憶手段100から第2記憶手段200へ、データ移行を指示する。
データ移行実行手段202は、優先度管理テーブル203の示す優先度が高い仮想計算機300から順番に、その仮想計算機300が占有する仮想ディスクが有するブロックを、データ移行ペア管理テーブル204が示す移行先の記憶装置にコピーする。同一の仮想ディスクが占有する複数のブロック間に優先順位はないが、後述のデータ移行差分マップ205により、未コピーのものがコピーされる。さらにブロックのコピー中にそのブロックに書込アクセスの発生があった時はそのブロックについてコンフリクトである旨を検出し、データ移行差分マップ205におけるそのブロックの状態を「CONFLICT」にし、以後適切にデータを再コピーされるようにする。再コピーが必要になる理由は、コピーは移行元の記憶手段のブロックからデータを読み取ってバッファに一時記憶しそれを移行先の記憶手段のブロックに書込むことから構成されるので、コピーの最中にストレージの外部から書込アクセスがあるとコピーバッファにあるデータが古くなってしまうためである。なおコピーは記憶手段に備わるホストポート501、502を介して直接行われるようにしてもよい。この場合仮想計算機サーバ400がデータ移行のためのデータ読み書きをしないので、当該サーバがボトルネックになることは無く、スループットが向上することが考えられる。
データ移行ペア管理テーブル204は、移行元である第1記憶手段100のブロック毎に、そのアドレスのブロックを占有する仮想ディスクを使用する仮想計算機と、データ移行の開始が設定された後においては移行元と移行先それぞれの記憶手段及び論理ディスクと、及び移行の開始を示す移行フラグとをそれぞれ有する。移行フラグは移行対象であるか否かを示す。
データ移行差分マップ205は、ブロック毎に、前述のデータ移行実行手段202がコピーを完了させたか否か、あるいはコピーを完了したがデータが不一致であるか否かを示す状態を保持する領域である。データ移行実行手段202はこの領域を参照し、移行が開始してないか、あるいはデータが不一致であるブロックを、前述の順序に従いコピーする。データ移行差分マップ205はデータ移行ペア管理テーブル204の生成後に、移行の対象であるブロックを列挙することにより生成される。図4の表205aに初期状態を例示する。ブロックはアドレス0X00000000から0XFFFFF000まであり、各アドレスがブロックを参照する。ブロックはその移行のステージごとに状態が決定し、本テーブルでブロック毎に管理されている。図5はブロックの状態遷移を表す。NULLは移行が開始していない状態を表し、移行対象である場合にはコピーを要する。MIGRATINGはコピーが開始し、まだ完了していないことを表す。READYはコピーが完了し、そのブロックは移行が完了したことを表す。CONFLICTはコピーの最中にストレージの外部から書込アクセスがあり、コピーバッファにあるデータが古くなってしまったから再転送を要することを意味する。ブロックの初期状態はNULLである。コピーが始まるとMIGRATINGに移行する。仮想計算機300からの書込アクセスがなければデータ移行が完了した状態であるREADYに遷移する。MIGRATINGの状態で仮想計算機300から書込アクセスが発生した場合、データの整合性を確保するため、CONFLICTに遷移する。CONFLICTの状態で再度データ移行のデータ転送を行った場合MIGRATINGの状態に遷移し、ゲストOSからの書込アクセスがなければデータ移行が完了した状態であるREADYに遷移する。データ移行が行われていない状態であるNULLの領域に書込アクセスが書き込まれた場合、書込アクセス制御手段402により移行元と移行先のデータが一致したかのように思え状態をREADYにしてもよさそうであるが、本実施形態ではREADYには移行させない。なぜならば、書き込んだデータのサイズが、1つのマップアドレスであらわされるブロックのサイズよりも小さいと未書込みの領域が残存しておりその部分においてはコピーが必要だからである。
優先度管理テーブル203は前述の性能情報管理手段401が、仮想計算機300ごとに計測した書込アクセス頻度に基づいて、その値が小さい仮想計算機300の優先順位が高くなるように設定されている。図6の表203a一例を示す。優先度管理テーブル203は、例えば外部からの要求に応じてテーブルの内容を更新してもよいし、一定時間間隔で前述の計測を行わせ、それに基づいて自身のテーブルを更新するようにしてもよい。計測は例えば短い場合は1秒間隔や、0.1秒間隔であってもよいし、長い場合は1時間間隔や1日間隔であってもよい。計測結果は、記憶手段毎や論理ディスク毎にさらに分類されていてもよい。管理者は、計測の負荷、仮想計算機300の数、書込アクセス頻度の変動が発生する頻度等に応じて、適切な間隔を選択すべきであり、これにより本願発明の実施をより適した形で実施できるようになる。
データ移行制御手段320は、データ移行の開始を本システムの管理者から受け付けるために設けられたインタフェース、及び開始に付随する初期化等を各手段に行わせることを担当する。データ移行制御手段320がデータ移行の開始を受け付けると、データ移行差分マップ205の生成、更新等をし、データ移行実行手段202にデータ移行開始を指示する。
データ移行制御手段320の動作について、図8のフローチャートS100を用いて説明する。
管理者は、移行元と移行先を指定し、データ移行制御手段320にデータ移行の開始を指示する(S100)。本実施形態において、移行元と移行先は管理者が決定する。本実施形態では移行元は第1記憶手段100、移行先は第2記憶手段200である。第1記憶手段100の対象となる論理ディスクは1、第2記憶手段200の対象となる論理ディスクは3である。管理者は、本ステップの実施を、図示しない指示画面を介して行ってもよいし、コマンドを入力することにより実施してもよい。本実施形態において、移行元と移行先に指定された論理ディスクは、同一のブロックサイズ、同一のブロック数とされているものとする。また、仮想計算機300の停止や、記憶手段の特別なモード切替は本実施形態において必須ではない。したがってその仮想計算機300と記憶手段により実現される業務の停止も原則として発生しない。但し、後に述べる再転送の多発が懸念される場合には、好適な時間帯、すなわち業務負荷が低く、記憶手段への単位時間当たりの書込アクセス回数が少ない時間帯を選択する方が、再転送の回数を減少させる効果が得られて移行の所要時間短縮などで利点がある場合がある。
データ移行制御手段320はデータ移行ペア管理テーブル204を生成する(S101)。図7の表204aを参照して生成方法について説明する。移行の対象となる第1記憶手段100のブロック毎に、そのブロックに格納される仮想ディスクと、それを使用する仮想計算機300を特定する。仮想計算機300は、移行元仮想計算機の列に格納される。なお、値がマイナス(−)になっているのは、そのブロックに仮想ディスクが格納されていないことを示す。例えば仮想ディスクではないデータが格納されているときは、値がマイナスであってもコピーするようにしてもよいし、またデータは格納されていないときはコピーしないようにしてもよい。さらに、データ移行対象の移行フラグを1に変更し、移行対象であることをこの表を参照するものが認識しうる状態にする。さらにデータ移行制御手段320は、移行の対象であるブロックを列挙することによりデータ移行差分マップ205も生成する。データ移行差分マップ205のすべてのブロックの状態はNULLであるとする。
データ移行実行手段202は、データ移行ペア管理テーブル204を参照し、どの記憶手段のどの論理ディスクに対して、仮想計算機300からの書込アクセスを行えばいいかを特定し、その特定結果に基づき書込アクセス制御手段402を動作させる(S102)。本願においては、仮想計算機300から第1記憶手段100への書込アクセスを、第2記憶手段200における対応するブロックに対しても同様に行い、第1記憶手段100と第2記憶手段200の間の、移行が完了しているブロックのデータの一貫性を維持させる。
データ移行実行手段202は、優先度管理テーブル203を参照し仮想計算機300のデータ移行の優先度を取得し、優先度の高い順に仮想計算機300を特定する(S103)。優先度管理テーブル203は、例えば外部から参照されたときに更新されるようにしてもよいし、例えば一定時間間隔で更新されるようにしてもよい。いずれにしても、書込アクセス頻度の計測結果に基づく優先度が各仮想計算機300に与えられるので、データ移行実行手段202はそれを取得する。図7の例において「仮想計算機5」の書込アクセス頻度がもっとも低く、これにより優先度が最も高い。
データ移行実行手段202は、データ移行ペア管理テーブル204に基づき、S103で特定した仮想計算機300が利用する仮想ディスクが格納されているブロック群の一覧を取得し、データ移行差分マップ205を参照して前述のブロック群の中からさらに移行をすべきブロックを任意の数だけ選択し、選択結果に基づいて同マップを更新する(S104)。移行すべきブロックとは、仮想計算機300が利用する仮想ディスクが格納されたブロック群のなかで、データ移行差分マップ205における状態がNULLまたはCONFLICTのブロックである。NULLとはコピーがまだなされてない状態を意味する。CONFLICTのブロックは前回のコピーにより再転送が必要となった状態を意味する。なお、記憶手段の性能や、仮想計算機300による書込アクセスの頻度によっては、一度に複数のブロックを選択するようにしてもよい。そして、同マップにおけるそれらブロックの状態を、MIGRATINGに変更する。なお一度に複数のブロックをMIGRATINGにすれば、処理の効率は向上するが、一方で仮想計算機300による書込アクセスを拾いやすくなり、再転送を要するブロックの発生頻度が高くなると考えられる。状態の変更により、同ブロックは移行中であることを示す。図7の例において、「仮想計算機5」の占有するのは「0X2F000000」以降の領域であるので、データ移行差分マップ205における対応するブロックの状態を参照し、NULLまたはCONFLICTのブロックを任意の数だけ選択し、MIGRATINGに遷移させる。
データ移行実行手段202は、前のステップでMIGRATING状態に遷移したブロックについてデータ移行ペア管理テーブル204に基づきデータをコピーする。コピーは具体的には、データ移行実行手段202が一旦コピー対象のブロックのデータを読み取り、図示しないバッファに蓄積し、その後移行先の対応するブロックに対してそのバッファに蓄積したデータを書込むことで行われる。
データ移行実行手段202は、コピー中のそのブロックに仮想計算機300からの書込アクセスがされたかどうかをチェックする。具体的な方法は記憶手段のアーキテクチャにより決定するがその方法の一例を挙げれば、データ移行実行手段202がコピーを試みる際データ移行差分マップ205において状態をMIGRATINGに変更したブロックのアドレスを、メモリ上若しくはレジスタ上のチェック用の変数領域に、コピーが完了するまで保持させ、仮想計算機300からの書込アクセスによりデータとともに書込先のアドレスを受け取ったコントローラは、保持している変数の値と比較し、両者が一致した場合はデータ移行実行手段202に対しそのブロックが「CONFLICT」となった旨を検出し通知するようにしてもよい。CONFLICT状態になったために転送されることになったブロックのコピー中に書込アクセスが発生した場合にもそれは同様に検出される。
データ移行実行手段202は、そのブロックのコピーが完了するまでにそのブロックに対して書込アクセスが検出されなかった場合(S106の結果がYESの場合)は、データ移行差分マップ205の状態をREADYに変更する。これによりそのブロックは移行が完了する。以後書込アクセスがあっても、書込アクセス制御手段402により、第1記憶手段100と第2記憶手段200には同一のデータが書き込まれることになるので、これ以上のコピーは不要である。
データ移行実行手段202は、そのブロックのコピーが完了するまでにそのブロックに対して書込アクセスが検出された場合(S106の結果がNOの場合)は、データ移行差分マップ205の状態をCONFLICTに変更する。CONFLICTとはすなわち第1記憶手段100と第2記憶手段200の間にデータの不一致が発生した恐れがあることを意味する。実際にデータが不一致となったか否かを確認するまでもなく、データ移行実行手段202は再転送を要すると判断する。
その後、フローはS103に戻る。但し、優先度管理テーブル203が一定時間で更新されるようになっている場合、かつ前回そのテーブルを参照していからその一定時間が経過していないときには、フローはS104に戻る。
データ移行実行手段202は、データ移行差分マップ205を参照し、データ移行差分マップ205の移行状態がすべてREADYであるか否かを確認する。確認の方法としては、すべてのブロックの数を状態毎にカウントする方法の他、状態毎にその状態に該当するブロックの数を管理する変数をマップとは別に設けてデータ移行差分マップ205に対する書込みがなされた際にその関数の呼び出しに伴いカウントを増減させるようにしてもよい。
データ移行差分マップ205の状態がすべてREADYであれば(S109がYES)、 データ移行実行手段202は、データ移行制御手段320に対してデータ移行の完了通知をする(S110)。これにより第1記憶手段100から第2記憶手段200への、仮想計算機300の動作を停止させることなく、指示された論理ディスク101のデータの移行が完了する。データ移行差分マップ205の状態がすべてREADYでない場合(S109がNO)、残りのブロックについてコピーが必要であるので、S103に戻ってデータ移行差分マップ205がすべてREADYになるまで繰り返す。なお優先度管理テーブル203が更新されていない場合には優先度を再度取得する利益がないのでその場合にはS104に戻るようにしても構わない。
(第2の実施形態による効果)
本実施形態により、管理者は、業務負荷のピークが異なる仮想計算機300が複数格納されたストレージの論理ディスクを移行対象とする環境において、仮想計算機300のレスポンスを低下させず、かつ移行の所要時間を短縮させることができる。仮想計算機300の書込アクセス頻度を計測結果に基づいて、低頻度の仮想計算機300が利用する仮想ディスクが割り当てられた領域から優先して移行することで、移行中のデータと競合する書込アクセスが引き起こしたデータ不整合を解消するためのデータ再転送を削減することができるからである。
さらに、本実施形態は第2記憶手段200と仮想計算機サーバ400にのみ特殊な機能を有し、第1記憶手段100に特別な機能を必要としない。その理由は、仮想計算機サーバ400が書込アクセス制御手段402を有し、データ転送中の競合(CONFLICT)の検出が第2記憶手段200で検出可能になったからである。この効果により予め移行機能を備えた第1記憶手段100を導入していないシステムにおいても、仮想計算機300を停止させずにストレージの移行をすることが可能となる。
(第3の実施形態)
本発明の第2の実施形態は、第1の実施形態のすべての構成を引き継ぐ。異なる点は、書込アクセス制御手段402はさらに、データ移行実行手段202がブロックのデータのコピーが開始して所定の時間、仮想計算機300の当該ブロックへの書込アクセスを遅延させることを特徴とする。本実施形態においても、優先度管理テーブル203により書込アクセスの少ない仮想計算機300の有する仮想ディスクに対応するブロックから優先して移行を実施することについても共通している。しかしながら最も書込アクセスの少ない仮想計算機300においても頻繁に書込アクセスが発生している状況を想定すると、データの再転送が頻発してしまうおそれがある。そこで仮想計算機300の書込アクセスを遅延させることでデータ移行差分マップ205におけるCONFLICT状態になるブロックの発生を抑える必要が生じる。
この問題点に対し書込アクセス制御手段402は、仮想計算機300からの書込アクセスの要求があった際には、即座に記憶手段に書込アクセスを行わずに任意の時間ウェイトをし、実際に記憶手段に書込アクセスを実施することを内部で遅らせる。これにより書込アクセス回数/秒が低下し、コンフリクトの可能性が低減することにより、再転送の機会が減少することが期待できる。ストレージの応答が遅延することに起因するアプリケーションの応答遅延が発生するため、遅延量は適切な量に設定しなければならない点に留意が必要である。
結果として再転送の頻度が低下し記憶手段同士の不要な転送を抑えられる。そしてストレージの負荷が軽減できることで、一定の条件が整ったときには全体としてサービスレベルが低下することのトレードオフで、所要時間の短縮が図れることになる。なお遅延は一定時間であってもよいし、あるいは移行によるコピーが完了するまで遅延させるようにしてもよい。遅延を挿入する時間帯があらかじめ決められていてもよいし、VMへの処理リクエストの多寡に基づいて決められてもよい。
(第3の実施形態による効果)
本実施形態により、仮想計算機300の書込アクセスが一向に下がらない環境においても、本発明をより強制的に効率よく実施することができる。仮想計算機300の書込アクセスを遅延させることにより、移行中のブロックへの書込が発生しにくくなり、競合(CONFLICT)発生による再転送の頻度をより少なくすることができ、再転送のための記憶装置間のデータ転送が減ることになるためである。
第1の実施形態における構成の概略図である。 性能情報管理手段の具体例である。 第2の実施形態における構成の概略図である。 データ移行差分マップの具体例である。 データ移行差分マップにおける状態遷移を示す図である。 優先度管理テーブルの具体例である。 データ移行ペア管理テーブルの具体例である。 処理の流れを示すフローチャートである。
1 ネットワーク
100 第1記憶手段
101 論理ディスク
102 仮想ディスク
200 第2記憶手段
201 論理ディスク
202 データ移行実行手段
203 優先度管理テーブル
204 データ移行ペア管理テーブル
205 データ移行差分マップ
300 仮想計算機
320 データ移行制御手段
400 仮想計算機サーバ
401 性能情報管理手段
402 書込アクセス制御手段
501 ホストポート
502 ホストポート

Claims (6)

  1. 1または複数の仮想計算機を実行する仮想計算機サーバと、
    データを格納するブロックを有する第1記憶手段および第2記憶手段と、
    を有するデータ移行制御システムであって、
    仮想計算機サーバは、
    前記仮想計算機それぞれによる前記第1記憶手段の前記ブロックへの書込アクセスの頻度を測定する性能情報管理手段と、前記仮想計算機による前記第1記憶手段への書込アクセスを前記第1記憶手段と前記第2記憶手段の双方への書込アクセスに変換する書込アクセス制御手段とを有し、
    前記第2記憶手段は、
    前記性能情報管理手段の測定結果が相対的に小さい前記仮想計算機が利用する仮想ディスクが有する前記ブロックから優先して、前記ブロックのデータを前記第2記憶手段の前記ブロックにコピーし、コピー中に書込アクセスの発生によりコンフリクト状態を検出し、前記コンフリクト状態を検出した場合には再度コピーするデータ移行実行手段を有する、
    データ移行制御システム
  2. 前記書込アクセス制御手段はさらに、前記データ移行実行手段が前記ブロックのコピーを完了した以降は前記仮想計算機による前記第1記憶手段への書込アクセスを前記第2記憶手段へのアクセスに変換する、
    請求項記載のデータ移行制御システム
  3. 前記書込アクセス制御手段はさらに、前記データ移行実行手段が前記ブロックのデータのコピーが開始して所定の時間、前記仮想計算機の該ブロックへの書込アクセスを遅延させることを特徴とする、
    請求項1または2記載のデータ移行制御システム。
  4. 前記仮想計算機が利用する仮想ディスクは、前記仮想計算機が占有する仮想ディスクであることを特徴とする、
    請求項1ないし3のいずれか1項記載のデータ移行制御システム。
  5. 1または複数の仮想計算機を実行する仮想計算機サーバが、
    前記仮想計算機それぞれによる第1記憶手段のブロックへの書込アクセスの頻度を測定し、前記仮想計算機による前記第1記憶手段への書込アクセスを前記第1記憶手段と第2記憶手段の双方への書込アクセスに変換し、
    前記第2記憶手段が、
    性能情報管理手段の測定結果が相対的に小さい前記仮想計算機が利用する仮想ディスクが有する前記ブロックから優先して、前記ブロックのデータを前記第2記憶手段の前記ブロックにコピーし、コピー中に書込アクセスの発生によりコンフリクト状態を検出し、前記コンフリクト状態を検出した場合には再度コピーする、
    データ移行制御方法。
  6. 1または複数の仮想計算機を実行する仮想計算機サーバに、
    前記仮想計算機それぞれによる第1記憶手段のブロックへの書込アクセスの頻度を測定させ、前記仮想計算機による前記第1記憶手段への書込アクセスを前記第1記憶手段と第2記憶手段の双方への書込アクセスに変換させ、
    前記第2記憶手段に、
    性能情報管理手段の測定結果が相対的に小さい前記仮想計算機が利用する仮想ディスクが有する前記ブロックから優先して、前記ブロックのデータを前記第2記憶手段の前記ブロックにコピーさせ、コピー中に書込アクセスの発生によりコンフリクト状態を検出させ、前記コンフリクト状態を検出した場合には再度コピーさせる、
    データ移行制御プログラム。
JP2012145427A 2012-06-28 2012-06-28 仮想サーバ環境のデータ移行制御装置、方法、システム Active JP6028415B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012145427A JP6028415B2 (ja) 2012-06-28 2012-06-28 仮想サーバ環境のデータ移行制御装置、方法、システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012145427A JP6028415B2 (ja) 2012-06-28 2012-06-28 仮想サーバ環境のデータ移行制御装置、方法、システム

Publications (2)

Publication Number Publication Date
JP2014010540A JP2014010540A (ja) 2014-01-20
JP6028415B2 true JP6028415B2 (ja) 2016-11-16

Family

ID=50107231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012145427A Active JP6028415B2 (ja) 2012-06-28 2012-06-28 仮想サーバ環境のデータ移行制御装置、方法、システム

Country Status (1)

Country Link
JP (1) JP6028415B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3206335B1 (en) * 2014-11-03 2020-01-08 Huawei Technologies Co. Ltd. Virtual network function instance migration method, device and system
JP6645275B2 (ja) * 2016-03-04 2020-02-14 富士通株式会社 情報処理装置、仮想マシン移動方法、および仮想マシン制御プログラム
US9936019B2 (en) 2016-03-16 2018-04-03 Google Llc Efficient live-migration of remotely accessed data
JP6720744B2 (ja) 2016-07-15 2020-07-08 富士通株式会社 情報処理システム、情報処理装置、及び制御プログラム
US10178173B2 (en) 2016-08-02 2019-01-08 International Business Machines Corporation Cloud service utilization
CN112860188A (zh) * 2021-02-09 2021-05-28 山东英信计算机技术有限公司 一种数据迁移方法、系统、设备以及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316995A (ja) * 2006-05-26 2007-12-06 Hitachi Ltd 記憶システム及びデータ管理方法
JP4326552B2 (ja) * 2006-10-12 2009-09-09 株式会社日立製作所 バックエンドで他のストレージシステムと通信するストレージシステム
JP5116497B2 (ja) * 2008-01-31 2013-01-09 株式会社日立製作所 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法
JP5262404B2 (ja) * 2008-08-04 2013-08-14 株式会社日立製作所 複合型計算機及び複合型計算機の制御方法
JP5079841B2 (ja) * 2010-04-15 2012-11-21 株式会社日立製作所 ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置

Also Published As

Publication number Publication date
JP2014010540A (ja) 2014-01-20

Similar Documents

Publication Publication Date Title
JP5490093B2 (ja) ストレージシステムおよびその制御方法
US9292211B2 (en) Computer system and data migration method
JP5459811B2 (ja) 仮想ストレージ移行のための方法およびシステム、ならびに仮想マシンモニタ
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
JP4884198B2 (ja) ストレージネットワークの性能管理方法、並びに、その方法を用いた計算機システム及び管理計算機
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
WO2014174570A1 (ja) ストレージ管理計算機、ストレージ管理方法、およびストレージシステム
JP2010123055A (ja) データ移行プログラム,データ移行方法及びデータ移行装置
US10782898B2 (en) Data storage system, load rebalancing method thereof and access control method thereof
JP5444104B2 (ja) 記憶手段の管理方法、仮想計算機システムおよびプログラム
JP2016115253A (ja) 情報処理装置、メモリ管理方法およびメモリ管理プログラム
US20150293719A1 (en) Storage Space Processing Method and Apparatus, and Non-Volatile Computer Readable Storage Medium
WO2012063334A1 (ja) 仮想マシンのライブマイグレーションを支援するためのメモリ制御装置及びi/oスイッチ
US7451285B2 (en) Computer systems, management computers and storage system management method
JP6271769B2 (ja) 計算機システム、計算機システムにおけるデータの移行方法
US11675545B2 (en) Distributed storage system and storage control method
JP4719801B2 (ja) デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
JP5027939B1 (ja) 仮想マシンのための仮想ストレージを有するホストサーバ
WO2016088372A1 (ja) アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体
US10992751B1 (en) Selective storage of a dataset on a data storage device that is directly attached to a network switch
JP2004005113A (ja) 複数の実計算機上で動作する仮想計算機システム及びその制御方法
JP6696220B2 (ja) データ移行装置、データ移行システム、方法およびプログラム
JP2021036450A (ja) 記憶システム及びその制御方法
JP2009217700A (ja) ディスクアレイ装置及び物理配置最適化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160610

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: 20160920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161003

R150 Certificate of patent or registration of utility model

Ref document number: 6028415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150