JP4903461B2 - 記憶システム及びデータ移行方法並びにサーバ装置 - Google Patents

記憶システム及びデータ移行方法並びにサーバ装置 Download PDF

Info

Publication number
JP4903461B2
JP4903461B2 JP2006070210A JP2006070210A JP4903461B2 JP 4903461 B2 JP4903461 B2 JP 4903461B2 JP 2006070210 A JP2006070210 A JP 2006070210A JP 2006070210 A JP2006070210 A JP 2006070210A JP 4903461 B2 JP4903461 B2 JP 4903461B2
Authority
JP
Japan
Prior art keywords
volume
data
migration
snapshot
management
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.)
Expired - Fee Related
Application number
JP2006070210A
Other languages
English (en)
Other versions
JP2007249452A (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
Priority to JP2006070210A priority Critical patent/JP4903461B2/ja
Priority to US11/410,573 priority patent/US20070220071A1/en
Publication of JP2007249452A publication Critical patent/JP2007249452A/ja
Application granted granted Critical
Publication of JP4903461B2 publication Critical patent/JP4903461B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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
    • G06F16/214Database migration support
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Description

本発明は、記憶システム及びデータ移行方法並びにサーバ装置に関し、例えばグローバルネームスペース技術を導入した記憶システムに適用して好適なものである。
近年、ファイル管理方式の1つとして、グローバルネームスペースと呼ばれる方式が提案されている。グローバルネームスペースは、複数のNAS(Network Attached Storage)装置の名前空間(ネームスペース)を束ねて1つのネームスペースとして構成する技術で、NFS(Network File System)バージョン4の次期標準化技術として検討されている。例えば下記特許文献1には、単一NASイメージを提供するNAS装置の記述がある。
このようなグローバルネームスペース技術を導入した記憶システムでは、NAS装置間の負荷を分散することを目的として、あるNAS装置が管理するいずれかの論理ボリューム(ファイルシステム)のデータを他のNAS装置が管理する論理ボリュームに移行(マイグレーション)することが行なわれる。
この際、移行されたファイルシステムのグローバルネームスペース上のパス(グローバルパス)は変わらないため、グローバルパスを利用してNASサーバにアクセスするクライアント装置は、データ移行の前後で同じパスを介して継続したアクセスが可能となる。なお、グローバルネームスペースでは、グローバルパスとローカルパスとの対応を、所定の管理テーブル(以下、これをグローバルネームスペース管理テーブルと呼ぶ)を用いて管理する。
一方、従来、NAS装置やストレージ装置の機能の1つとして、スナップショットの作成指示を受けた時点における指定された運用ボリューム(ユーザが使用する論理ボリュームのイメージを保持する、いわゆるスナップショット機能がある。スナップショット機能は、人為的なミスによりデータが消失してしまったときや、所望時点におけるファイルシステムの状態を復元したいときなどに、その時点におけるプライマリボリュームを復元するために用いられる。
かかるスナップショット機能により保持される運用ボリュームのイメージは、スナップショットの作成指示を受けた時点における運用ボリューム全体のデータではなく、現在の運用ボリュームのデータと、差分格納ボリュームと呼ばれる専用の論理ボリュームに保持される差分データとから構成される。
この差分データは、スナップショットの作成指示を受けた時点における運用ボリュームと、現在の運用ボリュームとの差分である。そしてこれらの差分データと現在の運用ボリュームとに基づいて、かかるスナップショット作成指示された時点における運用ボリュームの状態が復元される。
従って、スナップショット機能によれば、運用ボリュームの内容をそのまま記憶する場合に比べて、より小さい記憶容量でスナップショット作成指示された時点の運用ボリュームを復元できるという利点がある。なお、下記特許文献2には、複数世代のスナップショットを取得可能とする技術が開示されている。
米国特許第6671773号明細書 米国特許第20040186900A1号明細書
ところで、従来の記憶システムにおいては、上述のようにNAS装置間の負荷を分散することを目的として、あるNAS装置が管理するいずれかの論理ボリュームのデータを他のNAS装置が管理する論理ボリュームに移行する場合、移行対象となる論理ボリュームと関連付けられている関連ボリュームとの関連性を考慮する必要があることを発明者は見出した。
例えば、移行対象のボリュームが運用ボリュームで、関連ボリュームが差分格納ボリュームである場合において、従来では運用ボリュームを移行する際に差分格納ボリュームとの関連性については何らの考慮もなされていない。つまり、その運用ボリュームについてそれまでにスナップショットを取得していたとしても、そのスナップショットを参照するために必要な差分データや、スナップショットの管理情報の移行は行われていなかった。
このため運用ボリュームのデータを他のNAS装置が管理する論理ボリュームに移行させる処理を行った場合、データ移行前にその運用ボリュームについて取得したスナップショットを維持できなくなる問題があった。
本発明は以上の点を考慮してなされたもので、あるサーバ装置により管理される、関連付けられた第1及び第2のボリュームのうちの第1のボリュームのデータが他のサーバ装置により管理されるボリュームに移行された後においても、第1及び第2のボリュームの各データの関連付けを、第1のボリュームのデータの移行の前後において継続し得る記憶システム及びデータ移行方法並びにサーバ装置を提案しようとするものである。
かかる課題を解決するため本発明に係る記憶システムおいては、複数のサーバ装置を有し、各前記サーバ装置がそれぞれ自装置に割り当てられたストレージ装置内のボリュームを管理する記憶システムにおいて、各前記サーバ装置は、複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、を備え、前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームでのボリューム及び前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームである第2のボリュームからなり、前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、前記データ移行部のCPUは、前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留し、続いて前記マイグレーション管理プログラムに基づいて、前記第1のボリュームのデータを前記他のサーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させる際に、前記第1のボリュームのデータを前記第2のボリュームにコピーして前記他のサーバ装置の前記ストレージ装置へのデータの移行後も当該データ及び前記管理情報を自装置に割り当てられた前記ストレージ装置内に保持するとともに、前記スナップショット管理プログラムに基づいて、前記ブロック管理テーブルにおける前記管理情報を更新し、その後、前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開することを特徴とする。
また、本発明に係る記憶システムは、複数のサーバ装置を有し、各前記サーバ装置がそれぞれ自装置に割り当てられたストレージ装置内のボリュームを管理する記憶システムにおいて、各前記サーバ装置は、複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、を備え、前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームである第1のボリューム及び前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームである第2のボリュームからなり、前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、前記データ移行部のCPUは、前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留し、続いて前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第2のボリュームのデータを前記第1のボリュームのデータ及び前記管理情報と共に当該他のサーバに割り当てられた前記ストレージ装置内のボリユームに移行させ、その後、自装置に割り当てられた前記ストレージ装置内の前記ボリュームのデータ及び前記ブロック管理テーブルにおける前記管理情報を消去して当該ボリュームを更新し、その後、前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開することを特徴とする。
この結果、この記憶システムでは、関連付けられた第1及び第2のボリュームのデータを同一のサーバ装置によって管理することができるため、これら第1及び第2のボリュームの双方のデータを、迅速かつ確実に参照することができる。
本発明によれば、あるサーバ装置により管理される、関連付けられた第1及び第2のボリュームのうちの第1のボリュームのデータが他のサーバ装置により管理されるボリュームに移行された後においても、第1及び第2のボリュームの各データの関連付けを、第1のボリュームのデータの移行の前後において継続することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)本実施の形態による記憶システムの全体構成
図1において、1は全体として本実施の形態による記憶システムを示す。記憶システム1は、クライアント装置2、管理端末装置3及び複数台のNASサーバ4が第1のネットワーク5を介して接続され、各NASサーバ4が第2のネットワーク6を介してストレージ装置7に接続されることにより構成されている。
クライアント装置2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。またクライアント装置2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備える。
管理端末装置3は、クライアント装置2と同様に、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。管理端末装置3は、ストレージ装置7の動作状態や障害の有無を監視し、必要な情報をディスプレイに表示したり、オペレータ操作に応じてストレージ装置7の動作を制御する。後述のようにユーザは管理端末装置3を用いてマイグレーションの内容を設定し、必要に応じてこれを変更することができる。
第1のネットワーク5は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。この第1のネットワーク4を介したクライアント装置2及び各NASサーバ4間の通信は、例えば第1のネットワーク5がSANである場合にはファイバーチャネルプロトコルに従って行われ、第1のネットワーク5がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
NASサーバ4は、自装置に割り当てられたストレージ装置7内の論理ボリュームVOLを管理する機能を有し、ネットワークインタフェース10、CPU11、メモリ12及びアダプタ13を備えて構成される。このうちネットワークインタフェース10は、CPU11が第1のネットワーク5を介してクライアント装置2や管理端末装置3と通信を行うためのインタフェースであり、クライアント装置2や管理端末装置3との間でデータや各種コマンドを送受信する。
CPU11は、NASサーバ4全体の動作制御を司るプロセッサであり、メモリ12に格納された各種制御プログラムを実行することにより、後述のような各種の制御処理を行う。
メモリ12には、スナップショット管理プログラム20、ファイルアクセス管理プログラム21及びマイグレーション管理プログラム22などの各種制御プログラムと、グローバルネームスペース管理テーブル23、ブロックコピー管理テーブル24及び使用ブロック管理テーブル25などの各種管理テーブルとが格納される。
スナップショット管理プログラム20は、複数世代のスナップショットを管理(作成及び削除等)するためのプログラムであり、ブロックコピー管理テーブル24及び使用ブロック管理テーブル25の管理(作成、参照、更新及び削除等)もこのスナップショット管理プログラム20に基づいて行なわれる。
またファイルアクセス管理プログラム21は、後述する論理ボリュームVOLの管理(ファイルシステムの作成及びマウントや、クライアントアクセスの処理並びに管理端末装置3とのやり取り等)や、グローバルネームスペース管理テーブル23の管理(作成、参照、更新及び削除等)などを行なうためのプログラムである。さらにマイグレーション管理プログラム22は、論理ボリュームVOLのデータのコピーや削除などの論理ボリュームのマイグレーション処理に関するプログラムである。
グローバルネームスペース管理テーブル23、ブロックコピー管理テーブル24及び使用ブロック管理テーブル25については、後述する。
アダプタ13は、CPU11が第2のネットワーク6を介してストレージ装置7と通信を行うためのインタフェースである。また第2のネットワーク6は、ファイバーチャネル又はSANなどから構成される。この第2のネットワーク6を介したNASサーバ4及びストレージ装置7間の通信は、例えば第2のネットワーク6がファイバーチャネルやSANである場合にはファイバーチャネルプロトコルに従って行われる。
一方、ストレージ装置7は、複数のディスクデバイス30と、これらディスクデバイス30を制御するディスクコントローラ31とを備えて構成される。
ディスクデバイス30は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクドライブ、又はSATA(Serial AT Attachment)ディスクや光ディスクドライブ等の安価なディスクドライブから構成される。1又は複数のディスクデバイス30が提供する記憶領域上に1又は複数の論理ボリュームVOLが定義される。そして、この論理ボリュームVOLにクライアント装置2からのデータが所定大きさのブロックを単位として読み書きされる。
各論理ボリュームVOLには、それぞれ固有の識別子(LUN:Logical Unit Number)が割り当てられる。本実施の形態の場合、データの入出力は、この識別子と、各ブロックにそれぞれ割り当てられるそのブロックに固有の番号(LBA:Logical Block Address)との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
ストレージ装置7内に作成される論理ボリュームVOLの属性としては、運用ボリューム、差分格納ボリューム及び仮想ボリュームなどがある。
運用ボリュームは、クライアント装置2がデータを読み書きする論理ボリュームVOLであり、上述したNASサーバ4のファイルアクセス管理プログラム21に基づくファイルアクセス機能を用いてアクセスされる。また差分格納ボリュームは、スナップショットの取得後に運用ボリューム内のデータが更新されたときに、更新前のデータを退避させるための論理ボリュームVOLである。クライアント装置2は、この差分格納ボリュームを認識することはできない。
仮想ボリュームは、現実に存在しない仮想的な論理ボリュームVOLである。この仮想ボリュームには、実際に存在する1又は複数の論理ボリュームVOLが関連付けられる。クライアント装置2から仮想ボリュームに対してデータ入出力要求が与えられた場合、その仮想ボリュームに関連付けられた論理ボリュームVOLにおいてデータの読み書きが行なわれる。スナップショットは、この仮想ボリュームとして作成される。
ディスクコントローラ31は、CPUやキャッシュメモリを備えて構成され、NASサーバ4及びディスクデバイス30間のデータの送受などを制御する。ディスクコントローラ31は、各ディスクデバイス30をRAID方式で管理する。
(1−2)各種管理テーブルの構成
図2(A)は、グローバルネームスペース管理テーブル23の具体的構成を示したものである。このグローバルネームスペース管理テーブル23は、管理対象であるファイルシステムやスナップショットのグローバルネームスペースとローカルネームスペースとを対応付けて管理するためのテーブルであり、管理対象のファイルシステム及び各スナップショットにそれぞれ対応させて「ファイルシステム/スナップショット」フィールド23A、「グローバルパス」フィールド23B及び「ローカルパス」フィールド23Cが設けられている。
このうち「ファイルシステム/スナップショット」フィールド23Aには、対応するファイルシステム又はスナップショットの名称が格納される。また、「グローバルパス」フィールド23Bには、そのファイルシステム又はスナップショットのグローバルパスが格納され、「ローカルパス」フィールド23Cには、当該ファイルシステム又はスナップショットのローカルパスが格納される。
例えばこの図2(A)の例では、グローバルネームスペースが図3のように構成され、ローカルネームスペースが図4のように構成されている場合において、「FS0」というファイルシステムのグローバルパスが「/mnt/a」、ローカルパスが「NAS0:/mnt/fs0」であり、「FS0-SNAP1」というスナップショットのグローバルパスが「/mnt/snap/a-snap1」、ローカルパスが「NAS0:/mnt/snap/fs0-snap1」であることを示している。
一方、図5(A)は、ブロックコピー管理テーブル24の具体的構成を示したものである。このブロックコピー管理テーブル24は、複数世代分のスナップショットについて、それぞれ各ブロックデータの保存位置を管理するためのテーブルであり、運用ボリューム内の各ブロックにそれぞれ対応させて「ブロックアドレス」フィールド24A及び複数のスナップショット管理フィールド24Bが設けられている。
このうち「ブロックアドレス」フィールド24Aには、それぞれ運用ボリューム内の対応するブロックアドレスが格納される。ブロックアドレスとしては、LBAを用いても良いし、数ブロック単位でまとめて管理している場合は、その管理単位であるチャンク単位のような相対アドレスを用いても良い。
またスナップショット管理フィールド24Bは、取得済み又はこれから取得する複数世代分のスナップショットにそれぞれ対応させて設けられており、「ボリューム」フィールド24C及び「ブロック」フィールド24Dから構成されている。
このうち「ボリューム」フィールド24Cには、対応するスナップショットが作成された段階で「0」が格納され、その後運用ボリューム内の対応するブロックのデータが更新されて、更新前のデータが差分格納ボリュームに退避されると「1」が格納(「0」から「1」に更新)される。
また「ブロック」フィールド24Dには、対応するスナップショットが作成された段階で「0」が格納され、その後運用ボリューム内の対応するブロックのデータが更新されて、更新前のデータが差分格納ボリュームに退避されたときに、当該差分格納ボリュームにおける退避先のブロックのアドレスが格納される。
例えば図5(A)の例では、「FS0-SNAP1」というスナップショットにおいて、運用ボリューム内のブロックアドレスが「t」のブロックのデータは、当該スナップショットの取得後に更新され(「ボリューム」フィールド24Cの値が「1」)、更新前のデータが差分格納ボリュームのブロックアドレスが「94」のブロックに退避(「ブロック」フィールド24Dの値が「94」)されていることが示されている。
また、「FS0-SNAP1」というスナップショットにおいて、運用ボリューム内のブロックアドレスが「m-1」のブロックのデータは、当該スナップショットの取得後に更新されておらず(「ボリューム」フィールドの値が「0」)、データが運用ボリュームのブロックアドレスが「m-1」のブロックに格納されていることが示されている。
従って、図6に示すように、ブロックコピー管理テーブル24の「ボリューム」フィールド24Cの値が「1」となっているブロック(ブロックアドレスが「t」のブロックを含む)については、差分格納ボリューム(「D−VOL」)上の対応するブロックアドレスのブロックからデータを参照し、当該ブロックコピー管理テーブル24の「ボリューム」フィールド24Cの値が「0」となっているブロック(ブロックアドレスが「0」及び「m-1」のブロックを含む)については、運用ボリューム(「FS0」)内の対応するブロックアドレスのブロックからデータを参照することで、「FS0-SNAP1」というスナップショットを得ることができることが分かる。
他方、図7は、使用ブロック管理テーブル25の具体的構成を示したものである。この使用ブロック管理テーブル25は、差分格納ボリューム内の各ブロックの使用状況を管理するためのテーブルであり、差分ボリューム内の各ブロックにそれぞれ対応させて「ブロックアドレス」フィールド25A及び「使用状態フラグ」フィールド25Bが設けられている。
「ブロックアドレス」フィールド25Aには、それぞれ対応するブロックのアドレスが格納される。また「使用状態フラグ」フィールド25Bには、1ビットの使用状態フラグが格納され、対応するブロックが未使用(差分データが格納されていない又は解放されている)の場合には、この使用状態フラグが「0」にセットされ、当該ブロックが使用中(差分データが格納されている)の場合にはこの使用状態フラグが「1」にセットされる。
例えば図7の例では、差分格納ボリューム内のブロックアドレスが「r」のブロックは使用中であり、ブロックアドレスが「p−1」のブロックは未使用であることが示されている。
(1−3)マイグレーション処理
次に、この記憶システムにおけるマイグレーション処理の処理内容について説明する。
この記憶システム1では、例えば図8(A)に示すように、第1のNASサーバ4(「NAS0」)に割り当てられた第1のストレージ装置7内の運用ボリューム(「ボリューム1−0」)のデータを第2のNASサーバ4(「NAS1」)に割り当てられた第2のストレージ装置7内の論理ボリューム(「ボリューム2−0」)に移行させる場合、図8(B)に示すように、これと並行して運用ボリュームの全データを、当該運用ボリュームについてそれまでに取得した各スナップショットの差分データが格納された差分格納ボリューム(「ボリューム1−1」)に移行させて保持することを特徴とする。これにより、記憶システム1によれば、差分格納ボリュームに収納されている運用ボリューム及び差分データと、第1のNASサーバ4が保持しているそのスナップショットの管理情報(運用ボリューム及び差分格納ボリュームを関連付ける管理情報であり、具体的にはブロックコピー管理テーブル24)とに基づいてそれまでに取得したスナップショットを維持することができる。
図9は、管理端末のディスプレイに表示される、上述のようなマイグレーション処理の処理内容の設定を行うためのGUI(Graphical User Interface)画面の1つであるファイルシステム管理画面40を示す。
このファイルシステム管理画面40では、管理端末装置3が記憶システム1内のいずれかのNASサーバ4にアクセスすることにより取得した、この記憶システム1内に存在するファイルシステムのリスト41が表示され、このリスト41の左側に、各ファイルシステムにそれぞれ対応させてラジオボタン42が表示される。かくして、このファイルシステム管理画面40では、これらラジオボタン42を操作することで、リスト表示された複数のファイルシステムの中から所望のファイルシステムを選択することができる。
またファイルシステム管理画面40の下側には、「クリエイト(Create)」ボタン43、「デリート(Delete)」ボタン44、「マイグレート(Migrate)」ボタン45及び「キャンセル(Cancel)」ボタン46が設けられている。
これらのボタンのうちの「クリエイト」ボタン43は、新たなファイルシステムを作成するためのボタンであり、この「クリエイト」ボタン43をクリックすることによって、新たなファイルシステムの内容を設定するための図示しないGUI(Graphical User Interface)画面を表示させることができる。また「デリート」ボタン44は、上述のラジオボタン42を操作して選択したファイルシステムを消去するためのボタンである。
「マイグレート」ボタン45は、かかるラジオボタン42を操作して選択したファイルシステム内の運用ボリュームのデータを所望のボリュームに移行させるためのボタンであり、所望のファイルシステムを選択した後にこの「マイグレート」ボタン45をクリックすることによって、そのファイルシステムの移行内容を規定するための図10に示すようなマイグレーション詳細設定画面50を管理端末装置3のディスプレイに表示させることができる。なお、「キャンセル」ボタン46は、このファイルシステム設定画面40を管理端末装置3のディスプレイ上から消去するためのボタンである。
図10に示すように、マイグレーション詳細設定画面50には、ファイルシステム設定画面40において選択されたファイルシステムのデバイス名(図10の例では「lu0」)及びファイルシステム名(図10の例では「FS0」)が表示される。また、かかるファイルシステム名の下側には、データ移行先指定欄51が表示される。かくしてシステム管理者は、このデータ移行先指定欄51内にデータの移行先の論理ボリュームVOLのボリューム名を入力することによって、データの移行先をその論理ボリュームVOLに指定することができる。
さらにデータ移行先指定欄51の下側には、いくつか用意されたマイグレーションの処理種別(図10の例では「P-Vol only (by 1st type operation)」、「P-Vol only (by 2nd type operation)」など)と、これら各処理種別にそれぞれ対応させてラジオボタン52が表示される。そしてシステム管理者は、これらラジオボタン52を操作することで、所望のマイグレーションの処理種別を1つ選択的に設定することができる。
さらにマイグレーション詳細設定画面50の右下側には、「実行(Execute)」ボタン53及び「キャンセル(Cancel)」ボタン54が表示される。「実行」ボタン53は、記憶システム1にマイグレーションを実行させるためのボタンであり、データ移行先の論理ボリュームVOL及びマイグレーションの処理種別を設定した後にこの「実行」ボタン53をクリックすることによって、この設定した内容のマイグレーション処理を記憶システム1に実行させることができる。なお、「キャンセル」ボタン54は、上述のデータ移行先等の設定の設定内容を破棄して、このマイグレーション詳細設定画面40を管理端末装置3のディスプレイ上から消去させるために用いられる。
図11は、上述のような本実施の形態による記憶システム1のマイグレーション処理に関する一連の処理手順(以下、これを第1のマイグレーション処理手順RT1と呼ぶ)を表すフローチャートである。
管理端末装置3は、上述のファイルシステム管理画面40及びマイグレーション詳細設定画面50を用いて上述のようにマイグレーションの内容が設定され、その後マイグレーション詳細設定画面50の「実行」ボタン53(図10)がクリックされると、データ移行元の運用ボリュームを管理するNASサーバ(以下、これを管理移行元NASサーバと呼ぶ)4に、この設定された内容のマイグレーション処理を実行すべき旨の指示(以下、これをマイグレーション実行指示と呼ぶ)を与える(SP1)。
このマイグレーション実行指示を受信した管理移行元NASサーバ4のCPU11は、マイグレーション管理プログラム22に基づいて、まず、データ移行元の運用ボリュームと、その運用ボリュームについてそのときまでに取得したスナップショットとに対するアクセスを一時保留するようにファイルアクセス管理プログラム21に指示を与える(SP2)。従って、このときこの管理移行元NASサーバ4は、これらの運用ボリュームやスナップショットに対するアクセス要求がクライアント装置2から与えられた場合においても、これに応じたデータ入出力処理を一時的に保留することとなる。なお、ここでいう「一時保留」とは、クライアント装置2からのデータ入出力要求等に対する応答が、後述のように運用ボリューム等へのアクセスが再開されるまでの間、若干遅延するという程度の意味である。
続いて管理移行元NASサーバ4のCPU11は、マイグレーション処理プログラム22に基づいて、運用ボリュームの全データを差分格納ボリュームにコピーすると共に、スナップショット管理プログラム20に基づいて、ブロックコピー管理テーブル24及び使用ブロック管理テーブル25を更新する(SP3)。
具体的にCPU11は、まず差分格納ボリュームの使用ブロック管理テーブル25を参照して、差分格納ボリューム内のそのとき使用されていないブロックを確認する。そしてCPU11は、運用ボリューム内の各ブロックのデータを、差分格納ボリュームにおけるそのとき使用されていないブロック(「使用状態フラグ」フィールド25Bに「0」が格納されたブロック)に順次格納する。またCPU11は、これと並行して、運用ボリューム上のデータを差分格納ボリュームにコピーし終えたブロックについては、使用ブロック管理テーブル25における対応する「使用状態フラグ」フィールド25Bに格納された使用状態フラグを「1」に変更する。
さらに、このときCPU11は、図5(B)に示すように、差分格納ボリュームにコピーした時点の運用ボリュームのデータイメージ(「移行後FS0」)に対応させて、スナップショット管理フィールド(図5(B)の「移行後FS0」のスナップショット管理フィールド)24Eをブロックコピー管理テーブル24に追加する。そしてCPU11は、この追加したスナップショット管理フィールド24E内のすべての「ボリューム」フィールド24Cにそれぞれ「1」を格納すると共に、各「ブロック」フィールド24Dに、運用ボリュームの対応するブロックアドレスのブロックのデータをコピーした差分格納ボリューム上のブロックのアドレスを格納する。
この後、管理移行元NASサーバ4のCPU11は、マイグレーション処理プログラム22に基づいて、運用ボリュームの全データを、図10について上述したマイグレーション詳細設定画面50を用いて設定された移行先の論理ボリュームVOLに、ブロック単位で順次移行する(SP4)。なお、このときのデータの移行は、NASサーバ4を介して第1のネットワーク5経由で行なっても良いし、NASサーバ4を介さずに第2のネットワーク6経由で行なっても良い。
そして管理移行元NASサーバ4のCPU11は、この運用ボリューム内の全データをデータ移行先の論理ボリュームVOLに移行し終えると、これら移行し終えた全データを運用ボリュームVOL内から削除する(SP5)。なお、かかる運用ボリューム内のデータの移行処理を、ステップSP2において運用ボリュームへのアクセスを一時保留する以前から順次行なうようにしても良い。
この後、データ移行先の論理ボリュームVOLを管理するNASサーバ(以下、これを管理移行先NASサーバと呼ぶ)4のCPU11は、ファイルアクセス管理プログラム21に基づいて、自装置内のグローバルネームスペース管理テーブル23を更新する(SP6)。具体的に、CPU11は、図2(B)に示すように、データ移行を行ったファイルシステムのローカルパスのNASサーバ4の装置名の部分を、自装置の装置名に変更(図2(B)の例では、「NAS0」から「NAS1」に変更)する。
また管理移行先NASサーバ4のCPU11は、これと併せて第1のネットワーク5又は第2のネットワーク6を介して管理移行元NASサーバ4を含む他のNASサーバ4にアクセスし、これら他のNASサーバ4内のグローバルネームスペース管理テーブル23を、上述の自装置内のグローバルネームスペース管理テーブル23と同様に変更する。
そして管理移行先NASサーバ4のCPU11は、この後、ファイルアクセス管理プログラム21に基づいて、データ移行が行われた論理ボリュームVOLを運用ボリュームとして、当該運用ボリュームへのアクセスを再開する(SP7)。またこれと併せて、管理移行元NASサーバ4のCPU11は、スナップショット管理プログラム20に基づいて、データ移行が行われるまでに取得したデータ移行元の運用ボリュームのスナップショットに対するアクセスを再開する(SP7)。
なお、管理移行元NASサーバ4のCPU11は、この後、上述のように移行が行われた運用ボリュームの、当該移行前に取得したスナップショットに対する参照要求がクライアント装置2から与えられた場合、まず、ブロックコピー管理テーブル24に基づいて、運用ボリュームの移行が行われているか否かを判断する。具体的に、かかるCPU11は、ブロックコピー管理テーブル24に「移行後FS0」のスナップショット管理フィールド24Eが追加されているか否かを判断し、当該スナップショット管理フィールド24Eが追加されていない場合には、運用ボリュームの移行が行われておらず、当該スナップショット管理フィールド24Eが追加されている場合には、運用ボリュームの移行が行われたと判断することとなる。
この場合、かかる運用ボリュームの移行が行われているため、管理移行元NASサーバ4のCPU11は、この判断において肯定結果を得ることとなる。かくして、このとき管理移行元NASサーバ4のCPU11は、図5(B)について上述した更新後のブロックコピー管理テーブル24を用いて、参照要求があったスナップショットの各ブロックのデータを差分格納ボリュームから読み出してクライアント装置2に送信する。
この際、管理移行元NASサーバ4のCPU11は、ブロックコピー管理テーブル24の対応するスナップショット管理フィールド24Bにおける「ボリューム」フィールド24Cに「0」が格納されているブロックについては、ブロックコピー管理テーブル24における「移行後FS0」のスナップショット管理フィールド24Eの「ブロック」フィールド24Dに格納されたアドレスを参照して、差分格納ボリュームにおけるこのアドレスのブロックからデータを読み出すようにする。
(1−4)本実施の形態の効果
以上のように、本実施の形態による記憶システム1では、第1のNASサーバ4に管理されている運用ボリュームのデータを第2のNASサーバ4に管理されている論理ボリュームに移行させる際に、これと並行して運用ボリュームの全データを、対応する差分格納ボリュームにコピーして運用ボリュームのデータ移行後も保持するようにしているため、差分格納ボリュームに収納されている運用ボリューム及び差分データと、第1のNASサーバ4が保持しているブロックコピー管理テーブル24とに基づいてそれまでに取得したスナップショットを維持することができる。
このように、この記憶システム1では、関連付けられた運用ボリューム及び差分格納ボリュームの各データを常に同一の第1のNASサーバ4によって管理することができ、これら運用ボリューム及び差分格納ボリュームの双方のデータを、常に迅速かつ確実に参照することができるため、運用ボリューム及び差分格納ボリュームの各データの関連付けを、運用ボリュームのデータの移行の前後において継続することができる。
(1−4)他の実施の形態
なお上述の第1の実施の形態においては、運用ボリュームのデータ移行時に当該運用ボリュームの全データを差分格納ボリュームにコピーするようにした場合について述べたが、本発明はこれに限らず、スナップショットの参照に必要な分のデータのみを差分格納ボリュームにコピーするようにしても良い。具体的には、運用ボリュームの各ブロックについて、ブロックコピー管理テーブル24に基づき、そのときにまでに取得されたいずれかのスナップショットの参照の際に使用されるか否か(ブロックコピー管理テーブル24のいずれかのスナップショット管理フィールド24Bの「ボリューム」フィールド24Cに「0」が格納されているか否か)を調査し、いずれかのスナップショットの参照時に使用されるブロックのデータのみ差分格納ボリュームにコピーするようにすれば良い。
また上述の第1の実施の形態においては、運用ボリュームのデータ移行時に当該運用ボリュームの全データを差分格納ボリュームにコピーするようにした場合について述べたが、本発明はこれに限らず、運用ボリュームのデータをそのままその運用ボリューム内に残しておくようにしても良い。この場合、そのまま残す運用ボリュームを読み取り専用のボリュームとして再マウントするようにする。また運用ボリューム内にデータを残す場合にも、上述のようにいずれかのスナップショットの参照時に使用されるブロックのデータのみを運用ボリューム内に残すようにしても良い。
さらに上述の第1の実施の形態においては、運用ボリュームの全データを単に移行先の論理ボリュームVOLに移行させる処理を行うようにした場合について述べたが、本発明はこれに限らず、例えばかかる運用ボリュームのデータを他の論理ボリュームに移行させた後に、このデータの移行先において、その時点のその論理ボリュームのスナップショットを作成し、これを残しておくようにしても良い。
(2)第2の実施の形態
図1において、60は全体として第2の実施の形態による記憶システム60を示す。この記憶システム60は、マイグレーション管理プログラム61の構成が第1の実施の形態のマイグレーション管理プログラム22と異なる点を除いて第1の実施の形態の記憶システム1と同様に構成されている。
実際上、この記憶システム60の場合、図12(A)に示すように、第1のNASサーバ4(「NAS0」)により管理されている第1のストレージ装置7内の運用ボリューム(「ボリューム1−0」)のデータを、第2のNASサーバ4(「NAS1」)により管理されている第2のストレージ装置7内の論理ボリュームVOL(「ボリューム2−0」)に移行させる場合に、図12(B)に示すように、かかる運用ボリュームの全データと、対応する差分格納ボリュームの全データ(全差分データ)とを、それぞれ第2のストレージ装置7内の第1の論理ボリュームVOL(「ボリューム2−0」)及び第2の論理ボリュームVOL(「ボリューム2−1」)に移行させる。またこの記憶システム60では、これと併せて、第1のNASサーバ4が保持するその運用ボリュームについてそれまでに取得した各スナップショットを管理するためのブロックコピー管理テーブル24及び使用ブロック管理テーブル25を、第2のNASサーバ4内のブロックコピー管理テーブル24及び使用ブロック管理テーブル25にコピーする。
これにより、この記憶システム60によれば、第1のNASサーバ4の負荷を分散させながら、それまでに取得した運用ボリュームのスナップショットを第2のNASサーバ4において継続して維持することができる。
図13は、このような第2の実施の形態による記憶システム60のマイグレーション処理に関する一連の処理手順(以下、これを第2のマイグレーション処理手順RT2と呼ぶ)を表すフローチャートである。
この記憶システム60において、マイグレーション処理を行なう場合、まず、図11について上述した第1のマイグレーション処理手順RT1のステップSP1及びステップSP2と同様にして、管理端末装置3から管理移行元NASサーバ4にマイグレーション実行指示が与えられ、このマイグレーション実行指示に基づいて、管理移行元NASサーバ4において、データ移行元の運用ボリュームと、その運用ボリュームについてそのときまでに取得したスナップショットとに対するアクセスが一時保留される。
続いて、管理移行元NASサーバ4のCPU11は、マイグレーション管理プログラム61(図1)に基づいて、自装置内のブロックコピー管理テーブル24及び使用ブロック管理テーブル25のデータを管理移行先NASサーバ4に送信し、これらブロックコピー管理テーブル24及び使用ブロック管理テーブル25を管理移行先NASサーバ4内にブロックコピー管理テーブル24及び使用ブロック管理テーブル25としてコピーさせる(SP12)。
この後、管理移行元NASサーバ4のCPU11は、マイグレーション処理プログラム61に基づいて第1及び第2のストレージ装置7を制御することにより、第1のストレージ装置7内の運用ボリュームの全データを、図10について上述したマイグレーション詳細設定画面50を用いて移行先として設定された第1の論理ボリュームVOLに移行させると共に、第1のストレージ装置7内の差分格納ボリュームの全データ(全差分データ)を、かかるマイグレーション詳細設定画面50を用いて移行先として設定された第2の論理ボリュームVOLに移行させる(SP13)。
次いで、管理移行元NASサーバ4のCPU11は、上述した第1のマイグレーション処理手順RT1(図11)のステップSP5及びステップSP6とそれぞれ同様にして、データ移行元の運用ボリュームの全データ及び差分格納ボリュームの全データと、ブロックコピー管理テーブル24及び使用ブロック管理テーブル25とを削除し(SP14)、この後、自装置内及び他のNASサーバ4内のグローバルネームスペース管理テーブル23を更新する(SP15)。
そして管理移行先NASサーバ4のCPU11は、この後、ファイルアクセス管理プログラム21に基づいて、運用ボリュームのデータの移行先である論理ボリュームVOLを新たな運用ボリュームとして、当該運用ボリュームへのアクセスを再開すると共に(SP16)、差分格納ボリュームの移行先である論理ボリュームVOLを新たな差分格納ボリュームとして、当該差分格納ボリュームへのアクセスを再開する(SP16)。
ここで、図14は、かかる第2のマイグレーション処理手順RT2のステップSP13の具体的な処理手順を示したフローチャートである。なお、ここでは運用ボリュームの処理についてのみ記述するが、同種の処理を差分格納ボリュームについても、同時に行っても良い。
管理移行元NASサーバ4のCPU11は、第2のマイグレーション処理手順RT2のステップSP13に進むと、マイグレーション管理プログラム61(図1)に基づいて第1のストレージ装置7を制御することにより、まず、データ移行元の運用ボリューム内のコピーが完了していないブロックのうち、ブロックアドレスが最も小さいブロックからデータを読み出す(SP20)。
続いて、管理移行元NASサーバ4のCPU11は、管理移行先NASサーバ4にアクセスして、データ移行先として設定された論理ボリュームVOL内のブロックであって、データが格納されていないブロック(以下、これを空きブロックと呼ぶ)の中から、ブロックアドレスが最小の空きブロックをデータ移行先のブロック(以下、これをデータ移行先ブロックと呼ぶ)として選択する(SP21)。
次いで、管理移行元NASサーバ4のCPU11は、ステップSP21において選択したデータ移行先ブロックが、不良セクタも含む不具合が生じているブロック(以下、これを不良ブロックと呼ぶ)ではないか否かを判断する(SP22)。
管理移行元NASサーバ4のCPU11は、この判断において否定結果を得ると、データ移行先の論理ボリュームVOLにおけるかかる不良ブロックの次のブロックアドレスのブロックをデータ移行先ブロックとして選択し(SP23)、この後、このようにしてステップSP23において新たに選択したデータ移行先ブロックのブロックアドレスを、不良ブロックのブロックアドレスに置換する。また管理移行元NASサーバ4のCPU11は、これと同様にして、かかるステップSP23において新たに選択したデータ移行先ブロック以降のブロックアドレスを有するブロックについても、1つずつずらす(SP24)。
一方、管理移行元NASサーバ4のCPU11は、ステップSP22の判断において肯定結果を得ると、第1及び第2のストレージ装置7を制御することにより、ステップSP20においてデータ移行元の運用ボリュームから読み出したデータを第2のストレージ装置7に送信させ、これを第2のストレージ装置7内のステップSP21又はステップSP23において選択したデータ移行先ブロックにコピーさせる(SP25)。
そして管理移行元NASサーバ4のCPU11は、この後、データ移行元である運用ボリュームの全ブロックのデータのコピーが終了したか否かを判断し(SP26)、否定結果を得るとステップSP20に戻る。そして、管理移行元NASサーバのCPU11は、この後データ移行元である運用ボリュームの全ブロックのデータのコピーが終了し、ステップSP26において肯定結果を得るまで、同様の処理を繰り返す(SP20〜SP26−SP20)。
そして管理移行元NASサーバ4のCPU11は、やがてステップSP26の判断において肯定結果を得ると、第2のマイグレーション処理手順RT2のステップSP13における処理を終了する。
このようにこの記憶システム60では、運用ボリュームのデータと一緒に対応する差分格納ボリュームのデータを管理移行先NASサーバ4が管理するストレージ装置7内の論理ボリュームに移行させると共に、かかる運用ボリュームについてのスナップショットの管理情報(ブロックコピー管理テーブル24)をも管理移行先NASサーバ4に移行させるようにしているため、運用ボリュームのデータ移行の前後において、当該運用ボリュームのスナップショットを維持することができる。
(3)他の実施の形態
なお上述の第1及び第2の実施の形態においては、外部からの指示に基づいて、第1の論理ボリュームのデータを、他のNASサーバ4に割り当てられたストレージ装置7内のボリュームに移行させるデータ移行部を、NASサーバ4内のCPU11及びマイグレーション管理プログラム25等により構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
本発明は、複数のサーバ装置により複数のファイルシステムを管理する記憶システムや、その他の形態の記憶システムに広く適用することができる。
第1及び第2の実施の形態による記憶システムを示すブロック図である。 (A)及び(B)は、グローバルネームスペース管理テーブルを示す概念図である。 グローバルネームスペースを示す概念図である。 ローカルネームスペースを示す概念図である。 (A)及び(B)は、ブロックコピー管理テーブルを示す概念図である。 差分スナップショットの説明に供する概念図である。 使用ブロック管理テーブルを示す概念図である。 第1の実施の形態によるマイグレーション処理の概要説明に供するブロック図である。 ファイルシステム管理画面を示す略線図である。 マイグレーション詳細設定画面を示す略線図である。 第1のマイグレーション処理手順を示すフローチャートである。 第2の実施の形態によるマイグレーション処理の概要説明に供するブロック図である。 第2のマイグレーション処理手順を示すフローチャートである。 運用ボリューム及び差分格納ボリュームのデータ移行処理の具体的内容を示したフローチャートである。
符号の説明
1,60……記憶システム、2……クライアント装置、3……管理端末装置、4……NASサーバ、5,6……ネットワークシステム、7……ストレージ装置、11……CPU、12……メモリ、20……スナップショット管理プログラム、21……ファイルアクセス管理プログラム、22,61……マイグレーション管理プログラム、23……グローバルネームスペース管理テーブル、24……ブロックコピー管理テーブル、25……使用ブロック管理テーブル、VOL……論理ボリューム。

Claims (9)

  1. 複数のサーバ装置を有し、各前記サーバ装置がそれぞれ自装置に割り当てられたストレージ装置内のボリュームを管理する記憶システムにおいて、
    各前記サーバ装置は、
    複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、
    を備え、
    前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームである第1のボリューム及び前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームである第2のボリュームからなり、
    前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、
    前記データ移行部のCPUは、
    前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留し、続いて前記マイグレーション管理プログラムに基づいて、前記第1のボリュームのデータを前記他のサーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させる際に、前記第1のボリュームのデータを前記第2のボリュームにコピーして前記他のサーバ装置の前記ストレージ装置へのデータの移行後も当該データ及び前記管理情報を自装置に割り当てられた前記ストレージ装置内に保持するとともに、前記スナップショット管理プログラムに基づいて、前記ブロック管理テーブルにおける前記管理情報を更新し、その後、前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開する
    ことを特徴とする記憶システム。
  2. 複数のサーバ装置を有し、各前記サーバ装置がそれぞれ自装置に割り当てられたストレージ装置内のボリュームを管理する記憶システムにおいて、
    各前記サーバ装置は、
    複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、
    を備え、
    前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームである第1のボリューム及び前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームである第2のボリュームからなり、
    前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、
    前記データ移行部のCPUは、
    前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留し、続いて前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第2のボリュームのデータを前記第1のボリュームのデータ及び前記管理情報と共に当該他のサーバに割り当てられた前記ストレージ装置内のボリユームに移行させ、その後、自装置に割り当てられた前記ストレージ装置内の前記ボリュームのデータ及び前記ブロック管理テーブルにおける前記管理情報を消去して当該ボリュームを更新し、その後、前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開する
    ことを特徴とする記憶システム。
  3. 前記データ移行部は、
    前記第1のボリュームのデータを前記第2のボリュームにコピーする際に、スナップショットの参照に必要なデータのみをコピーする
    ことを特徴とする請求項に記載の記憶システム。
  4. 複数のサーバ装置を有し、各前記サーバ装置がそれぞれ自装置に割り当てられたストレージ装置内のボリュームを管理する記憶システムのデータ移行方法において、
    各前記サーバ装置は、
    複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、を備え、
    前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームである第1のボリューム及び前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームである第2のボリュームからなり、
    前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、
    各前記サーバ装置がそれぞれ自装置に割り当てられた前記ストレージ装置内のボリュームを管理する第1のステップと、
    前記サーバ装置が、外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留する第2のステップと、
    前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームのデータを他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させると共に、当該移行の際に、前記第1のボリュームのデータを前記第2のボリュームにコピーして前記第1のボリュームのデータの移行後も当該データ及び前記管理情報を自装置に割り当てられた前記ストレージ装置内に保持するのステップと
    自装置に割り当てられた前記ストレージ装置内の前記ボリュームの前記スナップショット管理プログラムに基づいて、前記ブロック管理テーブルにおける前記管理情報を更新する第4のステップと、
    前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開する第5のステップと、
    を備えることを特徴とするデータ移行方法。
  5. 複数のサーバ装置を有し、各前記サーバ装置がそれぞれ自装置に割り当てられたストレージ装置内のボリュームを管理する記憶システムのデータ移行方法において、
    各前記サーバ装置は、
    複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、を備え、
    前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームである第1のボリューム及び前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームである第2のボリュームからなり、
    前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、
    各前記サーバ装置がそれぞれ自装置に割り当てられた前記ストレージ装置内のボリュー
    ムを管理する第1のステップと、
    前記サーバ装置が、外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留する第2のステップと、
    前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第2のボリュームのデータを、前記第1のボリュームのデータ及び前記管理情報と共に前記他のサーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させる第3のステップと
    自装置に割り当てられた前記ストレージ装置内の前記ボリュームのデータ及び前記管理情報を消去して当該ボリュームを更新する第4のステップと、
    前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開する第5のステップと、

    を備えることを特徴とするデータ移行方法。
  6. 前記第3のステップでは、
    前記第1のボリュームのデータを前記第2のボリュームにコピーする際に、スナップショットの参照に必要なデータのみをコピーする
    ことを特徴とする請求項に記載のデータ移行方法。
  7. 割り当てられたストレージ装置内の関連する第1及び第2のボリュームを管理するサーバ装置において、
    複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記第1のボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、を備え、
    前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームであり、第2のボリュームは、前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームであり、
    前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、
    前記データ移行部のCPUは、
    前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留し、続いて前記マイグレーション管理プログラムに基づいて、前記第1のボリュームのデータを前記他のサーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させる際に、前記第1のボリュームのデータを前記第2のボリュームにコピーして前記他のサーバ装置の前記ストレージ装置へのデータの移行後も当該データ及び前記管理情報を自装置に割り当てられた前記ストレージ装置内に保持するとともに、前記スナップショット管理プログラムに基づいて、前記ブロック管理テーブルにおける前記管理情報を更新し、その後、前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開する
    ことを特徴とするサーバ装置。
  8. 割り当てられたストレージ装置内の第1及び第2のボリュームを管理するサーバ装置において、
    複数世代のスナップショットを管理するスナップショット管理プログラム、マイグレーション管理プログラムを含む制御プログラムと、スナップショットのグローバルパスが格納されるグローバルパスフィールド及びローカルパスが格納されるローカルパスフィールドを有するグローバルネームスペース管理テーブル、複数世代のスナップショットについてそれぞれ各ブロックデータの保存位置を管理するブロックコピー管理テーブルを含む管理テーブルと、が格納されたメモリ、CPU及び外部からのマイグレーション指示を受信して前記マイグレーション管理プログラムに基づいて、前記第1のボリュームのデータを、他の前記サーバ装置に割り当てられた前記ストレージ装置内のボリュームに移行させるデータ移行部と、を備え、
    前記ストレージ装置内のボリュームは、ユーザが使用する運用ボリュームであり、第2のボリュームは、前記第1のボリュームのスナップショットと現在の前記第1のボリュームの内容との差分のデータを格納する差分格納ボリュームであり、
    前記ブロック管理テーブルは、前記第1のボリュームと第2のボリュームを関連付けるスナップショットの管理情報が保持されており、
    前記データ移行部のCPUは、
    前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第1のボリュームと該第1のボリュームについてそのときまでに取得したスナップショットに対するクライアントからのアクセスを一時保留し、続いて前記マイグレーション管理プログラムに基づいて、前記ボリュームのうちの前記第2のボリュームのデータを前記第1のボリュームのデータ及び前記管理情報と共に当該他のサーバに割り当てられた前記ストレージ装置内のボリユームに移行させ、その後、自装置に割り当てられた前記ストレージ装置内の前記ボリュームのデータ及び前記ブロック管理テーブルにおける前記管理情報を消去して当該ボリュームを更新し、その後、前記マイグレーション管理プログラムに基づいて、データ移行が行われるまでに取得した前記第1のボリュームのスナップショットに対するクライアントからのアクセスを再開する
    ことを特徴とするサーバ装置。
  9. 前記データ移行部は、
    前記第1のボリュームのデータを前記第2のボリュームにコピーする際に、スナップショットの参照に必要なデータのみをコピーする
    ことを特徴とする請求項に記載のサーバ装置。
JP2006070210A 2006-03-15 2006-03-15 記憶システム及びデータ移行方法並びにサーバ装置 Expired - Fee Related JP4903461B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006070210A JP4903461B2 (ja) 2006-03-15 2006-03-15 記憶システム及びデータ移行方法並びにサーバ装置
US11/410,573 US20070220071A1 (en) 2006-03-15 2006-04-24 Storage system, data migration method and server apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006070210A JP4903461B2 (ja) 2006-03-15 2006-03-15 記憶システム及びデータ移行方法並びにサーバ装置

Publications (2)

Publication Number Publication Date
JP2007249452A JP2007249452A (ja) 2007-09-27
JP4903461B2 true JP4903461B2 (ja) 2012-03-28

Family

ID=38519214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006070210A Expired - Fee Related JP4903461B2 (ja) 2006-03-15 2006-03-15 記憶システム及びデータ移行方法並びにサーバ装置

Country Status (2)

Country Link
US (1) US20070220071A1 (ja)
JP (1) JP4903461B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8387038B2 (en) * 2006-08-14 2013-02-26 Caterpillar Inc. Method and system for automatic computer and user migration
US7769843B2 (en) * 2006-09-22 2010-08-03 Hy Performix, Inc. Apparatus and method for capacity planning for data center server consolidation and workload reassignment
JP2008146212A (ja) * 2006-12-07 2008-06-26 Hitachi Ltd 共有ディレクトリの設定情報を変更する方法、及びファイルサーバ装置
JP4931660B2 (ja) * 2007-03-23 2012-05-16 株式会社日立製作所 データ移行処理装置
JP2009217404A (ja) 2008-03-07 2009-09-24 Hitachi Ltd ストレージシステム
WO2010087803A1 (en) * 2009-01-29 2010-08-05 Lsi Corporation Allocate-on-write snapshot mechanism to provide dynamic storage tiering on-line data placement for volumes
JP5317807B2 (ja) 2009-04-13 2013-10-16 株式会社日立製作所 ファイル制御システムおよびそれに用いるファイル制御計算機
US9058119B1 (en) * 2010-01-11 2015-06-16 Netapp, Inc. Efficient data migration
WO2012032569A1 (en) * 2010-09-06 2012-03-15 Hitachi, Ltd. Cluster type storage system and method of controlling the same
US8924675B1 (en) * 2010-09-24 2014-12-30 Emc Corporation Selective migration of physical data
WO2014112062A1 (ja) * 2013-01-17 2014-07-24 株式会社 日立製作所 ストレージ装置及びデータ移行方法
US9026502B2 (en) * 2013-06-25 2015-05-05 Sap Se Feedback optimized checks for database migration
CN103761159B (zh) * 2014-01-23 2017-05-24 天津中科蓝鲸信息技术有限公司 增量快照处理的方法及系统
WO2015132946A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP6609918B2 (ja) * 2014-12-17 2019-11-27 富士通株式会社 ストレージシステム、ストレージ管理装置およびストレージ管理プログラム
US10078555B1 (en) 2015-04-14 2018-09-18 EMC IP Holding Company LLC Synthetic full backups for incremental file backups
US9996429B1 (en) * 2015-04-14 2018-06-12 EMC IP Holding Company LLC Mountable container backups for files
US9946603B1 (en) 2015-04-14 2018-04-17 EMC IP Holding Company LLC Mountable container for incremental file backups
US10061660B1 (en) 2015-10-27 2018-08-28 EMC IP Holding Company LLC Cross-platform instant granular recovery for virtual machine backups
US10394482B2 (en) * 2016-04-14 2019-08-27 Seagate Technology Llc Snap tree arbitrary replication
US11947799B1 (en) 2019-10-11 2024-04-02 Amzetta Technologies, Llc Systems and methods for using the TRIM command with solid state devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185576A (ja) * 1997-09-04 1999-03-30 Hitachi Ltd データ移行方法および情報処理システム
US6145066A (en) * 1997-11-14 2000-11-07 Amdahl Corporation Computer system with transparent data migration between storage volumes
US6671773B2 (en) * 2000-12-07 2003-12-30 Spinnaker Networks, Llc Method and system for responding to file system requests
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
US7747576B2 (en) * 2002-02-20 2010-06-29 International Business Machines Corporation Incremental update control for remote copy
JP4292882B2 (ja) * 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP4301849B2 (ja) * 2003-03-31 2009-07-22 株式会社日立製作所 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
JP3953986B2 (ja) * 2003-06-27 2007-08-08 株式会社日立製作所 ストレージ装置、及びストレージ装置の制御方法
JP2005031716A (ja) * 2003-07-07 2005-02-03 Hitachi Ltd データバックアップの方法及び装置
JP4225206B2 (ja) * 2004-01-23 2009-02-18 日本電気株式会社 記憶装置の複製データ格納システムと複製データ格納プログラム
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7039662B2 (en) * 2004-02-24 2006-05-02 Hitachi, Ltd. Method and apparatus of media management on disk-subsystem
JP4454342B2 (ja) * 2004-03-02 2010-04-21 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP4662117B2 (ja) * 2004-03-05 2011-03-30 株式会社日立製作所 ストレージシステム
JP4456909B2 (ja) * 2004-03-29 2010-04-28 株式会社日立製作所 バックアップ方法、ストレージシステム及びそのプログラム
JP2006189976A (ja) * 2004-12-28 2006-07-20 Fujitsu Ltd 記憶装置、そのデータ処理方法、そのデータ処理プログラム及びデータ処理システム
US7310715B2 (en) * 2005-01-12 2007-12-18 International Business Machines Corporation Method, apparatus, and computer program product for using an array of high performance storage drives included in a storage array to reduce accessing of an array of lower performance storage drives included in the storage array
JP4795787B2 (ja) * 2005-12-09 2011-10-19 株式会社日立製作所 ストレージシステム、nasサーバ、及びスナップショット方法

Also Published As

Publication number Publication date
US20070220071A1 (en) 2007-09-20
JP2007249452A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4903461B2 (ja) 記憶システム及びデータ移行方法並びにサーバ装置
JP5205164B2 (ja) ファイルシステム管理装置及び方法
JP5775177B2 (ja) クローンファイル作成方法と、それを用いたファイルシステム
US9645943B2 (en) Storage arrangement and method using a plurality of storage spaces which have separate control layers and separate mapping structures
US8448167B2 (en) Storage system, and remote copy control method therefor
US7558916B2 (en) Storage system, data processing method and storage apparatus
JP5461216B2 (ja) 論理ボリューム管理の為の方法と装置
JP5137476B2 (ja) 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法
JP5603941B2 (ja) 計算機システム及びデータ移行方法
JP5172574B2 (ja) アプリケーションデータのバックアップ構成構築に用いる管理計算機
US7424497B1 (en) Technique for accelerating the creation of a point in time prepresentation of a virtual file system
JP5984151B2 (ja) データの復旧方法、プログラムおよびデータ処理システム
US9026753B2 (en) Snapshot volume generational management for snapshot copy operations using differential data
JP2007226347A (ja) 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
WO2012042555A1 (ja) 計算機システム及びその管理方法
JP2004342050A (ja) 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP2009205333A (ja) 計算機システム、ストレージ装置及びデータ管理方法
JP2013011919A (ja) ストレージ装置及びそのスナップショット制御方法
US20080270698A1 (en) Data migration including operation environment information of a host computer
JP2020502635A (ja) 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法
JP2007226325A (ja) 計算機システム、管理計算機及び記憶領域の管理方法
US20060221721A1 (en) Computer system, storage device and computer software and data migration method
JP6227771B2 (ja) 論理ボリュームを管理するためのシステム及び方法
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP2010079624A (ja) 計算機システム及びストレージシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees