JP2015530629A - 移行先ファイルサーバ及びファイルシステム移行方法 - Google Patents

移行先ファイルサーバ及びファイルシステム移行方法 Download PDF

Info

Publication number
JP2015530629A
JP2015530629A JP2015511535A JP2015511535A JP2015530629A JP 2015530629 A JP2015530629 A JP 2015530629A JP 2015511535 A JP2015511535 A JP 2015511535A JP 2015511535 A JP2015511535 A JP 2015511535A JP 2015530629 A JP2015530629 A JP 2015530629A
Authority
JP
Japan
Prior art keywords
file
migration
hard link
file system
migration destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015511535A
Other languages
English (en)
Other versions
JP5895099B2 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2015530629A publication Critical patent/JP2015530629A/ja
Application granted granted Critical
Publication of JP5895099B2 publication Critical patent/JP5895099B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

移行先ファイルサーバは、移行元ファイルシステムを提供する移行元ファイルサーバに接続され、移行先ファイルシステムを提供する。移行先ファイルサーバは、記憶デバイスと、コントローラとを有する。コントローラは、移行元ファイルシステムにおいて同一のファイル管理情報を参照する複数のハードリンクファイルに含まれる第1のハードリンクファイルを移行先ファイルシステムに移行する際に、第1のハードリンクファイルに関するデータを前記記憶デバイスに格納し、第1のハードリンクファイルを移行先ファイルシステムに生成し、移行先ファイルサーバにおける第1のハードリンクファイルと同一のファイル管理情報を参照するダミーハードリンクファイルを生成し、複数のハードリンクファイルに含まれる第2のハードリンクファイルを移行する際に、ダミーハードリンクファイルを、第2のハードリンクファイルの移行先ファイルシステムにおけるパス名にリネームする。【選択図】 図3

Description

本発明は、移行元ファイルサーバにより提供されるファイルシステムを移行先ファイルサーバに移行する技術に関する。
従来、各種データをファイルとして管理するファイルシステムを提供するファイルサーバが知られている。ファイルシステムにおいては、他のファイルと同一の物理記憶領域(ファイル実体)を参照するファイルであるハードリンクファイルが管理されることもある。また、ファイルサーバに構築されたファイルシステムを、他のファイルサーバに移行させる必要が生じる場合がある。
例えば、特許文献1には、ファイルシステムを他のファイルシステムに移行させる際におけるハードリンクファイルの移行に関する技術が開示されている。具体的には、特許文献1には、ハードリンクファイルを移行元ファイルシステムから移行先ファイルシステムに移行する際に、ハードリンク情報リストに移行対象のハードリンクファイルと同一のinode番号のハードリンク情報が登録されている場合には、移行先ファイルシステムのディレクトリツリーにハードリンク情報に含まれるファイル名に対応するハードリンクファイルを作成することが開示されている。
国際公開第2007/099636号
ファイルシステムを移行している際において、ファイルシステムで管理されているファイルを利用できるようにすることが要請されている。
例えば、特許文献1に開示された技術では、移行先ファイルシステムにおいて、ハードリンク情報リストに登録されているファイルを削除したり、リネームしたりしてしまうと、そのファイルと同じ物理記憶領域を参照しており、移行先のファイルシステムにまだ移行されていないハードリンクファイルについて、ハードリンク情報リストを用いて移行先のファイルシステムに適切に移行することができない。したがって、ハードリンクファイルの移行中において、移行先ファイルシステムがハードリンク情報リストに登録されているファイルの削除や、リネームをすることができないという課題がある。
本発明の一観点に係る移行先ファイルサーバは、移行元ファイルシステムを提供する移行元ファイルサーバに接続され、移行先ファイルシステムを提供する。移行先ファイルサーバは、記憶デバイスと、コントローラとを有する。コントローラは、移行元ファイルシステムにおいて同一のファイル管理情報を参照する複数のハードリンクファイルに含まれる第1のハードリンクファイルを移行先ファイルシステムに移行する際に、前記第1のハードリンクファイルに関するデータを前記記憶デバイスに格納し、第1のハードリンクファイルを移行先ファイルシステムに生成し、移行先ファイルサーバにおける第1のハードリンクファイルと同一のファイル管理情報を参照するダミーハードリンクファイルを生成し、複数のハードリンクファイルに含まれる第2のハードリンクファイルを移行する際に、ダミーハードリンクファイルを、第2のハードリンクファイルの移行先ファイルシステムにおけるパス名にリネームする。
本発明によると、移行先ファイルサーバのファイルシステムに移行されたハードリンクファイルに対する削除処理や、リネーム処理の少なくとも一方の処理を、ファイルシステムの移行途中であっても適切に実行することができる。
図1は、実施例1に係るファイルシステムの移行処理の概要を示す第1の図である。 図2は、実施例1に係るファイルシステムの移行処理の概要を示す第2の図である。 図3は、実施例1に係る計算機システムの構成図である。 図4は、実施例1に係るinodeの構成図である。 図5は、実施例1に係るinodeリスト及びデータブロックを説明する図である。 図6は、実施例1に係るファイルシステム移行全体処理の一例を示すフローチャートである。 図7は、実施例1に係る移行処理の一例を示すフローチャートである。 図8は、実施例1に係るinode番号データベース問合せ処理の一例を示すフローチャートである。 図9は、実施例1に係るハードリンク移行(通常ファイル扱い)処理の一例を示すフローチャートである。 図10は、実施例1に係るハードリンク移行(ハードリンク扱い)処理の一例を示すフローチャートである。 図11は、実施例1に係るリネーム処理を説明する図である。 図12は、実施例1に係る移行中のI/O、リネーム、及び削除処理の一例を示すフローチャートである。 図13は、実施例2に係るファイルシステムの移行処理の概要を示す第1の図である。 図14は、実施例2に係るファイルシステムの移行処理の概要を示す第2の図である。 図15は、実施例2に係る移行処理の一例を示すフローチャートである。 図16は、実施例2に係るinode番号データベース問合せ処理の一例を示すフローチャートである。 図17は、実施例2に係るハードリンク移行(通常ファイル扱い)処理の一例を示すフローチャートである。 図18は、実施例2に係るハードリンク移行(ハードリンク扱い)処理の一例を示すフローチャートである。 図19は、実施例2に係る移行中のリネーム処理の一例を示すフローチャートである。
本発明のいくつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、以後の説明では「aaaリスト」等の表現にて本発明の情報を説明するが、これら情報は、リスト等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaリスト」等について「aaa情報」と呼ぶことがある。
また、各情報の内容を説明する際に、「番号」という表現を用いるが、識別情報、識別子、名、名前等と置換可能である。
また、以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサ(典型的にはCPU(Central Processing Unit))によって実行されることで定められた処理をメモリ及びI/F(インタフェース)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は、ファイルサーバ等の計算機が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。記憶メディアとしては、例えば、ICカード、SDカード、DVD等であってもよい。
また、以降の説明において、「ハードリンク」とは、他のハードリンクと同じファイル管理情報識別子を持ち、同じ物理記憶領域(例えば、その領域のファイル実体)を参照するファイルを意味し、ハードリンクファイル(Hard linked file)、ハードリンクの属性を持ったファイル等と言い換えることができる。また、「inode」は、ファイル管理情報の一例であり、「inode番号」は、ファイル管理情報識別子の一例である。また、「リンク」は、リファレンス(Reference)、ポインタ(Pointer)等と言い換えることができる。
本発明に係る実施例1について説明する。
まず、実施例1に係る計算機システムの概要を説明する。
図1は、実施例1に係るファイルシステムの移行処理の概要を示す第1の図である。図2は、実施例1に係るファイルシステムの移行処理の概要を示す第2の図である。ここで、図1及び図2は、移行元ファイルサーバ20のファイルシステム(移行元ファイルシステムという)122を、移行先ファイルサーバ10のファイルシステム(移行先ファイルシステムという。)122に移行させる場合の例を示している。
移行元ファイルシステム122においては、同一の物理記憶領域(すなわち、同一のファイル実体)を参照するハードリンクAと、ハードリンクBとが管理されている。ここで、ハードリンクAと、ハードリンクBとは、同じinode番号(ここでは、「100」)を持つ(参照する)ように管理されている。
まず、ハードリンクAを移行先ファイルシステム122に移行させる場合には、移行先ファイルサーバ10は、図1(1)に示すように、通常のファイルの移行と同様に、移行先ファイルシステム122にハードリンクAを移行する。具体的には、移行先ファイルサーバ10は、ハードリンクAが参照するファイル実体を移行先ファイルサーバ10のユーザデータ記憶装置150に格納し、ハードリンクAに対応するinodeを作成して格納する。そして、移行先ファイルシステム122における移行先のディレクトリに対応するディレクトリファイルにハードリンクAのファイル名と、当該ハードリンクAに割り当てた移行先ファイルシステム122におけるinode番号とを対応付けて登録する。そして、inodeリスト170に、割り当てたinode番号と、ファイル実体を格納したデータブロックのアドレスを示すデータブロック情報と、を対応付けて格納する。
次に、移行先ファイルサーバ10は、図1(2)に示すように、移行対象のハードリンクAに対応付けられていた移行元ファイルシステム122におけるinode番号(ここでは、「100」)をディレクトリ名としたディレクトリ1222をハードリンク移行専用ディレクトリ1221の配下に作成する。さらに、ディレクトリ1222の配下に、移行先ファイルシステム122におけるハードリンクAのinode番号と対応付けられたハードリンク(ダミーハードリンク、又は、リンク元ファイルという)1223を作成する。ここで、ハードリンク1223のファイル名は、任意の名称であってよい。本実施例では、移行対象のハードリンクAのinode160に含まれているリンク数から1を減算した数のハードリンク1223を作成する。つまり、移行元ファイルシステムから移行先ファイルシステムに移行されていないハードリンクの数のダミーハードリンクを作成する。
その後、ハードリンクAと同じファイル実体を参照するハードリンクBを移行先ファイルシステム122に移行させる場合には、図2(3)に示すように、移行先ファイルサーバ10は、移行元ファイルシステム122におけるハードリンクBのinode番号と、ハードリンクBのファイル名とを取得する。そして、移行先ファイルシステム122のハードリンク移行専用ディレクト1221の配下であって、取得したinode番号をディレクトリ名とするディレクトリ1222の配下のハードリンク1223を特定する。
次いで、移行先ファイルサーバ10は、図2(4)に示すように、特定したハードリンクのパス名を、取得したパス名にリネームする。具体的には、移行先ファイルサーバ10は、ハードリンクを、取得したハードリンクBのパス名に対応する移行先ファイルシステム122の移行先のディレクトリに対応するディレクトリファイル181に格納する。ここで、ハードリンクは、移行先ファイルシステムにおけるハードリンクAと同じinode番号が対応付けられているので、リネーム後のハードリンクBには、移行先ファイルシステムにおけるハードリンクAと同じinode番号が対応付けられていることとなる。そして、このハードリンクBを介して、ハードリンクAと同じファイル実体を参照することができる。
図3は、実施例1に係る計算機システムの構成図である。
実施例1に係る計算機システムは、移行元ファイルサーバ20と、移行先ファイルサーバ10と、クライアント40とを含む。移行元ファイルサーバ20と、移行先ファイルサーバ10とは、例えば、IPネットワーク等の通信ネットワーク30を介して接続されている。クライアント40は、移行元ファイルサーバ20と、移行先ファイルサーバ10と通信ネットワークを介して接続されている。クライアント40は、移行元ファイルサーバ20及び移行先ファイルサーバ10に構築されているファイルシステム122で管理されているファイルに対する各種処理の要求を送信する。
移行先ファイルサーバ10は、ファイルストレージ装置100と、ユーザデータ記憶装置150とを含む。
ファイルストレージ装置100は、例えば、汎用的な計算機であり、CPU(Central Processing Unit)110と、メモリ120と、拡張カード130と、HDD(Hard Disk Drive)140とを含む。ここで、ファイルサーバは、ファイルコントローラ、コントローラと呼んでもよい。
CPU110は、メモリ120に格納された各種プログラムを実行する。拡張カード130は、例えば、通信I/F(インターフェース)を含み、通信ネットワーク30を介して、他の装置との通信を行う。HDD140は、各種プログラムや、各種情報を記憶する。
メモリ120は、各種プログラムや、各種処理に利用するデータを記憶する。メモリ120は、ファイル共有プログラム121と、ファイルシステム122と、移行管理プログラム123とを記憶する。
ファイル共有プログラム121は、ファイルシステム122が管理するファイルの共有機能(ファイルを複数のクライアント間で共有する機能)を実現するプログラムである。ファイル共有プログラム121としては、例えば、NFS(Network File System)やCIFS(Common Internet File System)等がある。ファイルシステム122は、ファイルを管理するためのプログラムである。ファイルシステム122は、ファイル及びディレクトリを管理するためのファイル管理情報であるinode、inodeリスト170、及びデータブロック180等を用いて、ファイルを管理する。
移行管理プログラム123は、移行処理プログラム124を含む。移行処理プログラム124は、一のファイルシステムを他のファイルシステムに移行する処理を実行するためのプログラムであり、inode番号データベース問合せプログラム125と、ハードリンク移行(通常ファイル扱い)プログラム126と、ハードリンク移行(ハードリンク扱い)プログラム127とを含む。
inode番号データベース問合せプログラム125は、移行元ファイルシステム122の所定のinode番号に対応するファイルが、移行先ファイルシステム122に移行されているか否かを判断するinode番号データベース問合せ処理(図8参照)を実行するためのプログラムである。
ハードリンク移行(通常ファイル扱い)プログラム126は、移行元ファイルシステム122において同一のinode番号に対応付けられている複数のハードリンクの中で、移行先ファイルシステムに最先に移行するハードリンクに対する移行処理(ハードリンク移行(通常ファイル扱い)処理:図9参照)を実行するためのプログラムである。
ハードリンク移行(ハードリンク扱い)プログラム127は、移行元ファイルシステム122において同一のinode番号に対応付けられている複数のハードリンクの中で、移行先ファイルシステムに2番目以降に移行するハードリンクに対する移行処理(ハードリンク移行(ハードリンク扱い)処理:図10参照)を実行するためのプログラムである。
ユーザデータ記憶装置150は、コントローラ(CTL)151と、1以上の論理ユニット(LU)152とを含む。LU152は、1以上の記憶デバイスの記憶領域により構成され、各種データを格納する。記憶デバイスは、例えば、HDDや、SSD(Solid State Drive)等であってもよい。CTL151は、ファイルストレージ装置100からのIO要求に基づいて、LU152に対するデータアクセス等を行う。なお、ユーザデータ記憶装置150が記憶する各種データをファイルストレージ装置100のHDD140に格納するようにしてもよく、このようにした場合には、ユーザデータ記憶装置150は備えずともよい。
移行元ファイルサーバ20は、移行先ファイルサーバ10とほぼ同様な構成となっている。なお、図3においては、移行元ファイルサーバ20の一部の構成が省略されている。なお、移行元ファイルサーバ20のドライバ128は、ハードウェアを制御するプログラムである。。
図4は、実施例1に係るinodeの構成図である。
inode160は、ファイル又はディレクトリに対応して設けられ、ファイル又はディレクトリを管理するための管理情報(ファイル管理情報)である。inode160は、例えば、ユーザデータ記憶装置150に格納される。なお、inode160の少なくとも一部のデータを、HDD140、メモリ120のいずれかに格納するようにしてもよい。inode160は、項目161と、その項目に対応する値162とを格納する。例えば、inode160は、inodeを識別するinode番号の値と、当該inodeに対応付けられているファイルの数(リンク数)の値(リンク情報)とを格納する。ここで、inode160におけるリンク数が2以上であることは、複数のファイルが当該inode160に対応付けられていること、すなわち、ハードリンクが存在することを意味している。
図5は、実施例1に係るinodeリスト及びデータブロックを説明する図である。
inodeリスト170は、例えば、ユーザデータ記憶装置150に格納される。inodeリスト170は、inode番号171と、データブロック情報172とを対応付けて記憶する。
inode番号171は、inodeを示すinode番号である。データブロック情報172は、inode番号に対応する実体(ディレクトリファイル181、又はファイル実体182)が格納されているデータブロック180における位置を示す情報である。
データブロック180は、ファイルシステム122で管理されるファイル及びディレクトリの実体を格納する。データブロック180は、例えば、ユーザデータ記憶装置150に格納される。データブロック180は、1以上のディレクトリファイル181と、1以上のファイル実体182とを格納する。ディレクトリファイル181は、1つのディレクトリに対応し、そのディレクトリの配下のディレクトリ又はファイルの名称と、それに対応するinode160のinode番号との組を格納する。例えば、図5によると、名称が「FileA」のファイル又はディレクトリのinode160のinode番号は、「200」であり、名称が「FileB」のファイル又はディレクトリのinode160のinode番号は、「201」であることがわかる。ファイル実体182は、ファイルとして管理するデータの実体である。
次に、実施例1に係る計算機システムを用いた処理を説明する。
図6は、実施例1に係るファイルシステム移行全体処理の一例を示すフローチャートである。
まず、計算機システムの管理者は、クライアント40に、移行元ファイルサーバ20の移行元ファイルシステム122を読み込み専用としてマウントする(ステップS10)。これにより、移行元ファイルシステム122のファイルが変更されることがないので、同一のファイルについての移行元ファイルシステム122と移行先ファイルシステム122との整合性を確保することができる。次に、計算機システムの管理者は、クライアント40に、移行先ファイルサーバ10の移行先ファイルシステムを読み書き可能としてマウントする(ステップS11)。
次いで、管理者は、移行先ファイルサーバ10の移行管理プログラム123に対して、移行元ファイルシステムと、移行先ファイルシステムとを設定する(ステップS12)。なお、ステップS10乃至S12を計算機システムが自動的に実行してもよい。
この後、管理者(または、計算機システム)は、移行先ファイルサーバ10の移行管理プログラム123の実行を開始させて、移行先ファイルサーバ10のファイル移行処理プログラム124によりファイルシステムの移行処理の実行を開始させる。なお、この際には、管理者(または、計算機システム)は、クライアント40において、移行元ファイルサーバ20の移行元ファイルシステム122のファイルに関する各種処理要求(例えば、ファイルの入出力要求等)の送信先を、移行先ファイルサーバ10の移行先ファイルシステムに切り替える設定を行うこととなる。
移行先ファイルサーバ10の移行処理プログラム124は、移行元ファイルシステムを移行先ファイルシステムに移行する処理(移行処理)を実行する(ステップS13)。移行処理は、移行元ファイルシステムのファイルを移行先ファイルシステムに移行する処理である。ここで、この移行処理においては、バックグラウンドで(ファイルのアクセスと関連なく)移行元ファイルシステムの各ファイルを移行対象のファイルとして逐次選択し、移行させるようにしてもよい。また、クライアント40によるファイルをアクセスされる度に、アクセス対象のファイルを移行させるようにしてもよい。
次いで、移行先ファイルサーバ10の移行処理プログラム124は、移行元ファイルシステム内の全ファイルの移行が終了したか否かを判定し(ステップS14)、移行が終了した場合(ステップS14でYes)には、その旨を管理者(または、計算機システム)に通知する。その後、管理者(または、計算機システム)は、クライアント40から移行元ファイルシステムをアンマウントすることとなる(ステップS15)。
図7は、実施例1に係る移行処理の一例を示すフローチャートである。
この移行処理は、図6のステップS13に対応する処理であり、移行先ファイルサーバ10の移行処理プログラム124により実行される。
移行先ファイルサーバ10の移行処理プログラム124は、移行元ファイルサーバ20から移行対象のファイル(移行元ファイル)のinode160におけるリンク情報(リンク数)を取得する(ステップS20)。
次いで、移行処理プログラム124は、リンク数に基づいて、移行元ファイルがハードリンクであるか否かを判断する(ステップS21)。具体的には、移行処理プログラム124は、リンク数が2以上である場合に、移行元ファイルがハードリンクであると判断する。これにより、適切に移行元ファイルがハードリンクであるか否かを判断することができる。
この結果、移行元ファイルがハードリンクでない場合(ステップS21でNo)には、移行処理プログラム124は、通常ファイルに対する移行処理(通常ファイル移行処理)を実行する(ステップS27)。
一方、移行元ファイルがハードリンクである場合(ステップS21でYes)には、移行処理プログラム124は、移行元ファイルのinode160のinode番号を取得し(ステップS22)、inode番号データベース問合せプログラム125により、取得したinode番号を用いてinode番号データベース問合せ処理(図8参照)を実行させる(ステップS23)。
このinode番号データベース問合せ処理によると、この取得したinode番号により参照していたファイル実体に対応する、移行先ファイルシステムに移行されたファイル実体を参照するハードリンク(リンク元ファイル)が、移行先ファイルシステムに存在しているか否かの判断結果が得られる。つまり、取得したinode番号に関連するファイル実体が既に移行先ファイルシステムに送られているかの判断結果が得られる。
次いで、移行処理プログラム124は、inode番号データベース問合せ処理の結果に基づいて、移行先ファイルサーバ10にリンク元ファイルが存在しているか否かを判断し(ステップS24)、移行先ファイルサーバ10にリンク元ファイルが存在していない場合(ステップS24でNo)には、ハードリンク移行(通常ファイル扱い)プログラム126に、ハードリンク移行(通常ファイル扱い)処理(図9参照)を実行させる(ステップS25)一方、移行先ファイルサーバ10にリンク元ファイルが存在する場合(ステップS24でYes)には、ハードリンク移行(ハードリンク扱い)プログラム127に、ハードリンク移行(ハードリンク扱い)処理(図10参照)を実行させる(ステップS26)。
そして、ステップS25、ステップS26、又はステップS27の処理を終えた後に、移行処理プログラム124は、移行処理を終了する。
図8は、実施例1に係るinode番号データベース問合せ処理の一例を示すフローチャートである。
このinode番号データベース問合せ処理は、図7のステップS23に対応する処理であり、移行先ファイルサーバ10のinode番号データベース問合せプログラム125により実行される。
inode番号データベース問合せプログラム125は、移行元ファイルのinode番号をその名称とするディレクトリがインデックスツリー1220のハードリンク移行専用ディレクトリ1221の配下に存在するか否かを検索する(ステップS30)。次いで、inode番号データベース問合せプログラム125は、移行元ファイルのinode番号のディレクトリが検索されたか否かを判断する(ステップS31)。移行元ファイルのinode番号のディレクトリが存在する場合(ステップS31でYes)には、このinode番号により参照するファイル実体に対応する、移行先ファイルシステムのファイル実体を参照するハードリンク(リンク元ファイルまたはダミーファイルという)がハードリンク移行専用ディレクトリ1221に存在していると判断する(ステップS32)一方、移行元ファイルのinode番号のディレクトリが存在しない場合(ステップS31でNo)には、リンク元ファイルが存在していないと判断する(ステップS33)。これにより、リンク元ファイルが存在しているか否かを適切に判定することができる。その後、inode番号データベース問合せプログラム125は、このinode番号データベース問合せ処理を終了する。
図9は、実施例1に係るハードリンク移行(通常ファイル扱い)処理の一例を示すフローチャートである。
このハードリンク移行(通常ファイル扱い)処理は、図7のステップS25に対応する処理であり、移行先ファイルサーバ10のハードリンク移行(通常ファイル扱い)処理プログラム126により実行される。
ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行元ファイルを移行先ファイルシステムに移行する(ステップS40)。具体的には、ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行元ファイルシステムから、移行元ファイルのファイル実体を取得し、当該実体ファイルを移行先ファイルサーバ10のユーザデータ記憶装置150に格納する。そして、移行先ファイルシステムにおける移行元ファイルに対応するファイルのinode160を作成してユーザデータ記憶装置150等に格納する。そして、移行先ファイルシステム122における移行先のディレクトリに対応するディレクトリファイル181に移行元ファイルのファイル名と、当該移行元ファイルに対応するファイルの移行先ファイルシステム122におけるinode番号とを対応付けて格納する。更に、移行先ファイルシステムのinodeリスト170に、このinode番号と、ファイル実体を格納したユーザデータ記憶装置150のデータブロックのアドレスを示すデータブロック情報と、を対応付けて格納する。なお、移行されたファイルの移行先ファイルシステムにおけるinode番号は、移行元ファイルシステムにおけるinode番号と異なっていてもよい。
次いで、ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行元ファイルに対応付けられていた移行元ファイルシステムにおけるinode番号をディレクトリ名としたディレクトリ1222を、移行先ファイルシステム122におけるハードリンク移行専用ディレクトリ1221の配下に作成する(ステップS41)。なお、作成するディレクトリ1222のディレクトリ名は、inode番号に限られず、inode番号と対応することがわかる名称であればよい。
次いで、ハードリンク移行(通常ファイル扱い)処理プログラム126は、ステップS41で作成したディレクトリ1222の配下に、移行元ファイルの移行先ファイルシステムにおけるinode番号と対応付けたハードリンク(リンク元ファイル(又はダミーファイル))1223を作成する(ステップS42)。具体的には、ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行先ファイルシステム122のインデックスツリー1220のディレクトリ1222に対応するディレクトリファイル181に、リンク元ファイル(又はダミーファイル)に割り当てる所定の名称と、移行元ファイルの移行先ファイルシステムにおけるinode番号とを対応付けて格納する。本実施例では、ステップS42では、ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行元ファイルシステム122における移行元ファイルのinode160に含まれているリンク数から1を減算した数のリンク元ファイル1223を作成する。これにより、移行元ファイルシステムにおける同一のファイル実体を参照する未移行のハードリンクの数と同数のリンク元リスト1223を適切に作成することができる。この後、ハードリンク移行(通常ファイル扱い)処理プログラム126は、ハードリンク移行(通常ファイル扱い)処理を終了する。
図10は、実施例1に係るハードリンク移行(ハードリンク扱い)処理の一例を示すフローチャートである。
このハードリンク移行(ハードリンク扱い)処理は、図7のステップS26に対応する処理であり、移行先ファイルサーバ10のハードリンク移行(ハードリンク扱い)処理プログラム127により実行される。
ハードリンク移行(ハードリンク扱い)処理プログラム127は、インデックスツリー1220内の移行元ファイルのinode番号の名前を持つディレクトリのディレクトリファイル181を読込む(ステップS50)。
次いで、ハードリンク移行(ハードリンク扱い)処理プログラム127は、読込んだディレクトリファイル181に格納されているディレクトリ配下のファイルのファイル名、すなわち、リンク元ファイルのファイル名を1つ取得する(ステップS51)。
次いで、ハードリンク移行(ハードリンク扱い)処理プログラム127は、リンク元ファイルのパスを、移行元ファイルの移行先のパスヘリネームする(ステップS52)。この後、ハードリンク移行(ハードリンク扱い)処理プログラム127は、ハードリンク移行(ハードリンク扱い)処理を終了する。本実施例によると、予め作成されているリンク元ファイル1223のパスをリネームすることにより、移行先ファイルとするので、同一のファイル実体を参照する移行先ファイルシステムにおける他のハードリンクのファイルを削除、リネーム等した場合であっても、移行元ファイルであるハードリンクを移行先ファイルシステムに支障なく移行することができる。また、移行元ファイルのinode番号の名前を持つディレクトリにリンク元ファイル1223を格納するようにしているので、移行元ファイルのinode番号に基づいて検索できるので、リンク元ファイル1223の探索時間を短縮できる。また、移行元ファイルシステムにおけるinodeに、ディレクトリの名称を示す情報を更に管理しておく必要がないので、inode160のサイズを抑えることができる。
図11は、実施例1に係るリネーム処理を説明する図である。図11は、ファイルシステムにおいて、フルパス名が「/home/FileA」のファイルを、「/etc/FileA」にリネームする場合におけるリネーム処理の例を示している。
まず、ファイルシステム122は、リネーム先の「etc」ディレクトリのディレクトリファイル181に、inode番号(本例では、「200」)と、リネーム対象のファイルのファイル名(本例では、「FileA」)との組を追加する(図11(1))。次いで、ファイルシステム122は、リネーム元の「home」ディレクトリのディレクトリファイル181から、リネーム対象のファイルのファイル名(本例では、「FileA」)と、そのinode番号(本例では、「200」)との組を削除する(図11(2))。
このリネーム処理により、リネーム前に「/home/FileA」のパス名により、inode番号「200」を特定して、ファイル実体にアクセスすることができたものを、「/etc/FileA」のパス名により、inode番号「200」を特定して同一のファイル実体にアクセスすることができるようになる。
説明したリネーム処理と同様に、リンク元ファイルのパスを、移行元ファイルの移行先のパスヘリネームする。
図12は、実施例1に係る移行中のI/O、リネーム、及び削除処理の一例を示すフローチャートである。
I/O、リネーム、及び削除処理は、移行元ファイルシステムから移行先ファイルシステムへの移行中に、ファイルに対するI/O、リネーム、又は削除要求が発生した場合に実行される処理である。
移行管理プログラム123は、I/O、リネーム、又は削除要求を受け付けると、要求対象のファイルが移行済みであるか否かを確認する(ステップS61)。ここで、要求対象のファイルが移行済みであるか否かは、ファイルシステム122におけるinodeリスト170と、データブロック180のディレクトリファイル181とを参照し、対応するファイルが存在するか否かを確認することにより確認できる。
次いで、移行管理プログラム123は、要求対象のファイルが移行済みであるか否かを判定し(ステップS62)、要求対象のファイルが移行済みでない場合(ステップS62でNo)には、移行処理プログラム124に、図7に示す移行処理を要求対象のファイルを移行対象のファイルとして実行させ(ステップS63)、処理をステップS64に進める一方、要求対象のファイルが移行済みの場合(ステップS62でYes)には、処理をステップS64に進める。このように、要求対象となるファイルについて移行処理を行うようにすると、必要のないファイルについての移行処理をしなくて済み、無駄な処理量を低減することができる。ステップS64では、移行管理プログラム123は、要求対象のファイルに対して要求された処理(I/O、リネーム、又は削除処理)を実施し(ステップS64)、I/O、リネーム、及び削除処理を終了する。
I/O、リネーム、及び削除処理によると、要求対象のファイルが移行済みでないファイルであれば、移行先ファイルシステム122に移行した後に、また、要求対象のファイルが移行済みであるファイルであれば、直ちに、I/O、リネーム、又は削除処理を適切に実行することができる。また、要求対象のファイルがハードリンクであった場合であって、他の同一のファイル実体を参照する別のハードリンクが移行済みでなかった場合であっても、図9に示すハードリンク移行(通常ファイル扱い)処理によりリンク元ファイル1223を用意しているので、要求対象のファイルが削除、リネーム等された後であっても、そのリンク元ファイルを利用して、移行済みでないハードリンクを適切に移行先ファイルシステムに移行することができる。
次に、実施例2について説明する。
まず、実施例2に係る計算機システムの概要を説明する。
実施例2に係る計算機システムは、実施例1に係る計算機システムでは、インデックスツリー1220を用いてファイルシステムの移行をするようにしていたものを、リンク元リストを用いてファイルシステムの移行をするようにしたものである。
図13は、実施例2に係るファイルシステムの移行処理の概要を示す第1の図である。図14は、実施例2に係るファイルシステムの移行処理の概要を示す第2の図である。ここで、図13及び図14は、移行元ファイルサーバ20の移行元ファイルシステム122を、移行先ファイルサーバ10の移行先ファイルシステム122に移行させる場合の例を示している。
移行元ファイルシステム122においては、同一の物理記憶領域(すなわち、同一のファイル実体)を参照するハードリンクAと、ハードリンクBとが管理されている。ここで、ハードリンクAと、ハードリンクBとは、同じinode番号(ここでは、「100」)を持つ(参照する)ように管理されている。
まず、ハードリンクAを移行先ファイルシステムに移行させる場合には、移行先ファイルサーバ10は、図13(1)に示すように、通常のファイルの移行と同様に、移行先ファイルシステム122にハードリンクAを移行する。具体的には、移行先ファイルサーバ10は、ハードリンクAが参照するファイル実体を移行先ファイルサーバ10のユーザデータ記憶装置150に格納し、ハードリンクAに対応するinodeを作成して格納し、移行先ファイルシステム122における移行先のディレクトリに対応するディレクトリファイルにハードリンクAのファイル名と、当該ハードリンクAに割り当てた移行先ファイルシステム122におけるinode番号とを対応付けて登録し、inodeリスト170に、割り当てたinode番号と、ファイル実体を格納したデータブロックのアドレスを示すデータブロック情報と、を対応付けて格納する。
次に、移行先ファイルサーバ10は、図13(2)に示すように、移行対象のハードリンクAに対応付けられていた移行元ファイルシステムにおけるinode番号(移行元inode番号、ここでは、「100」)1226と、当該ハードリンクAの移行先ファイルシステムにおける移行先のパス(移行先パス)1227とをリンク元リスト1225に登録する。移行先ファイルサーバ10は、リンク元リスト1225に登録されている移行先パスのファイルがリネームされた場合には、リンク元リスト1225の移行先パス1227をリネーム後のパス名に変更するように管理している。したがって、移行されたハードリンクAのパスが変更された場合であっても適切にハードリンクAを特定することができる。
その後、ハードリンクAと同じファイル実体を参照するハードリンクBを移行先ファイルシステムに移行させる場合には、図14(3)に示すように、移行先ファイルサーバ10は、ハードリンクBの移行元のinode番号を用いて、リンク元リスト1225を検索することにより、同一の移行元inode番号のハードリンクAが移行された移行先パスを特定する。
次いで、移行先ファイルサーバ10は、図14(4)に示すように、移行先ファイルシステム122において、特定した移行先パスのファイルに対応付けられているinode番号を特定し、当該特定したinode番号とハードリンクBのファイル名とを対応付けた情報をハードリンクBの移行先のディレクトリのディレクトリファイル181に登録することにより、移行先ファイルシステムにおけるハードリンクBを作成する。これにより、ハードリンクBには、ハードリンクAと同じ移行先ファイルシステムにおけるinode番号が対応付けられるので、ハードリンクAと同一のファイル実体を参照することができる。
次に、実施例2に係る計算機システムの構成について説明する。なお、実施例2に係る計算機システムは、基本的には、実施例1に係る計算機システムと同様な構成となっており、同様な部分については、同一の符号を用いることとし、ここでは、異なる部分について説明することとする。
移行先ファイルサーバ10は、図13に示すように、インデックスツリー1220を管理せずに、リンク元リスト1225を管理するようにしている。リンク元リスト1225は、例えば、移行先ファイルサーバ10のユーザデータ記憶装置150に格納される。
リンク元リスト1225は、同一のファイル実体を参照する複数のハードリンクの中の最先のハードリンクの移行元ファイルシステムにおけるinode番号(移行元inode番号)1226と、そのハードリンクについての移行先ファイルシステムにおける移行先のパス(移行先パス)1227とを対応付けたエントリを記憶する。
次に、実施例2に係る計算機システムを用いた処理を説明する。
実施例2に係る計算機システムにおいては、図6に示す実施例1に係るファイルシステム移行全体処理と同様な処理を行う。
図15は、実施例2に係る移行処理の一例を示すフローチャートである。なお、図7に示す実施例1に係る移行処理と同様な処理ステップについては、同一符号を付し、重複する説明を省略する。
この移行処理は、図6のステップS13に対応する処理であり、移行先ファイルサーバ10の移行処理プログラム124により実行される。
ステップS22で、移行元ファイルのinode160のinode番号を取得すると、移行処理プログラム124は、inode番号データベース問合せプログラム125により、取得したinode番号を用いてinode番号データベース問合せ処理(図16参照)を実行させる(ステップS73)。
このinode番号データベース問合せ処理によると、このinode番号により参照していたファイル実体に対応する、移行先ファイルシステムに移行されたファイル実体を参照するハードリンク(リンク元ファイル)が、移行先ファイルシステムに存在しているか否かの判断結果が得られる。
次いで、移行処理プログラム124は、inode番号データベース問合せ処理の結果に基づいて、移行先ファイルサーバ10にリンク元ファイルが存在しているか否かを判断し(ステップS74)、移行先ファイルサーバ10にリンク元ファイルが存在していない場合(ステップS74でNo)には、ハードリンク移行(通常ファイル扱い)プログラム126に、ハードリンク移行(通常ファイル扱い)処理(図17参照)を実行させる(ステップS75)一方、移行先ファイルサーバ10にリンク元ファイルが存在する場合(ステップS74でYes)には、ハードリンク移行(ハードリンク扱い)プログラム127に、ハードリンク移行(ハードリンク扱い)処理(図18参照)を実行させる(ステップS76)。
そして、ステップS75、ステップS76、又はステップS27の処理を終えた後に、移行処理プログラム124は、移行処理を終了する。
図16は、実施例2に係るinode番号データベース問合せ処理の一例を示すフローチャートである。
このinode番号データベース問合せ処理は、図15のステップS73に対応する処理であり、移行先ファイルサーバ10のinode番号データベース問合せプログラム125により実行される。
inode番号データベース問合せプログラム125は、移行元ファイルのinode番号に対応するエントリがリンク元リスト1225に存在するか否かを検索する(ステップS80)。
次いで、inode番号データベース問合せプログラム125は、移行元ファイルのinode番号に対応するエントリが検索されたか否かを判断し(ステップS81)、移行元ファイルのinode番号のエントリが存在する場合(ステップS81でYes)には、移行先ファイルシステムに、このinode番号により参照するファイル実体に対応する、移行先ファイルシステムのファイル実体を参照するハードリンク(リンク元ファイルという)が存在していると判断する(ステップS82)一方、移行元ファイルのinode番号のエントリが存在しない場合(ステップS81でNo)には、リンク元ファイルが存在していないと判断する(ステップS83)。その後、inode番号データベース問合せプログラム125は、このinode番号データベース問合せ処理を終了する。
図17は、実施例2に係るハードリンク移行(通常ファイル扱い)処理の一例を示すフローチャートである。
このハードリンク移行(通常ファイル扱い)処理は、図15のステップS75に対応する処理であり、移行先ファイルサーバ10のハードリンク移行(通常ファイル扱い)処理プログラム126により実行される。
ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行元ファイルを移行先ファイルシステムに移行する(ステップS90)。具体的には、ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行元ファイルシステムから、移行元ファイルのファイル実体を取得し、当該実体ファイルを移行先ファイルサーバ10のユーザデータ記憶装置150に格納し、移行先ファイルシステムにおける移行元ファイルに対応するファイルのinode160を作成して格納し、移行先ファイルシステム122における移行先のディレクトリに対応するディレクトリファイル181に移行元ファイルのファイル名と、当該移行元ファイルに対応するファイルの移行先ファイルシステム122におけるinode番号と、を対応付けて登録し、移行先ファイルシステムのinodeリスト170に、このinode番号と、ファイル実体を格納したユーザデータ記憶装置150のデータブロックのアドレスを示すデータブロック情報と、を対応付けて格納する。
次いで、ハードリンク移行(通常ファイル扱い)処理プログラム126は、移行元ファイルに対応付けられていた移行元ファイルシステムにおけるinode番号と、当該移行元ファイルについての移行先ファイルシステムにおけるフルパス名とを対応付けたエントリをリンク元リスト1225に書き込む(ステップS91)。この後、ハードリンク移行(通常ファイル扱い)処理プログラム126は、ハードリンク移行(通常ファイル扱い)処理を終了する。
図18は、実施例2に係るハードリンク移行(ハードリンク扱い)処理の一例を示すフローチャートである。
このハードリンク移行(ハードリンク扱い)処理は、図15のステップS76に対応する処理であり、移行先ファイルサーバ10のハードリンク移行(ハードリンク扱い)処理プログラム127により実行される。
ハードリンク移行(ハードリンク扱い)処理プログラム127は、リンク元リスト1225から、移行元ファイルのinode番号に対応するフルパス名を取得する(ステップS100)。
次いで、ハードリンク移行(ハードリンク扱い)処理プログラム127は、取得したフルパス名に対応するファイルのinode番号を取得し、移行元ファイルの移行先のフルパス名に対応するディレクトリのディレクトリファイル181に、取得したinode番号と、当該移行元ファイルのファイル名とを対応付けて登録することにより、ハードリンクを作成する(ステップS101)。この後、ハードリンク移行(ハードリンク扱い)処理プログラム127は、ハードリンク移行(ハードリンク扱い)処理を終了する。
図19は、実施例2に係る移行中リネーム処理の一例を示すフローチャートである。なお、図12に示す実施例1に係るI/O、リネーム、及び削除処理と同様な処理ステップについては、同一符号を付し、重複する説明を省略する。
リネーム処理は、移行元ファイルシステムから移行先ファイルシステムへの移行中に、ファイルに対するリネーム要求が発生した場合に実行される処理である。
ステップS62の判定の結果、要求対象のファイルが移行済みでない場合(ステップS62でNo)には、移行管理プログラム123は、移行処理プログラム124に、図15に示す移行処理を要求対象のファイルを移行対象のファイルとして実行させ(ステップS113)、処理をステップS114に進める一方、要求対象のファイルが移行済みである場合(ステップS62でYes)には、処理をステップS114に進める。
ステップS114では、移行管理プログラム123は、要求対象のファイルのフルパス名を取得する。次いで、移行管理プログラム123は、リンク元リスト1225に、要求対象のファイルのフルパス名のエントリがあるか否かを検索し(ステップS115)、要求対象のファイルのフルパス名のエントリがあるか否かを判定する(ステップS116)。
この結果、要求対象のファイルのフルパス名のエントリがある場合(ステップS116でYes)には、要求対象のファイルがハードリンクであることを意味しているので、移行管理プログラム123は、要求対象のファイルに対してリネーム処理を実施し(ステップS117)、リンク元リスト1225の要求対象のファイルのパス名をリネーム後のパス名に変更し(ステップS118)、移行中リネーム処理を終了する。一方、要求対象のファイルのフルパス名のエントリがない場合(ステップS116でNo)には、要求対象のファイルは、ハードリンクではないことを意味しているので、移行管理プログラム123は、要求対象のファイルに対してリネーム処理を実施し(ステップS119)、移行中リネーム処理を終了する。
上記移行中リネーム処理によると、移行先ファイルシステム122に移行されたハードリンクのリネーム処理が行われた場合には、リンク元リスト1225には、当該ハードリンクのリネーム後のパス名が格納されることとなる。したがって、同一のファイル実体を参照する他のハードリンクを移行先ファイルシステムに移行する場合には、図18に示すハードリンク移行(ハードリンク扱い)処理により、リンク元リスト1225から、移行元ファイルのinode番号に対応する移行済みのハードリンクの最新のフルパス名を取得でき、取得したフルパス名に対応するファイルのinode番号を取得して、移行元ファイルに対応するハードリンクを作成することができる。
以上、幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
10 移行先ファイルサーバ、20 移行元ファイルサーバ、40 クライアント、100 ファイルストレージ装置、150 ユーザデータ記憶装置。

