WO2014188682A1 - ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム - Google Patents

ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム Download PDF

Info

Publication number
WO2014188682A1
WO2014188682A1 PCT/JP2014/002562 JP2014002562W WO2014188682A1 WO 2014188682 A1 WO2014188682 A1 WO 2014188682A1 JP 2014002562 W JP2014002562 W JP 2014002562W WO 2014188682 A1 WO2014188682 A1 WO 2014188682A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
node
storage node
performance
data
Prior art date
Application number
PCT/JP2014/002562
Other languages
English (en)
French (fr)
Inventor
山川 聡
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US14/781,088 priority Critical patent/US10708355B2/en
Priority to JP2015518069A priority patent/JP6222227B2/ja
Publication of WO2014188682A1 publication Critical patent/WO2014188682A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability

Definitions

  • the present invention relates to a technical field for setting a storage logical capacity of a storage node.
  • a distributed data system uses external storage devices of a plurality of server devices as distributed data storage nodes connected via a network.
  • the distributed data storage node operates in cooperation with a plurality of node groups in which storage devices are incorporated. Therefore, the distributed data storage node is a computer system that can behave as if it were one node.
  • Such a distributed data storage system may have scale-out expandability such as expansion of data storage capacity and enhancement of data access performance with the addition of nodes (that is, server devices) constituting the system. It is a feature.
  • the distributed data storage system copies and stores a copy of data on a plurality of nodes instead of a single node for data requested to be written. Therefore, even if a certain node becomes inaccessible due to a failure and does not function as a storage node, the distributed data storage system can perform the following processing. In other words, in the response processing when accessing the data that was handled by the failed node, another node holding a copy of the data held by the failed node takes over the service at the failed node. . Thereby, the distributed data storage system can maintain the availability of the system.
  • the distributed data storage system can use the replicated data stored in another node. For this reason, data loss does not occur, and at the same time, the reliability of data retention can be maintained.
  • the distributed data storage system can be expanded in various ways in response to trends such as the ability to freely expand the system scale, the improvement of the node processing performance of the system, the increase in capacity of storage devices, and the price reduction.
  • the system is being introduced.
  • the distributed data storage system requires a certain number of hardware nodes depending on the service scale in the IT (Information Technology) system in order to maintain the availability of the services provided and the reliability of data retention. is necessary.
  • HDDs Hard Disk Drives
  • I / O performance in HDDs has been stagnant, and the I / O performance per capacity has been decreasing year by year.
  • SSD Solid State Drive
  • next-generation non-volatile semiconductor memories that greatly increase the capacity of volatile memories represented by DRAM (Dynamic Random Access Memory) and that significantly exceed the I / O performance of flash memories is also progressing.
  • DRAM Dynamic Random Access Memory
  • a plurality of storage devices having different costs, performance characteristics, and capacities have been adopted as storage device groups in a single storage system.
  • the nodes constituting the distributed data storage can be combined not only with the difference in data storage capacity but also with devices with significantly different I / O performance.
  • an ID identifier
  • data in a certain node and a data storage destination are not managed using a data table, but data between each node and a client that accesses the data is stored.
  • the client can set the storage destination independently without inquiring other nodes about the data storage destination.
  • This arithmetic data storage location setting method has the following characteristics. That is, a data identifier (ID) assigned in advance to each data and the data body itself are set as input data.
  • ID data identifier
  • System configuration information including “storage information that associates a calculation result value with a data storage destination” is set as a parameter used for arithmetic.
  • a node serving as a data storage destination is set by a value calculated using a parameter.
  • System configuration information may be set so that data is uniformly distributed and stored.
  • the distributed data storage system set in this way can evenly distribute the storage capacity consumption of each node and the number of data access I / Os associated with new creation and writing of data.
  • Patent Document 1 proposes a multi-node storage system.
  • a management node and a variety of storage nodes that manage a variety of storage devices are interconnected via a network.
  • the management node acquires information related to data management from various storage nodes, and updates the logical volume as necessary.
  • the system described in Patent Document 2 determines which storage node holds data based on a hash value calculated from a key assigned to the data.
  • the hash value for the key can be calculated using, for example, MD5 (Message Digest algorithm 5).
  • MD5 Message Digest algorithm 5
  • the system may use other hash functions such as SHA (Secure Hash Algorithm).
  • Japanese Patent Application Laid-Open No. 2004-228561 proposes a distributed storage system that determines an access destination node based on a node management table that manages nodes in charge of hash values.
  • the system described in Patent Document 3 divides the data storage method into a first storage area and a second storage area.
  • the user information is stored in the second storage area, and the user information stored in the first storage area and the user information stored in the second storage area are stored.
  • Data to be replaced is distributed and arranged under conditions based on the usage frequency of user information.
  • the weight for the newly installed node is set to twice that of the other nodes. As a result, it is possible to set so that data having a capacity twice as large as the probability is arranged.
  • the newly introduced node needs to have I / O performance capable of processing double I / O. Otherwise, the newly introduced node becomes a performance bottleneck. Therefore, there is a problem that the performance of the entire system deteriorates.
  • the storage logical capacity must be 10 times or more.
  • the storage consumption rate of newly introduced nodes is higher than other nodes. As a result, the storage consumption rate of the entire system decreases.
  • the distributed data storage system has a function of distributing data and data access I / O based on a method of arithmetically setting data storage destinations.
  • the storage control method described in Patent Document 2 can determine an access destination node. Furthermore, the access control method described in Patent Document 3 can store data in the first storage area or the second storage area, and can exchange data according to the frequency of use of the data. .
  • Patent Documents 1 to 3 cannot set the capacity of the storage area of the node based on the difference in I / O performance.
  • the present invention has been made in view of such problems, and a storage node management device capable of setting a logical capacity of a storage area based on an I / O performance value of a storage node, a storage node logical capacity
  • the main object is to provide a setting method, a program, a recording medium, and a distributed data storage system.
  • the storage node management apparatus When a distributed data storage system is configured based on a plurality of storage nodes having different I / O performances, the storage node management apparatus according to an embodiment of the present invention is provided with at least a plurality of storage nodes having different I / O performances.
  • One reference storage node is set, the I / O performance and logical capacity of the reference storage node are referred to, and storage areas of storage nodes other than the reference storage node are designated as a first storage area and a second storage area.
  • And setting means for setting the logical capacities of the first and second storage areas to match the I / O performance of storage nodes other than the reference storage node; Determining means for determining system configuration information reflecting a configuration change of the distributed data storage system based on information set by the setting unit; Transmitting means for transmitting the system configuration information determined by the determining unit to the plurality of storage nodes having different I / O performances.
  • the storage node logical capacity setting method when configuring a distributed data storage system based on a plurality of storage nodes having different I / O performance, the plurality of storage nodes having different I / O performances. And at least one reference storage node is set, the I / O performance and logical capacity of the reference storage node are referred to, and the storage areas of the storage nodes other than the reference storage node are designated as the first storage area and the second storage area. The storage areas are divided and the logical capacities of the first and second storage areas are set to match the I / O performance of storage nodes other than the reference storage node.
  • a program according to an embodiment of the present invention may include at least one reference from the plurality of storage nodes having different I / O performances.
  • the processing for setting the storage node, the I / O performance and the logical capacity of the reference storage node the storage areas of the storage nodes other than the reference storage node are changed to the first storage area and the second storage area.
  • a process of dividing and setting the logical capacities of the first and second storage areas so as to match the I / O performance of the storage nodes other than the reference storage node is executed.
  • a recording medium includes at least one storage node having different I / O performances. Referring to the processing for setting the reference storage node, the I / O performance and the logical capacity of the reference storage node, the storage areas of the storage nodes other than the reference storage node are designated as the first storage area and the second storage area. And a program for causing the computer to execute processing for setting the logical capacities of the first and second storage areas to match the I / O performance of storage nodes other than the reference storage node.
  • a storage node includes a storage unit having a storage device that is divided into a first storage area and a second storage area by the storage management device;
  • data input / output management means for determining whether the access request is for the own node; It manages a data management table that associates three types of information: data ID to be written, data storage destination physical address, and access frequency information, and the data ID and data specified by the data input / output management unit
  • Data storage management means for reading and writing data in response to a read / write command
  • Storage usage management means for classifying the addresses of the storage devices so as to satisfy the capacities of the first storage area and the second storage area based on the logical capacity included in the system configuration information acquired from the storage management device; Is provided.
  • a distributed data storage system includes the storage management device and a storage node.
  • a storage node management apparatus a storage node logical capacity setting method, a program, a recording medium, and distributed data storage that can set the logical capacity of a storage area based on the I / O performance value of the storage node A system can be provided.
  • 1 is a block diagram showing a configuration of a distributed data storage system according to a first embodiment of the present invention. It is a block diagram which shows the structure of the management node which concerns on the 1st Embodiment of this invention. It is a block diagram which shows the structure of the storage node which concerns on the 1st Embodiment of this invention.
  • 3 is a flowchart showing a data write operation according to the first embodiment of the present invention.
  • 4 is a flowchart showing a part of a data write operation according to the first embodiment of the present invention.
  • 4 is a flowchart showing a part of a data write operation according to the first embodiment of the present invention.
  • FIG. 1 is a block diagram showing a configuration of a distributed data storage system according to the first embodiment of the present invention.
  • one management node 4 and two or more storage nodes 5 having at least the same performance are connected via a network so that they can communicate with each other.
  • At least one client device 1 is connected to a plurality of storage nodes 5 and a plurality of storage nodes 6 added later via a network 2 so as to be able to communicate with each other.
  • the client device 1 is a computer operated by a user. When there is a request for new writing, the user operates the client device 1 to transmit a data access request for accessing the storage node 5 of the distributed data storage system 3.
  • the client apparatus 1 uses a predetermined arithmetic expression in order to calculate the data storage destination. That is, the client device 1 assigns an ID to data to be written, uses the ID as arithmetic input data, and calculates a value indicating a data storage destination.
  • the client device 1 collates the calculated value with the storage information included in the system configuration information acquired from the management node 4, and sets the data storage destination. Further, the client device 1 reads and writes data by transmitting the ID and the data to be written together with the write command to the storage node 5 that is the data storage destination.
  • the management node 4 is a terminal device operated by an administrator of the distributed data storage system 3.
  • An administrator of the distributed data storage system 3 can operate the management node 4 to access the storage nodes 5 and 6, set system configuration information, and perform various settings necessary for operation.
  • FIG. 2 is a block diagram showing the configuration of the management node according to the first embodiment of the present invention. As shown in FIG. 2, the input / output unit 7, the setting unit 10, the determination unit 12, the transmission unit 13, and the storage unit 14 are connected to the management node 4.
  • the input / output unit 7 is connected to the keyboard 8 and the mouse 9 and transfers signals sent from the keyboard 8 and the mouse 9 to each unit via the bus.
  • the setting unit 10 is connected to the monitor 11. When a system configuration change occurs due to the installation, addition, or failure of storage nodes having different I / O performance in the distributed data storage system 3, the setting unit 10 displays the system configuration information on the monitor screen.
  • the system configuration information includes the logical data capacity, storage node IP address information, storage node availability, and a calculation result based on a predetermined arithmetic expression. Storage information that associates a value with a data storage destination ”.
  • the setting unit 10 sets the latest system configuration information reflecting the system configuration change based on the installation, addition, failure, or the like of the storage node.
  • the setting unit 10 divides the storage area of the installed or additional storage node into a first storage area and a second storage area, and sets the logical capacity of each area.
  • the determination unit 12 determines system configuration information reflecting the configuration change of the distributed data storage system based on the information set by the setting unit 10.
  • the transmission unit 13 transmits the information set by the setting unit 10 and the system configuration information determined by the determination unit 12 to the client device 1 and / or each storage node via the network 2.
  • the storage unit 14 stores information set by the setting unit 10 and system configuration information determined by the determination unit 12.
  • Consistent Hashing is used as an arithmetic expression for the client apparatus 1 to determine the data placement destination.
  • the management node 4 assigns virtual nodes according to the storage capacity installed in each node. Further, the number of virtual nodes and the virtual node number are assigned according to the logical data capacity set for each node.
  • Reference node 1 Virtual node 1
  • Reference node 2 Virtual node 2
  • Node 1 with double logical capacity 1 Virtual nodes 3, 4
  • the number of each virtual node is a result (value) calculated by an arithmetic expression, and the correspondence relationship of the virtual node in each node is stored information in the storage unit 14.
  • Pieces of information are set by the system operation manager, and are set information set in advance by the management node 4.
  • the management node 4 manages the storage nodes 5 and 6 via the network 2 based on the above configuration.
  • management node 4 may be configured by any one storage node 5.
  • FIG. 3 is a block diagram showing the configuration of the storage node 5.
  • the storage node 5 includes a data input / output management unit 15, a data storage destination management unit 16, a storage usage management unit 17, and a storage unit 18 having a storage device 19. Each unit is connected to the internal bus of the storage node 5.
  • each storage node 5 has a storage device 19 connected thereto.
  • the storage node 5 manages the data stored in the storage device 19 and provides the managed data to the client device 1 via the network 2.
  • the storage node 5 manages data with redundancy. That is, data having the same content is managed by at least two storage nodes.
  • the storage device 19 is composed of a single hard disk (HDD) without using a disk array.
  • a storage device may be composed of a plurality of devices with different performances (for example, a combination of SSD and HDD).
  • the storage device 19 may be a RAID (Redundant Array of Inexpensive Disks) system using a plurality of built-in HDDs, or a disk array may be configured using a technique other than RAID.
  • the storage device provides a disk management service for a single hard disk (HDD).
  • the data input / output management unit 15 is in charge of input / output of data transmitted / received via the network 2.
  • the client device 1 When a system configuration change occurs in the distributed data storage system 3 due to an addition or failure of a storage node, the client device 1 does not hold system configuration information reflecting the system configuration change generated in the management node 4. Further, it is conceivable that the client device 1 transmits a write command to an incorrect node.
  • the data input / output management unit 15 performs a calculation based on an arithmetic algorithm with the data ID included in the write command transmitted to the own node as an input, and the value of the calculation result and the system configuration from the management node 4
  • the stored information included in the information is collated to determine whether the data access request is a request for the own node.
  • the data input / output management unit 15 determines that the data access request is a request for the own node, and according to the data access request, the data ID and the data read / write The command is transmitted to the data storage destination management unit 16.
  • the data input / output management unit 15 determines that the request is not for the node itself, and returns an error indicating that the data storage destination is not the client device 1.
  • the client device 1 When acquiring the error, the client device 1 requests the management node 4 to transmit the latest system configuration information and assigns an ID to the data to be written. Further, in order to calculate the data storage destination, the client device 1 uses a predetermined arithmetic expression and calculates a value indicating the data storage destination using the ID as input data.
  • the client device 1 collates the value calculated by the arithmetic expression with the storage information included in the latest system configuration information transmitted from the management node 4, and resets the data storage destination.
  • the client device 1 reads and writes data by retransmitting the ID and the data to be written together with the write command to the storage node 5 that is the data storage destination that has been reset.
  • the data storage destination management unit 16 manages a table that associates the physical address that is the data storage destination of the storage device 19 of the own node with the ID of the data to be written requested by the data input / output management unit 15. Yes.
  • the data storage destination management unit 16 reads / writes data from the storage device 19 in accordance with the data ID specified by the data input / output management unit 15 and the data read / write command, and is given to the data input / output management unit 15. Returns the response of the command.
  • the contents of the above-described table are general data management tables in which data IDs, storage device physical addresses, and access frequency information are linked.
  • the data storage destination management unit 16 can extract the physical address and access frequency information of the storage device with the data ID as an input.
  • the data storage destination management unit 16 registers the request as access frequency information of the data ID in the table.
  • the storage usage management unit 17 manages free addresses of the storage device 19.
  • the data storage destination management unit 16 acquires a free address from the storage usage management unit 17 and stores the storage device 19. Write to.
  • the address at which data was written to the storage device 19 is managed as an address in use by the storage usage management unit 17.
  • the storage usage management unit 17 sets all the storage devices 19 based on the logical data capacity included in the system configuration information transmitted from the management node 4 when the storage node 5 is incorporated into the distributed data storage system 3. Are classified into two types: an address for the first storage area and an address for the second storage area. In this case, the storage usage management unit 17 classifies the addresses so that the logical data capacity satisfies the capacity of the first storage area and the capacity of the second storage area.
  • the storage device 19 is configured by a general storage device such as an HDD or an SSD, but may be configured by combining a plurality of different devices. When a plurality of different devices are combined, the storage usage management unit 17 allocates a device with higher I / O performance as the first storage area.
  • the newly introduced storage node 6 may be mounted using the same hardware as the existing storage node 5.
  • FIGS. 4 to 6 are flowcharts showing data write processing from the client apparatus 1 to the distributed data storage system 3 when a storage node 6 having different I / O performance is newly introduced. The processing shown in FIGS. 4 to 6 will be described below with reference to flowcharts.
  • Step S401 As shown in FIG. 1, as the I / O performance value of the existing storage node 5, the distributed storage system 3 having a logical capacity of 10 is added to the storage node 6 having an I / O performance value of 20. Is newly introduced. In this case, the management node 4 sets the system configuration information reflecting the system configuration change based on the addition of the storage nodes 6 having different performances.
  • Step S402 The management node 4 divides the storage device managed by the newly introduced storage node 6 into a first storage area and a second storage area, and sets the respective capacities based on the following conditions: Assign.
  • the following conditions are rules for setting the capacity allocated to each node.
  • the management node 4 When setting the capacity allocated to each node, the management node 4 is set to match the I / O performance value of the node constituting the system as a part of the information included in the system configuration information managed by the management node 4. . That is, the management node 4 sets the capacity based on the following rules.
  • Condition 1) The management node 4 determines the I / O performance value of the reference storage node 5.
  • the management node 4 determines the logic of the first storage of the storage node 6 with different I / O performance.
  • the capacity is set to N times the reference node (N is an integer greater than 0).
  • the management node 4 determines the logical capacity of the first storage of the storage node 6 with different I / O performance. Is set to twice the logical capacity of the reference node to match the I / O performance of the storage node 6. As a result, the problem that the performance of nodes with different I / O performance becomes a bottleneck can be solved, so that the performance of the entire system can be maintained.
  • Condition 2 When the capacity of the storage device in the storage node 6 having different I / O performance is equal to or more than N times that of the storage device in the reference storage node 5 in the condition 1), the management node 4 has N in the storage node 6 The remaining capacity exceeding the double is set as the second storage area, and the second storage area is not set in the reference storage node 5 (not the data relocation destination).
  • the management node 4 has the remaining capacity exceeding twice in the storage node 6. Is set as the second storage area.
  • the storage node 6 can hold twice the capacity in the first storage area in accordance with the I / O performance, so the performance of the storage node 6 with different I / O performance becomes a bottleneck. Can be solved, and the performance of the entire system can be maintained.
  • Condition 3 When the second storage area is set in the reference storage node 5 in the conditions 1) and 2), the capacity that is N times the capacity allocated to the first storage area of the reference storage node is I / O. Allocation is performed as the capacity of the first storage area of the storage node 6 having different performance.
  • the logical capacity of the first storage area of the storage node 6 is the first storage area of the reference storage node 5. Is set to twice the capacity allocated to.
  • the storage node 6 can hold twice the capacity in the first storage area in accordance with the I / O performance, so the performance of the storage node 6 with different I / O performance becomes a bottleneck. Can be solved, and the performance of the entire system can be maintained.
  • Condition 4) In the condition 1), when the capacity of the storage device in the storage node 6 with different I / O performance is N times or less than the storage device of the reference storage node 5, the management node 4 has different I / O performance. All the storage devices in the storage node 6 are allocated as the first storage area with the upper limit being the capacity of the storage device.
  • the I / O performance of the storage node 6 is twice the I / O performance of the reference storage node 5 as compared to the reference node, and the capacity of the storage device in the storage node 6 having different I / O performance is the reference storage node 5
  • the management node 4 allocates all the storage devices in the storage node 6 having different I / O performances as the first storage area with the upper limit.
  • Condition 5 In the conditions 1) and 4), 1 / N capacity of the capacity of the first storage area in the storage node 6 having different I / O performance is allocated as the capacity of the first storage area of the reference storage node.
  • the I / O performance of the storage node 6 is twice the I / O performance of the reference storage node 5, and the storage device capacity in the storage node 6 with different I / O performance is the storage device of the reference storage node 5. It is assumed that it is 2 times or less.
  • the management node 4 assigns a capacity of 1 ⁇ 2 of the capacity of the first storage area in the storage node 6 having different I / O performance as the capacity of the first storage area of the reference storage node 5.
  • condition 1) the management node 4 can adjust the logical capacity to the I / O performance, and can solve the problem that the performance of nodes with different I / O performance becomes a bottleneck, The overall system performance can be maintained.
  • Condition 6) When there are three or more types of I / O performance and storage nodes 6 with different storage logical capacities, the node with the lowest I / O performance is set as the reference storage node. Based on conditions 1) to 5), The capacity of the first storage area and the capacity of the second storage area are set.
  • the node with the lowest I / O performance is set as the reference storage node. Therefore, based on the conditions 1) to 5), the logical capacity of the first storage area of the storage node with the lowest capacity is used as a reference. It can be easily adjusted to the I / O performance of the storage node.
  • Condition 7 When the storage nodes 5 and 6 are combinations of storage nodes that do not meet the conditions 1) to 6), the storage node having the smallest storage capacity is set as the reference storage node.
  • the management node 4 can easily solve the problem that the storage node becomes a bottleneck by setting the I / O performance of the storage node according to the capacity of the reference storage node.
  • the management node 4 selects only the device with the highest I / O performance.
  • the capacity of the first storage area and the logical capacity of the second storage area are set according to the conditions 1) to 6) based on the I / O performance and the storage logical capacity when used.
  • the management node 4 is set based on the condition 1). That is, the management node 4 sets the logical capacity of the first storage area of the introduced storage node 6 to 20 which is twice the capacity of the reference storage node 5.
  • the logical capacity of the newly introduced storage node 6 can be matched with the I / O performance, so that there is no difference between the logical capacity of the storage node 6 and the I / O performance.
  • Step S403 The management node 4 transmits the changed system configuration information and setting information such as the logical capacity of the first storage area to the client device 1 and all the storage nodes 5 and 6. Alternatively, the management node 4 may transmit the information when there is a request for transmission of changed system configuration information or setting information from the client device 1 or the storage nodes 5 and 6.
  • Step S404 When there is a request for new writing from the user, the client apparatus 1 assigns an ID to the data to be written, and uses the ID as input data, a predetermined arithmetic expression, and the management node 4 Based on the acquired system configuration information, the storage node 5 as the data storage destination is set.
  • Step S405 The client apparatus 1 transmits the ID and the data to be written together with the write command to the storage node 5 that is the storage destination of the data set in Step S404.
  • Step S406 The data input / output management unit 15 of the storage node 5 calculates the data ID included in the write command transmitted to the own node as an input by an arithmetic algorithm. Further, the data input / output management unit 15 collates the calculated value with the storage information included in the system configuration information from the management node 4, and determines whether the data access request is a request for the own node.
  • the data input / output management unit 12 determines that the own node is the storage destination, and the data input / output management unit 15 writes the write request transmitted from the client device 1. Is transferred to the data storage destination management unit 16.
  • Step S407 The data storage destination management unit 16 checks whether the data ID included in the write request exists in the table in which the data ID and the storage device 19 are associated.
  • Step S408 The data storage destination management unit 16 acquires an address associated with the table.
  • Step S409 The data storage destination management unit 16 writes the data included in the write request to an appropriate address of the storage device 19 based on the acquired address.
  • Step S410 The data storage destination management unit 16 transfers the completion of writing to the data input / output management unit 15. In response to the completion of writing, the data input / output management unit 15 notifies the client device 1 that the write request has been completed.
  • Step S ⁇ b> 4111 the data storage destination management unit 16 acquires a free address from the storage usage management unit 17 in the first storage area. Next, the data storage destination management unit 16 associates the ID included in the data write request with the empty address, registers it as a new entry on the table, and completes the writing.
  • Step S412 When the usage amount of the first storage area becomes a certain amount or more, and the usage amount of the storage device secured as the first storage area is equal to or more than the predetermined usage amount, In other words, when the number of free addresses is equal to or less than a predetermined number, the storage usage management unit 17 raises an alarm of excess usage to the data storage destination management unit 16.
  • the data storage destination management unit 16 refers to the access frequency information of each ID managed on the table in which the ID and the data storage destination address to the storage device 19 are linked with an alarm as a trigger. Next, the data storage destination management unit 16 extracts ID groups for a predetermined fixed amount of data from IDs with the lowest access frequency.
  • Step S414 The data storage destination management unit 16 performs a cyclic bit shift by a predetermined number of binary data constituting the extracted ID. Thereafter, the data storage destination management unit 16 uses the shifted ID data as input data, system configuration information shared among the client device 1, the storage nodes 5, 6 and the management node 4, and an arithmetic data storage destination. Using this setting method, a new data storage destination is set. The storage destination is the ID data re-storage destination.
  • Step S415 ⁇ When the re-storage destination is the local node> (Step S415) As shown in FIG. 5, the data storage destination management unit 16 instructs the storage usage management unit 17 to change the address associated with the ID from the first storage area to the second storage area. Notify that the assignment has changed.
  • Step S416) Upon receipt of the notification, the storage usage management unit 17 registers the corresponding address as the address of the second storage area, and from the addresses assigned to the second storage area, the free address Is selected and registered as the address of the first storage area.
  • the data storage destination management unit 16 may rearrange data from the first storage area to the second storage area.
  • Step S41-7 The data storage destination management unit 16 writes the data included in the write request to the address registered as the address of the first storage area.
  • Step S4128 The data storage destination management unit 16 transfers the completion of writing to the data input / output management unit 15. In response to the completion of writing, the data input / output management unit 15 notifies the client device 1 that the write request has been completed.
  • Step S419) As shown in FIG. 6, the data storage destination management unit 16 reads the data corresponding to the ID from the storage device 19, and the address corresponding to the ID is released (becomes a free address). Is notified to the storage usage management unit 17. Furthermore, the data storage destination management unit 16 replaces the address information with an identifier indicating that it has been re-stored in a table that manages the ID and the address information of the storage device 19 in association with each other.
  • Step S420 the data storage destination management unit 16 sets the data read from the storage device 19 and the ID after re-stored by cyclic bit shift, as the storage destination via the data input / output management unit 12. Transfer to the storage node 6 together with the re-store command.
  • Step S421 The data input / output management unit 15 of the storage node 6 that has become the re-storage destination receives the re-storage request, and then transfers the request to the data storage destination management unit 16.
  • the data storage destination management unit 16 acquires a free address from the addresses reserved as the second storage area from the storage usage management unit 17 and registers it as a new entry in the table that associates the ID with the address. After that, the data is stored in the free address.
  • the data storage destination management unit 16 may acquire a free address in the first storage area and store the data at the address.
  • Step S422 The notification of completion of the processing in Step S421 is transferred to the storage node 5 that is the storage source via the data input / output management unit 15. Restorage source storage node 5 receives the write completion notification and notifies client device 1 that the write request has been completed.
  • the management node 4 when configured with storage node groups having different I / O performances, has the logical capacity and the I / O performance of each storage node.
  • the logical capacity of the storage node can be set based on the number of data access I / Os in accordance with the performance difference.
  • FIG. 7 is a block diagram showing the configuration of the storage node management apparatus 700 according to the second embodiment of the present invention. As illustrated in FIG. 7, the storage node management apparatus 700 includes a setting unit 701, a determination unit 702, and a transmission unit 703.
  • the storage node management device 700 is connected to a plurality of storage nodes 5 and 6 via the network 2.
  • An administrator of the distributed data storage system 3 operates the storage node management device 700. Based on the operation, the storage node management device 700 accesses the storage nodes 5 and 6 having different I / O performances, sets system configuration information, and performs various settings necessary for operation.
  • the setting unit 701 displays the system configuration information on the monitor screen.
  • the system configuration information is calculated based on “logical data capacity”, “storage node IP address information”, “presence / absence of storage node operation”, and “calculation result based on a predetermined arithmetic expression”.
  • Storage information for associating a value with a data storage destination ”.
  • the setting unit 10 sets the latest system configuration information that reflects the system configuration change that has occurred, based on the installation, addition, or failure of the storage node.
  • the setting unit 10 divides the storage area of the installed or additional storage node into a first storage area and a second storage area, and sets the logical capacity of each area.
  • the determination unit 702 determines system configuration information reflecting the configuration change of the distributed data storage system 3 based on the information set by the setting unit 701.
  • the transmission unit 703 transmits the information set by the setting unit 701 and the system configuration information determined by the determination unit 702 to the client device 1 or each of the storage nodes 5 and 6 via the network 2.
  • the storage node management device 700 uses the storage node logical capacity and I / O performance.
  • the logical capacity of the storage node can be set based on the number of data access I / Os in accordance with the respective performance differences.
  • the data storage capacity of the storage node is set to the number of data access I / Os according to the performance difference between the logical capacity and the I / O performance of the storage node. It becomes possible to set based on.
  • the performance difference between the logical capacity and I / O performance of the storage nodes constituting the distributed data storage system can be eliminated or minimized, and the H / W performance of each storage node can be made as close as possible to the maximum. Resources can be allocated. As a result, the overall performance of the distributed data storage system can be improved in both storage capacity and I / O performance.
  • the processing functions described with reference to the flowcharts can be realized by a computer.
  • a program describing the processing contents of the functions that the storage nodes 5 and 6, the management node 4, and the storage node management apparatus 700 should have is provided.
  • FIG. 8 is a circuit block diagram of a computer device of the management node 4 as the first embodiment of the present invention or the storage node management device 700 as the second embodiment.
  • the processing function of the management node 4 as the first embodiment of the present invention or the storage node management device 700 as the second embodiment is a ROM 803 (Read Only Memory) or a storage device (HDD).
  • the CPU 801 Central Processing Unit
  • the RAM 802 Random Access Memory
  • a program describing contents for realizing the processing function can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory.
  • Examples of the magnetic recording device include an HDD, a flexible disk (FD), and a magnetic tape (MT).
  • Optical discs include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc-Read Only Memory), CD-R (Recordable) / RW (Rewritable), and the like.
  • Magneto-optical recording media include MO (Magneto-Optical disk).
  • a portable recording medium such as a DVD or CD-ROM in which the program is recorded is sold. It is also possible to store the program in a server computer and transfer the program from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device.
  • the computer reads the program from its own storage device and executes processing according to the program.
  • the computer can also read the program directly from the portable recording medium and execute processing according to the program.
  • the computer can sequentially execute processing according to the received program.
  • the present invention can be applied to a case where storage nodes having different capacities and I / O performance are mixedly loaded in the distributed data storage system from the beginning.
  • the present invention may be a combination of any two or more configurations (features) of the above-described embodiments.
  • At least one reference storage node is set from the plurality of storage nodes having different I / O performance, and the I / O of the reference storage node is set.
  • the storage areas of the storage nodes other than the reference storage node are divided into the first storage area and the second storage area, and the logic of the first and second storage areas is divided.
  • Setting means for setting the capacity to match the I / O performance of storage nodes other than the reference storage node; Determining means for determining system configuration information reflecting a configuration change of the distributed data storage system based on the information set by the setting means;
  • a storage node management apparatus comprising: transmission means for transmitting the system configuration information determined by the determination means to the plurality of storage nodes having different I / O performances.
  • the setting means sets a capacity N times the logical capacity set in the first storage area of the reference storage node to the reference storage node.
  • the storage node management apparatus according to any one of appendices 1 to 3, wherein the logical capacity of the first storage area of the other storage node is set.
  • the setting means sets the storage node having the lowest I / O performance as a reference storage node, and sets the I / O of all storage nodes.
  • the storage management according to any one of appendices 1 to 4, wherein the logical capacity of the first storage area and the logical capacity of the second storage area are set so that the O performance and the storage capacity approach the maximum apparatus.
  • the setting means sets the node having the smallest storage capacity as the reference storage node, and sets the I / O performance and storage capacity of all the storage nodes to the maximum.
  • the storage management device according to any one of appendices 1 to 5, wherein a logical capacity of the storage area and a logical capacity of the second storage area are set.
  • At least one reference storage node is set from the plurality of storage nodes having different I / O performances.
  • the storage area of the storage node other than the reference storage node is divided into a first storage area and a second storage area, and the first and second storage areas
  • the storage node logical capacity setting method is set so as to match the I / O performance of the storage nodes other than the reference storage node.
  • Storage means having a storage device divided into a first storage area and a second storage area in the storage management device according to any one of appendices 1 to 6;
  • data input / output management means for determining whether the access request is for the own node;
  • a data storage management means for reading and writing data in accordance with a command to be instructed; Based on the logical capacity included in the system configuration information acquired from the storage management device according to any one of appendices 1 to 6, the storage is performed so that the first storage area and the second storage area are filled with capacity.
  • a storage node comprising storage usage management means for classifying device addresses.
  • Appendix 14 A distributed data storage system comprising: the storage management device according to any one of appendices 1 to 6; and the storage node according to appendix 13.

Abstract

 本発明の目的は、ストレージノードのI/O性能値に基づいて、ストレージ領域の論理容量を設定することができるストレージノード管理装置を提供することにある。 本発明のストレージノード管理装置は、分散データストレージシステムにおいて、複数のI/O性能の異なるストレージノードから少なくとも1つの基準ノードを設定し、前記基準ノードのI/O性能と論理容量とを参照して、前記基準ノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、前記各領域の論理容量を前記基準ノード以外のストレージノードのI/O性能に合わせるように設定する設定部と、 前記分散データストレージシステムの構成変更を反映したシステム構成情報を決定する決定部と、前記システム構成情報を前記複数のI/O性能の異なるストレージノードに送信する送信部とを備える。

Description

ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
 本発明は、ストレージノードのストレージ論理容量を設定する技術分野に関する。
 近年、ネットワークの高速化やインターネットの普及により大規模なデータ処理への需要が増加している。これに伴い、データ処理に用いるストレージノードが格納可能な容量(以下、「ストレージ容量」と称する)の増大も求められている。
 しかしながら、単一のサーバを用いてストレージノードを構成する場合、次のような問題点がある。第1にストレージノードの拡張性に限界があることである。第2にそのサーバが稼働する間にストレージ容量の拡充及びI/O(input/output:入出力)性能の拡充が困難であることである。そして、第3にストレージノードが単一障害点となるという問題である。これらの問題を解決するために分散データシステムという技術が提案されている。
 一般的に分散データシステムは、複数のサーバ装置の外部記憶装置を、ネットワークを介して接続された分散データストレージノードとして利用する。その分散データストレージノードは、ストレージデバイスが組み込まれた複数ノード群を連携させて動作する。従って、分散データストレージノードは、あたかも1つのノードとして振る舞うことが可能であるコンピュータシステムである。
 このような分散データストレージシステムは、システムを構成するノード(即ち、サーバ装置)を追加することに伴い、データの格納容量の拡充、データのアクセス性能の増強といったスケールアウト拡張性を保有することが特徴である。
 また、分散データストレージシステムは、書き込み要求のあったデータに関して、単一のノードではなく、複数のノードにデータの複製をコピーして保存している。このため、あるノードが障害によりアクセス不能となりストレージノードとして機能しなくなってしまった場合であっても、分散データストレージシステムは、次のような処理が可能である。即ち、障害が発生したノードが担当していたデータにアクセスする際の応答処理において、障害発生ノードが保持していたデータの複製を保持している他のノードがその障害発生ノードにおけるサービスを引き継ぐ。これによって、分散データストレージシステムは、システムの可用性を維持することができる。
 さらに、分散データストレージシステムはあるノードに格納されていたデータを、ノード故障により再び読み出すことが不可能となってしまっても、他のノードに格納された複製データを使用することができる。このため、データの消失が発生せず、同時に、データ保持の信頼性を維持することができる。
 従って、分散データストレージシステムは、そのシステム規模を自由に拡張できる点、さらに、システムを構成するノード処理性能の向上、ストレージデバイスの大容量化、及び低価格化等々のトレンドを受けて、様々なシステムで導入が進んでいる。
 但し、分散データストレージシステムは、提供するサービスの可用性やデータ保持の信頼性を維持するために、IT(Information Technology)システムにおけるサービス規模に応じて、必要とするハードウェアノードの台数が、ある一定規模必要である。
 実際にデータを物理的に格納するストレージデバイスとして、主に、HDD(ハードディスクドライブ:Hard Disk Drive)が採用されている。HDDは、長年大容量化の一途をたどっている。しかしながら、HDDはI/O性能の伸びが停滞しており、容量当たりのI/O性能も、年々減少している。
 一方、フラッシュメモリを記憶媒体とするSSD(ソリッドステートドライブ:Solid State Drive)は、HDDと同様に、年々大容量化が進んでいる。SSDは、HDDを大幅に超えるランダムアクセス性能を備えているため、近年需要が拡大している。
 さらに、DRAM(Dynamic Random Access Memory)に代表される揮発性メモリの大容量化、フラッシュメモリのI/O性能を大幅に超える次世代の不揮発半導体メモリを用いたストレージデバイスの開発も進んでいる。このようなストレージデバイスには、コスト、性能特性、容量の異なる複数のストレージデバイスが、単一のストレージシステム内におけるストレージデバイス群として採用されるようになってきている。
 このように、分散データストレージを構成するノードは、単にデータの格納容量の違いだけでなく、I/O性能の大幅に異なるデバイスを組み合わせることが可能となっている。
 また、分散データストレージシステムを運用する際には、新たにノードを追加することによりシステムを格納可能なスケールアウト拡張性を維持することが可能である。
 しかしながら、このようなスケールアウト拡張性を実現するためには、分散データストレージシステムを構成するノードの数が増加した場合においても、データを各ノード間で一様に分散させ、またデータの格納場所を容易に一意に設定する必要がある。
 このような特徴を実現するために、あるノードにおいてデータを特定するID(識別子)とデータの格納先をデータテーブルを用いて管理するのではなく、各ノードとデータにアクセスするクライアント間においてデータの格納先を算術的に設定するためのルールを共有する手法がある。
 この手法を採用することにより、クライアントがデータにアクセスする際、その都度、データの格納先を他のノードに問い合わせることなく、クライアントが独自にその格納先を設定できる。
 また、分散データストレージシステムを構成するノード数が増加して数百、数千台となることを考えた場合、次の問題が生じる。それは、特定の1台のノードがすべてのデータの格納先を管理する、また、クライアントからのデータ格納場所の問合せに応える場合、前記ノードがシステムの性能がボトルネックになるという問題点である。
 前述した算術的なデータ格納場所の設定手法を採用すれば、このような性能のボトルネックの発生を回避することができる。このデータ格納場所を算術的に設定するアルゴリズムとして、コンシステントハッシング(Consistent Hashing)と呼ばれるハッシュ関数を組み合わせたアルゴリズム、或いはランダム関数を組み合わせたアルゴリズムなどがある。
 これらのアルゴリズムは、均等なデータ格納の割り当てる。これにより、同一の性能で構成された複数のノード群を連携させた分散データストレージシステムにおいて、特定のノードに偏りが発生して、特定のノードのみデータの格納容量を超過するという問題、または、特定のノードにアクセスの偏りが発生して、性能低下を起こすといった問題を回避することが可能である。
 この算術的なデータ格納場所の設定手法は、下記の特徴を有する。即ち、個々のデータにあらかじめ割り当てられたデータ識別子(ID)と、データ本体そのものを入力データとして設定する。この場合、「システムを構成するノード数」、「各ノードに割り当てる論理的なデータ容量」、「ノードのIPアドレス(Internet Protocol Address)情報」、「ノードの稼働の有無、及びあらかじめ決められた算術式による算出結果の値とデータ格納先を紐づける格納情報」を含むシステムの構成情報を、算術に用いるパラメータとして設定する。そして、その手法では、パラメータを利用して算出された値によりデータの格納先となるノードを設定する。
 したがって、このような設定手法では、ノード追加やノードの故障といったシステム構成が変更された際に、そのシステム構成情報のみを、システムを構成するノードと、データをアクセスするクライアントとの間で共有することができる。従って、すべてのデータをどのノードに格納すべきか一意に設定することが可能となる。
 以上説明したように、分散データストレージシステムを構成するノードがすべて均一の容量であり、且つI/O性能を保持していた場合、算術的なデータ格納先設定手法を用いて、すべてのノードに一様にデータが分散格納されるようにシステム構成情報を設定すればよい。
 このように設定された分散データストレージシステムは、データの新規作成や書き込みに伴う、各ノードのストレージ容量の消費量と、データアクセスI/O数とを均等に分散することができる。
 しかし、前述した分散データストレージシステムを長期的に運用する場合、すでに同一性能のストレージノードを調達することができないことを解決する必要がある。この場合、システムに組み込まれているストレージノードと異なる容量及びI/O性能を備えるストレージノードを、新規に導入するストレージノードとして組み込むことが考えられる。
 また、最初から性能の異なるストレージノードからシステムを構成することも考えられる。
 例えば、特許文献1は、マルチノードストレージシステムを提案している。マルチノードストレージシステムは、管理ノードと多種多様なストレージデバイスを管理する多種多様なストレージノードとが、ネットワークを介して相互に接続されている。また、管理ノードは多種多様なストレージノードからデータの管理に関する情報を取得し、必要に応じて論理ボリュームを更新する。
 また、特許文献2に記載されたシステムは、何れのストレージノードがデータを保持するかを、データに付与されるキーから算出されるハッシュ値に基づいて判断する。キーに対するハッシュ値は、例えば、MD5(Message Digest algorithm 5)を用いて算出できる。システムは、SHA(Secure Hash Algorithm)など他のハッシュ関数を用いてもよい。
 このように、キーに対するハッシュ値に基づいて担当のストレージノード(以下、担当ノードということがある)を判定する方法は、コンシステントハッシング(Consistent Hashing)と呼ばれることがある。ハッシュ値に対する担当ノードを管理する担当管理テーブルに基づいて、アクセス先の担当ノードを判断する分散ストレージシステムが特許文献2で提案されている。
 さらに、特許文献3に記載されたシステムは、データの配置方法に対して、第一の記憶領域と第二の記憶領域とに分ける。第一の記憶領域の空き領域がなくなった場合、第二の記憶領域にユーザ情報として記憶し、第一の記憶領域に記憶されたユーザ情報と第二の記憶領域に記憶されたユーザ情報とをユーザ情報の使用頻度に基づく条件で入れ替えを行うデータを分散して配置する。
特開2009-151519号公報 特開2013-045379号公報 特開2010-152715号公報
 しかし、異なる容量及びI/O性能を備えるストレージノードを設置又は新規導入する場合、性能の偏りに合わせて、確率的にデータ格納量と、データアクセスI/O数に偏りを持たせる必要がある。そのために、算術的なデータ格納先の設定手法におけるシステム構成情報のうち、導入ノードの性能倍数分の重みを割り当てることで、特定のノードに性能に応じたデータ格納容量及びデータアクセスI/O数を処理できるように設定することが要求される。
 たとえば、新規導入ノードのストレージ論理容量が、システム内で運用中のノードの論理容量の2倍であった場合、新規導入ノードへの重みを他のノードの2倍に設定する。その結果、確率的に2倍の容量のデータが配置されるように設定することが可能となる。
 しかし、システムが前述の異なる性能を有するノードを新規に導入する際、データの容量に合わせて前記重みをかけると、データアクセスI/O数は、かけた重みの数だけ他のノードよりも増える。
 例えば、論理容量に合わせて2倍の重みを設定した場合、新規導入ノードは、2倍のI/Oを処理できるI/O性能を備える必要がある。そうでないと、新規導入ノードが性能のボトルネックになる。従って、システム全体の性能が劣化するという問題がある。
 同様に、新規導入ノードが既設のノードに比べて10倍のI/O性能を保持しており、他のノードに比べて10倍の重みを設定した場合、ストレージ論理容量が10倍以上なければ、他のノードよりも新規導入ノードのストレージ消費率が上がる。この結果、システム全体のストレージ消費率が低下する。
 つまり、他のノードのストレージ消費量に余裕があるにも関わらず、新たに新規導入ノードを追加してストレージ容量を拡大しなければならないという問題がある。
 分散データストレージシステムは、算術的にデータ格納先を設定する手法に基づいてデータやデータアクセスI/Oを分散させる機能を備えている。しかし、分散データストレージシステムには、異なる性能のストレージノードを組み込む場合に、ストレージ論理容量、およびI/O性能に合った、データ格納容量、およびデータアクセスI/O数をそれぞれ割り当てることが困難であるという問題がある。
 特許文献1~3に記載されている技術を用いることにより、異なる性能のノードの使用及びデータ管理情報に基づいてノードの論理ボリュームを更新することができる。
 また、特許文献2に記載されているストレージ制御方法は、アクセス先のノードを判別することができる。さらに特許文献3に記載されているアクセス制御方法は、データを第1の記憶領域又は第2の記憶領域へ記憶すること、及びデータの使用頻度に応じてデータの入れ替えを行うことが可能である。
 しかしながら、特許文献1乃至3に記載された技術は、I/O性能の差異に基づいて、ノードのストレージ領域の容量を設定することはできない。
 本発明は、このような課題に鑑みてなされたものであり、ストレージノードのI/O性能値に基づいて、ストレージ領域の論理容量を設定することができるストレージノード管理装置、ストレージノード論理容量の設定方法、プログラム、記録媒体および分散データストレージシステムを提供することを主たる目的とする。
 本発明の一実施形態に係るストレージノード管理装置は、I/O性能の異なる複数のストレージノードに基づいて、分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定し、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する設定手段と、
 前記設定部により設定した情報に基づいて、前記分散データストレージシステムの構成変更を反映したシステム構成情報を決定する決定手段と、
 前記決定部により決定したシステム構成情報を前記複数のI/O性能の異なるストレージノードに送信する送信手段とを備える。
 本発明の一実施形態に係るストレージノード論理容量設定方法は、I/O性能の異なる複数のストレージノードに基づいて、分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定し、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する。
 本発明の一実施形態に係るプログラムは、I/O性能の異なる複数のストレージノードに基づいて、分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定する処理と、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する処理とをコンピュータに実行させる。
 本発明の一実施形態に係る記録媒体は、I/O性能の異なる複数のストレージノードに基づいて、分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定する処理と、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する処理とをコンピュータに実行させるプログラムを記録する。
 本発明の一実施形態に係るストレージノードは、前記ストレージ管理装置で第1のストレージ領域と第2のストレージ領域に分割されるストレージデバイスを有する格納手段と、
 前記格納部に格納するデータにアクセス要求がある場合、自ノード向けのアクセス要求であるかどうかを判定するデータ入出力管理手段と、
 書き込み対象となるデータのID、データ格納先となる物理アドレス、アクセス頻度情報の3つの情報を紐づけたデータ管理テーブルを管理し、前記データ入出力管理部によって指定されたデータのIDとデータの読み書きの命令に応じて、データの読み書きを行うデータ格納管理手段と、
 前記ストレージ管理装置から取得するシステム構成情報に含まれる論理容量に基づき、前記第1のストレージ領域と第2のストレージ領域に容量を満たすように前記ストレージデバイスのアドレスを分類するストレージ使用量管理手段とを備える。
 本発明の一実施形態に係る分散データストレージシステムは、前記ストレージ管理装置とストレージノードとを備える。
 本発明によれば、ストレージノードのI/O性能値に基づいて、ストレージ領域の論理容量を設定することができるストレージノード管理装置、ストレージノード論理容量の設定方法、プログラム、記録媒体および分散データストレージシステムを提供することができる。
本発明の第1の実施形態に係る分散データストレージシステムの構成を示すブロック図である。 本発明の第1の実施形態に係る管理ノードの構成を示すブロック図である。 本発明の第1の実施形態に係るストレージノードの構成を示すブロック図である。 本発明の第1の実施形態に係るデータ書き込み動作を示すフローチャートである。 本発明の第1の実施形態に係るデータ書き込み動作の一部を示すフローチャートである。 本発明の第1の実施形態に係るデータ書き込み動作の一部を示すフローチャートである。 本発明の第2の実施形態に係るストレージノード管理装置の構成を示すブロック図である。 本発明の第1の実施形態としての管理ノード4または第2の実施形態としてのストレージノード管理装置700のコンピュータ装置の回路ブロック図である。
 以下、本発明の実施形態について図面を参照して詳細に説明する。

[第1の実施形態]
 図1は、本発明の第1の実施形態に係る分散データストレージシステムの構成を示すブロック図である。図1に示すように、分散データストレージシステム3は、1つの管理ノード4および少なくとも性能は同一の2台以上のストレージノード5がネットワークを介して相互通信可能に接続されている。
 また、少なくとも1台以上のクライアント装置1がネットワーク2を介して複数のストレージノード5、及び後に追加される複数のストレージノード6に相互通信可能に接続されている。
 クライアント装置1は、ユーザが操作するコンピュータである。ユーザは、新規書き込みの要求があった場合、クライアント装置1を操作して、分散データストレージシステム3のストレージノード5にアクセスするデータアクセス要求を送信する。
 このアクセスに応じて、クライアント装置1は、データの格納先を算出するために、あらかじめ決められている算術式を使う。即ち、クライアント装置1は、書き込み対象となるデータにIDを付与し、当該IDを算術式の入力データとして用い、データ格納先を示す値を算出する。
 そして、クライアント装置1は、算出した値を管理ノード4から取得したシステム構成情報に含まれる格納情報と照合してデータの格納先を設定する。さらに、クライアント装置1は、データの格納先となるストレージノード5へ、前述のIDと書き込み対象となるデータとを書き込み命令とともに送信することで、データの読み書きを行う。
 管理ノード4は、分散データストレージシステム3の管理者が操作する端末装置である。分散データストレージシステム3の管理者は、管理ノード4を操作して、ストレージノード5、6にアクセスし、システム構成情報を設定して運用に必要な各種設定を行うことができる。
 図2は、本発明の第1の実施形態に係る管理ノードの構成を示すブロック図である。図2に示すように、管理ノード4は、入出力部7、設定部10、決定部12、送信部13、及び記憶部14が接続されている。
 入出力部7は、キーボード8とマウス9とが接続されて、キーボード8やマウス9から送られてくる信号を、バスを介して各部に転送する。
 設定部10は、モニタ11と接続されている。分散データストレージシステム3に異なるI/O性能のストレージノードの設置、追加や障害等によりシステムの構成変更が発生した場合、設定部10は、システム構成情報をモニタの画面に表示する。
 システム構成情報は、「論理的なデータ容量」や「ストレージノードのIPアドレス情報」、「ストレージノードの稼働の有無」、「あらかじめ決められた算術式による算出結果をもとに、その算出結果の値とデータ格納先を紐づける格納情報」とからなる。
 そして、設定部10は、ストレージノードの設置、追加や障害等に基づいて、システム構成変更を反映した最新のシステム構成情報を設定する。また、設定部10は、設置、又は追加のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割して、各領域の論理容量の設定を行う。
 決定部12は、設定部10によって設定された情報に基づいて、分散データストレージシステムの構成変更を反映したシステム構成情報を決定する。
 送信部13は、設定部10によって設定された情報及び決定部12によって決定されたシステム構成情報をネットワーク2を介して、クライアント装置1及び/又は各ストレージノードに送信する。
 記憶部14は、設定部10によって設定された情報及び決定部12によって決定されたシステム構成情報などを記憶する。
 システム構成情報のうち、「算術式に算出する算出結果、及び格納情報」の例を以下のように説明する。なお、割り当て方法は利用する算術式に応じて異なる。
 クライアント装置1がデータの配置先を決める算術式に、例えば、Consistent Hashingを用いる。この場合、管理ノード4は、各ノードが搭載するストレージ容量に合わせて、仮想ノードを割り当てる。さらに、各ノードに設定する論理的なデータ容量に応じて、バーチャルノード数、およびバーチャルノード番号を割り当てる。
 例えば、2台の基準ノード、論理データ容量が2倍となる2台のノードを有する計4台のノードを含むシステムが構成される場合、基準ノードにバーチャルノードを1つずつ、論理容量が2倍のノードにバーチャルノードを2つずつを割り当てたと仮定する。このようなシステムの場合、計6つのバーチャルノードが必要となる。

例えば、次のように割り当てられる。
 基準ノード1:バーチャルノード1
 基準ノード2:バーチャルノード2
 論理容量が2倍のノード1:バーチャルノード3、4
 論理容量が2倍のノード2:バーチャルノード5、6

 各バーチャルノードの番号が、算術式により算出される結果(値)であり、上記の各ノードにおけるバーチャルノードの対応関係が記憶部14の格納情報となる。
 これらの情報は、システムの運用管理者が設定するものであり、管理ノード4が事前に設定する設定情報である。
 管理ノード4は、以上のような構成に基づいて、ネットワーク2を介してストレージノード5、6を管理する。
 なお、管理ノード4が備える機能は、いずれか1台のストレージノード5が担う構成でもよい。
 図3は、ストレージノード5の構成を示すブロック図である。ストレージノード5は、データ入出力管理部15、データ格納先管理部16、ストレージ使用量管理部17、及びストレージデバイス19を有する格納部18を備える。各部がストレージノード5の内部バスに接続されている。
 各ストレージノード5は、図3に示すように、それぞれにストレージデバイス19を接続している。ストレージノード5は、ストレージデバイス19に格納されたデータを管理し、管理しているデータをネットワーク2を経由してクライアント装置1に提供する。
 また、ストレージノード5は、データに冗長性をもたせて管理している。すなわち、同一内容のデータが、少なくとも2つのストレージノードで管理されている。
 ストレージデバイス19は、ディスクアレイを用いずにハードディスク単体(HDD)で構成される。複数の性能の異なるデバイスでストレージデバイスが構成されても良い(例えば、SSDとHDDを組み合わせ)。
 また、ストレージデバイス19は、内蔵する複数のHDDを用いたRAID(Redundant Arrays of Inexpensive Disks)システムでも良く、RAID以外の技術を用いてディスクアレイを構成してもよい。本実施の形態では、ストレージデバイスは、ハードディスク単体(HDD)のディスク管理サービスを提供する。
 データ入出力管理部15は、ネットワーク2を介して送受信されるデータの入出力を担当する。
 分散データストレージシステム3にストレージノードの追加や障害等によりシステムの構成変更が発生する場合、クライアント装置1は管理ノード4で発生したシステム構成変更を反映したシステム構成情報を保持しない。また、クライアント装置1は、誤ったノードに書き込み命令を送信することが考えられる。
 この場合、データ入出力管理部15は、自ノードに送信された書き込み命令に含まれるデータIDを入力とした算術的アルゴリズムに基づいて計算を行い、計算結果の値と管理ノード4からのシステム構成情報に含まれる格納情報と照合し、データアクセス要求が、自ノード向けの要求であるかどうかを判定する。
 即ち、計算結果の値と格納情報とが一致する場合、データ入出力管理部15は、データアクセス要求を自ノード向けの要求であると判定し、データアクセス要求に従ってデータのIDとデータの読み書きの命令をデータ格納先管理部16に送信する。
 算出結果の値と格納情報とが一致しない場合、データ入出力管理部15は、自ノード向けの要求でないと判定し、クライアント装置1へデータ格納先ではない旨を表すエラーを返答する。
 クライアント装置1は、そのエラーを取得した場合、管理ノード4に最新のシステム構成情報の送信を要求し、書き込み対象となるデータにIDを付与する。さらにクライアント装置1では、データの格納先を算出するために、あらかじめ決められている算術式を使い、当該IDを入力データとしてデータ格納先を示す値を算出する。
 クライアント装置1は、算術式で算出した値を管理ノード4から送信された最新のシステム構成情報に含まれる格納情報と照合してデータの格納先を再設定する。
 クライアント装置1は、再設定したデータ格納先となるストレージノード5へIDと書き込み対象となるデータを、書き込み命令とともに再送信することで、データの読み書きを行う。
 データ格納先管理部16は、自ノードのストレージデバイス19のデータ格納先となる物理アドレスと、データ入出力管理部15により要求される書き込み対象となるデータのIDとを紐づけるテーブルを管理している。
 データ格納先管理部16は、データ入出力管理部15によって指定されたデータのIDとデータの読み書きの命令に応じて、ストレージデバイス19からデータの読み書きを行い、データ入出力管理部15に与えられた命令の応答を返す。
 前述のテーブルの内容は、データのID、ストレージデバイスの物理アドレス、アクセス頻度情報を紐づけた一般的なデータ管理テーブルである。データ格納先管理部16は、データIDを入力として、ストレージデバイスの物理アドレス及びアクセス頻度情報を抽出することができる。
 なお、データ格納先管理部16は、テーブルで管理するデータのIDごとに、データの読み書きといったデータアクセス要求があった場合、その要求を当該データのIDのアクセス頻度情報として、テーブルに登録する。
 ストレージ使用量管理部17は、ストレージデバイス19の空きアドレスを管理している。
 データ入出力管理部15からデータ格納先管理部16へ新規のデータの書き込み要求があった場合、データ格納先管理部16は、ストレージ使用量管理部17から空きアドレスを取得して、ストレージデバイス19に書き込みを行う。
 なお、ストレージデバイス19にデータの書き込みがあったアドレスは、ストレージ使用量管理部17にて使用中のアドレスとして管理される。
 また、ストレージ使用量管理部17は、ストレージノード5が分散データストレージシステム3に組み込まれる際、管理ノード4から送信されるシステム構成情報に含まれる論理的なデータ容量に基づき、ストレージデバイス19のすべてのアドレスを第1のストレージ領域用のアドレスと、第2のストレージ領域用のアドレスとの2種類に分類する。この場合、ストレージ使用量管理部17は、論理的なデータ容量が、第1のストレージ領域の容量と第2のストレージ領域に容量を満たすようにアドレスを分類する。
 ストレージデバイス19は、HDDやSSDといった一般的なストレージデバイスにより構成されているが、異なるデバイスを複数組み合わせて構成してもよい。異なるデバイスを複数組み合わせる場合においては、ストレージ使用量管理部17は、よりI/O性能の高いデバイスを第1のストレージ領域用として割り当てる。
 また、新規導入のストレージノード6も既設のストレージノード5と同様のハードウェアを用いて実装してもよい。
 図4~図6は、I/O性能の異なるストレージノード6が新規導入された場合、クライアント装置1から分散データストレージシステム3へのデータ書き込み処理を示すフローチャートである。以下、図4~図6に示す処理をフローチャートに沿って説明する。
 (ステップS401)図1に示すように、既設のストレージノード5のI/O性能値として、論理的な容量が10である分散ストレージシステム3に、I/O性能値が20であるストレージノード6が新規導入されると仮定する。この場合、管理ノード4は、当該性能の異なるストレージノード6の追加に基づいてシステム構成変更を反映したシステム構成情報を設定する。
 (ステップS402)管理ノード4は、新規に導入されるストレージノード6が管理しているストレージデバイスを第1のストレージ領域と第2のストレージ領域に分割して、それぞれの容量を下記の条件に基づいて割り当てる。
 また、下記の条件は、各ノードに割り当てる容量を設定するためのルールである。管理ノード4は、各ノードに割り当てる容量を設定する場合、管理ノード4で管理するシステム構成情報に含まれる情報の一部として、システムを構成するノードのI/O性能値に合わせるように設定する。即ち、下記ルールに基づき、管理ノード4が容量を設定する。

条件1) 管理ノード4は、基準となるストレージノード5のI/O性能値を決める。次に、I/O性能の異なるストレージノード6のI/O性能が基準ストレージノード5のN倍である場合、管理ノード4は、I/O性能の異なるストレージノード6の第1のストレージの論理容量を基準ノードのN倍に設定する(Nは、0より大きい整数である)。
 例えば、ストレージノード6のI/O性能が、基準ストレージノード5のI/O性能の2倍である場合、管理ノード4は、I/O性能の異なるストレージノード6の第1のストレージの論理容量を基準ノードの論理容量の2倍に設定し、ストレージノード6のI/O性能に合わせる。この結果、I/O性能の異なるノードの性能がボトルネックになるという問題を解決することができるので、システム全体の性能を維持することができる。

条件2) 条件1)において、I/O性能の異なるストレージノード6内のストレージデバイスの容量が、基準ストレージノード5のストレージデバイスのN倍以上ある場合、管理ノード4は、ストレージノード6内にN倍を超える残りの容量を、第2のストレージ領域として設定し、基準ストレージノード5には第2のストレージ領域を設定しない(データ再配置先とならない)。
 例えば、I/O性能の異なるストレージノード6内のストレージデバイスの容量が、基準ストレージノード5のストレージデバイスの2倍以上ある場合、管理ノード4は、ストレージノード6内に2倍を超える残りの容量を、第2のストレージ領域として設定する。
 このため、ストレージノード6は、I/O性能に合わせて、第1のストレージ領域に2倍の容量を保持することができるので、I/O性能の異なるストレージノード6の性能がボトルネックになるという問題を解決することができ、システム全体の性能を維持することができる。

条件3) 条件1)及び条件2)において、基準ストレージノード5に第2のストレージ領域を設定する場合、基準ストレージノードの第1のストレージ領域に割り当てた容量のN倍の容量を、I/O性能の異なるストレージノード6の第1のストレージ領域の容量として割り当てる。
 例えば、ストレージノード6のI/O性能が基準ストレージノード5のI/O性能の2倍である場合、ストレージノード6の第1のストレージ領域の論理容量が基準ストレージノード5の第1のストレージ領域に割り当てた容量の2倍に設定される。
 このように、ストレージノード6は、I/O性能に合わせて、第1のストレージ領域に2倍の容量を保持することができるので、I/O性能の異なるストレージノード6の性能がボトルネックになるという問題を解決することができ、システム全体の性能を維持することができる。

条件4) 条件1)において、I/O性能の異なるストレージノード6内のストレージデバイスの容量が、基準ストレージノード5のストレージデバイスのN倍以下の場合、管理ノード4は、I/O性能の異なるストレージノード6内のストレージデバイスの容量を上限として第1のストレージ領域としてすべて割り当てる。
 例えば、ストレージノード6のI/O性能が基準ストレージノード5のI/O性能が基準ノードの2倍であり、I/O性能の異なるストレージノード6内のストレージデバイスの容量が、基準ストレージノード5のストレージデバイスの2倍以下の場合、管理ノード4は、I/O性能の異なるストレージノード6内のストレージデバイスの容量を上限として第1のストレージ領域としてすべて割り当てる。
 このように、I/O性能の異なるストレージノード6内のストレージデバイスの容量を最大限に活用しながらストレージノード6のI/O性能に合わせることができる。よって、I/O性能の異なるストレージノード6の性能がボトルネックになるという問題を最大限に低減することができ、システム全体の性能を最大限に維持することができる。

条件5) 条件1)及び4)において、I/O性能の異なるストレージノード6における第1のストレージ領域の容量の1/Nの容量を、基準ストレージノードの第1のストレージ領域の容量として割り当てる。
 例えば、ストレージノード6のI/O性能が基準ストレージノード5のI/O性能の2倍であり、I/O性能の異なるストレージノード6内のストレージデバイスの容量が、基準ストレージノード5のストレージデバイスの2倍以下であると仮定する。この場合、管理ノード4は、I/O性能の異なるストレージノード6における第1のストレージ領域の容量の1/2の容量を、基準ストレージノード5の第1のストレージ領域の容量として割り当てる。
 従って、条件1)のように、管理ノード4は、論理容量をI/O性能に合わせるようになり、I/O性能の異なるノードの性能がボトルネックになるという問題を解決することができ、システム全体の性能を維持することができる。

条件6) 3種類以上のI/O性能、ストレージ論理容量の異なるストレージノード6が存在した場合、最もI/O性能の低いノードを基準ストレージノードとして設定し、条件1)~5)に基づき、第1のストレージ領域の容量、第2のストレージ領域の容量を設定する。
 この設定条件は、最もI/O性能の低いノードを基準ストレージノードとして設定しているので、条件1)~5)に基づき、最も容量の低いストレージノードの第1のストレージ領域の論理容量を基準ストレージノードのI/O性能に容易に合わせることができる。
 このため、I/O性能の異なるストレージノードの性能がボトルネックになるという問題を解決することができ、システム全体の性能を維持することができる。

条件7) ストレージノード5、6が条件1)~6)に合致しないストレージノードの組み合わせである場合、最も少ないストレージ容量となるストレージノードを基準ストレージノードとする。
 この設定条件は、最も少ないストレージ容量となるストレージノードを基準ストレージノードとする。従って、管理ノード4は、ストレージノードのI/O性能が基準ストレージノードの容量に合わせて設定することで、ストレージノードがボトルネックになるという問題を容易に解決することができる。
 なお、ストレージノード内において、複数の性能の異なるデバイスでストレージデバイスが構成されている場合(例えば、SSDとHDDを組み合わせた場合等)、管理ノード4は、最もI/O性能の高いデバイスのみを利用した場合におけるI/O性能、およびストレージ論理容量を基準に、条件1)~6)に従って、第1のストレージ領域の容量、および第2のストレージ領域の論理容量を設定する。
 本実施形態では、一例として、管理ノード4は、条件1)に基づいて設定する。即ち、管理ノード4は、導入されるストレージノード6の第1のストレージ領域の論理容量を、基準ストレージノード5の容量の2倍である20に設定する。
 これによって、新規に導入されたストレージノード6の論理的な容量をI/O性能に合わせることができるようになるので、ストレージノード6の論理的な容量とI/O性能との差がなくなる。
 (ステップS403)管理ノード4は、変更済のシステム構成情報と第1のストレージ領域の論理容量などの設定情報をクライアント装置1及び全てのストレージノード5、6に送信する。もしくは管理ノード4は、クライアント装置1やストレージノード5、6からの変更済のシステム構成情報または設定情報の送信要求があった際にそれらの情報を送信してもよい。
 (ステップS404)ユーザから新規書き込みの要求があった場合、クライアント装置1は、書き込み対象となるデータにIDを付与し、そのIDを入力データとして、あらかじめ決められた算術式、および管理ノード4より取得したシステム構成情報に基づいて、データの格納先となるストレージノード5を設定する。
 (ステップS405)クライアント装置1は、ステップS404で設定したデータの格納先となるストレージノード5へ、IDと書き込み対象となるデータを書き込み命令とともに送信する。
 (ステップS406)ストレージノード5のデータ入出力管理部15は、自ノードに送信された書き込み命令に含まれるデータIDを入力として算術的アルゴリズムにより計算する。さらに、データ入出力管理部15は、算出した値と管理ノード4からのシステム構成情報に含まれる格納情報とを照合し、データアクセス要求が、自ノード向けの要求であるかどうかを判定する。
 その判定により、算出した値と格納情報とが一致する場合、データ入出力管理部12は、自ノードが格納先となると判定し、データ入出力管理部15はクライアント装置1から送信された書き込み要求をデータ格納先管理部16に転送する。
 (ステップS407)データ格納先管理部16は、データIDとストレージデバイス19を紐づけたテーブルに、書き込み要求に含まれているデータIDが存在しているか確認する。
 <テーブルに書き込み要求に含まれているデータIDが存在している場合>
 (ステップS408)データ格納先管理部16は、テーブルに紐づけられているアドレスを取得する。
 (ステップS409)データ格納先管理部16は、取得したアドレスをもとに、ストレージデバイス19の適合するアドレスへ、書き込み要求に含まれているデータを書き込む。
 (ステップS410)データ格納先管理部16は、書き込みが完了したことを、データ入出力管理部15に転送する。データ入出力管理部15は、書き込み完了を受けて、クライアント装置1へ、書き込み要求が完了したことを通知する。
 <テーブルに書き込み要求に含まれているデータIDが存在してない場合>
 (ステップS411)図5に示すように、データ格納先管理部16は、ストレージ使用量管理部17から、第1のストレージ領域の中から空きアドレスを取得する。次に、データ格納先管理部16は、データ書き込み要求に含まれるIDと空きアドレスを紐づけて、テーブル上に新たなエントリとして登録して書き込みを完了する。
 (ステップS412)尚、第1のストレージ領域の使用量がある一定以上になった場合で、且つ第1のストレージ領域として確保しているストレージデバイスの使用量が、あらかじめ決められた使用量以上、つまり空きアドレスの数があらかじめ決められた一定数以下となった場合、ストレージ使用量管理部17は、データ格納先管理部16に、使用量超過のアラームを上げる。
 (ステップS413)データ格納先管理部16は、アラームをトリガーとして、IDとストレージデバイス19へのデータ格納先アドレスを紐づけたテーブル上で管理されている、各IDのアクセス頻度情報を参照する。次に、データ格納先管理部16は、もっともアクセス頻度の低いIDから、あらかじめ決められた一定データ量分のID群を抽出する。
 (ステップS414)データ格納先管理部16は、抽出されたIDを構成するバイナリデータをあらかじめ決められた数分だけ、巡回ビットシフトを実行する。その後、データ格納先管理部16は、シフトされたIDのデータを入力データとして、クライアント装置1、ストレージノード5、6、管理ノード4間で共有しているシステム構成情報、および算術的データ格納先の設定手法を用いて、新たにデータの格納先を設定する。その格納先は、IDのデータの再格納先となる。
 <再格納先が、自ノードである場合>
 (ステップS415)図5に示すように、データ格納先管理部16は、ストレージ使用量管理部17に対して、IDに紐づけられたアドレスが、第1のストレージ領域から第2のストレージ領域に割り当てが変更になったことを通知する。
 (ステップS416)ストレージ使用量管理部17は、その通知を受けて、該当するアドレスを第2のストレージ領域のアドレスとして登録するとともに、第2のストレージ領域に割り当てているアドレスの中から、空きアドレスを1つ選択し、第1のストレージ領域のアドレスとして登録する。
 ただし、ストレージデバイス19が複数の性能の異なるデバイスにより構成されていた場合は、データ格納先管理部16は、第1のストレージ領域から第2のストレージ領域へデータを再配置してもよい。
 (ステップS417)データ格納先管理部16は、第1のストレージ領域のアドレスとして登録されたアドレスへ、書き込み要求に含まれているデータを書き込む。
 (ステップS418)データ格納先管理部16は、書き込みが完了したことを、データ入出力管理部15に転送する。データ入出力管理部15は、書き込み完了を受けて、クライアント装置1へ、書き込み要求が完了したことを通知する。
 <ステップS414で設定される再格納先が、他のストレージノード6である場合>
 (ステップS419)図6に示すように、データ格納先管理部16は、ストレージデバイス19から前記IDに該当するデータを読み出し、前記IDに該当するアドレスが解放された(空きアドレスとなった)ことをストレージ使用量管理部17に通知する。さらに、データ格納先管理部16は、IDとストレージデバイス19のアドレス情報を紐づけて管理しているテーブルにおいて、アドレス情報を、再格納されたことを示す識別子に置き換える。
 (ステップS420)さらに、データ格納先管理部16は、ストレージデバイス19から読み出したデータと、巡回ビットシフトさせた再格納後のIDを、データ入出力管理部12を経由して、再格納先となるストレージノード6へ再格納命令とともに転送する。
 (ステップS421)再格納先となったストレージノード6のデータ入出力管理部15は、再格納要求を受け取った後、要求をデータ格納先管理部16へ転送する。
 データ格納先管理部16は、ストレージ使用量管理部17から、第2のストレージ領域として確保しているアドレスの中から空きアドレスを取得し、IDとアドレスを紐づけるテーブルに新たなエントリとして登録した後、空きアドレスにデータを格納する。
 この場合、第1のストレージ領域に格納する必要がある場合、データ格納先管理部16は、第1のストレージ領域の空きアドレスを取得して、当該アドレスにデータを格納しても良い。
 (ステップS422)ステップS421での処理の完了通知は、データ入出力管理部15を経由して、再格納元のストレージノード5に転送される。再格納元のストレージノード5は、書き込み完了通知を受けて、クライアント装置1へ、書き込み要求が完了したことを通知する。
 本発明の第1の実施形態としての分散データストレージシステムにおいて、異なるI/O性能を備えたストレージノード群によって構成される際、管理ノード4は、ストレージノードの論理容量とI/O性能のそれぞれの性能差に合わせて、ストレージノードの論理容量を、データアクセスI/O数に基づいて設定することが可能となる。
 これに基づいて、ストレージノードの性能がボトルネックにならず、システム全体の性能を維持するという効果がある。

[第2の実施形態]
 次に、本発明の第2の実施形態について図面を参照して詳細に説明する。なお、本実施形態の説明において、本発明の第2の実施形態に係るストレージノード管理装置700の構成と本発明の第1の実施形態に係る管理ノードの構成の以外に、本発明の第1の実施形態と同様なシステム構成や同様に動作するステップを有するので、それにおける詳細な説明を省略する。
 図7は、本発明の第2の実施形態に係るストレージノード管理装置700の構成を示すブロック図である。図7に示すように、ストレージノード管理装置700は、設定部701、決定部702、及び送信部703を備える。
 ストレージノード管理装置700は、ネットワーク2を介して複数のストレージノード5、6と接続している。
 分散データストレージシステム3の管理者がストレージノード管理装置700を操作する。そして、その操作に基づいて、ストレージノード管理装置700は、複数の異なるI/O性能のストレージノード5、6にアクセスし、システム構成情報を設定して運用に必要な各種設定を行う。
 分散データストレージシステム3に、異なるI/O性能のストレージノードの設置、追加や障害等によりシステムの構成変更が発生した場合、設定部701は、システム構成情報をモニタの画面に表示する。
 システム構成情報は、「論理的なデータ容量」、「ストレージノードのIPアドレス情報」、「ストレージノードの稼働の有無」、及び「あらかじめ決められた算術式による算出結果をもとに、その算出結果の値とデータ格納先を紐づける格納情報」とからなる。
 そして、設定部10は、ストレージノードの設置、追加や障害等に基づいて、発生したシステム構成変更を反映した最新のシステム構成情報を設定する。また、設定部10は、設置、又は追加のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割して、各領域の論理容量の設定を行う。
 決定部702は、設定部701によって設定された情報に基づいて、分散データストレージシステム3の構成変更を反映したシステム構成情報を決定する。
 送信部703は、設定部701によって設定された情報及び決定部702によって決定されたシステム構成情報をネットワーク2を介して、クライアント装置1や又は各ストレージノード5、6に送信する。
 本発明の第2の実施形態としての分散データストレージシステムは、異なるI/O性能を備えたストレージノード群によって構成される際、ストレージノード管理装置700は、ストレージノードの論理容量とI/O性能のそれぞれの性能差に合わせて、ストレージノードの論理容量を、データアクセスI/O数に基づいて設定することが可能となる。
 前述したように、本発明の第2の実施形態によれば、ストレージノードの論理容量とI/O性能のそれぞれの性能差に合わせて、ストレージノードのデータ格納容量を、データアクセスI/O数に基づいて設定することが可能となる。
 同様に、分散データストレージシステムを運用する際、すでにシステムに組み込み済のノードのストレージノードの容量、I/O性能リソースを未消費の状態であれば、余分なノードの追加を避けることが可能となる。
 従って、分散データストレージシステムを構成するストレージノードの論理容量とI/O性能の性能差がなくなり、もしくは最小限にすることができ、それぞれのストレージノードのH/W性能をできるだけ最大に近づけるようにリソースを割り当てることが可能となる。その結果、ストレージ容量、I/O性能の両面において、分散データストレージシステムの全体性能を向上させることが可能となる。
 また、上述した本発明の各実施形態において、各フローチャートを参照して説明した処理機能は、コンピュータによって実現することができる。その場合、ストレージノード5、6、管理ノード4、ストレージノード管理装置700が有すべき機能の処理内容を記述したプログラムが提供される。
 図8は、本発明の第1の実施形態としての管理ノード4または第2の実施形態としてのストレージノード管理装置700のコンピュータ装置の回路ブロック図である。
 図8に示すように、本発明の第1の実施形態としての管理ノード4または第2の実施形態としてのストレージノード管理装置700の処理機能は、ROM803(Read Only Memory)又は記憶装置(HDD)に記憶されたコンピュータ・プログラムをCPU801(Central Processing Unit)がRAM802(Random Access Memory)に書き込んで実行する。従って、上記処理機能がコンピュータ上で実現される。
 また、処理機能を実現するための内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
 磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc - Read Only Memory)、CD-R(Recordable)/RW(Rewritable)などがある。光磁気記録媒体には、MO(Magneto - Optical disk)などがある。
 上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを通じて、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
 上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。
 そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
 また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
 以上、本発明の実施の形態を説明したが、上記については単に本発明の原理を示すものである。本発明は上記に示して説明した構成および応用例に限定されるものではなく、さらに、多数の変形、変更が当業者にとって可能である。
 例えば、本発明は、最初から分散データストレージスステムに異なる容量とI/O性能のストレージノードが混載されている場合に適用することができる。
 また、システムの運用中にあるストレージノードの故障により、システムの構成情報に変更が生じ、他のストレージノードの論理容量を再設定する必要があった場合などに適用することができることはいうまでもない。
 また、対応するすべての変形例および均等物は、添付の請求項およびその均等物を本発明の範囲とみなすことができる。また、各部の構成は同様の機能を有する任意の構成のものに置換することができる。
 さらに、本発明に他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
 以上の実施の形態に関し、さらに以下の付記を開示する。
 (付記1)
 I/O性能の異なる複数のストレージノードを含む分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定し、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する設定手段と、
 前記設定手段により設定した情報に基づいて、前記分散データストレージシステムの構成変更を反映したシステム構成情報を決定する決定手段と、
 前記決定手段により決定したシステム構成情報を前記複数のI/O性能の異なるストレージノードに送信する送信手段とを備えるストレージノード管理装置。
 (付記2)
 前記設定手段は、前記基準ストレージノード以外のストレージノードのI/O性能が前記基準ストレージノードのI/O性能のN倍である場合、前記基準ストレージノード以外のストレージノードの第1のストレージ論理容量を前記基準ストレージノードの論理容量のN倍に設定することを特徴とする付記1に記載のストレージノード管理装置。
 (付記3)
 前記設定手段は、前記基準ストレージノード以外のストレージノードの論理容量が、前記基準ストレージノードの論理容量のN倍以上である場合、N倍を超える残りの容量を、前記基準ストレージノード以外のストレージノードの第2のストレージ領域に設定することを特徴とする付記1または2に記載のストレージノード管理装置。
 (付記4)
 前記設定手段は、前記基準ストレージノードに第1及び第2のストレージ領域が設定される場合、前記基準ストレージノードの第1のストレージ領域に設定した論理容量のN倍の容量を、前記基準ストレージノード以外のストレージノードの第1のストレージ領域の論理容量に設定することを特徴とする付記1乃至3のいずれか1つに記載のストレージノード管理装置。
 (付記5)
 前記設定手段は、3種類以上のI/O性能、ストレージ容量の異なるストレージノードが存在した場合は、最もI/O性能の低いストレージノードを基準ストレージノードとして設定し、全てのストレージノードのI/O性能及び格納容量が最大に近づくように第1のストレージ領域の論理容量、第2のストレージ領域の論理容量を設定することを特徴とする付記1乃至4のいずれか1つに記載のストレージ管理装置。
 (付記6)
 前記設定手段は、性能の差異が大きいストレージノードの組み合わせの場合、最も少ないストレージ容量となるノードを基準ストレージノードとし、全てのストレージノードのI/O性能及び格納容量が最大に近づくように第1のストレージ領域の論理容量、第2のストレージ領域の論理容量を設定することを特徴とする付記1乃至5のいずれか1つに記載のストレージ管理装置。
 (付記7)
 I/O性能の異なる複数のストレージノードにより基づいて、分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定し、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定するストレージノード論理容量設定方法。
 (付記8)
 前記基準ストレージノード以外のストレージノードのI/O性能が前記基準ストレージノードのI/O性能のN倍である場合、前記基準ストレージノード以外のストレージノードの第1のストレージ論理容量を前記基準ストレージノードの論理容量のN倍に設定することを特徴とする付記7に記載のストレージノード論理容量設定方法。
 (付記9)
 前記基準ストレージノード以外のストレージノードのストレージ論理容量が、前記基準ストレージノードのストレージ容量のN倍以上である場合、N倍を超える残りの容量を、前記基準ストレージノード以外のストレージノードの第2のストレージ領域に設定することを特徴とする付記7又は8に記載のストレージノード論理容量設定方法。
 (付記10)
 前記基準ストレージノードに第1及び第2のストレージ領域が設定される場合、前記基準ストレージノードの第1のストレージ領域に設定した容量のN倍の容量を、前記基準ストレージノード以外のストレージノードの第1のストレージ領域の容量に設定することを特徴とする付記7乃至9のいずれか1つに記載のストレージノード論理容量設定方法。
 (付記11)
 I/O性能の異なる複数のストレージノードを含む分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定する処理と、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する処理とをコンピュータに実行させるプログラム。
 (付記12)
 I/O性能の異なる複数のストレージノードを含む分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定する処理と、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する処理とをコンピュータに実行させるプログラムが記録された記録媒体。
 (付記13)
 前記付記1乃至6のいずれか1つに記載のストレージ管理装置で第1のストレージ領域と第2のストレージ領域に分割されるストレージデバイスを有する格納手段と、
前記格納手段に格納するデータにアクセス要求がある場合、自ノード向けのアクセス要求であるかどうかを判定するデータ入出力管理手段と、
 書き込み対象となるデータのIDと、データ格納先となる物理アドレスと、アクセス頻度情報とを紐づけた情報を管理すると共に、前記データ入出力管理手段によって指定されたデータのIDとデータの読み書きを指示する命令に応じて、データの読み書きを行うデータ格納管理手段と、
 前記付記1乃至6のいずれか1つに記載のストレージ管理装置から取得するシステム構成情報に含まれる論理容量に基づき、前記第1のストレージ領域と第2のストレージ領域に容量を満たすように前記ストレージデバイスのアドレスを分類するストレージ使用量管理手段とを備えるストレージノード。
 (付記14)
 付記1乃至6のいずれか1つに記載のストレージ管理装置と、付記13に記載のストレージノードとを備える分散データストレージシステム。
 この出願は、2013年5月20日に出願された日本出願特願2013-106077を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 1 クライアント装置
 2 ネットワーク
 3 分散データストレージシステム
 4 管理ノード
 5 ストレージノード
 6 ストレージノード
 7 入出力部
 8 キーボード
 9 マウス
 10 設定部
 11 モニタ
 12 決定部
 13 送信部
 14 記憶部
 15 データ入出力管理部
 16 データ格納先管理部
 17 ストレージ使用量管理部
 18 格納部
 19 ストレージデバイス
 700 ストレージノード管理装置
 701 設定部
 702 決定部
 703 送信部
 801 CPU
 802 RAM
 803 ROM
 804 記憶装置
 805 外部機器接続インタフェース
 806 ネットワークインタフェース

Claims (10)

  1.  I/O性能の異なる複数のストレージノードを含む分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定し、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する設定手段と、
     前記設定手段により設定した情報に基づいて、前記分散データストレージシステムの構成変更を反映したシステム構成情報を決定する決定手段と、
     前記決定手段により決定したシステム構成情報を前記複数のI/O性能の異なるストレージノードに送信する送信手段とを備えるストレージノード管理装置。
  2.  前記設定手段は、前記基準ストレージノード以外のストレージノードのI/O性能が前記基準ストレージノードのI/O性能のN倍である場合、前記基準ストレージノード以外のストレージノードの第1のストレージ論理容量を前記基準ストレージノードの論理容量のN倍に設定することを特徴とする請求項1に記載のストレージノード管理装置。
  3.  前記設定手段は、前記基準ストレージノード以外のストレージノードの論理容量が、前記基準ストレージノードの論理容量のN倍以上である場合、N倍を超える残りの容量を、前記基準ストレージノード以外のストレージノードの第2のストレージ領域に設定することを特徴とする請求項1または2に記載のストレージノード管理装置。
  4.  前記設定手段は、前記基準ストレージノードに第1及び第2のストレージ領域が設定される場合、前記基準ストレージノードの第1のストレージ領域に設定した論理容量のN倍の容量を、前記基準ストレージノード以外のストレージノードの第1のストレージ領域の論理容量に設定することを特徴とする請求項1乃至3のいずれか1つに記載のストレージノード管理装置。
  5.  I/O性能の異なる複数のストレージノードによって、分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定し、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定するストレージノード論理容量設定方法。
  6.  前記基準ストレージノード以外のストレージノードのI/O性能が前記基準ストレージノードのI/O性能のN倍である場合、前記基準ストレージノード以外のストレージノードの第1のストレージ論理容量を前記基準ストレージノードの論理容量のN倍に設定することを特徴とする請求項5に記載のストレージノード論理容量設定方法。
  7.  I/O性能の異なる複数のストレージノードを含む分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定する処理と、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する処理とをコンピュータに実行させるプログラム。
  8.  I/O性能の異なる複数のストレージノードを含む分散データストレージシステムを構成する際、前記複数のI/O性能の異なるストレージノードから少なくとも1つの基準ストレージノードを設定する処理と、前記基準ストレージノードのI/O性能と論理容量とを参照して、前記基準ストレージノード以外のストレージノードのストレージ領域を第1のストレージ領域と第2のストレージ領域に分割すると共に、それら第1及び第2のストレージ領域の論理容量を前記基準ストレージノード以外のストレージノードのI/O性能に合わせるように設定する処理とをコンピュータに実行させるプログラムが記録された記録媒体。
  9.  前記請求項1乃至4のいずれか1つに記載のストレージ管理装置で第1のストレージ領域と第2のストレージ領域に分割されるストレージデバイスを有する格納手段と、
    前記格納手段に格納するデータにアクセス要求がある場合、自ノード向けのアクセス要求であるかどうかを判定するデータ入出力管理手段と、
     書き込み対象となるデータのIDと、データ格納先となる物理アドレスと、アクセス頻度情報とを紐づけた情報を管理すると共に、前記データ入出力管理手段によって指定されたデータのIDとデータの読み書きを指示する命令に応じて、データの読み書きを行うデータ格納管理手段と、
     前記請求項1乃至4のいずれか1つに記載のストレージ管理装置から取得するシステム構成情報に含まれる論理容量に基づき、前記第1のストレージ領域と第2のストレージ領域に容量を満たすように前記ストレージデバイスのアドレスを分類するストレージ使用量管理手段とを備えるストレージノード。
  10.  請求項1乃至4のいずれか1つに記載のストレージ管理装置と、請求項9に記載のストレージノードとを備える分散データストレージシステム。
PCT/JP2014/002562 2013-05-20 2014-05-15 ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム WO2014188682A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/781,088 US10708355B2 (en) 2013-05-20 2014-05-15 Storage node, storage node administration device, storage node logical capacity setting method, program, recording medium, and distributed data storage system
JP2015518069A JP6222227B2 (ja) 2013-05-20 2014-05-15 ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013106077 2013-05-20
JP2013-106077 2013-05-20

Publications (1)

Publication Number Publication Date
WO2014188682A1 true WO2014188682A1 (ja) 2014-11-27

Family

ID=51933251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/002562 WO2014188682A1 (ja) 2013-05-20 2014-05-15 ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム

Country Status (3)

Country Link
US (1) US10708355B2 (ja)
JP (1) JP6222227B2 (ja)
WO (1) WO2014188682A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860541B2 (en) 2016-04-11 2020-12-08 Johnson Controls Fire Protection LP Fire detection system with distributed file system

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US9916275B2 (en) * 2015-03-09 2018-03-13 International Business Machines Corporation Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
WO2017119091A1 (ja) * 2016-01-07 2017-07-13 株式会社日立製作所 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム
CN111506254B (zh) * 2019-01-31 2023-04-14 阿里巴巴集团控股有限公司 分布式存储系统及其管理方法、装置
JP6857673B2 (ja) * 2019-02-14 2021-04-14 株式会社日立製作所 マルチストレージノードシステム、マルチストレージノードシステムの容量管理方法
US11334623B2 (en) 2019-03-27 2022-05-17 Western Digital Technologies, Inc. Key value store using change values for data properties
US11080239B2 (en) * 2019-03-27 2021-08-03 Western Digital Technologies, Inc. Key value store using generation markers
US11507277B2 (en) 2019-06-25 2022-11-22 Western Digital Technologies, Inc. Key value store using progress verification
CN111399761B (zh) * 2019-11-19 2023-06-30 杭州海康威视系统技术有限公司 存储资源分配方法、装置及设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252663A (ja) * 2003-02-19 2004-09-09 Toshiba Corp ストレージ装置、分担範囲決定方法及びプログラム
JP2010211421A (ja) * 2009-03-09 2010-09-24 Canon Inc 管理装置、システム、制御方法、プログラム及び記録媒体
WO2012023384A1 (ja) * 2010-08-19 2012-02-23 日本電気株式会社 オブジェクト配置装置及び方法、コンピュータプログラム
JP2012525634A (ja) * 2009-04-30 2012-10-22 ネットアップ,インコーポレイテッド ストライプ化ファイルシステムにおける能力平準化によるデータ分散

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7036039B2 (en) * 2002-03-29 2006-04-25 Panasas, Inc. Distributing manager failure-induced workload through the use of a manager-naming scheme
JP2006301820A (ja) * 2005-04-19 2006-11-02 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法
US8190588B1 (en) * 2005-09-19 2012-05-29 Amazon Technologies, Inc. Providing a distributed transaction information storage service
US20110010518A1 (en) * 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US7743276B2 (en) * 2006-09-27 2010-06-22 Hewlett-Packard Development Company, L.P. Sufficient free space for redundancy recovery within a distributed data-storage system
WO2008126202A1 (ja) * 2007-03-23 2008-10-23 Fujitsu Limited ストレージシステムの負荷分散プログラム、ストレージシステムの負荷分散方法、及びストレージ管理装置
JP4606455B2 (ja) 2007-12-20 2011-01-05 富士通株式会社 ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
US8082330B1 (en) * 2007-12-28 2011-12-20 Emc Corporation Application aware automated storage pool provisioning
US7849180B2 (en) * 2008-04-29 2010-12-07 Network Appliance, Inc. Load balanced storage provisioning
US8214404B2 (en) * 2008-07-11 2012-07-03 Avere Systems, Inc. Media aware distributed data layout
JP2010044660A (ja) * 2008-08-15 2010-02-25 Hitachi Ltd ストレージシステム及びそのデータ保護方法
US8224782B2 (en) * 2008-09-29 2012-07-17 Hitachi, Ltd. System and method for chunk based tiered storage volume migration
JP5526540B2 (ja) 2008-12-25 2014-06-18 株式会社リコー 画像処理装置、アクセス制御方法、アクセス制御プログラム
JP2011059970A (ja) * 2009-09-10 2011-03-24 Hitachi Ltd 外部接続構成におけるボリューム割り当て方法
WO2011092738A1 (ja) * 2010-01-28 2011-08-04 株式会社日立製作所 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
WO2012168967A1 (en) * 2011-06-07 2012-12-13 Hitachi, Ltd. Storage apparatus and data management method
WO2012172601A1 (en) * 2011-06-14 2012-12-20 Hitachi, Ltd. Storage system comprising multiple storage control apparatus
JP2013045379A (ja) 2011-08-26 2013-03-04 Fujitsu Ltd ストレージ制御方法、情報処理装置およびプログラム
US8751657B2 (en) * 2011-10-04 2014-06-10 Hitachi, Ltd. Multi-client storage system and storage system management method
US8566543B2 (en) * 2011-12-19 2013-10-22 Hitachi, Ltd. Computer system and reclamation control method
US8949483B1 (en) * 2012-12-28 2015-02-03 Emc Corporation Techniques using I/O classifications in connection with determining data movements
US10552342B1 (en) * 2013-03-15 2020-02-04 EMC IP Holding Company LLC Application level coordination for automated multi-tiering system in a federated environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252663A (ja) * 2003-02-19 2004-09-09 Toshiba Corp ストレージ装置、分担範囲決定方法及びプログラム
JP2010211421A (ja) * 2009-03-09 2010-09-24 Canon Inc 管理装置、システム、制御方法、プログラム及び記録媒体
JP2012525634A (ja) * 2009-04-30 2012-10-22 ネットアップ,インコーポレイテッド ストライプ化ファイルシステムにおける能力平準化によるデータ分散
WO2012023384A1 (ja) * 2010-08-19 2012-02-23 日本電気株式会社 オブジェクト配置装置及び方法、コンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860541B2 (en) 2016-04-11 2020-12-08 Johnson Controls Fire Protection LP Fire detection system with distributed file system

Also Published As

Publication number Publication date
JP6222227B2 (ja) 2017-11-01
US10708355B2 (en) 2020-07-07
JPWO2014188682A1 (ja) 2017-02-23
US20160308965A1 (en) 2016-10-20

Similar Documents

Publication Publication Date Title
JP6222227B2 (ja) ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
JP6734807B2 (ja) テナントアウェアストレージシェアリングプラットフォームのための処理装置及びその方法
JP6479639B2 (ja) 情報処理装置、プログラム、及び、情報処理システム
TWI674502B (zh) 記憶體系統及控制方法
TWI791140B (zh) 記憶體系統
JP7437117B2 (ja) ソリッドステートドライブ(ssd)及び分散データストレージシステム並びにその方法
JP6496626B2 (ja) 異種統合メモリ部及びその拡張統合メモリスペース管理方法
JP4068473B2 (ja) ストレージ装置、分担範囲決定方法及びプログラム
US8566555B2 (en) Data insertion system, data control device, storage device, data insertion method, data control method, data storing method
US11095715B2 (en) Assigning storage responsibility in a distributed data storage system with replication
US11262916B2 (en) Distributed storage system, data processing method, and storage node
JP2020123041A (ja) メモリシステムおよび制御方法
JP6511795B2 (ja) ストレージ管理装置、ストレージ管理方法、ストレージ管理プログラムおよびストレージシステム
JP7467593B2 (ja) リソース割振り方法、記憶デバイス、および記憶システム
TW201531862A (zh) 記憶體資料分版技術
US20100161585A1 (en) Asymmetric cluster filesystem
US10387043B2 (en) Writing target file including determination of whether to apply duplication elimination
JP2015022327A (ja) データ再配置装置、方法およびプログラム
US11188258B2 (en) Distributed storage system
JP2013125437A (ja) 制御装置、プログラムおよびストレージ装置
KR20120063946A (ko) 대용량 통합 메모리를 위한 메모리 장치 및 이의 메타데이터 관리 방법
US11797338B2 (en) Information processing device for reading object from primary device specified by identification, information processing system for reading object from primary device specified by identification, and access control method for reading object from primary device specified by identification
JP6022116B1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
JP5278254B2 (ja) ストレージシステム、データ記憶方法及びプログラム
Ruty et al. Collapsing the layers: 6Stor, a scalable and IPv6-centric distributed storage system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14800744

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015518069

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14781088

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14800744

Country of ref document: EP

Kind code of ref document: A1