JP6720744B2 - 情報処理システム、情報処理装置、及び制御プログラム - Google Patents

情報処理システム、情報処理装置、及び制御プログラム Download PDF

Info

Publication number
JP6720744B2
JP6720744B2 JP2016140482A JP2016140482A JP6720744B2 JP 6720744 B2 JP6720744 B2 JP 6720744B2 JP 2016140482 A JP2016140482 A JP 2016140482A JP 2016140482 A JP2016140482 A JP 2016140482A JP 6720744 B2 JP6720744 B2 JP 6720744B2
Authority
JP
Japan
Prior art keywords
migration
management information
unit
information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016140482A
Other languages
English (en)
Other versions
JP2018010576A (ja
Inventor
好治 設楽
好治 設楽
祐司 野村
祐司 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2016140482A priority Critical patent/JP6720744B2/ja
Priority to US15/624,029 priority patent/US10664441B2/en
Publication of JP2018010576A publication Critical patent/JP2018010576A/ja
Application granted granted Critical
Publication of JP6720744B2 publication Critical patent/JP6720744B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • 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/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理システム、情報処理装置、及び制御プログラムに関する。
業務サーバ等の上位装置に対してファイルシステムを提供するネットワークストレージが知られている。ネットワークストレージとしては、例えば、NFS(Network File System)等のファイルシステムを実装し、上位装置に提供するNAS(Network Attached Storage)等のストレージ装置が挙げられる。
ネットワークストレージでは、ファイルシステム間でのデータ移行、例えばオンラインマイグレーション(以下、単に「マイグレーション」と表記する場合がある)が行なわれる場合がある。オンラインマイグレーションでは、ユーザ業務を停止せずに、運用中の移行元のファイルシステムのデータが移行先のファイルシステムに移動される。
以下、移行元及び移行先のファイルシステムを、それぞれ、「ソース」及び「ターゲット」と表記する場合がある。また、ソース及びターゲットのネットワークストレージを、それぞれ、「ソースストレージ」及び「ターゲットストレージ」と表記する場合がある。
特開2015−179425号公報 特開2010−262488号公報 特開2014−10540号公報 国際公開第2015/068208号パンフレット
ネットワークストレージにおいては、マイグレーションの実行中にシステムの可用性又は信頼性が低下する場合がある。
例えば、マイグレーションでは、データが未移動の記憶領域に対してNFSリクエスト等のアクセス要求が発行される場合、ターゲットストレージが、ソースからデータを取得した後にNFSリクエストを処理することがある。このとき、ソースからのデータ取得に時間がかかると、業務サーバは、発行したNFSリクエストについてI/O(Input / Output)タイムアウトエラーと判断し、業務が継続できない場合がある。
また、データ移動後のファイルに対するNFSリクエストは、ソースストレージではなくターゲットストレージで実行されることがある。マイグレーションにおいて、移動が完了したファイルは、ソースから削除されてターゲットにのみ存在するため、マイグレーション中にターゲットでストレージ故障が発生した場合、運用中の業務データが喪失する場合がある。
1つの側面では、本発明は、ネットワークストレージの可用性又は信頼性を向上させることを目的の1つとする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
1つの側面では、情報処理システムは、1以上のネットワークストレージと、上位装置と前記1以上のネットワークストレージとの間の通信を中継する中継装置と、をそなえてよい。前記中継装置は、移行処理部と、メモリ部と、選択部と、リクエスト処理部と、をそなえてよい。前記移行処理部は、前記1以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第1移行処理を行なってよい。前記メモリ部は、オブジェクト管理情報と、移行管理情報と、を記憶してよい。前記オブジェクト管理情報は、前記移行元のファイルシステムが格納する前記第1移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理してよい。前記移行管理情報は、前記第1移行処理の進捗状況をオブジェクトごとに管理してよい。前記選択部は、前記上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択してよい。前記リクエスト処理部は、前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行してよい。前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行してよい。前記移行管理情報は、前記対象オブジェクトに係る前記第1移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理してよい。前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択すると共に、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定してよい。前記移行処理部は、前記第1移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なってよい。
1つの側面では、ネットワークストレージの可用性又は信頼性を向上できる。
情報処理システムの構成例を示すブロック図である。 ファイルシステムの一例を示す図である。 ファイルシステムのマイグレーションの手順の一例を説明する図である。 情報処理システムの動作例を説明するフローチャートである。 一実施形態に係る情報処理システムの構成例を示すブロック図である。 一実施形態に係る情報処理システムの構成例を示すブロック図である。 マイグレーション処理部のフェーズ管理の一例を説明する図である。 NFSリクエストのアクセス先の選択例を示す図である。 マイグレーション実行中におけるNFSアクセス先の一例を示す図である。 比較例に係るメタデータ管理情報の一例を示す図である。 情報格納部が格納する情報の一例を示す図である。 データ不整合発生フラグの一例を示す図である。 オブジェクトデータの一例を示す図である。 属性情報の一例を示す図である。 コピー管理情報の一例を示す図である。 マップ領域のエントリの一例を示す図である。 コピー済フラグにONが設定されたマップ領域の一例を示す図である。 ダーティフラグにONが設定されたマップ領域の一例を示す図である。 ロギング情報の一例を示す図である。 更新系NFSリクエストによりデータ不整合が発生した状態の一例を示す図である。 情報処理システムにおける全体の動作例を説明するフローチャートである。 情報処理システムにおける全体の動作例を説明するフローチャートである。 情報処理システムにおける全体の動作例を説明するフローチャートである。 マイグレーション対象のファイルシステムへのNFSアクセスの動作例を説明するフローチャートである。 マイグレーション対象のファイルシステムへのNFSアクセスの動作例を説明するフローチャートである。 初期コピーフェーズの動作例を説明するフローチャートである。 初期コピーフェーズの動作例を説明するフローチャートである。 フルコピーフェーズの動作例を説明するフローチャートである。 フルコピーフェーズの動作例を説明するフローチャートである。 差分コピーフェーズの動作例を説明するフローチャートである。 差分コピーフェーズの動作例を説明するフローチャートである。 一実施形態に係る情報処理システムのハードウェア構成例を示すブロック図である。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。また、以下の説明において複数の装置を区別しない場合には、符号のハイフン“−”以降の数字を省略して表記する場合がある。一例を示すと、図1に示すNAS110−1及び110−2を区別しない場合には、単にNAS110と表記する場合がある。
〔1〕一実施形態
はじめに、ストレージ装置が提供する機能を利用したマイグレーションについて説明する。図1は、情報処理システム100の構成例を示すブロック図である。
以下の説明では、移行元及び移行先のファイルシステム130−1及び130−2を、それぞれ、「ソース130−1」及び「ターゲット130−2」と表記する場合がある。また、ソース130−1及びターゲット130−2が実装されるNAS110−1及び110−2を、それぞれ、「ソースストレージ110−1」及び「ターゲットストレージ110−2」と表記する場合がある。
情報処理システム100では、ターゲットストレージ110−2がマイグレーション機能を有するコントローラ120をそなえる。
コントローラ120は、データの移動が行なわれていないファイルに対して業務サーバ4からNFSリクエスト(初回アクセス)を受信すると(図1の矢印(i))、ソース130−1からターゲット130−2に対象データを移動する(矢印(ii)、(iii))。そして、コントローラ120は、ターゲット130−2に移動したファイルに対してNFSリクエストを実行する(矢印(iv)、(v))。
なお、ファイルがターゲット130−2に移動すれば、次回以降の当該ファイルに対するNFSリクエストは、ターゲット130−2で実行される。
NFSリクエストは、NFSプロトコルを使用したI/Oリクエストであり、NFSプロトコルは、ファイルシステム130に存在するファイルやディレクトリをネットワーク経由でアクセスするための通信プロトコルの一例である。
NFSリクエストには、参照系NFSリクエストと、更新系リクエストとが含まれてよい。参照系リクエストは、ファイルシステム130からディレクトリやファイル等のデータを取得するための要求である。更新系リクエストは、ファイルシステム130に対してディレクトリやファイル等のデータの作成・更新・削除等を行なうための要求である。
次に、ファイルシステム130について説明する。ファイルシステム130は、図2に例示するように、ファイル(「File-x」と表記;xは自然数)及びサブディレクトリ(「dir-y」と表記;yは自然数)を含む、ディレクトリの階層を有してよい。ファイルのシステムの基点となるディレクトリは「ルート」と称されてよい。ファイルやディレクトリには、ルートからのパスを構成する一連の名前を使って、一意な名前を付けることができる。なお、ファイルやディレクトリは、「オブジェクト」と称されてもよい。
コントローラ120は、マイグレーションにおいて、ソース130−1のファイルやディレクトリを、メタデータや属性情報とともに、ターゲット130−2に移動してよい。なお、「メタデータ」とは、ファイルシステム130の構造、例えばディレクトリやファイルの階層等を管理する情報の一例であり、「属性情報」とは、ディレクトリやファイルのアクセス権限や所有者等の属性を管理する情報の一例である。
図3は、ファイルシステム130のマイグレーションの手順の一例を説明する図である。ディレクトリのマイグレーションの場合、コントローラ120は、ソース130−1からメタデータ(ディレクトリ階層の情報)を取得し、ターゲット130−2に対して、メタデータに沿ってスタブを作成する。「スタブ」は、マイグレーション制御で使用する制御ファイルの一例である。
次いで、コントローラ120は、ソース130−1から属性情報を取得し、ターゲット130−2のスタブファイルに反映する。全ての情報をスタブに反映できたら、当該ディレクトリは、スタブの状態が解除され、通常ディレクトリの状態となる。
ファイルのマイグレーションの場合、コントローラ120は、ディレクトリの場合と同様に、ソース130−1からメタデータ、属性情報を順に取得し、スタブを作成する。また、コントローラ120は、ソース130−1からデータを取得し、ターゲット130−2のスタブファイルに反映する。全ての情報をスタブに反映できたら、当該ファイルは、スタブの状態が解除され、通常ファイルの状態となる。
なお、スタブ状態のディレクトリ又はファイルに対するNFSアクセスは、ソース20−1からデータが取得されスタブファイルに反映されてから、換言すればコピー完了後に、ターゲット20−2に対して実行される。一方、通常ディレクトリ又は通常ファイルに対するNFSアクセスは、ターゲット130−2に対して実行される。
以下、図4を参照して、情報処理システム100の動作例について説明する。なお、以下の動作例では、業務サーバ140のNFSクライアント150がマイグレーション対象のファイルシステム130に対してNFSアクセスを行なう場合を前提とする。
なお、図4では、便宜上、2つのファイルシステム130が1つのNAS110に存在するものとして示している。
業務サーバ140のNFSクライアント150がNFSプロトコルによるアクセス要求を送信すると(処理P101)、NAS110のコントローラ120は、“File:Write RPC”依頼を受け付ける(処理P102)。処理P102は、コントローラ120のアクセス制御部121が実行してよい。なお、「RPC」は、Remote Procedure Callの略称であり、システム間を跨るプロシージャコールを実行するための要求である。
アクセス制御部121は、要求に応じて、管理情報、例えばメタデータの検索、取得、又は、登録を行ない(処理P103)、アクセスの対象ファイルがマイグレーション済か否かを判定する(処理P104)。マイグレーション済の場合(処理P104でYes)、処理がP119に移行する。
一方、マイグレーション済でない場合(処理P104でNo)、アクセス制御部121は、コントローラ120のコピー制御部122に対して、対象ファイルのマイグレーションを指示する(処理P105)。
コピー制御部122は、アクセス制御部121からの依頼を受け付けると(処理P106)、NFSプロトコルのgetattr操作によりソース130−1にファイル属性の読み出しを指示する(処理P107)。ソース130−1は、ファイル属性を読み出して応答する(処理P108)。
コピー制御部122は、NFSプロトコルのcreate操作によりターゲット130−2にファイル作成を指示し(処理P109)、ターゲット130−2は、ファイルを作成する(処理P110)。
コピー制御部122は、ソース130−1から取得したファイル属性に基づき、NFSプロトコルのsetattr操作により、作成したファイルへのファイル属性の設定をターゲット130−2に指示する(処理P111)。ターゲット130−2は、ファイルにファイル属性を設定する(処理P112)。
次いで、コピー制御部122は、NFSプロトコルのread操作によりソース130−1にファイルデータの読み出しを指示し(処理P113)、ソース130−1はファイルデータを読み出して応答する(処理P114)。
コピー制御部122は、NFSプロトコルのwrite操作により、ソース130−1から読み出したファイルデータの書き込みをターゲット130−2に指示し(処理P115)、ターゲット130−2は、ファイルデータを書き込む(処理P116)。
コピー制御部122は、ファイルの全データがコピー済か否かを判定し(処理P117)、ファイルの全データがコピー済でない場合(処理P117でNo)、処理がP113に移行する。一方、ファイルの全データがコピー済の場合(処理P117でYes)、コピー制御部122は、アクセス制御部121に完了を通知する(処理P118)。
アクセス制御部121は、NFSプロトコルのwrite操作により、処理P102で受け付けた対象ファイルへの書込アクセスをターゲット130−2に指示し(処理119)、ターゲット130−2は、対象ファイルへ書込アクセスを行なう(処理P120)。
アクセス制御部121は、NFSプロトコルにより業務サーバ140に対して完了を通知し(処理P121)、NFSクライアント150が完了待ち状態で通知を受信し(処理P122)、処理が終了する。なお、処理P110でターゲット130−2にファイルが作成されてから処理P117でYes判定となるまでは、ファイルはスタブ状態である。
図1及び図4に例示するように、NAS110が提供するマイグレーション機能を利用した情報処理システム100では、以下のように、マイグレーションの実行中にシステムの可用性又は信頼性が低下する場合がある。
例えば、対象ファイルがマイグレーション済でない場合(処理P104でNo)、対象ファイルに対するNFSリクエストは、処理P105〜P118の実行を待つことになり、NFSクライアント150はI/Oタイムアウトエラーと判断する場合がある。業務サーバ140は、ファイルコピーが完了するまでは対象ファイルにアクセス不可のため、業務を継続したまま、例えばシステムイメージ等の巨大ファイルのマイグレーションを実施することは、運用上困難となる。
また、データ移動が完了したファイルに対するNFSリクエストは、ターゲット130−2で実行されるため、マイグレーション中にターゲット130−2でストレージ故障が発生した場合、運用中の業務データが喪失する場合がある。
さらに、NAS110が提供する機能を利用した場合、NAS110の選択肢が限定されてしまい、ユーザの業務要件、例えば、機能、性能、コスト、提供ベンダ等に最適なNAS110が選択できない場合がある。また、ユーザシステムのベンダロックインが加速することになる。
例えば、NAS110が、自身のNAS110へのマイグレーションを想定した機能を有する一方、他のNAS110へのマイグレーションが不可能である場合、移行先のNAS110の選択が、移行元でサポートされるNAS110に限定されることになる。
また、マイグレーションの手法として、ソースストレージ110−1及びターゲットストレージ110−2の筐体間データコピー機能を利用したマイグレーション方法を採用することも考えられる。しかし、筐体間データコピー機能は、ブロックストレージの機能を使用して実現されているため、ファイルシステム130と連携することなく、NAS110に格納されたデータをコピーする。このため、ソース130−1及びターゲット130−2のデータが等価状態になった後、ターゲット130−2で運用を継続するためには、運用中の業務を停止することになる。また、NAS110のIP(Internet Protocol)アドレスの変更等の作業を行なうことになる。
さらに、筐体間データコピー機能は、ベンダ独自の技術で実装されることが多いため、ターゲットストレージ110−2はソースストレージ110−1と同じ機種に限定される。加えて、筐体間データコピー機能は、NAS110のファームウェアバージョンに依存するため、事前にソースストレージ110−1のファームウェアのバージョンアップを要求されることがある。
なお、作業者は、NAS110が提供するマイグレーション機能を使用せずに、業務サーバ140又はコントローラ120等のOS(Operating System)標準のコピー機能を使用してマイグレーション作業を実施することも考えられる。しかし、この場合、作業者には、作業要員の確保、環境の用意、マイグレーションのための一時的な業務停止等の多くの負担が生じ、マイグレーションに係るコストが増加することがある。
そこで、一実施形態では、以下のように、業務を継続しながらNASのストレージ更改(新陳代謝)を可能とする情報処理システムについて説明する。
〔1−1〕一実施形態に係る情報処理システムについて
以下、一実施形態について簡単に説明する。図5は、一実施形態に係る情報処理システム10の構成例を示す図である。図5に示すように、情報処理システム10は、例示的に、1以上(図5では2台)のネットワークストレージ11−1及び11−2、中継装置13、及び、上位装置14をそなえてよい。
ネットワークストレージ11−1及び11−2は、それぞれ、ファイルシステム12−1及び12−2を有してよい。ファイルシステム12は、ファイルやディレクトリ等のオブジェクトを含んでよい。なお、ネットワークストレージ11としては、例えば、NASが挙げられる。
中継装置13は、上位装置14と1以上のネットワークストレージ11との間の通信を中継してよい。中継装置13は、図5に例示するように、移行処理部131、メモリ部132、選択部133、及び、リクエスト処理部134をそなえてよい。
移行処理部131は、1以上のネットワークストレージ11が有するファイルシステム12について、移行元のファイルシステム12−1を移行先のファイルシステム12−2に移行する第1移行処理を行なってよい。例えば、第1移行処理では、ファイルシステム12−1が有する全てのオブジェクトが、オブジェクトごとにファイルシステム12−2に移動又はコピーされてよい(図5の矢印(I)参照)。
メモリ部132は、オブジェクト管理情報1321及び移行管理情報1322をそなえてよい。オブジェクト管理情報1321は、移行元のファイルシステム12−1が格納する第1移行処理の対象オブジェクトと、移行先のファイルシステム12−2に格納される当該対象オブジェクトとを管理する。移行管理情報1322は、第1移行処理の進捗状況をオブジェクトごとに管理する。
選択部133は、上位装置14から対象オブジェクトに対する書込リクエストを受信した場合、オブジェクト管理情報1321及び移行管理情報1322に基づき移行元及び移行先の一方又は双方のファイルシステム12を選択してよい。
リクエスト処理部134は、選択部133が選択したファイルシステム12に対して、書込リクエストに係る処理を実行してよい(矢印(II)参照)。
なお、選択部133は、移行処理部131及びリクエスト処理部134がそれぞれ有する機能を連携させることによって実現されてもよい。
以上のように、書込リクエストに係る処理が実行されるファイルシステム12が、第1移行処理の進捗状況、例えば、対象オブジェクトの未移行、移行中、移行済等の情報に基づいて、選択される。
従って、書込リクエストの実行が待たされないように移行元のファイルシステム12を選択したり、或いは、データの冗長性を確保するために、移行元及び移行先の双方のファイルシステム12を選択したりすることができる。これにより、図1に例示する情報処理システム100と比較して、ネットワークストレージの可用性又は信頼性を向上できる。また、ファイルシステム12の移行中におけるネットワークストレージの可用性又は信頼性を、移行前と同等に維持する(保つ)ことができる。
〔1−2〕情報処理システムの構成例
以下、一実施形態に係る情報処理システムについて、図6を参照して説明する。図6は、一実施形態に係る情報処理システム1の構成例を示すブロック図である。図6に示すように、情報処理システム1は、例示的に、1以上(図6では2台)のNAS2−1及び2−2、プロキシサーバ3、及び、1以上(図6では2台)の業務サーバ4−1及び4−2をそなえてよい。
なお、NAS2は、情報処理システム1に1台だけ存在してもよいし、3台以上存在してもよい。また、業務サーバ4は、情報処理システム1に1台だけ存在してもよいし、3台以上存在してもよい。
図6の例において、プロキシサーバ3と業務サーバ4とは、LAN(Local Area Network)ケーブル、或いは、図示しないネットワークを介して接続されてよい。ネットワークには、LANやWAN(Wide Area Network)等のイントラネット、或いはインターネット等が含まれてもよい。また、NAS2とプロキシサーバ3とは、例えば、FC(Fibre Channel)ケーブル又はSASケーブルによってSCSI接続されてよい。SASは、Serial Attached SCSI (Small Computer System Interface)の略称である。なお、SCSI接続される装置は、SAN(Storage Area Network)を構成してもよい。
NAS2は、図5に示すネットワークストレージ11の一例である。NAS2は、NFSサーバ機能を搭載し、1以上のファイルシステム20を業務サーバ4に提供してよい。例えば、NAS2−1はファイルシステム20−1を、NAS2−2はファイルシステム20−2を、それぞれ業務サーバ4に提供してよい。
なお、NAS2は、NFSプロトコル以外のファイル共有プロトコルをサポートしてもよい。ファイル共有プロトコルとしては、NFSプロトコルの他に、例えば、SMB(Server Message Block)プロトコル等が挙げられる。
NAS2は、ファイルシステム20の記憶領域として、複数の記憶装置をそなえてよい。なお、複数の記憶装置によりRAID(Redundant Arrays of Inexpensive Disks)が構成されてもよい。記憶装置としては、例えばHDD(Hard Disk Drive)等の磁気ディスク装置やSSD(Solid State Drive)等の半導体ドライブ装置等が挙げられる。
業務サーバ4は、図5に示す上位装置14の一例である。業務サーバ4では、NFSを利用する顧客の業務が動作してよい。業務サーバ4は、機能構成として、NFSクライアント40を有してよい。NFSクライアント40は、標準NFSプロトコルを利用して、NAS2に搭載されているファイルシステム20にアクセスする。
プロキシサーバ3は、図5に示す中継装置13の一例である。プロキシサーバ3は、業務サーバ4と1以上のNAS2との間(中間層)に介設され、業務サーバ4と1以上のNAS2との間の通信を中継してよい。例えば、プロキシサーバ3は、業務サーバ4からの標準NFSプロトコルを使用したI/Oリクエストを、NAS2−1及び2−2の一方又は双方に中継してよい。
また、プロキシサーバ3は、指定されたファイルシステム20のマイグレーションを実行する機能を有し、新旧のNAS2間の複数マイグレーションの実行を可能としてよい。
プロキシサーバ3及び業務サーバ4としては、情報処理装置、例えば、サーバやPC(Personal Computer)等のコンピュータが挙げられる。
以上のように、情報処理システム1では、プロキシサーバ3により、NFSクライアント40からのリクエストをNAS2に中継するプロキシ機能をベースとして、業務サーバ4及びNAS2と連携したNAS2のオンラインマイグレーションを実現する。また、プロキシサーバ3では、ベンダや機種に依存しない標準NFSプロトコルを利用することで、同異ベンダや同異機種のNAS2間のマイグレーションを可能とする。
〔1−3〕プロキシサーバの機能構成例
次に、プロキシサーバ3の機能構成例を説明する。図6に示すように、プロキシサーバ3は、例示的に、マイグレーション処理部31、情報格納部32、及び、プロキシ処理部33をそなえてよい。
マイグレーション処理部31は、図5に示す移行処理部131の一例である。マイグレーション処理部31は、業務サーバ4からのマイグレーションの開始指示に応じて、NAS2のファイルシステム20に対するマイグレーション処理を行なう。
図6に例示するように、マイグレーション処理部31は、初期コピー部311、フルコピー部312、差分コピー部313、管理部314、及び、DB(Database)部315をそなえてよい。
マイグレーション処理部31によるマイグレーションのプロセスは、業務無停止でのマイグレーションを実現するため、初期コピー、フルコピー、及び、差分コピーの3フェーズに分けて管理されてよい(図7参照)。これらのフェーズは、それぞれ、マイグレーション処理部31の初期コピー部311、フルコピー部312、及び、差分コピー部313によりバックグラウンドで実行されてよい。以下、初期コピー部311、フルコピー部312、及び、差分コピー部313を総称して、コピー部311〜313と表記する場合がある。
管理部314は、DB部315及び情報格納部32がそれぞれ記憶する情報の作成、更新、削除、又は、参照を行なう。なお、コピー部311〜313は、マイグレーションにおいて、管理部314を用いて、又は、管理部314の代わりに、DB部315及び情報格納部32へアクセスしてもよい。
DB部315は、ロギング情報316を格納し管理するログ管理部の一例である。ロギング情報316は、例えば、差分コピー部313による処理対象のオブジェクトを特定するために用いられる。DB部315は、例えば、磁気ディスク装置、半導体ドライブ装置、フラッシュメモリ等の不揮発性の記憶装置により実現されてよい。
情報格納部32は、図5に示すメモリ部132の一例である。情報格納部32は、メタデータ管理情報321、オブジェクト管理情報322、及び、コピー管理情報323(以下、これらをまとめて、管理情報321〜323と表記する場合がある)を記憶し管理する。データ管理部32は、例えば、RAM(Random Access Memory)等の揮発性の記憶装置により実現されてよく、或いは、フラッシュメモリ等の不揮発性の記憶装置により実現されてもよい。ロギング情報316及び管理情報321〜323については後述する。
プロキシ処理部33は、図5に示すリクエスト処理部134の一例である。プロキシ処理部33は、業務サーバ4のNFSクライアント40から受信したNFSリクエストを、ファイルシステム20に対して実行する。
NFSアクセス先のファイルシステム20は、NFSリクエストの参照系又は更新系の種別、マイグレーション処理のフェーズ、NFSリクエストの対象オブジェクトに係るマイグレーションの移動状況等に応じて決定(選択)されてよい。
プロキシ処理部33は、図6に例示するように、マイグレーション連携部331をそなえてよい。マイグレーション連携部331は、例えば、更新系NFSリクエストを受信した場合、管理部314に対して、NFSアクセス先の判定を指示してよい。
NFSアクセス先の判定の指示は、例えば、更新系NFSリクエストがマイグレーション対象のファイルシステム20へのアクセスである場合に実行されてよい。プロキシ処理部33は、マイグレーション連携部331が管理部314から取得したNFSアクセス先の情報を用いて、更新系NFSリクエストを実行する。
また、マイグレーション連携部331は、NFSアクセス先の判定、及び、更新系NFSリクエストの実行に伴う、情報格納部32内の情報の更新を指示してよい。
以上のように、マイグレーション連携部331及び管理部314は、書込リクエストを受信した場合、移行元及び移行先の一方又は双方のファイルシステム20を選択する選択部(例えば、図5に示す選択部133)の一例である。
以下、マイグレーション連携部331及び管理部314による連携(協調)した処理を説明する場合、マイグレーション連携部331及び管理部314をまとめて取得/設定部34(図6参照)と表記する。
〔1−4〕フェーズ管理
以下、図7を参照して、マイグレーション処理部31におけるフェーズ管理について説明する。以下、移行元のファイルシステム20−1を「ソース20−1」と表記し、移行先のファイルシステム20−2を「ターゲット20−2」と表記する場合がある。
なお、コピー部311〜313によりソース20−1からターゲット20−2にコピーされるデータ等は、マイグレーション実行後或いは業務の移行後等の任意のタイミングで、ソース20−1から削除されてもよい。つまり、これらのデータ等の「コピー」及びその後の「削除」は、マイグレーションの実行前後で見れば「移動」に相当するといえる。以下の説明において、単に「コピー」と表記する場合、「コピー」後の任意のタイミングでソース20−1からデータや情報が「削除」されることを含んでもよい。
〔1−4−1〕初期コピーフェーズ
初期コピーフェーズは、初期コピー部311が、ソース20−1のメタデータや属性情報等を、ターゲット20−2にコピーするフェーズである(図7の矢印(i))。このとき、通常ファイルについては、ターゲット20−2にスタブが作成されてよい。
初期コピーフェーズは、例えば業務サーバ4からのマイグレーション開始指示を契機に、ファイルシステム20内のファイルやディレクトリ全体を対象として実施されてよい。
例えば、初期コピー部311は、ソース20−1のルートを基点に全てのディレクトリ階層情報を取得し、ターゲット20−2に対して以下の処理を実行してよい。
・通常ファイル:ファイルのスタブ(0byteのファイル)を作成する。
・通常ファイル以外:ソース20−1と同じ属性(所有者、パーミッション等)のデータを作成する。なお、通常ファイルとは異なり短時間で作成可能なため、スタブ化は不要としてよい。
「通常ファイル以外」としては、例えば、キャラクタファイル、ブロックファイル、シンボリックリンク、ソケット、FIFO(First-In First-Out)、又は、ディレクトリ等が挙げられる。
なお、初期コピー部311は、ディレクトリやファイルの階層等を管理するメタデータ管理情報321と、マイグレーション制御で使用する制御情報の一例であるオブジェクト管理情報322とを作成又は更新してよい。
以上のように、初期コピーフェーズは、フルコピーフェーズの実行前に、ソース20−1に格納されるオブジェクトの属性情報をターゲット20−2に移行する初期移行処理の一例である。
初期コピーが完了したファイルは、順次、フルコピーフェーズに移行してよい。フルコピーフェーズでは、複数のファイルに対してフルコピーが並列に実施されてよい。
〔1−4−2〕フルコピーフェーズ
フルコピーフェーズは、フルコピー部312が、初期コピーフェーズでターゲット20−2に作成されたスタブに、ソース20−1のファイルのデータをコピーするフェーズである(図7の矢印(ii))。
例えば、フルコピー部312は、ソース20−1のファイルの先頭から順に所定サイズのデータを取得し、ターゲット20−2にコピーすることで、ファイルの全データを移動してよい。このように、フルコピーフェーズでは、所定サイズのデータ領域単位でオブジェクトのデータコピーが行なわれる。所定サイズのデータ領域は、「エクステント」と称されてよい。
換言すれば、フルコピー部312は、ファイルをエクステント単位で分割し、分割したデータを順にコピーすることで、ファイル全体のコピーを実現する。なお、フルコピー部312は、ソース20−1及びターゲット20−2へのアクセスに標準NFSプロトコルを使用してよい。
なお、フルコピー部312は、対象オブジェクトに係るフルコピーの進捗状況を、エクステント単位で管理するコピー管理情報323を作成してよい。フルコピー部312は、コピー管理情報323を参照して、フルコピーフェーズにおけるデータのコピーの実施、スキップ、及び、再実施等を判断し、フルコピーフェーズを終了するときにコピー管理情報323を削除してよい。
以上のように、フルコピーフェーズは、1以上のNAS2が有するファイルシステム20について、移行元のファイルシステム20−1を移行先のファイルシステム20−2に移行する第1移行処理の一例である。
フルコピーが完了したファイルは、順次、差分コピーフェーズに移行してよい。差分コピーフェーズでは、複数のファイルに対して差分コピーが並列に実施されてよい。
〔1−4−3〕差分コピーフェーズ
差分コピーフェーズは、差分コピー部313が、フルコピーが完了したファイルについて、ソース20−1及びターゲット20−2のファイルのデータ不整合状態を監視及び解消するフェーズである(図7の矢印(iii))。例えば、差分コピー部313は、不整合状態のデータ(差分データ)を検出し、当該データをエクステント単位でソース20−1からターゲット20−2にコピー(差分コピー)する。
なお、差分コピー部313は、コピー管理情報323を作成してよい。差分コピー部313は、コピー管理情報323を参照して、差分コピーフェーズにおけるデータのコピーの実施、スキップ、及び、再実施等を判断し、差分コピーフェーズを終了するときにコピー管理情報323を削除してよい。
また、差分コピー部313は、ロギング情報316を参照して、差分コピーフェーズにおいて、差分コピーの対象となるファイルを特定してよい。
ロギング情報316は、移行元及び移行先のファイルシステム20間でデータ不整合が発生しているオブジェクトを示す情報の一例である。なお、データの不整合状態とは、ソース20−1及びターゲット20−2のファイルにおいて一致しないデータが存在する状態を意味してよい。
ロギング情報316は、マイグレーション処理部31の起動後、マイグレーションが完了する(例えば業務サーバ4から停止指示を受信する)までの間、取得/設定部34により管理されてよい(図7の矢印(iv))。
以上のように、差分コピーフェーズは、フルコピーフェーズが完了した場合に実行され、移行元及び移行先のファイルシステム20間の等価状態を維持する第2移行処理の一例である。
差分コピーフェーズは、業務サーバ4から停止指示を受信するまでの間、実施されてよい。
〔1−5〕NFSアクセス先の選択
上述したように、NFSリクエストを受信したプロキシ処理部33によるNFSアクセス先は、マイグレーション連携部331及び管理部314により実現される取得/設定部34によって選択されてよい。
以下、図7〜図9を参照して、取得/設定部34によるNFSアクセス先の選択条件の一例を説明する。なお、図9は、マイグレーション実行中におけるNFSアクセス先の一例を示す図である。
〔1−5−1〕参照系リクエスト(図7の“read”及び図8の“参照系”参照)
マイグレーション実行前又は実行中のファイルシステム20に対する参照系NFSリクエストを受信した場合、取得/設定部34は、図9に例示するように、NFSアクセス先としてソース20−1を選択する(図7の矢印(I))。
一方、マイグレーション実行後(例えば、停止指示受信後)のファイルシステム20に対する参照系NFSリクエストを受信した場合、取得/設定部34は、NFSアクセス先としてターゲット20−2を選択する(図7の矢印(II))。マイグレーション実行後、業務はターゲット20−2で継続して運用されるためである。
〔1−5−2〕更新系リクエスト(図7の“write”及び図8の“更新系”参照)
(A)マイグレーション実行前
マイグレーション実行前のファイルシステム20に対する更新系NFSリクエストを受信した場合、取得/設定部34は、NFSアクセス先としてソース20−1を選択する(図7の矢印(III))。マイグレーション実行前であり、業務はソース20−1で運用されているためである。
(B)マイグレーション実行後
マイグレーション実行後のファイルシステム20に対する更新系NFSリクエストを受信した場合、取得/設定部34は、NFSアクセス先としてターゲット20−2を選択する(図7の矢印(VII))。マイグレーション実行後、業務はターゲット20−2で継続して運用されるためである。
(C)マイグレーション実行中
マイグレーション実行中のファイルシステム20に対する更新系NFSリクエストを受信した場合、取得/設定部34は、実施中のコピーフェーズに応じて、以下のファイルシステム20を選択する。
(C−1)初期コピーフェーズの場合
初期コピーフェーズのオブジェクトに対する更新系NFSリクエストを受信した場合、取得/設定部34は、NFSアクセス先としてソース20−1を選択する(図7の矢印(IV))。ソース20−1において更新されたファイルは、初期コピーフェーズ後のフルコピーフェーズにおいてターゲット20−2にコピーされるためである。
(C−2)フルコピーフェーズ又は差分コピーフェーズの場合
次に、フルコピーフェーズ又は差分コピーフェーズのオブジェクト(例えば、図9の「移動未完了(移動中)」のファイル参照)に対する更新系NFSリクエストを受信した場合を説明する。この場合、取得/設定部34は、アクセス対象のエクステントのコピー実施状況に応じて、以下のファイルシステム20を選択する。
(C−2−1)コピー実施中のエクステントに対する更新系NFSリクエストの場合
この場合、図8の表に示すように、更新系NFSリクエストの対象であるエクステントと、コピー中のエクステントとが重複する。換言すれば、更新系NFSリクエストによるNFSアクセス先のアドレス範囲に、コピー中のエクステントのアドレスが含まれる。
この場合、取得/設定部34は、NFSアクセス先としてソース20−1を選択する(図7の矢印(V))。
このように、コピー実施中のエクステントに対する更新系NFSリクエストを受信した場合、プロキシ処理部33は、ソース20−1に対してNFSリクエストを実行する。これにより、ターゲット20−2をNFSアクセス先とした場合のコピー完了待ちが発生しないため、I/Oタイムアウトエラーの発生を抑止でき、業務を継続できる。
なお、ソース20−1に対してNFSリクエストを実行する場合、ソース20−1のファイルと、ターゲット20−2のファイルとの間で、等価でないデータが存在し、更新系NFSリクエストの対象であるファイルにデータ不整合が発生することになる。
そこで、取得/設定部34は、後述するコピー管理情報323における更新したエクステントを表す領域にダーティビットを設定してよい。ダーティビットは、フルコピーフェーズ又は差分コピーフェーズにおいて、マイグレーション処理部31にコピー中のエクステントに対するコピーの再実施を促す情報である。
ソース20−1に対して実行されたNFSリクエストは、ダーティビットの管理によって、フルコピー又は差分コピーの再実施が行なわれるため、データの整合性を保つことができる。
なお、取得/設定部34は、コピー管理情報323へのダーティビットの設定に加えて、後述するロギング情報316に対してデータ不整合を表す情報を設定してよい。
(C−2−2)コピー未実施又は実施済のエクステントに対する更新系NFSリクエストの場合
この場合、図8の表に示すように、更新系NFSリクエストの対象であるエクステントと、コピー中のエクステントとは重複しない。換言すれば、更新系NFSリクエストによるNFSアクセス先のアドレス範囲に、未コピー又はコピー済のエクステントのアドレスが含まれる。
この場合、取得/設定部34は、NFSアクセス先としてソース20−1及びターゲット20−2の双方を選択する(図7の矢印(VI))。
例えば、業務サーバ4でファイルが更新された場合、NFSクライアント40は、更新されたデータのアドレス範囲を指定して、更新系NFSリクエストを実行する。この更新系NFSリクエストで指定されたデータは最新状態のため、当該NFSリクエストを受信したタイミングでターゲット20−2にデータを反映すれば、マイグレーションにおけるデータコピーが不要となり、マイグレーションに要する時間を短縮できる。
なお、最新状態のデータが反映されたエクステントについて、マイグレーションにおけるデータコピーをスキップするために、取得/設定部34は、当該エクステントがコピー済であることを示す情報を、コピー管理情報323に設定してよい。
例えば、取得/設定部34は、更新系NFSリクエストのアクセス対象である全エクステントについて、コピー管理情報323にコピー済フラグを設定してよい。マイグレーション処理部31は、フルコピー又は差分コピーを実施する際に、コピー管理情報323を参照し、コピー済フラグが設定されたエクステントについて、フルコピー又は差分コピーの実施をスキップしてよい。
また、ターゲット20−2だけでなく、ソース20−1に対しても更新系NFSリクエストを実行することで、ソース20−1及びターゲット20−2間のデータの整合性を保つことができる。これにより、マイグレーション実行中に一方のNAS2が故障した場合におけるデータ喪失を回避でき、システムの信頼性を向上できる。
なお、NAS2や図示しないネットワークの異常により、ソース20−1又はターゲット20−2のいずれか一方で更新系NFSリクエストが異常終了する場合も考えられる。この場合、ソース20−1及びターゲット20−2のファイルにおいて、等価でないデータが存在し、データ不整合が発生することになる。
そこで、取得/設定部34は、更新系NFSリクエストの実行結果に基づき、後述するコピー管理情報323における更新対象のエクステントを表す領域にダーティビットを設定してよい。
なお、取得/設定部34は、コピー管理情報323へのダーティビットの設定に加えて、後述するロギング情報316に対してデータ不整合を表す情報を設定してよい。
なお、フルコピー及び差分コピーは、エクステント単位で実施される。これに対し、更新系NFSリクエストが対象とするアドレス範囲は、ファイル全体のアドレス範囲や、複数のエクステントのアドレス範囲を含む場合がある。従って、更新系NFSリクエストが対象とするアドレス範囲に、「コピー実施中のエクステント」及び「コピー未実施又は実施済のエクステント」の双方が含まれる場合もある。
このような場合、更新系NFSリクエストのアドレス範囲に含まれる「コピー実施中のエクステント」についてはソース20−1が選択され、「コピー未実施又は実施済のエクステント」についてはソース20−1及びターゲット20−2の双方が選択されてよい。
以上のように、取得/設定部34は、NFSリクエストの種別及びマイグレーションの状態等に応じて、NFSアクセス先を動的に切り替える。これにより、マイグレーション処理部31によるデータコピーの完了待ちに起因するNFSリクエストの完了遅延を防止できる。
〔1−6〕情報格納部及びDB部が格納する情報の説明
次に、図10〜図20を参照して、情報格納部32及びDB部315が格納する情報の一例を説明する。なお、図10〜図20の説明では、情報格納部32及びDB部315が格納する各種の情報を、説明に適した形式、例えば、情報間の関係を表すモデル形式、リスト形式、テーブル形式、又はマップ形式等の形式で例示する。しかしながら、これらの情報は、図10〜図20に示す形式に限定されるものではなく、例えば配列、DB、ビットマップ等の種々の形式又は態様で情報格納部32及びDB部315に格納されてよい。
〔1−6−1〕情報格納部
図10は、比較例に係るメタデータ管理情報3210の一例を示す図である。メタデータ管理情報3210は、例えば、図1に示す情報処理システム100におけるファイルシステム130−1及び130−2の各々に存在してよい。
メタデータ管理情報3210には、ファイルシステム130単位で、ディレクトリ階層の各オブジェクトに1つのエントリが存在する。各エントリには、「FILE HANDLE」、「タイプ情報」、「検索情報」、「HASH値」、「AVL tree」等の情報が設定される。
「FILE HANDLE」には、当該オブジェクトのファイルハンドル領域へのポインタが設定される。ファイルハンドルは、ディレクトリやファイルの参照で使用するファイルシステム130内で一意の制御情報である。ファイルハンドルは、ディレクトリやファイルが作成される際にファイルシステム130により割り当てられる。NFSクライアント150は、ファイルシステム130(NFSサーバ)からファイルハンドルを取得し、NFSプロトコルでファイルハンドルを指定してディレクトリやファイルにアクセスできる。
「タイプ情報」は、ディレクトリ又はファイル等の種別を表す情報である。「検索情報」は、オブジェクトの検索に用いる情報であり、HASH値や、2分探索木の一例であるAVL tree等を含んでよい。
これに対し、図11に例示するように、一実施形態に係る情報格納部32は、管理情報321〜323を格納する。管理情報321〜323は、図11に示すように、メタデータ管理情報3210の機能を拡張した管理情報と位置付けられてよい。
なお、図11に示すメタデータ管理情報321は、例えば、ファイルシステム20のうちのソース20−1のメタデータを管理する領域であってよい。
メタデータ管理情報321は、図10に示すメタデータ管理情報3210と比較して、「FILE HANDLE」に設定されるポインタが異なる。メタデータ管理情報321の「FILE HANDLE」には、オブジェクト管理情報322における当該オブジェクトのエントリへのポインタが設定されてよい。
オブジェクト管理情報322内の各オブジェクトのエントリには、図11に例示するように、「FILE HANDLE(from)」、「FILE HANDLE(to)」、「データ不整合発生フラグ」が設定されてよい。当該エントリには、さらに、「OBJECTデータ」、「属性情報」、及び、「コピー管理情報」等の情報が設定されてよい。
「FILE HANDLE(from)」には、ソース20−1に格納されたオブジェクトのファイルハンドル領域へのポインタが設定されてよい。「FILE HANDLE(to)」には、ターゲット20−2に格納されるオブジェクトのファイルハンドル領域へのポインタが設定されてよい。
なお、当該オブジェクトがマイグレーション対象外である場合、「FILE HANDLE(to)」の領域は存在せず、ポインタには、例えば“NULL”が設定されてよい。
「データ不整合発生フラグ」は、ユーザの操作、例えば、マイグレーション処理部31によるマイグレーション実行中のファイルに対してのNFSクライアント40からの操作を管理してよい。
「OBJECTデータ」は、オブジェクトの種別及び名前に関する情報を含んでよい。「属性情報」は、オブジェクトの属性情報、例えば、アクセス権限や所有者等に関する情報を含んでよい。
「コピー管理情報」には、コピー管理情報323における当該オブジェクトのエントリへのポインタが設定されてよい。なお、このエントリが存在するのは、当該オブジェクトがフルコピー又は差分コピー中の場合であり、それ以外の場合は存在しない。従って、エントリが存在しない場合、「コピー管理情報」のポインタには、“NULL”が設定されてよい。コピー管理情報323の詳細は後述する。
このように、情報格納部32は、メタデータ管理情報321とファイルハンドル領域との中間に、マイグレーション元及び先のオブジェクトを取得可能なオブジェクト管理情報322を設け、オブジェクト管理情報322からコピー管理情報323をリンクさせる。
これにより、マイグレーション処理部31は、マイグレーション先のオブジェクトと、マイグレーション状況とを取得可能となる。また、マイグレーションの状況に応じたNFSアクセス先のNAS2の動的選択を実現し、マイグレーションのデータコピーに依存しないNFSリクエストの実行を可能とすることで、NFSアクセスのI/Oタイムアウトの発生を防止できる。
次に、オブジェクト管理情報322に含まれる「データ不整合発生フラグ」、「OBJECTデータ」、及び、「属性情報」について説明する。
「データ不整合発生フラグ」には、図12に例示するように、bit 0〜3が使用され、bit 4〜31がリザーブ(未使用)である4byteのデータ領域により実現されてよい。図12の例では、bit 0〜3にそれぞれ以下のフラグが設定される。
・bit 0:通常ファイルのデータ部の変更を管理するフラグ。
・bit 1:オブジェクトの属性情報の変更を管理するフラグ。
・bit 2:通常ファイルのデータ部が切り詰められたか否かを管理するフラグ。
・bit 3:オブジェクトの削除を管理するフラグ。
マイグレーション処理部31は、各ファイルのマイグレーションにおいて、フルコピーフェーズの実行後、又は、差分コピーフェーズにおける差分コピーの実行後に、データ不整合発生フラグの設定状況を確認してよい。そして、マイグレーション処理部31は、いずれかのフラグが不整合状態の発生を示す(例えばON)場合、当該ファイルの等価処理を実施してよい。等価処理は、例えば、マイグレーション処理(この場合、当該ファイル又はエクステントのコピー)や属性情報の更新等のリトライを含んでよい。
各フラグは、プロキシ処理部33による変更のタイミングで取得/設定部34によりONに設定され、マイグレーション処理部31による等価処理が完了したタイミングでマイグレーション処理部31(管理部314)により解除(OFFに設定)されてよい。
なお、データ不整合発生フラグにおいて全てのフラグがOFFの場合、不整合状態は未発生であるため、マイグレーション処理部31による等価処理は不要である。
「OBJECTデータ」には、図13に例示するように、32bitの整数で表される種別、及び、4096byteのテキスト形式で表される名前が設定されてよい。
種別には、オブジェクトの種類、例えば、通常ファイル、シンボリックリンク、ディレクトリ等に応じて、図13に示す値が設定されてよい。名前には、オブジェクト名が格納されてよい。
「属性情報」は、図14に例示するように、32bitの符号なし整数で表される複数の管理情報が設定されてよい。管理情報は、図14に示すように、例えば、オブジェクトのアクセス権限(読出、書込、実行権限)を示す「mode」、オブジェクトの所有者に割り当てられた識別番号を示す「owner」等を含んでよい。
コピー管理情報323内の各オブジェクトのエントリには、図15に例示するように、「領域サイズ」、「エクステントサイズ」、「有効エクステント数」、「マイグレーション中のエクステント番号」、及び、「マップ領域」が設定されてよい。
「領域サイズ」には、オブジェクト、例えばファイルのサイズが設定されてよい。「エクステントサイズ」には、ファイルごとに設定されるエクステントのサイズが設定されてよい。「有効エクステント数」には、1ファイルあたりのコピー対象のエクステント数が設定されてよい。例えば、「有効エクステント数」には、「領域サイズ」を「エクステントサイズ」で除算した商(小数点以下切り上げ)が設定されてよい。
エクステントには、例えば、ファイルの先頭から順にエクステントを特定する番号(例えば通し番号)が付与されてよい。「マイグレーション中のエクステント番号」には、データ移動中のエクステントを特定する当該番号が設定されてよい。
「マップ領域」には、図15に例示するマップ領域324が設定されてよい。なお、「マップ領域」には、マップ領域324へのポインタが設定されてもよい。
マップ領域324は、例えば、当該オブジェクトについて、エクステント単位でデータ移動の進捗を管理するビットマップであってよい。
このように、マイグレーションの進捗を管理するコピー管理情報323により、マイグレーション処理部31は、一定のサイズでファイルデータの分割移動を実現する。これにより、業務サーバ4のNFSリクエストとマイグレーションのコピーアクセスとの競合範囲を狭め、仮想環境のシステムイメージ等の大容量且つ高頻度にアクセスされるファイルのマイグレーションを可能とする。
マップ領域324内で各エクステントの進捗を示すエントリは、図16に例示するように、bit 0〜7のリクエストカウンタと、bit 8〜15の状況フラグとを含む2byteのデータ領域により実現されてよい。図16の例では、bit 0〜15にそれぞれ以下の情報が設定される。
・bit 0〜7:当該エクステントがNFSリクエストによるライト中を示す実行カウンタ。
・bit 8:当該エクステントがマイグレーション処理部31によるコピー中を示すコピー中フラグ。
・bit 9〜13:リザーブ(未使用)。
・bit 14:当該エクステントがコピー済(更新系NFSリクエストでライト済)であることを示すコピー済フラグ。
・bit 15:当該エクステントがダーティ(マイグレーション元/先でのデータ不整合状態の発生)であることを示すダーティフラグ。
なお、ファイルシステム20では、1ファイルに対して複数のNFSリクエストが同時に実行可能である。このため、エクステントがNFSリクエストによるライト中かをビットを使用して管理した場合、複数のNFSリクエストの状態遷移(開始から終了まで)を正しく管理できない。
そこで、NFSリクエストの状態遷移には、複数のスレッドが同一エクステントにライトする場合を表現するため、フラグではなく1byte(bit 0〜7)の実行カウンタを採用し、同一エクステントに対するライト数を管理する。マイグレーション状況フラグに1byte(bit 8〜15;リザーブ含む)を割り当てるため、マップ領域324のエントリは、上述のように2byte構成となる。
マイグレーション処理部31は、実行カウンタのカウンタ値が“0”でなければライト中であると判断し、カウンタが“0”になる(ライトが終了する)までコピー処理を中断してよい。これにより、ユーザアクセスを優先し、I/Oリクエストエラーの発生を抑制できる。
コピー中フラグは、マイグレーション処理部31により当該エクステントのコピーを開始するときにONに設定され(図17参照)、コピーを終了したときにOFFに設定される。取得/設定部34は、当該エクステントに対する更新NFSリクエストを受信した場合、ダーティフラグをONに設定してよい。
コピー済フラグは、プロキシ処理部33によりソース20−1及びターゲット20−2の双方に更新系NFSリクエストが実行される場合に、取得/設定部34によりONに設定される(図17参照)。マイグレーション処理部31は、当該フラグがONの場合、当該エクステントのコピーをスキップしてよい。これにより、マイグレーション実行中のエクステントに対して更新系NFSリクエストにより更新されたデータの不要なコピーを迂回(回避)できる。
マイグレーション処理部31は、フルコピー及び差分コピー(不整合解消のための差分コピー)において、ダーティビットを確認し、ダーティフラグのbitがONに設定されているエクステント(図18参照)に対してコピー処理を実行(リトライ)してよい。
〔1−6−2〕DB部
図19は、DB部315が格納するロギング情報316の一例を示す図である。ロギング情報316には、図19に例示するように、「Export_ID」、「FILE HANDLE」、「マイグレーションフラグ」、及び、「整合性フラグ」が設定されてよい。
「Export_ID」には、ファイルが格納されているファイルシステム20のNFSエクスポートIDが設定されてよい。プロキシサーバ3は、ソース20−1及びターゲット20−2の組のマイグレーション処理を、複数の組について並列に実施できる。従って、複数のマイグレーション処理を区別するために、ロギング情報316には「Export_ID」が設定されてよい。
「FILE HANDLE」には、ロギング情報316に追加されたファイルのNFSファイルハンドル領域へのポインタが設定されてよい。
「マイグレーションフラグ」には、マイグレーションの状態、例えば、未処理、処理中、完了が設定されてよい。
「整合性フラグ」には、更新系NFSリクエストによるアクセスに異常があり、ソース20−1及びターゲット20−2でデータ不整合が発生したか否かを表す情報、例えば、正常、異常が設定されてよい。
例えば、フルコピーフェーズにおいてマイグレーションを開始するとき、マイグレーション処理部31は、ロギング情報316に、「Export_ID」、「FILE HANDLE」、「マイグレーションフラグ:処理中」を設定したエントリを追加してよい。また、当該ファイルについてマイグレーション(フルコピー)が完了すると、マイグレーション処理部31は、当該ファイルのエントリに「マイグレーションフラグ:完了」、「整合性フラグ:正常」を設定してよい。
〔1−7〕データ不整合状態の管理について
上述のように、プロキシ処理部33は、データ移動済(又は未移動)のエクステントに対する更新系NFSリクエストについて、ソース20−1及びターゲット20−2の双方に対して実行する。このとき、ネットワークやファイルシステム20のテンポラリエラーが発生した場合、ソース20−1及びターゲット20−2間でデータ不整合が発生する(図20参照)。
一実施形態においては、プロキシサーバ3のメモリ使用量を抑えるため、この不整合状態を、マイグレーションの状態に応じて、メモリ及びDBによる2通りの方式で管理してよい。なお、不整合状態の設定は、プロキシ処理部33の指示により取得/設定部34が実施し、不整合状態の解消は、マイグレーション処理部31(例えば差分コピー部313)が実施してよい。
〔1−7−1〕マップ領域による管理
図18に例示するように、フルコピー及び差分コピー(不整合解消のための差分コピー)実行中のファイルに対するデータ不整合状態については、マップ領域324で管理され、フルコピーフェーズ又は差分コピーフェーズ(差分コピー)で解消される。取得/設定部34は、更新系NFSリクエストのアクセス範囲先とアクセス結果とから、データ不整合の発生を判断し、不整合状態を検出した場合、上述のように、対象エクステントに不整合状態を示すダーティビットを設定する(図18参照)。
マイグレーション処理部31は、フルコピー及び差分コピー(不整合解消のための差分コピー)において、ダーティビットを確認し、ダーティフラグのbitがONに設定されているエクステントに対して、コピー処理を実行(リトライ)してよい。
なお、マイグレーション処理部31(管理部314)は、フルコピーフェーズが完了したファイルごとにコピー管理情報323を削除してよく、差分コピーフェーズにおける差分コピーが完了したファイルごとにコピー管理情報323を削除してよい。
・ロギング情報による管理
一方、差分コピーフェーズ(不整合発生の監視中)にファイルで発生したデータ不整合については、図19に示すロギング情報316で管理され、差分コピーフェーズ(監視フェーズ)で解消される。
フルコピーフェーズ、又は、差分コピーフェーズにおいて、ファイルのデータ不整合が発生した場合、取得/設定部34は、当該ファイルのエントリに「整合性フラグ:異常」を設定してよい。データ不整合は、例えば、ターゲット20−2へのライトに失敗した場合や、マイグレーション実施中のエクステントについてソース20−1にライトした場合等に発生する。
差分コピーフェーズにおいて、マイグレーション処理部31(差分コピー部313)は、一定時間ごと等の任意のタイミングで、ロギング情報316から「整合性フラグ:異常」が記録されたファイルについて差分コピーを実施し、データ不整合を解消してよい。
なお、マイグレーションが行なわれていないファイルについてライトに失敗した場合、取得/設定部34は、ロギング情報316に当該ファイルのエントリを追加してよい。このエントリには、「Export_ID」、「FILE HANDLE」、「マイグレーションフラグ:未処理」、「整合性フラグ:異常」が設定されてよい。当該エントリのファイルについてマイグレーションが行なわれると、マイグレーション処理部31は、当該エントリを「マイグレーションフラグ:完了」、「整合性フラグ:正常」に更新してよい。
このように、コピー管理情報323では、マップ領域324によりエクステント単位でコピー状況を管理する。従って、マイグレーション対象であるソース20−1内の全てのファイルについて、コピー管理情報323を情報格納部32に格納する場合、多くのメモリ領域を使用することになり、プロキシサーバ3の性能に影響を与える可能性もある。
そこで、コピーが完了したファイルの整合性については、不揮発性の記憶装置(HDDやSSD等)であるDB部315内のロギング情報316を用いて管理することで、プロキシサーバ3の性能低下を抑制できる。また、障害等によりプロキシサーバ3への電源供給が断たれた場合にもロギング情報316が消失しないため、障害復帰後もデータの不整合状態を正常に管理でき、ソース20−1及びターゲット20−2の等価状態の維持に利用できる。
〔1−8〕動作例
次に、図21〜図31を参照して、一実施形態に係る情報処理システム1の動作例を説明する。
〔1−8−1〕全体の動作例
はじめに、図21〜図23を参照して、情報処理システム1における全体の動作例を説明する。
図21に例示するように、マイグレーション処理部31(例えば差分コピー部313又は管理部314)は、ロギング情報316の管理を開始する(処理P1)。
業務サーバ4のNFSクライアント40は、マイグレーションの開始リクエスト(export−ID:1)を送信する(処理P2)。初期コピー部311は、メタデータの構築を開始して(処理P3)、業務サーバ4に応答し、メタデータを作成する(処理P4)。
例えば、ファイルAのメタデータを作成する場合、初期コピー部311は、NFSプロトコルのread操作によりソース20−1にファイルAの属性情報の読み出しを指示する(処理P5)。そして、初期コピー部311は、読み出された属性情報を用いて、NFSプロトコルのcreate操作によりターゲット20−2にファイルAを作成する(処理P6)。このとき、ファイルAはスタブ状態である。
初期コピー部311は、全メタデータの作成が完了したか否かを判定し(処理P7)、完了していない場合(処理P7でNo)、処理がP4に移行する。一方、全メタデータの作成が完了した場合(処理P7でYes)、処理が図22のP8に移行する。以上により、初期コピー部311によるexport−ID:1の初期コピーフェーズの動作が完了する。
なお、初期コピーフェーズにおいて、NFSクライアント40がファイルAの属性情報を変更する更新系NFSリクエスト(export−ID:1)を送信した場合を考える(処理A1)。この場合、プロキシ処理部33は、ソース20−1に書込アクセスを行ない(処理A2)、NFSプロトコルのlookup及びsetattr操作によりソース20−1にファイルAの属性情報の更新を指示する(処理A3)。
このとき、ソース20−1及びターゲット20−2においてファイルAの属性情報に不整合が発生する。そこで、プロキシ処理部33(又は取得/設定部34)は、不整合状態の発生をロギング情報316に出力し(処理A4)、業務サーバ4に応答を返す。
次に、図22に例示するように、フルコピー部312は、コピー管理情報323を作成し(処理P8)、ファイルのデータ移動を行なう(処理P9)。
例えば、ファイルAのデータを移動する場合、フルコピー部312は、NFSプロトコルのread操作によりソース20−1にファイルAのデータの読み出しを指示する(処理P10)。そして、フルコピー部312は、読み出されたデータを用いて、NFSプロトコルのwrite操作によりターゲット20−2にファイルAのデータを書き込む(処理P11)。なお、ファイルAの読み出し及び書き込みは、エクステント単位で行なわれる。
フルコピー部312は、全ファイルのデータ移動が完了したか否かを判定し(処理P12)、完了していない場合(処理P12でNo)、処理がP9に移行する。一方、全ファイルのデータ移動が完了した場合(処理P12でYes)、フルコピー部312は、コピー管理情報323を削除する(処理P13)。
そして、フルコピー部312は、差分コピー部313に対して不整合状態の監視を依頼し(処理P14)、処理が図23のP15に移行する。これにより、export−ID:1が差分コピー部313による監視対象となる。以上により、フルコピー部312によるexport−ID:1のフルコピーフェーズの動作が完了する。
なお、フルコピーフェーズにおけるファイルAの移動後に、NFSクライアント40がファイルAのデータを更する更新系NFSリクエスト(export−ID:1)を送信した場合を考える(処理A5)。この場合、プロキシ処理部33は、ソース20−1及びターゲット20−2の双方に書込アクセスを行なう(処理A6)。
例えば、プロキシ処理部33は、NFSプロトコルのwrite操作によりソース20−1及びターゲット20−2の双方にファイルAのデータ更新を行なう(処理A7及びA8)。ここで、ターゲット20−2でのデータ更新において異常が発生し、ファイルAにデータ不整合が発生した場合、プロキシ処理部33(又は取得/設定部34)は、不整合状態の発生をロギング情報316に出力し(処理A9)、業務サーバ4に応答を返す。
次に、図23に例示するように、差分コピー部313は、ロギング情報316による不整合状態の確認を行なう(処理P15)。
例えば、ファイルAにデータ不整合が発生している場合、差分コピー部313は、NFSプロトコルのread操作によりソース20−1にファイルAのデータの読み出しを指示する(処理P16)。そして、差分コピー部313は、読み出されたデータを用いて、NFSプロトコルのwrite操作によりターゲット20−2にファイルAのデータを書き込む(処理P17)。なお、ファイルAの読み出し及び書き込みは、エクステント単位で行なわれる。
なお、差分コピー部313は、ファイルAの差分コピーにおいて、コピー管理情報323を作成して、コピーの進捗状況を管理し、差分コピーが終了すると、当該コピー管理情報323を削除する。
ここで、差分コピーフェーズにおいて、NFSクライアント40がファイルAのデータを更する更新系NFSリクエスト(export−ID:1)を送信した場合を考える(処理A10)。この場合、プロキシ処理部33は、ソース20−1及びターゲット20−2の双方に書込アクセスを行なう(処理A11)。
例えば、プロキシ処理部33は、NFSプロトコルのwrite操作によりソース20−1及びターゲット20−2の双方にファイルAのデータ更新を行なう(処理A12及びA13)。ターゲット20−2でのデータ更新において異常が発生し、ファイルAにデータ不整合が発生した場合、プロキシ処理部33(或いは取得/設定部34)は、不整合状態の発生をロギング情報316に出力し(処理A14)、業務サーバ4に応答を返す。
差分コピー部313は、定期的にロギング情報316を参照し、例えば、ファイルAの不整合を検出すると、処理P15〜P17と同様に、不整合状態の解消を行なう(処理P18〜P20)。
業務サーバ4が、マイグレーションの停止リクエスト(export−ID:1)を送信すると(処理P21)、差分コピー部313において、export−ID:1が監視対象外となる。以上により、差分コピー部313によるexport−ID:1の差分コピーフェーズの動作が完了する。export−ID:1が監視対象外になると、NFSアクセス先は、参照系及び更新系のいずれもターゲット20−2となる。
〔1−8−2〕マイグレーション対象のファイルシステムへのNFSアクセスの動作例
次に、図24及び図25を参照して、マイグレーション対象のファイルシステム20へのNFSアクセスの動作例を説明する。
図24に示すように、業務サーバ4がNFSプロトコルによるアクセス(RPC)を行なうと(処理A21)、プロキシ処理部33は、RPCを受け付け(処理A22)、ソース20−1についてメタデータの検索又は取得を行なう(処理A23)。
取得/設定部34は、業務サーバ4からのアクセスが更新系か否かを判定する(処理A24)。更新系の場合(処理A24でYes)、取得/設定部34は、マイグレーション対象のオブジェクトに対するアクセスか否かを判定する(処理A25)。
マイグレーション対象ではない場合(処理A25でNo)、又は、処理A24において更新系ではない場合(処理A24でNo)、処理が図25のA38に移行する。
処理A25において、マイグレーション対象のオブジェクトに対するアクセスの場合(処理A25でYes)、取得/設定部34は、ファイルへの書込アクセスか否かを判定する(処理A26)。ファイルへの書込アクセスではない場合(処理A26でNo)、例えば、ディレクトリの作成や属性情報の変更である場合、プロキシ処理部33は、NFSプロトコルによりソース20−1及びターゲット20−2へのアクセスを実行する(処理A27及びA29)。
ソース20−1及びターゲット20−2からアクセス情報の返信を受信すると(処理A28及びA30)、処理が図25のA47に移行する。
一方、処理A26において、ファイルへの書込アクセスの場合(処理A26でYes)、取得/設定部34のマイグレーション連携部331は、取得/設定部34の管理部314に対して、アクセス情報の設定依頼を行なう(処理A31)。
管理部314は、コピー管理情報323からエクステント情報を取得し(処理A32)、アクセス対象のエクステントはマイグレーション中か否かを判定する(処理A33)。マイグレーション中ではない場合(処理A33でNo)、管理部314は、マイグレーション連携部331に対して、復帰値として「両系アクセス」を返す(処理A34)。
一方、マイグレーション中の場合(処理A33でYes)、管理部314は、コピー管理情報323の対象エクステントにダーティフラグを設定し(処理A35)、マイグレーション連携部331に対して、復帰値として「ソースアクセス」を返す(処理A36)。
処理A31で復帰値を得ると、プロキシ処理部33は、復帰値が両系アクセスか否かを判定する(図25の処理A37)。両系アクセスではない場合(処理A37でNo)、プロキシ処理部33は、NFSプロトコルによるソース20−1へのアクセスを実行し(処理A38)、ソース20−1はファイルデータの書き込みを行なう(処理A39)。なお、図24の処理A24又は処理A25でNoの場合の処理A38のアクセスでは、ソース20−1は処理A39でファイルデータの読み出しを行なう。
処理A37において、両系アクセスの場合(処理A37でYes)、プロキシ処理部33は、NFSプロトコルによるソース20−1及びターゲット20−2へのアクセスを実行する(処理A40及びA42)。ソース20−1及びターゲット20−2は、ファイルデータの書き込みを行なう(処理A41及びA43)。
次いで、マイグレーション連携部331は、管理部314に対して、ソース20−1及びターゲット20−2へのアクセス結果を通知し(処理A44)、管理部314は、両系ともアクセスが正常終了したか否かを判定する(処理A45)。
少なくとも一方のアクセスが正常終了していない場合(処理A45でNo)、管理部314は、コピー管理情報323の対象エクステントにダーティフラグを設定し(処理A46)、処理がA44に戻る。一方、両系ともアクセスが正常終了した場合(処理A45でYes)、処理がA44に戻る。
そして、プロキシ処理部33は、業務サーバ4に対してアクセス結果を通知して(処理A47)、業務サーバ4が完了待ち状態で通知を受信し(処理A48)、処理が終了する。
なお、処理A24〜A42は、マイグレーション状況に応じたNFSリクエストのアクセス先の決定に関する処理といえる。また、処理A44〜A46は、更新系NFSリクエストによるデータ不整合の管理に関する処理といえる。
〔1−8−3〕初期コピーフェーズの動作例
次に、図26及び図27を参照して、初期コピーフェーズの動作例を説明する。
図26に示すように、業務サーバ4からマイグレーション開始リクエストの受信を契機に、初期コピー部311は、ソース20−1からexport情報を取得し(処理B1)、ソース20−1がマイグレーション対象か否かを判定する(処理B2)。
マイグレーション対象ではない場合(処理B2でNo)、次のexport情報に切り替えて処理がB1に移行する。一方、マイグレーション対象の場合(処理B2でYes)、初期コピー部311は、NFSプロトコルによるソース20−1からのマウントポイント情報の取得を実行し(処理B3)、ソース20−1は、マウントポイント情報を返信する(処理B4)。
次に、初期コピー部311は、マイグレーション連携部331に対して、ソース20−1に関するマイグレーション用のメタデータ管理情報321の作成を依頼する(処理B5)。マイグレーション連携部331は、管理部314と連携して、メタデータ管理情報321を作成する(処理B6)。なお、既にメタデータ管理情報321が作成されている場合、処理B5及びB6をスキップしてよい。
次いで、初期コピー部311は、ターゲット20−2からexport情報を取得し(処理B7)、NFSプロトコルによるターゲット20−2からのマウントポイント情報の取得を実行する(処理B8)。ターゲット20−2は、マウントポイント情報を返信する(処理B9)。
次に、初期コピー部311は、マイグレーション連携部331に対して、ターゲット20−2に関するマイグレーション用のメタデータ管理情報321の作成を依頼する(処理B10)。マイグレーション連携部331は、管理部314と連携して、メタデータ管理情報321を作成する(処理B11)。なお、既にメタデータ管理情報321が作成されている場合、処理B10及びB11をスキップしてよい。
初期コピー部311は、NFSプロトコルのreaddirに相当する操作により、ソース20−1からディレクトリ直下の情報の取得を実行し(処理B12)、ソース20−1は、readaddr情報を返信する(処理B13)。
初期コピー部311は、直下の全オブジェクトを処理済か否かを判定し(処理B14)、処理済の場合(処理B14でYes)、処理が図27のB36に移行する。一方、処理済でない場合(処理B14でNo)、初期コピー部311は、NFSプロトコルのlookup操作による、ソース20−1のオブジェクトのlookupを実行し(処理B15)、ソース20−1は、lookup結果を返信する(処理B16)。
初期コピー部311は、マイグレーション連携部331に対して、ソース20−1に関するメタデータ及びオブジェクト管理情報322の登録を依頼する(処理B17)。マイグレーション連携部331は、管理部314と連携して、メタデータ及びオブジェクト管理情報322を登録し(処理B18及びB19)、処理がB17に戻る。なお、既にこれらの情報が作成されている場合、処理B18及び/又はB19をスキップしてよい。
次いで、初期コピー部311は、NFSプロトコルのlookup操作による、ターゲット20−2のオブジェクトのlookupを実行し(処理B20)、ターゲット20−2は、lookup結果を返信する(処理B21)。
そして、初期コピー部311は、lookup結果から、ソース20−1及びターゲット20−2に同一エントリが存在するか否かを判定し(処理B22)、同一エントリが存在する場合(処理B22でYes)、処理がB34に移行する。
一方、同一エントリが存在しない場合(処理B22でNo)、初期コピー部311は、オブジェクトのタイプに応じた処理を行なう(処理B23)。
例えば、オブジェクトが通常ファイルの場合、差分コピー部313は、NFSプロトコルのcreate操作により、ターゲット20−2に0byteの通常ファイルの作成を指示する(処理B24)。ターゲット20−2は、オブジェクトを作成する(処理B25)。なお、通常ファイルの場合、ターゲット20−2に作成されるオブジェクトはスタブ化される。
オブジェクトがディレクトリの場合、差分コピー部313は、NFSプロトコルのmkdir操作により、ターゲット20−2にディレクトリの作成を指示する(処理B26)。ターゲット20−2は、オブジェクトを作成する(処理B27)。
オブジェクトがシンボリックリンクの場合、差分コピー部313は、NFSプロトコルのsymlink操作により、ターゲット20−2にシンボリックリンクの作成を指示する(処理B28)。ターゲット20−2は、オブジェクトを作成する(処理B29)。
オブジェクトが特殊ファイルの場合、差分コピー部313は、NFSプロトコルのmknode操作により、ターゲット20−2に特殊ファイルの作成を指示する(処理B30)。ターゲット20−2は、オブジェクトを作成する(処理B31)。
オブジェクトのタイプに応じた処理が完了すると、初期コピー部311は、マイグレーション連携部331に対して、ターゲット20−2に関するメタデータの登録を依頼する(処理B32)。マイグレーション連携部331は、管理部314と連携して、メタデータを登録し(処理B33)、処理がB32に戻る。次いで、初期コピー部311は、マイグレーション連携部331に対して、オブジェクト管理情報322の設定を依頼する(処理B34)。マイグレーション連携部331は、管理部314と連携して、オブジェクト管理情報322へ情報登録し(処理B35)、処理がB34に戻る。
次いで、初期コピー部311は、配下の全ディレクトリを処理済か否かを判定し(処理B36)、処理済でない場合(処理B36でNo)、処理がB12に移行する。一方、処理済の場合(処理B36でYes)、処理が終了する。
〔1−8−4〕フルコピーフェーズの動作例
次に、図28及び図29を参照して、フルコピーフェーズの動作例を説明する。
図28に示すように、初期コピーフェーズが終了すると、フルコピー部312は、ソース20−1からexport情報を取得し(処理C1)、ソース20−1がマイグレーション対象か否かを判定する(処理C2)。
マイグレーション対象ではない場合(処理C2でNo)、処理が終了する。一方、マイグレーション対象の場合(処理C2でYes)、フルコピー部312は、ソース20−1のメタデータ管理情報321の先頭から順に、メタデータを取得する(処理C3)。
次に、フルコピー部312は、取得したメタデータがファイルのメタデータか否かを判定する(処理C4)。ファイルのメタデータでない場合(処理C4でNo)、処理がC3に移行する。一方、ファイルのメタデータの場合(処理C4でYes)、フルコピー部312は、ターゲット20−2のメタ情報を取得済か否かを判定する(処理C5)。この判定は、オブジェクト管理情報322の「FILE HANDLE(to)」のポインタに基づき行なわれてよい。
ターゲット20−2のメタ情報が取得済でない場合(処理C5でNo)、処理がC3に移行する。一方、ターゲット20−2のメタ情報を取得済の場合(処理C5でYes)、フルコピー部312(又は管理部314)は、コピー管理情報323を作成する(処理C6)。このとき、コピー管理情報323には、ソース20−1のファイルサイズに応じてマップ領域324が作成され、全エクステントのダーティフラグがONに設定される。これにより、更新系NFSリクエストにより取得/設定部34がダーティフラグをOFFに設定したエクステントについて、データ移動をスキップできる。
フルコピー部312は、マイグレーション連携部331に対して、オブジェクト管理情報322にコピー管理情報323へのポインタの設定を依頼する(処理C7)。マイグレーション連携部331は、管理部314と連携して、オブジェクト管理情報322を更新し(処理C8)、処理がC7に戻る。
次いで、フルコピー部312は、ロギング情報316の対象ファイルを「マイグレーションフラグ:処理中」に更新し(処理C9)、マップ領域324から対象のエクステント情報を取得する(処理C10)。
フルコピー部312は、対象エクステントのコピー済フラグがONか否かを判定し(処理C11)、コピー済フラグがOFFの場合(処理C11でNo)、対象エクステントのダーティフラグがONか否かを判定する(処理C12)。
ダーティフラグがOFFの場合(処理C12でNo)、又は、処理C11においてコピー済フラグがONの場合(処理C11でYes)、処理がC10に移行する。
処理C12において、ダーティフラグがONの場合(処理C12でYes)、フルコピー部312は、更新系NFSリクエストの完了の待ち合わせを行なう(図29の処理C13)。例えば、フルコピー部312は、マップ領域324の実行カウンタで更新系NFSリクエストの実行状態を確認し、実行カウンタ値が“0”以外の場合は、実行カウンタ値が“0”になるまで、実行の完了を待ち合わせてよい。
次いで、フルコピー部312は、対象エクステントのコピー中フラグをONに設定し、ダーティフラグをOFFに設定するフラグ操作を行なう(処理C14)。なお、データを読み出す前に当該エクステントのダーティフラグをOFFにするのは、データの読出/書込中に更新系NFSリクエストの発生を検出するためである。
そして、フルコピー部312は、NFSプロトコルによりソース20−1にデータの読み出しを指示し(処理C15)、ソース20−1はファイルデータの読み出しを行なう(処理C16)。フルコピー部312は、データの読出エラーを判定する(処理C17)。
なお、エラー判定は、エラー時に所定回数(例えば最大10回(暫定))のリトライを行ない、リトライによってもエラーが回復しない場合に、エラーと判定するものとしてよい。この場合、フルコピー部312は、対象ファイルについてロギング情報316に「整合性フラグ:異常」を記録し、差分コピーフェーズでリトライするように管理してよい。エラーと判定されると(処理C17でYes)、処理が図28のC3に移行する。
一方、エラーと判定されない場合(処理C17でNo)、フルコピー部312は、NFSプロトコルによりターゲット20−2にデータの書き込みを指示し(処理C18)、ターゲット20−2はファイルデータの書き込みを行なう(処理C19)。フルコピー部312は、データの書込エラーを判定する(処理C20)。書込エラーの判定についても、読出エラーの判定と同様のリトライ条件であってよい。エラーと判定されると(処理C20でYes)、処理が図28のC3に移行する。
エラーと判定されない場合(処理C20でNo)、フルコピー部312は、対象エクステントのダーティフラグがONか否かを判定する(処理C21)。ダーティフラグがONの場合(処理C21でYes)、処理がC13に移行する。なお、この場合、データ移動中(読出/書込中)にNFSアクセスで対象エクステントが更新されたことを示すため、データの読み出し処理をリトライする。
ダーティフラグがOFFの場合(処理C21でNo)、フルコピー部312は、対象エクステントが最終エクステントか否かを判定する(処理C22)。最終エクステントでない場合(処理C22でNo)、処理が図28のC10に移行する。一方、最終エクステントの場合(処理C22でYes)、フルコピー部312は、ダーティフラグがONのエクステントが存在するか否かを判定する(処理C23)。
ダーティフラグがONのエクステントが存在する場合(処理C23でYes)、処理が図28のC3に移行する。一方、ダーティフラグがONのエクステントが存在しない場合(処理C23でNo)、フルコピー部312は、マイグレーション連携部331に対して、オブジェクト管理情報322からコピー管理情報323へのポインタの削除を依頼する(処理C24)。マイグレーション連携部331は、管理部314と連携して、オブジェクト管理情報322を更新し(処理C25)、処理がC24に戻る。
次いで、フルコピー部312は、ロギング情報316の対象ファイルを「マイグレーションフラグ:完了」、「整合性フラグ:正常」に更新し(処理C26)、差分コピー部313に監視を依頼し(処理C27)、処理が終了する。
〔1−8−5〕差分コピーフェーズの動作例
次に、図30及び図31を参照して、差分コピーフェーズの動作例を説明する。
図30に示すように、差分コピー部313は、ソース20−1からexport情報を取得し(処理D1)、ソース20−1がマイグレーション対象か否かを判定する(処理D2)。
マイグレーション対象ではない場合(処理D2でNo)、処理が終了する。一方、マイグレーション対象の場合(処理D2でYes)、差分コピー部313は、ソース20−1のメタデータ管理情報321の先頭から順に、メタデータを取得する(処理D3)。
次に、差分コピー部313は、取得したメタデータがファイルのメタデータか否かを判定する(処理D4)。ファイルのメタデータでない場合(処理D4でNo)、処理がD3に移行する。一方、ファイルのメタデータの場合(処理D4でYes)、差分コピー部313は、ロギング情報316の対象ファイルが「整合性フラグ:異常」か否かを判定する(処理D5)。
「整合性フラグ:異常」でない場合(処理D5でNo)、処理がD3に移行する。一方、「整合性フラグ:異常」の場合(処理D5でYes)、差分コピー部313は、ターゲット20−2のメタ情報を取得済か否かを判定する(処理D6)。この判定は、オブジェクト管理情報322の「FILE HANDLE(to)」のポインタに基づき行なわれてよい。
ターゲット20−2のメタ情報が取得済でない場合(処理D6でNo)、処理がD3に移行する。一方、ターゲット20−2のメタ情報を取得済の場合(処理D6でYes)、差分コピー部313(又は管理部314)は、コピー管理情報323を作成する(処理D7)。このとき、コピー管理情報323には、ソース20−1のファイルサイズに応じてマップ領域324が作成され、全エクステントのダーティフラグがONに設定される。これにより、更新系NFSリクエストにより取得/設定部34がダーティフラグをOFFに設定したエクステントについて、データ移動をスキップできる。
差分コピー部313は、マイグレーション連携部331に対して、オブジェクト管理情報322にコピー管理情報323へのポインタの設定を依頼する(処理D8)。マイグレーション連携部331は、管理部314と連携して、オブジェクト管理情報322を更新し(処理D9)、処理がD8に戻る。
次いで、差分コピー部313は、ロギング情報316の対象ファイルを「マイグレーションフラグ:処理中」に更新し(処理D10)、マップ領域324から対象のエクステント情報を取得する(処理D11)。
差分コピー部313は、対象エクステントのコピー済フラグがONか否かを判定し(処理D12)、コピー済フラグがOFFの場合(処理D12でNo)、対象エクステントのダーティフラグがONか否かを判定する(処理D13)。
ダーティフラグがOFFの場合(処理D13でNo)、又は、処理D12においてコピー済フラグがONの場合(処理D12でYes)、処理がD11に移行する。
処理D13において、ダーティフラグがONの場合(処理D13でYes)、差分コピー部313は、更新系NFSリクエストの完了の待ち合わせを行なう(図31の処理D14)。例えば、差分コピー部313は、マップ領域324の実行カウンタで更新系NFSリクエストの実行状態を確認し、実行カウンタ値が“0”以外の場合は、実行カウンタ値が“0”になるまで、実行の完了を待ち合わせてよい。
次いで、差分コピー部313は、対象エクステントのコピー中フラグをONに設定し、ダーティフラグをOFFに設定するフラグ操作を行なう(処理D15)。なお、データを読み出す前に当該エクステントのダーティフラグをOFFにするのは、データの読出/書込中に更新系NFSリクエストの発生を検出するためである。
そして、差分コピー部313は、NFSプロトコルによりソース20−1にデータの読み出しを指示し(処理D16)、ソース20−1はファイルデータの読み出しを行なう(処理D17)。差分コピー部313は、データの読出エラーを判定する(処理D18)。
なお、エラー判定は、図29に示すフルコピーフェーズにおけるエラー判定(処理C17)と同様のリトライ条件であってよい。エラーと判定されると(処理D18でYes)、処理が図30のD3に移行する。
一方、エラーと判定されない場合(処理D18でNo)、差分コピー部313は、NFSプロトコルによりターゲット20−2にデータの書き込みを指示し(処理D19)、ターゲット20−2はファイルデータの書き込みを行なう(処理D20)。差分コピー部313は、データの書込エラーを判定する(処理D21)。書込エラーの判定についても、読出エラーの判定と同様のリトライ条件であってよい。エラーと判定されると(処理D21でYes)、処理が図30のD3に移行する。
エラーと判定されない場合(処理D21でNo)、差分コピー部313は、対象エクステントのダーティフラグがONか否かを判定する(処理D22)。ダーティフラグがONの場合(処理D22でYes)、処理がD14に移行する。なお、この場合、データ移動中(読出/書込中)にNFSアクセスで対象エクステントが更新されたことを示すため、データの読み出し処理をリトライする。
ダーティフラグがOFFの場合(処理D22でNo)、差分コピー部313は、対象エクステントが最終エクステントか否かを判定する(処理D23)。最終エクステントでない場合(処理D23でNo)、処理が図30のD11に移行する。一方、最終エクステントの場合(処理D23でYes)、差分コピー部313は、ダーティフラグがONのエクステントが存在するか否かを判定する(処理D24)。
ダーティフラグがONのエクステントが存在する場合(処理D24でYes)、処理が図30のD3に移行する。一方、ダーティフラグがONのエクステントが存在しない場合(処理D24でNo)、差分コピー部313は、マイグレーション連携部331に対して、オブジェクト管理情報322からコピー管理情報323へのポインタの削除を依頼する(処理D25)。マイグレーション連携部331は、管理部314と連携して、オブジェクト管理情報322を更新し(処理D26)、処理がD25に戻る。
次いで、差分コピー部313は、ロギング情報316の対象ファイルを「マイグレーションフラグ:完了」、「整合性フラグ:正常」に更新し(処理D27)、対象exportの全メタデータが処理済か否かを判定する(処理D28)。全メタデータが処理済ではない場合(処理D28でNo)、処理が図30のD3に移行する。
一方、全メタデータが処理済の場合(処理D28でYes)、差分コピー部313は、対象exportのマイグレーション停止指示を受付済か否かを判定する(処理D29)。停止指示を受付済でない場合(処理D29でNo)、処理が図30のD1に移行する。一方、停止指示を受付済の場合(処理D29でYes)、処理が終了する。
〔1−9〕ハードウェア構成例
次に、一実施形態に係る情報処理システム1のハードウェア構成例について説明する。なお、業務サーバ4、プロキシサーバ3、及び、NAS2の図示しないコントローラは、それぞれ同様のハードウェア構成をそなえてもよい。従って、以下、これらのハードウェア構成として、コンピュータ10を例に挙げて説明する。
図32に示すように、コンピュータ10は、例示的に、CPU(Central Processing Unit)10a、メモリ10b、記憶部10c、IF(Interface)部10d、I/O部10e、及び読取部10fをそなえてよい。
CPU10aは、種々の制御や演算を行なうプロセッサの一例である。CPU10aは、コンピュータ10内の各ブロックとバスで相互に通信可能に接続されてよい。なお、プロセッサとしては、CPU10a等の演算処理装置に代えて、電子回路、例えばMPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路(IC)が用いられてもよい。
メモリ10bは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ10bとしては、例えばRAM等の揮発性メモリが挙げられる。例えば、プロキシサーバ3の情報格納部32は、メモリ10bにより実現されてよい。
記憶部10cは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部10cとしては、例えばHDD等の磁気ディスク装置、SSD等の半導体ドライブ装置、フラッシュメモリやRead Only Memory(ROM)等の不揮発性メモリ等の各種記憶装置が挙げられる。
例えば記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現する制御プログラム10hを格納してよい。制御プログラム10hは、一実施形態に係る業務サーバ4、プロキシサーバ3、又は、NAS2のコントローラの機能を実現するプログラムを含んでよい。
CPU10aは、例えば記憶部10cに格納された制御プログラム10hをメモリ10bに展開して実行することにより、コンピュータ10の機能を実現することができる。なお、コンピュータ10(例えばプロキシサーバ3)の機能の少なくとも一部がクラウド環境等により実現される場合、制御プログラム10hは、コンピュータ10及びクラウド環境の双方に提供されてもよい。或いは、制御プログラム10hは、適宜分割されてコンピュータ10及びクラウド環境のそれぞれに提供されてもよい。
IF部10dは、業務サーバ4、プロキシサーバ3、及び、NAS2のコントローラの各々の間のネットワークとの接続及び通信の制御等を行なう通信インタフェースの一例である。例えばIF部10dは、LANやSCSI等に準拠したアダプタが挙げられる。
なお、制御プログラム10hは、ネットワーク等からIF部10dを介してコンピュータ10にダウンロードされてもよい。
I/O部10eは、マウス、キーボード、操作ボタン等の入力部、並びにディスプレイやプリンタ等の出力部の少なくとも一部を含んでよい。
読取部10fは、記録媒体10gに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、コンピュータ読取可能な記録媒体10gを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えばUSB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10gには制御プログラム10hが格納されてもよい。
記録媒体10gとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等が挙げられる。なお、CDとしては、例示的に、CD−ROM、CD−R、CD−RW等が挙げられる。また、DVDとしては、例示的に、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。
上述したコンピュータ10のハードウェア構成は例示である。従って、コンピュータ10内でのハードウェアの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。また、プロキシサーバ3及びNAS2のコントローラのハードウェア構成を1つのコンピュータ10に集約してもよい。
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。例えば、プロキシサーバ3において、マイグレーション処理部31、情報格納部32、及び、プロキシ処理部33の機能は、任意の組み合わせで併合してもよく、分割してもよい。
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
1以上のネットワークストレージと、
上位装置と前記1以上のネットワークストレージとの間の通信を中継する中継装置と、をそなえ、
前記中継装置は、
前記1以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第1移行処理を行なう移行処理部と、
前記移行元のファイルシステムが格納する前記第1移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第1移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
前記上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえる
ことを特徴とする、情報処理システム。
(付記2)
前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
前記移行管理情報は、前記対象オブジェクトに係る前記第1移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理し、
前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択する、
ことを特徴とする、付記1記載の情報処理システム。
(付記3)
前記選択部は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
前記移行処理部は、前記第1移行処理において、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
ことを特徴とする、付記2記載の情報処理システム。
(付記4)
前記選択部は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
ことを特徴とする、付記2又は付記3記載の情報処理システム。
(付記5)
前記選択部は、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
前記移行処理部は、前記第1移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう、
ことを特徴とする、付記2〜4のいずれか1項記載の情報処理システム。
(付記6)
前記移行処理部は、前記第1移行処理が完了した場合、前記移行元及び移行先のファイルシステム間の等価状態を維持する第2移行処理を行なう、
ことを特徴とする、付記1〜5のいずれか1項記載の情報処理システム。
(付記7)
前記中継装置は、
前記移行元及び移行先ファイルシステム間でデータ不整合が発生しているオブジェクトを示す情報を管理するログ管理部、をそなえ、
前記移行処理部は、前記第2移行処理において、前記ログ管理部を参照し、前記移行元及び移行先ファイルシステム間でデータ不整合が発生したオブジェクトの移行を行なう、
ことを特徴とする、付記6記載の情報処理システム。
(付記8)
前記移行処理部は、前記第1移行処理の実行前に、前記移行元のファイルシステムに格納されるオブジェクトの属性情報を前記移行先のファイルシステムに移行する初期移行処理を行なう、
ことを特徴とする、付記1〜7のいずれか1項記載の情報処理システム。
(付記9)
1以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第1移行処理を行なう移行処理部と、
前記移行元のファイルシステムが格納する前記第1移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第1移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえる
ことを特徴とする、情報処理装置。
(付記10)
前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
前記移行管理情報は、前記対象オブジェクトに係る前記第1移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理し、
前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択する、
ことを特徴とする、付記9記載の情報処理装置。
(付記11)
前記選択部は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
前記移行処理部は、前記第1移行処理において、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
ことを特徴とする、付記10記載の情報処理装置。
(付記12)
前記選択部は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
ことを特徴とする、付記10又は付記11記載の情報処理装置。
(付記13)
前記選択部は、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
前記移行処理部は、前記第1移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう、
ことを特徴とする、付記10〜12のいずれか1項記載の情報処理装置。
(付記14)
前記移行処理部は、前記第1移行処理が完了した場合、前記移行元及び移行先のファイルシステム間の等価状態を維持する第2移行処理を行なう、
ことを特徴とする、付記9〜13のいずれか1項記載の情報処理装置。
(付記15)
前記移行元及び移行先ファイルシステム間でデータ不整合が発生しているオブジェクトを示す情報を管理するログ管理部、をそなえ、
前記移行処理部は、前記第2移行処理において、前記ログ管理部を参照し、前記移行元及び移行先ファイルシステム間でデータ不整合が発生したオブジェクトの移行を行なう、
ことを特徴とする、付記14記載の情報処理装置。
(付記16)
前記移行処理部は、前記第1移行処理の実行前に、前記移行元のファイルシステムに格納されるオブジェクトの属性情報を前記移行先のファイルシステムに移行する初期移行処理を行なう、
ことを特徴とする、付記9〜15のいずれか1項記載の情報処理装置。
(付記17)
コンピュータに、
1以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第1移行処理を行ない、
上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、メモリ部が記憶する、前記移行元のファイルシステムが格納する前記第1移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第1移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を参照し、
前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択し、
選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行する、
処理を実行させることを特徴とする、制御プログラム。
(付記18)
前記移行管理情報は、前記対象オブジェクトに係る前記第1移行処理の進捗状況を、所定サイズのデータ領域単位で管理し、
前記第1移行処理は、前記対象オブジェクトを前記所定サイズのデータ領域単位で移行し、
前記選択は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択する、
ことを特徴とする、付記17記載の制御プログラム。
(付記19)
前記選択は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
前記第1移行処理は、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
ことを特徴とする、付記18記載の制御プログラム。
(付記20)
前記選択は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
ことを特徴とする、付記18又は付記19記載の制御プログラム。
1 情報処理システム
2、2−1、2−2 NAS
20、20−1、20−2 ファイルシステム
3 プロキシサーバ
31 マイグレーション処理部
311 初期コピー部
312 フルコピー部
313 差分コピー部
314 管理部
315 DB部
316 ロギング情報
32 情報格納部
321 メタデータ管理情報
322 オブジェクト管理情報
323 コピー管理情報
324 マップ領域
33 プロキシ処理部
331 マイグレーション連携部
34 取得/設定部
4、4−1、4−2 業務サーバ
40 NFSクライアント

Claims (8)

  1. 1以上のネットワークストレージと、
    上位装置と前記1以上のネットワークストレージとの間の通信を中継する中継装置と、をそなえ、
    前記中継装置は、
    前記1以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第1移行処理を行なう移行処理部と、
    前記移行元のファイルシステムが格納する前記第1移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第1移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
    前記上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
    前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえ
    前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
    前記移行管理情報は、前記対象オブジェクトに係る前記第1移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理し、
    前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択すると共に、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
    前記移行処理部は、前記第1移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう、
    ことを特徴とする、情報処理システム
  2. 前記選択部は、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記移行管理情報に対して、前記書込リクエストが対象とするデータ領域について移行済を示す情報を設定し、
    前記移行処理部は、前記第1移行処理において、前記移行管理情報を参照し、前記書込リクエストが対象とするデータ領域の移行を行なわない、
    ことを特徴とする、請求項記載の情報処理システム。
  3. 前記選択部は、前記書込リクエストが移行中のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元のファイルシステムを選択する、
    ことを特徴とする、請求項又は請求項記載の情報処理システム
  4. 前記移行処理部は、前記第1移行処理が完了した場合、前記移行元及び移行先のファイルシステム間の等価状態を維持する第2移行処理を行なう、
    ことを特徴とする、請求項1〜のいずれか1項記載の情報処理システム。
  5. 前記中継装置は、
    前記移行元及び移行先ファイルシステム間でデータ不整合が発生しているオブジェクトを示す情報を管理するログ管理部、をそなえ、
    前記移行処理部は、前記第2移行処理において、前記ログ管理部を参照し、前記移行元及び移行先ファイルシステム間でデータ不整合が発生したオブジェクトの移行を行なう、ことを特徴とする、請求項記載の情報処理システム。
  6. 前記移行処理部は、前記第1移行処理の実行前に、前記移行元のファイルシステムに格納されるオブジェクトの属性情報を前記移行先のファイルシステムに移行する初期移行処理を行なう、
    ことを特徴とする、請求項1〜のいずれか1項記載の情報処理システム。
  7. 1以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第1移行処理を行なう移行処理部と、
    前記移行元のファイルシステムが格納する前記第1移行処理の対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第1移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を記憶するメモリ部と、
    上位装置から前記対象オブジェクトに対する書込リクエストを受信した場合、前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択する選択部と、
    前記選択部が選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行するリクエスト処理部と、をそなえ
    前記移行処理部は、前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
    前記移行管理情報は、前記対象オブジェクトに係る前記第1移行処理の進捗状況を、前記所定サイズのデータ領域単位で管理し、
    前記選択部は、前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択すると共に、前記リクエスト処理部による前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
    前記移行処理部は、前記第1移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう、
    ことを特徴とする、情報処理装置。
  8. コンピュータに、
    1以上のネットワークストレージが有するファイルシステムについて、移行元のファイルシステムを移行先のファイルシステムに移行する第1移行処理を行ない、
    上位装置から対象オブジェクトに対する書込リクエストを受信した場合、メモリ部が記憶する、前記移行元のファイルシステムが格納する前記第1移行処理の当該対象オブジェクトと前記移行先のファイルシステムに格納される当該対象オブジェクトとを管理するオブジェクト管理情報と、前記第1移行処理の進捗状況をオブジェクトごとに管理する移行管理情報と、を参照し、
    前記オブジェクト管理情報及び前記移行管理情報に基づき前記移行元及び移行先の一方又は双方のファイルシステムを選択し、
    選択した前記ファイルシステムに対して、前記書込リクエストに係る処理を実行し、
    前記対象オブジェクトを所定サイズのデータ領域単位で移行し、
    前記対象オブジェクトに係る前記第1移行処理の進捗状況を、前記所定サイズのデータ領域単位で前記移行管理情報を管理し、
    前記移行管理情報を参照し、前記書込リクエストが未移行又は移行済のデータ領域を対象としている場合、前記オブジェクト管理情報から前記移行元及び移行先の双方のファイルシステムを選択し、
    前記書込リクエストに係る処理の実行に起因して前記移行元及び移行先のファイルシステム間でデータ領域にデータ不整合が発生した場合、前記移行管理情報に対して当該データ領域におけるデータ不整合の発生を示す情報を設定し、
    前記第1移行処理において、前記移行管理情報に基づき、データ不整合が発生したデータ領域の移行を行なう
    処理を実行させることを特徴とする、制御プログラム。
JP2016140482A 2016-07-15 2016-07-15 情報処理システム、情報処理装置、及び制御プログラム Active JP6720744B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016140482A JP6720744B2 (ja) 2016-07-15 2016-07-15 情報処理システム、情報処理装置、及び制御プログラム
US15/624,029 US10664441B2 (en) 2016-07-15 2017-06-15 Information processing system, information processing apparatus, and non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016140482A JP6720744B2 (ja) 2016-07-15 2016-07-15 情報処理システム、情報処理装置、及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2018010576A JP2018010576A (ja) 2018-01-18
JP6720744B2 true JP6720744B2 (ja) 2020-07-08

Family

ID=60940681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016140482A Active JP6720744B2 (ja) 2016-07-15 2016-07-15 情報処理システム、情報処理装置、及び制御プログラム

Country Status (2)

Country Link
US (1) US10664441B2 (ja)
JP (1) JP6720744B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6489144B2 (ja) * 2017-03-23 2019-03-27 日本電気株式会社 情報処理装置
EP3776198A1 (en) * 2018-03-27 2021-02-17 Netflix, Inc. Techniques for scheduled anti-entropy repair design
US11385792B2 (en) * 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10747464B2 (en) * 2018-10-25 2020-08-18 EMC IP Holding Company LLC Efficient data transmission techniques
US11036877B2 (en) * 2018-12-03 2021-06-15 Veritas Technologies Llc Systems and methods for controlling access to information stored in an information retention system
US11238174B2 (en) 2019-01-31 2022-02-01 Salesforce.Com, Inc. Systems and methods of database encryption in a multitenant database management system
CN110401701A (zh) * 2019-07-05 2019-11-01 苏州浪潮智能科技有限公司 一种分布式数据传输方法、系统、设备及计算机存储介质
CN110321225B (zh) * 2019-07-08 2021-04-30 腾讯科技(深圳)有限公司 负载均衡方法、元数据服务器及计算机可读存储介质
CN114064563A (zh) * 2020-07-30 2022-02-18 深圳市杉岩数据技术有限公司 一种基于对象存储的数据迁移方法和服务器
CN112612792B (zh) * 2020-12-24 2023-05-30 中国联合网络通信集团有限公司 数据库管理方法和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3193880B2 (ja) * 1996-12-11 2001-07-30 株式会社日立製作所 データ移行方法
JP3879594B2 (ja) 2001-11-02 2007-02-14 日本電気株式会社 スイッチ方法、装置およびプログラム
JP4588024B2 (ja) * 2003-04-24 2010-11-24 ネオパス ネットワークス,インク. 名前空間複製を用いるトランスペアレントなファイル移動
JP5331555B2 (ja) * 2009-04-23 2013-10-30 株式会社日立製作所 データ移行システムおよびデータ移行方法
JP5024329B2 (ja) 2009-05-08 2012-09-12 富士通株式会社 中継プログラム、中継装置、中継方法、システム
WO2013072959A1 (en) * 2011-11-15 2013-05-23 Hitachi, Ltd. Computer system and data migration method
JP6028415B2 (ja) 2012-06-28 2016-11-16 日本電気株式会社 仮想サーバ環境のデータ移行制御装置、方法、システム
WO2015068208A1 (ja) 2013-11-05 2015-05-14 株式会社日立製作所 システムおよびその制御方法
JP6260384B2 (ja) 2014-03-19 2018-01-17 富士通株式会社 ストレージ制御装置,制御プログラム,及び制御方法

Also Published As

Publication number Publication date
JP2018010576A (ja) 2018-01-18
US20180018340A1 (en) 2018-01-18
US10664441B2 (en) 2020-05-26

Similar Documents

Publication Publication Date Title
JP6720744B2 (ja) 情報処理システム、情報処理装置、及び制御プログラム
US11977461B2 (en) Incremental restore of a virtual machine
US9606740B2 (en) System, method and computer program product for synchronizing data written to tape including writing an index into a data partition
US8015157B2 (en) File sharing system, file server, and method for managing files
US10114564B2 (en) Management of virtual machine snapshots
US7870105B2 (en) Methods and apparatus for deduplication in storage system
JP4160933B2 (ja) 超大規模ファイル・システムでのファイル・システム使用のすばやい復元
US7865772B2 (en) Management device and management method
JP4451293B2 (ja) 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US20130290248A1 (en) File storage system and file cloning method
JP5984151B2 (ja) データの復旧方法、プログラムおよびデータ処理システム
US20070214384A1 (en) Method for backing up data in a clustered file system
US11513996B2 (en) Non-disruptive and efficient migration of data across cloud providers
US10372547B1 (en) Recovery-chain based retention for multi-tier data storage auto migration system
WO2004047078A2 (en) Fast backup storage and fast recovery of data (fbsrd)
JP2003280964A (ja) スナップショット取得方法、ストレージシステム及びディスク装置
US9170745B2 (en) System, method and computer program product for tamper protection in a data storage system
JP2008146212A (ja) 共有ディレクトリの設定情報を変更する方法、及びファイルサーバ装置
US9612914B1 (en) Techniques for virtualization of file based content
JP2013161383A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム
US12008011B2 (en) Computing resource migration across cloud environments
WO2016098152A1 (ja) 情報システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200601

R150 Certificate of patent or registration of utility model

Ref document number: 6720744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150