Claims (14)

  1. 移行元ファイルシステムを提供する移行元ファイルサーバに接続され、移行先ファイルシステムを提供する移行先ファイルサーバであって、
    記憶デバイスと、
    コントローラとを有し、
    前記コントローラは、
    前記移行元ファイルシステムにおいて同一のファイル管理情報を参照する複数のハードリンクファイルに含まれる第1のハードリンクファイルを前記移行先ファイルシステムに移行する際に、前記第1のハードリンクファイルに関するデータを前記記憶デバイスに格納し、前記第1のハードリンクファイルを前記移行先ファイルシステムに生成し、前記移行先ファイルサーバにおける前記第1のハードリンクファイルと同一のファイル管理情報を参照するダミーハードリンクファイルを生成し、
    前記複数のハードリンクファイルに含まれる第2のハードリンクファイルを移行する際に、前記ダミーハードリンクファイルを、前記第2のハードリンクファイルの前記移行先ファイルシステムにおけるパス名にリネームする、
    ことを特徴とする移行先ファイルサーバ。
  2. 前記コントローラは、
    前記移行元ファイルサーバから、移行対象のファイルに関するデータへのリンク数を取得し、リンク数が複数である場合に、前記移行対象のファイルがハードリンクファイルであると特定する、
    ことを特徴とする請求項1に記載の移行先ファイルサーバ。
  3. 前記コントローラは、
    前記特定したハードリンクファイルが前記第1のハードリンクファイルである場合に、前記第1のハードリンクファイルの前記移行元ファイルシステムにおける前記ファイル管理情報を示すファイル管理情報識別子に対応する名称のディレクトリを生成し、
    前記第1のハードリンクファイルと同一の前記ファイル管理情報を参照する前記ダミーハードリンクファイルを、前記生成したディレクトリの直下に生成する、
    ことを特徴とする請求項2に記載の移行先ファイルサーバ。
  4. 前記コントローラは、
    前記特定したハードリンクファイルの前記移行元ファイルシステムにおける前記ファイル管理情報を示すファイル管理情報識別子に対応する名称のディレクトリが、前記移行先ファイルシステムにて生成されているか否かに基づいて、前記ハードリンクファイルが第1のハードリンクファイルであるか、又は第2のハードリンクファイルであるかを決定する
    請求項3に記載の移行先ファイルサーバ。
  5. 前記コントローラは、
    前記第1のハードリンクファイルと同一のファイル管理情報を参照する前記ダミーハードリンクファイルを、前記第1のハードリンクファイルに関連するデータへのリンク数から1を減算した数分生成する、
    ことを特徴とする請求項2に記載の移行先ファイルサーバ。
  6. 前記移行元ファイルシステムから前記移行先ファイルシステムへのファイルの移行中において、前記移行元ファイルシステムは、ファイルに対する読み込み専用に設定される、
    ことを特徴とする請求項2に記載の移行先ファイルサーバ。
  7. 前記コントローラは、
    前記移行元ファイルシステムから前記移行先ファイルシステムへのファイルの移行中において、入出力要求、リネーム要求、又は削除要求の対象となる要求対象ファイルの指定を受け付け、
    前記要求対象ファイルが前記移行先ファイルシステムに移行済みでない場合に、前記要求対象ファイルを、前記移行元ファイルシステムから前記移行先ファイルシステムへ移行させる、
    ことを特徴とする請求項1に記載の移行先ファイルサーバ。
  8. 移行元ファイルシステムを提供する移行元ファイルサーバに接続され、移行先ファイルシステムを提供する移行先ファイルサーバによるファイルシステム移行方法であって、
    前記移行元ファイルシステムにおいて同一のファイル管理情報を参照する複数のハードリンクファイルに含まれる第1のハードリンクファイルを前記移行先ファイルシステムに移行する際に、前記第1のハードリンクファイルに関するデータを前記移行先ファイルサーバの記憶デバイスに格納し、前記第1のハードリンクファイルを前記移行先ファイルシステムに生成し、前記移行先ファイルサーバにおける前記第1のハードリンクファイルと同一のファイル管理情報を参照するダミーハードリンクファイルを生成し、
    前記複数のハードリンクファイルに含まれる第2のハードリンクファイルを移行する際に、前記ダミーハードリンクファイルを、前記第2のハードリンクファイルの前記移行先ファイルシステムにおけるパス名にリネームする、
    ことを特徴とするファイルシステム移行方法。
  9. 前記移行元ファイルサーバから、移行対象のファイルに関するデータへのリンク数を取得し、リンク数が複数である場合に、前記移行対象のファイルがハードリンクファイルであると特定する、
    ことを特徴とする請求項8に記載のファイルシステム移行方法。
  10. 前記特定したハードリンクファイルが前記第1のハードリンクファイルである場合に、前記第1のハードリンクファイルの前記移行元ファイルシステムにおける前記ファイル管理情報を示すファイル管理情報識別子に対応する名称のディレクトリを生成し、
    前記第1のハードリンクファイルと同一の前記ファイル管理情報を参照する前記ダミーハードリンクファイルを、前記生成したディレクトリの直下に生成する、
    ことを特徴とする請求項9に記載のファイルシステム移行方法。
  11. 前記特定したハードリンクファイルの前記移行元ファイルシステムにおける前記ファイル管理情報を示すファイル管理情報識別子に対応する名称のディレクトリが、前記移行先ファイルシステムにて生成されているか否かに基づいて、前記ハードリンクファイルが第1のハードリンクファイルであるか、又は第2のハードリンクファイルであるかを決定する、
    ことを特徴とする請求項10に記載のファイルシステム移行方法。
  12. 前記第1のハードリンクファイルと同一のファイル管理情報を参照する前記ダミーハードリンクファイルを、前記第1のハードリンクファイルに関連するデータへのリンク数から1を減算した数分生成する、
    ことを特徴とする請求項9に記載のファイルシステム移行方法。
  13. 前記移行元ファイルシステムから前記移行先ファイルシステムへのファイルの移行中において、前記移行元ファイルシステムは、ファイルに対する読み込み専用に設定される、
    ことを特徴とする請求項9に記載のファイルシステム移行方法。
  14. 前記移行元ファイルシステムから前記移行先ファイルシステムへのファイルの移行中において、入出力要求、リネーム要求、又は削除要求の対象となる要求対象ファイルの指定を受け付け、
    前記要求対象ファイルが前記移行先ファイルシステムに移行済みでない場合に、前記要求対象ファイルを、前記移行元ファイルシステムから前記移行先ファイルシステムへ移行させる、
    ことを特徴とする請求項8に記載のファイルシステム移行方法。
JP2015511535A 2012-10-11 2012-10-11 移行先ファイルサーバ及びファイルシステム移行方法 Expired - Fee Related JP5895099B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/006536 WO2014057520A1 (en) 2012-10-11 2012-10-11 Migration-destination file server and file system migration method

Publications (2)

Publication Number Publication Date
JP2015530629A true JP2015530629A (ja) 2015-10-15
JP5895099B2 JP5895099B2 (ja) 2016-03-30

Family

ID=47089105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015511535A Expired - Fee Related JP5895099B2 (ja) 2012-10-11 2012-10-11 移行先ファイルサーバ及びファイルシステム移行方法

Country Status (5)

Country Link
US (1) US20140108475A1 (ja)
EP (1) EP2880554A1 (ja)
JP (1) JP5895099B2 (ja)
CN (1) CN104603774A (ja)
WO (1) WO2014057520A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220042974A (ko) * 2020-09-28 2022-04-05 주식회사 데이타커맨드 데이터 초기 복제 방법 및 이를 수행하기 위한 컴퓨팅 장치

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843448B1 (en) * 2012-12-11 2014-09-23 Emc Corporation Method and system for renamed directory handling for incremental file migration
US9229942B1 (en) * 2012-12-11 2016-01-05 Emc Corporation Method and system for hard link handling for incremental file migration
US8983908B2 (en) * 2013-02-15 2015-03-17 Red Hat, Inc. File link migration for decommisioning a storage server
US9628550B1 (en) 2013-10-24 2017-04-18 Ca, Inc. Lightweight software management shell
GB2539340B (en) * 2014-04-22 2021-03-24 Hitachi Ltd Data migration method of storage system
US9740413B1 (en) * 2015-03-30 2017-08-22 EMC IP Holding Company LLC Migrating data using multiple assets
CN107239480B (zh) * 2016-03-28 2021-01-29 阿里巴巴集团控股有限公司 用于分布式文件系统执行重命名操作的方法和设备
CN107391629B (zh) * 2017-06-30 2021-01-29 三六零科技集团有限公司 集群间数据迁移方法、系统、服务器及计算机存储介质
US10783041B2 (en) * 2017-09-22 2020-09-22 Mcafee, Llc Backup and recovery of data files using hard links
CN108228226B (zh) * 2017-12-29 2021-07-13 北京元心科技有限公司 硬链接的差分方法、装置及相应终端
CN109189324B (zh) * 2018-07-09 2021-01-08 华为技术有限公司 一种数据迁移方法及装置
CN109614383B (zh) * 2018-11-21 2021-01-15 金色熊猫有限公司 数据复制方法、装置、电子设备及存储介质
CN109522291B (zh) * 2018-11-29 2022-06-21 郑州云海信息技术有限公司 一种迁移文件系统的方法、装置以及计算机可读存储介质
US11474912B2 (en) 2019-01-31 2022-10-18 Rubrik, Inc. Backup and restore of files with multiple hard links
US10846267B2 (en) * 2019-01-31 2020-11-24 Rubrik, Inc. Masterless backup and restore of files with multiple hard links
CN110348498A (zh) * 2019-06-28 2019-10-18 国网河北省电力有限公司电力科学研究院 一种基于深度学习的配电设备缺陷自动判别方法及系统
CN110489378B (zh) * 2019-08-25 2023-07-04 山东融兴合智能科技有限公司 一种在互联网中进行文件迁移的方法及系统
CN111258954B (zh) * 2020-01-10 2023-12-05 北京百度网讯科技有限公司 数据迁移方法、装置、设备及存储介质
US11841825B2 (en) * 2021-11-30 2023-12-12 Dell Products L.P. Inode clash resolution during file system migration
US11971848B2 (en) * 2021-11-30 2024-04-30 Dell Products L.P. Efficient transparent switchover of file system consolidation migrations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038928A (ja) * 2002-03-19 2004-02-05 Network Appliance Inc 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
JP2007035030A (ja) * 2005-07-21 2007-02-08 Internatl Business Mach Corp <Ibm> ファイルシステムにおけるファイルに対する階層的ハードリンクのグラフィカルディスプレイの方法、装置、およびプログラム
JP2008234570A (ja) * 2007-03-23 2008-10-02 Hitachi Ltd データ移行処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0002019D0 (en) * 2000-01-29 2000-03-22 Ibm Data migration tool
US7080102B2 (en) * 2002-03-25 2006-07-18 Emc Corporation Method and system for migrating data while maintaining hard links
US7243089B2 (en) * 2003-11-25 2007-07-10 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US8423573B2 (en) * 2004-11-12 2013-04-16 International Business Machines Corporation Filesystem backup using directorywise hardlinking for a computer filesystem
WO2007099636A1 (ja) 2006-03-02 2007-09-07 Fujitsu Limited ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
US7814077B2 (en) * 2007-04-03 2010-10-12 International Business Machines Corporation Restoring a source file referenced by multiple file names to a restore file
US20090307276A1 (en) * 2008-06-06 2009-12-10 Microsoft Corporation Migration using file system links
CN102215268A (zh) * 2011-07-14 2011-10-12 北京飞杰信息技术有限公司 一种迁移文件数据的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038928A (ja) * 2002-03-19 2004-02-05 Network Appliance Inc 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法
JP2007035030A (ja) * 2005-07-21 2007-02-08 Internatl Business Mach Corp <Ibm> ファイルシステムにおけるファイルに対する階層的ハードリンクのグラフィカルディスプレイの方法、装置、およびプログラム
JP2008234570A (ja) * 2007-03-23 2008-10-02 Hitachi Ltd データ移行処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220042974A (ko) * 2020-09-28 2022-04-05 주식회사 데이타커맨드 데이터 초기 복제 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR102405890B1 (ko) 2020-09-28 2022-06-08 주식회사 데이타커맨드 데이터 초기 복제 방법 및 이를 수행하기 위한 컴퓨팅 장치

Also Published As

Publication number Publication date
US20140108475A1 (en) 2014-04-17
JP5895099B2 (ja) 2016-03-30
WO2014057520A1 (en) 2014-04-17
EP2880554A1 (en) 2015-06-10
CN104603774A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
JP5895099B2 (ja) 移行先ファイルサーバ及びファイルシステム移行方法
US9460111B2 (en) Method and apparatus for virtualization of a file system, data storage system for virtualization of a file system, and file server for use in a data storage system
US10198447B2 (en) Electronic file migration system and various methods of transparent data migration management
US10853242B2 (en) Deduplication and garbage collection across logical databases
JP4451293B2 (ja) 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US9116913B2 (en) File storage system and file cloning method
US20110167045A1 (en) Storage system and its file management method
JP5697754B2 (ja) 計算機システム、ファイル管理方法及びメタデータサーバ
WO2015049747A1 (ja) データ管理システム、及び、データ管理方法
JP5320557B2 (ja) ストレージシステム
CN106484820B (zh) 一种重命名方法、访问方法及装置
JPWO2013061463A1 (ja) ストレージシステム、及びオブジェクト管理方法
JP5650982B2 (ja) ファイルの重複を排除する装置及び方法
JP2009064120A (ja) 検索システム
US9122689B1 (en) Recovering performance of a file system post-migration
US20190073153A1 (en) Efficient repository migration and storage
JP6002832B2 (ja) 計算機システム、データ管理方法及びプログラムを格納する記録媒体
JP2006031608A (ja) 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
KR101733118B1 (ko) 메타데이터 연산 충돌 회피 방법 및 이를 수행하는 메타 데이터 관리 시스템
US20230169035A1 (en) File Transfer Prioritization During Replication
US10623491B2 (en) Namespace translation
JP7141908B2 (ja) データ管理システムおよびデータ管理方法
WO2014203397A1 (ja) 計算機システム、メタデータ管理方法及びプログラム
JP2008097149A (ja) 情報処理プログラム及び情報処理装置
JP2013254455A (ja) 文書管理システムおよび方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160229

R150 Certificate of patent or registration of utility model

Ref document number: 5895099

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees