JP2014215686A - データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置 - Google Patents
データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置 Download PDFInfo
- Publication number
- JP2014215686A JP2014215686A JP2013090453A JP2013090453A JP2014215686A JP 2014215686 A JP2014215686 A JP 2014215686A JP 2013090453 A JP2013090453 A JP 2013090453A JP 2013090453 A JP2013090453 A JP 2013090453A JP 2014215686 A JP2014215686 A JP 2014215686A
- Authority
- JP
- Japan
- Prior art keywords
- migration
- folder
- request
- migration destination
- metadata
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Abstract
【課題】ストレージ装置間のデータ移行時における応答性能の低下を防ぐ。【解決手段】移行元ストレージ装置、移行先ストレージ装置、I/O要求に応じて移行元ストレージ装置にデータを記憶する移行元サーバ装置、及びI/O要求に応じて移行先ストレージ装置10にデータを記憶する移行先サーバ装置を備え、移行先サーバ装置が、未移行のフォルダ又はファイルを処理対象とするI/O要求を受信した際、移行元ストレージ装置から移行先ストレージ装置にフォルダ又はファイルのメタデータを移行する機能を備えた情報処理システム1において、移行先サーバ装置と通信可能に接続された情報処理装置に、未移行のフォルダ又はファイルのメタデータを必要とする移行先サーバ装置に対するI/O要求を移行先サーバ装置に送信させるスクリプトを実行させるようにする。【選択図】図2
Description
本発明は、データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置に関する。
データセンタやシステムセンタ等においては、製品のリプレース、システムの構成変更、障害の発生等に伴い、ストレージ装置間でのデータ移行が随時実施される。しかし移行すべきデータが大量であると移行に長時間を要し、エンドユーザに対するサービスに与える影響が問題になる。
ここで移行に要する時間を短縮する仕組みとして、例えば、特許文献1には、ファイルシステムが動作しているサーバ装置間(ストレージ装置間)のファイルのデータの移行に際し、移行元のストレージ装置のディレクトリイメージ(フォルダイメージ)のうち最上位のディレクトリから所定の下位階層までのディレクトリイメージを移行先のストレージ装置に移行しておき、移行先のストレージ装置に移行されていないフォルダ又はファイルのメタデータを必要とするI/O要求が発行されたときに、オンデマンドで該当のフォルダ又はファイルのメタデータを移行元のストレージ装置から移行先のストレージ装置に移行することが開示されている。
しかし上記特許文献1の仕組みを実施した場合でも、エンドユーザに対するサービスに影響を与えることがある。即ち、例えば図11に示すように、移行元のストレージ装置に「home」フォルダ並びにその直下に置かれた多数のファイル(「a.jpg」等)が存在し、移行先ストレージ装置に「home」フォルダのメタデータのみが移行されている状況であるときに、例えばエンドユーザが、「home」ディレクトリをマウス等で選択(クリック)して「home」フォルダの中を覗こうとすると、「home」フォルダ直下の全ファイル(「a.jpg」等)について移行元ストレージ装置から移行先ストレージ装置への大量のメタデータの移行(データ転送)が発生し、エンドユーザへのレスポンスが大きく遅延してしまう。
本発明はこのような課題に鑑みてなされたものであり、データ移行時におけるエンドユーザに対するサービスに与える影響を低減することが可能な、データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置を提供することを目的とする。
上記の課題を解決するための本発明のうちの一つは、データの移行元となる移行元ストレージ装置と、データの移行先となる移行先ストレージ装置と、ファイルシステムが動作し、受け付けたI/O要求に応じて前記移行元ストレージ装置にデータを記憶する移行元サーバ装置と、ファイルシステムが動作し、受け付けたI/O要求に応じて前記移行先ストレージ装置にデータを記憶する移行先サーバ装置と、を備え、前記移行先サーバ装置が、未移行のフォルダ又はファイルを処理対象とするI/O要求を受信した際、前記移行元ストレージ装置から前記移行先ストレージ装置に前記フォルダ又はファイルのメタデータを移行する機能を備えた情報処理システムにおける、データの移行方法であって、前記移行先サーバ装置と通信可能に接続された情報処理装置であるI/O要求送信装置に、未移行のフォルダ又はファイルのメタデータを必要とする前記移行先サーバ装置に対するI/O要求を送信させるスクリプトを実行させる。
本発明によれば、データ移行時におけるエンドユーザに対するサービスに与える影響を低減することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
以下、発明を実施するための形態について図面とともに説明する。
図1に実施形態として説明する情報処理システム1の概略的な構成を示している。同図に示すように、情報処理システム1は、複数のストレージ装置10、複数のサーバ装置20、及びスクリプト生成装置30(I/O要求送信装置)を含んで構成される。
情報処理システム1は、例えば、企業や官公庁等の組織が運営するシステムセンタやデータセンタ等に設けられる。情報処理システム1は、通信ネットワーク5を介して接続しているクライアント装置2に対して、データサービス、クラウドサービス、Webサービスなどの各種の情報処理サービスを提供する。尚、通信ネットワーク5は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット(Internet)、公衆通信網、専用線等である。
同図に示すように、ストレージ装置10は、データコントローラ11及び記憶装置12を備える。データコントローラ11と記憶装置12とは、制御バス、クロスバースイッチ(Cross Bar Switch)、LAN、SAN(Storage Area Network)等の通信手段を介して通信可能に接続されている。ストレージ装置10は、サーバ装置20から送られてくる、I/O処理(データの書き込み、データの読み出し)の対象となる記憶装置12の記憶領域をブロックアドレスにより指定したI/Oコマンド(データ書き込みコマンド、データ読み出しコマンド)を受け付け、受け付けたI/Oコマンドに従い記憶装置12に対してI/O処理を行う。尚、データコントローラ11及び記憶装置12は、同一筐体に収容されていることもあるし、独立した筐体に収容されていることもある。このような構成を有するストレージ装置10の一例として、ディスクアレイ装置(Disk Array Controller(Device))がある。
データコントローラ11は、プロセッサ(CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DMA(Direct Memory Access)等で構成される)、メモリ(ROM(Read Only Memory)、RAM(Random Access Memory)、NVRAM(Non-volatile memory)等)、通信装置(例えば、サーバ装置20と通信するための通信制御装置(チャネル制御装置、NIC(Network Interface Card)、HBA(Host Bus Adaptor)等)、記憶装置12と通信するドライブ制御装置(FCインタフェース、SASインタフェース、SATAインタフェース、SCSIインタフェース等))を備える。尚、上記メモリは、プログラムやデータの保存に用いられるほか、記憶装置12に書き込まれるデータや記憶装置12から読み出されるデータを一時的に記憶するキャッシュメモリとしても用いられる。
記憶装置12は、一つ以上の記憶ドライブ(SAS(Serial Attached SCSI)、SATA(Serial ATA)、FC(Fibre Channel)、PATA(Parallel ATA)、SCSI等のタイプのハードディスクドライブ、半導体記憶装置(SSD(Solid State Drive)等)を備える。記憶装置12は、例えば、RAID(Redundant Arrays of Inexpensive (or Independent) Disks)等の制御方式に従って記憶ドライブを制御し、記憶ドライブの記憶領域を論理的な記憶領域としてデータコントローラ11に提供することができる。
サーバ装置20は、情報処理装置であって、プロセッサ31(CPU、MPU等)、メモリ22(ROM、RAM、NVRAM等)、記憶装置23(ハードディスク、SSD、光学式ドライブ等)、入力装置24(キーボード、マウス、タッチパネル等)、出力装置25(表示装置、印字装置等)、及び通信インタフェース(以下、通信I/F26と表記する)(NIC、HBA等)を備える。
サーバ装置20は、クライアント装置2と通信ネットワーク5を介して通信可能に接続されている。サーバ装置20は、クライアント装置2から受信したI/O要求に応じて、通信可能に接続しているストレージ装置10に前述したI/Oコマンドを送信する。
スクリプト生成装置30は、情報処理装置であって、プロセッサ21(CPU、MPU等)、メモリ22(ROM、RAM、NVRAM等)、記憶装置23(ハードディスク、SSD、光学式ドライブ等)、入力装置24(キーボード、マウス、タッチパネル等)、出力装置25(表示装置、印字装置等)、及び通信インタフェース(以下、通信I/F26と表記する)(NIC等)を備える。
スクリプト生成装置30は、通信ネットワーク6を介して各サーバ装置20と通信可能に接続している。通信ネットワーク6は、例えば、LAN、WAN、インターネット、公衆通信網、専用線である。
図2にストレージ装置10、サーバ装置20、及びスクリプト生成装置30が備える主な機能を示している。
同図に示すように、サーバ装置20(移行元サーバ装置、移行先サーバ装置)は、ファイルシステム211及びデータ移行処理部212の各機能を備える。これらの機能は、サーバ装置20のプロセッサ21が、メモリ22に格納されているプログラムを読み出して実行することにより実現される。尚、図示していないが、サーバ装置20ではオペレーティングシステム(Operating System)やデバイスドライバ(Device Driver)等の基本ソフトウエアが動作しており、サーバ装置20の機能は原則としてこれら基本ソフトウエアの制御下で実現される。
ファイルシステム211は、フォルダ又はファイルを単位としたI/O処理機能を実現する。ファイルシステム211として、例えば、FAT(File Allocation Table)、NTFS、HFS(Hierarchical File System)、ext2(second extended file system)、ext3(third extended file system)、ext4(fourth extended file system)などがある。尚、ファイルシステム211は、NFS(Network File System)、CIFS(Common Internet File System)、AFS(Andrew File System)等のファイル共有機能を備えていてもよい。
ファイルシステム211は、フォルダやファイルのデータである、メタデータ及び実体データをストレージ装置10の記憶装置12に管理している。尚、上記メタデータには、例えば、所有者(owner)、ファイルタイプ(file type)(ファイル、フォルダ)、アクセス権(permission)、最終アクセス日時(例えば最終更新日時及び最終参照日時のうち遅い方の日時)、ファイルサイズ、実体データの記憶先アドレス(ファイルのメタデータの場合のみ。記憶先アドレスは、例えば記憶装置12の記憶領域を特定するブロックアドレスで表記される。)等の情報が含まれる。例えばファイルシステム211がUNIX(登録商標)系のファイルシステムである場合、「inode」として管理される情報がメタデータに相当する。
また実体データは、メタデータの記憶先アドレスで指定される記憶装置12の記憶領域に格納されるデータであり、フォルダやファイルの本体である。例えば、フォルダの実体データは、そのフォルダの直下(「フォルダの直下」の意味については後述する)に存在するフォルダ又はファイルのメタデータである。またファイルの実体データは、例えば、文書編集ソフトウエアが取り扱う文書ファイルにおける文書データ、図形編集ソフトウエアが取り扱う図形ファイルにおける図形データである。
データセンタやシステムセンタ等では、製品のリプレース、システムの構成変更、障害の発生等に伴い、移行元のストレージ装置10(以下、移行元ストレージ装置とも称する。)から移行先のストレージ装置10(以下、移行先ストレージ装置とも称する。)に随時データの移行(マイグレーション(migration))が行われる。データ移行処理部212は、上記データ移行に関する機能を提供する。
同図に示すように、データ移行処理部212は、メタデータ移行部2121及び実体データ移行部2122の各機能を備える。データ移行処理部212は、サーバ装置20がクライアント装置2等からあるフォルダ又はファイルに対するI/O要求を受信した際、移行元ストレージ装置から移行先ストレージ装置に当該フォルダ又はファイルのデータ(メタデータ、実体データ)を自動的に移行する、いわゆるオンデマンド方式によるデータ移行機能(以下、オンデマンド移行機能と称する。)を提供する。尚、移行元サーバ装置及び移行先サーバ装置は夫々個別にデータ移行処理部212を備えているが、各データ移行処理部212は随時協調動作して上記オンデマンド移行機能等の機能を実現する。オンデマンド移行機能の詳細については後述する。
メタデータ移行部2121は、移行元ストレージ装置から移行先ストレージ装置にオンデマンド方式によりメタデータを移行する機能を提供する。尚、以下の説明において、フォルダ又はファイルの実体データの移行に先行してフォルダ又はファイルのメタデータを移行先ストレージ装置に移行することを「スタブ化」と称する。
移行先ストレージ装置の記憶装置12に格納されているフォルダ又はファイルのメタデータには、そのフォルダ又はファイルが現在スタブ化されているか否かを示す情報(例えば、そのフォルダ又はファイルが現在スタブ化されているか否かを示すフラグ)が含まれている。フォルダ又はファイルがスタブ化されている場合、そのフォルダ又はファイルのメタデータの実体データの格納先のアドレスには、例えば、移行元ストレージ装置の記憶装置12の記憶領域におけるそのフォルダ又はファイルの実体データの記憶先のアドレスが設定される。
実体データ移行部2122は、移行元ストレージ装置から移行先ストレージ装置にオンデマンド方式により実体データを移行する仕組みを提供する。尚、以下の説明において、スタブ化されているフォルダ又はファイルの実体データを移行元ストレージ装置から移行先ストレージ装置に移行することを「スタブ化の解除」と称する。
スクリプト生成装置30は、移行元ストレージ装置から移行先ストレージ装置へのファイルのデータの移行に際し、特定のファイルを他のファイルに優先してスタブ化する際に実行するスクリプト(以下、スタブ化スクリプトと称する。)を生成する。スタブ化スクリプトには、これがスクリプト生成装置30等の情報処理装置において実行された場合に、当該情報処理装置に、フォルダ又はファイルのメタデータが必要となるI/O要求を移行先ストレージ装置に送信させる実行文が記述される。尚、フォルダ又はファイルのメタデータが必要となるI/O要求の一例として、UNIX(登録商標)における「ls」コマンドがある。
同図に示すように、スクリプト生成装置30は、前述したスタブ化スクリプトの生成機能として、スタブ化閾値記憶部311、スタブ化対象選出部312、スタブ化対象リスト生成部313、スタブ化スクリプト生成部314、及びスタブ化スクリプト実行部315を備える。これらの機能は、プロセッサ31が、メモリ32に格納されているプログラムを読み出して実行することにより実現される。尚、とくに図示していないが、スクリプト生成装置30では、オペレーティングシステムやデバイスドライバ等の基本ソフトウエアが動作しており、スクリプト生成装置30の機能は原則としてこれら基本ソフトウエアの制御の下で実現される。
スタブ化閾値記憶部311は、スタブ化スクリプトの生成に際し、移行元ストレージ装置の記憶装置12に格納されているフォルダ又はファイルをスタブ化するか否かの判定に用いる閾値(以下、スタブ化閾値と称する。)を記憶する。このスタブ化閾値は、例えば、情報処理システム1のユーザやオペレータによって設定される。またスタブ化閾値は、例えば、移行元ストレージ装置の記憶装置12に格納されているフォルダ又はファイルの数、ファイルのデータサイズ、移行元ストレージ装置や移行先ストレージ装置の性能や装置構成、通信ネットワーク6の通信性能等に応じて適切な値に設定される。
スタブ化対象選出部312は、移行元ストレージ装置の記憶装置12に格納されているフォルダの直下に存在するフォルダの数とファイルの数との合計を求め、求めた合計数をスタブ化閾値と比較し、合計数がスタブ化閾値を超えているフォルダをスタブ化の対象とするフォルダ(以下、スタブ化対象フォルダ(移行対象フォルダ))として選出する。尚、「フォルダの直下」とは、そのフォルダの直下に存在するフォルダ又はファイルのみを指し、直下に存在するフォルダの下位に存在するフォルダやファイルを除く意味である。
具体例を示すと、例えば、フォルダイメージ(ディレクトリイメージ)が図3のようであった場合、「home」フォルダの「直下」に存在するフォルダ又はファイルは、「folder A」、「folder B」、「a.txt」、及び「b.txt」であり、「folder A」の下位に存在する「folder A1」、「folder A2」、「a1.txt」、「a2.txt」、「folder B1」、「folder B」の下位に存在する「b1.txt」は含まれない。
スタブ化対象リスト生成部313は、スタブ化対象フォルダの直下に存在するフォルダ又はファイル(以下、スタブ化対象とも称する。)のリスト(以下、スタブ化対象リストと称する。)を生成する。尚、スタブ化対象リスト生成部313は、スタブ化対象リストの生成に際し、スタブ化対象フォルダの情報(スタブ化対象のパス名、最終アクセス日時等)を移行元ストレージ装置から取得し、取得した情報をスタブ化対象リスト中の該当する各スタブ化対象のレコードに付帯させる。
スタブ化スクリプト生成部314は、スタブ化対象リストを入力としてスタブ化スクリプトを生成する。またスタブ化スクリプト生成部314は、移行対象フォルダの夫々について、夫々の直下に存在するフォルダ又はファイルの夫々の最終アクセス日時のうち最遅の(最も新しい)日時(最遅日時と称する。)を取得し、取得した最遅日時の遅い移行対象フォルダについてのI/O要求が他の移行対象フォルダのI/O要求に優先して移行先ストレージ装置に送信されるような実行文が記述されたスタブ化スクリプトを生成する。
スタブ化スクリプト実行部315は、スタブ化スクリプト生成処理部214によって生成されたスタブ化スクリプトを実行する。これによりスクリプト生成装置30から移行先ストレージ装置に対してスタブ化対象のメタデータを必要とするI/O要求が送信され、前述したオンデマンド移行機能により、移行元ストレージ装置から移行先ストレージ装置にスタブ化対象であるフォルダ又はファイルのメタデータが自動的に移行される。
=オンデマンド移行機能=
<メタデータ移行処理>
図4は、前述したオンデマンド移行機能の詳細を説明する図であり、移行元ストレージ装置から移行先ストレージ装置へのメタデータの移行に関して情報処理システム1にて行われる処理(以下、メタデータ移行処理S400と称する。)を説明するフローチャートである。以下、同図とともに説明する。
<メタデータ移行処理>
図4は、前述したオンデマンド移行機能の詳細を説明する図であり、移行元ストレージ装置から移行先ストレージ装置へのメタデータの移行に関して情報処理システム1にて行われる処理(以下、メタデータ移行処理S400と称する。)を説明するフローチャートである。以下、同図とともに説明する。
同図に示すように、移行先サーバ装置は、クライアント装置2等の要求元からのメタデータを必要とするI/O要求の受信をリアルタイムに監視している(S411)。尚、メタデータを必要とするI/O要求として、例えば、クライアント装置2等でUNIX(登録商標)における「ls」コマンドが実行された際に送信されるファイルの情報の取得要求(読み出し要求)がある。
移行先サーバ装置は、要求元からメタデータを必要とするI/O要求を受信すると(S411:Y)、該当のメタデータが移行先ストレージ装置に既に格納されているか否かを判定する(S412)。メタデータが移行先ストレージ装置に既に格納されていた場合(S412:Y)、移行先サーバ装置は、移行先ストレージ装置から該当のメタデータを読み出し、これを用いて受信したI/O要求に指定される処理(以下、I/O処理とも称する。)を実行する(S413)。尚、移行先サーバ装置は、必要であればI/O処理を実行することによって取得された情報(例えばメタデータに含まれている情報)を要求元に送信する。
一方、メタデータが移行先ストレージ装置に格納されていなかった場合(S412:N)、移行先サーバ装置は、移行元サーバ装置に対して該当のメタデータの送信を要求する(S414)。移行元サーバ装置は、上記要求を受信すると(S415)、移行元ストレージ装置から該当のメタデータを読み出し、これを移行先サーバ装置に送信する(S416)。
移行先サーバ装置は、移行元サーバ装置からメタデータを受信すると、これを用いてI/O処理を実行する(S418)。また移行先サーバ装置は、受信したメタデータを移行先ストレージ装置に格納させるとともに(S419)、メタデータの設定を行う(S420)。
尚、上記メタデータの設定において、当該メタデータが実体データを伴わない状態で移行先ストレージ装置に格納される場合、移行先サーバ装置は、メタデータの実体データの記憶先のアドレスに、移行元ストレージ装置の当該メタデータの実体データが格納されている記憶領域を特定するアドレスを設定する。またメタデータにスタブ化されているか否かを示す情報(例えばフラグ)を含ませている場合、移行先サーバ装置は、その情報を「スタブ化されている」旨の内容に設定する。以上の後、処理はS411に戻る。
<実体データ移行処理>
図5は、オンデマンド移行機能を説明する図であり、移行元ストレージ装置から移行先ストレージ装置への実体データの移行に関して情報処理システム1にて行われる処理(以下、実体データ移行処理S500と称する。)を説明するフローチャートである。以下、同図とともに説明する。
図5は、オンデマンド移行機能を説明する図であり、移行元ストレージ装置から移行先ストレージ装置への実体データの移行に関して情報処理システム1にて行われる処理(以下、実体データ移行処理S500と称する。)を説明するフローチャートである。以下、同図とともに説明する。
同図に示すように、移行先サーバ装置は、クライアント装置2等の要求元からの実体データを必要とするI/O要求の受信をリアルタイムに監視している(S511)。尚、実体データを必要とするI/O要求として、例えば、フォルダを対象としたそのフォルダの直下のフォルダ又はファイルのメタデータへのアクセス要求、ファイルの実体データの読み出し要求、ファイルの更新要求がある。
移行先サーバ装置は、要求元から実体データを必要とするI/O要求を受信すると(S511:Y)、当該実体データに対応するメタデータ(当該実体データを実体データとするフォルダ又はファイルのメタデータ)が移行先ストレージ装置に既に格納されているか否かを判定する(S512)。メタデータが移行先ストレージ装置に既に格納されていた場合(S512:Y)、処理はS514に進む。一方、メタデータが移行先ストレージ装置に格納されていなかった場合(S512:N)、移行先サーバ装置は、図4のS414〜S417、及びS419と同様の処理を順に実行し、移行元ストレージ装置からメタデータを取得する。その後、処理はS514に進む。
S514では、移行先サーバ装置は、該当の実体データが移行先ストレージ装置に既に格納されているか否かを判定する。実体データが移行先ストレージ装置に既に格納されていた場合(S514:Y)、移行先サーバ装置は、記憶装置12から該当の実体データを読み出し、これを用いて受信したI/O要求に指定されるI/O処理を実行する(S515)。尚、移行先サーバ装置は、必要であればI/O処理を実行することにより取得された情報(例えば実体データ)を要求元に送信する。
一方、実体データが移行先ストレージ装置に格納されていなかった場合(S514:N)、移行先サーバ装置は、移行元サーバ装置に対し、該当の実体データの送信を要求する(S516)。移行元サーバ装置は、上記要求を受信すると(S517)、移行元ストレージ装置から該当の実体データを読み出し、これを移行先サーバ装置に送信する(S518)。
移行先サーバ装置は、移行元サーバ装置から実体データを受信すると(S519)、これを用いてI/O要求に指定されるI/O処理を実行する(S520)。また移行先サーバ装置は、受信した実体データを移行先ストレージ装置に格納するとともに(S521)、当該実体データに対応するメタデータの設定を行う(S522)。
尚、上記メタデータの設定において、移行先サーバ装置は、当該実体データがスタブ化されているフォルダ又はファイルの実体データであった場合、対応するメタデータの実体データの格納先アドレスに、移行先ストレージ装置の記憶装置12の当該実体データを格納した記憶領域を特定するアドレスを設定する。またメタデータにスタブ化されているか否かを示す情報(例えばフラグ)を含ませている場合、移行先サーバ装置は、その情報を「スタブ化されていない(スタブ化が解除された)」旨の内容に設定する。
=スタブ化スクリプトの生成=
<スタブ化対象リストの生成>
図6は、前述したスタブ化スクリプトの生成に際してスクリプト生成装置30が行う処理(スタブ化対象リスト生成処理S600)を説明するフローチャートである。以下、同図とともに説明する。
<スタブ化対象リストの生成>
図6は、前述したスタブ化スクリプトの生成に際してスクリプト生成装置30が行う処理(スタブ化対象リスト生成処理S600)を説明するフローチャートである。以下、同図とともに説明する。
スクリプト生成装置30は、移行元ストレージ装置に、移行元ストレージ装置に格納されているフォルダの一覧情報(フォルダイメージ)を要求してこれを取得する(S611)。
続いてスクリプト生成装置30は、取得したフォルダの一覧情報から、スタブ化対象とするか否かの判定の対象となるフォルダ(以下、判定対象フォルダと称する。)を一つ選択する(S612)。
続いてスクリプト生成装置30は、判定対象フォルダの直下に存在するフォルダの数とファイルの数との合計数を求め(S613)、求めた合計数をスタブ化閾値記憶部311が記憶しているスタブ化閾値と比較する(S614)。
図7にスタブ化閾値記憶部311が記憶するスタブ化閾値の一例を示す。この例ではスタブ化閾値の値を「300」としている。
上記比較の結果、合計数がスタブ化閾値を超えている場合(S614:Y)、処理はS615に進む。一方、合計数がスタブ化閾値未満である場合(S614:N)、処理はS617に進む。
S615では、スクリプト生成装置30は、移行元ストレージ装置に判定対処フォルダの直下に存在するフォルダ及びファイルの夫々の最終アクセス日時を要求してこれを取得し、そのうちの最遅日時を取得する。
続くS616では、スクリプト生成装置30は、判定対象フォルダのパス名(後述のスタブ化対象フォルダのパス名811)、上記合計数(後述の合計数812)、及び最遅日時(後述の最遅日時813)を含むレコードをスタブ化対象リストに追記する。
S617では、スクリプト生成装置30は、S612において、S611で取得したフォルダの一覧情報に含まれている全てのフォルダを選択済であるか否かを判定する。S612において全てのフォルダを選択済でない場合(S617:N)、処理はS612に戻り、スクリプト生成装置30は、未選択のフォルダを判定対象フォルダとして選択し直し、S613からの処理を繰り返す。一方、S612において全てのフォルダを選択済である場合(S617:N)、スタブ化対象リスト生成処理S600は終了する。
図8にスタブ化対象リスト生成処理S600によって生成されたスタブ化対象リストの一例を示す。同図に示すように、スタブ化対象リスト800には、スタブ化対象フォルダ(この例では「/mnt」)の直下に存在するフォルダ又はファイルのパス名(スタブ化対象フォルダのパス名811)、当該スタブ化対象フォルダについて求めた前述の合計数812、及び当該スタブ化対象フォルダについて取得した前述の最遅日時813を含む一つ以上のレコードが含まれている。
<スタブ化スクリプトの生成>
続いてスクリプト生成装置30は、スタブ化対象リスト生成処理S600によって生成されたスタブ化対象リスト800を用いて(入力として)スタブ化スクリプトを生成する。
続いてスクリプト生成装置30は、スタブ化対象リスト生成処理S600によって生成されたスタブ化対象リスト800を用いて(入力として)スタブ化スクリプトを生成する。
図9はスタブ化スクリプトの生成に際してスクリプト生成装置30が行う処理(以下、スタブ化スクリプト生成処理S900と称する。)を説明するフローチャートである。以下、同図とともに説明する。
まずスクリプト生成装置30は、スタブ化対象リスト生成処理S600によって生成されたスタブ化対象リスト800をメモリ22に格納する(S911)。
続いてスクリプト生成装置30は、スタブ化対象リスト800の各レコードを、最遅日時813の遅い(新しい)順にソートする(S912)。
続いてスクリプト生成装置30は、最遅日時813の遅い移行対象フォルダについてのI/O要求が他の移行対象フォルダのI/O要求に優先して移行先ストレージ装置に送信される実行文が記述されたスタブ化スクリプトを生成し、これをメモリ22に出力する(S913)。
図10にスタブ化スクリプト生成処理S900によって生成されたスタブ化スクリプト1000の一例を示す。同図に示すように、このスタブ化スクリプト1000には、図8のスタブ化対象リスト800の各レコードに対応して、フォルダ又はファイルのメタデータを必要とするI/O要求を、最遅日時の遅い(新しい)ものから優先して発生させる実行文が記述されている。
以上のようにして生成されたスタブ化スクリプトは、例えば、移行元サーバ装置、移行元ストレージ装置、移行先サーバ装置、及び移行先ストレージ装置がいずれも動作状態にあり、情報処理システム1において少なくともメタデータ移行処理S400が動作している状態にあるときに、例えば、スクリプト生成装置30によって実行される。そしてスタブ化スクリプトが実行されると、移行先サーバ装置に対して、スタブ化対象フォルダの直下に存在するフォルダ及びファイルについてのスタブ化(メタデータ移行処理S400によるメタデータの移行)を促すI/O要求が順次送信され、これを移行先サーバ装置が受信することによりオンデマンド移行機能が働き、その結果、スタブ化対象フォルダの直下に存在するフォルダ及びファイルが順次スタブ化されていく。そしてその後にエンドユーザがクライアント装置2からスタブ化対象フォルダの直下に存在するフォルダ及びファイルを対象とするI/O要求を送信しても、そのI/O要求が実体データを必要とするものでない限り、移行元ストレージ装置から移行先ストレージ装置へのメタデータや実体データの移行は発生せず、エンドユーザに対するサービスに与える影響(応答性能の低下等)を防ぐことができる。
またその直下に存在するフォルダの数及びファイルの数の合計数がスタブ化閾値未満であるようなフォルダについてはスタブ化対象フォルダとして選出されないので(S614:N)、ストレージ装置10やサーバ装置20の負荷を不必要に増大させることはない。
また前述したように、スタブ化を促す上記I/O要求は、最遅日時の新しいスタブ化対象フォルダの直下に存在するフォルダ又はファイルを対象とするものが優先して送信されるので、スタブ化スクリプトの実行により、クライアント装置2からアクセスされる可能性の高いフォルダやファイルが優先してスタブ化されることとなり、これによりスタブ化されていないフォルダ又はファイルを対象とするI/O要求が発生する可能性が減り、エンドユーザに与える影響を効果的に抑えることができる。尚、この優先機能によって得られる効果は、移行対象となるフォルダやファイルの数が多い程大きくなる。
尚、本発明は以上に説明した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。またある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、またある実施例の構成に他の実施例の構成を加えることも可能である。また各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウエアで実現してもよい。また上記の各構成、機能等は、中央処理装置(プロセッサ)がそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に記憶することができる。
また制御線や情報線は説明上必要と考えられるものを示すものであり、必ずしも本発明が適用される製品の全ての制御線や情報線を示しているとは限らない。
例えば、スタブ化スクリプトの生成主体や実行主体はスクリプト生成装置30以外であってもよく、例えば、サーバ装置20(移行先サーバ装置、移行元サーバ装置)やクライアント装置2をスタブ化スクリプトの生成主体や実行主体としてもよい。
また以上に説明した情報処理システム1では、サーバ装置20とストレージ装置10が独立した構成になっているが(図2)、これらは一つのハードウエアとして構成されていてもよい。
2 クライアント装置、5 通信ネットワーク、6 通信ネットワーク、10 ストレージ装置、11 データコントローラ、12 記憶装置、20 サーバ装置、211 ファイルシステム、212 データ移行処理部、2121 メタデータ移行部、2122 実体データ移行部、30 スクリプト生成装置、311 スタブ化閾値記憶部、312 スタブ化対象選出部、313 スタブ化対象リスト生成部、314 スタブ化スクリプト生成部、315 スタブ化スクリプト実行部
Claims (9)
- データの移行元となる移行元ストレージ装置と、
データの移行先となる移行先ストレージ装置と、
ファイルシステムが動作し、受け付けたI/O要求に応じて前記移行元ストレージ装置にデータを記憶する移行元サーバ装置と、
ファイルシステムが動作し、受け付けたI/O要求に応じて前記移行先ストレージ装置にデータを記憶する移行先サーバ装置と、
を備え、
前記移行先サーバ装置が、未移行のフォルダ又はファイルを処理対象とするI/O要求を受信した際、前記移行元ストレージ装置から前記移行先ストレージ装置に前記フォルダ又はファイルのメタデータを移行する機能を備えた情報処理システムにおける、
データの移行方法であって、
前記移行先サーバ装置と通信可能に接続された情報処理装置であるI/O要求送信装置に、未移行のフォルダ又はファイルのメタデータを必要とする前記移行先サーバ装置に対するI/O要求を送信させるスクリプトを実行させる
ことを特徴とするデータ移行方法。 - 請求項1に記載のデータ移行方法であって、
前記移行先サーバ装置は、未移行のフォルダ又はファイルのメタデータを必要とするI/O要求を受信すると、前記メタデータの送信要求を前記移行元サーバ装置に送信し、
前記移行元サーバ装置は、前記要求に応じて、前記メタデータを前記移行先サーバ装置に送信し、
前記移行先サーバ装置は、前記メタデータを受信してこれを前記フォルダ又はファイルのメタデータとして前記移行先ストレージ装置に格納し、
前記移行先サーバ装置は、フォルダ又はファイルの実体データを必要とするI/O要求を受信すると、前記フォルダ又はファイルのメタデータが前記移行先ストレージ装置に格納されているか否かを判定し、格納されていない場合は前記メタデータ及び前記実体データの送信要求を前記移行元サーバ装置に送信し、格納されている場合は前記実体データの送信要求を前記移行元サーバ装置に送信し、
前記移行元サーバ装置は、前記メタデータの送信要求を受信すると、該当のメタデータを前記移行先サーバ装置に送信し、
前記移行元サーバ装置は、前記実体データの送信要求を受信すると、該当の実体データを前記移行先サーバ装置に送信し、
前記移行先サーバ装置は、前記メタデータを受信すると、これを前記ファイルのメタデータとして前記移行先ストレージ装置に格納し、
前記移行先サーバ装置は、前記実体データを受信すると、これを前記ファイルの実体データとして前記移行先ストレージ装置に格納する
ことを特徴とするデータ移行方法。 - 請求項1又は2に記載のデータ移行方法であって、
前記I/O要求送信装置は、前記移行先サーバ装置又は前記移行元サーバ装置である
ことを特徴とするデータ移行方法。 - 請求項1又2に記載の前記データ移行方法に用いる前記スクリプトの生成方法であって、
情報処理装置が、
前記移行元ストレージ装置に格納されているフォルダの情報を取得するステップ、
前記情報に基づき、前記移行元ストレージ装置に格納されているフォルダについて、その直下に存在するフォルダの数とファイルの数との合計数を求めるステップ、
求めた前記合計数が予め設定された閾値を超えているフォルダを移行対象のフォルダとして選出するステップ、
前記移行対象フォルダの直下に存在するフォルダ又はファイルの夫々のメタデータを必要とする前記移行先サーバ装置に対するI/O要求を前記I/O要求送信装置に送信させるスクリプトを生成するステップ
を実行することを特徴とするスクリプトの生成方法。 - 請求項4に記載のスクリプトの生成方法であって、
前記情報処理装置が、
前記移行対象フォルダの夫々について、夫々の直下に存在するフォルダ又はファイルの夫々の最終アクセス日時のうち最遅の日時を取得し、前記最遅日時の遅い前記移行対象フォルダについての前記I/O要求を他の前記移行対象フォルダに優先して前記I/O要求送信装置に送信させるスクリプトを生成するステップをさらに実行する
ことを特徴とするスクリプトの生成方法。 - 請求項4に記載のスクリプトの生成方法であって、
前記情報処理装置が、前記スクリプトを実行するステップをさらに実行する
ことを特徴とするスクリプトの生成方法。 - 請求項4に記載のスクリプトの生成方法における前記情報処理装置であって、
前記移行元ストレージ装置に記憶されているフォルダの情報を取得する機能、
前記情報に基づき、前記移行元ストレージ装置に記憶されているフォルダについて、その直下に存在するフォルダの数とファイルの数との合計数を求める機能、
求めた前記合計数が予め設定された閾値を超えているフォルダを移行対象のフォルダとして選出する機能、及び、
前記移行対象フォルダの直下に存在するフォルダ又はファイルの夫々のメタデータを必要とする前記移行先サーバ装置に対するI/O要求を前記I/O要求送信装置に送信させるスクリプトを生成する機能
を備えることを特徴とする情報処理装置。 - 請求項7に記載の情報処理装置であって、
前記移行対象フォルダの夫々について、夫々の直下に存在するフォルダ又はファイルの夫々の最終アクセス日時のうち最遅の日時を取得し、前記移行先サーバ装置に対する前記最遅日時の遅い前記移行対象フォルダについての前記I/O要求を他の前記移行対象フォルダに優先して前記I/O要求送信装置に送信させるスクリプトを生成する機能
を更に備えることを特徴とする情報処理装置。 - 請求項7に記載の情報処理装置であって、
前記スクリプトを実行する機能を更に備えることを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013090453A JP2014215686A (ja) | 2013-04-23 | 2013-04-23 | データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013090453A JP2014215686A (ja) | 2013-04-23 | 2013-04-23 | データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014215686A true JP2014215686A (ja) | 2014-11-17 |
Family
ID=51941418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013090453A Pending JP2014215686A (ja) | 2013-04-23 | 2013-04-23 | データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014215686A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591495A (zh) * | 2024-01-18 | 2024-02-23 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN117591495B (zh) * | 2024-01-18 | 2024-05-03 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
-
2013
- 2013-04-23 JP JP2013090453A patent/JP2014215686A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591495A (zh) * | 2024-01-18 | 2024-02-23 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN117591495B (zh) * | 2024-01-18 | 2024-05-03 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347408B2 (en) | Shared network-available storage that permits concurrent data access | |
US10037369B1 (en) | Storage tiering in replication target based on logical extents | |
JP5343166B2 (ja) | 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム | |
JP5706966B2 (ja) | 情報処理システム、及び、それを用いたファイル復元方法 | |
US9330155B1 (en) | Unified management of sync and async replication for block and file objects | |
US20190018605A1 (en) | Use of predefined block pointers to reduce duplicate storage of certain data in a storage subsystem of a storage server | |
US9378261B1 (en) | Unified synchronous replication for block and file objects | |
US9594514B1 (en) | Managing host data placed in a container file system on a data storage array having multiple storage tiers | |
US9116913B2 (en) | File storage system and file cloning method | |
US9569455B1 (en) | Deduplicating container files | |
WO2013001581A1 (en) | Server system and method for controlling information system | |
US20130218847A1 (en) | File server apparatus, information system, and method for controlling file server apparatus | |
JP2016529599A (ja) | コンテンツクリップボードの同期 | |
JP2009059201A (ja) | ファイルレベルの仮想化と移行を行う中間装置 | |
US11144339B2 (en) | Optimizing access to production data | |
US11023488B1 (en) | Preserving quality of service when replicating data objects | |
US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
US10303556B1 (en) | Modifiable volume snapshots | |
US8595454B1 (en) | System and method for caching mapping information for off-host backups | |
US8447944B2 (en) | Information processing device and data shredding method | |
WO2015049719A1 (ja) | ストレージシステム及びストレージ方法 | |
JP2014215686A (ja) | データ移行方法、この方法に用いるスクリプトの生成方法、及び情報処理装置 | |
WO2014109053A1 (ja) | ファイルサーバ、ストレージ装置及びデータ管理方法 | |
WO2018109818A1 (ja) | データの格納を制御する計算機システム及び方法 |