JP2014219750A - 仮想ライブラリコントローラ及び制御方法 - Google Patents

仮想ライブラリコントローラ及び制御方法 Download PDF

Info

Publication number
JP2014219750A
JP2014219750A JP2013096754A JP2013096754A JP2014219750A JP 2014219750 A JP2014219750 A JP 2014219750A JP 2013096754 A JP2013096754 A JP 2013096754A JP 2013096754 A JP2013096754 A JP 2013096754A JP 2014219750 A JP2014219750 A JP 2014219750A
Authority
JP
Japan
Prior art keywords
logical volume
data
cache disk
alternative
virtual library
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
JP2013096754A
Other languages
English (en)
Inventor
一樹 佐々木
Kazuki Sasaki
一樹 佐々木
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 JP2013096754A priority Critical patent/JP2014219750A/ja
Priority to US14/259,502 priority patent/US20140331007A1/en
Publication of JP2014219750A publication Critical patent/JP2014219750A/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/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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

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)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】書き込み性能を向上させる。
【解決手段】上位装置200からのデータの書込指示の対象の論理ボリュームがキャッシュディスク160上に存在しない場合に、前記キャッシュディスク160上に代替論理ボリュームを作成する代替論理ボリューム作成部12と、作成した前記代替論理ボリュームに前記データのライトを行なうライト処理部13とを備える。
【選択図】図1

Description

本発明は、仮想ライブラリコントローラ及び制御方法に関する。
サーバシステムにおけるデータバックアップ等の用途に、仮想テープライブラリ(Virtual Tape Library:VTL)が用いられている。
仮想テープライブラリは、テープドライブ装置及びカートリッジテープを専用のディスク装置上で仮想化するシステムである。仮想テープライブラリでは、例えば、ディスクアレイ装置をそなえ、このディスクアレイ装置をキャッシュディスクとして利用する。そして、テープボリュームを仮想化し、上述したキャッシュディスク上でテープボリュームをエミュレーションする仕組みをそなえる。
仮想化したテープ(仮想テープ,論理ボリューム)は、サーバのOS(Operating System)からは、テープ装置として認識される。サーバにおいては、この仮想テープを通常のテープ装置と同様に使用することができ、これにより、サーバは、仮想テープライブラリを、あたかもそこに実テープがマウントされているように使用することができる。
また、仮想テープライブラリにおいては、格納された論理ボリュームを排出して外部保管運用を実現する仕組みとして、エクスポート機能が知られている
エクスポート機能は、仮想テープライブラリシステムに格納されている複数の論理ボリュームを外部保管用のテープ等(物理ボリューム)に複写することにより、複写した物理ボリュームを外部に取り出して保管・使用することを可能とする。
物理ボリュームは、例えば、カートリッジテープであり、実ライブラリに備えられる。実ライブラリは、1以上のテープドライブ(物理ドライブ)をそなえ、複数のカートリッジテープに対するデータの書き込みや読み取りを行なう。又、これらの複数のカートリッジテープのうち任意のカートリッジテープをテープドライブに搬送するロボットもそなえられる。
論理ボリュームは、例えば、ホスト等の上位装置からのアクセス頻度が低いものから順にキャッシュディスク上から削除される。これにより、論理ボリュームにおいては、物理ボリュームにのみ格納され、キャッシュディスク上には存在しないものが生じる。
特開2011−123834号公報
しかしながら、このような従来の仮想テープライブラリにおいて、キャッシュディスク上に存在しない論理ボリュームに対してホストから書込要求があった場合に、実ライブラリから該当する論理ボリュームをリコールする必要がある。このリコール処理には、該当する論理ボリュームが保存されているカートリッジテープを物理ドライブにマウントする実ライブラリ内のロボットの機械動作が介在するため、時間がかかるという課題がある。
すなわち、この実ライブラリにおいて、カートリッジテープを物理ドライブにマウントするまでに要する時間が、仮想テープライブラリにおける書き込み性能を阻害する。
1つの側面では、本発明は、仮想記憶装置の書き込み性能を向上させることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、この仮想ライブラリコントローラは、上位装置からのデータの書込指示の対象の論理ボリュームがキャッシュディスク上に存在しない場合に、前記キャッシュディスク上に代替論理ボリュームを作成する代替論理ボリューム作成部と、作成した前記代替論理ボリュームに前記データのライトを行なうライト処理部とを備える。
また、この制御方法は、上位装置と実ライブラリ装置との間に介在し、論理ボリュームを仮想的なライブラリ装置としてキャッシュディスクに格納させる仮想ライブラリコントローラの制御方法であって、前記上位装置からのデータの書込指示の対象の論理ボリュームがキャッシュディスク上に存在しない場合に、前記キャッシュディスク上に代替論理ボリュームを作成するステップと、作成した前記代替論理ボリュームに前記データのライトを行なうステップとを備える。
一実施形態によれば、書き込み性能を向上させる利点がある。
実施形態の一例としての仮想ライブラリシステムの構成を示す図である。 実施形態の一例としての仮想ライブラリシステムのハードウェア構成を示す図である。 実施形態の一例としての仮想ライブラリシステムにおけるキャッシュディスク上の論理ボリュームのデータ構成を模式的に示す図である。 実施形態の一例としての仮想ライブラリシステムにおけるLV情報を例示する図である。 スタブデータの構成を模式的に示す図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームのデータ構成を模式的に示す図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームのLV情報を例示する図である。 (A)〜(C)は実施形態の一例としての仮想ライブラリシステムにおけるライト処理による論理ボリュームの更新を説明する図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームに対する追加書き処理を説明する図である。 実施形態の一例としての仮想ライブラリシステムにおける追加書き処理が行なわれた代替論理ボリュームについてのLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームに対する書き換え処理を説明する図である。 実施形態の一例としての仮想ライブラリシステムにおける書き換え処理が行なわれた代替論理ボリュームについてのLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおけるPV管理情報に登録されているLV情報を例示する図である。 (A),(B)は実施形態の一例としての仮想ライブラリシステムにおける追加書きされたデータのマイグレーションを説明する図である。 実施形態の一例としての仮想ライブラリシステムにおけるPV管理情報に登録されている代替論理ボリュームについてのLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームとの同期後のPV管理情報のLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームとの同期後のPV管理情報のLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおけるLV管理情報の代替論理ボリュームとの同期後のLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおける分割マイグレーションが行なわれた物理ボリュームを例示する図である。 実施形態の一例としての仮想ライブラリシステムにおけるリオガニゼーション後のPV管理情報のLV情報を例示する図である。 (A),(B)は実施形態の一例としての仮想ライブラリシステムにおける書き換えされたデータのマイグレーションを説明する図である。 実施形態の一例としての仮想ライブラリシステムにおけるPV管理情報に登録されている論理ボリュームについてのLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおけるPV管理情報に登録されている代替論理ボリュームについてのLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームとの同期後のPV管理情報のLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームとの同期後のLV管理情報のLV情報を例示する図である。 実施形態の一例としての仮想ライブラリシステムにおけるマウント処理を説明するフローチャートである。 実施形態の一例としての仮想ライブラリシステムにおけるマウント処理を説明するシーケンス図である。 図27における各処理とその主体とを示す図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームへの追加書き処理を説明するフローチャートである。 実施形態の一例としての仮想ライブラリシステムにおける追加書き処理を説明するシーケンス図である。 図30における各処理とその主体とを示す図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームへの書き換え処理を説明するフローチャートである。 実施形態の一例としての仮想ライブラリシステムにおける追加書き処理を説明するシーケンス図である。 図33における各処理とその主体とを示す図である。 実施形態の一例としての仮想ライブラリシステムにおける追加書きの場合のマイグレーション処理を説明するフローチャートである。 実施形態の一例としての仮想ライブラリシステムにおける同一PVへのマイグレーションでの追加書き処理にかかるマイグレーションを説明するシーケンス図である。 図36における各処理とその主体とを示す図である。 実施形態の一例としての仮想ライブラリシステムにおける分割マイグレーションでの追加書き処理を説明するシーケンス図である。 図38における各処理とその主体とを示す図である。 実施形態の一例としての仮想ライブラリシステムにおける書き換えの場合のマイグレーション処理を説明するフローチャートである。 実施形態の一例としての仮想ライブラリシステムにおける書き換え処理にかかるマイグレーションを説明するシーケンス図である。 図41における各処理とその主体とを示す図である。 実施形態の一例としての仮想ライブラリシステムにおける代替論理ボリュームに対するリード処理を説明するシーケンス図である。 図43における各処理とその主体とを示す図である。
以下、図面を参照して本仮想ライブラリコントローラ及び制御方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(1)構成
図1は実施形態の一例としての仮想ライブラリシステムの構成を示す図、図2はそのハードウェア構成を示す図である。
本仮想ライブラリシステム1は、図に示すように、ホスト(上位装置)200,仮想記憶装置100及び実ライブラリ装置300を備える。
仮想ライブラリシステム1は、後述するキャッシュディスク160をそなえ、このキャッシュディスク160上においてテープ運用を仮想的に実現する。すなわち、仮想記憶装置100は、ホスト200と実ライブラリ300との間に介在し、これらのホスト200と実ライブラリ300との間で送受信されるデータを仮想的なテープボリュームとして記憶する。
仮想テープライブラリシステム1は、ホスト200から送信されるデータをキャッシュディスク160に仮想的に形成されたテープボリューム[論理ボリューム(LV;Logical Volume)]に格納する。例えば、ホスト200のデータのバックアップジョブとして、ホスト200で用いられる各種データをキャッシュディスク160に格納する。
すなわち、仮想ライブラリシステム1は、仮想的なテープボリュームをキャッシュディスク160上に配置することで、実ライブラリ装置300のテープマウント、ロード/アンロードなどの機械的な動作を無くし、高速処理を実現する。
仮想ライブラリシステム1は、テープライブラリ装置301(図2参照)を備え、LVはこのテープライブラリ装置301において、物理ドライブ310を介して保管媒体である図示しないカートリッジテープに書き込まれる。本仮想ライブラリシステム1においては、このカートリッジテープが物理ボリューム(PV;Physical Volume)に相当する。以下、カートリッジテープのことをPVという場合がある。
ホスト200は、仮想記憶装置100によって仮想化されるLVにアクセスして、データの書き込みや読み出しを行なう情報処理装置(コンピュータ)である。ホスト200は、図2に示すように、チャネル(Channel)201を介して、FCやOCLINKにより、仮想記憶装置100のICP(Integrated Channel Processor)150と通信可能に接続される。
また、ホスト200は、図示しないCPU(Central Processing Unit)によりVTCP(Virtual Tape Control Program)202を実行することにより、LVへの要求(リード要求/ライト要求)を発行する。
実ライブラリ300は、図2に示すように、PLP(Physical Library Processor)400及びライブラリ装置301をそなえる。
ライブラリ装置301は、1つ以上のテープドライブ310を備え、複数のカートリッジテープに対するデータの書き込みや読み取りを行なう。以下、テープドライブ310を物理ドライブ310という場合があり、カートリッジテープを物理ボリュームもしくはPVという場合がある。
また、テープライブラリ装置301は、これらの複数カートリッジテープのうち任意のカートリッジテープをテープドライブ310に搬送するロボット312を備える。なお、図1,図2に示す例においては、ライブラリ装置301に4つのテープドライブ310が備えられている例を示しているが、これに限定されるものではない。すなわち、3つ以下もしくは5つ以上のテープドライブ310を備えてもよく、種々変形して実施することができる。
PLP400は、ライブラリ装置301の物理テープライブラリに要求を発行するサーバであり、例えば、IAサーバによって構成される。PLP400は、テープライブラリ装置301のロボット312に対してテープドライブ310に対するカートリッジテープのマウント要求等を行なう。このPLP400は、実ライブラリ装置300において、物理ドライブ310及びロボット312を制御するライブラリ制御部14(図1参照)として機能する。
仮想記憶装置100は、論理ドライブ151及びLVを管理し、キャッシュディスク160に仮想的に形成されたLVに対してデータの読み書きを行なう。この仮想記憶装置100は、ホスト200から送信されるデータをLVに格納する。
仮想記憶装置100は、例えば、図2に示すように、VLP(Virtual Library Processor)110,ICP150,キャッシュディスク160,IDP(Integrated Drive Processor)170および記憶装置20をそなえる。
ホストコンピュータ200,VLP110,ICP150,IDP170,PLP400およびテープライブラリ装置301は、LAN(Local Area Network)50を介して相互に通信可能に接続されている。又、ホストコンピュータ200とICP150とはFC(Fibre Channel;ファイバーチャネル)やOCLINK(登録商標)によって接続されている。又、ICP150とキャッシュディスク160との間や、キャッシュディスク160とIDP170との間,IDP170とテープライブラリ装置301に格納された各物理ドライブ310との間も、FC等により接続されている。
すなわち、仮想記憶装置100においては、ICP150,IDP170,VLP110の各サーバ上で複数のプロセスがパイプあるいはソケットを用いて通信を行ない、仮想テープシステムを実現しているのである。
そして、これらのICP150,キャッシュディスク160,IDP170,VLP110,テープライブラリ装置301およびPLP400は、同一のラック内にそなえて構成することができる。
なお、図2中、白抜き矢印はFCもしくはOCLINKを介したデータの授受を示しており、破線矢印はLAN50を介したデータの授受を示している。
キャッシュディスク160は、カートリッジテープの仮想的な情報が格納される記憶媒体であり、後述するICP150によって受信されたデータや、実ライブラリ装置300のカートリッジテープから読み取られたデータを記憶する仮想記憶部として機能する。このキャッシュディスク160は、TVC(Tape Volume Cache)であり、例えば、RAID(Redundant Arrays of Inexpensive Disks)装置として構成されている。又、このキャッシュディスク160のDB(Data Base)領域には、後述するLV管理情報21やPV管理情報22が格納される。
IDP170は、テープライブラリ装置301の物理ドライブ310との接続をつかさどるサーバである。このIDP170は、ICP150がホスト200から受信したデータをテープライブラリ装置301の物理ドライブ310を介してカートリッジテープに書き込む書き込み手段として機能する。又、IDP170は、ホスト200からの読み出し要求に応じて、ライブラリ装置301の物理ドライブ310を介して、カートリッジテープからデータの読み出しを行なう読み出し手段としても機能する。又、IDP170は、IA(Intel Architecture)サーバとして構成されている。
そして、このIDP170は、PDS(Physical Driver Server)171を実行する。
PDS171は、ライブラリ装置300の物理的なテープドライブとのデータのやり取りをするプロセスであって、例えば、カートリッジテープからデータを読み取り、その読み取ったデータをキャッシュディスク160の所定の領域に書き込む。
なお、このPDS171は、IDP170の図示しないCPUが、メモリやハードディスク等の記憶装置(図示省略)に格納されたプログラムを実行することにより実現される。
ICP150は、ホスト200のドライブパスとの接続をつかさどるサーバであって、ホスト200からのデータを受信する受信手段として機能する。又、このICP150は、例えば、IAサーバにより構成され、MD(Mount Daemon)152やEMTAPE(Virtual Emulation Tape)151を実現する。
EMTAPE151は、テープライブラリ装置301のテープドライブ310を仮想的にホスト200に見せるプロセスであって、ライブラリ装置301のテープドライブ310のエミュレーションを行ない、キャッシュディスク160上のLVのリード/ライトを制御する。EMTAPE151は、エミュレーションしたテープドライブ310の台数分だけそなえられる。すなわち、このEMTAPE151が論理ドライブとして機能する。以下、EMTAPE151を論理ドライブ151という場合がある。
MD152は、ICP150と後述するVLM(Virtual Library Manager)112との間のやりとりをつかさどるプロセスであって、VLM112からの要求をEMTAPE151に橋渡しする。
そして、これらのEMTAPE151やMD152は、ICP150の図示しないCPUがメモリやハードディスク等の記憶装置(図示省略)に格納されたプログラムを実行することにより実現されるようになっている。
VLP110は、ICP150やIDP170等と連携して、システムとして仮想テープ環境を実現するための各種プロセスを実行(動作)させる仮想ライブラリコントローラである。
このVLP110は、ICP150やIDP170等と連携して、ホスト200に仮想テープを見せる。なお、このVLP110は、例えば、IAサーバとして構成されている。このVLP110を仮想ライブラリコントローラ110という場合がある。
また、このVLP110には記憶装置20が接続されている。この記憶装置20は、例えば、HDD(Hard disk drive)や不揮発性メモリ等のデータを格納可能な記憶装置であって、VLP110が用いる種々のデータ等が格納される。
なお、以下、LV管理情報21をLVDB(Data Base)という場合があり、PV管理情報22をPVDBという場合がある。
さらに、VLP110は、VLMF(Virtual LMF, Virtual Library Management Facility)111,VLM112,PLM(Physical Library Manager)113及びPLS(Physical Library Server)114としての機能(プロセス)をそなえている。
PLM113は、物理的な処理をつかさどるプロセス(物理層制御部)である。PLM113は、後述するVLM112からの指示を受けて、キャッシュディスク160上のLVを実ライブラリ装置300のテープドライブ310を介してカートリッジテープにマイグレーションする機能を備える。キャッシュディスク160に格納されたLVのデータは、このマイグレーション処理によりカートリッジテープに移動(セーブ)される。
また、PLM113は、テープライブラリ装置301のテープドライブ310を介してカートリッジテープからLVのデータを読み込んでキャッシュディスク160上にリコールする機能を備える。キャッシュディスク160に存在しないLVにアクセス(リコール)する場合は、PLM113の当該LV情報を参照することでアクセスを行なう。
さらに、PLM113は、物理ボリュームに関するPV管理情報22を常時管理・随時更新する。PV管理情報22は、PVに格納されているLVに関する情報である(図13,図15等参照)。
PLS114は、PLP400に対して、実ライブラリ装置300のテープライブラリ装置301の制御を要求するプロセスである。
また、仮想記憶装置100は、テープライブラリ装置301内に搭載されているカートリッジテープに格納されているデータの再構築処理(リオーガイナイゼーション処理)を行なう機能をそなえている。
VLMF111は、ホストコンピュータ200からのLVへのマウント(MOUNT)要求や、情報取得要求などを受け付けるプロセスである。
そして、本仮想ライブラリシステム1においては、このVLMF111が、ホスト200からLVへのデータの書込指示を受信する受信部としての機能を実現する。
VLM112は、仮想的、論理的な処理をつかさどるプロセス(論理層制御部)である。
すなわち、VLM112は、キャッシュディスク160上のLVのマウント/アンマウントを制御する。又、VLM112は、VLMF111からのマウント要求を受け、論理ドライブ151にLVをマウントする。更に、VLM112は、LVに関する情報データベースであるLV管理情報21を常時管理・随時更新する。
また、本仮想ライブラリシステム1においては、VLM112が、代替論理ボリューム作成部12としての機能を実現する(図1参照)。
代替論理ボリューム作成部12は、ホスト200からのライト要求対象の論理ボリューム(LV)がキャッシュディスク160上に存在しない場合に代替論理ボリューム(LV′)を作成する。
以下、特定のLVを示す場合には、例えばLV−A,LV−Bのように、LVの後にハイフン(−)とともに識別用の文字(例えばアルファベット)を付して表す場合がある。又、特定のLVを示すためのこれらのLV−A,LV−B等の符号を論理ボリュームを識別するための論理ボリューム名として用いる。
ホスト200からライト要求があったLVがキャッシュディスク160上に存在しないことにより作成される代替論理ボリュームを、論理ボリュームを示す符号(LV等)の語尾にダッシュ(′)を付して表す。
例えば、論理ボリュームLV−Aに対応する代替論理ボリュームを、LV−A′と表す。
本仮想ライブラリシステム1においては、キャッシュディスク160上に存在しないLVに対してホスト200からライト要求(書込指示)があった場合に、代替論理ボリューム作成部12は、キャッシュディスク160上にLV′を作成する。
仮想記憶装置100は、ホスト200からライト要求があったLV−Aがキャッシュディスク160上にない場合に、ホスト200にあたかもLV−Aがキャッシュディスク160上に存在しているかのように見せ、ホスト200からのライト要求にLV−A′で対応する。
代替論理ボリューム作成部12は、ホスト200からのライト要求対象のLVについての、キャッシュディスク160上のスタブデータ(管理情報)を複写することにより、LV′を作成する。
スタブデータは、例えば、カートリッジテープにLVを作成し、初期化した(仮想ライブラリ装置で使用できるように管理サーバ10情報LVH,VOL,HDR1、総計16544バイトのデータを書き込んだ状態にした)際に作成される管理情報である。このスタブデータは、キャッシュディスク160上に常に存在しているLVのメタデータ部分である。
なお、スタブデータは、128KB以下のデータであり、128KB以上のデータが保存されているLVがキャッシュディスク160から追い出されたとしても、先頭から128KBのスタブデータ(LVH,VOL,HDR1,HDR2及びユーザデータの一部)は、常にキャッシュディスク160上に存在し続ける。
スタブデータは、マイグレーションされた論理ボリュームと同じファイル名を情報として有する。スタブデータには、LVに書き込まれている各データブロックの詳細情報をテーブル化したレコードテーブル(データブロックサイズや圧縮率等)が含まれる。スタブデータにはLVのユーザデータの一部も含まれる。
図3は実施形態の一例としての仮想ライブラリシステム1におけるキャッシュディスク160上の論理ボリュームのデータ構成を模式的に示す図である。この図3に示す例においてはLV−Aを示している。
LVは、図3に示すように、LVH,VOL,HDR1,HDR2,ユーザデータ,EOF1及びEOF2を備える。
ここで、LVH(LV-Header)はヘッダ情報であり、当該LVの世代やLV名,LVグループ名,LVサイズ,LV作成日等が記録されている。このLVHは、例えば16384バイトのデータサイズを有する。
VOL(Volume Block)にはボリューム名や所有者等が記録されている。HDR1(Header 1 Block)にはファイル名や更新日等が記録されている。HDR2(Header 2 Block)にはレコード形式,ブロック長等が記録されている。
ユーザデータは、ホスト200から読み書きされるデータが記録されている。EOF1(End of File 1 Block)にはファイル名,更新日などが記録されており、EOF2(End of File 2 Block)にはレコード形式,ブロック長等が記録されている。なお、VOL,HDR1,HDR2,EOF1及びEOF2は、それぞれ例えば80バイトのデータサイズを有する。
後述するLV管理情報21には、上述したLVに関する情報(LV情報)が登録されている。
図4は実施形態の一例としての仮想ライブラリシステム1におけるLV情報を例示する図である。
LV情報は、この図4に示すように、論理ボリューム名,論理ボリュームグループ名,状態,作成タイムスタンプ,ホストアクセスタイムスタンプ,世代,データサイズ及びブロック数を備える。
例えば、この図4に示す例において、世代を表すGは、書き換え回数を示す整数であり当該LVの書き換えが行なわれる毎にインクリメントされる。又、この図4に示す例において、ブロック数は、便宜上、テープマークを考慮しない数が登録される。又、厳密に言えば、ユーザデータ部も固定長ブロックに区切られているが、簡単のため1ブロックとして扱う場合を示している。
図5はスタブデータの構成を模式的に示す図である。
スタブデータは、図5に示すように、LVH,VOL,HDR1,HDR2及びユーザデータの一部を備える。
LVにおけるスタブデータに相当するデータ(VOL,HDR1,HDR2及びユーザデータの先頭の一部分)は、LVに直接書き込まれており、この部分は常にキャッシュディスク160上に存在する。
LVがキャッシュディスク160上に存在するということは、LVのユーザデータ部分の全てがキャッシュディスク160上に存在することを意味する(図3参照)。一方、LVがキャッシュディスク160上に存在しないということは、ユーザデータの一部分しかキャッシュディスク160上に存在しないことを意味する(図4参照)。すなわち、スタブデータ部分を除くユーザデータ部分はキャッシュディスク160上には存在しない。なお、スタブデータと同等の情報は、LV管理情報21でも管理される。
代替論理ボリューム作成部12は、LV′を作成すると、このLV′のLV情報として、LV管理情報21に、既にLV管理情報21に登録されている当該LV′に対応するLV情報を引き継いで登録する。
図6は実施形態の一例としての仮想ライブラリシステム1における代替論理ボリューム(LV′)のデータ構成を模式的に示す図、図7はその代替論理ボリュームのLV情報を例示する図である。なお、図7に例示するLV′は、図4に例示するLVに対応するものである。
LV′は、図5に示したスタブデータを複写して作成される。すなわち、LV′は、図6及び図7に示すように、スタブデータ(図5参照)と同様に、LVH,VOL,HDR1,HDR2及びユーザデータの一部を備える。
代替論理ボリューム作成部12は、図7に示すように、LV管理情報21において、作成したLV′のLV情報に代替状態を表す識別情報を設定する。図7に例示するLV管理情報21においては、状態として、代替状態を示す“Substituted状態”が登録されている。すなわち、LV′のLV情報には、その状態として“Substituted状態”が設定される。
なお、この状態として設定される情報としては、上述した“Substituted状態”の他に、“Migrated状態”や“Mounted状態”がある。なお、LV情報の状態として登録される“Migrated状態”や“Mounted状態”は既知であり、その説明は省略する。
また、代替論理ボリューム作成部12は、キャッシュディスク160上にLV′の格納領域を確保できない場合には、このLV′を格納可能な容量に相当する1以上のLVをキャッシュディスク160から追い出す。
例えば、代替論理ボリューム作成部12は、LRU(Least Recently Used)アルゴリズムに従って、キャッシュディスク160から削除するLVを決定する。すなわち、代替論理ボリューム作成部12は、キャッシュディスク160上のLVのうち、アクセス頻度の低いLVを優先して、キャッシュディスク160から削除する。
代替論理ボリューム制御部13は、代替論理ボリューム作成部12が作成したLV′に対する処理を行なう。例えば、代替論理ボリューム制御部13は、ホスト200からのライト指示に従って、LV′に対してデータのライトやマイグレーションを行なう。
また、本仮想ライブラリシステム1においては、VLM112,EMTAPE151及びPLM113が、代替論理ボリューム制御部13としての機能を実現する(図1参照)。
具体的には、VLM112がLVのマウント/アンマウントの制御を行ない、EMTAPE151がLVのリード/ライトの制御を行なう。又、PLM113がマイグレーションの制御を行なう。
(A)ライト処理
ここで、仮想ライブラリ(実ライブラリも同様)は、その構造上ライト済みのデータの途中からの上書きをすることが不可能である。そのため、データのライトには、ボリューム(テープ)における既存データの後方に新規追加データを書き込む「追加書き」と、テープの先頭から新規データを上書きする「書き換え」との2種類の処理がある。
図8(A)〜(C)は実施形態の一例としての仮想ライブラリシステム1におけるライト処理によるLVの更新を説明する図である。図8(A)は書き込み前(初期状態)のLVを示す図、図8(B)は追加書き処理が行なわれた後のLVを示す図、図8(C)は書き換え処理が行なわれた後のLVを示す図である。
図8(A)に示す状態(初期状態)のLVに対して、追加書き処理でデータのライトを行なう場合には、図8(B)に示すように、先に記録されているデータの後端から、新たなデータが書き込まれる。
一方、図8(A)に示す状態(初期状態)のLVに対して、書き換え処理でデータのライトを行なう場合には、図8(C)に示すように、先に記録されているデータを上書きするように、LVの先頭(始端)から新たなデータが書き込まれる。
なお、ライト要求が追加書き処理であるか書き換え処理であるかは、例えば、そのライト要求を発行するホスト200が指定する。VLMF111及びVLM112は、ホスト200から位置付け要求を受領した段階で、処理が追加書き処理であるか書き換え処理であるかを判断する。
本仮想ライブラリシステム1においては、代替論理ボリューム作成部12によって作成されたLV′も、これらの追加書きと書き換えとの2種類のデータのライトに対応する。なお、最終的にLV′は、論理ドライブ151からアンマウントされる。
(A−1)追加書き
代替論理ボリューム制御部13は、LV′に対するライト要求が行なわれた場合において、そのライト要求が追加書き処理である場合に、ライト要求に付属する位置付けコマンドの実行を抑止することで、LV′の先頭からデータライトを行なう。
追加書き処理の場合、ホスト200は、論理ヘッドを、LVにおいて、ライト処理を実行する時点における最も終端側に記録されているEOF2の終端側に位置付けるよう要求する位置付けコマンドを発行する。なお、論理ヘッドはLVに対してデータの読み書きを行なう仮想的なデバイスである。
このホスト200からの要求(位置付けコマンド)に従い、代替論理ボリューム制御部13は、論理ヘッドをLVにおける現状最も終端側に記録されているEOF2の終端側に位置付ける。こうして、LVに既存データを残したまま、その後方に新規データを書き込む準備ができる。
但し、これは、ユーザデータ部分がキャッシュ上に存在するLVの場合である。前述の如く代替論理ボリューム作成部12によって作成されたLV′には、スタブデータしか書き込まれていない。
そこで、LV′に対して位置付けコマンドが発行された場合は、代替論理ボリューム制御部13のライト制御部、つまり、EMTAPE151が位置付けコマンドをスキップ・抑止する。 その後、ホスト200は、LV′に追加データを書き込む。
図9は実施形態の一例としての仮想ライブラリシステム1における代替論理ボリュームに対する追加書き処理を説明する図である。
上述の如く、LV′に対して位置付けコマンドが発行された場合は、代替論理ボリューム制御部13が位置付けコマンドの処理をスキップすることにより、図9に示すように、論理ヘッドはLV′の始端から新たなデータの書き込みを行なう。
なお、LV′に先に書き込まれていたスタブデータは、新たに書き込まれた追加データによって上書きされる。
また、追加書き処理が完了し次第、代替論理ボリューム制御部13は、図10に示すように、LV管理情報21において、当該LV′の情報に追加書きを示すフラグ(追加書きフラグ)を付加する。
図10は実施形態の一例としての仮想ライブラリシステム1における追加書き処理が行なわれたLV′についてのLV情報を例示する図である。
この図10に示す例においては、状態として代替状態を示す“Substituted状態”が登録されているとともに、代替フラグとして追加書きを示す情報が記録されている。
(A−2)書き換え
図11は実施形態の一例としての仮想ライブラリシステム1における代替論理ボリュームに対する書き換え処理を説明する図である。
書き換え処理の場合には、ホスト200から送信されるライト要求に位置付けコマンドは付属しない。従って、図11に示すように、代替論理ボリューム制御部13は、上述した追加書き処理とは異なり、データを即座にLV′に書き込む。先にLV′に書き込まれていたスタブデータは、新規データによって上書きされる。
書き換え処理が完了し次第、図12に示すように、LV管理情報21のLV情報に書き換えフラグを付加する。
図12は実施形態の一例としての仮想ライブラリシステム1における書き換え処理が行なわれたLV′についてのLV情報を例示する図である。
この図12に示す例においては、状態として代替状態を示す“Substituted状態”が登録されているとともに、代替フラグとして書き換えを示す情報が記録されている。
(B)マイグレーション
また、代替論理ボリューム制御部13のマイグレーション処理部、つまりPLM113は、キャッシュディスク160上のLVにデータの更新があると、そのLVを実ライブラリ装置300のテープドライブ310によりカートリッジテープ(PV)にマイグレーションする機能を備える。
代替論理ボリューム制御部13は、主にPLM113の機能を用いてマイグレーションを実現する。
(B−1)追加書き
図13は実施形態の一例としての仮想ライブラリシステム1におけるPV管理情報22に登録されているLV情報を例示する図である。
PV管理情報22におけるLV情報は、この図13に示すように、PV名,LV名,世代,全データサイズ,ブロック番号,ブロック数,書き込みタイムスタンプ及び有効フラグを備える。なお、ブロック番号はPV上に既に存在しているLVの先頭ブロック番号である。又、ブロック数はLVの全ブロック数である。有効フラグは、LVデータの有効化もしくは無効化のフラグである。これらのLV情報は既知であり、その説明は省略する。
図14(A),(B)は実施形態の一例としての仮想ライブラリシステム1における追加書きされたデータのマイグレーションを説明する図である。図14(A)は既にLV(LV−A,LV−B)が保存されているPV−Aに新たにLV′(LV−A′)をマイグレーションした状態を示す。又、図14(B)はPV−AにLV−A′を格納する領域を確保できなかったので、PV−BにLV−A′を格納した状態を示す。
代替論理ボリューム制御部13は、PV管理情報22のLV−Aの情報(図13参照)を参照して、図14(A)に示すように、LV−Aが既に保存されているPV−Aをテープドライブ310にマウントし、LV−A′のデータをこのPV−Aにマイグレーションする。すなわち、PV−Aにおいて既に登録されているデータの最後端側にLV−A′を記録する。
また、PV−AにLV−A′のデータを保存できる容量を確保できない場合には、図14(B)に示すように、代替論理ボリューム制御部13は、容量に余裕がある他のPV(PV−B)をテープドライブ310にマウントし、LV−A′をこのPV−Bにマイグレーションする。すなわち、PV−Bにおいて既に登録されているデータの最後端側にLV−A′を記録する。
マイグレーションが完了し次第、代替論理ボリューム制御部13は、PV管理情報22において、マイグレーションを行なったPV−AもしくはPV−Bに対して、LV−A′の情報を登録する。この際、図15に示すように、PV管理情報22に対して、当該PVに既に登録されているLVの情報(図13参照)を加味して、新たにPVに書き込んだLV−A′の情報を登録する。
図15は実施形態の一例としての仮想ライブラリシステム1におけるPV管理情報22に登録されている代替論理ボリュームについてのLV情報を例示する図である。なお、図15に示す例においては、LV−A′に関するデータを追加書き処理でPV−AもしくはPV−Bにマイグレーションした場合のLV情報を示す。この図15に示す例は、マイグレーション直後の状態を示す。
PV管理情報22に登録されるLV′のLV情報は、この図15に示すように、例えば、PV名,LV名,代替フラグ,世代,全データサイズ,既存データサイズ,追加データサイズ,既存ブロック番号,追加ブロック番号,ブロック数,既存ブロック数,追加ブロック数,書き込みタイムスタンプ及び有効フラグを有する。
なお、図中、既述の情報と同じ項目は同様の項目を示し、その説明は省略する。
代替フラグには追加書きフラグを示す情報が登録される。既存データサイズは、PV−Aのマイグレーションを行なう前にPVに格納されているLVのデータサイズ(xxxKB)である。追加データサイズは、追加書きで書き込んだデータのサイズ(yyyKB)である。
全データサイズは、LV全体、すなわち、連結時のデータサイズを示す。図15に示す例においては、PV上に先にxxxKBのLVが格納されている状態で、yyyKBのLV−Aのマイグレーション(書き込み)を行なうことを示している。
既存ブロック番号は、先にPV上に存在しているLVの先頭ブロック番号である。この図15に示す例において、PV名に“PV−Aor PV−B”と登録されている。これは、PV−Aに空き容量がある場合には、このPV−Aにマイグレーションを行ない、PV−Aに空き容量が無く、このPV−Aに追加書きを行なうことができない場合には、PV−Bにマイグレーションが行なわれることを示す。
追加ブロック番号は、追加書きで書き込んだLV−Aの先頭ブロック番号である。なお、図15に示す例において、追加ブロック番号に“16or2”と登録されているのは、既にLVが書き込まれているPV−Aに追加書きを行なった場合には、PV−Aの16ブロックを先頭としてLV−Aが書き込まれたことを示す。又、PV−Aに空き容量が無く、このPV−Aに追加書きを行なうことができなかった場合には、PV−Bの2ブロックを先頭としてLV−Aが書き込まれたことを示す。
既存ブロック数は、PV上に既に存在しているLVのブロック数であり、追加ブロック数は追加書きで書き込んだLVのブロック数である。ブロック数は、PVにおける全て(連結時)のLVのブロック数であり、既存ブロック数と追加ブロック数との合計となる。
代替論理ボリューム制御部13(PLM113)は、PV管理情報22に登録されているLV−AのLV情報(図13参照)を、LV−A′のLV情報(図15参照)と同期を取る。又、代替論理ボリューム制御部13(VLM112)は、自身が管理しているLV管理情報21におけるLV−AのLV情報(図7参照)をLV−A′のLV情報(図10参照)と同期を取る。
図16及び図17は、それぞれ実施形態の一例としての仮想ライブラリシステム1における代替論理ボリュームとの同期後のPV管理情報22のLV情報を例示する図である。なお、図16は代替論理ボリュームが同一のPVにマイグレーションされた場合のLV情報を示す。又、図17は代替論理ボリュームが同一のPVにマイグレーションされなかった場合において、リオガニゼーション(後述)を実施後に更新したPV管理情報22上のLV情報を示す。
これらの図16及び図17に示すように、PV管理情報22のLV情報において、既存データのマイグレーション先と追加書きデータのマイグレーション先とを管理する。これにより、代替論理ボリューム制御部13は、既存データ(LV−A)と追加データ(LV−A′)とが同一のPVにマイグレーションされたか否かを認識することができる。
図18は実施形態の一例としての仮想ライブラリシステム1における代替論理ボリュームとの同期後のLV管理情報21のLV情報を例示する図である。この図18に示すLV情報は、図7に示したLV情報に対して更新を行なった状態を示している。すなわち、状態がマイグレーションされた状態を示すMigrated状態に変更された他、ホストアクセスタイムスタンプ、世代、データサイズ及びブロック数が、それぞれ、LV−A′が加味された値に更新されている。
PV管理情報22及びLV管理情報21の更新が完了した段階で、LV′の役目が終わる。このままLV′を本仮想記憶装置100上に残しておく必要もないので、代替論理ボリューム制御部(代替論理ボリューム削除部)13は、キャッシュディスク160上からLV−A′を削除する。併せて、代替論理ボリューム制御部(代替論理ボリューム削除部)13は、PV管理情報22及びLV管理情報21から、LV−A′に関する情報を削除する。
なお、仮想ライブラリシステム1のバックアップ装置としての特性上、仮想ライブラリシステム1では、直前に書き込きこまれたデータに対してすぐにホスト200からリード要求が行なわれることはほとんどない。又、キャッシュディスク160上に存在しないLVが存在するということは、キャッシュディスク160の容量が満杯であることを意味する。ホスト200からの更なるライト要求に応えるには、なるべくキャッシュディスク160の空き容量を増やしておいた方が運用上都合が良い。本仮想ライブラリシステム1においては、これらの理由から仮想記憶装置100からLV′を削除する。
その後、LV−Aに対してリコール処理等が実行されると、PV管理情報22において有効フラグが立っている(有効が設定されている)既存のLV−Aのデータと新規追加したLV−A′のデータとを連結した1つのデータとしてリコールされる。
また、マイグレーションの実行中にホスト200からライト要求が来た場合は、代替論理ボリューム作成部12が、再度、LV′を作成して、そのライト要求に対応する。
さて、上述したマイグレーションにおいて、既存データと追加データとが同一のPVにマイグレーションされなかった場合に、ホスト200からLV−Aに対するリード要求が行なわれた場合には、複数のPVから1つのLVをリコールする必要が生じる。以下、既存データと追加データとを別々のPVにマイグレーションすることを分割マイグレーションという。
図19は実施形態の一例としての仮想ライブラリシステム1における分割マイグレーションが行なわれたPVを例示する図である。
この図19に示す例においては、PV−AとPV−Bとの2つのPVが示されており、PV−AにLV−A,LV−B,LV−C及びLV−Dが、又、PV−BにLV−A′が、それぞれ格納されている。すなわち、LV−AのデータがPV−A上に、又、新たにLV−Aに追加されたLV−A′のデータがPV−B上にそれぞれマイグレーションされている。
この図19に示す例において、ホスト200からLV−A(すなわちLV−A+LV−A′)に対してリード要求が出された際には、2つのPV(PV−A,PV−B)から1つのLV(LV−A及びLV−A′)をリコールする必要がある。
このような分割マイグレーションされたLV−Aのリコールには、複数のPV(PV−A,PV−B)をそれぞれ別のテープドライブ310にマウントする機械的動作が発生することから、1つのPVからリコールを行なう場合に比べてリコール処理に時間がかかってしまう。
そこで、本仮想ライブラリシステム1においては、分割マイグレーションされたLV(LV−A)に対して、リオガニゼーションを実行する。
公知のリオガニゼーション手法においてはPV単位でLVのリコールを行なうが、本仮想ライブラリシステム1においては、代替論理ボリューム制御部13は、分割されていたデータ(LV−A+LV−A′)をキャッシュディスク160上のLV−A′の中で連結する。
そして、代替論理ボリューム制御部13は、これらの連結したLV−Aを1つの連続したデータとして再度PV−Bにマイグレーションを実行する。
マイグレーション完了後、LV−A′の情報を更新し、連結したLV−A,LV−A′のデータを有効とし、ばらばらにPVに保存されているLV−A,LV−A′のデータを無効とする(図19参照)。その結果、その後、ホスト200からLV(LV−A)に対してリード要求が行なわれた際には、1つのPV(PV−B)からのリコール処理が行なわれ、1つのPVからのリコール処理時間で済む。
すなわち、複数のPVに分割マイグレーションされたLVをリオガニゼーションでまとめて、1つのデータとして再マイグレーションを行なうことで、当該LVのリコールに要する時間を短縮することができる。
図20は実施形態の一例としての仮想ライブラリシステム1におけるリオガニゼーション後のPV管理情報22のLV情報を例示する図である。この図20に示すLV情報は、代替論理ボリュームが同一のPVにマイグレーションされなかった場合において、同期を取った後のPV管理情報22上のLV情報を示す。
分割マイグレーションされていたデータを、リオガニゼーションにより、本来あるべき姿の連続したデータに連結すると、代替論理ボリューム制御部13は、この図20に示すように、図15に示したLV情報から不要な情報を削除してPV管理情報22に登録する。図20に示す例においては、図15に示したLV情報から、代替フラグ,既存データサイズ,追加データサイズ追加ブロック番号,既存ブロック数及び追加ブロック数が不要な情報として削除されている。
なお、上述した分割マイグレーションに関するリオガニゼーション処理は、LV−A′をPV−Bにマイグレーションした直後に行なう。ただし、上述した分割マイグレーションに関するリオガニゼーション処理は、仮想ライブラリ(主にバックエンドの実ライブラリ装置300)に対して負荷を与える処理であるので、低負荷時を見計らって実行してもよい。
そして、PV管理情報22上のLV−Aの情報(図13参照)をLV−A′の情報と同期を取る(図15参照)。一方、論理層制御部は、自身が管理している全LVのデータベース(LV管理情報21)に登録されているLV−Aの情報(図4参照)をLV−A′情報(図10参照)と同期を取る(図18参照)。この段階で、LV−A′の役目が終わる。このままLV−A′を仮想ライブラリ上に残す理由もないので、キャッシュ上からLV−A′を削除する。もちろん、PV管理情報22及びLV管理情報21に登録されたLV−A′に関する情報も削除する。
なお、LV−A′を削除する理由として、仮想ライブラリシステム1のバックアップ装置としての特性上、仮想ライブラリでは、直前に書き込きこまれたデータに対してすぐにホスト200からリード要求が行なわれることはほとんどない。又、キャッシュディスク160上に存在しないLVが存在するということは、キャッシュディスク160の容量が満杯であることを意味する。ホスト200からの更なるライト要求に応えるには、なるべくキャッシュディスク160の空き容量を増やしておいた方が運用上都合が良い。本仮想ライブラリシステム1においては、これらの理由から仮想記憶装置100からLV′を削除する。
(B−2)書き換え
図21(A),(B)は実施形態の一例としての仮想ライブラリシステム1における書き換えされたデータのマイグレーションを説明する図である。図21(A)は既にLV−Aが保存されているPV−Aに新たにLV−A′をマイグレーショした状態を示す。又、図21(B)はLV−Aが保存されていないPV−BにLV−A′を格納した状態を示す。
図22は実施形態の一例としての仮想ライブラリシステム1におけるPV管理情報22に登録されている論理ボリュームについてのLV情報を例示する図である。図23は実施形態の一例としての仮想ライブラリシステム1におけるPV管理情報22に登録されている代替論理ボリュームについてのLV情報を例示する図である。なお、図23に示す例においては、LV−A′に関するデータを書き換え処理でPV−AもしくはPV−Bにマイグレーションした場合のLV情報を示す。LV−A′のマイグレーション前においては、図22に示すLV情報がPV管理情報22に登録されている。
代替論理ボリューム制御部13は、PV管理情報22のLV−Aの情報(図13参照)を参照して、図21(A)に示すように、LV−Aが既に保存されているPV−Aをテープドライブ310にマウントし、LV−A′のデータをこのPV−Aにマイグレーションする。
また、PV−AにLV−A′のデータを保存できる容量を確保できない場合には、図21(B)に示すように、代替論理ボリューム制御部13は、容量に余裕がある他のPV(PV−B)をテープドライブ310にマウントし、LV−A′をこのPV−Bにマイグレーションする。
マイグレーションが完了し次第、代替論理ボリューム制御部13は、PV管理情報22において、マイグレーションを行なったPV−AもしくはPV−Bに対して、LV−A′の情報を登録する(図23参照)。この時点で、PV−A上に保存されていたLV−Aのデータ(図22参照)は無効となる。
代替論理ボリューム制御部13(PLM113)は、PV管理情報22に登録されているLV−AのLV情報(図22参照)を、LV−A′のLV情報(図23参照)と同期を取る。又、代替論理ボリューム制御部13(VLM112)は、自身が管理しているLV管理情報21におけるLV−AのLV情報(図7参照)をLV−A′のLV情報(図12参照)と同期を取る。
図24は実施形態の一例としての仮想ライブラリシステム1における代替論理ボリュームとの同期後のPV管理情報22のLV情報を例示する図である。この図24に示すLV情報は、図13に示したLV情報に対して更新を行なった状態を示している。すなわち、世代、データサイズ及びブロック数が、それぞれ、書き換え後のLV−Aに応じて更新されている。
図25は実施形態の一例としての仮想ライブラリシステム1における代替論理ボリュームとの同期後のLV管理情報21のLV情報を例示する図である。この図25に示すLV情報は、図7に示したLV情報に対して更新を行なった状態を示している。すなわち、状態がマイグレーションされた状態を示すMigrated状態に変更された他、ホストアクセスタイムスタンプ、世代、データサイズ及びブロック数が、それぞれ、LV−A′に応じて更新されている。
このように、PV管理情報22及びLV管理情報21の更新が完了した段階で、LV′の役目が終わる。このままLV′を本仮想記憶装置100上に残す理由もないので、代替論理ボリューム制御部13は、キャッシュディスク160上からLV−A′を削除する。併せて、代替論理ボリューム制御部13は、PV管理情報22及びLV管理情報21から、LV−A′に関する情報を削除する。
なお、LV−A′を削除する理由として、仮想ライブラリシステム1のバックアップ装置としての特性上、仮想ライブラリでは、直前に書き込きこまれたデータに対してすぐにホスト200からリード要求が行なわれることはほとんどない。又、キャッシュディスク160上に存在しないLVが存在するということは、キャッシュディスク160の容量が満杯であることを意味する。ホスト200からの更なるライト要求に応えるには、なるべくキャッシュディスク160の空き容量を増やしておいた方が運用上都合が良い。本仮想ライブラリシステム1においては、これらの理由から仮想記憶装置100からLV′を削除する。
(2)動作
上述の如く構成された実施形態の一例としての仮想ライブラリシステム1における各処理を説明する。
(A)マウント処理
図27及び図28を参照しながら、図26に示すフローチャート(ステップA1〜A7)に従って、実施形態の一例としての仮想ライブラリシステム1におけるマウント処理を説明する。なお、図27は実施形態の一例としての仮想ライブラリシステム1におけるマウント処理を説明するシーケンス図、図28は図27における各処理とその主体とを示す図である。
ホスト200においてLV−Aに対するライト処理が起動されると(図27,図28の符号[1]参照)、ホスト200から仮想ライブラリシステム1のVLMF111及びVLM112に対して、LV−Aのマウント要求が発行される(図27,図28の符号[2]参照)。VLMF111及びVLM112においてはマウント要求を受領する(図26のステップA1)。
VLMF111及びVLM112は、ライト要求にかかるLV−Aがキャッシュディスク160上に存在しているか否かを判定する(図27,図28の符号[3]参照;図26のステップA2)。LV−Aがキャッシュディスク160上に存在していない場合には(ステップA2のNOルート参照)、ステップA3において、VLMF111及びVLM112(代替論理ボリューム作成部12)が、LV−Aのスタブデータを複写したLV−A′を作成する。又、ステップA4において、VLMF111及びVLM112は、LV管理情報21に作成したLV−A′の情報を登録する(図27,図28の符号[4]参照)。
ステップA5において、VLMF111及びVLM112は、EMTAPE151及びMD152に対してLV−A′のマウント要求を発行する(図27,図28の符号[5]参照)。又、LV−Aがキャッシュディスク160上に存在している場合には(ステップA2のYESルート参照)、ステップA6において、VLMF111及びVLM112は、EMTAPE151及びMD152に対してLV−Aのマウント要求を発行する(図27,図28の符号[6]参照)。EMTAPE151及びMD152は、VLMF111及びVLM112に対してLV−AもしくはLV−A′のマウント応答を行なう(図27,図28の符号[7]参照)。
その後、ステップA7において、VLMF111及びVLM112はホスト200に対してマウント完了を応答し(図27,図28の符号[8]参照)、処理を終了する。
(B)ライト処理
次に、本仮想ライブラリシステム1におけるライト処理について説明する。
(B−1)追加書き処理
図30及び図31を参照しながら、図29に示すフローチャート(ステップB1〜B16)に従って、実施形態の一例としての仮想ライブラリシステム1におけるLV−A′への追加書き処理を説明する。なお、図30は実施形態の一例としての仮想ライブラリシステム1における追加書き処理を説明するシーケンス図、図31は図30における各処理とその主体とを示す図である。
LV−A′に対する追加書きのライト処理においては、ステップB1において、ホスト200が、EMTAPE151及びMD152に対してVOL Readの要求を行なう(図30,図31の符号[1]参照)。ここで、VOL Readとは、VOL(Volume Block)を読み込む処理であり、ホスト200から指示されたLVであるか否かを確認するために行なわれる。なお、Volume Blockは、ボリューム名や所有者等の情報が書かれている80バイトのブロックである。一般に、VOL Readは、LVにデータを書き込む際、又は、LVのデータを読み込む際に実行される。
ステップB2において、EMTAPE151及びMD152がVOL Readを実行すると(図30,図31の符号[2]参照)、ステップB3において、EMTAPE151及びMD152からホスト200に対してVOL Readの応答が行なわれる(図30,図31の符号[3]参照)。
その後、ホスト200からEMTAPE151及びMD152に対して論理ヘッドの巻き戻し要求が発行され、ステップB4において、EMTAPE151及びMD152がこの巻き戻し要求を受領する(図30,図31の符号[4]参照)。ステップB5において、EMTAPE151及びMD152は、論理ヘッドをLV−A′の始端側に巻き戻す(図30,図31の符号[5]参照)。その後、ステップB6において、EMTAPE151及びMD152は、ホスト200に対して論理ヘッドの巻き戻し完了の応答を通知する(図30,図31の符号[6]参照)。
ホスト200がEMTAPE151及びMD152に対して論理ヘッドの位置付け要求を発行すると(図30,図31の符号[7]参照)、ステップB7において、EMTAPE151及びMD152がこの位置付け要求を受領する。
EMTAPE151及びMD152は、LV−A′に対する論理ヘッドの位置付けを実行する(図30,図31の符号[8]参照)。この際、ホスト200から発行される論理ヘッドの位置付けコマンドは、LV−A′に対する位置付けコマンドである。従って、代替論理ボリューム制御部13は、この発行された位置付けコマンドの実行を抑止して、その処理をスキップする(ステップB8)。ステップB9において、EMTAPE151及びMD152からホスト200に対して論理ヘッドの位置付け完了の応答を行なう(図30,図31の符号[9]参照)。
その後、ホスト200がEMTAPE151及びMD152に対してLV−A′の追加書き要求を行なう(図30,図31の符号[10]参照)。EMTAPE151及びMD152は、追加書き要求を受領し(ステップB10)、実行する(ステップB11;図30,図31の符号[11]参照)。
ステップB12において、EMTAPE151及びMD152はホスト200に対してLV−A追加書き完了の応答を行なう(図30,図31の符号[12]参照)。ステップB13において、VLMF111及びVLM112は、LV管理情報21のLV−A′のLV情報において代替フラグに追加書きである旨のフラグを負荷する(図30,図31の符号[13]参照)。
ホスト200がVLMF111及びVLM112に対してLV−Aのアンマウント要求を発行すると(図30,図31の符号[14]参照)、ステップB14において、VLMF111及びVLM112はLV−Aアンマウント要求を受領する。
VLMF111及びVLM112は、EMTAPE151及びMD152に対してLV−A′のアンマウント要求を発行し(図30,図31の符号[15]参照)、ステップB15において、EMTAPE151及びMD152は、LV−A′のアンマウントを実行する(図30,図31の符号[16]参照)。
EMTAPE151及びMD152はVLMF111及びVLM112に対してLV−A′のアンマウント応答を通知し(図30,図31の符号[17]参照)、ステップB16において、VLMF111及びVLM112はホスト200に対してLV−Aアンマウント完了応答を通知して(図30,図31の符号[18]参照)、処理を終了する。
(B−2)書き換え処理
図33及び図34を参照しながら、図32に示すフローチャート(ステップC1〜C13)に従って、実施形態の一例としての仮想ライブラリシステム1におけるLV−A′への書き換え処理を説明する。なお、図33は実施形態の一例としての仮想ライブラリシステム1における追加書き処理を説明するシーケンス図、図34は図33における各処理とその主体とを示す図である。
LV−A′に対する書き換えのライト処理においては、ステップC1において、ホスト200が、EMTAPE151及びMD152に対してVOL Readの要求を行なう(図33,図34の符号[1]参照)。
ステップC2においてEMTAPE151及びMD152がVOL Readを実行すると(図33,図34の符号[2]参照)、ステップC3において、EMTAPE151及びMD152からホスト200に対してVOL Readの応答が行なわれる(図33,図34の符号[3]参照)。
その後、ホスト200からEMTAPE151及びMD152に対して論理ヘッドの巻き戻し要求が発行され、ステップC4において、EMTAPE151及びMD152がこの巻き戻し要求を受領する(図33,図34の符号[4]参照)。ステップC5において、EMTAPE151及びMD152は、論理ヘッドをLV−A′の始端側に巻き戻す(図33,図34の符号[5]参照)。その後、ステップC6において、EMTAPE151及びMD152は、ホスト200に対して論理ヘッドの巻き戻し完了の応答を通知する(図33,図34の符号[6]参照)。
ホスト200がEMTAPE151及びMD152に対してLV−Aの書き換え要求を発行すると(図33,図34の符号[7]参照)、ステップC7において、EMTAPE151及びMD152がこの書き換え要求を受領する。
ステップC8において、EMTAPE151及びMD152はLV−Aの書き換えを実行する(図33,図34の符号[8]参照)。ステップC9において、EMTAPE151及びMD152はホスト200に対してLV−Aの書き換え完了の応答を行なう(図33,図34の符号[9]参照)。ステップC10において、VLMF111及びVLM112は、LV管理情報21のLV−A′のLV情報に代替フラグに書き換えである旨のフラグを付加する(図33,図34の符号[10]参照)。
ホスト200がVLMF111及びVLM112に対してLV−Aのアンマウント要求を発行すると(図33,図34の符号[11]参照)、ステップC11において、VLMF111及びVLM112はLV−Aアンマウント要求を受領する。
VLMF111及びVLM112は、EMTAPE151及びMD152に対してLV−A′のアンマウント要求を発行し(図33,図34の符号[12]参照)、ステップC12において、EMTAPE151及びMD152は、LV−A′のアンマウントを実行する(図33,図34の符号[13]参照)。
EMTAPE151及びMD152はVLMF111及びVLM112に対してLV−A′のアンマウント応答を通知し(図33,図34の符号[14]参照)、ステップC13において、VLMF111及びVLM112はホスト200に対してLV−Aアンマウント完了応答を通知して(図33,図34の符号[15]参照)、処理を終了する。
(C)マイグレーション処理
前述の如く、本仮想ライブラリシステム1においては、代替論理ボリューム制御部(マイグレーション処理部)13は、キャッシュディスク160上のLVにデータの更新があると、そのLVを実ライブラリ装置300のカートリッジテープにマイグレーションする。
(C−1)追加書き処理のマイグレーション
図36〜図39を参照しながら、図35に示すフローチャート(ステップD1〜D14)に従って、実施形態の一例としての仮想ライブラリシステム1における追加書きの場合のマイグレーション処理を説明する。なお、図36は実施形態の一例としての仮想ライブラリシステム1における同一PVへのマイグレーションでの追加書き処理を説明するシーケンス図、図37は図36における各処理とその主体とを示す図である。又、図38は実施形態の一例としての仮想ライブラリシステム1における分割マイグレーションでの追加書き処理を説明するシーケンス図、図39は図38における各処理とその主体とを示す図である。すなわち、図38及び図39は代替論理ボリュームが同一のPVにマイグレーションされなかった場合を示す。
先ず、VLMF111及びVLM112はPLM113に対してLV−A′のマイグレーション要求を行なう(図36〜図39の符号[1]参照)。
ステップD1において、PLM113は、PV−AにLV−A′のデータを格納するための充分な空き容量があるか否かを確認する(図36〜図39の符号[2]参照)。
PV−Aに充分な余裕がある場合には(ステップD1のYESルート参照)、PLM113はPLS114にPV−Aを物理ドライブ310にマウントさせる要求を行なう(図36,図37の符号[3]参照)。ステップD4において、PLS114は、PV−Aを物理ドライブ310にマウントする(図36,図37の符号[4]参照)。PLS114はPLM113に対してPV−Aのマウントを応答し(図36,図37の符号[5]参照)、ステップD5において、PLM113がPV−AにLV−A′のマイグレーションを実行する(図36,図37の符号[6]参照)。PLM113は、VLMF111及びVLM112に対して、LV−A′のマイグレーション完了を応答する(図36,図37の符号[7]参照)。
一方、PV−Aに充分な余裕がない場合には(ステップD1のNOルート参照)、PLM113はPLS114にPV−Bを物理ドライブ310にマウントさせる要求を行なう(図38,図39の符号[3]参照)。ステップD2において、PLS114は、PV−Bを物理ドライブ310にマウントする(図38,図39の符号[4]参照)。PLS114はPLM113に対してPV−Bのマウントを応答し(図38,図39の符号[5]参照)、ステップD3において、PLM113がPV−BにLV−A′のマイグレーション(分割マイグレーション)を実行する(図38,図39の符号[6]参照)。PLM113は、VLMF111及びVLM112に対して、LV−A′のマイグレーション完了を応答する(図38,図39の符号[7]参照)。
マイグレーションが完了すると、ステップD6において、PLM113は、PV管理情報22に対して、既に登録されているLV−Aの情報を加味してLV−A′の情報を登録する(図38,図39の符号[8]参照)。
なおここで、LV−A′がPV−Bにマイグレーションされた場合、すなわち分割マイグレーションが行なわれた場合には、以下のステップD7〜D9に示す、分割マイグレーションに関するリオガニゼーション処理を行なう。
すなわち、ステップD7において、物理ドライブ310のリソースに余裕があるか否かの確認が行なわれる(図38,図39の符号[9]参照)。物理ドライブ310のリソースに余裕がない場合には(ステップD7のNOルート参照)、ステップD7を繰り返し行なう。
物理ドライブ310のリソースに余裕がある場合には(ステップD7のYESルート参照)、PLM113はPLS114にPV−Aを物理ドライブ310にマウントさせる要求を行なう(図38,図39の符号[10]参照)。
ステップD8において、PLS114は、PV−Aを物理ドライブ310にマウントする(図38,図39の符号[11]参照)。PLS114はPLM113に対してPV−Aのマウントを応答し(図38,図39の符号[12]参照)、ステップD9においてLV−A′をPV−Bにリオガニゼーションさせる(図38,図39の符号[13]参照)。ステップD10においてPV管理情報22のLV−A′情報を更新する(図38,図39の符号[14]参照)
その後、ステップD11において、PLM113は、PV管理情報22上のLV−Aの情報をLV−A′の情報と同期をとる。又、VLMF111及びVLM112は、LV管理情報21上のLV−Aの情報をLV−A′の情報と同期をとる(図36,図37の符号[9]及び図38,図39の符号[15]参照)。
ステップD12において、PLM113はPV管理情報22から、又、VLMF111及びVLM112はLV管理情報21およびキャッシュディスク160からLV−A′の情報を削除する(図36,図37[10]及び図38,図39の符号[16]参照)。
PLM113はPLS114に対してPV−AもしくはPV−Bのアンマウント要求を行なう(図36,図37の符号[11]及び図38,図39の符号[17]参照)。すなわち、PV−Aにマイグレーションが行なわれた場合には、ステップD14において、PLS114はPV−Aをアンマウントする(図36,図37の符号[12]参照)。一方、PV−Bにマイグレーションが行なわれた場合には、ステップD13において、PLS114はPV−A及びPV−Bをアンマウントする(図38,図39の符号[18]参照)。
PLS114はPLM113に対してアンマウント完了の応答を行ない(図36,図37の符号[13]及び図38,図39の符号[19]参照)、処理を終了する。
(C−2)書き換え処理の場合
図41及び図42を参照しながら、図40に示すフローチャート(ステップE1〜E10)に従って、実施形態の一例としての仮想ライブラリシステム1における書き換えの場合のマイグレーション処理を説明する。なお、図41は実施形態の一例としての仮想ライブラリシステム1における書き換え処理にかかるマイグレーションを説明するシーケンス図、図42は図41における各処理とその主体とを示す図である。
先ず、VLMF111及びVLM112はPLM113に対してLV−A′のマイグレーション要求を行なう(図41,図42の符号[1]参照)。
ステップE1において、PLM113は、PV−AにLV−A′のデータを格納するための充分な空き容量があるか否かを確認する(図41,図42の符号[2]参照)。
PV−Aに充分な余裕がある場合には(ステップE1のYESルート参照)、PLM113はPLS114にPV−Aを物理ドライブ310にマウントさせる要求を行なう(図41,図42の符号[3]参照)。ステップE4において、PLS114は、PV−Aを物理ドライブ310にマウントする(図41,図42の符号[4]参照)。PLS114はPLM113に対してPV−Aのマウントを応答し(図41,図42の符号[5]参照)、ステップE5において、PLM113がPV−AにLV−A′のマイグレーションを実行する(図41,図42の符号[6]参照)。PLM113は、VLMF111及びVLM112に対して、LV−A′のマイグレーション完了を応答する(図41,図42の符号[7]参照)。
一方、PV−Aに充分な余裕がない場合には(ステップE1のNOルート参照)、PLM113はPLS114にPV−Bを物理ドライブ310にマウントさせる要求を行なう(図41,図42の符号[3]参照)。ステップE2において、PLS114は、PV−Bを物理ドライブ310にマウントする(図41,図42の符号[4]参照)。PLS114はPLM113に対してPV−Bのマウントを応答し(図41,図42の符号[5]参照)、ステップE3において、PLM113がPV−BにLV−A′のマイグレーションを実行する(図41,図42の符号[6]参照)。PLM113は、VLMF111及びVLM112に対して、LV−A′のマイグレーション完了を応答する(図41,図42の符号[7]参照)。
マイグレーションが完了すると、ステップE6において、PLM113は、PV管理情報22に対してLV−A′の情報を登録する(図41,図42の符号[8]参照)。この時点で、PV−A上に既に保存されていたLV−Aのデータは無効となる(図22参照)。
ステップE7において、PLM113は、PV管理情報22上のLV−Aの情報(図22参照)をLV−A′の情報(図23参照)と同期をとる。又、VLMF111及びVLM112は、LV管理情報21上のLV−Aの情報(図4参照)をLV−A′の情報(図12参照)と同期をとる(図41,図42の符号[9]参照)。
ステップE8において、PLM113はPV管理情報22からLV−A′の情報を削除し、VLMF111及びVLM112はLV管理情報21およびキャッシュディスク160からLV−A′の情報を削除する(図41,図42の符号[10]参照)。
PLM113はPLS114に対してPV−AもしくはPV−Bのアンマウント要求を行なう(図41,図42の符号[11]参照)。すなわち、PV−Aにマイグレーションが行なわれた場合には、ステップE10において、PLS114はPV−Aをアンマウントする(図41,図42の符号[12]参照)。一方、PV−Bにマイグレーションが行なわれた場合には、ステップE9において、PLS114はPV−Bをアンマウントする(図41,図42の符号[12]参照)。
PLS114はPLM113に対してアンマウント完了の応答を行ない(図41,図42の符号[13]参照)、処理を終了する。
(3)リード処理について
参考までに、本仮想ライブラリシステム1におけるホスト200からのリード要求について説明する。
仮想記憶装置100がホスト200からの処理がリードだと分かるタイミングは、リードが実行されるとき、すなわち、ホスト200からリードコマンドを受領したときである(後述する図43,図44の符号[15]参照)。
このとき、リードの対象となるLVデータの実体がキャッシュディスク160上に存在しない、すなわちスタブデータのみの場合には、仮想記憶装置100はLVデータがキャッシュディスク160上にリコールされるまでホスト200にリードの実行を一時的に待たせる。
LVデータのリコール先は、LV′をとする。リコール完了を契機に、ホストは、リード処理を再開する。
前述の如く、バックアップ装置としての特性上、仮想ライブラリシステム1は、ライト処理が圧倒的に多く、リード処理は少ない。この傾向から、リコールして間もないLVに対して近い将来すぐにホスト200からリードされる可能性は低い。又、キャッシュディスク160上に存在しないLVが存在するということは、キャッシュディスク160の容量が満杯であることを意味する。ホスト200からの更なるライト要求に応えるには、なるべくキャッシュディスク160の空き容量を増やしておいた方が運用上都合が良い。本仮想ライブラリシステム1においては、リードが完了し次第、直前にリコールされたLVデータを含むLV′を削除する。
また、キャッシュディスク160上に存在しないLVデータを意図的にキャッシュディスク160上に展開したい場合は、既成機能のプレロードを実行することが望ましい。
図44を参照しながら、実施形態の一例としての仮想ライブラリシステム1における代替論理ボリュームに対するリード処理を、図43に示すシーケンス図に従って説明する。なお、図44は図43における各処理とその主体とを示す図である。
ホスト200は、EMTAPE151及びMD152に対してリード処理を起動した後(符号[1]参照)、VLMF111及びVLM112に対してLVのマウント要求を行なう(符号[2]参照)。VLMF111及びVLM112は、リード要求がされたLVがキャッシュディスク160上にあるか否かを判定する(符号[3]参照)。
リード要求がされたLVがキャッシュディスク160上に無い場合には、VLMF111及びVLM112は、LV′を作成し、このLV′をLV管理情報21に登録する(符号[4]参照)。VLMF111及びVLM112は、EMTAPE151及びMD152に対してLV′のマウントを要求する(符号[5]参照)。EMTAPE151及びMD152はLV′のマウントを実行し(符号[6]参照)、VLMF111及びVLM112に対してLV′のマウントを完了した旨の応答を行なう(符号[7]参照)。
VLMF111及びVLM112はホスト200に対してリード対象のLVのマウントが完了した旨の応答を行なう(符号[8]参照)。
ホスト200は、EMTAPE151及びMD152に対してVOLの読み込み要求を行なった後(符号[9]参照)、リードを実行し(符号[10]参照)、EMTAPE151及びMD152がホスト200に対してVOLの読み込み応答を行なう(符号[11]参照)。
ホスト200はEMTAPE151及びMD152に対して論理ヘッドの始端側への巻き戻し要求を行なう(符号[12]参照)。EMTAPE151及びMD152は、これに従って論理ヘッドの巻き戻しを行ない(符号[13]参照)、ホスト200に対して巻き戻しを行なった旨の応答を行なう(符号[14]参照)。
そして、ホスト200がリードを実行する(符号[15]参照)。VLMF111及びVLM112は、ホスト200に対してLVのリード処理の実行待ちを要求する(符号[16]参照)。すなわち、読出対象のLVデータがキャッシュディスク160上にリコールされるまで、ホスト200にリードの実行を一時的に待たせる(抑止する)。
VLMF111及びVLM112はPLM113に対してリード対象のLVのリコール要求を行ない(符号[17]参照)、PLM113はPLS114に対してリード対象のLVが格納されたPVのマウント要求を行なう(符号[18]参照)。
PLS114は、PVのマウントを実行し(符号[19]参照)、PLM113に対してマウントを完了した旨の応答を行なう(符号[20]参照)。
PLM113はリード対象のLVが格納されたPVのリコールを行なう(符号[21]参照)。PLMは、VLMF111及びVLM112に対してLVのリコール応答を行なう(符号[22]参照)。PLS114は、PLM113に対してPVのマウント応答を行なう(符号[23]参照)。
PLM113は、LV−Aのリコールを行なった後(符号[24]参照)、VLMF111及びVLM112に対してLV−Aのリコール応答を行なう(符号[25]参照)。VLMF111及びVLM112は、ホスト200に対してLVのリード処理待ち解除の応答を行なう(符号[26]参照)。リコール完了を契機にホスト200はリードを実行(再開)し(符号[27]参照)、EMTAPE151及びMD152はホスト200に対してLVのリード応答を行なう(符号[28]参照)。
ホスト200はVLMF111及びVLM112に対してLVのアンマウントを要求すると(符号[29]参照)、VLMF111及びVLM112がEMTAPE151及びMD152に対してLVのアンマウント要求を行なう(符号[30]参照)。
EMTAPE151及びMD152は、LV′のアンマウントを実行し(符号[31]参照)、VLMF111及びVLM112に対してLVアンマウント完了を通知する(符号[32]参照)。VLMF111及びVLM112は、ホスト200に対してLVアンマウント完了を通知し(符号[33]参照)、LV′を削除する(符号[34]参照)。
(4)効果
このように、実施形態の一例としての仮想ライブラリシステム1によれば、キャッシュディスク160上に存在しないLVに対してホスト200からライト要求があった場合に、代替論理ボリューム作成部12がLV′を作成する。そして、代替論理ボリューム制御部13が、ホスト200からのライト要求をこのLV′に対して行なう。これにより、要求されたLVが保存されているPVをテープドライブ(物理ドライブ)310にマウントする必要がなく、実ライブラリ装置300においてロボット312の機械動作を含むリコール処理を省略することができる。従って、キャッシュディスク160上に存在しないLVに対してホスト200からライト要求があった場合に、このライト要求を短時間で処理することができ、仮想記憶装置100の書き込み性能を向上させることができる。
また、キャッシュディスク160上にLV′のスペースを格納することができない場合に、LRUアルゴリズムに従って、参照されていない時間が長いLVをキャッシュディスク160から追い出してLV′のスペースを確保する。これにより、LV′をキャッシュディスク160上に確実に作成することができる。
また、代替論理ボリューム作成部12が、LVのスタブを用いてLV′を作成することにより、LV′を容易に作成することができ利便性が高い。
代替論理ボリューム制御部13は、ホスト200からLV′に対するライト要求が行なわれた場合において、そのライト要求が追加書き処理である場合に、ライト要求に付属する位置付けコマンドの実行を抑止することで、LV′の先頭からデータライトを行なう。これにより、LV′に対する追加書き処理を実現することができる。
一方、代替論理ボリューム制御部13は、LV′に対するライト要求が行なわれた場合において、そのライト要求が書き換え処理である場合には、データを即座にLV′に書き込む。
このように、LV′に対して、追加書き処理及び書き換え処理のいずれのライト要求でも対応することができる。
代替論理ボリューム制御部(代替論理ボリューム削除部)13が、LV′のデータをPVにマイグレーションした後に、キャッシュディスク160上からマイグレーションしたPV′を削除する。これにより、キャッシュディスク160の空き容量を確保し、効率良く使用することができる。
また、数のPVに分割マイグレーションされたLVをリオガニゼーションでまとめて、1つのデータとして再マイグレーションを行なうことで、当該LVのリコールに要する時間を短縮することができる。
(5)その他
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
1 仮想ライブラリシステム
12 代替論理ボリューム作成部
13 代替論理ボリューム制御部(ライト処理部,代替論理ボリューム削除部,連結処理部)
14 ライブラリ制御部
20 記憶装置(記憶部)
21 LV管理情報
22 PV管理情報
50 LAN
100 仮想記憶装置
110 VLP,仮想ライブラリコントローラ,
111 VLMF
112 VLM
113 PLM
114 PLS
150 ICP
151 EMTAPE(論理ドライブ)
152 MD
160 キャッシュディスク
170 IDP(書き込み手段)
171 PDS
200 ホスト(上位装置)
201 チャンネル(Channel)
202 VTCP
300 実ライブラリ装置
301 テープライブラリ装置
310 カートリッジドライブ(物理ドライブ)
312 ロボット
400 PLP

Claims (16)

  1. 上位装置からのデータの書込指示の対象の論理ボリュームがキャッシュディスク上に存在しない場合に、前記キャッシュディスク上に代替論理ボリュームを作成する代替論理ボリューム作成部と、
    作成した前記代替論理ボリュームに前記データのライトを行なうライト処理部と、
    を備えることを特徴とする、仮想ライブラリコントローラ。
  2. 前記代替論理ボリューム作成部が、
    前記書込指示の対象の論理ボリュームについての前記キャッシュディスク上の管理情報を複写することにより、前記代替論理ボリュームを作成することを特徴とする、請求項1記載の仮想ライブラリコントローラ。
  3. 前記代替論理ボリューム作成部が、
    論理ボリュームを管理する管理情報において、前記代替論理ボリュームに対して、代替状態を表す識別情報を設定することを特徴とする、請求項1又は2記載の仮想ライブラリコントローラ。
  4. 前記代替論理ボリューム作成部が、
    前記キャッシュディスク上に前記代替論理ボリュームの格納できる空き容量がない場合に、前記代替論理ボリュームを格納可能な容量に相当する論理ボリュームを前記キャッシュディスクから削除することを特徴とする、請求項1〜3のいずれか1項に記載の仮想ライブラリコントローラ。
  5. 前記代替論理ボリューム作成部が、
    前記キャッシュディスク上の論理ボリュームのうち、アクセス頻度の低い前記論理ボリュームを優先して、前記キャッシュディスクから削除する論理ボリュームとして選択することを特徴とする、請求項4記載の仮想ライブラリコントローラ。
  6. 前記ライト処理部が、
    前記上位装置からの書込指示が追加書き処理である場合に、前記書込指示に付属する位置付けコマンドの実行を抑止することで、代替論理ボリュームの先頭からライトを行なうことを特徴とする、請求項1〜5のいずれか1項に記載の仮想ライブラリコントローラ。
  7. 前記代理論理ボリュームのデータを物理ボリュームに移動させた後に、前記キャッシュディスク上から前記代理論理ボリュームを削除する代替論理ボリューム削除部を備えることを特徴とする、請求項1〜6のいずれか1項に記載の仮想ライブラリコントローラ。
  8. 相互に関連する複数の前記論理ボリュームを複数の物理ボリュームに移動させた場合に、前記複数の物理ボリュームからそれぞれ読み出した前記論理ボリュームを、前記キャッシュディスク上において連結し、連結した前記複数の論理ボリュームを同一の物理ボリュームに移動させる連結処理部を備えることを特徴とする、請求項1〜7のいずれか1項に記載の仮想ライブラリコントローラ。
  9. 上位装置と実ライブラリ装置との間に介在し、論理ボリュームを仮想的なライブラリ装置としてキャッシュディスクに格納させる仮想ライブラリコントローラの制御方法であって、
    前記上位装置からのデータの書込指示の対象の論理ボリュームがキャッシュディスク上に存在しない場合に、前記キャッシュディスク上に代替論理ボリュームを作成するステップと、
    作成した前記代替論理ボリュームに前記データのライトを行なうステップと、
    を備えることを特徴とする制御方法。
  10. 前記書込指示の対象の論理ボリュームについての前記キャッシュディスク上の管理情報を複写することにより、前記代替論理ボリュームを作成することを特徴とする、請求項9記載の制御方法。
  11. 論理ボリュームを管理する管理情報において、前記代替論理ボリュームに対して、代替状態を表す識別情報を設定することを特徴とする、請求項9又は10記載の制御方法。
  12. 前記キャッシュディスク上に前記代替論理ボリュームの格納できる空き容量がない場合に、前記代替論理ボリュームを格納可能な容量に相当する論理ボリュームを前記キャッシュディスクから削除することを特徴とする、請求項9〜11のいずれか1項に記載の制御方法。
  13. 前記キャッシュディスク上の論理ボリュームのうち、アクセス頻度の低い前記論理ボリュームを優先して、前記キャッシュディスクから削除する論理ボリュームとして選択することを特徴とする、請求項12記載の制御方法。
  14. 前記上位装置からの書込指示が追加書き処理である場合に、前記書込指示に付属する位置付けコマンドの実行を抑止することで、代替論理ボリュームの先頭からライトを行なうことを特徴とする、請求項9〜13のいずれか1項に記載の制御方法。
  15. 前記代理論理ボリュームのデータを物理ボリュームに移動させた後に、前記キャッシュディスク上から前記代理論理ボリュームを削除することを特徴とする、請求項9〜14のいずれか1項に記載の制御方法。
  16. 相互に関連する複数の前記論理ボリュームを複数の物理ボリュームに移動させた場合に、前記複数の物理ボリュームからそれぞれ読み出した前記論理ボリュームを、前記キャッシュディスク上において連結し、連結した前記複数の論理ボリュームを同一の物理ボリュームに移動させることを特徴とする、請求項9〜15のいずれか1項に記載の制御方法。
JP2013096754A 2013-05-02 2013-05-02 仮想ライブラリコントローラ及び制御方法 Withdrawn JP2014219750A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013096754A JP2014219750A (ja) 2013-05-02 2013-05-02 仮想ライブラリコントローラ及び制御方法
US14/259,502 US20140331007A1 (en) 2013-05-02 2014-04-23 Virtual library controller and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013096754A JP2014219750A (ja) 2013-05-02 2013-05-02 仮想ライブラリコントローラ及び制御方法

Publications (1)

Publication Number Publication Date
JP2014219750A true JP2014219750A (ja) 2014-11-20

Family

ID=51842133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013096754A Withdrawn JP2014219750A (ja) 2013-05-02 2013-05-02 仮想ライブラリコントローラ及び制御方法

Country Status (2)

Country Link
US (1) US20140331007A1 (ja)
JP (1) JP2014219750A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019067186A (ja) * 2017-10-02 2019-04-25 富士通株式会社 ストレージ制御装置およびプログラム
JP2021157527A (ja) * 2020-03-27 2021-10-07 富士通株式会社 ストレージ制御装置、ストレージシステム、及びストレージ制御プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430602B2 (en) * 2016-12-16 2019-10-01 International Business Machines Corporation Tape processing offload to object storage
US11290532B2 (en) * 2016-12-16 2022-03-29 International Business Machines Corporation Tape reconstruction from object storage
CN107220007B (zh) * 2017-06-14 2018-04-20 湖北第二师范学院 一种基于蓝光存储设备的vtl***和方法
CN110413545B (zh) * 2018-04-28 2023-06-20 伊姆西Ip控股有限责任公司 存储管理方法、电子设备和计算机程序产品

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134217A (ja) * 2004-11-09 2006-05-25 Fujitsu Ltd ライブラリシステム,仮想ライブラリ装置,及びキャッシュ復元方法
US8341346B2 (en) * 2010-06-25 2012-12-25 International Business Machines Corporation Offloading volume space reclamation operations to virtual tape systems
US8621170B2 (en) * 2011-01-05 2013-12-31 International Business Machines Corporation System, method, and computer program product for avoiding recall operations in a tiered data storage system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019067186A (ja) * 2017-10-02 2019-04-25 富士通株式会社 ストレージ制御装置およびプログラム
JP2021157527A (ja) * 2020-03-27 2021-10-07 富士通株式会社 ストレージ制御装置、ストレージシステム、及びストレージ制御プログラム
JP7409196B2 (ja) 2020-03-27 2024-01-09 富士通株式会社 ストレージ制御装置、ストレージシステム、及びストレージ制御プログラム

Also Published As

Publication number Publication date
US20140331007A1 (en) 2014-11-06

Similar Documents

Publication Publication Date Title
US8924664B2 (en) Logical object deletion
US8806154B1 (en) Thin provisioning row snapshot with reference count map
US8392685B2 (en) Arrangements for managing metadata of an integrated logical unit including differing types of storage media
US9606748B2 (en) Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
JP2014219750A (ja) 仮想ライブラリコントローラ及び制御方法
CN106326229B (zh) 一种嵌入式***的文件存储方法和装置
JP2010191647A (ja) ファイル共有システム、ファイルサーバ、ファイル管理方法
US8478933B2 (en) Systems and methods for performing deduplicated data processing on tape
US11221989B2 (en) Tape image reclaim in hierarchical storage systems
US8205041B2 (en) Virtual tape apparatus, control method of virtual tape apparatus, and control section of electronic device
US20140074776A1 (en) Re-trim of free space within vhdx
JP2014533850A (ja) 記憶システム上に格納されたファイルを読み取るための方法、コンピュータ・プログラム、記憶システム
WO2015145636A1 (ja) ストレージシステム
WO2011138210A1 (en) Mapping locations of logical volume records on a physical stacked volume
CN103514249A (zh) 一种数据自精简方法和***及存储装置
JP2007233896A (ja) ストレージ装置及びその制御方法
JP2007249573A (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
US9122689B1 (en) Recovering performance of a file system post-migration
JP2005316635A (ja) データ処理システムおよび方法並びにその処理プログラム
US8359439B2 (en) Backup apparatus, backup method, and file reading apparatus
JP2015079409A (ja) 階層管理下の論理ボリュームのスナップショットの作成及び管理
JP5729479B2 (ja) 仮想テープ装置及び仮想テープ装置の制御方法
US20060059188A1 (en) Operation environment associating data migration method
KR20230056707A (ko) 데이터 스토리지 볼륨 복구 관리
US20210103400A1 (en) Storage system and data migration method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20160325