JP5673232B2 - Storage system - Google Patents

Storage system Download PDF

Info

Publication number
JP5673232B2
JP5673232B2 JP2011051099A JP2011051099A JP5673232B2 JP 5673232 B2 JP5673232 B2 JP 5673232B2 JP 2011051099 A JP2011051099 A JP 2011051099A JP 2011051099 A JP2011051099 A JP 2011051099A JP 5673232 B2 JP5673232 B2 JP 5673232B2
Authority
JP
Japan
Prior art keywords
storage
processing device
divided data
file
storage processing
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
JP2011051099A
Other languages
Japanese (ja)
Other versions
JP2012190099A (en
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011051099A priority Critical patent/JP5673232B2/en
Publication of JP2012190099A publication Critical patent/JP2012190099A/en
Application granted granted Critical
Publication of JP5673232B2 publication Critical patent/JP5673232B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストレージシステムにかかり、特に、重複記憶排除機能を有するストレージシステムに関する。   The present invention relates to a storage system, and more particularly to a storage system having a duplicate storage elimination function.

通常、ファイルサーバは、アクセス速度の遅いハードディスクドライブに対するアクセスを減少させるため、データをメモリ上にキャッシュしている。そして、ハードディスクドライブなどの不揮発性ストレージの容量は年々拡大を続けているが、キャッシュとして利用されるメモリの容量が追いついていなかった。しかし、近年になり、より大容量のSSDが普及したことで、このSSDをキャッシュとして利用するストレージが現れてきた。このため、大容量のキャッシュを扱うにあたり、そのキャッシュをいかに効率的に利用するかが1つの課題となっている。   Normally, a file server caches data in a memory in order to reduce access to a hard disk drive having a low access speed. And the capacity of non-volatile storage such as hard disk drives continues to expand year by year, but the capacity of memory used as a cache has not caught up. However, in recent years, as a large-capacity SSD has become widespread, storage using this SSD as a cache has appeared. For this reason, when dealing with a large-capacity cache, how to efficiently use the cache is a problem.

例えば、分散ノード型のネットワークストレージでは、負荷を分散することに重きを置いており、キャッシュ領域の効率化にまで十分な検討がされていなかった。今後、分散ノード型ストレージにおけるノード数が拡大していった場合、ノードを跨ったキャッシュの効率化は重要になってくると考えられる。   For example, in distributed node type network storage, emphasis is placed on distributing the load, and sufficient consideration has not been given to improving the efficiency of the cache area. In the future, when the number of nodes in the distributed node storage increases, it is considered that the efficiency of the cache across the nodes becomes important.

上述した分散ノード型のネットワークストレージの一例として、近年では、特許文献1に開示された、同一内容のデータを重複して記憶しないよう制御する重複排除システムがある。このような重複排除システムは、物理的な格納位置を仮想化したコンテンツアドレスストレージ(CAS)装置を構成しており、重複排除技術によりハードディスクドライブに同じデータを持たないように制御すると共に、複数のノードから任意のファイルにアクセスが可能なよう制御している。このとき、重複排除ファイルシステムでは、同じデータを複数保持しないことでハードディスクドライブを効率的に使用しており、メモリ上のキャッシュについても、1つのノード内では同じデータを複数保持しないよう制御している。   As an example of the above-described distributed node type network storage, in recent years, there is a deduplication system disclosed in Japanese Patent Laid-Open No. 2004-151405 that controls not to repeatedly store data having the same content. Such a deduplication system constitutes a content address storage (CAS) device in which a physical storage location is virtualized, and controls the hard disk drive not to have the same data by deduplication technology, It is controlled so that any file can be accessed from the node. At this time, the deduplication file system efficiently uses the hard disk drive by not holding multiple pieces of the same data, and the cache on the memory is controlled not to hold multiple pieces of the same data within one node. Yes.

特開2010−79886号公報JP 2010-79886 A

しかしながら、コンテンツアドレスストレージシステムでは、ファイルをどのノードで処理するかについてはクライアントからのアクセス次第であり、システム全体における負荷分散による効率化はなされていなかった。一方で、複数のノードに処理を分散させることによって、図1に示すように、同じキャッシュデータが複数のノードに存在するという無駄が増加する、という問題あった。   However, in the content address storage system, which node processes the file depends on the access from the client, and efficiency is not improved by load distribution in the entire system. On the other hand, there is a problem that by distributing the processing to a plurality of nodes, the waste that the same cache data exists in the plurality of nodes increases as shown in FIG.

このため、本発明の目的は、上述した課題である、複数のノード装置を備えたストレージシステムにおいて、特定のノード装置の負荷の増加を抑制しつつ、キャッシュの無駄を抑制する、ことにある。   Therefore, an object of the present invention is to suppress cache waste while suppressing an increase in load on a specific node device in a storage system including a plurality of node devices, which is the above-described problem.

上記目的を達成すべく、本発明の一形態であるストレージシステムは、
複数のストレージ装置と、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データの前記ストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて前記複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行う複数の記憶処理装置と、を備え、
前記記憶処理装置は、
ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えると共に、
予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の前記記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する前記記憶処理装置を選択するオーナノード選択部を備えた、
という構成を取る。
In order to achieve the above object, a storage system according to one aspect of the present invention provides:
Multiple storage devices,
Each divided data obtained by dividing the file is distributed and stored in the plurality of storage devices using a content address that is specific to the data content of the divided data and specifies a storage position of the divided data in the storage device, and Deduplication processing for referencing the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the storage device A plurality of storage processing devices to perform,
The storage processing device includes:
In addition to having a cache memory that is used when performing predetermined processing on files,
The content address indicating the storage location of the divided data constituting the specific file managed by the own device set in advance is transmitted to the other storage processing device, and the divided data specified by the content address is transmitted. The cache memory status information indicating the storage status of the cache memory in the other storage processing device is requested to the other storage processing device, and the identification is performed based on the cache memory status information acquired from the other storage processing device. An owner node selection unit for selecting the storage processing device for managing the file of
Take the configuration.

また、本発明の他の形態である記憶処理装置は、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データのストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行う記憶処理装置であって、
ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えると共に、
予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する記憶処理装置を選択するオーナノード選択部を備えた、
という構成を取る。
In addition, the storage processing device according to another aspect of the present invention is
Each divided data obtained by dividing the file is distributed and stored in a plurality of storage devices using content addresses that are specific to the data content of the divided data and specify the storage position of the divided data in the storage device, and the storage Storage for performing deduplication processing for referring to the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the apparatus A processing device comprising:
In addition to having a cache memory that is used when performing predetermined processing on files,
The content address indicating the storage position of the divided data constituting the specific file managed by the own device set in advance is transmitted to another storage processing device, and the divided data specified by the content address is transmitted. Request cache memory status information indicating the storage status of the cache memory in another storage processing device to the other storage processing device, and based on the cache memory status information acquired from the other storage processing device, the specific memory An owner node selection unit for selecting a storage processing device for managing files;
Take the configuration.

また、本発明の他の形態であるプログラムは、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データのストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行い、ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えた記憶処理装置に、
予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する記憶処理装置を選択するオーナノード選択部、を実現させるためのプログラムである。
Moreover, the program which is the other form of this invention is:
Each divided data obtained by dividing the file is distributed and stored in a plurality of storage devices using content addresses that are specific to the data content of the divided data and specify the storage position of the divided data in the storage device, and the storage Performing deduplication processing to refer to the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the device; In a storage processing device having a cache memory used when performing predetermined processing on a file,
The content address indicating the storage position of the divided data constituting the specific file managed by the own device set in advance is transmitted to another storage processing device, and the divided data specified by the content address is transmitted. Request cache memory status information indicating the storage status of the cache memory in another storage processing device to the other storage processing device, and based on the cache memory status information acquired from the other storage processing device, the specific memory This is a program for realizing an owner node selection unit that selects a storage processing device that manages files.

また、本発明の他の形態である情報処理方法は、
複数のストレージ装置と、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データの前記ストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて前記複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行い、ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えた複数の記憶処理装置と、を備えたストレージシステムによる情報処理方法であって、
前記記憶処理装置が、予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の前記記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する前記記憶処理装置を選択する、
という構成を取る。
In addition, an information processing method according to another aspect of the present invention includes:
Multiple storage devices,
Each divided data obtained by dividing the file is distributed and stored in the plurality of storage devices using a content address that is specific to the data content of the divided data and specifies a storage position of the divided data in the storage device, and Deduplication processing for referencing the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the storage device An information processing method by a storage system including a plurality of storage processing devices including a cache memory used when performing predetermined processing on a file,
The storage processing device transmits the content address representing the storage location of the divided data constituting the specific file managed by the device itself set in advance to the other storage processing device, and specified by the content address The cache memory status information obtained from the other storage processing device by requesting the other storage processing device for cache memory status information indicating the storage status of the divided data to the cache memory in the other storage processing device Selecting the storage processing device to manage the specific file based on
Take the configuration.

本発明は、以上のように構成されることにより、複数のノード装置を備えたストレージシステムにおいて、特定のノード装置の負荷の増加を抑制しつつ、キャッシュの効率的な利用を図ることができる。   With the configuration as described above, the present invention makes it possible to efficiently use a cache while suppressing an increase in the load on a specific node device in a storage system including a plurality of node devices.

ストレージシステムを構成するアクセラレータノード内で処理されるデータの様子を示す図である。It is a figure which shows the mode of the data processed within the accelerator node which comprises a storage system. ストレージシステムを構成するアクセラレータノード内で処理されるデータの様子を示す図である。It is a figure which shows the mode of the data processed within the accelerator node which comprises a storage system. ストレージシステムを構成するアクセラレータノードの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the accelerator node which comprises a storage system. 図3に開示したオーナ制御機能部の動作を説明する図である。It is a figure explaining operation | movement of the owner control function part disclosed in FIG. 図3に開示したオーナ制御機能部の動作を説明する図である。It is a figure explaining operation | movement of the owner control function part disclosed in FIG. 図3に開示したオーナ制御機能部の動作を説明する図である。It is a figure explaining operation | movement of the owner control function part disclosed in FIG. 図3に開示したオーナ制御機能部の動作の他の例を説明する図である。It is a figure explaining the other example of operation | movement of the owner control function part disclosed in FIG. 本発明の付記1におけるストレージシステムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the storage system in attachment 1 of this invention.

本発明の第1の実施形態を、図1乃至図7を参照して説明する。図1乃至図3は、ストレージシステムの構成を説明するための図であり、図4乃至図7は、動作を説明するための図である。   A first embodiment of the present invention will be described with reference to FIGS. 1 to 3 are diagrams for explaining the configuration of the storage system, and FIGS. 4 to 7 are diagrams for explaining the operation.

図1に、本実施形態におけるストレージシステムの全体構成を示す。この図に示すように、ストレージシステムは、ファイルの書き込みや読み出しを要求するNFSクライアント302に接続されたロードバランサ301と、ファイルの記憶処理や読み出し処理を行う記憶処理装置である複数のノード303(ノードA,ノードB)と、ファイルを記憶する複数のストレージ装置からなる大容量不揮発ストレージ306と、を備えている。   FIG. 1 shows the overall configuration of the storage system in this embodiment. As shown in this figure, the storage system includes a load balancer 301 connected to an NFS client 302 that requests file writing and reading, and a plurality of nodes 303 (storage processing devices that perform file storage processing and reading processing). Node A, node B), and a large-capacity nonvolatile storage 306 comprising a plurality of storage devices for storing files.

なお、本実施形態では、ストレージシステムとして、ネットワークストレージシステム(Network File System:NFS)を一例に挙げて説明するが、ストレージシステムは、NFSに限定されない。   In this embodiment, a network storage system (Network File System: NFS) will be described as an example of the storage system. However, the storage system is not limited to NFS.

上記ロードバランサ301(振り分け装置)は、NFSクライアント302からのファイルの書き込みや読み出しなど当該ファイルに対する処理要求を、そのファイルのファイル識別子(FH)を元に、任意のノード303に振り分けて転送する。このとき、ロードバランサ301には、ファイル毎に当該ファイルを管理するノードを指定したFH/宛先テーブル(管理指定テーブル)が記憶されており、このFH/宛先テーブルに従って、処理要求にかかるファイルを指定されたノードに転送する。但し、処理要求にかかるファイルが新規ファイルである場合には、各ノード303の負荷や当該各ノード303に接続されたネットワーク帯域などを参照して決定されたノードに転送する。   The load balancer 301 (distribution device) distributes processing requests for the file such as file writing and reading from the NFS client 302 to an arbitrary node 303 based on the file identifier (FH) of the file. At this time, the load balancer 301 stores an FH / destination table (management designation table) that designates a node that manages the file for each file, and designates a file to be processed according to the FH / destination table. To the designated node. However, if the file related to the processing request is a new file, the file is transferred to a node determined with reference to the load of each node 303, the network bandwidth connected to each node 303, and the like.

そして、上記ロードバランサ301は、後述するように、ノード303からファイルを管理するノードの指定を変更する旨のFH/宛先テーブルの更新要求があった場合には、かかる更新要求に応じてFH/宛先テーブルの内容を更新する。   Then, as will be described later, when there is an FH / destination table update request for changing the designation of a node that manages a file from the node 303, the load balancer 301 responds to the update request with the FH / Update the contents of the destination table.

なお、本実施形態では、処理要求にかかるファイルの転送先を制御する装置として、ロードバランサを一例に挙げて説明するが、かかる制御を行う装置は他の装置であってもよい。例えば、ノード303のうちのいずれかがロードバランサとして機能してもよい。   In the present embodiment, a load balancer is described as an example of a device that controls the transfer destination of a file related to a processing request, but the device that performs such control may be another device. For example, any of the nodes 303 may function as a load balancer.

上記各ノード303は、NFSサーバ機能部304と重複排除FS305とを備えており、ロードバランサ301から転送されたNFSクライアント302からのファイルの記憶要求に応じて、当該ファイルを大容量不揮発ストレージ306に重複排除を行って記憶する機能を有する。なお、図では、ノード303を2つのみ図示しているが、実際にはさらに多くのノード303が装備されている。但し、ノード303の数は複数であればよく、上記数に限定されない。   Each of the nodes 303 includes an NFS server function unit 304 and a deduplication FS 305. In response to a file storage request from the NFS client 302 transferred from the load balancer 301, the node 303 stores the file in the large-capacity nonvolatile storage 306. It has a function of performing deduplication and storing. In the figure, only two nodes 303 are shown, but more nodes 303 are actually provided. However, the number of nodes 303 only needs to be plural, and is not limited to the above number.

そして、重複排除FS305による重複排除処理は、具体的には、まず、記憶対象となるファイルを所定容量の分割データに分割する。そして、分割データの内容に応じて設定される固有のコンテンツアドレスによって大容量不揮発ストレージ306における格納位置を特定し、その格納位置に分割データをさらに分散すると共に冗長化して格納する。なお、データを大容量不揮発ストレージ306に格納する際における分散や冗長化の処理については、既存技術であるため、詳細な説明を省略する。   In the deduplication processing by the deduplication FS 305, specifically, first, a file to be stored is divided into divided data having a predetermined capacity. Then, the storage position in the large-capacity nonvolatile storage 306 is specified by a unique content address set according to the content of the divided data, and the divided data is further distributed and stored redundantly in the storage position. Note that the distribution and redundancy processing when storing data in the large-capacity nonvolatile storage 306 is an existing technology, and thus detailed description thereof is omitted.

このとき、上記コンテンツアドレスは、分割データのデータ内容に固有であるため、この分割データと同一内容の他の分割データを格納する場合には、既に記憶されている分割データのコンテンツアドレスを他の分割データとして参照することで、当該他の分割データを記憶する必要が無くなる。そして、この他の分割データを読み出すときには、上記コンテンツアドレスを参照して、その参照先に記憶されているデータを読み出すことで、同一内容のデータを読み出すことができる。このようにして、重複排除FS305では、ファイルの重複記憶を排除した重複排除処理を実現している。   At this time, the content address is specific to the data content of the divided data. Therefore, when storing other divided data having the same content as the divided data, the content address of the already stored divided data is changed to another data. By referencing as divided data, it is not necessary to store the other divided data. When reading the other divided data, the same content data can be read by referring to the content address and reading the data stored in the reference destination. In this way, the deduplication FS 305 realizes deduplication processing that eliminates duplicate storage of files.

なお、ファイルのデータは、ファイルと、当該ファイルを分割した各分割データの各コンテンツアドレスと、が関連付けられたCA情報309で管理されている。例えば、CA情報309は、図2に示すように、ファイルから当該ファイルを構成する各分割データのコンテンツアドレス(CAリンク:CA1等)を辿る順方向のリンクと、コンテンツアドレスからファイルを辿る逆方向のリンクを有している。そして、CA情報309は、各ノードに、自ノードにて管理するファイルのCA情報309が記憶されている。なお、コンテンツアドレスは、各ノードで共通である。   The file data is managed by CA information 309 in which the file and each content address of each divided data obtained by dividing the file are associated. For example, as shown in FIG. 2, the CA information 309 includes a forward link that traces the content address (CA link: CA1, etc.) of each divided data constituting the file from the file, and a reverse direction that traces the file from the content address. Have a link. As for CA information 309, CA information 309 of a file managed by the own node is stored in each node. The content address is common to each node.

また、各ノード303は、当該各ノード303がファイルの処理に利用するデータをキャッシュしておくキャッシュメモリ307をそれぞれ装備している。そして、各ノード303は、同じノード内では同じデータをキャッシュメモリに持たず、重複排除するようキャッシュ情報管理部にて制御している。   Each node 303 is equipped with a cache memory 307 that caches data used by each node 303 for file processing. Each node 303 does not have the same data in the cache memory in the same node, but is controlled by the cache information management unit so as to eliminate duplication.

また、各ノード303は、オーナ制御機能部313を備えており、当該オーナ制御記憶部313は、特定のファイルを管理するノードを指定する情報、つまり、ファイルをどのノードで処理するか、という情報を記憶したオーナ情報314を有する。なお、オーナ情報314は、上述したようにロードバランサ301に記憶されているFH/宛先テーブルと同様の情報である。さらに、オーナ制御機能部313は、特定のファイルを管理するノードを変更する処理を実行すべく、図3に示すように、非重複データ数算出部315と、オーナノード選択部306と、オーナ移動部317と、を備えている。これら各部315,316,317の構成及び動作について、以下詳述する。   Each node 303 includes an owner control function unit 313. The owner control storage unit 313 is information that specifies a node that manages a specific file, that is, information on which node the file is processed by. Owner information 314 stored therein. The owner information 314 is the same information as the FH / destination table stored in the load balancer 301 as described above. Furthermore, as shown in FIG. 3, the owner control function unit 313 performs processing for changing a node that manages a specific file, as shown in FIG. 3, a non-duplicate data number calculation unit 315, an owner node selection unit 306, and an owner movement unit. 317. The configurations and operations of these units 315, 316, and 317 will be described in detail below.

ここで、上記オーナ制御機能部313が有する上記非重複データ数算出部315、オーナノード選択部316、オーナ移動部317は、以下の(1)〜(3)の3つの動作を起点として動作する。但し、上記各部315〜317が動作する条件は、以下の場合に限定されない。   Here, the non-overlapping data number calculation unit 315, the owner node selection unit 316, and the owner movement unit 317 included in the owner control function unit 313 operate based on the following three operations (1) to (3). However, the conditions under which the above units 315 to 317 operate are not limited to the following cases.

(1)NFSの処理
NFSクライアント302からWRITE要求が来て、そのファイルを管理するノードの当該ファイルに対するキャッシュが更新されると、オーナ制御機能部313が動作して、オーナノードつまりそのファイルを処理すべきノードの選択を行う。さらに必要に応じてオーナの移動を行い、以降はロードバランサ301が適切なノードにNFSを転送する。
(1) NFS processing When a WRITE request is received from the NFS client 302 and the cache for the file of the node managing the file is updated, the owner control function unit 313 operates to process the owner node, that is, the file. Select a power node. Further, the owner is moved as necessary, and thereafter, the load balancer 301 transfers the NFS to an appropriate node.

(2)キャッシュの追い出し
キャッシュの空き領域がなくなり古いキャッシュがメモリ上から追い出されると、それまでのノード内のキャッシュにおける重複データの数が変化している可能性がある。そのためオーナノードの再選択を行う。つまり、追い出されたキャッシュのコンテンツアドレスを確認し、そのコンテンツアドレスからリンクされた全てのファイルをリストする。リストされた全てのファイルに対して「非重複データ数の算出」、「オーナノードの選択」、「オーナの移動」を行う。
(2) Cache eviction When the cache free space runs out and the old cache is evicted from the memory, there is a possibility that the number of duplicate data in the cache in the node so far has changed. Therefore, the owner node is reselected. That is, the content address of the evicted cache is confirmed, and all files linked from the content address are listed. “Calculation of the number of non-overlapping data”, “Selection of owner node”, and “Move owner” are performed for all the listed files.

(3)タイマ
時間が経つとネットワーク帯域が変化している可能性がある。そのため、高負荷時にオーナの移動を諦めたファイルに対して、定期的にオーナノードの再選択を行う。定期的なオーナノードの再選択では全てのファイルに対して行う。オーナノードの再選択を行っている間は負荷が上がる可能性がある。そのため、予め期間(例えば、深夜2時など)を設けておき、期間内に終わらないファイルは再選択を諦める。ただし、どこまでオーナノードの再選択を行ったか覚えておき、次回は続きから行う。
(3) Timer The network bandwidth may change over time. For this reason, the owner node is periodically reselected for a file for which the movement of the owner is abandoned during a high load. Periodic owner node reselection is performed for all files. The load may increase while reselecting the owner node. Therefore, a period (for example, midnight, etc.) is provided in advance, and a file that does not end within the period is given up reselection. However, remember how far the owner node has been reselected, and continue from the next time.

次に、一つの例として、NFSのWRITE処理を起点としたオーナ制御機能部313の動作を説明する。なお、READ処理やキャッシュの追い出し、タイマを起点とした場合にも、以下で説明する「非重複データ数の算出」、「オーナノード選択部」と「オーナ移動部」における処理は変わらない。   Next, as an example, the operation of the owner control function unit 313 starting from NFS WRITE processing will be described. Note that the processing in the “calculation of the number of non-overlapping data”, “owner node selection unit”, and “owner movement unit” described below does not change even when READ processing, cache eviction, and timer are used as starting points.

1.まず、NFSクライアント302がファイルの書き込みを行う際、ロードバランサ301に対してWRITE要求を送信する。
2.ロードバランサは自身が持つFH/宛先テーブルから、適切なノード303を選択しWRITE要求を転送する。
3.WRITE要求を転送されたノード303では、通常の書き込み処理を行う。
4.WRITEによりファイルデータがある程度溜まった場合には、以下に示す非重複データ数算出部315による「非重複データ数の算出」を行う。
1. First, when the NFS client 302 writes a file, it sends a WRITE request to the load balancer 301.
2. The load balancer selects an appropriate node 303 from its own FH / destination table and transfers the WRITE request.
3. The node 303 to which the WRITE request has been transferred performs normal write processing.
4). When file data is accumulated to some extent by WRITE, “calculation of the number of non-duplicate data” is performed by the non-duplicate data number calculation unit 315 shown below.

