JP2016038841A - 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム - Google Patents

仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム Download PDF

Info

Publication number
JP2016038841A
JP2016038841A JP2014163514A JP2014163514A JP2016038841A JP 2016038841 A JP2016038841 A JP 2016038841A JP 2014163514 A JP2014163514 A JP 2014163514A JP 2014163514 A JP2014163514 A JP 2014163514A JP 2016038841 A JP2016038841 A JP 2016038841A
Authority
JP
Japan
Prior art keywords
computer
data
storage device
sequential access
access volume
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.)
Granted
Application number
JP2014163514A
Other languages
English (en)
Other versions
JP5963324B2 (ja
Inventor
耕一 増田
Koichi Masuda
耕一 増田
勝喜 香取
Katsuki Katori
勝喜 香取
岩崎 礼江
Norie Iwasaki
礼江 岩崎
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014163514A priority Critical patent/JP5963324B2/ja
Priority to US14/819,497 priority patent/US9740427B2/en
Publication of JP2016038841A publication Critical patent/JP2016038841A/ja
Application granted granted Critical
Publication of JP5963324B2 publication Critical patent/JP5963324B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/065Replication mechanisms
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/061Improving I/O performance
    • 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
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Landscapes

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

Abstract

【課題】少なくとも2以上のコンピュータ間で仮想シーケンシャルアクセスボリューム(以下「VSAV」と呼ぶ)のデータをシーケンシャルに迅速かつ簡易にコピーするための方法を提供する。
【解決手段】 本発明の方法は、(a)第1のVSAVの第1データを第1のコンピュータの第1記憶装置に書き込むステップと、(b)第1のVSAVのバージョン情報を更新し、当該更新したバージョン情報と、第1データの書き込み開始位置の情報とを第1記憶装置に保管するステップと、(c)第1データの書き込み開始位置の情報を第2のコンピュータに送信するステップと、(d)第1データを、第2のコンピュータの第2記憶装置に第1データの書き込み開始位置から書き込むステップと、(e)第1のVSAVのバージョン情報を更新し、当該更新したバージョン情報と、受信した第1データの書き込み開始位置情報とを第2記憶装置に保管するステップと、を含む。
【選択図】 図3

Description

本発明は、仮想シーケンシャルアクセスボリュームのデータのコピーに関し、より具体的には、少なくとも2以上のコンピュータ間で、仮想テープボリュームのデータをシーケンシャルにコピーするための方法、システムに関する。
テープドライブのようなシーケンシャル・アクセス・デバイスへのデータ保管を想定して、ランダム・アクセス・デバイスであるハードディイスクドライブ(以下、HDDと呼ぶ)において、仮想テープボリュームとしてデータ(ファイル)を保管する技術が既に開発されている。IBM社の仮想テープサーバ(以下、VTSと呼ぶ)はその技術の1つであり、例えばTS7700と呼ばれるVTSが既に製品化されている。
TS7700では、ランダムアクセス可能なファイルシステム(ディスクキャッシュ、HDD)を仮想化し、シーケンシャルアクセスを行うテープドライブとして、ホストに認識させている。また、現在のTS7700では、一仮想テープボリュームはGPFS(General Parallel File System)上の一ファイルとして管理されている。従って、原則的には、VTSは仮想テープボリュームファイルをシーケンシャルに使用している。
TS7700 は、Grid分散システム(以下、Gridと略す)を組むことにより複数のクラスタ(ノード)間で仮想テープボリュームファイルをコピー(replication)し、データの多重性を保っている。また、コピー機能自身が分散環境に対応できるように実装されており、具体的には、コピーを必要としている各クラスタ(コピーターゲットクラスタ)が、最適なタイミングに、最適なコピー元クラスタ(コピーソースクラスタ)をダイナミックに選択後、実際のコピーが実行される。
このクラスタ間での仮想テープボリュームのデータのコピーにおいて、クラスタ間のネットワーク上を流れるデータ量を軽減するために、仮想テープボリュームに変更(更新)があった場合に、その変更分(差分)のみをコピーすることが考えられる。
例えば、特許文献1では、ソースクラスタで最近にTruncate、Eraseされた場所をRSTテーブルなるもので覚えておき、ターゲットクラスタにおいて以前replicationされた時のRSTテーブルと比較することによって、コピーすべきデータの差分(データの最新の位置)を検知している。
また、特許文献2では、ストレージ装置において、正ディスク制御装置は、キャッシュメモリの第2の領域に格納された副ディスク制御装置に転送すべき更新データに対して、予め設定された第1の基点と第2の基点間の規定時間の間は同一レコードの更新データを上書きし、副ディスク制御装置では、第1の基点と第2の基点間の更新データを一貫性の取れた実データとして扱うことを開示している。
国際公開WO2011/018338 特開2005-275582号公報
特許文献1の技術は、仮想テープボリュームをシミュレートしているファイルの特性、つまりシーケンシャル・アクセス・デバイスとしての特徴を活かすことによってデータの更新部分を特定するものであるが、コピーが途中で失敗した場合、コピーを最初からやり直さなければならない。すなわち、コピーが成功した部分に続けてコピーを行うことはできない。特許文献2の技術は、シーケンシャル・アクセス・デバイスとしての特徴を活かすことによってデータの更新部分を特定するものではない。
本発明の目的は、上記した従来技術の問題を解決あるいは軽減し、例えばHDDのようなランダム・アクセス・デバイスにおいて、例えばテープドライブのようなシーケンシャル・アクセス・デバイスを想定して、仮想シーケンシャルアクセスボリュームのデータをシーケンシャルに迅速かつ簡易にコピーするための方法を提供することである。さらに、そのコピーが途中で失敗した場合においても、コピーを最初からやり直すことなく、コピーが成功した部分に続けてコピーを行うことが可能な方法を提供することを目的とする。
本発明の一態様では、各々が記憶装置を備え、少なくとも1つのホストに通信可能に接続し、かつ相互に通信可能な少なくとも2以上のコンピュータ間で、仮想シーケンシャルアクセスボリュームのデータをコピーするための方法を提供する。その方法は、
(a)第1のコンピュータがホストから受け取った第1の仮想シーケンシャルアクセスボリュームの第1データを第1記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中に書き込むステップと、
(b)第1のコンピュータが、第1記憶装置に保管されている第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、第1データの書き込み開始位置の情報とを第1記憶装置に保管するステップと、
(c)ホストが第2のコンピュータに第1データの書き込み開始位置の情報を送信するステップと、
(d)第2のコンピュータが第1のコンピュータから受け取る第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の第1データの書き込み開始位置から書き込むステップと、
(e)第2のコンピュータが第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、受信した第1データの書き込み開始位置情報とを第2記憶装置に保管するステップと、を含む。
本発明の一態様によれば、仮想シーケンシャルアクセスボリュームのバージョン情報と、仮想シーケンシャルアクセスボリューム中の更新(差分)データの書き込み開始位置の情報とを利用することにより、コピー元のコンピュータの選定と差分データの特定とを簡易かつ迅速に行うことが可能になる。
本発明の他の一態様では、第2のコンピュータが第1のコンピュータから受け取る第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の第1データの書き込み開始位置から書き込むステップ(d)において、第1データの書き込みが途中で中断した場合、第2のコンピュータが、
第1の仮想シーケンシャルアクセスボリューム中の中断した書き込み位置を第2記憶装置に保管するステップと、
第1のコンピュータに中断した書き込み位置以降の第1データの送信を要求するステップと、
第1のコンピュータから受け取る中断した書き込み位置以降の第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の中断した書き込み位置から書き込むステップと、を実行することをさらに含む。
本発明の他の一態様によれば、仮想シーケンシャルアクセスボリューム中の更新(差分)データの書き込みが途中で中断してしまった場合でも、その中断した書き込み位置の情報を保管することにより、後からその中断した書き込み位置以降のデータの書き込み(送信)を再開することが可能となる。
本発明の他の一態様では、仮想シーケンシャルアクセスボリュームのデータをコピーするためのシステムが提供される。そのシステムは、少なくとも1つのホストと、ホストに通信可能に接続し、各々が記憶装置を備え、相互に通信可能な少なくとも2以上のコンピュータ群とを備える。そのシステムにおいて
(a)コンピュータ群中の第1のコンピュータがホストから受け取った第1の仮想シーケンシャルアクセスボリュームの第1データを第1記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中に書き込むステップと、
(b)第1のコンピュータが、第1記憶装置に保管されている第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、第1データの書き込み開始位置の情報とを第1記憶装置に保管するステップと、
(c)ホストがコンピュータ群中の第2のコンピュータに第1データの書き込み開始位置の情報を送信するステップと、
(d)第2のコンピュータが第1のコンピュータから受け取る第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の第1データの書き込み開始位置から書き込むステップと、
(e)第2のコンピュータが第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、受信した第1データの書き込み開始位置情報とを第2記憶装置に保管するステップと、をそれぞれ実行することを含む。
本発明の他の一態様によれば、相互に通信可能な少なくとも2以上のコンピュータ群を備えるシステムにおいて、仮想シーケンシャルアクセスボリュームのバージョン情報と、仮想シーケンシャルアクセスボリューム中の更新(差分)データの書き込み開始位置の情報とを利用することにより、コピー元のコンピュータの選定と差分データの特定とを簡易かつ迅速に行うことが可能になる。
本発明のシステムの構成例を示す図である。 本発明のシステムの構成例を示す図である。 本発明の一実施形態の方法フローを示す図である。 本発明の一実施形態のデータの流れを示す図である。 本発明の一実施形態のデータの流れを示す図である。
図面を参照しながら本発明の実施の形態を説明する。なお、以下の実施形態は、仮想シーケンシャルアクセスボリュームのコピーとして、テープドライブを想定した仮想テープボリュームのコピーを例にとり説明しているが、本発明の方法は、他のシーケンシャル・アクセス・デバイスを想定して、その仮想シーケンシャルアクセスボリュームのコピーを行う場合にも適用できる。図1は、本発明の方法が実施されるシステムの構成例を示す。図1の構成例では、ホスト10にネットワーク50を介して通信可能に接続する2つのコンピュータ21、22を含む。この2つのコンピュータ21、22は最小構成であって、3以上の複数のコンピュータを含むことができる。ホスト10は少なくとも1つのコンピュータに通信可能に接続していればよく、また2以上の任意の数のホストを含むことができる。
各コンピュータは、記憶装置としてHDD31、32を備える。HDD31、32は、コンピュータに内蔵あるいは外付けのいずれの形態であってもよい。記憶装置は、2つのコンピュータ21、22に共用される形態であってもよい。記憶装置は、HDDに限定されず、半導体メモリ等の他の記憶装置(デバイス)を用いることもできる。図1の構成では、各コンピュータはさらにテープドライブ41、42に通信可能に接続する。テープドライブは、コンピュータ毎に備えるのではなく、複数のコンピュータで少なくとも1つ以上のテープドライブを共用できる形態とすることができる。なお、テープドライブの代わりに、あるいはテープドライブと共に、例えば光/光磁気デイスクドライブのような他のシーケンシャル・アクセス・デバイスを利用してもよい。また、テープドライブ等のシーケンシャル・アクセス・デバイスは、本発明にとって必須の要素ではなくこれらを含まない構成とすることもできる。
コンピュータ21、22は、本発明の方法を実行する仮想テープサーバとして機能させるためのソフトウェア(仮想化エンジン)を実装し、そのソフトウェアの実行により本発明の仮想テープボリュームのデータコピーが行われる。すなわち、ソフトウェア(仮想化エンジン)の実行によりコンピュータ21、22は仮想テープサーバとして機能する。
図2は、本発明の方法が実施されるシステムの別の構成例を示す。図2では、ネットワーク52を介して通信可能に接続された複数のクラスタ(1〜N)61〜64間でのデータコピーを想定している。各クラスタは、図1に例示されるような2つ以上の独立したコンピューティング・システム(ノードと呼ばれる)が単一のあるいは複数のディスク・サブシステムに接続された構成を含む。クラスタは、その中には少なくとも1つ以上のホストとして機能するコンピュータ(サーバ)を含むことができる。各クラスタはネットワーク52を介して外部のホストに通信可能に接続することもできる。各クラスタは、より正確には各クラスタ内のコンピュータは、図1の場合と同様にソフトウェア(仮想化エンジン)の実行により仮想テープサーバとして機能することができる。
図3は、本発明の一実施形態の方法フローを示す図である。図3のフローは基本的な方法フローを示している。図3のフローでは、図1の構成をベースにして説明している。この場合、前半のステップS1〜S3まではコンピュータ1において実行され、後半のステップS5〜S7まではコンピュータ2において実行される。なお、図1の構成以外の構成においても、任意に選択されたソースとなるコンピュータとターゲットとなる他のコンピュータとの間で同様なフローが実行される。例えば、図2の構成では、ソースとなるクラスタとターゲットとなる他のクラスタ間で同様に各ステップを実行することができる。
ステップS1において、コンピュータ1がホスト10から受け取った第1の仮想テープボリュームの第1データをHDD1に保管されている第1の仮想テープボリューム中に書き込む。ステップS2において、コンピュータ1が、HDD1に保管されている第1の仮想テープボリュームのバージョン情報を更新する。このバージョン情報の更新の詳細については後述する。なお、順番としてステップS2のバージョン情報の更新をステップS1の実際のデータ書き込みの前に行うこともできる。ステップS3において、コンピュータ1が、更新したバージョン情報と、第1データの書き込み開始位置の情報とをHDD1に保管する。この書き込み開始位置の情報についての詳細は後述する。ステップS4において、ホスト10がコンピュータ2に第1データの書き込み開始位置の情報を送信する。
ステップS5において、コンピュータ2がコンピュータ1から受け取る第1データを、HDD2に保管されている第1の仮想テープボリューム中の受信した第1データの書き込み開始位置から書き込む。ステップS6において、コンピュータ2がHDD2に保管されている第1の仮想テープボリュームのバージョン情報を更新する。このバージョン情報の更新の詳細については後述する。ステップ7において、コンピュータ2が更新したバージョン情報と、受信した第1データの書き込み開始位置情報とをHDD2に保管する。
このように、本発明の方法フローによれば、仮想テープボリュームのバージョン情報と、仮想テープボリューム中の更新(差分)データ(第1データ)の書き込み開始位置の情報とを利用する(逐次保管及び送信して共有する)ことにより、コピー元のコンピュータ(ソース)の選定と書き込むべき差分データの特定とを簡易かつ迅速に行うことが可能になる。
次に、図4と図5を参照しながら図3の基本フローに基づく本発明の一実施形態のデータの流れの詳細について説明する。図4と図5では、図2に例示したクラスタ間でのデータコピーを想定している。図4は、通常のデータコピーのフローであり、図5はデータコピーが途中でキャンセル(中断)されてしまった場合のフローを示している。最初に図4の場合について説明する。
図4では、仮想テープボリュームをLVOL00とし、横矢印の時間軸の一番左でLVOL00が定義(インサート)され、データの更新状況(バージョン情報)を示すdata_levelが100からスタートするとする。copy_required_offsetは、data_level同様にバージョン情報の一つとして管理され、どのoffset以降のデータをコピーする必要があるか、という情報として用いる。copy_required_offsetの初期値は0とする。
TVC(Tape Volume Cache)は、ホストがデータを書き込んだクラスタを示し、この例ではC0であったとする。ホストがLVOL00をマウント(mount)したあと、コピーターゲットCopy tgtであるクラスタC1とC2にコピーされる。また、C0に示してあるupdate_offsetは、そのホストからの書き込みが、どのoffset以降から更新されたかを示す値である。
(1-1):ホストがLVOL00をマウントし、LVOL00のデータの新規な書き込みを開始する。マウント後初めての書き込み(write)がホストから来た時に、exposeと呼ばれる処理が行われ、このexpose処理により、TVCのdata_levelが1上がる。ここでは、C0のLVOL00のdata_levelが100から101に変わる。
(1-2):ホストがデータを書き込む。ここではLVOL00の先頭から100,000バイト書いたとする。
(1-3):ホストがLVOLl00をデマウント(demount)する。デマウント処理の一環として、どのoffsetからデータが書き換わったかをC1とC2に知らせる。この場合、offset 0バイトから書かれたので、C1とC2のcopy_required_offsetは0のままである。
(1-4):ホストが書き込みを完了したので、必要なデータをC1にコピーする。この場合、C1のcopy_required_offset=0なので、必要なデータはLVOL00全体(offset 0から全て)となる。コピー完了後、C1のLVOL00のdata_levelが101に変わる。
(1-5):C2をコピーターゲットCopy tgtとするコピーのコピーソースCopy srcは、C1が選ばれたと仮定する。なお、本発明の方法では、その時々の状況にあわせてコピーソースCopy srcを選択するロジックを持っている。この場合、C2のcopy_required_offset=0なので、必要なデータはLVOL00全体となる。コピー完了後、C2のLVOL00のdata_levelが101に変わる。
(2-1):ホストがLVOL00を再びマウントし、LVOL00のデータの新規な書き込みを開始する。expose処理により、TVC(C0)のdata_levelが102に上がる。
(2-2):ホストがデータを書き込む。ここではLVOLのoffset 98,765バイトからoffset 150,000バイトまでデータを書き込んだとする。この場合、98,765バイトから100,000バイトまでは上書きとなる。
(2-3):ホストがLVOl00をデマウントする。このデマウント処理の一環として、どのoffsetからデータが書き換わったかをC1とC2に知らせる。この場合、offset 98,765バイトからデータが書かれたので、C1とC2のcopy_required_offsetは98,765となる。
(2-4):ホストが書き込みを完了したので、必要なデータをC1にコピーする。この場合、C1のcopy_required_offset=98,765なので、必要なデータはLVOL00の98,765バイト以降全てとなる。コピー完了後、C1のLVOL00のdata_levelが102に変わる。
(2-5):C2をコピーターゲットCopy tgtとするコピーのコピソースCopy srcは、再びC1が選ばれたと仮定する。この場合、C2のcopy_required_offset=98,765なので、必要なデータはLVOL00の98,765バイト以降全てとなる。コピー完了後、C2のLVOL00のdata_levelが102に変わる。
(3-1):ホストがLVOL00を再びマウントし、LVOL00のデータの新規な書き込みを開始する。expose処理により、TVC(C0)のdata_levelが103に上がる。
(3-2):ホストがデータを書き込む。ここではLVOL100のoffset 123,456バイトからoffset 140,000バイトまで書き込んだとする。123,456バイトから140,000バイトまでは上書きとなり、140,000バイトから150,000バイトまでは切り詰められる(データが無くなる)。
(3-3):ホストがLVOl00をデマウントする。デマウント処理の一環として、どのoffsetからデータが書き換わったかをC1とC2に知らせる。この場合、offset 123,456バイトから書かれたので、C1とC2のcopy_required_offsetは123,456となる。
(3-4):ホストが書き込みを完了したので、必要なデータをC1にコピーする。この場合、C1のcopy_required_offset=123,456なので、必要なデータはLVOL00の123,456バイト以降全てとなる。コピー完了後、C1のLVOL00のdata_levelが103に変わる。
(3-5):C2をコピーターゲットCopy tgtとするコピーのコピーソースCopy srcは、今度はC0が選ばれたと仮定する。この場合、C2のcopy_required_offset=123,456なので、必要なデータはLVOL00の123,456バイト以降全てとなる。コピー完了後、C2のLVOL00のdata_levelが103に変わる。
図4に例示した方法フローにより、仮想テープボリュームに対するコピー処理(Incremental replication)が、従来のランダムアクセスファイルシステムにおける差分検知(例えば、Block Allocation Bit mapやHashを用いたデータ比較)に比べて、非常に短い時間で差分を検知し特定することが可能となる。
次に図5の場合について説明する。
ここで、仮想テープボリュームをLVOL00とし、右矢印の時間軸一番左ではC1にはすでにdata_level=101のLVOL00が存在すると仮定する(すでにコピーされていたとする)。図4の場合と同様に、TVC(Tape Volume Cache)は、ホストがデータを書き込んだクラスタを示し、この例ではC0(Cluster 0)であったとする。ホストがLVOL00をデマウントしたあと、コピーターゲットCopy tgtであるC1(Cluster 1)にコピー(replicate)される。
(1-1):ホストがLVOL00をマウント(mount)。LVOL00はすでに存在し、データサイズは100,000バイトであったとする。そして、writeが発生することが判明して、expose処理が行われる。このexpose処理により、TVCのdata_levelが1上がる。ここでは、C0上のLVOL00のdata_levelが101から102に変わる。
(1-2):ホストがデータを書き込む(write)。ここではLVOL100のoffset 98,765バイトからoffset 150,000バイトまで書き込んだとする。98,765バイトから100,000バイトまでは上書きとなる。
(1-3):ホストがLVOl00をデマウント(demount)する。C0(TVC)は更新したオフセット98,765を他のクラスタ(ここではC1)に通知する。
(1-4):ホストが書き込み(write)を完了したので、C1は98,765バイトから先のデータをC0に要求する。C1はC0から受け取った98,765バイトから先のデータのコピーを始める。
(1-5):ここで、コピー中に何らかの理由でコピーがキャンセルされたとする(ネットワークエラー等で途中でコピーが失敗したとしてもよい)。110,000バイトまではコピーが完了していたので、C1上では、copy_required_offsetを110,000に変更する。
(1-6):コピー処理が再度起動されたとする。110,000バイトまではコピーが完了していたので、C1は110,000バイト以降のデータを要求する。C1は受け取ったデータのコピーを行い、全体のコピーを完了する。C1ではdata_levelが102になる。
(2-1):次に、ホストがLVOL00を再びマウント(mount)し、データの更新が行われることが判明する。expose処理により、TVC(C0)のdata_levelが103に上がる。
(2-2):ホストがデータを書き込む(write)。ここではLVOL100のoffset 123,456バイトからoffset 140,000バイトまで書き込んだとする。123,456バイトから140,000バイトまでは上書きとなり、140,000バイトから150,000バイトまでは切り詰められる(データが無くなる)。
(2-3):ホストがLVOl00をデマウウントする。C0(TVC)は更新したoffset 123,456を他のクラスタ(ここではC1)に通知する。
(2-4):ホストが書き込みを完了したので、C1は123,456バイトから先のデータをC0に要求する。C1はC0から受け取った98,765バイトから先のデータのコピーを始める。コピー完了後、C1のLVOL00のdata_levelが103に変わる。
上記した実施形態で説明した本発明は、例えば以下のような作用効果を備える。
(a)ファイル転送中に、何がしかの原因によりコピーが完了しなかった場合の再送においても、差分データはトラッキング(Tracking)可能である。
(b)本発明の方法(アルゴリズム)は、その構成とコピーモードには依存しない。つまり、N対Mの双方向コピーにおいて、TS7700により既に実装している全てのコピーモード(同期コピー(RUN Copy)または 非同期コピー(Deferred Copy)の何れ)においても、実施可能である。ここで、同期コピー(RUN copy)とは、マウント(demount)の際にコピーを完了させるコピーモードを意味し、非同期コピー(Deferred Copy)とは、デマウント(demount)後、適当なタイミングでコピーが行われるコピーモードを意味する。
(c)Data LevelがN世代前分のupdate_offsetの履歴をTVCで覚えておくことによって、N世代前までデータに対するデータの差分copyが可能になる。
本発明の実施形態について、図を参照しながら説明をした。しかし、本発明はこれらの実施形態に限られるものではない。さらに、本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた態様で実施できるものである。
10 ホスト
21、22 コンピュータ
31、32 記憶装置(HDD)
41、42 テープドライブ
50、52 ネートワーク
61、62、63、64 クラスタ

Claims (14)

  1. 各々が記憶装置を備え、少なくとも1つのホストに通信可能に接続し、かつ相互に通信可能な少なくとも2以上のコンピュータ間で、仮想シーケンシャルアクセスボリュームのデータをコピーするための方法であって、
    (a)第1のコンピュータがホストから受け取った第1の仮想シーケンシャルアクセスボリュームの第1データを第1記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリューム中に書き込むステップと、
    (b)前記第1のコンピュータが、前記第1記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、前記第1データの書き込み開始位置の情報とを前記第1記憶装置に保管するステップと、
    (c)前記ホストが第2のコンピュータに前記第1データの書き込み開始位置の情報を送信するステップと、
    (d)前記第2のコンピュータが前記第1のコンピュータから受け取る前記第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップと、
    (e)前記第2のコンピュータが前記第2記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、受信した前記第1データの書き込み開始位置情報とを第2記憶装置に保管するステップと、を含む方法。
  2. (f)前記ホストが前記第2のコンピュータ以外の他のコンピュータに前記第1データの書き込み開始位置の情報を送信するステップと、
    (g)前記他のコンピュータが前記第1のコンピュータまたは前記第2のコンピュータから受け取る前記第1データを、第3記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップと、
    (h)前記他のコンピュータが前記第3記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、受信した前記第1データの書き込み開始位置情報とを第3記憶装置に保管するステップと、をさらに含む請求項1に記載の方法。
  3. 前記第2のコンピュータが前記第1のコンピュータから受け取る前記第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップ(d)において、前記第1データの書き込みが途中で中断した場合、前記第2のコンピュータが、
    前記第1の仮想テープボリューム中の前記中断した書き込み位置を前記第2記憶装置に保管するステップと、
    前記第1のコンピュータに前記中断した書き込み位置以降の前記第1データの送信を要求するステップと、
    前記第1のコンピュータから受け取る前記中断した書き込み位置以降の前記第1データを、前記第2記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリューム中の前記中断した書き込み位置から書き込むステップと、を実行することをさらに含む、請求項1に記載の方法。
  4. 前記他のコンピュータが前記第1のコンピュータまたは前記第2のコンピュータから受け取る前記第1データを、第3記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップ(g)において、前記第1データの書き込みが途中で中断した場合、前記他のコンピュータが、
    前記第1の仮想シーケンシャルアクセスボリューム中の前記中断した書き込み位置を前記第3記憶装置に保管するステップと、
    前記第1のコンピュータまたは前記第2のコンピュータに前記中断した書き込み位置以降の前記第1データの送信を要求するステップと、
    前記第1のコンピュータまたは前記第2のコンピュータから受け取る前記中断した書き込み位置以降の前記第1データを、前記第3記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリューム中の前記中断した書き込み位置から書き込むステップと、を実行することをさらに含む、請求項2に記載の方法。
  5. 前記コンピュータの各々は少なくとも1つのシーケンシャル・ストレージ・デバイスに通信可能に接続し、
    前記第1のコンピュータが前記第1記憶装置に保管された前記第1の仮想シーケンシャルアクセスボリュームのデータを適時必要に応じて前記シーケンシャル・ストレージ・デバイスにコピーするステップと、
    前記第2のコンピュータが前記第2記憶装置に保管された前記第1の仮想シーケンシャルアクセスボリュームのデータを適時必要に応じて前記シーケンシャル・ストレージ・デバイスにコピーするステップと、
    前記他のコンピュータが前記第3記憶装置に保管された前記第1の仮想シーケンシャルアクセスボリュームのデータを適時必要に応じて前記シーケンシャル・ストレージ・デバイスにコピーするステップのいずれか1つまたは2つ以上をさらに含む、請求項2に記載の方法。
  6. 前記仮想シーケンシャルアクセスボリュームは仮想テープボリュームを含み、前記シーケンシャル・ストレージ・デバイスはテープドライブを含む、請求項5に記載の方法。
  7. 仮想シーケンシャルアクセスボリュームのデータをコピーするためのシステムであって、
    少なくとも1つのホストと、
    前記ホストに通信可能に接続し、各々が記憶装置を備え、相互に通信可能な少なくとも2以上のコンピュータ群と、を備え、
    (a)前記コンピュータ群中の第1のコンピュータが前記ホストから受け取った第1の仮想シーケンシャルアクセスボリュームの第1データを第1記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリューム中に書き込むステップと、
    (b)前記第1のコンピュータが、前記第1記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、前記第1データの書き込み開始位置の情報とを前記第1記憶装置に保管するステップと、
    (c)前記ホストが前記コンピュータ群中の第2のコンピュータに前記第1データの書き込み開始位置の情報を送信するステップと、
    (d)前記第2のコンピュータが前記第1のコンピュータから受け取る前記第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップと、
    (e)前記第2のコンピュータが前記第2記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、受信した前記第1データの書き込み開始位置情報とを第2記憶装置に保管するステップと、をそれぞれ実行することを含むシステム。
  8. (f)前記ホストが前記コンピュータ群中の他のコンピュータに前記第1データの書き込み開始位置の情報を送信するステップと、
    (g)前記他のコンピュータが前記第1のコンピュータまたは前記第2のコンピュータから受け取る前記第1データを、第3記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップと、
    (h)前記他のコンピュータが前記第3記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリュームのバージョン情報を更新し、当該更新したバージョン情報と、受信した前記第1データの書き込み開始位置情報とを第3記憶装置に保管するステップと、をそれぞれ実行することを含む、請求項6に記載のシステム。
  9. 前記第2のコンピュータが前記第1のコンピュータから受け取る前記第1データを、第2記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップ(d)において、前記第1データの書き込みが途中で中断した場合、前記第2のコンピュータが、
    前記第1の仮想シーケンシャルアクセスボリューム中の前記中断した書き込み位置を前記第2記憶装置に保管するステップと、
    前記第1のコンピュータに前記中断した書き込み位置以降の前記第1データの送信を要求するステップと、
    前記第1のコンピュータから受け取る前記中断した書き込み位置以降の前記第1データを、前記第2記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリューム中の前記中断した書き込み位置から書き込むステップと、を実行することをさらに含む、請求項6に記載のシステム。
  10. 前記他のコンピュータが前記第1のコンピュータまたは前記第2のコンピュータから受け取る前記第1データを、第3記憶装置に保管されている第1の仮想シーケンシャルアクセスボリューム中の前記第1データの書き込み開始位置から書き込むステップ(g)において、前記第1データの書き込みが途中で中断した場合、前記他のコンピュータが、
    前記第1の仮想シーケンシャルアクセスボリューム中の前記中断した書き込み位置を前記第3記憶装置に保管するステップと、
    前記第1のコンピュータまたは前記第2のコンピュータに前記中断した書き込み位置以降の前記第1データの送信を要求するステップと、
    前記第1のコンピュータまたは前記第2のコンピュータから受け取る前記中断した書き込み位置以降の前記第1データを、前記第3記憶装置に保管されている前記第1の仮想シーケンシャルアクセスボリューム中の前記中断した書き込み位置から書き込むステップと、を実行することをさらに含む、請求項7に記載のシステム。
  11. 前記コンピュータの各々は少なくとも1つのシーケンシャル・ストレージ・デバイスに通信可能に接続し、
    前記第1のコンピュータが前記第1記憶装置に保管された前記第1の仮想シーケンシャルアクセスボリュームのデータを適時必要に応じて前記シーケンシャル・ストレージ・デバイスにコピーするステップと、
    前記第2のコンピュータが前記第2記憶装置に保管された前記第1の仮想シーケンシャルアクセスボリュームのデータを適時必要に応じて前記シーケンシャル・ストレージ・デバイスにコピーするステップと、
    前記他のコンピュータが前記第3記憶装置に保管された前記第1の仮想シーケンシャルアクセスボリュームのデータを適時必要に応じて前記シーケンシャル・ストレージ・デバイスにコピーするステップのいずれか1つまたは2つ以上を実行することをさらに含む、請求項7に記載のシステム。
  12. 前記仮想シーケンシャルアクセスボリュームは仮想テープボリュームを含み、前記シーケンシャル・ストレージ・デバイスはテープドライブを含む、請求項11に記載のシステム。
  13. 請求項1〜6のいずれか1項の各ステップを実行するためのコンピュータ・プログラム。
  14. 請求項7〜11のいずれか1項のシステムにおいて、各ステップを実行するためのコンピュータ・プログラム。
JP2014163514A 2014-08-11 2014-08-11 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム Expired - Fee Related JP5963324B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014163514A JP5963324B2 (ja) 2014-08-11 2014-08-11 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム
US14/819,497 US9740427B2 (en) 2014-08-11 2015-08-06 Copying data in virtual sequential access volumes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014163514A JP5963324B2 (ja) 2014-08-11 2014-08-11 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム

Publications (2)

Publication Number Publication Date
JP2016038841A true JP2016038841A (ja) 2016-03-22
JP5963324B2 JP5963324B2 (ja) 2016-08-03

Family

ID=55267448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014163514A Expired - Fee Related JP5963324B2 (ja) 2014-08-11 2014-08-11 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム

Country Status (2)

Country Link
US (1) US9740427B2 (ja)
JP (1) JP5963324B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10168920B2 (en) * 2015-08-21 2019-01-01 International Business Machines Corporation Duplexing file system data
US11914883B2 (en) 2022-03-04 2024-02-27 International Business Machines Corporation Copy from LTFS to disk

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275582A (ja) * 2004-03-23 2005-10-06 Hitachi Ltd ストレージ装置
WO2011018338A1 (en) * 2009-08-11 2011-02-17 International Business Machines Corporation Synchronization of replicated sequential access storage components

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3260923B2 (ja) 1993-09-20 2002-02-25 富士通株式会社 データ処理システムのバックアップ制御装置及び方法
JP3856855B2 (ja) 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
JPH1115604A (ja) 1997-06-25 1999-01-22 Hitachi Ltd データ多重化方法
JP2002091807A (ja) 2000-09-14 2002-03-29 Hitachi Ltd 差分データ取得機能
JP3785074B2 (ja) 2001-10-05 2006-06-14 富士通株式会社 データ処理システムのバックアップ制御装置及び方法
US7209932B2 (en) * 2002-03-25 2007-04-24 International Business Machines Corporation Method, system, and program for allocating tasks to a plurality of processors
JP2004164318A (ja) 2002-11-13 2004-06-10 Hitachi Ltd バックアップデータの世代管理方法およびこの方法に用いる記憶制御装置
JP4581518B2 (ja) 2003-12-19 2010-11-17 株式会社日立製作所 スナップショット取得方法
US7774566B2 (en) * 2007-04-05 2010-08-10 International Business Machines Corporation Physical tape interchange format
JP4204060B2 (ja) 2007-12-14 2009-01-07 株式会社日立製作所 情報処理システムのデータ復旧方法及びディスクサブシステム
US8230185B2 (en) 2008-10-08 2012-07-24 International Business Machines Corporation Method for optimizing cleaning of maps in FlashCopy cascades containing incremental maps
US8225146B2 (en) 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots
US8484503B2 (en) * 2010-08-18 2013-07-09 International Business Machines Corporation Disaster recovery replication throttling in deduplication systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275582A (ja) * 2004-03-23 2005-10-06 Hitachi Ltd ストレージ装置
WO2011018338A1 (en) * 2009-08-11 2011-02-17 International Business Machines Corporation Synchronization of replicated sequential access storage components

Also Published As

Publication number Publication date
JP5963324B2 (ja) 2016-08-03
US9740427B2 (en) 2017-08-22
US20160041780A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
US9658798B2 (en) Grouping of tracks for copy source to target destage on global mirror secondary
US9678686B2 (en) Managing sequentiality of tracks for asynchronous PPRC tracks on secondary
US10733060B2 (en) Asynchronous local and remote generation of consistent point-in-time snap copies in consistency groups
US9773012B2 (en) Updating map structures in an object storage system
JP6136629B2 (ja) ストレージ制御装置,ストレージシステム,および制御プログラム
US20170177443A1 (en) Point-in-time-copy creation for direct cloud backup
US10394491B2 (en) Efficient asynchronous mirror copy of thin-provisioned volumes
US10031682B1 (en) Methods for improved data store migrations and devices thereof
JP2017509958A (ja) 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成
US7853769B2 (en) Computer system for managing number of writes for storage medium and control method therefor
US7549029B2 (en) Methods for creating hierarchical copies
US10621059B2 (en) Site recovery solution in a multi-tier storage environment
US10503426B2 (en) Efficient space allocation in gathered-write backend change volumes
JP5963324B2 (ja) 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム
US10120578B2 (en) Storage optimization for write-in-free-space workloads
US10430121B2 (en) Efficient asynchronous mirror copy of fully provisioned volumes to thin-provisioned volumes
US20210374017A1 (en) Snapshot metadata deduplication
US11256716B2 (en) Verifying mirroring of source data units to target data units
JP2018106636A (ja) 情報処理装置、情報処理方法およびデータ管理プログラム
JP2013029911A (ja) 制御装置、制御方法およびストレージ装置
US10635542B1 (en) Support for prompt creation of target-less snapshots on a target logical device that has been linked to a target-less snapshot of a source logical device
JPWO2016088372A1 (ja) アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びプログラム
US20160357479A1 (en) Storage control apparatus
US11755230B2 (en) Asynchronous remote replication of snapshots
US11893260B2 (en) Snapshot-based remote replication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160112

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160128

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160506

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160624

R150 Certificate of patent or registration of utility model

Ref document number: 5963324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees