JP2013161383A - Information processing device, information processing method, program and information processing system - Google Patents
Information processing device, information processing method, program and information processing system Download PDFInfo
- Publication number
- JP2013161383A JP2013161383A JP2012024652A JP2012024652A JP2013161383A JP 2013161383 A JP2013161383 A JP 2013161383A JP 2012024652 A JP2012024652 A JP 2012024652A JP 2012024652 A JP2012024652 A JP 2012024652A JP 2013161383 A JP2013161383 A JP 2013161383A
- Authority
- JP
- Japan
- Prior art keywords
- file
- virtual
- address
- storage area
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ファイルベースで操作性よくデータを取り扱うことが可能となるストレージシステムを実現するための情報処理装置、情報処理方法、プログラム及び情報処理システムを提供すること。
【解決手段】本技術の一形態に係る情報処理装置は、取得部と、保持部と、送信部とを具備する。前記取得部は、所定のアドレスにファイルが記憶される記憶領域を有する記憶装置の、前記ファイルが記憶される前記記憶領域上のアドレスである実アドレスを取得する。前記保持部は、前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持する。前記送信部は、前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する。
【選択図】図2To provide an information processing apparatus, an information processing method, a program, and an information processing system for realizing a storage system capable of handling data with good operability on a file basis.
An information processing apparatus according to an aspect of the present technology includes an acquisition unit, a holding unit, and a transmission unit. The acquisition unit acquires a real address, which is an address on the storage area where the file is stored, of a storage device having a storage area where the file is stored at a predetermined address. The holding unit holds a virtual storage area that is a virtual storage area corresponding to a real address on the storage area and having a virtual address that is a virtual address of a file stored at the real address. In response to an access request to the virtual address on the virtual storage area, the transmission unit transmits the real address corresponding to the virtual address that is the target of the access request.
[Selection] Figure 2
Description
本技術は、ストレージシステムを実現するための情報処理装置、情報処理方法、プログラム及び情報処理システムに関する。 The present technology relates to an information processing apparatus, an information processing method, a program, and an information processing system for realizing a storage system.
従来、例えばSAN(Storage Area Network)等のネットワークに接続された複数のストレージを有するストレージシステムが知られている。このようなストレージシステムでは、例えばデータを処理する計算機システムに対して、複数のストレージを仮想的に1つに見せるストレージ仮想化技術が用いられる。特許文献1には、そのようなストレージ仮想化技術に関する種々の方式が記載されている(例えば特許文献1の段落[0007]−[0010]等参照)。 Conventionally, a storage system having a plurality of storages connected to a network such as a SAN (Storage Area Network) is known. In such a storage system, for example, a storage virtualization technology that virtually displays a plurality of storages for a computer system that processes data is used. Patent Document 1 describes various methods related to such storage virtualization technology (see, for example, paragraphs [0007] to [0010] of Patent Document 1).
上記したようなストレージシステムにより種々のデータが記憶される。近年では、例えばカメラ等で撮影された動画コンテンツ等のデータが、ファイルベースで取り扱われることが多くなっている。従って、このようなコンテンツデータ等をファイルベースで操作性よく取り扱うことが可能なストレージシステムが求められる。 Various data are stored by the storage system as described above. In recent years, for example, data such as moving image content shot by a camera or the like is often handled on a file basis. Therefore, there is a need for a storage system that can handle such content data and the like on a file basis with good operability.
以上のような事情に鑑み、本技術の目的は、ファイルベースで操作性よくデータを取り扱うことが可能となるストレージシステムを実現するための情報処理装置、情報処理方法、プログラム及び情報処理システムを提供することにある。 In view of the circumstances as described above, an object of the present technology is to provide an information processing apparatus, an information processing method, a program, and an information processing system for realizing a storage system that can handle data with good operability on a file basis. There is to do.
上記目的を達成するため、本技術の一形態に係る情報処理装置は、取得部と、保持部と、送信部とを具備する。
前記取得部は、所定のアドレスにファイルが記憶される記憶領域を有する記憶装置の、前記ファイルが記憶される前記記憶領域上のアドレスである実アドレスを取得する。
前記保持部は、前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持する。
前記送信部は、前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する。
In order to achieve the above object, an information processing apparatus according to an embodiment of the present technology includes an acquisition unit, a holding unit, and a transmission unit.
The acquisition unit acquires a real address, which is an address on the storage area where the file is stored, of a storage device having a storage area where the file is stored at a predetermined address.
The holding unit holds a virtual storage area that is a virtual storage area corresponding to a real address on the storage area and having a virtual address that is a virtual address of a file stored at the real address.
In response to an access request to the virtual address on the virtual storage area, the transmission unit transmits the real address corresponding to the virtual address that is the target of the access request.
この情報処理装置では、記憶装置に記憶されるファイルの実アドレスが取得される。また実アドレスに対応する仮想アドレスを有する仮想記憶領域が保持される。仮想アドレスへのアクセス要求があった場合には、当該アクセス要求に応じて仮想アドレスに対応する実アドレスが送信される。これにより実アドレスを用いたアクセス要求を記憶装置に対して行うことが可能となる。この結果、ファイルベースで操作性よくデータを取り扱うことが可能となるストレージシステムを実現することができる。 In this information processing apparatus, the real address of the file stored in the storage device is acquired. A virtual storage area having a virtual address corresponding to the real address is held. When there is an access request to the virtual address, a real address corresponding to the virtual address is transmitted in response to the access request. This makes it possible to make an access request using a real address to the storage device. As a result, it is possible to realize a storage system that can handle data with good operability on a file basis.
前記取得部は、1以上の記憶装置の各記憶領域において実アドレスを取得してもよい。この場合、前記仮想記憶領域は、前記各記憶領域において取得された実アドレスにそれぞれ対応する前記仮想アドレスを有してもよい。
これにより複数の記憶装置の各記憶領域を仮想的に1つに見せることが可能となる。この結果、操作性のよいストレージシステムが実現される。
The acquisition unit may acquire a real address in each storage area of one or more storage devices. In this case, the virtual storage area may have the virtual addresses respectively corresponding to the real addresses acquired in the storage areas.
As a result, each storage area of a plurality of storage devices can be virtually seen as one. As a result, a storage system with good operability is realized.
前記記憶領域は、複数の階層を有してもよい。この場合、前記実アドレスは、前記複数の階層のうち前記ファイルが記憶される階層の情報を含んでもよい。
これにより、ファイルが記憶される階層の情報をもとにしたアクセス要求を記憶装置に対して行うことが可能となる。
The storage area may have a plurality of hierarchies. In this case, the real address may include information on a hierarchy in which the file is stored among the plurality of hierarchies.
This makes it possible to make an access request to the storage device based on the hierarchy information in which the file is stored.
前記仮想記憶領域は、第1の記憶装置に記憶された第1のファイルの第1の実アドレスに対応する第1の仮想アドレスを、前記第1の記憶装置とは異なる第2の記憶装置に記憶された前記第1のファイルの複製である第2のファイルの第2の実アドレスに対応する第2の仮想アドレスとして共通して有してもよい。 The virtual storage area stores a first virtual address corresponding to the first real address of the first file stored in the first storage device in a second storage device different from the first storage device. You may have in common as a 2nd virtual address corresponding to the 2nd real address of the 2nd file which is a copy of the said 1st file memorize | stored.
例えば記憶されるファイルの冗長化を目的として、第1の記憶装置に記憶された第1のファイルの複製である第2のファイルが、第2の記憶装置に記憶される。このような場合に、第1及び第2の実アドレスにそれぞれ対応する仮想アドレスとして、同じものが共通して用いられてもよい。 For example, for the purpose of redundancy of stored files, a second file that is a copy of the first file stored in the first storage device is stored in the second storage device. In such a case, the same address may be used in common as a virtual address corresponding to each of the first and second real addresses.
前記情報処理装置は、前記第1の仮想アドレスへのアクセス要求がリードアクセスかライトアクセスかを判定する第1の判定部をさらに具備してもよい。この場合、前記送信部は、前記第1の仮想アドレスへのアクセス要求に応じて、前記第1の判定部による判定をもとに、前記第1及び前記第2の実アドレスのうちいずれか1つを送信してもよい。
これによりロードバランスが可能となる。
The information processing apparatus may further include a first determination unit that determines whether an access request to the first virtual address is a read access or a write access. In this case, the transmission unit is one of the first and second real addresses based on the determination by the first determination unit in response to an access request to the first virtual address. May be sent.
This enables load balancing.
前記情報処理装置は、前記第1及び第2の記憶装置のそれぞれの負荷状態を判定する第2の判定部をさらに具備してもよい。この場合、前記送信部は、前記第1の仮想アドレスへのアクセス要求に応じて、前記第2の判定部による判定をもとに、前記第1及び前記第2の実アドレスのうちいずれか1つを送信してもよい。
これによりロードバランスが可能となる。
The information processing apparatus may further include a second determination unit that determines a load state of each of the first and second storage devices. In this case, the transmission unit is one of the first and second real addresses based on the determination by the second determination unit in response to an access request to the first virtual address. May be sent.
This enables load balancing.
本技術の一形態に係る情報処理方法は、所定のアドレスにファイルが記憶される記憶領域を有する記憶装置の、前記ファイルが記憶される前記記憶領域上のアドレスである実アドレスを取得することを含む。
前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域が保持される。
前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスが送信される。
An information processing method according to an aspect of the present technology acquires a real address of a storage device having a storage area where a file is stored at a predetermined address, which is an address on the storage area where the file is stored. Including.
A virtual storage area which is a virtual storage area corresponding to a real address on the storage area and having a virtual address which is a virtual address of a file stored at the real address is held.
In response to an access request to the virtual address on the virtual storage area, the real address corresponding to the virtual address targeted by the access request is transmitted.
本技術の一形態に係るプログラムは、前記情報処理方法をコンピュータに実行させる。 A program according to an embodiment of the present technology causes a computer to execute the information processing method.
本技術の一形態に係る情報処理システムは、記憶装置と、情報処理装置とを具備する。
前記記憶装置は、所定のアドレスにファイルが記憶される記憶領域を有する。
前記情報処理装置は、取得部と、保持部と、送信部とを有する。
前記取得部は、前記記憶装置の、前記ファイルが記憶される前記記憶領域上のアドレスである実アドレスを取得する。
前記保持部は、前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持する。
前記送信部は、前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する。
An information processing system according to an embodiment of the present technology includes a storage device and an information processing device.
The storage device has a storage area in which a file is stored at a predetermined address.
The information processing apparatus includes an acquisition unit, a holding unit, and a transmission unit.
The acquisition unit acquires a real address that is an address on the storage area of the storage device where the file is stored.
The holding unit holds a virtual storage area that is a virtual storage area corresponding to a real address on the storage area and having a virtual address that is a virtual address of a file stored at the real address.
In response to an access request to the virtual address on the virtual storage area, the transmission unit transmits the real address corresponding to the virtual address that is the target of the access request.
以上のように、本技術によれば、ファイルベースで操作性よくデータを取り扱うことが可能となるストレージシステムを実現することができる。 As described above, according to the present technology, it is possible to realize a storage system that can handle data on a file basis with high operability.
以下、本技術に係る実施形態を、図面を参照しながら説明する。 Hereinafter, embodiments according to the present technology will be described with reference to the drawings.
[ストレージシステムの構成]
図1は、本技術の一実施形態に係る情報処理システムとしてのストレージシステムの構成例を示す模式的な図である。
[Storage system configuration]
FIG. 1 is a schematic diagram illustrating a configuration example of a storage system as an information processing system according to an embodiment of the present technology.
ストレージシステム100は、第1の記憶装置10と、第2の記憶装置20と、第1及び第2の記憶装置10及び20のそれぞれの動作を管理する管理装置30とを有する。管理装置30は、本実施形態に係る情報処理装置として機能する。ストレージシステム100に含まれる記憶装置の数は限定されない。
The
以後、ストレージシステム100に含まれる記憶装置をストレージサーバと記載する場合がある。また管理装置30を、ファイルサーバ管理サーバと記載する場合がある。
Hereinafter, a storage device included in the
第1及び第2の記憶装置10及び20と、管理装置30とは、ネットワーク40を通じて相互に接続される。ネットワーク40としては、例えばLAN(Local Area Network)、WAN(Wide Area Network)等が用いられる。ネットワーク40の種類やそれに用いられるプロトコル等は限定されない。例えば第1の記憶装置10と管理装置30とがLANで接続され、これらと第2の記憶装置20とがそれぞれWANで接続されるといった構成も可能である。
The first and
第1及び第2の記憶装置10及び20は、動画コンテンツ等のファイルを記憶する図示しない記憶デバイスをそれぞれ有する。記憶デバイスとしては、例えばSSD(Solid State Drive)、複数のディスクがRAID(Redundant Arrays of Inexpensive Disks)技術により束ねられたRAIDデバイス等が用いられる。又はiSCSI(Internet Small Computer System Interface)イニシエータによりディスクが束ねられたもの等が用いられてもよい。あるいは、HDD(Hard Disk Drive)やテープを用いた記憶デバイス等が用いられてもよい。その他種々の記憶デバイスが用いられてよい。
The first and
これら記憶デバイスは、第1及び第2の記憶装置10及び20に内蔵されてもよい。あるいは第1及び第2の記憶装置10及び20に、外部の記憶デバイスとしてネットワーク等を通じて接続されてもよい。また各記憶デバイスとして、クラスタストレージを構成するものが用いられてもよい。
These storage devices may be incorporated in the first and
第1及び第2の記憶装置10及び20のそれぞれが有する記憶デバイスにより、第1及び第2の記憶装置10及び20のそれぞれにおいて記憶領域が形成される。本実施形態では、記憶領域は、複数の階層を有するディレクトリ構造を有する。動画コンテンツ等のファイルは、記憶領域の所定のディレクトリに格納される。
A storage area is formed in each of the first and
所定のディレクトリに格納されたファイルは、記憶領域上のアドレスである実アドレスで表される。典型的には、実アドレスはパスである(図2の実パス名を参照)。以下、第1及び第2の記憶装置10及び20の各記憶領域の実アドレスとしてのパスを、実ファイルパスと記載する。
A file stored in a predetermined directory is represented by a real address which is an address on a storage area. Typically, the real address is a path (see real path name in FIG. 2). Hereinafter, a path as a real address of each storage area of the first and
実ファイルパスの表記は、限定されない。また各記憶領の実アドレスとしてパス以外のものが用いられてもよい。 The notation of the actual file path is not limited. A real address other than a path may be used as the real address of each storage area.
また管理装置30も、例えばHDD、フラッシュメモリ、その他の固体メモリ等からなる不揮発性の記憶デバイスを有する。
The
第1及び第2の記憶装置10及び20、及び管理装置30としては、例えばPC(Personal Computer)等のコンピュータがそれぞれ用いられる。各装置による情報処理は、コンピュータが有するROM(Read Only Member)等に記憶された等のソフトウェアと、PC等のハードウェア資源との協働により実現される。具体的には、CPU(Central Processing Unit)がROM等に記憶されたソフトウェアを構成するプログラムを、RAM(Random Access Memory)にロードして実行することにより実行される。
As the first and
すなわち図1に示す各装置の機能ブロックやモジュールは、プログラムをもとにCPU等が動作することで実現される。プログラムは、例えば記録媒体を介して各装置にインストールされる。又はグローバルネットワーク等を介してインストールされてもよい。なお各ブロックやモジュールを実現するためにハードウェアが適宜設けられてもよい。 That is, the functional blocks and modules of each device shown in FIG. 1 are realized by the CPU or the like operating based on a program. The program is installed in each device via a recording medium, for example. Alternatively, it may be installed via a global network or the like. Note that hardware may be provided as appropriate to implement each block or module.
本実施形態に係るストレージシステム100に対して、ネットワーク40を通じて接続された外部機器(ホスト)により、種々のファイルアクセスが実行される。外部機器としては、例えばストレージシステム100に映像データや音声データ等の素材データをファイルとして出力する出力装置がある。また、ストレージシステム100から所定のファイルを読み出して編集処理等を実行する編集装置がある。その他、外部機器として、ファイルを取り扱う種々のクライアント装置50があげられる。
Various file accesses are performed on the
ファイルアクセスとしては、例えばファイルを開く(ファイルの作成を含む)、ファイルにデータを書く、ファイルからデータを読む、ファイルのメタデータを変更する、ファイルを閉じる等の様々なアクセスがある。ファイルアクセスの種類は限定されない。 Examples of file access include various accesses such as opening a file (including creation of a file), writing data to the file, reading data from the file, changing the metadata of the file, and closing the file. The type of file access is not limited.
なお本実施形態では、ファイルにデータを書くライトアクセスを、ファイルを開くオープンアクセスを含んで定義する。すなわちライトアクセスは、ライト属性のオープンアクセスにより開かれたファイルにデータを書き込むアクセスを意味する。またファイルに書き込まれたデータを読むリードアクセスも、ファイルを開くオープンアクセスを含んで定義する。すなわちリードアクセスは、リード属性のオープンアクセスにより開かれたファイルからデータを読み出すアクセスを意味する。 In the present embodiment, write access for writing data to a file is defined including open access for opening the file. That is, the write access means an access for writing data to a file opened by the open access with the write attribute. Also, read access to read data written to a file is defined including open access to open the file. That is, the read access means an access for reading data from a file opened by the read attribute open access.
従ってオープンアクセスの属性の判定は、ファイルアクセスがリードアクセスであるかまたはライトアクセスであるかの判定に含まれる。 Therefore, the determination of the open access attribute is included in the determination of whether the file access is a read access or a write access.
本実施形態では仮想環境等を利用することで、クライアント装置50からはストレージシステム100全体が1つのストレージとして認識される。
In this embodiment, the
図1に示すように、管理装置30は、ファイルアクセス受付モジュール31と、ファイルアクセス応答モジュール32と、ファイル管理モジュール33とを有する。また管理装置30は、ファイルサーバ管理モジュール34と、ファイルサーバ障害検知モジュール35と、ミラー管理モジュール36とを有する。
As illustrated in FIG. 1, the
ファイル管理モジュール33は、第1及び第2の記憶装置10及び20の各記憶領域を仮想的に1つに見せるための仮想ボリュームを作成する。仮想ボリュームは、第1及び第2の記憶装置10及び20の各記憶領域に記憶されるファイルの仮想的な記憶領域となる。
The
ファイル管理モジュール33により、第1及び第2の記憶装置10及び20の各記憶領域上の実ファイルパスが取得される。第1及び第2の記憶装置10及び20の各記憶領域において取得された実ファイルパスに対応する仮想アドレスが設定される。仮想アドレスは、各記憶領域にて実ファイルパスに記憶されるファイルの仮想的なアドレスである。
The
本実施形態では、仮想記憶領域は、複数の階層を有するディレクトリ構造を有する。従って、動画コンテンツ等のファイルは、仮想記憶領域の所定のディレクトリに仮想的に記憶されることになる。 In the present embodiment, the virtual storage area has a directory structure having a plurality of hierarchies. Therefore, files such as moving image content are virtually stored in a predetermined directory in the virtual storage area.
仮想的なディレクトリに記憶されたファイルは、典型的にはパスにより表される(図2の仮想パス名を参照)。以下、仮想アドレスとしてのパスを仮想ファイルパスと記載する。なお、仮想ファイルパスの表記は限定されない。また仮想アドレスとしてパス以外のものが用いられてもよい。 A file stored in a virtual directory is typically represented by a path (see the virtual path name in FIG. 2). Hereinafter, a path as a virtual address is referred to as a virtual file path. The notation of the virtual file path is not limited. A virtual address other than the path may be used.
仮想記憶領域は、クライアント装置50に提供される。クライアント装置50は、例えば所定のアプリケーション等を用いて、仮想記憶領域を認識(例えばマウント)し管理する。クライアント装置50は、仮想記憶領域が有する仮想ファイルパスを用いて、仮想記憶領域に仮想的に記憶されるファイルへの種々のファイルアクセスを実行する。
The virtual storage area is provided to the
クライアント装置による仮想ファイルパスを用いたファイルアクセスの実行は、本実施形態において、仮想記憶領域上の仮想アドレスへのアクセス要求を意味する。 Execution of file access using a virtual file path by a client device means an access request to a virtual address in a virtual storage area in the present embodiment.
このように本実施形態では、第1及び第2の記憶装置10及び20の各記憶領域上の実ファイルパスがファイル管理モジュール33により取得される。図2の実パス名に示すように、実ファイルパスは、ファイルが記憶される所定の階層の情報を含む。
As described above, in the present embodiment, the
取得された実ファイルパスに対応して、仮想ファイルパスが設定される。このような仮想ファイルパスを有する、ディレクトリ構造の仮想記憶領域が作成される。仮想記憶領域は、管理装置30の所定の記憶デバイスに記憶される。ファイル管理モジュール33は、本実施形態に係る取得部として機能する。
A virtual file path is set corresponding to the acquired real file path. A virtual storage area having a directory structure having such a virtual file path is created. The virtual storage area is stored in a predetermined storage device of the
またファイル管理モジュール33は、仮想記憶領域の情報であるテーブル200(図2参照)をもとに、第1及び第2の記憶装置10及び20の各記憶領域に記憶されるファイルの、実アドレス及び仮想アドレスを管理する。ファイル管理モジュール33は、テーブル200の更新や変更等の処理も実行する。すなわち本実施形態では、ファイル管理モジュール33により、仮想記憶領域の情報が保持されて管理される。従ってファイル管理モジュール33は、本実施形態に係る保持部としても機能する。
In addition, the
図2は、仮想記憶領域の情報として保持されるデータベースのテーブル例である。図2に示すテーブル200は、仮想ファイルパス名が書かれるカラム(列)210と、実ファイルパスが表す対象の種類を表すカラム220と、実ファイルパス名を表すカラム230及び240とを含む。またテーブル200は、実ファイルパスと仮想ファイルパスとの対応の状態を示すカラム250と、前回アクセスした時間を示すカラム260等を含む。
FIG. 2 is an example of a database table held as virtual storage area information. The table 200 shown in FIG. 2 includes a column (column) 210 in which a virtual file path name is written, a
テーブル200の1番目のレコード(行)270と、上記した各カラムとの交差するフィールドを見てみると、実ファイルパス名1として、第1の記憶装置10であるストレージサーバ1のディレクトリ1が書かれている。また実ファイルパス名2として、第2の記憶装置20であるストレージサーバ2のディレクトリ2が書かれている。これらの実ファイルパスに対応する仮想ファイルパスとして仮想ディレクトリ1がカラム210に書かれている。
Looking at the field where the first record (row) 270 of the table 200 intersects with each of the above-mentioned columns, the directory 1 of the storage server 1 which is the
また、テーブル200の2番目のレコード271について見てみると、実ファイルパス名1として、ストレージサーバ1のディレクトリ1に格納されたファイル1が書かれている。また実ファイルパス名2として、ストレージサーバ2のディレクトリ2に格納されたファイル1が書かれている。これらの実ファイルパスに対応する仮想ファイルパスとして仮想ディレクトリ1に格納された仮想ファイル1が書かれている。
Further, looking at the
同様に、テーブル200の3番目のレコード272について見てみると、実ファイルパス名1として、ストレージサーバ1のディレクトリ1に格納されたファイル2が書かれている。また実ファイルパス名2として、ストレージサーバ2のディレクトリ2に格納されたファイル2が書かれている。これらの実ファイルパスに対応する仮想ファイルパスとして仮想ディレクトリ1に格納された仮想ファイル2が書かれている。
Similarly, when looking at the
テーブル200の4番目以降のレコード(レコード280〜282)には、仮想的なディレクトリ2についての情報が書き込まれる。典型的には、テーブル200には、図2に示すものより多くの情報が書き込まれる。
Information about the virtual directory 2 is written in the fourth and subsequent records (
このように本実施形態では、第1及び第2の記憶装置10及び20の所定のディレクトリ同士に共通の仮想ファイルパスが設定される。また第1及び第2の記憶装置10及び20の所定のファイル同士に共有の仮想ファイルパスが設定される。このことを説明する。
As described above, in this embodiment, a common virtual file path is set between predetermined directories of the first and
本実施形態では、基本的には、アクティブ/パッシブ構成にて第1及び第2の記憶装置10及び20が動作する。すなわち第1及び第2の記憶装置10及び20は、それぞれメインクラスタ及びサブクラスタとして動作する。
In the present embodiment, basically, the first and
従って、本実施形態では、ミラー元である第1の記憶装置10に書き込まれたファイルがミラー元である第2の記憶装置20にミラーリングされる。この結果、第1の記憶装置10に記憶された第1のファイルの複製である第2のファイルが、第2の記憶装置20に記憶される。
Therefore, in the present embodiment, the file written in the
図3は、ストレージシステム100におけるミラーリングの設定情報を示すテーブルである。このようなテーブル300が記憶デバイスに記憶され、図1に示すミラー管理モジュール36により参照される。ミラー管理モジュール36については後述する。
FIG. 3 is a table showing mirroring setting information in the
図3に示すテーブル300のカラム310には、ミラー元となるストレージ名としてファイルサーバ1が書かれる。そして、カラム320に、ファイルサーバ1のディレクトリ1の実ファイルパスが書かれる。カラム330には、ファイルサーバ2のディレクトリ1の実ファイルパスが書かれる。このディレクトリ1は、ファイルサーバ1のディレクトリ1に記憶される第1のファイルの複製である第2のファイルが記憶されるディレクトリである。ミラー先が複数ある場合には、他のカラム340にもミラー先の実ファイルパス名が記載される。カラム350には、設定されたミラーリングの稼動状態が書かれる。
In the
このミラーリングの設定のもと、本実施形態では、第1のファイルの第1の実アドレス(図2に示すカラム220)に対応する第1の仮想アドレス(カラム210)が設定される。本実施形態では、第1の仮想アドレスは、コピーされた第2のファイルの第2の実アドレス(カラム240)に対応する第2の仮想アドレスとして共通して用いられる。すなわち図2に示すカラム210の仮想ファイルパス名は、本実施形態において、第1及び第2の仮想アドレスの両方に相当する。
Based on this mirroring setting, in the present embodiment, a first virtual address (column 210) corresponding to the first real address (
このように、例えば記憶されるファイルの冗長化を目的として、ミラーリングが設定される場合等において、第1及び第2の実アドレスにそれぞれ対応する仮想アドレスとして、同じものが共通して用いられてもよい。 Thus, for example, when mirroring is set for the purpose of redundancy of stored files, the same one is commonly used as the virtual address corresponding to each of the first and second real addresses. Also good.
図2のテーブル200のカラム250に示す実ファイルパスと仮想ファイルパスとの対応の状態について説明する。例えばストレージシステム100に含まれる記憶装置の削除や追加等により、あるいはファイルが格納される実ディレクトリや仮想ディレクトリの変更等により、一時的に仮想ファイルパスと実ファイルパスとの間に不整合が出る場合がある。従って実ファイルパスと仮想ファイルパスとの対応の状態が判定され、その結果がカラム250に書き込まれる。例えばレコード272に示すように、実ファイルパスと仮想ファイルパスとの間に不整合があると判定された場合、リビルド中をあらわす情報が書き込まれる。
A state of correspondence between the real file path and the virtual file path shown in the
テーブル200のカラム260に示す前回アクセスした時間の情報は、例えばファイル管理モジュール33によるテーブル200の参照を省略するか否かの判定に用いられる。例えばクライアント装置50からの仮想ファイルパスへのファイルアクセスが、前回のアクセスから所定の時間以内であったとする。その場合、テーブル200の参照が省略され、前回送信した実ファイルパスが送信される。このような処理を実行することで、管理装置30にかかる負荷を抑えることができる。
Information on the last access time indicated in the
図1に示すファイルアクセス受付モジュール31は、クライアント装置50からのファイルアクセスを受け付ける。具体的には、ファイルアクセスの実行により発行されるI/Oリクエストを受信する。ファイルアクセス受付モジュール31は、受け付けたファイルアクセスの種類に応じて所定の動作を実行する。
The file
ファイルアクセス応答モジュール32は、クライアント装置50からのファイルアクセスに応答した所定のコマンド等をクライアント装置に返す。ファイルアクセス応答モジュール32は、本実施形態に係る送信部として機能する。
The file
ファイルサーバ管理モジュール34は、ストレージシステム100に含まれるファイルサーバを管理する。例えばストレージシステム100へのストレージサーバの追加や、ストレージシステム100からのストレージサーバの削除等が行われるときに、ファイルサーバ管理モジュール34により後述する処理が実行される。
The file
ミラー管理モジュール36は、図3に示すミラーリングの設定情報を示すテーブルをもとに、ストレージシステム100におけるミラーリングの設定を管理する。
The
ファイルサーバ障害検知モジュール35は、ファイルサーバ1(第1の記憶装置10)及びファイルサーバ2(第2の記憶装置20)がそれぞれ正常に動作しているかを検知する。ファイルサーバ障害検知モジュール35は、例えば各ファイルサーバからのハートビートを取るか、障害が発生した時にその障害の通達を受けるか等の手段により障害を検知する。
The file server
次に第1及び第2の記憶装置10及び20の機能的な構成について説明する。図1に示すように、本実施形態では、第1の記憶装置10及び第2の記憶装置20は互いに略等しい構成を有する。従って第1の記憶装置10の構成を代表して説明する。
Next, functional configurations of the first and
第1の記憶装置10は、ファイルシステム11と、IRP(I/O Request Packet)オペレーションモジュール12と、ミラーリングモジュール13と、ファイルアクセス状態通達モジュール14と、障害通達モジュール15とを有する。
The
ファイルシステム11は、第1の記憶装置10の記憶領域に記憶されたファイルの管理を行う。例えばクライアント装置50が有する所定のアプリケーションによりファイルアクセスが実行される。実行されたファイルアクセスが、ファイルシステム11に対するI/Oリクエストとして発行される。I/Oリクエストを受けたファイルシステム11は所定のアクセスを実行する。このアクセスの結果は、IRPオペレーションモジュール12に返される。
The
IRPオペレーションモジュール12は、ファイルシステム11のフィルタドライバとして実装される。IRPオペレーションモジュール12は、ファイルシステム11に送信されたI/Oリクエストをフックして、そのコピーをミラーリングモジュール13と、ファイルアクセス状態通達モジュール14とにそれぞれ送信することが可能である。
The
ミラーリングモジュール13は、ミラーリングを実行する。例えばミラー元である第1の記憶装置10に対してライトアクセスが実行され、第1の記憶装置10の記憶領域へのファイルの書き込みが実行される。書き込みは、I/Oリクエストを受けたファイルシステム11により実行され、そのアクセス結果(以下、第1のアクセス結果と記載する)は、IRPオペレーションモジュール12に返される。
The
ミラーリングモジュールは、書き込み対象のファイルを、ミラー先である第2の記憶装置20に転送する。また本実施形態では、ミラーリングモジュール13により、IRPオペレーションモジュール12から送信されたI/Oリクエストのコピーも送信される。I/Oリクエストのコピーは、第2の記憶装置20のファイルシステム21に転送する。
The mirroring module transfers the file to be written to the
I/Oリクエストのコピーを受信したファイルシステム21は、第2の記憶装置20の記憶領域へのファイルの書き込みを実行する。書き込みの結果は、アクセス結果(以下、第2のアクセス結果と記載する)として、第1の記憶装置10のIRPオペレーションモジュール12に返される。
The
第1及び第2のアクセス結果は、IRPオペレーションモジュール12からミラーリングモジュール13に送信される。そしてミラーリングモジュール13により、第1及び第2のアクセス結果の整合性が判別される。整合性の判別は、例えば第1及び第2のアクセス結果がトランザクションで管理されることで行われる。その他、整合性を判別する任意の方法が採用されてよい。
The first and second access results are transmitted from the
例えば第1及び第2のアクセス結果が、ともに成功又は失敗の場合は、第1の記憶装置へ10のI/Oリクエストの成功又は失敗の結果がクライアント装置50に返される。
For example, if both the first and second access results are success or failure, the success or failure result of the 10 I / O request to the first storage device is returned to the
第1及び第2のアクセスが一方が成功で、他方が失敗であった場合、第1及び第2のアクセス結果の整合性が保たれていない判定され、エラー処理が実行される。エラー処理は、典型的には、管理装置30により実行されるが、第1の記憶装置10により実行されてもよい。
If one of the first and second accesses is successful and the other is unsuccessful, it is determined that the first and second access results are not consistent, and error processing is executed. The error processing is typically executed by the
例えば第1のアクセス結果が成功で、第2のアクセス結果が失敗となった場合、失敗となった第2の記憶装置20へのライトアクセスに関する書き込み先のアドレスがエラーアドレスとして登録される。そして第2の記憶装置20へのライトアクセス及びファイルが再送される。これにより第2の記憶装置20のファイルシステムによる書き込みが再び実行される。なおエラーアドレスとして登録されたアドレスへのリードアクセスは制限される。
For example, when the first access result is successful and the second access result is unsuccessful, the address of the write destination related to the write access to the
第1のアクセス結果が失敗で、第2のアクセス結果が成功となった場合、失敗となった第1の記憶装置10へのライトアクセスに関する書き込み先のアドレスがエラーアドレスとして登録される。そして第2の記憶装置20の記憶領域に書き込まれたファイルが第1の記憶装置10に戻されて、ファイルシステム11によりファイルの書き込みが実行される。
When the first access result is unsuccessful and the second access result is successful, the address of the write destination relating to the write access to the
このように本実施形態では、第1の記憶装置10へのファイルアクセスが第2の記憶装置20に転送され、双方のアクセス結果の整合性が判別される。そして第1及び第2のアクセス結果の整合性が保たれていないと判別された場合に、上記したようなエラー処理が適宜実行される。これによりファイルレベルのミラーリングを用いた高品質なストレージシステム100を実現することが可能となる。
Thus, in the present embodiment, file access to the
またファイルアクセスが転送されることで、ファイルアクセスの排他機構を共有することができ、複数のファイルエントリを1つのファイルエントリと等価に扱うことが可能となる。この結果、例えば複数の記憶装置で管理されている複数のファイルを、透過的に1つのファイルとして扱うことが可能となる。 Further, by transferring file access, it is possible to share a file access exclusion mechanism, and it is possible to handle a plurality of file entries equivalent to one file entry. As a result, for example, a plurality of files managed by a plurality of storage devices can be transparently handled as one file.
つまりはファイルレベルでRAID1と同じようにファイルアクセスの状態まで同期を取ることが可能となる。またミラー先のDisk容量やミラー先の個数を問わない柔軟なシステムを構築することが可能となる。例えば従クラスタとなる第2の記憶装置20に特別なハードウェアやソフトウェアを準備する必要がない。第2の記憶装置20として、例えばNAS(Network Attached Storage)等の周知のディスク装置等が利用可能である。この結果、システム構築を行う上での利便性が高くなる。
In other words, it is possible to synchronize to the file access state at the file level in the same manner as RAID1. Further, it is possible to construct a flexible system regardless of the disk capacity of the mirror destination and the number of mirror destinations. For example, it is not necessary to prepare special hardware or software for the
また、1つの第1の記憶装置10に対して第2の記憶装置20を複数アサインしたり、フォルダ毎に従クラスタを変えたりするなど、柔軟な設定が可能である。また特定のファイルは特定の従クラスタに記録するなど、柔軟な構成のミラーリングが可能となる。
Further, a flexible setting such as assigning a plurality of
さらに、ミラー先に複数の従クラスタが用意されている際には、新規にミラー元にフォルダを作成するとき、ミラー先の残り容量などから、そのフォルダのミラー先を選ぶことも可能になり、負荷分散構成を行うことも可能になる。 In addition, when multiple secondary clusters are prepared at the mirror destination, when creating a new folder at the mirror source, it becomes possible to select the mirror destination of the folder from the remaining capacity of the mirror destination, etc. It is also possible to perform a load balancing configuration.
なお上記したエラー処理は一例であり、エラー処理として他の任意の処理が実行されてよい。 The error processing described above is an example, and any other processing may be executed as the error processing.
図1に示すファイルアクセス状態通達モジュール14は、第1の記憶装置10に対して実行されているファイルアクセスの状態を管理装置30に通達する。ファイルアクセスの状態とは、典型的には、クライアント装置50からのファイルアクセスにともなう、第1の記憶装置10の負荷状態を意味する。
The file access
第1の記憶装置10の負荷状態は、例えばIRPオペレーションモジュール12から送信されるI/Oリクエストやアクセス結果、ミラーリングモジュール13によるアクセス結果の整合性の判別結果、又はエラー処理の実行状態等をもとに判定される。判定された第1の記憶装置10の負荷状態は、管理装置30に送信される。
The load state of the
例えば開かれているファイルの数や、開かれたファイルに書き込まれるデータのバイト数、あるいは開かれたファイルから読み出されるデータのバイト数等の情報が、負荷状態を表す情報として通達されてもよい。 For example, information such as the number of open files, the number of bytes of data written to the opened file, or the number of bytes of data read from the opened file may be notified as information indicating the load state. .
ファイルアクセス状態通達モジュール14から管理装置30への通達は、例えば管理装置30からの通達要求を受信することで行われてもよい。あるいは、所定のタイミングでファイルアクセス状態通達モジュール14から管理装置30へ負荷状態を表す情報が送信されてもよい。
The notification from the file access
上記したように、第1及び第2の記憶装置10及び20は、それぞれメインクラスタ及びサブクラスタとして動作する。従って第1の記憶装置10のファイルアクセス状態通達モジュール14により、第2の記憶装置20のファイルアクセスの状態も管理される。従って、第1の記憶装置10のファイルアクセス状態通達モジュール14から管理装置30へ、第1及び第2の記憶装置10及び20の両方の負荷状態が通達される。
As described above, the first and
なお、第2の記憶装置20の負荷状態は、第2の記憶装置20のファイルアクセス状態通達モジュール24により管理されてもよい。
Note that the load state of the
障害通達モジュール15は、第1の記憶装置10において、ソフトウェア又はハードウェア等に関する障害が発生したときに、その障害の発生を管理装置30に通達する。
The
[ストレージシステムの動作]
図4から図13は、本実施形態のストレージシステム100の動作を説明するための模式な図である。以下では、本実施形態に係る情報処理装置である管理装置30の動作を中心に説明する。
[Storage system operations]
4 to 13 are schematic diagrams for explaining the operation of the
図4は、クライアント装置50が仮想記憶領域の所定のディレクトリを開く際のストレージシステム100の動作を示す模式的な図である。
FIG. 4 is a schematic diagram showing the operation of the
クライアント装置50からのファイルアクセスは、管理装置30に対して実行される。クライアント装置50から管理装置30に、所定の仮想ディレクトリ下のファイルをリストアップする旨のコマンドが発行される(ステップ101)。当該コマンドは、ファイルアクセス受付モジュール31により受け付けられる。
File access from the
ファイルアクセス受付モジュール31は、ファイル管理モジュール33に仮想ディレクトリ下のファイルを問い合わせる(ステップ102)。ファイル管理モジュール33は、仮想記憶領域のデータベースに保存されているテーブル200(図4参照)を参照し、その仮想ディレクトリ下で管理しているファイルのリストを返す。ファイルのリストは、ファイルアクセス応答モジュール32を介してクライアント装置50に送信される(ステップ102)。
The file
クライアント装置50の所定のアプリケーション等により、例えば受信したファイルのリストがディスプレイ等に表示される。これによりクライアント装置50のユーザが仮想ディレクトリ下のファイルを認識することができる。ユーザにより例えば仮想ディレクトリ下の所定のファイルを開く旨の指示がクライアント装置50に入力される。
For example, a list of received files is displayed on a display or the like by a predetermined application of the
このように本実施形態では、クライアント装置50に仮想記憶領域のディレクトリの情報までが提供される。そしてディレクトリを開く旨のコマンドが管理装置30に送信されることで、ディレクトリ下のファイルの情報がクライアント装置50に送信される。しかしながら仮想記憶領域の情報として、ディレクトリ下のファイルの情報も含めてクライアント装置50に提供されてもよい。
As described above, in the present embodiment, the
図5は、クライアント装置50が所定のファイルを開く(オープンアクセス実行)際のストレージシステム100の動作を示す模式的な図である。
FIG. 5 is a schematic diagram illustrating the operation of the
クライアント装置50から管理装置に30に、オープンアクセスのI/Oリクエストが送信される(ステップ201)。I/Oリクエストは、ファイルアクセス受付モジュール31により受け付けられる。ファイルアクセス受付モジュール31からファイル管理モジュール33に、実ファイルパスの問合せが行われる。すなわちオープンアクセスの対象となるファイルの仮想ファイルパスに対応する実ファイルパスが問い合わされる(ステップ202)。
An open access I / O request is transmitted from the
ファイル管理モジュール33は、仮想記憶領域に関するテーブル200を参照して、仮想ファイルパスに対応する実ファイルパスを返す(ステップ203)。実ファイルパスは、ファイルアクセス応答モジュール32を介してクライアント装置50に送信される(ステップ204)。
The
本実施形態では、ファイルアクセス応答モジュール32からクライアント装置50へ、実ファイルパスとともに実パス解析要求が送信される。クライアント装置50では、実ファイルパス及び実パス解析要求をもとに、再解析モジュール51による再解析処理が実行される。この再解析処理により、実ファイルパスをもとにした第1の記憶装置10へのオープンアクセスが実行される(ステップ205)。これにより、第1の記憶装置10の記憶領域にて、実ファイルパスに対応するファイルが開かれる。なお典型的には、再解析処理により、第1の記憶装置10へのファイルアクセスのための新たな実ファイルパスが生成される。しかしこれに限定されない。
In the present embodiment, an actual path analysis request is transmitted together with the actual file path from the file
このように本実施形態では、再解析モジュール51により、実ファイルパスに基づいた第1の記憶装置10へのファイルアクセスが自動的に実行される。再解析モジュール51としては、例えばショートカット等に用いられる名前解決のためのモジュール等が用いられる。例えばWindows(登録商標)ではそのようなモジュールが実装されており、DFS(Distributed File System)クライアントやシンボリックリンクの解決に利用されている。そのようなモジュールを本実施形態に係る再解析モジュール51として利用することも可能である。また、他のOS(Operating System)でも同様なモジュールを入れることで、再解析モジュール51を実現することができる。
As described above, in this embodiment, the
なおクライアント装置50により、上記したような再解析処理が必ずしも実行されなくてもよい。任意のアルゴリズムに基づいて、管理装置30から送信された実ファイルパスをもとに、第1の記憶装置10へのファイルアクセスが実行されればよい。
Note that the reanalysis process as described above does not necessarily have to be executed by the
図5に示すように、クライアント装置50から第1の記憶装置10へのオープンアクセスのI/Oリクエストが、IRPオペレーションモジュール12によりフックされる。I/Oリクエストのコピーが、ミラーリングモジュール13と、ファイルアクセス状態通達モジュール14とにそれぞれ送信される(ステップ206)。ミラーリングモジュール13により、上記で説明したミラーリングが実行される(ステップ207)。またファイルアクセス状態通達モジュール14により、第1の記憶装置10に対して実行されているファイルアクセスの状態が管理装置30に通達される。
As shown in FIG. 5, an
図6は、クライアント装置50がファイルを新規作成する際のストレージシステム100の動作を示す模式的な図である。
FIG. 6 is a schematic diagram showing the operation of the
クライアント装置50から管理装置に30に、オープンアクセス(新規作成)のI/Oリクエストが送信される(ステップ301)。例えば所定の仮想ディレクトリを指定して、ファイルの新規作成のI/Oリクエストが送信されてもよい。仮想ディレクトリの指定がなくてもよい。
An open access (new creation) I / O request is transmitted from the
I/Oリクエストは、ファイルアクセス受付モジュール31により受け付けられる。ファイルアクセス受付モジュール31からファイル管理モジュール33に、ファイルの新規作成の要求が送信される(ステップ302)。
The I / O request is accepted by the file
ファイル管理モジュール33は、自身内に保持するデータベース(図2参照)に新しくレコードを追加する。この際には、ミラー管理モジュール36内にある図3のテーブルに従って、実パス名1及び実パス名2を新規作成する。
The
すなわち図3に示すミラー元パス名をもとに第1の記憶装置10のディレクトリ1又はディレクトリ2内の所定の実ファイルパスを、新規に作成されるファイルの実アドレスとして設定する。またミラー先のパス名1を参照して、第2の記憶装置20のディレクトリ1又はディレクトリ2内の所定の実ファイルパスを、新規に作成されるファイルのコピーの実アドレスとして設定する。設定された実ファイルパスが、テーブル200の実パス名1及び実パス名2のフィールドに追加される。
That is, a predetermined real file path in the directory 1 or the directory 2 of the
ファイル管理モジュール33により新たに設定された実ファイルパスは、ファイルアクセス受付モジュール31に返される(ステップ303)。当該実ファイルパスは、ファイルアクセス応答モジュール32を介してクライアント装置50に送信される(ステップ304)。なお、ファイル管理モジュール33により新たに設定された実ファイルパスのうち、第1の記憶装置10についての実ファイルパスがクライアント装置50に送信されればよい。
The actual file path newly set by the
クライアント装置50では、再解析モジュール51による再解析処理が実行される。そして、管理装置30から送信された実ファイルパスをもとにした、ファイルの新規作成のファイルアクセスが第1の記憶装置10に対して実行される(ステップ305)。ファイルの新規作成のI/Oリクエストのコピーが、IRPオペレーションモジュール12から、ミラーリングモジュール13と、ファイルアクセス状態通達モジュール14とにそれぞれ送信される(ステップ306)。ミラーリングモジュール13により、ミラーリングが実行され(ステップ307)、ファイルアクセス状態通達モジュール14により、ファイルアクセスの状態が管理装置30に通達される。
In the
例えば、ミラー元のファイルサーバとして複数の記憶装置が設定されている場合、その中から、新規なファイルが記憶されるファイルサーバが選択される。その選択の方法として様々な方法が考えられるが、もっとも簡単な実装はラウンドロビンでミラー元の複数の記憶装置に、順番にファイルを作成していく方法である。その他、複数の記憶装置のそれぞれに対するファイルアクセスの状態を見て、負荷の少ない記憶装置にファイルを新規作成するということも可能である。これによりロードバランスを実行することができる。 For example, when a plurality of storage devices are set as mirror source file servers, a file server in which a new file is stored is selected. Various methods can be considered as the selection method, but the simplest implementation is a method of creating files in order in a plurality of mirror source storage devices in a round robin manner. In addition, it is also possible to create a new file in a storage device with a low load by checking the state of file access to each of the plurality of storage devices. As a result, load balancing can be executed.
図7は、クライアント装置50がファイルにデータを書く際のストレージシステム100の動作を示す模式的な図である。
FIG. 7 is a schematic diagram showing the operation of the
例えば図5等に示すような動作によりファイルが開かれた後は、第1の記憶装置10がクライアント装置50からのファイルアクセスに対して所定のファイルサービスを実行する。従って図7に示すように、クライアント装置50により第1の記憶装置10に対してライトアクセスが実行される。
For example, after the file is opened by the operation shown in FIG. 5 and the like, the
ライトアクセスのI/Oリクエストが第1の記憶装置10のファイルシステム11に送信される(ステップ401)。この際、第1の記憶装置10に対してオープンアクセスを実行するために用いられた実ファイルパス(オープンアクセスの際に管理装置30から送信された実ファイルパスをもとにしたパス)が用いられる。
A write access I / O request is transmitted to the
ファイルシステム11により、オープンアクセスにより開かれたファイルにデータが書き込まれる。I/Oリクエストのコピーが、ミラーリングモジュール13と、ファイルアクセス状態通達モジュール14とにそれぞれ送信される(ステップ402)。ミラーリングモジュール13により、ミラーリングが実行される(ステップ403)。これにより、ミラー先の第2の記憶装置20の記憶領域に格納されたファイルにもデータが書き込まれる。
The
なおファイルが開かれた後に実行されるファイルアクセスは、上記したライトアクセスに限られず、クライアント装置50から第1の記憶装置10へ種々のファイルアクセスが実行される。そのようなファイルアクセスとしては、例えば、次に示ようなファイルの削除・名前変更等がある。
The file access executed after the file is opened is not limited to the write access described above, and various file accesses are executed from the
図8は、クライアント装置50がファイルの削除・名前変更等を行う際のストレージシステム100の動作を示す模式的な図である。
FIG. 8 is a schematic diagram showing the operation of the
クライアント装置50により第1の記憶装置10に対してファイルの削除・名前変更等のファイルアクセスが実行される。当該ファイルアクセスのI/Oリクエストが第1の記憶装置10のファイルシステム11に送信される(ステップ501)。
The
I/Oリクエストのコピーが、IRPオペレーションモジュール12から、ミラーリングモジュール13と、ファイルアクセス状態通達モジュール14とにそれぞれ送信される(ステップ502)。ファイルアクセス状態通達モジュール14から管理装置30のファイル管理モジュール33に、ファイルの削除・名前変更等のファイルアクセスが実行された旨が通達される(ステップ503)。
A copy of the I / O request is transmitted from the
ファイル管理モジュール33は、ファイルアクセス状態通達モジュール14からの通達をもとに、自身が保持するデータベース(図2参照)を更新する。更新が完了した旨がファイル管理モジュール33から第1の記憶装置10の例えばファイルアクセス状態通達モジュール14等へ返される。
The
データベースの更新完了の通知が受信されると、ファイルシステム11により、ファイルの削除・名前変更等のアクセスが実行される。ミラーリングモジュール13により、ミラーリングが実行され(ステップ504)、ファイルアクセス状態通達モジュール14により、ファイルアクセスの状態が管理装置30に通達される。
When a notification of completion of database update is received, the
このように本実施形態では、管理装置30のファイル管理モジュール33が保持するデータベースが更新された後に、ファイルシステム11によるアクセスが実行される。これにより、第1及び第2の記憶装置10及び20の各記憶領域に記憶されているファイルと、データベースとの整合性を高く維持することができる。しかしながら、ファイルシステム11によるファイルの削除・名前変更等の後、あるいはそれと並行して、データベースの更新が実行されてもよい。
Thus, in this embodiment, after the database held by the
図9は、クライアント装置50からのオープンアクセスに対して、ロードバランス(負荷分散)を実行するストレージシステム100の動作を示す模式的な図である。
FIG. 9 is a schematic diagram illustrating the operation of the
クライアント装置50から管理装置に30に、オープンアクセスのI/Oリクエストが送信される(ステップ601)。I/Oリクエストは、ファイルアクセス受付モジュール31により受け付けられる。
An open access I / O request is transmitted from the
ファイルアクセス受付モジュール31は、オープンアクセスがWrite属性であるか又はRead属性であるかを判定する。この判定は、例えばオープンアクセスに付与されたフラグを参照することで行われる。オープンアクセスがWrite属性であるか又はRead属性であるかを判定するための方法は限定されない。判定された属性の情報は、ファイルアクセス応答モジュール32に送信される。ファイルアクセス受付モジュール31は、本実施形態に係る第1の判定部として機能する。
The file
ファイルアクセス受付モジュール31からファイル管理モジュール33に、実ファイルパスの問合せが行われる(ステップ602)。ファイル管理モジュール33は、仮想記憶領域のテーブル200を参照して、仮想ファイルパスに対応する実ファイルパスを返す(ステップ603)。実ファイルパスは、ファイルアクセス応答モジュール32に送信される。
An inquiry about the actual file path is made from the file
ファイルアクセス応答モジュール32は、第1の記憶装置10のファイルアクセス状態通達モジュール14に、ファイルアクセス状態の通達を要求する(ステップ604)。これによりファイルアクセス状態通達モジュール14からファイルアクセス応答モジュール32へ、第1及び第2の記憶装置10及び20の両方の負荷状態が通達される。
The file
ファイルアクセス状態の通達要求が送信されるタイミングは、ファイル管理モジュール33からの実ファイルパスを受信した後に限定されない。例えばクライアント装置50からのオープンアクセスが受け付けられたときに、要求の送信が実行されてもよい。あるいは、クライアント装置50からのファイルアクセスの有無にかかわらず、所定のタイミングで定期的に要求が送信されてもよい。ファイルアクセス応答モジュール32は、本実施形態に係る第2の判定部としても機能する。
The timing at which the notification request for the file access status is transmitted is not limited after the actual file path from the
ファイルアクセス応答モジュール32は、オープンアクセスの属性、第1及び第2の記憶装置10及び20のそれぞれの負荷状態をもとに、クライアント装置50へ送信する実ファイルパスを選択する。選択された実ファイルパスはクライアント装置50へ送信される(ステップ605)。
The file
例えばオープンアクセスの属性がライト属性である場合、ミラー元である第1の記憶装置10の記憶領域の実ファイルパスがクライアント装置50に送信される。すなわち図2に示すテーブルの実パス名1のカラム230に書き込まれたパスがクライアント装置50に送信される。
For example, when the open access attribute is the write attribute, the actual file path of the storage area of the
オープンアクセスの属性がリード属性である場合、ミラー元である第1の記憶装置10とミラー先である第2の記憶装置20の負荷状態の情報が参照される。第1の記憶装置10と第2の記憶装置20のうち負荷が少ない方の記憶装置の記憶領域の実パスファイルがクライアント装置50に送信される。
When the open access attribute is the read attribute, the load state information of the
このように本実施形態では、管理装置30が保持する仮想記憶領域の仮想ファイルパスへのファイルアクセスが、リードアクセスかライトアクセスかが判定される。また本実施形態では、第1及び第2の記憶装置10及び20のそれぞれの負荷状態が判定される。これらの判定結果をもとに、仮想ファイルパスへのファイルアクセスに応じて、第1の及び第2の実アドレスのいずれか1つがクライアント装置50に送信される。これによりストレージシステム100においてロードバランスが可能となる。
As described above, in this embodiment, it is determined whether the file access to the virtual file path in the virtual storage area held by the
実ファイルパスを受信したクライアント装置50により、第1の記憶装置10又は第2の記憶装置20に対してオープンアクセスが実行される(ステップ606)。オープンファイルのI/Oリクエストのコピーが、ミラーリングモジュール13と、ファイルアクセス状態通達モジュール14とにそれぞれ送信される(ステップ607)。ミラーリングモジュール13により、ミラーリングが実行され(ステップ608)、ファイルアクセス状態通達モジュール14により、ファイルアクセスの状態が管理装置30に通達される。
The
なお、図9では、第1の記憶装置10に対してオープンアクセスが実行された場合の動作が図示されている。ステップ605にてクライアント装置50に第2の記憶装置20の記憶領域の実ファイルパスが送信された場合、オープンファイルのI/Oリクエストは、第2の記憶装置20のファイルシステム21に送信される。
Note that FIG. 9 illustrates an operation when an open access is executed to the
また本実施形態では、ファイルアクセス受付モジュール31が第1の判定部として機能し、ファイルアクセス応答モジュール32が第2の判定部として機能した。しかしながら例えばファイル管理モジュール33やファイルアクセス応答モジュール32等の他のモジュールが第1の判定部として機能してもよい。またファイルアクセス受付モジュール31やファイル管理モジュール33が第2の判定部として機能してもよい。さらに、第1の判定部として機能するモジュールや第2の判定部として機能するモジュールがそれぞれ独立して設けられてもよい。
In this embodiment, the file
図10は、ストレージサーバとしての記憶装置が新たに追加される際のストレージシステム100の動作を示す模式的な図である。ここでは、図10に示す第3の記憶装置60が、第4の記憶装置70をミラー先とする、ミラー元のストレージサーバとして追加された場合の動作が図示されている。
FIG. 10 is a schematic diagram showing the operation of the
ストレージサーバの追加は、例えば以下のようなケースで行われる。例えばカメラで撮影した映像データを直接ストレージに記録し、そのストレージがストレージシステム100に繋げられるケースが考えられる。また、ストレージシステム100の記憶容量を増やすためにストレージが追加されるケースも考えられる。さらに、近年ではカメラ内部にストレージをもつものもあり、当該カメラ自身がストレージシステム100に繋げられるといったケースもある。その他、例えば不具合が発生したストレージサーバが後に説明する削除処理によりストレージシステム100が削除される。不具合が修正された後当該ストレージサーバが復旧される場合にも、以下に示す追加処理の動作が実行される。その他、種々のケースが考えられる。
For example, the storage server is added in the following case. For example, there may be a case where video data captured by a camera is directly recorded in a storage and the storage is connected to the
所定のUI(User Interface)等を介したクライアント装置50への操作をもとに、クライアント装置50から管理装置30へストレージ追加要求が送信される(ステップ701)。ストレージ追加要求は、管理装置30のファイルサーバ管理モジュール34に送信される。
A storage addition request is transmitted from the
ファイルサーバ管理モジュール34は、追加される第3の記憶装置60に対してミラーリングの設定を行うかどうかを判定する。例えばクライアント装置50からの指示をもとに当該判定が実行される。本実施形態のように、第3の記憶装置60がミラー元のストレージサーバとして用いられる場合には、ファイルサーバ管理モジュール34からミラー管理モジュール36へミラーリングの設定要求が送信される(ステップ702)。
The file
ミラー管理モジュール36は、ミラーリングの設定要求をもとに、ミラーリングの設定情報を更新する。例えば図3に示すテーブルのカラム310に第3の記憶装置60であるストレージサーバ3が追加される。カラム320のミラー元パス名には、第3の記憶装置60の記憶領域の所定のディレクトリが書き込まれる。カラム330のミラー先パス名には、第4の記憶装置70の記憶領域の所定のディレクトリが書き込まれる。
The
ミラー管理モジュール36によるミラーリングの設定情報の更新が完了すると、第3の記憶装置60のミラーリングモジュール63に、ミラーリング設定の要求が送信される(ステップ703)。このミラーリング設定要求は、ミラー管理モジュール36にて更新されたミラーリングの設定情報に基づくものである。ミラーリングモジュール63は、受信したミラーリング設定要求に基づいて、ミラーリングを実行する。
When the update of the mirroring setting information by the
ファイルサーバ管理モジュール34により、第3の記憶装置60に対してミラーリングの設定が不要と判定された場合、ミラー管理モジュール36にミラーリングの設定要求は送信されない。例えばクライアント装置50からミラーリングの設定は不要の旨が送信された場合や、第3の記憶装置60がミラーリング設定不可のストレージサーバであるとき等は、ミラーリングの設定要求は送信されない。
When the file
ファイルサーバ管理モジュール34からファイル管理モジュール33に、ファイルサーバが追加されたことが通知される(ステップ704)。通知を受けたファイル管理モジュール33は、自身が保持する仮想記憶領域のテーブル200を更新する。例えば仮想ディレクトリ名と、第3の記憶装置60の記憶領域の所定のディレクトリと、第4の記憶装置70の記憶領域の所定のディレクトリとを含むレコードが追加される。
The file
本実施形態では、クライアント装置50からのストレージ追加要求を受信することでストレージ追加処理が実行された。例えば管理装置30に、ネットワーク40上へのストレージサーバの新たな接続を検知するモジュールが設けられる。このモジュールによる検知がストレージ追加処理のトリガとされてもよい。
In this embodiment, the storage addition process is executed by receiving a storage addition request from the
図11は、ストレージシステム100からストレージサーバとしての記憶装置が削除される際のストレージシステム100の動作を示す模式的な図である。図11では、ミラー元となる第1の記憶装置10が削除される場合の動作が図示されている。
FIG. 11 is a schematic diagram illustrating an operation of the
クライアント装置50から管理装置30へストレージ削除要求が送信される(ステップ801)。ストレージ削除要求は、管理装置30のファイルサーバ管理モジュール34に送信される。
A storage deletion request is transmitted from the
なお、例えば管理装置30に、ネットワーク40上へのストレージサーバの接続の有無を検知するモジュールが設けられる。このモジュールにより、ネットワーク40への第1の記憶装置10の接続が遮断されたことが検知され、当該検知により以下に示す動作が実行されてもよい。
For example, the
ファイルサーバ管理モジュール34からファイルアクセス応答モジュール32へ、削除される第1の記憶装置10の記憶領域上の実ファイルパスを送信しない旨の指示が出力される(ステップ802)。例えばクライアント装置50から仮想記憶領域の所定のファイルにアクセスがあり、ファイル管理モジュール33から第1の記憶装置10の記憶領域上の実ファイルパスが出力されたとする。このような場合でも、クライアント装置50に第1の記憶装置10へのアクセスの指示が送信されないように、ファイルアクセス応答モジュール32の動作が適宜設定される。
An instruction not to transmit the actual file path on the storage area of the
またファイルサーバ管理モジュール34からミラー管理モジュール36へ、ミラーリングの停止要求が送信される(ステップ803)。ミラー管理モジュール36は、ミラーリングの停止要求をもとに、ミラーリングの設定情報を更新する。例えば図3に示すテーブルから、第1の記憶装置10に関する情報が削除される。
Further, a mirroring stop request is transmitted from the file
ミラー管理モジュール36によるミラーリングの設定情報の更新が完了すると、第1の記憶装置10のミラーリングモジュール13に、ミラーリング停止の要求が送信される(ステップ804)。ミラーリングの停止要求は、現在ミラーリングされているファイルへのアクセスや、ミラーリングされているアクセスが全て終わった後に送信される。
When updating of the mirroring setting information by the
第1の記憶装置10のミラーリングモジュール13は、受信したミラーリング停止要求に基づいてミラーリングの設定を解除する。
The
ファイルサーバ管理モジュール34からファイル管理モジュール33に、ファイルサーバが削除されたことが通知される(ステップ805)。通知を受けたファイル管理モジュール33は、自身が保持する仮想記憶領域のテーブル200を更新する。例えばテーブル200から第1の記憶装置10に関する情報が削除される。
The file
図12は、ファイルサーバに障害が発生した際の、ストレージシステム100の動作を示す模式的な図である。図12では、第2の記憶装置20に障害が発生した場合の動作が図示されている。
FIG. 12 is a schematic diagram showing the operation of the
第2の記憶装置20の障害通達モジュール25により、管理装置30のファイルサーバ障害検知モジュール35に障害発生の通達が送信される(ステップ901)。これにより第2の記憶装置20に障害が発生したことが検知される。なお障害通達モジュール15からファイルサーバ障害検知モジュール35にハートビートが送信されてもよい。ハートビートの受信が停止することにより、第2の記憶装置20の障害が検知されてもよい。
The
ファイルサーバ障害検知モジュールから35ファイルアクセス応答モジュール32へ、第2の記憶装置20に障害が発生した旨が送信される(ステップ902)。例えば第2の記憶装置20の記憶領域上の実ファイルパスをクライアント装置50に送信しない旨の指示が出力される。
The fact that a failure has occurred in the
ファイルサーバ障害検知モジュール35からファイルサーバ管理モジュール34へ、第2の記憶装置20を削除するためのストレージ削除要求が送信される(ステップ903)。ストレージ削除要求を受けたファイルサーバ管理モジュール34により、ミラー管理モジュール36へミラーリングの停止要求が送信される(ステップ904)。
A storage deletion request for deleting the
ミラーリングの停止要求を受けたミラー管理モジュール36により、ミラーリングの設定情報が更新される。当該更新が完了すると、第2の記憶装置20のミラー元となる第1の記憶装置10のミラーリングモジュール13に、ミラーリング停止の要求が送信される(ステップ905)。
The
第1の記憶装置10のミラーリングモジュール13は、受信したミラーリング停止要求に基づいてミラーリングの設定を解除する。なお、ミラーリング停止の要求が第2の記憶装置20のミラーリングモジュール23に送信されてもよい。そしてミラーリングモジュール23により、ミラーリングの設定が解除されてもよい。
The
ファイルサーバ管理モジュール34からファイル管理モジュール33に、第2の記憶装置20に障害が発生した旨が送信される(ステップ906)。通知を受けたファイル管理モジュール33は、自身が保持する仮想記憶領域のテーブル200を更新する。例えばテーブル200から第2の記憶装置20に関する情報が削除される。
The fact that a failure has occurred in the
図13は、ファイルサーバ管理サーバである管理装置30に障害が発生した際の、ストレージシステム100の動作を示す模式的な図である。
FIG. 13 is a schematic diagram illustrating the operation of the
管理装置30のファイルサーバ障害検知モジュール35により、管理装置30に発生した障害が検知される(ステップ1001)。障害の種類や障害の検知方法は限定されない。
The file server
本実施形態では、ファイルサーバ管理サーバは冗長化されており、管理装置30が管理する種々のデータの同期が完全に取られているとする。管理装置30に障害が発生した場合、管理装置30へのアクセスが、同期が取られている他の情報処理装置に飛ばされる。
In the present embodiment, it is assumed that the file server management server is redundant, and various data managed by the
例えば、Microsoft(登録商標)のNLB(Node Load Balancing)の機能を利用することで、あるIPアドレス(Internet Protocol Address)にアクセスすると、障害が発生していないIPアドレスにアクセスを飛ばすことが可能となる。例えばこの機能を利用することでダウンタイムを最低限に抑えることが可能である。その他の情報処理方法が適宜用いられてもよい。 For example, by using a Microsoft (registered trademark) NLB (Node Load Balancing) function, when accessing a certain IP address (Internet Protocol Address), it is possible to skip access to an IP address in which no failure has occurred. Become. For example, it is possible to minimize downtime by using this function. Other information processing methods may be used as appropriate.
以上、本実施形態に係るストレージシステム100では、第1及び第2の記憶装置10及び20に記憶されるファイルの実ファイルパスが取得される。また実ファイルパスに対応する仮想ファイルパスを有する仮想記憶領域が保持される。仮想ファイルパスへのファイルアクセスがあった場合には、当該ファイルアクセスに応じて仮想ファイルパスに対応する実ファイルパスが送信される。これにより実ファイルパスを用いたファイルアクセスを第1又は第2の記憶装置10又は20に対して行うことが可能となる。この結果、ファイルベースで操作性よくデータを取り扱うことが可能となるストレージシステム100を実現することができる。
As described above, in the
また第1及び第2の記憶装置10及び20の各記憶領域を仮想的に1つに見せることが可能となる。この結果、操作性のよいストレージシステム100が実現される。また本実施形態では、ファイルが記憶される階層の情報をもとにしたファイルアクセスを第1又は第2の記憶装置10又は20に対して行うことが可能となる。
In addition, each storage area of the first and
複数の記憶装置を有するストレージシステムにおいて記憶領域を仮想化する手法として、ブロックレベルの仮想化とファイルレベルの仮想化の大きく2つの手法が存在する。ブロックレベルの仮想化としては、例えばSAN等のように各ストレージクラスタがFC(Fibre Channel)やiSCSIなどのプロトコルを用いてブロックデバイスとしてIF(Interface)を公開する手法がある。 There are two main methods for virtualizing storage areas in a storage system having a plurality of storage devices: block level virtualization and file level virtualization. As block-level virtualization, there is a method in which each storage cluster, for example, SAN, discloses an IF (Interface) as a block device using a protocol such as FC (Fibre Channel) or iSCSI.
またストレージのコントローラと、ブロックデバイスとして認識されるストレージクラスタとを利用して、SANが構築される場合もある。この手法では、冗長化はブロックを統合する部分で行われ、例えばRAID1やRAID5を構成することで保たれる。 Further, a SAN may be constructed using a storage controller and a storage cluster recognized as a block device. In this method, redundancy is performed at the part where the blocks are integrated, and is maintained by configuring, for example, RAID1 or RAID5.
近年ではRAID5のような固定的なブロック配置ではなく、この冗長化の部分を独自アルゴリズムで実装する仮想化装置も存在する。しかし、この方法ではホスト1台1台にSANクライアントのソフトウェアのインストールが必要となる。 In recent years, there is also a virtualization apparatus that implements this redundant portion with a unique algorithm, instead of a fixed block arrangement such as RAID5. However, this method requires the installation of SAN client software on each host.
また、ストレージを管理しているSANコントローラに障害が発生した場合には、ストレージのブロックを管理している装置が存在しなくなってしまうため、障害発生中はファイルにアクセスすることができなくなる。また通常は冗長化されているが、災害時にSANコントローラのデータがなくなってしまったり、データに不整合が生じたりすると、データの復旧が難しくなってしまう。 In addition, when a failure occurs in the SAN controller that manages the storage, the device that manages the storage block does not exist, so the file cannot be accessed during the failure. Although normally redundant, if the data of the SAN controller is lost or an inconsistency occurs in the event of a disaster, it becomes difficult to recover the data.
このようなブロックレベルの仮想化に対して、ファイルレベルの仮想化という手法がある。ファイルレベルの仮想化は、複数のファイルサーバに存在するファイルを一つの仮想ディレクトリの下に配置するように見せるような仮想化を行う手法である。 For such block level virtualization, there is a technique called file level virtualization. File-level virtualization is a technique for performing virtualization so that files existing in a plurality of file servers appear to be arranged under one virtual directory.
ファイルレベルの仮想化の方式としては、インバンド、アウトバンドの2方式がある。インバンド方式とは、コントロールとデータアクセスを同じパスで行う方式を指す。アウトオブバンド方式とは、ファイルアクセスのコントロールとデータの送受信を別のパスで行う方式を指す。ファイルレベルの仮想化に関しては一般的にはインバンド方式を採用することが多い。 There are two file-level virtualization methods: in-band and out-band. The in-band method refers to a method in which control and data access are performed using the same path. The out-of-band method refers to a method in which file access control and data transmission / reception are performed through different paths. In general, the in-band method is often used for file level virtualization.
ファイルレベルの仮想化のインバンド方式として、中間装置を挟んでファイルレベルの仮想化を行う方法がある。この方式は中間装置にアクセスが集中するため、中間装置自身の帯域がボトルネックになってしまう。また、ホストが中間装置にアクセスしてから、中間装置が各ファイルサーバにアクセスする形式をとるため、データ送信に二重のステップが存在し、スループットも大きく低下してしまう。 As an in-band method of file level virtualization, there is a method of performing file level virtualization across an intermediate device. In this method, since access is concentrated on the intermediate device, the bandwidth of the intermediate device itself becomes a bottleneck. In addition, since the host accesses the intermediate device and then the intermediate device accesses each file server, there is a double step in data transmission, and the throughput is greatly reduced.
ファイルレベルの仮想化のアウトオブバンド方式として、各ホストにSANクライアントのファイルシステムソフトウェアをインストールし、そのレイヤーで仮想化する方法がある。この方式はSANと一緒で、ホスト一台一台にファイルシステムをインストールするため、管理コストが高くなってしまい、ストレージ管理サーバに障害が発生した際に、データが紛失されてしまうとファイルにアクセスができなくなってしまう。 As an out-of-band method of file level virtualization, there is a method in which SAN client file system software is installed in each host and virtualization is performed at that layer. This method, together with SAN, installs a file system on each host, resulting in higher management costs and access to files if data is lost when a storage management server fails. Will not be able to.
上記したようにSANなどで利用されている既存の方式では、データがブロックベースで管理されており、コントローラのデータが破損した際には二度とデータが復旧できなくなる恐れがある。かつホストにソフトウェアを入れて管理コストを上げてしまう点が課題としてあげられる。NASヘッドのような中間装置を介して全てのストレージにアクセスする方式では、ストレージの管理と設計は楽だが、帯域を下げてしまうという課題が残ってしまう。 As described above, in the existing method used in SAN or the like, data is managed on a block basis, and when the data in the controller is damaged, there is a possibility that the data cannot be recovered again. Another problem is that it increases the management cost by putting software in the host. In a method of accessing all storage via an intermediate device such as a NAS head, storage management and design are easy, but the problem of reducing the bandwidth remains.
一方、近年ではカメラの映像データを直接ストレージにファイルとして保存できるデバイスが増えてきている。近年のITの進化により、放送局がテープベースのワークフローから、ファイルベースのワークフローへと移行してきているという時代の流れがある。従来のシステムではデータがブロックベースで管理されているものが多い。従ってカメラの映像データが記憶されたストレージをストレージシステムに繋いでも利用することができず、セントラルストレージにファイルをコピーしてはじめて編集者達は利用できるようになっていた。 On the other hand, in recent years, an increasing number of devices can store camera video data directly as a file in a storage. With the recent evolution of IT, there is an era in which broadcasting stations are shifting from tape-based workflows to file-based workflows. Many conventional systems manage data on a block basis. Therefore, the storage in which the video data of the camera is stored cannot be used even if it is connected to the storage system, and the editors can use it only after copying the file to the central storage.
また映像データ等はデータ容量が非常に多いため、USBHDDやNASなどにデータを入れて素材をスニーカーネットするケースも多い。このようなケースにもファイルコピーなしで、そのストレージをファイルサーバクラスタの一員として利用することも求められる。またホストが、ストレージから直接データを読み出して十分な帯域でアクセスすることが可能であることも求められる。またファイルレベルの仮想化が実現されれば、無駄なファイルコピーの回数を減らすことができる。 In addition, since video data has a very large data capacity, there are many cases in which data is put into a USB HDD or NAS to sneaker the material. In such a case, it is also required to use the storage as a member of a file server cluster without file copy. It is also required that the host can read data directly from the storage and access it with a sufficient bandwidth. Also, if file-level virtualization is realized, the number of unnecessary file copies can be reduced.
ファイルレベルの仮想化の例として、例えば、Microsoft DFSを利用してグローバルネームスペースの解決を行うことで、ファイルのアクセス先を変える方法が考えられる。この方法は限定された条件のもとで機能する。例えばネームスペースの分岐、例えばDir1/File1とか、Dir1/File2というように2つのファイルを、別々のファイルサーバに保存するといったことが難しい。 As an example of file level virtualization, for example, there is a method of changing the access destination of a file by resolving the global namespace using Microsoft DFS. This method works under limited conditions. For example, it is difficult to store two files on different file servers, such as a branch of a namespace, for example, Dir1 / File1 or Dir1 / File2.
Windows (登録商標)DFSではロードバランスを指定することができるが、ファイルサーバ1にDir1/File1を保存した直後に、Dir1をアクセスすると、別のファイルサーバ2のDir1に飛ばされて書き込んだFile1が存在しないケースも存在する。この問題はディレクトリのサービスを、各ファイルサーバが提供していることに問題が起因すると考えられる。 In Windows (registered trademark) DFS, load balance can be specified, but when Dir1 is accessed immediately after Dir1 / File1 is stored in the file server 1, File1 written by being skipped to Dir1 of another file server 2 is written. There are cases that do not exist. This problem can be attributed to the fact that each file server provides a directory service.
本技術の実施形態で説明したストレージシステム100では、アウトオブバンドでファイルレベルの仮想化を実現することが可能となる。すなわちストレージシステム100では、アウトオブバンドで、ファイルサーバのクラスタを一つの仮想ストレージとして見せることが可能である。
In the
その結果、クライアント装置50からのアクセスの高速化を実現することができる。また複雑な処理を要することなくロードバランスを実行することが可能となる。またストレージサーバの削除や追加等を、簡単な処理で、ミラーリング等の整合性を保ちつつ高速に実現することが可能となる。
As a result, speeding up of access from the
またストレージシステム100にアクセスするクライアント装置50に所定のソフトウェアをインストールする必要がなく管理コストを抑えることができる。また図8に示す削除処理及び図10に示す追加処理を実行することで、ストレージサーバの復旧やデータの復旧を容易に実行することが可能となる。
In addition, it is not necessary to install predetermined software on the
<変形例>
本技術に係る実施形態は、上記で説明した実施形態に限定されず種々変形される。
<Modification>
The embodiment according to the present technology is not limited to the embodiment described above, and various modifications are made.
例えばストレージシステム100に含まれるストレージサーバとしての記憶装置の数はもっと多くてもよい。その場合、図2や図3に示すテーブルとして、より多くのレコードをもったテーブルが適宜用いられればよい。
For example, the number of storage devices as storage servers included in the
なお、本技術は以下のような構成も採ることができる。
(1)所定のアドレスにファイルが記憶される記憶領域を有する記憶装置の、前記ファイルが記憶される前記記憶領域上のアドレスである実アドレスを取得する取得部と、
前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持する保持部と、
前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する送信部と
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記取得部は、1以上の記憶装置の各記憶領域において実アドレスを取得し、
前記仮想記憶領域は、前記各記憶領域において取得された実アドレスにそれぞれ対応する前記仮想アドレスを有する
情報処理装置。
(3)(1)又は(2)に記載の情報処理装置であって、
前記記憶領域は、複数の階層を有し、
前記実アドレスは、前記複数の階層のうち前記ファイルが記憶される階層の情報を含む
情報処理装置。
(4)(2)又は(3)に記載の情報処理装置であって、
前記仮想記憶領域は、第1の記憶装置に記憶された第1のファイルの第1の実アドレスに対応する第1の仮想アドレスを、前記第1の記憶装置とは異なる第2の記憶装置に記憶された前記第1のファイルの複製である第2のファイルの第2の実アドレスに対応する第2の仮想アドレスとして共通して有する
情報処理装置。
(5)(4)に記載の情報処理装置であって、
前記第1の仮想アドレスへのアクセス要求がリードアクセスかライトアクセスかを判定する第1の判定部をさらに具備し、
前記送信部は、前記第1の仮想アドレスへのアクセス要求に応じて、前記第1の判定部による判定をもとに、前記第1及び前記第2の実アドレスのうちいずれか1つを送信する
情報処理装置。
(6)(4)又は(5)に記載の情報処理装置であって、
前記第1及び第2の記憶装置のそれぞれの負荷状態を判定する第2の判定部をさらに具備し、
前記送信部は、前記第1の仮想アドレスへのアクセス要求に応じて、前記第2の判定部による判定をもとに、前記第1及び前記第2の実アドレスのうちいずれか1つを送信する
情報処理装置。
In addition, this technique can also take the following structures.
(1) An acquisition unit that acquires a real address, which is an address on the storage area in which the file is stored, of a storage device having a storage area in which the file is stored at a predetermined address;
A holding unit for holding a virtual storage area, which is a virtual storage area, having a virtual address corresponding to a real address on the storage area and a virtual address of a file stored in the real address;
An information processing apparatus comprising: a transmission unit that transmits the real address corresponding to the virtual address that is a target of the access request in response to an access request to the virtual address in the virtual storage area.
(2) The information processing apparatus according to (1),
The acquisition unit acquires a real address in each storage area of one or more storage devices,
The information processing apparatus, wherein the virtual storage area has the virtual address corresponding to a real address acquired in each storage area.
(3) The information processing apparatus according to (1) or (2),
The storage area has a plurality of hierarchies,
The real address includes information on a hierarchy in which the file is stored among the plurality of hierarchies.
(4) The information processing apparatus according to (2) or (3),
The virtual storage area stores a first virtual address corresponding to the first real address of the first file stored in the first storage device in a second storage device different from the first storage device. An information processing apparatus commonly used as a second virtual address corresponding to a second real address of a second file that is a copy of the stored first file.
(5) The information processing apparatus according to (4),
A first determination unit that determines whether the access request to the first virtual address is a read access or a write access;
The transmission unit transmits one of the first and second real addresses based on the determination by the first determination unit in response to an access request to the first virtual address. Information processing device.
(6) The information processing apparatus according to (4) or (5),
A second determination unit for determining a load state of each of the first and second storage devices;
The transmission unit transmits one of the first and second real addresses based on a determination by the second determination unit in response to an access request to the first virtual address. Information processing device.
10…第1の記憶装置
20…第2の記憶装置
30…管理装置
31…ファイルアクセス受付モジュール
32…ファイルアクセス応答モジュール
33…ファイル管理モジュール
34…ファイルサーバ管理モジュール
35…ファイルサーバ障害検知モジュール
36…ミラー管理モジュール
60…第3の記憶装置
70…第4の記憶装置
100…ストレージシステム
200…テーブル
300…テーブル
DESCRIPTION OF
Claims (9)
前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持する保持部と、
前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する送信部と
を具備する情報処理装置。 An acquisition unit that acquires a real address that is an address on the storage area in which the file is stored in a storage device that has a storage area in which a file is stored at a predetermined address;
A holding unit for holding a virtual storage area, which is a virtual storage area, having a virtual address corresponding to a real address on the storage area and a virtual address of a file stored in the real address;
An information processing apparatus comprising: a transmission unit that transmits the real address corresponding to the virtual address that is a target of the access request in response to an access request to the virtual address in the virtual storage area.
前記取得部は、1以上の記憶装置の各記憶領域において実アドレスを取得し、
前記仮想記憶領域は、前記各記憶領域において取得された実アドレスにそれぞれ対応する前記仮想アドレスを有する
情報処理装置。 The information processing apparatus according to claim 1,
The acquisition unit acquires a real address in each storage area of one or more storage devices,
The information processing apparatus, wherein the virtual storage area has the virtual address corresponding to a real address acquired in each storage area.
前記記憶領域は、複数の階層を有し、
前記実アドレスは、前記複数の階層のうち前記ファイルが記憶される階層の情報を含む
情報処理装置。 The information processing apparatus according to claim 1,
The storage area has a plurality of hierarchies,
The real address includes information on a hierarchy in which the file is stored among the plurality of hierarchies.
前記仮想記憶領域は、第1の記憶装置に記憶された第1のファイルの第1の実アドレスに対応する第1の仮想アドレスを、前記第1の記憶装置とは異なる第2の記憶装置に記憶された前記第1のファイルの複製である第2のファイルの第2の実アドレスに対応する第2の仮想アドレスとして共通して有する
情報処理装置。 An information processing apparatus according to claim 2,
The virtual storage area stores a first virtual address corresponding to the first real address of the first file stored in the first storage device in a second storage device different from the first storage device. An information processing apparatus commonly used as a second virtual address corresponding to a second real address of a second file that is a copy of the stored first file.
前記第1の仮想アドレスへのアクセス要求がリードアクセスかライトアクセスかを判定する第1の判定部をさらに具備し、
前記送信部は、前記第1の仮想アドレスへのアクセス要求に応じて、前記第1の判定部による判定をもとに、前記第1及び前記第2の実アドレスのうちいずれか1つを送信する
情報処理装置。 The information processing apparatus according to claim 4,
A first determination unit that determines whether the access request to the first virtual address is a read access or a write access;
The transmission unit transmits one of the first and second real addresses based on the determination by the first determination unit in response to an access request to the first virtual address. Information processing device.
前記第1及び第2の記憶装置のそれぞれの負荷状態を判定する第2の判定部をさらに具備し、
前記送信部は、前記第1の仮想アドレスへのアクセス要求に応じて、前記第2の判定部による判定をもとに、前記第1及び前記第2の実アドレスのうちいずれか1つを送信する
情報処理装置。 The information processing apparatus according to claim 4,
A second determination unit for determining a load state of each of the first and second storage devices;
The transmission unit transmits one of the first and second real addresses based on a determination by the second determination unit in response to an access request to the first virtual address. Information processing device.
前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持し、
前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する
情報処理方法。 A storage device having a storage area in which a file is stored at a predetermined address, obtains a real address that is an address on the storage area in which the file is stored;
Holding a virtual storage area, which is a virtual storage area, corresponding to a real address on the storage area and having a virtual address which is a virtual address of a file stored in the real address;
An information processing method that transmits the real address corresponding to the virtual address that is a target of the access request in response to an access request to the virtual address on the virtual storage area.
前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持し、
前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する
ことをコンピュータに実行させるプログラム。 A storage device having a storage area in which a file is stored at a predetermined address, obtains a real address that is an address on the storage area in which the file is stored;
Holding a virtual storage area, which is a virtual storage area, corresponding to a real address on the storage area and having a virtual address which is a virtual address of a file stored in the real address;
A program that causes a computer to execute, in response to an access request to the virtual address on the virtual storage area, transmitting the real address corresponding to the virtual address that is a target of the access request.
前記記憶装置の、前記ファイルが記憶される前記記憶領域上のアドレスである実アドレスを取得する取得部と、
前記記憶領域上の実アドレスに対応し当該実アドレスに記憶されるファイルの仮想的なアドレスとなる仮想アドレスを有する、仮想的な記憶領域である仮想記憶領域を保持する保持部と、
前記仮想記憶領域上の前記仮想アドレスへのアクセス要求に応じて、当該アクセス要求の対象の前記仮想アドレスに対応する前記実アドレスを送信する送信部と
を有する情報処理装置と
を具備する情報処理システム。 A storage device having a storage area in which a file is stored at a predetermined address;
An acquisition unit for acquiring a real address that is an address on the storage area of the storage device in which the file is stored;
A holding unit for holding a virtual storage area, which is a virtual storage area, having a virtual address corresponding to a real address on the storage area and a virtual address of a file stored in the real address;
An information processing system comprising: a transmission unit that transmits the real address corresponding to the virtual address that is a target of the access request in response to an access request to the virtual address on the virtual storage area .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012024652A JP2013161383A (en) | 2012-02-08 | 2012-02-08 | Information processing device, information processing method, program and information processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012024652A JP2013161383A (en) | 2012-02-08 | 2012-02-08 | Information processing device, information processing method, program and information processing system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2013161383A true JP2013161383A (en) | 2013-08-19 |
Family
ID=49173549
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012024652A Pending JP2013161383A (en) | 2012-02-08 | 2012-02-08 | Information processing device, information processing method, program and information processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2013161383A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018180804A (en) * | 2017-04-10 | 2018-11-15 | 三菱電機エンジニアリング株式会社 | Management device and management method |
| CN110516465A (en) * | 2019-07-11 | 2019-11-29 | 平安普惠企业管理有限公司 | Management method, device, equipment and the computer readable storage medium of resource address |
| WO2020158706A1 (en) * | 2019-01-29 | 2020-08-06 | 日本電気株式会社 | Network system, and method for controlling network system |
-
2012
- 2012-02-08 JP JP2012024652A patent/JP2013161383A/en active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018180804A (en) * | 2017-04-10 | 2018-11-15 | 三菱電機エンジニアリング株式会社 | Management device and management method |
| WO2020158706A1 (en) * | 2019-01-29 | 2020-08-06 | 日本電気株式会社 | Network system, and method for controlling network system |
| CN110516465A (en) * | 2019-07-11 | 2019-11-29 | 平安普惠企业管理有限公司 | Management method, device, equipment and the computer readable storage medium of resource address |
| CN110516465B (en) * | 2019-07-11 | 2024-03-01 | 深圳市兴海物联科技有限公司 | Resource address management method, device, equipment and computer readable storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11016696B2 (en) | Redundant distributed data storage system | |
| US8271753B2 (en) | Storage controller and storage control method for copying a snapshot using copy difference information | |
| US8818951B1 (en) | Distributed file system having separate data and metadata and providing a consistent snapshot thereof | |
| US20200379648A1 (en) | Integrated snapshot interface for a data storage system | |
| US10360110B2 (en) | Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host | |
| US9652335B2 (en) | Systems and methods for restoring data from network attached storage | |
| JP5068081B2 (en) | Management apparatus and management method | |
| US9460106B2 (en) | Data synchronization among file storages using stub files | |
| US10140303B1 (en) | Application aware snapshots | |
| US8438136B2 (en) | Backup catalog recovery from replicated data | |
| US9501241B2 (en) | Storage system and object management method | |
| US11249858B2 (en) | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host | |
| US20130311429A1 (en) | Method for controlling backup and restoration, and storage system using the same | |
| JP5984151B2 (en) | Data recovery method, program, and data processing system | |
| US20100211547A1 (en) | File sharing system, file server, and method for managing files | |
| US20130290248A1 (en) | File storage system and file cloning method | |
| US7966517B2 (en) | Method and apparatus for virtual network attached storage remote migration | |
| US7987206B2 (en) | File-sharing system and method of using file-sharing system to generate single logical directory structure | |
| JP2012507788A (en) | Method and system for recovering a computer system using a storage area network | |
| JP5868986B2 (en) | Recovery by item | |
| US20070239803A1 (en) | Remote mirroring method between tiered storage systems | |
| JP2013161383A (en) | Information processing device, information processing method, program and information processing system | |
| JP2013120463A (en) | Information processing method, information processing system, information processing apparatus, and program |