「非重複データ数の算出」(図4)
S1.上述したCA情報309のうち、ファイルを構成する各分割データの各コンテンツアドレスが記憶されたファイル情報テーブル401から、WRITE要求されたファイルが参照するコンテンツアドレス群であるCAリストを取得する。なお、ファイル情報テーブル401は、図2に示すように、ファイルとコンテンツアドレスとを関連付けた情報を記憶している。
S2.CAリストを構成する各コンテンツアドレスについて、自ノード内での参照数402を確認する。
“Calculation of the number of non-overlapping data” (Figure 4)
S1. Among the CA information 309 described above, a CA list that is a group of content addresses referred to by the file requested for WRITE is acquired from the file information table 401 in which each content address of each divided data constituting the file is stored. As shown in FIG. 2, the file information table 401 stores information associating a file with a content address.
S2. For each content address constituting the CA list, the reference number 402 in the own node is confirmed.

S3.コンテンツアドレスの参照数が「1」の場合、非重複データ変数404をインクリメントして、その値を「1」増加させる。
S4.コンテンツアドレスの参照数が「2」以上の場合には、上述したCA情報309のうちコンテンツアドレスからファイルへのリスト403を辿り、参照数が「2」以上であるコンテンツアドレスを参照しているファイルが「1つ」か「2つ以上」存在するかを確認する。
S5.コンテンツアドレスを参照しているファイルが「1つ」だけの場合、非重複データ変数404をインクリメントして、その値を「1」増加させる。
S3. When the reference number of the content address is “1”, the non-duplicate data variable 404 is incremented and the value is increased by “1”.
S4. When the reference number of the content address is “2” or more, the file that refers to the content address whose reference number is “2” or more by following the list 403 from the content address to the file in the CA information 309 described above. Check whether “one” or “two or more” exists.
S5. When only one file refers to the content address, the non-duplicate data variable 404 is incremented and the value is increased by “1”.

そして、WRITE要求にかかるファイルの全てのコンテンツアドレスに対して確認が終わったら、次に、オーナノード選択部316による「オーナノードの選択」を行う。   When the confirmation is completed for all the content addresses of the file related to the WRITE request, “owner node selection” is performed by the owner node selection unit 316.

「オーナノードの選択」(図5)
S11.上述したように非重複データ数算出部315でカウントした非重複データ変数501の値が、予め設定された閾値を超えているか確認し、閾値を超えていなければ処理を終了する。
S12.非重複データ数変数501が閾値を超えている場合は、ネットワークの帯域502の使用率を確認する。
S13.自ノード303が記憶しており、当該自ノード303が管理するファイルのコンテンツアドレス群であるCAリストを、他の全てのノードにブロードキャストで転送する。例えば、図2のノードA(303)で、当該ノードAが管理する「ファイル3」が対象ファイルである場合には、この「ファイル3」を構成する分割データのコンテンツアドレスCA8,CA9を他のノードに転送する。そして、他のノードに対して、当該他のノードのキャッシュメモリに転送するコンテンツアドレスに対応するデータの格納状況(キャッシュメモリ状況情報)を問い合わせて要求する。
"Owner node selection" (Figure 5)
S11. As described above, it is confirmed whether the value of the non-duplicate data variable 501 counted by the non-duplicate data count calculation unit 315 exceeds a preset threshold value. If the value does not exceed the threshold value, the process is terminated.
S12. When the non-duplicate data number variable 501 exceeds the threshold, the usage rate of the network bandwidth 502 is confirmed.
S13. The CA list which is stored in the own node 303 and which is the content address group of the file managed by the own node 303 is broadcasted to all other nodes. For example, in the node A (303) of FIG. 2, when the “file 3” managed by the node A is the target file, the content addresses CA8 and CA9 of the divided data constituting the “file 3” are set to other values. Transfer to node. Then, another node is inquired and requested for the storage status (cache memory status information) of the data corresponding to the content address to be transferred to the cache memory of the other node.

S14.CAリストを受け取った他のノードのオーナ制御機能部は、CAリストに含まれるコンテンツアドレスと同一のコンテンツアドレスが、当該他のノードのキャッシュメモリにいくつ存在するか、を調べる。つまり、CAリストに含まれるコンテンツアドレスと同一のコンテンツアドレスの存在を調べることで、CAリストを送信したノードと受け取ったノードとの各キャッシュメモリに、同一の分割データが記憶されている数を調べる。そして、他のノードは、重複データ数とその時のネットワーク帯域の使用率を確認し、CAリストを送信してきたノードに返信する。
S15.他のノードから重複データ数とネットワーク帯域を受けたノードは、他のノードのキャッシュメモリに重複する分割データが多く保有されているファイルについては、当該ファイルを管理するノードの移動を行う。例えば、特定のファイルの分割データが最も多くキャッシュメモリに保有されている他のノードを選択して、当該他のノードが特定のファイルを管理するよう変更する。このとき、ネットワークの帯域が所定値以上空いていることが望ましい。その後、オーナ移動部317にて、実際にファイルを管理するノードの変更処理を行う。
S14. The owner control function unit of the other node that has received the CA list checks how many content addresses that are the same as the content address included in the CA list exist in the cache memory of the other node. That is, by checking the existence of the same content address as the content address included in the CA list, the number of the same divided data stored in the cache memories of the node that transmitted the CA list and the received node is checked. . Then, the other node confirms the number of duplicate data and the usage rate of the network bandwidth at that time, and returns it to the node that has transmitted the CA list.
S15. A node that receives the number of duplicate data and the network bandwidth from another node moves the node that manages the file for a file in which many pieces of duplicate data are stored in the cache memory of the other node. For example, another node having the largest amount of divided data of a specific file and held in the cache memory is selected, and the other node is changed to manage the specific file. At this time, it is desirable that the network bandwidth is more than a predetermined value. Thereafter, the owner moving unit 317 performs processing for changing a node that actually manages the file.

「オーナの移動」(図6)
S21.上述したように、あるファイルを管理するノードの変更があると、まず、自ノード内に記憶されているファイルと管理ノードとの関係を表すオーナ情報601を更新する。
S22.そして、あるファイルの管理ノードであるオーナが変わったことを、他のノードに通知する。具体的には、自ノードが管理していたファイルとコンテンツアドレスとの対応関係を表すCA情報309であるファイル情報を、管理の移動先となる選択された他のノードに送信して記憶させる(図2の下部に図示する矢印参照)。
“Owner Movement” (Figure 6)
S21. As described above, when there is a change in a node that manages a certain file, first, owner information 601 that represents the relationship between the file stored in the own node and the management node is updated.
S22. Then, the other node is notified that the owner, which is the management node of a file, has changed. Specifically, the file information, which is CA information 309 indicating the correspondence between the file managed by the own node and the content address, is transmitted to and stored in the selected other node as the management destination ( (See the arrow shown at the bottom of FIG. 2).

S23.上述したようにあるファイルを管理するノードとして選択されたノードと、当該ファイルと、を関連付けたロードバランサ301上のFH/宛先テーブル602を更新する。
S24.自ノード内に既に蓄えているキャッシュ603をフラッシュする。つまり、キャッシュ603内のデータを削除する。
S25.自ノードと相手ノードのキャッシュの空き領域サイズを比較し、相手ノードの空き領域サイズが同等もしくは小さければ、キャッシュを均等に保つために一方向の移動だけではなく反対方向への移動(交換)も行う。つまり、管理の移動先となる他のノードのキャッシュに記憶されているファイルの管理を、自ノードに移動させる。具体的には、他のノードで管理していたファイルとコンテンツアドレスとの対応関係を表すファイル情報を他のノードから自ノードに移動して当該自ノードに記憶し、これに対応して、そのファイルを管理するノードを指定するオーナ情報やFH/宛先テーブルを更新する。
S23. As described above, the FH / destination table 602 on the load balancer 301 that associates the node selected as a node for managing a file with the file is updated.
S24. The cache 603 already stored in the own node is flushed. That is, the data in the cache 603 is deleted.
S25. Compare the free area size of the cache between the own node and the other node, and if the other node's free area size is equal or smaller, not only move in one direction but also move (replace) in the opposite direction to keep the cache even Do. That is, the management of the file stored in the cache of the other node that is the management destination is moved to the own node. Specifically, the file information representing the correspondence between the file managed by the other node and the content address is moved from the other node to the own node and stored in the own node. Updates owner information and FH / destination table for specifying a node for managing the file.

以降は、ロードバランサ301が、処理要求にかかるファイルを、FH/宛先テーブルを参照して、指定されたノードに転送する。   Thereafter, the load balancer 301 transfers the file related to the processing request to the designated node with reference to the FH / destination table.

以上により、本実施形態におけるストレージシステムによると、ストレージに対するデータ処理を行う各ノードにて、キャッシュメモリに格納されるデータの重複を抑制でき、キャッシュメモリの効率的な使用を図ることができる。従って、より多くのデータがキャッシュに載るため、NFSアクセスの高速化を図ることができる。特に、複数のクライアントが同時に複数のファイルを読み書きするときや、1つのファイルによってキャッシュを使い切ることはないが、複数のファイルによってキャッシュを使い切る場合(例:キャッシュが4GByteで、ファイルサイズが100MByteなど)に有効である。   As described above, according to the storage system of the present embodiment, duplication of data stored in the cache memory can be suppressed at each node that performs data processing on the storage, and the cache memory can be used efficiently. Accordingly, since more data is stored in the cache, the speed of NFS access can be increased. In particular, when multiple clients read and write multiple files at the same time, or when the cache is not used up by one file, the cache is used up by multiple files (for example, cache is 4GByte, file size is 100MByte, etc.) It is effective for.

また、分散ノード型のストレージシステムでは、ノードの増設に比例してキャッシュのサイズも増えるが、上述した本発明におけるストレージシステムでは、増えたキャッシュを有効に利用し、ノード数に比例したスループットが確保できるため、システム設計が容易になる。   In the distributed node type storage system, the cache size increases in proportion to the number of nodes added. However, in the above-described storage system according to the present invention, the increased cache is effectively used to ensure the throughput proportional to the number of nodes. This makes system design easier.

ここで、上記では、コンテンツアドレスを用いて、どのノードでファイルを処理するか、を決めているが、ファイルに関する他の情報を補助的に用いて当該ファイルを処理するノードを決定してもよい。例えば、予めファイル名などのメタデータを基に、ノードを決定することで、負荷は小さくなる。   Here, in the above, the node that processes the file is determined using the content address. However, the node that processes the file may be determined by using other information about the file as an auxiliary. . For example, the load is reduced by determining a node in advance based on metadata such as a file name.

以下、上述したコンテンツアドレスを使用した方法と併せて、メタデータを使用したオーナノードの選択方法を、図7を参照して説明する。なお、メタデータの情報は、WRITE時には知りえない場合があるため、WRITE時だけではなく、CREATE(ファイルの作成)やLOOKUP(ファイルの検索)の際にも、以下に示す事前設定によるオーナノードの選択を行う。   Hereinafter, a method for selecting an owner node using metadata will be described with reference to FIG. 7 together with the method using the content address described above. Note that the metadata information may not be known at the time of WRITE, so not only at the time of WRITE but also at CREATE (file creation) and LOOKUP (file search) Make a selection.

「事前設定によるオーナノードの選択」(図7)
S31.予め設定された設定情報701から条件式を取得する。
S32.キャッシュ702からパス名の情報を取得する。パス名がキャッシュされていない場合には終了する。
S33.パス名と条件式を比較して、合致した場合は、条件に設定されているノードに「オーナの移動」を行う。例えば、条件式が「kernel-2.6.18-*.x86_64.rpm」である場合、「*」を任意の文字列と解釈し、「kernel-2.6.18-release1.x86_64.rpm」は合致する、「kernel-2.6.18-release2.ia64.rpm」は合致しない、と判断する。
"Selecting the owner node by pre-setting" (Figure 7)
S31. A conditional expression is acquired from setting information 701 set in advance.
S32. Information on the path name is acquired from the cache 702. If the path name is not cached, exit.
S33. If the path name is compared with the conditional expression and they match, “owner movement” is performed on the node set in the condition. For example, if the conditional expression is “kernel-2.6.18-*. X86_64.rpm”, “*” is interpreted as an arbitrary character string, and “kernel-2.6.18-release1.x86_64.rpm” matches. , “Kernel-2.6.18-release2.ia64.rpm” is determined not to match.

また、上記では、ロードバランサによってファイルごとに処理するノードを振り分けるとしているが、分散ファイルシステムを構成するノードがロードバランサの役割を担っても良い。つまり、図3において、ノードAがFH/宛先テーブルを持ち、必要に応じてノードBにNFSクライアントからの要求を転送する形態も可能とする。また、特定のノードを介さなくても、ARPなどのネットワーク制御を用いてクライアントが直接ノードにアクセスする形態も可能とする。   In the above description, a node that processes each file is distributed by the load balancer. However, a node constituting the distributed file system may play the role of the load balancer. That is, in FIG. 3, it is possible for the node A to have an FH / destination table and to transfer a request from the NFS client to the node B as necessary. In addition, a form in which a client directly accesses a node using network control such as ARP without using a specific node is also possible.

<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステムの構成の概略を、図8を参照して説明する。但し、本発明は、以下の構成に限定されない。
<Appendix>
Part or all of the above-described embodiment can be described as in the following supplementary notes. The outline of the configuration of the storage system in the present invention will be described below with reference to FIG. However, the present invention is not limited to the following configuration.

(付記1)
複数のストレージ装置10と、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データの前記ストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて前記複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行う複数の記憶処理装置20と、を備え、
前記記憶処理装置20は、
ファイルに対する所定の処理を行う際に利用するキャッシュメモリ21を備えると共に、
予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の前記記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する前記記憶処理装置を選択するオーナノード選択部22を備えた、
ストレージシステム。
(Appendix 1)
A plurality of storage devices 10;
Each divided data obtained by dividing the file is distributed and stored in the plurality of storage devices using a content address that is specific to the data content of the divided data and specifies a storage position of the divided data in the storage device, and Deduplication processing for referencing the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the storage device A plurality of storage processing devices 20 to perform,
The storage processing device 20
A cache memory 21 used for performing predetermined processing on a file is provided,
The content address indicating the storage location of the divided data constituting the specific file managed by the own device set in advance is transmitted to the other storage processing device, and the divided data specified by the content address is transmitted. The cache memory status information indicating the storage status of the cache memory in the other storage processing device is requested to the other storage processing device, and the identification is performed based on the cache memory status information acquired from the other storage processing device. An owner node selection unit 22 for selecting the storage processing device that manages the files of
Storage system.

(付記2)
付記1に記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナノード選択部は、前記他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、自装置が管理する特定のファイルを構成する前記分割データが前記他の記憶処理装置のキャッシュメモリに最も多く含まれている前記他の記憶処理装置を、前記特定のファイルを管理する記憶処理装置として選択する、
ストレージシステム。
(Appendix 2)
The storage system according to attachment 1, wherein
The owner node selection unit of the storage processing device is configured such that, based on the cache memory status information acquired from the other storage processing device, the divided data constituting the specific file managed by the own device is the other storage processing. Selecting the other storage processing device contained most in the cache memory of the device as a storage processing device for managing the specific file;
Storage system.

(付記3)
付記1又は2に記載のストレージシステムであって、
前記記憶処理装置は、
自装置が管理する特定のファイルを構成する前記分割データと当該分割データの前記コンテンツアドレスとの対応を表すファイル情報テーブルを記憶すると共に、
前記オーナノード選択部にて前記特定のファイルを管理する記憶処理装置として選択された前記他の記憶処理装置に、前記特定のファイルの前記ファイル情報テーブルを送信して記憶させるオーナ移動部を備えた、
ストレージシステム。
(Appendix 3)
The storage system according to appendix 1 or 2,
The storage processing device includes:
While storing a file information table indicating the correspondence between the divided data constituting the specific file managed by the own device and the content address of the divided data,
An owner moving unit that transmits and stores the file information table of the specific file to the other storage processing device selected as the storage processing device that manages the specific file by the owner node selection unit;
Storage system.

(付記4)
付記3に記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナ移動部は、自装置の前記キャッシュメモリ内のデータを消去する、
ストレージシステム。
(Appendix 4)
The storage system according to attachment 3, wherein
The owner moving unit of the storage processing device erases data in the cache memory of the own device,
Storage system.

(付記5)
付記3又は4に記載のストレージシステムであって、
前記記憶処理装置が管理する特定のファイルを指定する管理指定テーブルを記憶し、当該管理指定テーブルに基づいて特定のファイルの処理要求を当該特定のファイルが指定された前記記憶処理装置に振り分ける振り分け装置を備え、
前記記憶処理装置が有する前記オーナ移動部は、前記オーナノード選択部にて選択された前記他の記憶処理装置が前記特定のファイルを管理するよう前記管理指定テーブルを更新する、
ストレージシステム。
(Appendix 5)
The storage system according to appendix 3 or 4,
A distribution device that stores a management designation table that designates a specific file managed by the storage processing device, and distributes a processing request for the specific file to the storage processing device designated by the specific file based on the management designation table With
The owner moving unit of the storage processing device updates the management designation table so that the other storage processing device selected by the owner node selection unit manages the specific file.
Storage system.

(付記6)
付記3乃至5のいずれかに記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナ移動部は、自装置が管理していた前記特定のファイルの前記ファイル情報テーブルを送信した前記他の記憶処理装置から、当該他の記憶処理装置が管理する特定のファイルを自装置が管理するよう当該特定のファイルの前記ファイル情報テーブルを受け取って記憶する、
ストレージシステム。
(Appendix 6)
The storage system according to any one of appendices 3 to 5,
The owner moving unit included in the storage processing device has a specific management managed by the other storage processing device from the other storage processing device that has transmitted the file information table of the specific file managed by the own device. Receiving and storing the file information table of the specific file so that the device manages the file;
Storage system.

(付記7)
付記6に記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナ移動部は、自装置が管理していた前記特定のファイルの前記ファイル情報テーブルを送信した前記他の記憶処理装置が装備した前記キャッシュメモリの空き容量が、自装置が装備した前記キャッシュメモリの空き容量以下である場合に、前記他の記憶処理装置から当該他の記憶処理装置が管理する特定のファイルを自装置が管理するよう当該特定のファイルの前記ファイル情報テーブルを受け取って記憶する、
ストレージシステム。
(Appendix 7)
The storage system according to appendix 6, wherein
The owner moving unit of the storage processing device has a free capacity of the cache memory provided in the other storage processing device that has transmitted the file information table of the specific file managed by the own device. The file information table of the specific file is managed so that the specific device manages the specific file managed by the other storage processing device from the other storage processing device when the cache memory is less than the free capacity of the cache memory Receive and remember,
Storage system.

(付記8)
付記1乃至7のいずれかに記載のストレージシステムであって、
前記記憶処理装置は、自装置が管理する前記特定のファイルを構成する前記分割データの前記コンテンツアドレスの参照数が「1」である当該コンテンツアドレスの数をカウントする非重複データ数算出部を備え、
前記記憶処理装置が有する前記オーナノード選択部は、前記非重複データ数算出部にてカウントした値が予め設定された閾値を超えた場合に、自装置が管理する特定のファイルを構成する前記分割データの前記コンテンツアドレスを前記他の記憶処理装置に送信して前記キャッシュメモリ状況情報を要求する、
ストレージシステム。
(Appendix 8)
The storage system according to any one of appendices 1 to 7,
The storage processing device includes a non-duplicate data number calculation unit that counts the number of content addresses whose reference number of the content address of the divided data constituting the specific file managed by the device is “1”. ,
The owner node selection unit included in the storage processing device is configured such that, when the value counted by the non-duplicate data number calculation unit exceeds a preset threshold, the divided data constituting a specific file managed by the own device Sending the content address to the other storage processing device to request the cache memory status information.
Storage system.

(付記9)
付記8に記載のストレージシステムであって、
前記記憶処理装置が有する前記非重複データ数算出部は、自装置が管理する前記特定のファイルを構成する前記分割データの前記コンテンツアドレスの参照数が「1」である当該コンテンツアドレスに加えて、前記コンテンツアドレスの参照数が「2」以上であるが参照するファイルの数が「1」である前記コンテンツアドレスの数をカウントする、
ストレージシステム。
(Appendix 9)
The storage system according to attachment 8, wherein
In addition to the content address where the reference number of the content address of the divided data constituting the specific file managed by the device is “1”, the non-overlapping data number calculation unit of the storage processing device includes: Counting the number of the content addresses whose reference number of the content address is “2” or more but the number of files to be referred to is “1”;
Storage system.

(付記10)
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データのストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行う記憶処理装置であって、
ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えると共に、
予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する記憶処理装置を選択するオーナノード選択部を備えた、
記憶処理装置。
(Appendix 10)
Each divided data obtained by dividing the file is distributed and stored in a plurality of storage devices using content addresses that are specific to the data content of the divided data and specify the storage position of the divided data in the storage device, and the storage Storage for performing deduplication processing for referring to the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the apparatus A processing device comprising:
In addition to having a cache memory that is used when performing predetermined processing on files,
The content address indicating the storage position of the divided data constituting the specific file managed by the own device set in advance is transmitted to another storage processing device, and the divided data specified by the content address is transmitted. Request cache memory status information indicating the storage status of the cache memory in another storage processing device to the other storage processing device, and based on the cache memory status information acquired from the other storage processing device, the specific memory An owner node selection unit for selecting a storage processing device for managing files;
Storage processing device.

(付記11)
付記10に記載の記憶処理装置であって、
前記オーナノード選択部は、前記他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、自装置が管理する特定のファイルを構成する前記分割データが前記他の記憶処理装置のキャッシュメモリに最も多く含まれている前記他の記憶処理装置を、前記特定のファイルを管理する記憶処理装置として選択する、
記憶処理装置。
(Appendix 11)
The storage processing device according to attachment 10, wherein
The owner node selection unit, based on the cache memory status information acquired from the other storage processing device, has the divided data constituting the specific file managed by the own device most in the cache memory of the other storage processing device. The other storage processing device that is included in a large number is selected as a storage processing device that manages the specific file.
Storage processing device.

(付記12)
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データのストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行い、ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えた記憶処理装置に、
予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する記憶処理装置を選択するオーナノード選択部、を実現させるためのプログラム。
(Appendix 12)
Each divided data obtained by dividing the file is distributed and stored in a plurality of storage devices using content addresses that are specific to the data content of the divided data and specify the storage position of the divided data in the storage device, and the storage Performing deduplication processing to refer to the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the device; In a storage processing device having a cache memory used when performing predetermined processing on a file,
The content address indicating the storage position of the divided data constituting the specific file managed by the own device set in advance is transmitted to another storage processing device, and the divided data specified by the content address is transmitted. Request cache memory status information indicating the storage status of the cache memory in another storage processing device to the other storage processing device, and based on the cache memory status information acquired from the other storage processing device, the specific memory A program for realizing an owner node selection unit that selects a storage processing device that manages files.

(付記13)
付記12に記載のプログラムであって、
前記オーナノード選択部は、前記他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、自装置が管理する特定のファイルを構成する前記分割データが前記他の記憶処理装置のキャッシュメモリに最も多く含まれている前記他の記憶処理装置を、前記特定のファイルを管理する記憶処理装置として選択する、
プログラム。
(Appendix 13)
The program according to attachment 12, wherein
The owner node selection unit, based on the cache memory status information acquired from the other storage processing device, has the divided data constituting the specific file managed by the own device most in the cache memory of the other storage processing device. The other storage processing device that is included in a large number is selected as a storage processing device that manages the specific file.
program.

(付記14)
複数のストレージ装置と、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データの前記ストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて前記複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行い、ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えた複数の記憶処理装置と、を備えたストレージシステムによる情報処理方法であって、
前記記憶処理装置が、予め設定された自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の前記記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する前記記憶処理装置を選択する、
情報処理方法。
(Appendix 14)
Multiple storage devices,
Each divided data obtained by dividing the file is distributed and stored in the plurality of storage devices using a content address that is specific to the data content of the divided data and specifies a storage position of the divided data in the storage device, and Deduplication processing for referencing the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the storage device An information processing method by a storage system including a plurality of storage processing devices including a cache memory used when performing predetermined processing on a file,
The storage processing device transmits the content address representing the storage location of the divided data constituting the specific file managed by the device itself set in advance to the other storage processing device, and specified by the content address The cache memory status information obtained from the other storage processing device by requesting the other storage processing device for cache memory status information indicating the storage status of the divided data to the cache memory in the other storage processing device Selecting the storage processing device to manage the specific file based on
Information processing method.

(付記15)
付記14に記載の情報処理方法であって、
前記記憶処理装置が、前記他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、自装置が管理する特定のファイルを構成する前記分割データが前記他の記憶処理装置のキャッシュメモリに最も多く含まれている前記他の記憶処理装置を、前記特定のファイルを管理する記憶処理装置として選択する、
情報処理方法。
(Appendix 15)
The information processing method according to attachment 14, wherein
Based on the cache memory status information acquired by the storage processing device from the other storage processing device, the divided data constituting the specific file managed by the storage device is the most in the cache memory of the other storage processing device. The other storage processing device that is included in a large number is selected as a storage processing device that manages the specific file.
Information processing method.

301 ロードバランサ
302 NFSクライアント
303 ノード
304 NFSサーバ機能部
305 重複排除FS
306 大容量不揮発ストレージ
307 キャッシュ
309 CA情報
310 設定情報
311 ネットワーク帯域情報
312 タイマ装置
313 オーナ制御機能部
314 オーナ情報
315 非重複データ数算出部
316 オーナノード選択部
317 オーナ移動部
10 ストレージ装置
20 記憶処理装置
21 キャッシュメモリ
22 オーナノード選択部
301 Load Balancer 302 NFS Client 303 Node 304 NFS Server Function Unit 305 Deduplication FS
306 Large-capacity nonvolatile storage 307 Cache 309 CA information 310 Setting information 311 Network bandwidth information 312 Timer device 313 Owner control function unit 314 Owner information 315 Non-duplicate data number calculation unit 316 Owner node selection unit 317 Owner migration unit 10 Storage device 20 Storage processing device 21 Cache memory 22 Owner node selector

Claims (10)

複数のストレージ装置と、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データの前記ストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて前記複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行う複数の記憶処理装置と、を備え、
前記記憶処理装置は、
ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えると共に、
装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の前記記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する前記記憶処理装置を選択するオーナノード選択部を備えた、
ストレージシステム。
Multiple storage devices,
Each divided data obtained by dividing the file is distributed and stored in the plurality of storage devices using a content address that is specific to the data content of the divided data and specifies a storage position of the divided data in the storage device, and Deduplication processing for referencing the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the storage device A plurality of storage processing devices to perform,
The storage processing device includes:
In addition to having a cache memory that is used when performing predetermined processing on files,
The content address indicating the storage position of the divided data constituting the specific file managed by the own device is transmitted to the other storage processing device, and the other storage of the divided data specified by the content address is performed. Requests cache memory status information indicating the storage status of the cache memory in the processing device to the other storage processing device, and manages the specific file based on the cache memory status information acquired from the other storage processing device An owner node selection unit for selecting the storage processing device to be
Storage system.
請求項1に記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナノード選択部は、前記他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、自装置が管理する特定のファイルを構成する前記分割データが前記他の記憶処理装置のキャッシュメモリに最も多く含まれている前記他の記憶処理装置を、前記特定のファイルを管理する記憶処理装置として選択する、
ストレージシステム。
The storage system according to claim 1,
The owner node selection unit of the storage processing device is configured such that, based on the cache memory status information acquired from the other storage processing device, the divided data constituting the specific file managed by the own device is the other storage processing. Selecting the other storage processing device contained most in the cache memory of the device as a storage processing device for managing the specific file;
Storage system.
請求項1又は2に記載のストレージシステムであって、
前記記憶処理装置は、
自装置が管理する特定のファイルを構成する前記分割データと当該分割データの前記コンテンツアドレスとの対応を表すファイル情報テーブルを記憶すると共に、
前記オーナノード選択部にて前記特定のファイルを管理する記憶処理装置として選択された前記他の記憶処理装置に、前記特定のファイルの前記ファイル情報テーブルを送信して記憶させるオーナ移動部を備えた、
ストレージシステム。
The storage system according to claim 1 or 2,
The storage processing device includes:
While storing a file information table indicating the correspondence between the divided data constituting the specific file managed by the own device and the content address of the divided data,
An owner moving unit that transmits and stores the file information table of the specific file to the other storage processing device selected as the storage processing device that manages the specific file by the owner node selection unit;
Storage system.
請求項3に記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナ移動部は、自装置の前記キャッシュメモリ内のデータを消去する、
ストレージシステム。
The storage system according to claim 3,
The owner moving unit of the storage processing device erases data in the cache memory of the own device,
Storage system.
請求項3又は4に記載のストレージシステムであって、
前記記憶処理装置が管理する特定のファイルを指定する管理指定テーブルを記憶し、当該管理指定テーブルに基づいて特定のファイルの処理要求を当該特定のファイルが指定された前記記憶処理装置に振り分ける振り分け装置を備え、
前記記憶処理装置が有する前記オーナ移動部は、前記オーナノード選択部にて選択された前記他の記憶処理装置が前記特定のファイルを管理するよう前記管理指定テーブルを更新する、
ストレージシステム。
The storage system according to claim 3 or 4,
A distribution device that stores a management designation table that designates a specific file managed by the storage processing device, and distributes a processing request for the specific file to the storage processing device designated by the specific file based on the management designation table With
The owner moving unit of the storage processing device updates the management designation table so that the other storage processing device selected by the owner node selection unit manages the specific file.
Storage system.
請求項3乃至5のいずれかに記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナ移動部は、自装置が管理していた前記特定のファイルの前記ファイル情報テーブルを送信した前記他の記憶処理装置から、当該他の記憶処理装置が管理する特定のファイルを自装置が管理するよう当該特定のファイルの前記ファイル情報テーブルを受け取って記憶する、
ストレージシステム。
The storage system according to any one of claims 3 to 5,
The owner moving unit included in the storage processing device has a specific management managed by the other storage processing device from the other storage processing device that has transmitted the file information table of the specific file managed by the own device. Receiving and storing the file information table of the specific file so that the device manages the file;
Storage system.
請求項6に記載のストレージシステムであって、
前記記憶処理装置が有する前記オーナ移動部は、自装置が管理していた前記特定のファイルの前記ファイル情報テーブルを送信した前記他の記憶処理装置が装備した前記キャッシュメモリの空き容量が、自装置が装備した前記キャッシュメモリの空き容量以下である場合に、前記他の記憶処理装置から当該他の記憶処理装置が管理する特定のファイルを自装置が管理するよう当該特定のファイルの前記ファイル情報テーブルを受け取って記憶する、
ストレージシステム。
The storage system according to claim 6,
The owner moving unit of the storage processing device has a free capacity of the cache memory provided in the other storage processing device that has transmitted the file information table of the specific file managed by the own device. The file information table of the specific file is managed so that the specific device manages the specific file managed by the other storage processing device from the other storage processing device when the cache memory is less than the free capacity of the cache memory Receive and remember,
Storage system.
請求項1乃至7のいずれかに記載のストレージシステムであって、
前記記憶処理装置は、自装置が管理する前記特定のファイルを構成する前記分割データの前記コンテンツアドレスの参照数が「1」である当該コンテンツアドレスの数をカウントする非重複データ数算出部を備え、
前記記憶処理装置が有する前記オーナノード選択部は、前記非重複データ数算出部にてカウントした値が予め設定された閾値を超えた場合に、自装置が管理する特定のファイルを構成する前記分割データの前記コンテンツアドレスを前記他の記憶処理装置に送信して前記キャッシュメモリ状況情報を要求する、
ストレージシステム。
The storage system according to any one of claims 1 to 7,
The storage processing device includes a non-duplicate data number calculation unit that counts the number of content addresses whose reference number of the content address of the divided data constituting the specific file managed by the device is “1”. ,
The owner node selection unit included in the storage processing device is configured such that, when the value counted by the non-duplicate data number calculation unit exceeds a preset threshold, the divided data constituting a specific file managed by the own device Sending the content address to the other storage processing device to request the cache memory status information.
Storage system.
請求項8に記載のストレージシステムであって、
前記記憶処理装置が有する前記非重複データ数算出部は、自装置が管理する前記特定のファイルを構成する前記分割データの前記コンテンツアドレスの参照数が「1」である当該コンテンツアドレスに加えて、前記コンテンツアドレスの参照数が「2」以上であるが参照するファイルの数が「1」である前記コンテンツアドレスの数をカウントする、
ストレージシステム。
The storage system according to claim 8, wherein
In addition to the content address where the reference number of the content address of the divided data constituting the specific file managed by the device is “1”, the non-overlapping data number calculation unit of the storage processing device includes: Counting the number of the content addresses whose reference number of the content address is “2” or more but the number of files to be referred to is “1”;
Storage system.
複数のストレージ装置と、
ファイルを分割した各分割データを、当該分割データのデータ内容に固有であり当該分割データの前記ストレージ装置に対する格納位置を特定するコンテンツアドレスを用いて前記複数のストレージ装置に分散して記憶すると共に、前記ストレージ装置に既に記憶されている分割データと同一内容である他の分割データを格納する際に前記既に記憶されている分割データの前記コンテンツアドレスを前記他の分割データとして参照させる重複排除処理を行い、ファイルに対する所定の処理を行う際に利用するキャッシュメモリを備えた複数の記憶処理装置と、を備えたストレージシステムによる情報処理方法であって、
前記記憶処理装置が、自装置が管理する特定のファイルを構成する前記分割データの格納位置を表す前記コンテンツアドレスを他の前記記憶処理装置に送信して、当該コンテンツアドレスにて特定される前記分割データの前記他の記憶処理装置における前記キャッシュメモリに対する格納状況を表すキャッシュメモリ状況情報を当該他の記憶処理装置に要求し、当該他の記憶処理装置から取得した前記キャッシュメモリ状況情報に基づいて、前記特定のファイルを管理する前記記憶処理装置を選択する、
情報処理方法。

Multiple storage devices,
Each divided data obtained by dividing the file is distributed and stored in the plurality of storage devices using a content address that is specific to the data content of the divided data and specifies a storage position of the divided data in the storage device, and Deduplication processing for referencing the content address of the already stored divided data as the other divided data when storing other divided data having the same content as the divided data already stored in the storage device An information processing method by a storage system including a plurality of storage processing devices including a cache memory used when performing predetermined processing on a file,
The storage processing device transmits the content address representing the storage location of the divided data constituting a specific file managed by the device itself to the other storage processing device, and the division specified by the content address Request cache memory status information indicating the storage status of the data in the cache memory in the other storage processing device to the other storage processing device, and based on the cache memory status information acquired from the other storage processing device, Selecting the storage processing device that manages the specific file;
Information processing method.

JP2011051099A 2011-03-09 2011-03-09 Storage system Expired - Fee Related JP5673232B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011051099A JP5673232B2 (en) 2011-03-09 2011-03-09 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011051099A JP5673232B2 (en) 2011-03-09 2011-03-09 Storage system

Publications (2)

Publication Number Publication Date
JP2012190099A JP2012190099A (en) 2012-10-04
JP5673232B2 true JP5673232B2 (en) 2015-02-18

Family

ID=47083215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011051099A Expired - Fee Related JP5673232B2 (en) 2011-03-09 2011-03-09 Storage system

Country Status (1)

Country Link
JP (1) JP5673232B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6119327B2 (en) * 2013-03-15 2017-04-26 日本電気株式会社 Duplicate data management device, data transfer control device, data transfer control system, duplicate data management method, data transfer control method, and computer program
US9600201B2 (en) 2014-03-27 2017-03-21 Hitachi, Ltd. Storage system and method for deduplicating data
WO2017109822A1 (en) * 2015-12-21 2017-06-29 株式会社日立製作所 Storage system having deduplication function

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4067293B2 (en) * 2001-10-17 2008-03-26 富士通株式会社 Cache control program and cache processing computer
JP2003256392A (en) * 2002-03-04 2003-09-12 Ntt Comware Corp Load balance control device and load balance control method
US7444389B2 (en) * 2003-12-09 2008-10-28 Emc Corporation Methods and apparatus for generating a content address to indicate data units written to a storage system proximate in time
US7263576B2 (en) * 2003-12-09 2007-08-28 Emc Corporation Methods and apparatus for facilitating access to content in a data storage system
JP2005275937A (en) * 2004-03-25 2005-10-06 Fujitsu Ltd P2p network system
US7734603B1 (en) * 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US7962706B2 (en) * 2008-02-14 2011-06-14 Quantum Corporation Methods and systems for improving read performance in data de-duplication storage
US8086634B2 (en) * 2008-10-07 2011-12-27 Hitachi, Ltd. Method and apparatus for improving file access performance of distributed storage system
JP5407430B2 (en) * 2009-03-04 2014-02-05 日本電気株式会社 Storage system
JP2010271933A (en) * 2009-05-21 2010-12-02 Brother Ind Ltd Distributed storage system, node device, node processing program, and data file storage method

Also Published As

Publication number Publication date
JP2012190099A (en) 2012-10-04

Similar Documents

Publication Publication Date Title
US9934231B2 (en) System and methods for prioritizing data in a cache
US9805048B2 (en) System and method for managing a deduplication table
US9665305B1 (en) Tiering data between two deduplication devices
KR101717644B1 (en) Apparatus, system, and method for caching data on a solid-state storage device
KR101726824B1 (en) Efficient Use of Hybrid Media in Cache Architectures
US9665493B2 (en) Increased cache performance with multi-level queues of complete tracks
CN111587423B (en) Hierarchical data policies for distributed storage systems
US10432723B2 (en) Storage server and storage system
JP2018163659A (en) Hardware based map acceleration using reverse cache tables
JP2017130103A (en) Block storage
US7039765B1 (en) Techniques for cache memory management using read and write operations
EP3198447B1 (en) Smart flash cache logger
WO2012116369A2 (en) Apparatus, system, and method for managing contents of a cache
US10452300B2 (en) Storage system, node apparatus, cache control method and program
KR102453192B1 (en) Cache entry replacement based on availability of entries in other caches
US10942867B2 (en) Client-side caching for deduplication data protection and storage systems
US10127156B1 (en) Caching techniques
US8566534B1 (en) Low overhead space management for large caches
JP2017107318A (en) Memory system, and information processing device and processing method
US10241928B2 (en) Maintaining cache consistency in a cache for cache eviction policies supporting dependencies
WO2015125271A1 (en) File server, method of controlling same, and storage system
JP5673232B2 (en) Storage system
JPWO2018211749A1 (en) Storage controller, storage system, storage controller control method, and program
US11288238B2 (en) Methods and systems for logging data transactions and managing hash tables
KR102220468B1 (en) Preemptive cache post-recording with transaction support

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R150 Certificate of patent or registration of utility model

Ref document number: 5673232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees