WO2010116608A1 - データ挿入システム - Google Patents

データ挿入システム Download PDF

Info

Publication number
WO2010116608A1
WO2010116608A1 PCT/JP2010/001637 JP2010001637W WO2010116608A1 WO 2010116608 A1 WO2010116608 A1 WO 2010116608A1 JP 2010001637 W JP2010001637 W JP 2010001637W WO 2010116608 A1 WO2010116608 A1 WO 2010116608A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage
index information
distributed index
storage device
Prior art date
Application number
PCT/JP2010/001637
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 JP2011508199A priority Critical patent/JP5516575B2/ja
Priority to US13/254,337 priority patent/US8566555B2/en
Priority to CN201080011584.2A priority patent/CN102349047B/zh
Priority to EP10761316.8A priority patent/EP2416236B1/en
Publication of WO2010116608A1 publication Critical patent/WO2010116608A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques

Definitions

  • the present invention relates to a data insertion system, a data control device, a storage device, a data insertion method, a data control method, and a data storage method.
  • a distributed data storage and distribution system In this distributed data storage and distribution system, a user computer (hereinafter also referred to as a storage node) including a storage device for storing data is connected to a plurality of networks to construct a large-capacity data storage system.
  • the distributed data storage / delivery system has a function of arranging (storing) data and a function of managing the arrangement of data (distributed data arrangement management function).
  • the data transmitted from the user computer is divided into a plurality of data fragments and made redundant by the distributed data arrangement management function in the distributed data storage and distribution system, and stored in a plurality of storage nodes. Then, the user computers connected on the same network use the distributed data arrangement management function to specify the storage node where the desired distributed data is arranged, and acquire the distributed data from the storage node.
  • the distributed data arrangement management function is realized by a metadata server having a centralized management function and a distributed data index unit having an index function using a distributed management function using a distributed hash table or the like. .
  • the distributed data storage / distribution system distributes a large number of data to be stored in each storage node.
  • the arrangement of data greatly affects system performance, fault tolerance, availability, and the like.
  • the distributed data storage and distribution system may have a data relocation function that can change the data arrangement by moving the data once stored to another storage node by the dynamic data migration function.
  • the number of storage nodes in the system can be increased or decreased.
  • the distributed data storage and delivery system can add a storage node when the data providing performance of the system is insufficient or the data storage capacity is insufficient.
  • the distributed data storage and distribution system can reduce the number of storage nodes.
  • Such a system configuration change is performed by information indicating the system configuration of the distributed data arrangement management function and the index function change.
  • a large amount of data stored in another system in advance may be inserted into the distributed data storage / distribution system.
  • a case where data is inserted includes restoration of backup data.
  • the distributed data storage and distribution system transfers a backup of stored data to another storage device (for example, a backup storage device). Need to create.
  • examples of the overall failure include power supply and building equipment failures, software failures, natural disasters, and the like.
  • the backup storage device a tape device, a disk array, or another distributed data storage / delivery system is used.
  • the backup method for backup in the distributed data storage and distribution system requires that the state at the synchronous quiesce point of the entire system is backed up. This is because, in computers connected in parallel to the network, the transmission of instructions is delayed, and it is difficult to match the backup creation times at each node. In addition, since there is a movement between nodes due to data, lost data may be generated or duplicate data may exist if the backup creation time is shifted between the nodes.
  • a state called a snapshot representing a data set at a certain point in time throughout the entire system is stored.
  • the snapshot can be created by the method described in Patent Document 1, for example. Thereafter, the snapshot data is transmitted to the backup storage device as a backup target.
  • Non-Patent Document 1 describes a method of creating a snapshot to back up data of storage devices connected in parallel and backing up the data of the snapshot.
  • a method of transmitting data stored for each storage node to a predetermined backup storage device after creating a snapshot Can be considered.
  • Another method is to divide the data into fixed-length data chunks such as blocks and chunks, or semantically divided data chunks such as files, and send them to a backup storage device together with an identifier that uniquely identifies the data chunk. A way to do this is considered.
  • the administrator restores the data from the backup storage device to the repaired or newly constructed distributed data storage and delivery system.
  • the backup data stored in the backup storage device is copied to the storage node of the distributed data storage and distribution system after recovery for each data chunk at the time of storage.
  • the copy destination storage node depends on the configuration of the distributed data storage and distribution system after recovery, and is determined by the data arrangement management function provided in the distributed data storage and distribution system after recovery.
  • a copy of data copied to the storage node may be placed on another storage node. This is to prevent data loss from a storage node failure. This is also determined by the data arrangement management function provided by the distributed data storage and distribution system after restoration.
  • the data stored in the old system is divided into fixed-length data chunks such as blocks and chunks, or semantic division data chunks such as files, and new distributed data storage and distribution with identifiers that uniquely represent the data chunks Copied to the system.
  • the configuration of storage node performance, storage capacity, and the like may differ between data backup and data recovery. For this reason, simply inserting the data in the backup storage device into the distributed data storage and delivery system may result in a data distribution arrangement state that does not match the data usage trend in the restored distributed data storage and delivery system.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a data insertion system for inserting data into a distributed data storage and distribution system based on the usage tendency of data stored in a backup storage device.
  • An object of the present invention is to provide a data control device and a storage device.
  • a data storage device that stores predetermined data
  • a storage device that receives the data from the data storage device, and data that selects the data transmitted from the data storage device to the storage device
  • a data insertion system comprising a control device, For the data stored in the data storage device, a first data allocation information when the stored data is allocated in the storage device is acquired as first distributed index information.
  • Distributed index information acquisition means Configuration information requesting means for requesting the storage apparatus for system configuration information indicating a configuration of a plurality of storage areas of the storage apparatus and second distributed index information indicating second data arrangement information of the storage apparatus; Device distributed index information generating means for generating the system configuration information and the second distributed index information based on the configuration of the plurality of storage areas; Based on the system configuration information and the second distributed index information generated by the device distributed index information generating means, and the first distributed index information acquired by the first distributed index information acquiring means, New data arrangement information generating means for generating new data arrangement information, The new data arrangement information generating means includes A data insertion system is provided that stores the data stored in the data storage device in the storage area based on the generated new data arrangement information.
  • a data storage device that stores predetermined data
  • a storage device that receives the data from the data storage device, and data that selects the data transmitted from the data storage device to the storage device
  • Configuration information requesting means for requesting the storage apparatus for system configuration information indicating a configuration of a plurality of storage areas of the storage apparatus and second distributed index information indicating second data arrangement information of the storage apparatus; Second shared information receiving means for receiving the system configuration information requested by the configuration information requesting means and the second distributed index information; Based on the system configuration information and the second distributed index information received by the second distributed index information receiving unit, and the first distributed index information acquired by the first distributed index information acquiring unit.
  • new data arrangement information generating means for generating new data arrangement information, The new data arrangement information generating means includes Based on the generated new data arrangement information, the data stored in the data storage device is stored in the storage area.
  • a data control device is provided.
  • a data storage device that stores predetermined data
  • a storage device that receives the data from the data storage device, and data that selects the data transmitted from the data storage device to the storage device
  • a storage device in a data insertion system comprising a control device, A plurality of storage areas for storing data; Based on the configuration of the plurality of storage areas, system configuration information indicating the configuration of the storage area, and apparatus distributed index information generating means for generating second distribution index information indicating predetermined data arrangement information, Device distributed index information transmitting means for transmitting the system configuration information and the second distributed index information generated by the device distributed index information generating means to the data control device; New distributed index information receiving means for receiving new data arrangement information generated by the new data arrangement information generating means as new distributed index information; Storage suitability judging means for judging suitability of storing the data stored in the data storage device in the storage area based on the new distributed index information received by the new distributed index information receiving means; , A storage device is provided.
  • a data storage device that stores predetermined data
  • a storage device that receives the data from the data storage device, and data that selects the data transmitted from the data storage device to the storage device
  • a data insertion method of a data insertion system comprising a control device, For the data stored in the data storage device, a first data allocation information when the stored data is allocated in the storage device is acquired as first distributed index information.
  • a distributed index information acquisition step A configuration information requesting step for requesting the storage apparatus for system configuration information indicating a configuration of a plurality of storage areas of the storage apparatus and second distributed index information indicating second data arrangement information of the storage apparatus; An apparatus distributed index information generating step for generating the system configuration information and the second distributed index information based on the configuration of the plurality of storage areas; Based on the system configuration information and the second distributed index information generated in the device distributed index information generating step, and the first distributed index information acquired in the first distributed index information acquiring step, a new A new data arrangement information generation step for generating data arrangement information, The new data arrangement information generation step includes On the basis of the generated new data arrangement information, the data stored in the data storage device is stored in the storage area. A data insertion method is provided.
  • a data storage device that stores predetermined data
  • a storage device that receives the data from the data storage device
  • a distributed index information acquisition step A configuration information requesting step for requesting the storage apparatus for system configuration information indicating a configuration of a plurality of storage areas of the storage apparatus and second distributed index information indicating second data arrangement information of the storage apparatus; A second shared information receiving step for receiving the system configuration information and the second distributed index information requested in the configuration information requesting step; Based on the system configuration information and the second distributed index information received in the second distributed index information receiving step, and the first distributed index information acquired in the first distributed index information acquiring step. And a new data arrangement information generation step for generating new data arrangement information, The new data arrangement information generation step includes Based on the generated new data arrangement information, the data stored in the data storage device is stored in the storage area. A data control method is provided.
  • a data storage device that stores predetermined data
  • a storage device that receives the data from the data storage device, and data that selects the data transmitted from the data storage device to the storage device
  • a data storage method for a storage device in a data insertion system comprising a control device, A plurality of storage areas for storing data;
  • An apparatus distributed index information generating step for generating system configuration information indicating the configuration of the storage area and second distributed index information indicating predetermined data arrangement information based on the configuration of the plurality of storage areas;
  • a device distributed index information transmitting step for transmitting the system configuration information and the second distributed index information generated in the device distributed index information generating step to the data control device;
  • a new distributed index information receiving step for receiving the new data arrangement information generated in the new data arrangement information generating step as new distributed index information;
  • a storage suitability judging step for judging suitability of storing the data stored in the data storage device in the storage area based on the new distributed index information received by the new distributed index information receiving step;
  • the data storage method
  • a data storage device that stores predetermined data
  • a storage device that receives the data from the data storage device, and data that selects the data transmitted from the data storage device to the storage device
  • the data processing is For the data stored in the data storage device, a first data allocation information when the stored data is allocated in the storage device is acquired as first distributed index information.
  • a configuration information request procedure for requesting the storage device for system configuration information indicating the configuration of a plurality of storage areas of the storage device and second distributed index information indicating second data arrangement information of the storage device;
  • a second shared information receiving procedure for receiving the system configuration information and the second distributed index information requested in the configuration information requesting procedure;
  • a new data arrangement information generation procedure for generating new data arrangement information
  • the new data arrangement information generation procedure is as follows: A data control program and a storage medium are provided that store the data stored in the data storage device in the storage area based on the generated new data arrangement information.
  • a data storage device in which predetermined data is stored, a storage device having a plurality of storage areas for storing data, and receiving the data from the data storage device, and from the data storage device to the storage
  • a data storage program for causing the storage apparatus to execute data processing in the data insertion system according to claim 1 and a storage medium storing the data storage program in the data insertion system according to claim 1, further comprising: a data control apparatus that selects the data transmitted to the apparatus.
  • the data processing is An apparatus distributed index information generating procedure for generating system configuration information indicating the configuration of the storage area and second distributed index information indicating predetermined data arrangement information based on the configuration of the plurality of storage areas; A device distributed index information transmission procedure for transmitting the system configuration information and the second distributed index information generated in the device distributed index information generation procedure to the data control device; New distributed index information receiving procedure for receiving new data allocation information generated in the new data allocation information generating procedure as new distributed index information; Based on the new distributed index information received in the new distributed index information receiving procedure, a storage propriety determination procedure for determining whether or not the data stored in the data storage device is stored in the storage area; , A data storage program and a storage medium are provided.
  • a data insertion system for inserting data into a distributed data storage and distribution system based on the usage tendency of data stored in a backup storage device ,
  • a data control program, a data storage program, and a storage medium storing these are provided.
  • FIG. 2 is a hardware block diagram of a storage controller according to the first embodiment.
  • FIG. It is the figure which showed an example of the data arrangement information which concerns on 1st Embodiment. It is the figure which showed an example of the sequence diagram at the time of backup of the data insertion system which concerns on 1st Embodiment. It is the figure which showed an example of the sequence diagram at the time of the data restoration operation
  • FIG. 1 is a schematic configuration diagram showing a data restoration system (data insertion system) according to the present embodiment.
  • the data restoration system shown in FIG. 1 includes a backup storage (data storage device) 2 in which predetermined data is stored, a storage system (storage device) 1 that receives data from the backup storage 2, and a backup storage 2.
  • a data restoration system including a backup controller (data control device) 3 that selects data to be transmitted to the storage system 1, and the data stored in the backup storage 2 is stored in the storage system
  • the first distributed index information acquisition unit 311 that acquires the first data arrangement information when the storage system 1 is arranged as the first distributed index information, and a plurality of disk drives (storage areas) 111 included in the storage system 1
  • System configuration showing configurations of up to 114
  • Device distributed index information generating unit 1011 for generating configuration information and second distributed index information, system configuration information and second distributed index information generated by device distributed index information generating unit 1011, and first distributed index information
  • a new data arrangement information generation unit 314 that generates new data arrangement information based on the first distributed index information acquired by the acquisition unit 311, and the new data arrangement information generation unit 314 generates the new data arrangement information Based on the data
  • the new data arrangement information generation unit 314 generates new data arrangement information based on the system configuration information, the second distributed index information, and the first distributed index information. Then, the new data arrangement information generation unit 314 stores the data stored in the backup storage 2 in the storage areas of the disk drives 111 to 114 based on the generated new data arrangement information.
  • the data restoration system can store the data stored in the backup storage 2 in the disk drives 111 to 114 based on the generated new data arrangement information.
  • the data restoration system restores the data stored in the backup storage 2 to the storage system 1 based on the usage tendency of the data stored in the backup storage 2 when a large amount of data is inserted. be able to.
  • the first data arrangement information when the stored data is arranged in the storage system 1 is used as information including usage trends. Can be grasped. That is, when the new data arrangement information is generated, the optimized data at the time of backup can be restored by reflecting the first data arrangement information.
  • the data restoration system can restore the storage system 1 by utilizing the first distributed index information stored in the backup storage 2, so that the storage system 1 reflecting the data usage trend can be obtained. Can be restored.
  • disk drives 111 to 114 that are storage areas and the distributed index information will be described in detail later.
  • the backup controller 3 acquires first data arrangement information when the stored data is arranged in the storage system 1 as first distributed index information.
  • a configuration information requesting unit 312 that requests the storage system 1, a second distributed index information receiving unit 313 that receives the system configuration information and the second distributed index information requested by the configuration information requesting unit 312, a second System configuration information and second distributed index information received by the distributed index information receiving unit 313
  • a new data arrangement information generating unit 314 that generates new data arrangement information based on the first distributed index information acquired by the first distributed index information acquiring unit 311, and a new data arrangement information generating unit 314 stores the data stored in the backup storage 2 in the storage area based on the generated new data arrangement information.
  • the storage system 1 has disk drives (a plurality of storage areas) 111 to 114 for storing data. Based on the configuration of the disk drives 111 to 114, system configuration information indicating the configuration of the storage area and predetermined data
  • the apparatus distributed index information generating unit 1011 that generates the second distributed index information indicating the arrangement information, and the system configuration information and the second distributed index information generated by the apparatus distributed index information generating unit 1011 are transmitted to the backup controller 3
  • a new distributed index information receiving unit 1013 that receives the new data arrangement information generated by the apparatus distributed index information transmitting unit 1012, the new data arrangement information generating unit 314, and the new distributed index information receiving unit 1013.
  • a storage determination section 1014 determines the appropriateness of storing in the disk drive 111-114, the.
  • the new data arrangement information generation unit 314 obtains at least a part of the arrangement positions of the data arranged in the disk drives 111 to 114 based on the association information indicating the relevance when the disk drives 111 to 114 are arranged. Generate new data placement information to maintain.
  • new data arrangement information is generated based on the association information indicating the relation between the data and including at least part of the arrangement information stored in the storage system 1. Therefore, it is possible to restore the data that has been optimized and arranged to reflect the usage trend.
  • arrangement information based on the type of data used, data arrangement information based on the execution result of defragmentation, and the like can also be regarded as an aspect of association information indicating the relevance between data.
  • the new data arrangement information generation unit 314 can reflect the association information indicating the relationship between the data in the new data arrangement information, so that the performance of the disk drives 111 to 114 is utilized while being aware of the sequential access.
  • the target data can be stored.
  • the association information indicating the relevance between the data will be described in detail in the third embodiment.
  • the storage permission / inhibition judgment unit 1014 displays the data stored in the backup storage 2 as a disk drive. It may be determined whether or not storage in 111 to 114 is appropriate.
  • the storage system 1 receives a command for creating a backup of data stored in the disk drives 111 to 114, and receives a command for creating a backup by the backup receiving unit 1015.
  • the data transmission output unit 1016 for creating a copy of the data stored in 114 and transmitting the created copy to the data storage device, and the data arrangement information when arranged in the disk drives 111 to 114 are transmitted as data.
  • the distributed index information generating unit 1017 that generates the first distributed index information by the copy transmitted by the output unit 1016 is further provided.
  • the storage system 1 includes a storage controller 101 and disk drives 111 to 114.
  • the storage controller 101 includes a device distribution index information generation unit 1011, a device distribution index information transmission unit 1012, a new distribution index information reception unit 1013, a storage availability determination unit 1014, and a backup reception unit 1015.
  • the storage controller 101 also includes a data transmission output unit 1016 and a distributed index information generation unit 1017.
  • the storage system 1 is connected to the data connection network 4 and the control network 5 via the storage controller 101.
  • the backup controller 3 includes a backup management unit 31 and a backup restoration unit 32.
  • the backup management unit 31 includes a first distributed index information acquisition unit 311, a configuration information request unit 312, a second distributed index information reception unit 313, and a new data arrangement information generation unit 314.
  • the backup controller 3 realizes a backup management unit 31 and a backup restoration unit 32 by a CPU (Central Processing Unit), a memory, a program storage area, a network connection function, and the like (not shown).
  • CPU Central Processing Unit
  • a backup storage 2 having a plurality of disk drives is connected.
  • the backup storage 2 has a larger capacity than the storage system 1.
  • FIG. 2 shows a hardware block diagram of the storage controller 101.
  • a storage controller 101 shown in FIG. 2 includes a CPU 6 that controls the entire storage system 1, a memory 7 that stores temporary data, and a local nonvolatile memory 8 that stores programs and the like.
  • the storage controller 101 also includes an I / O controller 9 that controls the disk drives 111 to 114, and a network controller 10 that connects to the data connection network 4 and the control network 5.
  • the data arrangement information of the disk drives 111 to 114 of the storage system 1 is stored in the memory 7 and the local nonvolatile memory 8 of the storage controller 101.
  • An example of this data arrangement information is shown in FIG.
  • FIG. 3 is a data arrangement information table showing an example of the data arrangement information stored in the memory 7.
  • data is stored in units of fixed length blocks.
  • a block is a unit uniquely identified in the storage system 1 by a combination of a volume number and a relative block number that can uniquely specify a block within the volume number.
  • a block combination is a block number.
  • the data arrangement information table shown in FIG. 3 is a table in which the number of the stored disk drive and the data position on the disk drive can be extracted by the block number.
  • a program for extracting the disk drive number and the data position on the disk drive number by the block number is installed.
  • the data arrangement information stores the block number, the disk drive number, and the arrangement of the data arrangement as distributed index information.
  • an identifier indicating backup is given in addition to the block number of the data arrangement information.
  • the backup management unit 31 makes a preparation request for performing backup to the backup storage 2 (step A1).
  • This preparation request includes the backup identification name and the addresses of the disk drives 111 to 114 as the backup source.
  • the backup storage 2 prepares to accept data by a preparation command including the backup identification name and the address of the backup source storage controller 101 (step A3).
  • This preparation includes, for example, generation of a network reception port and identification of a data recording medium.
  • the backup storage 2 When the backup storage 2 is ready for backup, the backup storage 2 sends a notification that the preparation is complete to the backup management unit 31 (step A5).
  • the backup management unit 31 determines the data to be backed up and notifies the storage target data to the storage controller 101 (step A7).
  • the backup target may be set in advance in the backup management unit 31 or may be all data. Further, only the volume used by the corresponding user may be used.
  • the storage controller 101 receives the notification from the backup management unit 31 and determines the target data (step A9). As a result, the storage controller 101 notifies the backup management unit 31 that the data has been confirmed (step A11).
  • step A1 to step A11 may be performed simultaneously with step A1 and step A7, and the processing of step A7 to step A11 is performed prior to the processing of step A1 to step A5. Also good.
  • the backup management unit 31 when the backup management unit 31 receives a notification that the storage controller 101 and the backup storage 2 are ready for backup, it transmits a backup start request to the storage controller 101 (step A13). Upon receiving this backup start request, the storage controller 101 transmits the target data to the backup storage 2 (step A15).
  • the backup storage 2 When receiving the backup target data, the backup storage 2 records and stores the received data (step A17). At this time, the backup storage 2 generates an internal index structure for the received data based on the backup identification name and block number so that the position where the data is stored can be confirmed. The backup storage 2 records this internal index structure.
  • the storage controller 101 generates distributed index information of the target data transmitted to the backup storage 2 (Step A19). Then, the storage controller 101 transmits the generated distributed index information to the backup storage 2 (step A21).
  • the backup storage 2 stores the distributed index information in the disk drive (step A23).
  • the storage controller 101 transmits a completion notification indicating that the transmission of the target data has ended to the backup management unit 31 and the backup storage 2 (Steps A25 and A27).
  • the backup storage 2 receives the target data from the storage controller 101, receives the distributed index information, and records the internal index structure, and receives a completion notification from the storage controller 101, the backup storage 2 A completion notification indicating that is completed is transmitted (step A29).
  • the backup management unit 31 When the backup management unit 31 receives the completion notification from the storage controller 101 and the backup storage 2, the backup management unit 31 ends the backup process (step A31).
  • the backup restoration unit 32 requests the distributed index information including the backup identification name from the backup storage 2 (step B1).
  • the backup storage 2 receives a request for distributed index information including a backup identification name from the backup restoration unit 32 (step B3).
  • the backup storage 2 transmits the distributed index information (first distributed index information) of the backup target data having the designated backup identification name to the backup restoring unit 32 (step B5).
  • the backup restoration unit 32 requests the storage controller 101 for configuration information of the storage system 1 (step B7).
  • the storage controller 101 generates system configuration information and distributed index information corresponding to this configuration information request (step B9).
  • the system configuration information corresponds to, for example, a disk drive number list and a disk drive capacity value list. Other than this will be described in the second embodiment.
  • the distributed index information generates second distributed index information based on the current usage tendency of the data restoration system. Specifically, second distributed index information indicating the current usage tendency corresponding to the distributed index information shown in FIG. 3 is generated.
  • the storage controller 101 transmits the generated system configuration information and the second distributed index information to the backup restoration unit 32 (step B11).
  • the backup restoration unit 32 When the backup restoration unit 32 receives the first distributed index information, the system configuration information, and the second distributed index information acquired in step B11, the backup restoration unit 32 obtains new distributed index information (this is newly distributed). Index information) is generated and changed from the first distributed index information (step B13).
  • the new distributed index information based on the first distributed index information stored in the backup storage 2, the new distributed index information includes the first distributed index information in at least a part of the new distributed index information. Thereby, in this Embodiment, 1st distribution index information can be reflected.
  • the backup restoration unit 32 generates new distributed index information based on the first distributed index information, the system configuration information, and the second distributed index information. Comparing FIG. 6 with FIG. 7, the second distributed index information shown in FIG. 7 differs from the first distributed index information shown in FIG. 6 in the number of disk drives at an arbitrary block number. That is, the disk drive 115 in FIG. 7 is changed from the disk drive 112 in FIG. The data positions in other disk drives are the same.
  • the new distributed index information is obtained by changing all the parts indicating the disk drives 112 of the first distributed index information to disk drives 115. Generate as new distributed index information. As a result, the new distributed index information can reflect past usage trends in drives other than the disk drive 115.
  • the backup restoration unit 32 transmits the new distributed index information generated by being changed from the first distributed index information to the storage controller 101 (step B15).
  • first distributed index information and the second distributed index information are merely examples, and are not limited thereto.
  • the storage controller 101 acquires the generated new distributed index information, compares the current state of the disk drives 111, 113, 114, and 115, and determines whether or not to store them (step B17). If the storage controller 101 is suitable for storage, the storage controller 101 transmits a response indicating that storage is possible to the backup restoration unit 32. On the other hand, when the storage controller 101 is not suitable for storage, the storage controller 101 transmits a response indicating that storage is impossible to the backup restoration unit 32 (step B19).
  • the backup restoration unit 32 When receiving a response indicating that storage is possible from the storage controller 101, the backup restoration unit 32 transmits the new distributed index information changed from the first distributed index information to the backup storage 2 (step B21).
  • the backup storage 2 transmits the target data to the storage controller 101 based on the new distributed index information (step B23).
  • the storage controller 101 stores the block in one of the corresponding disk drives 111, 113, 114, and 115 based on the disk drive number of the changed distributed index information (step B25).
  • the storage controller 101 reflects the stored disk position in the latest distributed index information.
  • the backup storage 2 transmits all the backup target data
  • the backup storage 2 transmits a completion notification indicating completion of data transmission to the storage controller 101 (step B27).
  • the storage controller 101 receives the completion notification from the backup storage 2
  • the storage controller 101 records all the backup target data and then transmits the completion notification to the backup restoration unit 32 (step B29).
  • the backup storage 2 transmits a completion notification indicating that all the backup target data has been transmitted to the backup restoration unit 32 (step B31).
  • the backup restoration unit 32 determines that the backup restoration operation has been completed, and ends (step B33).
  • the data restoration system causes the disk drives 111 to 114 to store the data stored in the backup storage 2 based on the generated new distributed index information. be able to.
  • the data restoration system can restore the data stored in the backup storage 2 to the storage system 1 based on the data usage tendency when inserting a large amount of data.
  • FIG. 8 is a functional block diagram showing a data restoration system showing the second embodiment of the present invention.
  • the data restoration system shown in FIG. 8 relates to a system that performs backup processing and data restoration processing on data stored in the storage system 12. Data stored in the storage system 12 is backed up to the backup storage 15. Then, the data backed up in the backup storage 15 is restored to the storage system 12 whose configuration has been changed.
  • the storage system 1 creates data receiving unit 1018 for receiving data transmitted from the backup storage 2 as data to be stored in the disk drives 111 to 114, and redundant data for each of the data received by the data receiving unit 1018.
  • a copy assigning unit 1019 for storing the created redundant data in the disk drives 111 to 114 is further provided.
  • the storage system 1 further includes a quiesce point creation unit 1020 that creates quiesce point information at a predetermined time for the data stored in the disk drives 111 to 114, and the data transmission output unit 1016 creates a quiesce point. Based on the quiesce point information created by the unit 1020, the data stored in the disk drives 111 to 114 is transmitted to the backup storage 2.
  • the storage system 12 includes storage nodes 121 to 124 that are computers.
  • the storage nodes 121 to 124 include a CPU, a memory, a disk drive, and a network controller. Therefore, the storage nodes 121 to 124 function as a data storage device that stores data in the disk drive.
  • the distributed management process units 121a to 124a in FIG. 8 are programs that operate on the storage nodes 121 to 124, respectively. Also, the distributed management process units 121a to 124a exchange access information to data stored in the storage units 121c to 124c on each storage node via the network 13. Thereby, the storage system 12 makes the storage units 121c to 124c on the storage nodes 121 to 124 appear as if they are one file server.
  • the quiesce point creation process units 121b to 124b are programs that operate on the storage nodes 121 to 124, respectively, and create consistent snapshot images for stored data.
  • the current version of the stored data is recorded, and when a quiesce point creation command is received, a quiesce point number is created, and data that associates the version with the quiesce point is created.
  • difference data with the version data at the time of creation of the quiesce point is created, and the version number of the data is updated.
  • the storage system 12 is configured to connect the storage nodes 121 to 124 to the network 13 so that the distributed management process units 121a to 124a can exchange data with each other.
  • the storage system 12 is connected to the backup storage 15 via the network 13.
  • the backup storage 15 includes a disk drive group 151 and a backup file server function.
  • the backup file server function is a computer having a CPU, a memory, a program storage area, a network connection function, and the like.
  • the backup file server function has the function of the backup resource management unit 152, the function of the backup management unit 153, and the function of the backup restoration unit 154.
  • the backup resource management unit 152 manages input / output of data on the disk drive group 151.
  • the backup management unit 153 controls the data backup operation.
  • the backup restoration unit 154 performs overall control of restoration of backup data to the system.
  • the data allocation to the storage node is determined by the distributed management process units 121a to 124a operating on the storage node.
  • the distributed management process units 121a to 124a have a hash function h (d) for outputting a certain integer value for a certain byte string d and a node allocation table based on the range of output values of the hash function.
  • FIG. 9 is a diagram showing an operation of node assignment by the hash function h (d).
  • the storage system 12 receives a storage request having a certain file name and including arbitrary length data (file)
  • the storage system 12 is divided into a plurality of fixed-length data fragments (chunks) defined by a certain distributed management process.
  • the Each chunk is assigned a continuous chunk identifier, and a value obtained by combining the file name and the chunk identifier is used as an input to the hash function h (d).
  • the data storage node is determined from the node assignment table based on the output hash value.
  • FIG. 10 is a diagram showing an example of a node allocation table.
  • the data storage node in which data is stored determines the copy holding node number based on the output of the hash value. Then, the corresponding data is transmitted as main data to the data storage node.
  • the distributed management process determines the replication holding node from the data storage node determined based on the replication allocation table. In the distributed management process, the same data is transmitted as duplicate data to the duplicate holding node.
  • FIG. 11 is a diagram showing an example of a copy assignment table.
  • the replica assignment table shown in FIG. 11 transmits the data of the node corresponding to the primary data holding node number to the node corresponding to the duplicate data holding node number as the duplicate data.
  • the distributed management process has a function of outputting a hash function program, a node allocation table, and a replication allocation table as partially distributed index information.
  • parity data generated by exclusive OR of data in a predetermined number of chunks is used as redundant data, and the redundant data is copied data.
  • the configuration may be managed by an allocation table.
  • the backup management unit 153 makes a preparation request for backup to the backup resource management unit 152 (step C1).
  • This preparation request includes the backup identification name and the addresses of the backup source storage nodes 121 to 124.
  • the backup resource management unit 152 prepares to accept data by a preparation command including the backup identification name and the address of the backup source storage controller 101 (step C3).
  • This preparation includes, for example, generation of a network reception port and identification of a data recording medium.
  • the backup resource management unit 152 transmits a notification that the preparation is completed to the backup management unit 153 (step C5).
  • the backup management unit 153 issues a command for backup to any of the storage nodes 121 to 124. In this embodiment, it is assumed that a backup command is issued to the storage node 121.
  • the distribution management process unit 121a of the storage node 121 that has received the command becomes the master distribution management process unit 121a (step C7).
  • the master distributed management process unit 121a issues a quiesce point creation command to all the quiesce point creation process units 121b to 124b on the storage nodes 121 to 124 (step C9).
  • the quiesce point creation processing units 121b to 124b create a snapshot image at a point of time that is logically consistent among the storage nodes 121 to 124 based on the distributed snapshot creation algorithm (step C11).
  • the quiesce point creation process units 121b to 124b transmit the number of the created snapshot image (referred to as the snapshot number) to the master distributed management process unit 121a (step C13).
  • main data refers to data that is not replicated data of main data in other nodes.
  • the distributed management process units 121a to 124a Upon receiving the backup start request, the distributed management process units 121a to 124a transmit main data to the backup resource management unit 152 (step C17).
  • the backup resource management unit 152 receives the main data from the distributed management process units 121a to 121a, the backup resource management unit 152 stores the received main data (step C19).
  • the distribution management process units 121a to 124a When the distribution management process units 121a to 124a complete the transmission of the main data on all the snapshot images on the storage nodes 121 to 124, the distribution management process units 121a to 124a notify the master distribution management process unit 121a of the completion of the transmission of the main data. Transmit (step C21). Similarly, the distribution management process units 121a to 124a notify the backup resource management unit 152 of a completion notification to the effect that transmission of main data has ended (step C23).
  • the master distributed management process unit 121a transmits a partial distributed index information generation request to the distributed management process units 121a to 124a (step C25).
  • the distributed management process units 121a to 124a generate partial distributed index information for the respective storage nodes 121 to 124 (step C27).
  • the distribution management process units 121a to 124a transmit the generated partial distribution index information to the master distribution management process unit 121a (step C29).
  • the partial distributed index information refers to the above-described hash function program, node allocation table, and multiple allocation table.
  • the master distributed management process unit 121a generates one distributed index information from the partial distributed index information of the storage nodes 121 to 124 (step C31).
  • the master distributed management process unit 121a transmits the generated distributed index information together with the hash function program to the backup resource management unit 152 (step C33).
  • the master distributed management process unit 121a transmits the generated distributed index information to the backup resource management unit 152
  • the master distributed management process unit 121a transmits a completion notification indicating that the backup is completed to the backup resource management unit 152 (step C35).
  • the master distribution management process unit 121a transmits a completion notification indicating that the backup is completed to the backup management unit 153 (step C37).
  • the backup resource management unit 152 When receiving the distributed index information from the master distributed management process unit 121a, the backup resource management unit 152 stores the distributed index information (step C39). Then, the backup resource management unit 152 transmits a completion notification indicating that the reception of the backup is completed to the backup management unit 153 (step C41).
  • the backup management unit 153 When the backup management unit 153 obtains the completion notification from the master distributed management process unit 121a and the backup resource management unit 152, the backup management unit 153 ends the backup work (step C43).
  • the above-described backup data is restored to a state in which a storage node 125 having the same performance as the storage nodes 121 to 124 is inserted into the storage system 12.
  • the backup restoration unit 154 transmits a backup acceptance preparation command to any one of the storage nodes 121 to 124 (step D1).
  • the backup restoration unit 154 has transmitted a backup acceptance preparation command to the storage node 121.
  • the backup restoration unit 154 requests distributed index information from the backup resource management unit 152 (step D3).
  • the storage node 121 When the storage node 121 receives the backup acceptance preparation command, it becomes the master distributed management process unit 121a. Then, when the preparation for acceptance is completed, the master distribution management process unit 121a transmits an acceptance preparation end notification indicating a response (step D5).
  • the master distributed management process unit 121a requests all of the distributed management process units 121a to 124a for the storage node address list, the relative performance value list of the disk drive, the relative capacity value list, the node allocation table, and the replication allocation table. (Step D7).
  • the distributed management process units 121a to 124a extract the storage node address list, the disk drive relative performance value list, the relative capacity value list, the node allocation table, and the replication allocation table. Further, the distribution management process units 121a to 124a also extract the respective index information (step D9).
  • the storage node address list, the disk drive relative performance value list, the relative capacity value list, the node allocation table, and the replication allocation table are defined as performance information.
  • the distributed management process units 121a to 124a transmit the extracted performance information and index information to the master distributed management process unit 121a (step D11).
  • the index information indicates the data arrangement information shown in FIG.
  • the master distributed management process unit 121a generates system configuration information from the acquired performance information. Further, the master distributed management process unit 121a generates distributed management information (in this case, the second distributed index information is applicable) from each acquired index information (step D13).
  • the master distribution management process unit 121a transmits the generated system configuration information and second distribution creation information to the backup restoration unit 154 (step D15). Further, the master distributed management process unit 121a receives the distributed index information (in this case, the first distributed index information corresponds) transmitted from the backup resource management unit 152 (step D17).
  • the backup restoration unit 154 Based on the system configuration information received from the master distributed management process unit 121a, the second distributed index information, and the first distributed index information received from the backup resource management unit 152, the backup restoration unit 154 creates new distributed index information. Is generated (step D19).
  • the new distributed index information (that is, corresponding to the new distributed index information) is generated as follows, for example.
  • An example is an algorithm in which the parallel access performance of certain data is emphasized, and the distribution of the number of data is close to the storage size ratio, and the data that was in the same storage node before backup is stored in the same storage node as much as possible It is to do.
  • the hash function h (d) and the node allocation table are extracted from the partial distributed index information at the time of backup. Then, a storage node address list at the time of backup is created from the node allocation table. For example, the storage node address list can be created from the copy holding node number in the node assignment table shown in FIG.
  • the hash value range shown in FIGS. 9 and 10 is changed.
  • the range of the hash function h (d) is divided.
  • the division is performed so that the ratio of the widths of the divided areas becomes the ratio of the relative capacity value list of the system configuration information.
  • the node allocation table is updated so as to be equal to the ratio of the relative capacity value list.
  • the node allocation table of the distributed index information is changed, and the allocation range for the hash values that have been allocated equally to the storage nodes 121 to 124 so far is changed to the storage nodes 121 to 125. Allocate equally.
  • the allocation change due to the change of the storage nodes 121 to 125 is also included in the change by reflecting the usage tendency.
  • the backup restoration unit 154 can change the first distributed index information and generate new distributed index information. Further, the backup restoring unit 154 transmits the new distributed index information to the master distributed management process unit 121a (step D21).
  • the change of the distributed index information is not limited to the present embodiment.
  • it may be a process of changing the node number of the node assignment table.
  • the sequential accessibility of data can be emphasized.
  • the master distributed management process unit 121a determines whether or not the changed new distributed index information is stored in the current distributed index information state, as in step B17. (Step D23). Here, if it is suitable for storage, the master distributed management process unit 121 a transmits a response indicating that storage is possible to the backup restoration unit 154. On the other hand, if it is not suitable for storage, the master distributed management process unit 121a transmits a response indicating that storage is impossible to the backup restoration unit 154 (step D25).
  • the backup restoration unit 154 When the backup restoration unit 154 receives a response indicating that the data can be stored from the master distributed management process unit 121a, it transmits new distributed index information to the backup resource management unit 152 (step D27). When the backup resource management unit 152 receives the new distributed index information, the backup resource management unit 152 transmits the target data from the disk drive group 151 to the storage nodes 121 to 124 to be stored based on the new distributed index information (step D29).
  • the storage nodes 121 to 124 store the data to be stored when they are received.
  • the distributed management process units 121a to 124a determine a replication storage node for the data from the replication allocation table and create a replication of the data. Then, the distributed management process units 121a to 124a transmit the created copy of the data to the copy storage node.
  • the replication storage target storage node stores the replication data transmitted from the other storage nodes together with the main data transmitted from the backup storage 15 (step D31).
  • the backup resource management unit 152 When the backup resource management unit 152 finishes transmitting all the backup target data, the backup resource management unit 152 transmits a completion notification indicating that the data transmission is completed to the backup restoration unit 154 (step D33). In addition, when all the backup target data is recorded, the storage nodes 121 to 124 transmit a completion notification indicating that the restoration of the data is completed to the backup restoration unit 154 (step D35).
  • the backup restoration unit 154 When the backup restoration unit 154 receives the completion notification from the distributed management process units 121a to 124a and the backup resource management unit 152, the backup restoration unit 154 ends the data restoration process from the backup (step D37).
  • the data restoration system uses a snapshot at a stationary point even when the storage nodes 121 to 124 are connected to each other via a network. You can take a backup. Thereby, in this Embodiment, based on a utilization tendency, the backup of a storage node via a network can be taken. In the present embodiment, the backup data backed up based on the usage trend can be restored to the storage nodes 121 to 124 via the network.
  • data usage trend information is acquired in addition to the distributed index information at the time of data backup in the second embodiment.
  • the master distribution management process unit 121a when the master distribution management process unit 121a receives the node allocation table, the replication allocation table, and the hash function program from the distribution management process units 121a to 124a in step C31, Generate index information. Further, the master distributed management process unit 121a collects the simultaneous usage frequency information for each data from the distributed management process units 121a to 124a, and generates data usage frequency information.
  • the master distributed management process unit 121a transmits the generated second distributed index information and data usage frequency information to the backup restoration unit 154.
  • the simultaneous usage frequency information may be, for example, a frequent pattern in which a correlation rule is extracted based on an access log for a certain period of time to data.
  • the data in the storage node 123 and the data in the storage node 124 are obtained by dividing one large piece of data, and the storage node 123 and the storage node 124 are always accessed simultaneously.
  • association information indicating the relationship between data based on usage trends.
  • step D19 the backup restoration unit 154 changes the node allocation table of the distributed index information based on the given system configuration information and the stored data usage frequency information.
  • FIG. 14 shows an example of distributed index information of the storage node 123 at the time of backup creation.
  • hash value ranges and copy holding node numbers (121 to 124) are associated with each other.
  • the system configuration information has been changed by adding the storage node 125.
  • the node allocation table of the distributed index information is changed in step D19. Specifically, the allocation range for the hash value that has been allocated to the storage nodes 121 and 122 so far is changed so as to be allocated equally to the storage nodes 121, 122, and 125.
  • FIG. 15 shows the node assignment table after the change. Since the storage node 123 and the storage node 124 are used at the same time, the storage node 123 and the storage node 124 are data arrangement information that equally divides the storage nodes 121, 122, and 125 while maintaining the relationship between the storage node 123 and the storage node 124.
  • new distributed index information is generated on the basis of this data arrangement information, and data is restored from the backup storage 15 to the storage system 12 to obtain data based on the usage trend. Can be arranged.
  • the data restoration system changes the node allocation table based on the data usage frequency information, and the node is associated with the system configuration information in which the storage node is changed.
  • the allocation table can be changed.
  • the disk drives 111 to 114 have been described as examples of storage areas, but the present embodiment is not limited to this.
  • the storage area may be a hard disk drive, DRAM (Dynamic Random Access Memory), non-volatile semiconductor memory (flash memory, MRAM (Magnetoresistive Random Access Memory), FeRAM (Ferroelectric Random), or the like).
  • DRAM Dynamic Random Access Memory
  • flash memory flash memory
  • MRAM Magneticoresistive Random Access Memory
  • FeRAM Feroelectric Random
  • it may be a physical medium capable of recording data such as a magnetic tape, or one or more of the above-described media coupled to a RAID (Redundant Arrays of Inexpensive Disks) controller.
  • a control device that controls these media to be stored outside the storage node and stores data in the media, or a combination thereof may be used.
  • backup processing and data restoration processing are performed separately, but the present embodiment is not limited to this.
  • the backup process and the data restoration process may be executed simultaneously.
  • the backup can be started at the same time as the data restoration process is started, so that a backup can be obtained separately.
  • the backup data can be replaced by simultaneously executing the backup process and the data restoration process.
  • the various components of the present embodiment only need to be formed so as to realize their functions.
  • dedicated hardware that exhibits a predetermined function, or the backup controller 3 or the storage system 1 to which the predetermined function is given by a computer program may be used.
  • it can be realized as a predetermined function realized in the backup controller 3 or the storage system 1 by a computer program, any combination thereof, or the like.
  • the various constituent elements of the present embodiment do not have to be individually independent. Multiple components are formed as one device, one component is formed from multiple devices, one component is part of another component, one component The part and some of the other components may overlap.
  • the plurality of steps of the method of the present embodiment are not limited to being executed at different timings. For this reason, another step may occur during execution of a certain step, or a part or all of the execution timing of a certain step and the execution timing of another step may overlap.
  • the configuration information request in step B7, the configuration information generation in step B9, the system configuration information in step B11, and the distributed index information change in step B13 are in the order described in the first embodiment. It is not limited to. Specifically, the latest system configuration information generated may be transmitted when system configuration information is periodically generated at an arbitrary timing and a request for configuration information is received.
  • the storage system 1 and the backup controller 3 can be realized by an information processing apparatus that can transmit and receive data.
  • hardware constructed with general-purpose devices such as CPU, ROM (Read Only Memory), RAM (Random Access Memory), I / F (Interface) unit, etc.
  • Dedicated built to execute predetermined information processing Can be implemented as a logic circuit, a combination thereof, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 データ挿入システムは、ストレージシステム(1)と、バックアップ用ストレージ(2)と、バックアップコントローラ(3)とを備える。データ挿入システムは、ストレージシステム(1)に配置されていたときの第1の分散索引情報を取得する第1の分散索引情報取得部(311)と、ディスクドライブ(111)~(114)の構成を示すシステム構成情報と、ストレージシステム(1)の第2の分散索引情報をストレージシステム(1)に要求する構成情報要求部(312)と、システム構成情報および第2の分散索引情報を生成する装置分散索引情報生成部(1011)と、生成されたシステム構成情報および第2の分散索引情報と、第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成部(314)と、を備える。

Description

[規則37.2に基づきISAが決定した発明の名称] データ挿入システム
 本発明は、データ挿入システム、データ制御装置、ストレージ装置、データ挿入方法、データ制御方法およびデータ格納方法に関する。
 現在、分散データ記憶配信システムが知られている。この分散データ記憶配信システムは、データを記憶するストレージ装置を備えたユーザ計算機(以下、ストレージノードともいう。)を、複数のネットワークに接続して、大容量のデータ記憶システムを構築している。そして、この分散データ記憶配信システムは、データを配置(格納)する機能と、データの配置を管理する機能(分散データ配置管理機能)を有している。
 これにより、ユーザ計算機から送信されたデータは、分散データ記憶配信システムにおける分散データ配置管理機能によって、複数のデータ断片に分割されるとともに冗長化され、複数のストレージノードに格納される。そして、同じネットワーク上に接続されたユーザ計算機は、分散データ配置管理機能を利用して、所望の分散データが配置されたストレージノードを特定し、当該ストレージノードから分散データを取得する。
 ここで、分散データ配置管理機能は、集中的な管理機能を有するメタデータサーバや、分散ハッシュテーブルなどを用いた分散的な管理機能を利用した索引機能を有する分散データ索引部によって実現されている。このため、分散データ記憶配信システムは、格納する多数のデータを分散して各ストレージノードに格納する。これにより、データの配置がシステムの性能、耐故障性または可用性等に大きく影響を与えることとなる。
 例えば、ストレージ装置として磁気ディスクドライブを利用する場合、連続してアクセスされる可能性が極めて高い二つのデータは、同じ磁気ディスクドライブ上の物理的に連続する領域に格納すると、アクセス性能が高くなる。また、ストレージノード間をつなぐネットワークの性能が低い場合は、同時に利用されるデータは、複数の異なるストレージノードに格納すると性能が高くなる。これに対して、極めて性能が低くなるアクセスが存在する場合には、システムが多量のアクセスに応答できなくなり、可用性が下がる。
 このように、同時アクセスまたは連続アクセスのパターンや、アクセスの有無の時間変化などといったデータの利用傾向に合わせ、より利用傾向に合致したデータの分散配置を行うことが重要である。
 また、分散データ記憶配信システムは、動的データマイグレーション機能によって、一度格納されたデータが別のストレージノードに移動することにより、データの配置を変更することができるデータ再配置機能を有する場合がある。
 例えば、ネットワーク構成上、別のストレージノードの方が利用者の利用に近い場合や、同時に利用されるようになった複数のデータを、異なるストレージノードで並列に読み出して、システム性能を向上させること等がある。
 これは、ネットワークを通じたデータの転送機能と、分散データ配置管理機能が持つ索引機能における登録データ変更機能により行われる。
 但し、動的データマイグレーション機能におけるデータ再配置機能は、ストレージ装置のアクセスが伴うため、データに適したデータ配置まで再配置を完了するために数分から数時間を要する場合があった。
 また、分散データ記憶配信システムでは、システム内のストレージノード数を増減させることが出来る。例えば、分散データ記憶配信システムは、システムのデータ提供性能が足りなくなったり、データ格納容量が足りなくなった場合には、ストレージノードを追加することが出来る。また、あるストレージノードが故障したり、扱うデータ量が少なくなった場合には、分散データ記憶配信システムは、ストレージノードを減らすことが出来る。このようなシステム構成の変更は、分散データ配置管理機能の持つシステムの構成を表す情報と、索引機能の変更とによって行われる。
 このような構成を有する分散データ記憶配信システムにおいて、未だデータが登録されていない状態の場合に、あらかじめ別のシステムに格納された大量のデータを、当該分散データ記憶配信システムに挿入することがある。
 例えば、データを挿入するケースとしては、バックアップデータのリストアがあげられる。まず、分散データ記憶配信システム全体が故障してデータが失われることに備えるために、分散データ記憶配信システムは、格納されているデータのバックアップを、別の記憶装置(例えば、バックアップ記憶装置)に作成する必要がある。
 ここで、全体の故障としては、例えば、電源や建物設備障害、ソフトウェアの不具合、天災等が考えられる。また、バックアップ記憶装置としては、テープ装置やディスクアレイ、あるいは別の分散データ記憶配信システム等が用いられる。
 なお、分散データ記憶配信システムにおいてバックアップを取るバックアップ方式は、システム全体の同期的な静止点における状態をバックアップすることが必要となる。なぜなら、ネットワークに並列に接続された計算機では、命令の送信が遅延し、各ノードでのバックアップ作成時間を一致させることが難しいためである。また、データによるノード間の移動があるため、ノード間でバックアップ作成時間がずれると失われるデータが発生したり、重複したデータが存在したりする。
 そこで、バックアップするデータを管理するデータ管理部において、システム全体で一貫したある時点のデータセットを表すスナップショットと呼ばれる状態を保存する。スナップショットは、例えば、特許文献1に記載された方法で作成することができる。その後、スナップショットのデータをバックアップの対象として、バックアップ記憶装置に送信する。
 また、非特許文献1には、並列に接続されたストレージ装置のデータをバックアップするためにスナップショットを作成し、そのスナップショットのデータをバックアップする手法が記載されている。
 ここで、分散データ記憶配信システム内のデータのバックアップを格納するための手法の一例として、スナップショットを作成後、ストレージノードごとに格納されているデータを、定められたバックアップ記憶装置に送信する方式が考えられる。この方式では、ストレージノードごとにバックアップデータやバックアップ装置を管理する必要があり、管理者の作業量が大きい。
 また、別の方法としては、データをブロックやチャンクなどの固定長データ塊単位、あるいはファイルなどの意味分割データ塊ごとに分割し、そのデータ塊を一意に表す識別子と共にバックアップ記憶装置に送信し保存する方法が考えられる。
 そして、分散データ記憶配信システムに障害が発生してデータが失われた場合、修理もしくは新しく構築した復旧後の分散データ記憶配信システムに対し、管理者は、バックアップ記憶装置からデータを復旧する。
 バックアップ記憶装置に格納されたバックアップデータは、格納時のデータ塊ごとに復旧後の分散データ記憶配信システムのストレージノードにコピーされる。コピー先のストレージノードは、復旧後の分散データ記憶配信システムの構成に依存し、復旧後の分散データ記憶配信システムの備えるデータ配置管理機能により決定される。
 また、ストレージノードにコピーされたデータのコピーが、別のストレージノードに配置されることもある。これは、ストレージノードの故障からデータの喪失を防ぐためである。これも復旧後の分散データ記憶配信システムの供えるデータ配置管理機能により決定される。
 また別の例としては、従来運用していたシステム中のデータを新しく構成された高性能な分散データ記憶配信システムに移動する場合にも、その新しいシステムに対して古いシステムから大量のデータを挿入する。
 この場合も、古いシステムに格納されたデータは、ブロックやチャンクなどの固定長データ塊単位、あるいはファイルなどの意味分割データ塊ごとに分割され、データ塊を一意に表す識別子と共に新しい分散データ記憶配信システムに対しコピーされる。
特開2004-38929号公報
アイシロン・システムズ株式会社著「SnapshotIQ」、http://www.isilon.co.jp/materials/brochures/30480_Snapshot.pdf 2008
 しかしながら、かかる構成の分散データ記憶配信システムにおいて、大量のデータを分散データ記憶配信システムに挿入する際、バックアップ記憶装置に記憶されたデータには、利用傾向に合致したデータ分散配置が存在するものがある。しかしながら、大量のデータが分散データ記憶配信システムに単に挿入されると、システムに挿入されたデータは、利用傾向に合致しないデータ分散配置状態になってしまう、という問題があった。
 具体的には、先述のデータバックアップ・リストアの例では、データのバックアップ時とデータ復旧時では、ストレージノードの性能や記憶容量等の構成が異なることがある。このため、バックアップ記憶装置のデータを分散データ記憶配信システムに単に挿入すると、復旧後の分散データ記憶配信システムでは、データの利用傾向に合致しないデータ分散配置状態となってしまうことがある。
 本発明は上記事情に鑑みてなされたものであり、その目的とするところは、バックアップ記憶装置に記憶されているデータの利用傾向に基づいて、分散データ記憶配信システムにデータを挿入するデータ挿入システム、データ制御装置およびストレージ装置を提供することを目的とする。
 本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備えるデータ挿入システムであって、
 前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得手段と、
 前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
 前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第2の分散索引情報を生成する装置分散索引情報生成手段と、
 前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得手段によって取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、
 前記新データ配置情報生成手段は、
 生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
 ことを特徴とするデータ挿入システムが提供される。
 本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるデータ制御装置であって、
 前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得手段と、
 前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
 前記構成情報要求手段によって要求された前記システム構成情報および前記第2の分散索引情報を受信する第2の分散情報受信手段と、
 前記第2の分散索引情報受信手段で受信された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得手段によって取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、
 前記新データ配置情報生成手段は、
 生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
 ことを特徴とするデータ制御装置が提供される。
 本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるストレージ装置であって、
 データを記憶する複数の記憶領域を有し、
 前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第2の分散索引情報を生成する装置分散索引情報生成手段と、
 前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第2の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手段と、
 前記新データ配置情報生成手段によって生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手段と、
 前記新分散索引情報受信手段によって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判断手段と、
 を備えることを特徴とするストレージ装置が提供される。
 本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備えるデータ挿入システムのデータ挿入方法であって、
 前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得ステップと、
 前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
 前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第2の分散索引情報を生成する装置分散索引情報生成ステップと、
 前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得ステップで取得された前記第1の分散索引情報に基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を含み、
 前記新データ配置情報生成ステップは、
 生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
 ことを特徴とするデータ挿入方法が提供される。
 本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるデータ制御装置のデータ制御方法であって、
 前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得ステップと、
 前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
 前記構成情報要求ステップで要求された前記システム構成情報および前記第2の分散索引情報を受信する第2の分散情報受信ステップと、
 前記第2の分散索引情報受信ステップで受信された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得ステップで取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を備え、
 前記新データ配置情報生成ステップは、
 生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
 ことを特徴とするデータ制御方法が提供される。
 本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるストレージ装置のデータ格納方法であって、
 データを記憶する複数の記憶領域を有し、
 前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第2の分散索引情報を生成する装置分散索引情報生成ステップと、
 前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第2の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信ステップと、
 新データ配置情報生成ステップで生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信ステップと、
 前記新分散索引情報受信ステップによって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判断ステップと、
 を含むことを特徴とするデータ格納方法が提供される。
 本発明によれば、所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるデータ制御装置にデータ処理を実行させるデータ制御プログラムおよびこれを格納している記憶媒体であって、
 前記データ処理は、
 前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得手順と、
 前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求手順と、
 前記構成情報要求手順で要求された前記システム構成情報および前記第2の分散索引情報を受信する第2の分散情報受信手順と、
 前記第2の分散索引情報受信手順で受信された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得手順で取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手順と、を備え、
 前記新データ配置情報生成手順は、
 生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを前記記憶領域に格納させる
 ことを特徴とするデータ制御プログラムおよび記憶媒体が提供される。
 本発明によれば、所定のデータが保存されたデータ保存装置と、データを記憶する複数の記憶領域を有し前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるストレージ装置にデータ処理を実行させるデータ格納プログラムおよびこれを格納している記憶媒体であって、
 前記データ処理は、
 前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第2の分散索引情報を生成する装置分散索引情報生成手順と、
 前記装置分散索引情報生成手順で生成された前記システム構成情報および前記第2の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手順と、
 新データ配置情報生成手順で生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手順と、
 前記新分散索引情報受信手順で受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納可否判断手順と、
 を備えることを特徴とするデータ格納プログラムおよび記憶媒体が提供される。
 本発明によれば、バックアップ記憶装置に記憶されているデータの利用傾向に基づいて、分散データ記憶配信システムにデータを挿入するデータ挿入システム、データ制御装置、ストレージ装置、データ制御方法、データ格納方法、データ制御プログラム、データ格納プログラムおよびこれらを格納した記憶媒体が提供される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
第1の実施の形態に係るデータ挿入システムを示した概略構成図である。 第1の実施の形態に係るストレージコントローラのハードウェアブロック図である。 第1の実施の形態に係るデータ配置情報の一例を示した図である。 第1の実施の形態に係るデータ挿入システムのバックアップ時のシーケンス図の一例を示した図である。 第1の実施の形態に係るデータ挿入システムのデータ復元作業時のシーケンス図の一例を示した図である。 第1の実施の形態に係るデータ挿入システムの第1の分散索引情報の一例を示した図である。 第1の実施の形態に係るデータ挿入システムの第2の分散索引情報の一例を示した図である。 第2の実施の形態に係るデータ挿入システムを示した機能ブロック図である。 第2の実施の形態に係るハッシュ関数h(d)によるノード割り当ての動作を示した図である。 第2の実施の形態に係るノード割り当て表を示した図である。 第2の実施の形態に係る複数割り当て表を示した図である。 第2の実施の形態に係るデータ挿入システムのバックアップ時のシーケンス図の一例を示した図である。 第2の実施の形態に係るデータ挿入システムのデータ復元作業時のシーケンス図の一例を示した図である。 第3の実施の形態に係るデータ挿入システムにおいて、変更前のノード割り当て表の一例を示した図である。 第3の実施の形態に係るデータ挿入システムにおいて、変更後のノード割り当て表の一例を示した図である。
(第1の実施の形態)
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
 図1は、本実施の形態に係るデータ復元システム(データ挿入システム)を示した概略構成図である。図1に示すデータ復元システムは、所定のデータが保存されたバックアップ用ストレージ(データ保存装置)2と、バックアップ用ストレージ2からデータを受信するストレージシステム(ストレージ装置)1と、バックアップ用ストレージ2からストレージシステム1に送信されるデータを選択するバックアップコントローラ(データ制御装置)3とを備えるデータ復元システムであって、バックアップ用ストレージ2に保存されているデータについて、保存されている当該データがストレージシステム1に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得部311と、ストレージシステム1が有する複数のディスクドライブ(記憶領域)111~114の構成を示すシステム構成情報と、ストレージシステム1の第2のデータ配置情報を示す第2の分散索引情報を、ストレージシステム1に要求する構成情報要求部312と、複数のディスクドライブ111~114の構成に基づいて、システム構成情報および第2の分散索引情報を生成する装置分散索引情報生成部1011と、装置分散索引情報生成部1011によって生成されたシステム構成情報および第2の分散索引情報と、第1の分散索引情報取得部311によって取得された第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成部314と、を備え、新データ配置情報生成部314は、生成された新データ配置情報に基づいて、バックアップ用ストレージ2に格納されているデータをディスクドライブ111~114に格納させる。
 このように、本実施の形態では、新データ配置情報生成部314が、システム構成情報および第2の分散索引情報と、第1の分散索引情報とに基づいて、新データ配置情報を生成する。そして、新データ配置情報生成部314は、生成された新データ配置情報に基づいて、バックアップ用ストレージ2に保存されているデータを、ディスクドライブ111~114の記憶領域に格納させる。
 したがって、本実施の形態では、データ復元システムは、生成された新データ配置情報に基づいて、バックアップ用ストレージ2に格納されているデータをディスクドライブ111~114に格納させることができる。これにより、データ復元システムは、大量のデータを挿入する際に、バックアップ用ストレージ2に格納されたデータの利用傾向に基づいて、バックアップ用ストレージ2に保存されたデータを、ストレージシステム1に復元することができる。
 なお、本実施の形態では、バックアップ用ストレージ2に保存されているデータについて、保存されている当該データがストレージシステム1に配置されていたときの第1のデータ配置情報を、利用傾向を含む情報と把握することができる。すなわち、新データ配置情報を生成する際に、この第1のデータ配置情報を反映することにより、バックアップ時の最適化されたデータを復元することができる。
 このように、このデータ復元システムは、バックアップ用ストレージ2に格納された第1の分散索引情報を活かして、ストレージシステム1を復元することができるので、データの利用傾向を反映したストレージシステム1を復元させることができる。
 なお、記憶領域であるディスクドライブ111~114や分散索引情報に関しては、後述にて詳述することとする。
 バックアップコントローラ3は、バックアップ用ストレージ2に保存されているデータについて、保存されている当該データがストレージシステム1に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得部311と、ストレージシステム1が有するディスクドライブ111~114の構成を示すシステム構成情報と、ストレージシステム1の第2のデータ配置情報を示す第2の分散索引情報を、ストレージシステム1に要求する構成情報要求部312と、構成情報要求部312によって要求されたシステム構成情報および第2の分散索引情報を受信する第2の分散索引情報受信部313と、第2の分散索引情報受信部313で受信されたシステム構成情報および第2の分散索引情報と、第1の分散索引情報取得部311によって取得された第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成部314と、を備え、新データ配置情報生成部314は、生成された新データ配置情報に基づいて、バックアップ用ストレージ2に格納されているデータを、記憶領域に格納させる。
 ストレージシステム1は、データを記憶するディスクドライブ(複数の記憶領域)111~114を有し、ディスクドライブ111~114の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第2の分散索引情報を生成する装置分散索引情報生成部1011と、装置分散索引情報生成部1011によって生成されたシステム構成情報および第2の分散索引情報を、バックアップコントローラ3に送信する装置分散索引情報送信部1012と、新データ配置情報生成部314によって生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信部1013と、新分散索引情報受信部1013によって受信された新分散索引情報に基づいて、バックアップ用ストレージ2に保存されているデータを、ディスクドライブ111~114に格納することの適否を判定する格納可否判断部1014と、を備えている。
 新データ配置情報生成部314は、ディスクドライブ111~114に配置されていたときの関連性を示す連関情報に基づいて、ディスクドライブ111~114に配置されていたデータの配置位置の少なくとも一部を維持する新データ配置情報を生成する。
 これにより、本実施の形態では、データ同士の関連性を示す連関情報であって、ストレージシステム1に保存されていた配置情報を少なくとも一部に含む情報に基づいて、新データ配置情報を生成するので、利用傾向を反映して最適化されて配置されていたデータを復元することができる。また、使用されるデータの種別による配置情報やデフラグの実行結果によるデータの配置情報なども、データ同士の関連性を示す連関情報の一態様とみなすことができる。
 また、新データ配置情報生成部314は、データ同士の関連性を示す連関情報を新データ配置情報に反映することができるので、シーケンシャルアクセスを意識して、ディスクドライブ111~114の性能を活かしながら、対象となるデータを格納することができる。なお、このデータ同士の関連性を示す連関情報については、第3の実施の形態にて詳述することにする。
 格納可否判断部1014は、新データ配置情報生成部314によって生成された新データ配置情報と、ディスクドライブ111~114の記憶容量に基づいて、バックアップ用ストレージ2に保存されているデータを、ディスクドライブ111~114に格納することの適否を判定するようにしてもよい。
 この場合、新データ配置情報と、ディスクドライブ111~114の記憶容量を反映することができるので、ディスクドライブ111~114に問題なく格納できる可能性を高めた上で、対象となるデータの格納の適否を判定することができる。
 また、ストレージシステム1は、ディスクドライブ111~114に格納されたデータのバックアップを作成する指示を受け付けるバックアップ受付部1015と、バックアップ受付部1015によってバックアップを作成する指示が受け付けられると、ディスクドライブ111~114に格納されたデータのコピーを作成し、作成された当該コピーをデータ保存装置に送信するデータ送信出力部1016と、ディスクドライブ111~114に配置されていたときのデータ配置情報を、データ送信出力部1016によって送信されたコピーにより、第1の分散索引情報を生成する分散索引情報生成部1017と、を更に備えている。
 すなわち、本実施の形態において、ストレージシステム1は、ストレージコントローラ101と、ディスクドライブ111~114とを備えている。ストレージコントローラ101は、装置分散索引情報生成部1011と、装置分散索引情報送信部1012と、新分散索引情報受信部1013と、格納可否判断部1014と、バックアップ受付部1015と、を備えている。また、ストレージコントローラ101は、データ送信出力部1016と、分散索引情報生成部1017と、を備えている。
 ストレージシステム1は、ストレージコントローラ101を介して、データ接続ネットワーク4と、制御ネットワーク5に接続されている。
 バックアップコントローラ3は、バックアップ管理部31と、バックアップ復元部32とを備えている。バックアップ管理部31は、第1の分散索引情報取得部311と、構成情報要求部312と、第2の分散索引情報受信部313と、新データ配置情報生成部314とを備えている。また、バックアップコントローラ3は、図示しないCPU(Central Processing unit)と、メモリと、プログラム格納領域と、ネットワーク接続機能などにより、バックアップ管理部31とバックアップ復元部32を、実現している。
 また、図1に示すデータ復元システムは、複数のディスクドライブを有するバックアップ用ストレージ2が接続されている。バックアップ用ストレージ2は、ストレージシステム1よりも大きな容量を備えている。
 図2は、ストレージコントローラ101のハードウェアブロック図を示したものである。図2に示すストレージコントローラ101は、ストレージシステム1の全体制御を司るCPU6と、一時的なデータを格納するメモリ7と、プログラムなどを格納するローカル不揮発性メモリ8と、を備えている。また、ストレージコントローラ101は、ディスクドライブ111~114を制御するI/Oコントローラ9と、データ接続ネットワーク4や制御ネットワーク5と接続するためのネットワークコントローラ10と、を備えている。
 ここで、ストレージシステム1のディスクドライブ111~114のデータ配置情報は、ストレージコントローラ101のメモリ7及びローカル不揮発性メモリ8に格納されている。このデータ配置情報の一例を、図3に示す。
 図3は、メモリ7に格納されたデータ配置情報の一例を示したデータ配置情報テーブルである。本実施の形態では、データは、固定長ブロック単位で格納されている。ここで、ブロックとは、ボリューム番号と、そのボリューム番号内で一意にブロックを指定することのできる相対ブロック番号との組み合わせにより、ストレージシステム1内で一意に識別される単位である。そして、ブロックの組み合わせをブロック番号とする。
 図3に示すデータ配置情報テーブルは、ブロック番号によって、格納されているディスクドライブの番号と、そのディスクドライブ上のデータ位置を抽出することのできるテーブルである。また、ブロック番号により、ディスクドライブの番号と、そのディスクドライブの番号上のデータ位置を抽出するプログラムが実装されている。
 このように、本実施の形態では、このデータ配置情報は、ブロック番号と、ディスクドライブの番号と、データ配置の配列を、分散索引情報として格納している。なお、バックアップ用ストレージ2においてデータが格納される場合には、このデータ配置情報のブロック番号の他に、バックアップを示す識別子が付与される。
 次に、本実施の形態におけるデータ復元システムのバックアップ処理について、図4のシーケンス図を用いて、説明する。
 図4に示すデータ復元システムのシーケンス図では、バックアップ管理部31が、バックアップ用ストレージ2に対して、バックアップを行うための準備要求を行う(ステップA1)。この準備要求は、バックアップ識別名と、バックアップ元のディスクドライブ111~114のアドレスを含んでいる。バックアップ用ストレージ2は、バックアップ識別名と、バックアップ元のストレージコントローラ101のアドレスを含む準備命令により、データを受け入れるための準備を行う(ステップA3)。この準備には、例えば、ネットワーク受信ポートの生成や、データ記録媒体の特定などが含まれる。
 バックアップ用ストレージ2は、バックアップの準備が完了すると、バックアップ管理部31に準備が完了した旨の通知を送信する(ステップA5)。
 バックアップ管理部31は、ストレージコントローラ101に対し、バックアップするデータを確定し、そのバックアップ対象データを通知する(ステップA7)。なお、バックアップの対象は、バックアップ管理部31に事前に設定されていてもよく、また全データであってもよい。また、該当するユーザが利用するボリュームのみであってもよい。
 ストレージコントローラ101は、バックアップ管理部31からの通知を受けて、対象データを確定する(ステップA9)。これにより、ストレージコントローラ101は、バックアップ管理部31に、データの確定が終了した旨を通知する(ステップA11)。
 なお、ステップA1からステップA11までの処理は、ステップA1とステップA7が同時に行われてもよく、また、ステップA7~ステップA11の処理を、ステップA1~ステップA5の処理よりも先に実施してもよい。
 次に、バックアップ管理部31は、ストレージコントローラ101とバックアップ用ストレージ2がバックアップの準備が終了した旨の通知を受信すると、ストレージコントローラ101に対して、バックアップ開始要求を送信する(ステップA13)。ストレージコントローラ101は、このバックアップ開始要求を受けると、対象データをバックアップ用ストレージ2に送信する(ステップA15)。
 バックアップ用ストレージ2は、バックアップの対象データを受信すると、受信したデータを記録して記憶する(ステップA17)。このとき、バックアップ用ストレージ2は、受信したデータを、バックアップ識別名とブロック番号により、当該データが記憶された位置を確認できる内部索引構造を生成する。そして、バックアップ用ストレージ2は、この内部索引構造を記録する。
 ストレージコントローラ101は、バックアップ用ストレージ2に送信した対象データの分散索引情報を生成する(ステップA19)。そして、ストレージコントローラ101は、生成された分散索引情報を、バックアップ用ストレージ2に送信する(ステップA21)。
 バックアップ用ストレージ2は、ストレージコントローラ101から分散索引情報を受信すると、その分散索引情報を、ディスクドライブに格納する(ステップA23)。
 ストレージコントローラ101は、バックアップ用ストレージ2に対象データの送信が終了すると、対象データの送信が終了したことを示す完了通知を、バックアップ管理部31とバックアップ用ストレージ2に送信する(ステップA25、A27)。バックアップ用ストレージ2は、ストレージコントローラ101から対象データの受信と分散索引情報の受信と内部索引構造の記録が完了し、またストレージコントローラ101から完了通知を受信すると、バックアップ管理部31に対して、バックアップが終了したことを示す完了通知を送信する(ステップA29)。
 バックアップ管理部31は、ストレージコントローラ101とバックアップ用ストレージ2から完了通知を受信すると、バックアップ処理を終了する(ステップA31)。
 次に、本実施の形態におけるデータ復元システムのデータ復元処理について、図5のシーケンス図を用いて、説明する。
 本実施の形態では、一例として、ストレージシステム1のディスクドライブ112が故障したと仮定する。そのため、ディスクドライブ112の代わりに、図示しない同性能のディスクドライブ115が挿入され、バックアップ用ストレージ2からバックアップデータを復元することとする。
 図5に示すデータ復元システムのシーケンス図では、バックアップ復元部32は、バックアップ用ストレージ2に対して、バックアップ識別名を含む分散索引情報の要求を行う(ステップB1)。バックアップ用ストレージ2は、バックアップ復元部32から、バックアップ識別名を含む分散索引情報の要求を受信する(ステップB3)。バックアップ用ストレージ2は、指定されたバックアップ識別名のバックアップ対象データの分散索引情報(第1の分散索引情報)を、バックアップ復元部32に送信する(ステップB5)。
 次に、バックアップ復元部32は、ストレージコントローラ101に、ストレージシステム1の構成情報を要求する(ステップB7)。ストレージコントローラ101は、この構成情報の要求に対応するシステム構成情報と分散索引情報を生成する(ステップB9)。
 ここで、このシステム構成情報は、例えば、ディスクドライブの番号リストと、ディスクドライブの容量値リストが該当する。なお、これ以外については、第2の実施の形態において説明する。また、分散索引情報は、現在のデータ復元システムの利用傾向に基づいた第2の分散索引情報を生成する。具体的には、図3に示した分散索引情報に相当する現在の利用傾向を示す第2の分散索引情報を生成する。
 ストレージコントローラ101は、生成されたシステム構成情報と第2の分散索引情報を、バックアップ復元部32に送信する(ステップB11)。
 バックアップ復元部32は、ステップB11で取得した第1の分散索引情報と、システム構成情報と、第2の分散索引情報とを受信すると、これらの情報を反映した新しい分散索引情報(これを新分散索引情報という。)を生成し、第1の分散索引情報から変更する(ステップB13)。ここで、新分散索引情報は、バックアップ用ストレージ2に格納されていた第1の分散索引情報に基づいて、新しい分散索引情報の少なくとも一部に第1の分散索引情報が含まれるようにする。これにより、本実施の形態では、第1の分散索引情報を反映させることができる。
 この一例について、図6と図7を用いて説明する。ここで、第1の分散索引情報の一部を図6に示す。また、第2の分散索引情報の一部を図7に示す。
 バックアップ復元部32は、第1の分散索引情報と、システム構成情報と、第2の分散索引情報に基づいて、新分散索引情報を生成する。図6と図7を対比すると、図7に示す第2の分散索引情報は、図6に示す第1の分散索引情報に比べ、任意のブロック番号において、ディスクドライブの番号が異なっている。すなわち、図7のディスクドライブ115は、図6のディスクドライブ112から変更されていることを示している。他のディスクドライブ内データ位置などは、同一である。
 ここでは、ディスクドライブ112が減り、ディスクドライブ115が増えていることから、新分散索引情報は、第1の分散索引情報のディスクドライブ112を指す部分を、すべてディスクドライブ115に変更したものを、新分散索引情報として生成する。これにより、新分散索引情報は、ディスクドライブ115以外のドライブでは、過去の利用傾向を反映させることができる。
 そして、バックアップ復元部32は、第1の分散索引情報から変更されることによって生成された新分散索引情報を、ストレージコントローラ101へ送信する(ステップB15)。
 これにより、バックアップ時のデータ配置位置において同じディスクドライブにあったデータは、新しいデータ配置位置においても同じディスクドライブとなり、シーケンシャルアクセス性能を維持できる。
 なお、第1の分散索引情報と第2の分散索引情報は、あくまでも例示であって、これに限定されるものではない。
 ストレージコントローラ101は、生成された新分散索引情報を取得して、現在のディスクドライブ111、113、114および115の状態を比較して、格納することの適否を判定する(ステップB17)。ここで、格納に適している場合には、ストレージコントローラ101は、バックアップ復元部32に格納可能を示す応答を送信する。これに対し、格納に適していない場合には、ストレージコントローラ101は、バックアップ復元部32に格納不可能を示す応答を送信する(ステップB19)。
 なお、データを格納することができない場合として、例えば、CPUの処理負荷により、データへのアクセスに時間的制限が生じる場合や、システム構成情報に含まれていない記憶装置の物理的制約等の要因によってデータにアクセスできない場合などが該当する。
 バックアップ復元部32は、ストレージコントローラ101から格納可能を示す応答を受信すると、第1の分散索引情報から変更された新分散索引情報を、バックアップ用ストレージ2に送信する(ステップB21)。バックアップ用ストレージ2は、新分散索引情報に基づいて、対象データをストレージコントローラ101へ送信する(ステップB23)。
 ストレージコントローラ101は、変更された分散索引情報のディスクドライブの番号を元に、当該ブロックを該当するディスクドライブ111、113、114および115のうちのいずれかに保存する(ステップB25)。ストレージコントローラ101は、保存されたディスク位置を、最新の分散索引情報に反映する。
 バックアップ用ストレージ2は、すべてのバックアップ対象データを送信すると、ストレージコントローラ101にデータ送信の完了を示す完了通知を送信する(ステップB27)。そして、ストレージコントローラ101は、バックアップ用ストレージ2から完了通知を受信すると、バックアップ対象データをすべて記録したのち、バックアップ復元部32へ完了通知を送信する(ステップB29)。
 また、バックアップ用ストレージ2は、バックアップ対象データをすべて送信したことを示す完了通知を、バックアップ復元部32へ送信する(ステップB31)。
 バックアップ復元部32は、ストレージコントローラ101とバックアップ用ストレージ2から完了通知を受信すると、バックアップ復元作業が完了したと判断し、終了する(ステップB33)。
 以上説明したように、第1の実施の形態では、データ復元システムは、生成された新分散索引情報に基づいて、バックアップ用ストレージ2に格納されているデータを、ディスクドライブ111~114に格納させることができる。これにより、データ復元システムは、大量のデータを挿入する際に、データの利用傾向に基づいて、バックアップ用ストレージ2に保存されたデータを、ストレージシステム1に復元することができる。
(第2の実施の形態)
 図8は、本発明の第2の実施の形態を示したデータ復元システムを示した機能ブロック図である。図8に示すデータ復元システムは、ストレージシステム12に格納されたデータを、バックアップ処理およびデータ復元処理を行うシステムに関するものである。ストレージシステム12に格納されたデータは、バックアップ用ストレージ15にバックアップされる。そして、バックアップ用ストレージ15にバックアップされたデータは、構成の変更されたストレージシステム12に復元される。
 ストレージシステム1は、バックアップ用ストレージ2から送信されたデータをディスクドライブ111~114に格納させるデータとして受信するデータ受信部1018と、データ受信部1018によって受信されたデータそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれをディスクドライブ111~114に格納させるための複製割当部1019と、を更に備えている。
 また、ストレージシステム1は、ディスクドライブ111~114に格納されたデータに対して、所定の時点における静止点情報を作成する静止点作成部1020を更に備え、データ送信出力部1016は、静止点作成部1020によって作成された静止点情報に基づいて、ディスクドライブ111~114に格納されたデータをバックアップ用ストレージ2に送信する。
 ストレージシステム12は、計算機であるストレージノード121~124から構成されている。ストレージノード121~124は、CPU、メモリ、ディスクドライブ、ネットワークコントローラを備えている。そのため、ストレージノード121~124は、ディスクドライブ内にデータを記憶するデータ記憶装置として機能する。
 また、図8の分散管理プロセス部121a~124aは、それぞれストレージノード121~124上で動作するプログラムである。また、分散管理プロセス部121a~124aは、ネットワーク13を介して、各ストレージノード上の記憶部121c~124cに格納されたデータへのアクセス情報を交換する。これにより、ストレージシステム12は、ストレージノード121~124上の記憶部121c~124cを、あたかも一つのファイルサーバであるかのように見せている。
 静止点作成プロセス部121b~124bは、それぞれストレージノード121~124上で動作するプログラムであり、格納されているデータに対する一貫したスナップショットイメージを作成する。ここで、格納されているデータの現在のバージョンを記録し、静止点作成命令を受け取ったときには、静止点番号を作成し、当該バージョンと、当該静止点を関連付けるデータを作成する。また、その後の当該データへのアクセスがあった場合、静止点作成時のバージョンのデータとの差分データを作成し、当該データのバージョン番号を更新する。
 ストレージシステム12は、ストレージノード121~124をネットワーク13に接続し、分散管理プロセス部121a~124aが相互にデータをやり取りすることができるように構成されている。
 また、ストレージシステム12は、ネットワーク13を介して、バックアップ用ストレージ15に接続されている。
 バックアップ用ストレージ15は、ディスクドライブ群151と、バックアップファイルサーバ機能とを備えている。バックアップファイルサーバ機能とは、CPU、メモリ、プログラム格納領域、ネットワーク接続機能などを持つ計算機である。
 具体的には、バックアップファイルサーバ機能は、バックアップ資源管理部152の機能と、バックアップ管理部153の機能と、バックアップ復元部154の機能を有している。バックアップ資源管理部152は、ディスクドライブ群151上のデータの入出力を管理する。バックアップ管理部153は、データのバックアップ動作を統括する。バックアップ復元部154は、バックアップデータのシステムへの復元の統括制御を行っている。
 ストレージノードへのデータ配置は、ストレージノード上で動作する分散管理プロセス部121a~124aにより決定される。分散管理プロセス部121a~124aでは、あるバイト列dに対して、ある整数値を出力するハッシュ関数h(d)と、ハッシュ関数の出力値の範囲に基づくノード割り当て表を持っている。
 図9は、ハッシュ関数h(d)によるノード割り当ての動作を示した図である。ストレージシステム12は、あるファイル名であって、任意長のデータ(ファイル)を含む格納依頼を受信すると、ある1つの分散管理プロセスにより定められた固定長の複数のデータ断片(チャンク)に分割される。そして、各チャンクには、連続のチャンク識別子が付与され、ファイル名とチャンク識別子を併せた値を、ハッシュ関数h(d)の入力とする。そして、出力されたハッシュ値により、ノード割り当て表からデータ格納ノードを決定する。
 図10は、ノード割り当て表の一例を示した図である。データが格納されるデータ格納ノードは、ハッシュ値の出力により、複製保持ノード番号が決定する。そして、そのデータ格納ノードに、該当するデータを主データとして送信する。
 同時に、分散管理プロセスは、複製割り当て表を元に決定されたデータ格納ノードから、複製保持ノードを決定する。そして、分散管理プロセスでは、同じデータを複製データとして、複製保持ノードに送信する。
 図11は、複製割り当て表の一例を示した図である。図11に示す複製割り当て表は、プライマリデータ保持ノード番号に該当するノードのデータを、複製データ保持ノード番号に該当するノードに、複製データとして送信する。
 分散管理プロセスは、ハッシュ関数プログラム、ノード割り当て表および複製割り当て表を、部分分散索引情報として出力する機能を有している。
 なお、本実施の形態は、これに限定されるものではなく、例えば、定められた数のチャンク内のデータの排他的論理和により生成されるパリティデータを冗長データとして、その冗長データを複製データと同様に、割り当て表によって管理する構成であってもよい。
 次に、本実施の形態におけるデータ復元システムのバックアップ処理について、図12のシーケンス図を用いて、説明する。
 図12に示すデータ復元システムのシーケンス図では、バックアップ管理部153は、バックアップ資源管理部152に対して、バックアップを行うための準備要求を行う(ステップC1)。この準備要求は、バックアップ識別名と、バックアップ元のストレージノード121~124のアドレスを含んでいる。バックアップ資源管理部152は、バックアップ識別名と、バックアップ元のストレージコントローラ101のアドレスを含む準備命令により、データを受け入れるための準備を行う(ステップC3)。この準備には、例えば、ネットワーク受信ポートの生成や、データ記録媒体の特定などが含まれる。
 バックアップ資源管理部152は、バックアップの準備が完了すると、バックアップ管理部153に準備が完了した旨の通知を送信する(ステップC5)。
 バックアップ管理部153は、ストレージノード121~124のいずれかに、バックアップをするための命令を発行する。なお、本実施の形態では、ストレージノード121にバックアップの命令を発行したとする。命令を受け取ったストレージノード121の分散管理プロセス部121aは、マスター分散管理プロセス部121aとなる(ステップC7)。
 マスター分散管理プロセス部121aは、ストレージノード121~124上のすべての静止点作成プロセス部121b~124bに対して静止点作成命令を発行する(ステップC9)。静止点作成プロセス部121b~124bは、分散スナップショット作成アルゴリズムに基づいて、各ストレージノード121~124間で論理的に一貫した時点におけるスナップショットイメージを作成する(ステップC11)。
 静止点作成プロセス部121b~124bは、作成されたスナップショットイメージの番号(これをスナップショット番号という。)を、マスター分散管理プロセス部121aに送信する(ステップC13)。
 マスター分散管理プロセス部121aは、すべてのスナップショット番号を受け取ると、すべての分散管理プロセス部121a~124aに対して、主データをバックアップ資源管理部152に転送するバックアップ開始要求を送信する(ステップC15)。ここで、主データとは、他のノードにおける主データの複製データではないデータのことをいう。
 分散管理プロセス部121a~124aは、バックアップ開始要求を受信すると、主データをバックアップ資源管理部152に送信する(ステップC17)。バックアップ資源管理部152は、分散管理プロセス部121a~124aから主データを受信すると、受信した主データを格納する(ステップC19)。
 分散管理プロセス部121a~124aは、ストレージノード121~124上のすべてのスナップショットイメージ上の主データの送信が終了すると、主データの送信が終了した旨の完了通知をマスター分散管理プロセス部121aに送信する(ステップC21)。また、分散管理プロセス部121a~124aは、バックアップ資源管理部152に対しても同様に、主データの送信が終了した旨の完了通知を通知する(ステップC23)。
 マスター分散管理プロセス部121aは、分散管理プロセス部121a~124aに対して、部分分散索引情報生成要求を送信する(ステップC25)。分散管理プロセス部121a~124aは、それぞれのストレージノード121~124の部分分散索引情報を生成する(ステップC27)。分散管理プロセス部121a~124aは、生成した部分分散索引情報を、マスター分散管理プロセス部121aに送信する(ステップC29)。ここで、部分分散索引情報は、上述した、ハッシュ関数プログラム、ノード割り当て表、複数割り当て表のことをいう。
 マスター分散管理プロセス部121aは、ストレージノード121~124の部分分散索引情報から1つの分散索引情報を生成する(ステップC31)。マスター分散管理プロセス部121aは、生成された分散索引情報を、ハッシュ関数プログラムとともに、バックアップ資源管理部152に送信する(ステップC33)。
 マスター分散管理プロセス部121aは、生成された分散索引情報をバックアップ資源管理部152に送信すると、バックアップが完了した旨を示す完了通知をバックアップ資源管理部152に送信する(ステップC35)。また、マスター分散管理プロセス部121aは、バックアップ管理部153にも同様に、バックアップが完了した旨を示す完了通知を送信する(ステップC37)。
 バックアップ資源管理部152は、マスター分散管理プロセス部121aから分散索引情報を受信すると、その分散索引情報を格納する(ステップC39)。そして、バックアップ資源管理部152は、バックアップの受信が終了したことを示す完了通知を、バックアップ管理部153に送信する(ステップC41)。
 バックアップ管理部153は、マスター分散管理プロセス部121aとバックアップ資源管理部152から完了通知を取得すると、バックアップ作業を終了する(ステップC43)。
 次に、本実施の形態におけるデータ復元システムのデータ復元処理について、図13のシーケンス図を用いて、説明する。
 本実施の形態では、一例として、ストレージノード121~124と同様の性能を有するストレージノード125がストレージシステム12に挿入された状態に、前述のバックアップデータを復元することとする。
 バックアップ復元部154は、ストレージノード121~124のいずれか1つにバックアップ受け入れ準備命令を送信する(ステップD1)。ここでは、例えば、バックアップ復元部154は、ストレージノード121にバックアップ受け入れ準備命令を送信したこととする。また、バックアップ復元部154は、バックアップ資源管理部152に、分散索引情報を要求する(ステップD3)。
 ストレージノード121は、バックアップ受け入れ準備命令を受信すると、マスター分散管理プロセス部121aとなる。そして、マスター分散管理プロセス部121aは、受け入れ準備が完了すると応答を示す受け入れ準備終了通知を送信する(ステップD5)。
 マスター分散管理プロセス部121aは、ストレージノードアドレスリストと、ディスクドライブの相対性能値リストと、相対容量値リストと、ノード割り当て表および複製割り当て表を、すべての分散管理プロセス部121a~124aに要求する(ステップD7)。
 分散管理プロセス部121a~124aは、それぞれの、ストレージノードアドレスリストと、ディスクドライブの相対性能値リストと、相対容量値リストと、ノード割り当て表および複製割り当て表を抽出する。また、分散管理プロセス部121a~124aは、それぞれの索引情報も抽出する(ステップD9)。なお、ストレージノードアドレスリストと、ディスクドライブの相対性能値リストと、相対容量値リストと、ノード割り当て表および複製割り当て表を、性能情報と定義する。
 分散管理プロセス部121a~124aは、抽出したそれぞれの性能情報と、索引情報を、マスター分散管理プロセス部121aに送信する(ステップD11)。なお、索引情報とは、図3に示したデータ配置情報を示すこととする。
 マスター分散管理プロセス部121aは、取得したそれぞれの性能情報から、システム構成情報を生成する。また、マスター分散管理プロセス部121aは、取得したそれぞれの索引情報から、分散管理情報(この場合、第2の分散索引情報が該当する。)を生成する(ステップD13)。
 マスター分散管理プロセス部121aは、生成したシステム構成情報および第2の分散作成情報を、バックアップ復元部154に送信する(ステップD15)。また、マスター分散管理プロセス部121aは、バックアップ資源管理部152から送信される分散索引情報(この場合、第1の分散索引情報が該当する。)を受信する(ステップD17)。
 バックアップ復元部154は、マスター分散管理プロセス部121aから受信したシステム構成情報と第2の分散索引情報と、バックアップ資源管理部152から受信した第1の分散索引情報とに基づいて、新しい分散索引情報を生成する(ステップD19)。
 ここで、新しい分散索引情報(すなわち、新分散索引情報に該当する。)は、例えば、次のように生成される。
 例は、あるデータの並列アクセス性能を重視する場合のアルゴリズムにおいて、データ数の分配が格納サイズ比に近く、かつバックアップ前に同じストレージノードに入っていたデータは、できるだけ同じストレージノードに格納されるようにする、というものである。
 まず、バックアップ時の部分分散索引情報から、ハッシュ関数h(d)、ノード割り当て表を抽出する。そして、ノード割り当て表から、バックアップ時のストレージノードアドレスリストを作成する。例えば、図10に示したノード割り当て表の複製保持ノード番号から、ストレージノードアドレスリストを作成することができる。
 次に、図9および図10で示したハッシュ値範囲を変更する。例えば、ハッシュ関数h(d)の値域を分割する。ここで、分割領域の幅の比が、システム構成情報の相対容量値リストの比となるように分割する。そして、その相対容量値リストの比と同等になるように、ノード割り当て表を更新する。
 例えば、ストレージノード125が増えたことにより、分散索引情報のノード割り当て表を変更して、これまでストレージノード121~124に等分に割り当てられていたハッシュ値に対する割り当て範囲を、ストレージノード121~125に等分に割り当てる。なお、このように、ストレージノード121~125の変更による割り当ての変更も、利用傾向を反映させたことによる変更に含まれる。
 これにより、バックアップ復元部154は、第1の分散索引情報を変更し、新分散索引情報を生成することができる。また、バックアップ復元部154は、新分散索引情報を、マスター分散管理プロセス部121aに送信する(ステップD21)。
 なお、分散索引情報の変更は、本実施の形態に限定されるものではない。例えば、第1の実施の形態のように、ノード割り当て表のノード番号を変更する処理であってもよい。この場合、データのシーケンシャルアクセス性を重視することができる。
 マスター分散管理プロセス部121aは、新分散索引情報を受信すると、ステップB17と同様に、変更された新分散索引情報が、現在の分散索引情報の状態に対して、格納することの適否を判定する(ステップD23)。ここで、格納に適している場合には、マスター分散管理プロセス部121aは、バックアップ復元部154に格納可能を示す応答を送信する。これに対し、格納に適していない場合には、マスター分散管理プロセス部121aは、バックアップ復元部154に格納不可能を示す応答を送信する(ステップD25)。
 バックアップ復元部154は、マスター分散管理プロセス部121aから格納可能である旨の応答を受信すると、新分散索引情報をバックアップ資源管理部152に送信する(ステップD27)。バックアップ資源管理部152は、新分散索引情報を受信すると、その新分散索引情報に基づいて、ディスクドライブ群151から対象データを、格納対象であるストレージノード121~124に送信する(ステップD29)。
 ストレージノード121~124は、格納対象であるデータを受信すると格納する。同時に、分散管理プロセス部121a~124aは、複製割り当て表から、当該データに対する複製格納ノードを決定して、当該データの複製を作成する。そして、分散管理プロセス部121a~124aは、作成されたデータの複製を、複製格納ノードに送信する。複製格納対象ストレージノードは、バックアップ用ストレージ15から送信される主データと共に、他のストレージノードから送信される複製データを格納する(ステップD31)。
 バックアップ資源管理部152は、すべてのバックアップ対象データの送信が終了すると、バックアップ復元部154にデータの送信が完了したことを示す完了通知を送信する(ステップD33)。また、ストレージノード121~124は、バックアップ対象データをすべて記録すると、データの復元が完了したことを示す完了通知を、バックアップ復元部154に送信する(ステップD35)。
 バックアップ復元部154は、分散管理プロセス部121a~124aと、バックアップ資源管理部152から完了通知を受信すると、バックアップからのデータ復元処理を終了する(ステップD37)。
 以上説明したように、第2の実施の形態では、データ復元システムは、ストレージノード121~124がネットワークを介して、それぞれ接続されている場合であっても、スナップショットを用いて静止点でのバックアップを取ることができる。これにより、本実施の形態では、利用傾向に基づいて、ネットワークを介したストレージノードのバックアップを取ることができる。また、本実施の形態では、利用傾向に基づいてバックアップされたこのバックアップデータを、ネットワークを介してストレージノード121~124に利用傾向に基づくデータの配置を復元することができる。
(第3の実施の形態)
 第3の実施の形態は、第2の実施の形態において、データのバックアップ時に、分散索引情報に加えて、データ利用傾向情報を取得するようになっている。
 第3の実施の形態では、ステップC31において、マスター分散管理プロセス部121aは、分散管理プロセス部121a~124aから、ノード割り当て表と、複製割り当て表と、ハッシュ関数プログラムを受信すると、第2の分散索引情報を生成する。また、マスター分散管理プロセス部121aは、分散管理プロセス部121a~124aから、各データのごとの同時利用頻度情報を収集し、データ利用頻度情報を生成する。
 そして、マスター分散管理プロセス部121aは、生成された第2の分散索引情報とデータ利用頻度情報を、バックアップ復元部154に送信する。
 ここで、同時利用頻度情報とは、例えば、データへの最近一定時間のアクセスログを元に相関ルールが抽出された頻出パターンなどでよい。具体的には、ストレージノード123内のデータとストレージノード124内のデータは、1つの大きなデータを分割したものであり、ストレージノード123とストレージノード124は必ず同時にアクセスされるものとする。なお、このような関係を、利用傾向に基づくデータ間の関連性を示す連関情報として扱う。
 この場合、ステップD19において、バックアップ復元部154が、与えられたシステム構成情報と、格納されたデータ利用頻度情報に基づいて、分散索引情報のノード割り当て表を変更する。
 例えば、バックアップ作成時のストレージノード123の分散索引情報の一例を、図14に示す。図14は、ハッシュ値範囲と複製保持ノード番号(121~124)が対応づけられている。
 そして、ストレージノード125が追加されたことにより、システム構成情報は、変更されている。また、データ利用頻度情報では、ストレージノード123とストレージノード124のデータが同時に利用されることから、ステップD19において、分散索引情報のノード割り当て表を変更する。具体的には、これまでストレージノード121、122に当分に割り当てられていたハッシュ値に対する割り当て範囲を、ストレージノード121、122および125に等分に割り当てるように変更する。
 図15は、変更後のノード割り当て表を示したものである。ストレージノード123とストレージノード124は、同時に利用されるため、ストレージノード123とストレージノード124の関係を保持したまま、ストレージノード121、122及び125を等分にするデータ配置情報となっている。
 そして、データの復元処理を行う場合には、このデータ配置情報に基づいて、新分散索引情報を生成し、バックアップ用ストレージ15からストレージシステム12にデータを復元することにより、利用傾向に基づいたデータの配置を行うことができる。
 以上説明したように、第3の実施の形態では、データ復元システムは、データ利用頻度情報に基づいてノード割り当て表を変更するとともに、かつ、ストレージノードが変更されたシステム構成情報に対応させてノード割り当て表を変更させることができる。これにより、第3の実施形態におけるデータ復元システムでは、データの利用傾向をシステム構成情報に反映させて、バックアップ用ストレージ15に格納されているバックアップデータをストレージシステム12に復元することができる。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本実施の形態の例示であり、上記以外の様々な構成を採用することもできる。
 例えば、第1の実施の形態では、ディスクドライブ111~114を記憶領域の一例として、説明したが、本実施の形態はこれに限定されるものではない。例えば、記憶領域は、ハードディスクドライブ、DRAM(Dynamic Random Access Memory)、不揮発性半導体メモリ(フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random)など)などであってもよい。また、磁気テープなどのデータを記録可能な物理媒体、あるいはRAID(Redundant Arrays of Inexpensive Disks)コントローラに結合された1つ以上の上記媒体であってもよい。また、これらの媒体がストレージノードの外部に設置され、その媒体にデータを記憶可能に制御する制御装置、あるいはこれらの組み合わせ等であってもよい。
 第1から第3の実施の形態では、バックアップ処理とデータ復元処理が別々に行われていたが、本実施の形態はこれに限定されるものではない。例えば、第1から第3の実施の形態において、バックアップ処理とデータ復元処理をそれぞれ同時に実行するようにしてもよい。
 この場合、データ復元処理を開始すると同時にバックアップも同時に開始することができるので、別途、バックアップを取得することができる。これにより、バックアップ処理とデータ復元処理を同時に実行することによって、バックアップデータを入れ替えることができる。
 なお、本実施の形態の各種の構成要素は、その機能を実現するように形成されていればよい。例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたバックアップコントローラ3やストレージシステム1であってもよい。また、コンピュータプログラムによりバックアップコントローラ3やストレージシステム1に実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
 また、本実施の形態の各種の構成要素は、個々に独立した存在である必要はない。複数の構成要素が一個のデバイスとして形成されていること、一つの構成要素が複数のデバイスで形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でよい。
 また、本実施の形態のバックアップ処理とデータ復元処理の2つの処理に関しては、複数のステップを順番に記載してあるが、その記載の順番は複数のステップを実行する順番を必ずしも限定するものではない。このため、本実施の形態に係る方法を実施するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
 また、本実施の形態の上記方法の複数のステップは個々に相違するタイミングで実行されることに限定されない。このため、あるステップの実行中に他のステップが発生すること、あるステップの実行タイミングと他のステップの実行タイミングとの一部ないし全部が重複していること、等でもよい。
 例えば、データ復元処理において、ステップB7における構成情報要求と、ステップB9における構成情報生成と、ステップB11におけるシステム構成情報と、ステップB13における分散索引情報変更は、第1の実施の形態で説明した順序に限定されるものではない。具体的には、任意のタイミングで定期的にシステム構成情報を生成し、構成情報の要求を受け付けると、生成された最新のシステム構成情報を送信するようにしてもよい。
 また、本実施の形態のストレージシステム1やバックアップコントローラ3は、データの送受信ができる情報処理装置などにより実現することができる。また、CPU、ROM(Read Only Memory)、RAM(Random Access Memory)、I/F(Interface)ユニット、等の汎用デバイスで構築されたハードウェア、所定の情報処理を実行するように構築された専用の論理回路、これらの組み合わせ、等として、実施することができる。
 この出願は、2009年3月30日に出願された日本出願特願2009-083426を基礎とする優先権を主張し、その開示の総てをここに取り込む。

Claims (17)

  1.  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備えるデータ挿入システムであって、
     前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得手段と、
     前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
     前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第2の分散索引情報を生成する装置分散索引情報生成手段と、
     前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得手段によって取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、
     前記新データ配置情報生成手段は、
     生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
     ことを特徴とするデータ挿入システム。
  2.  前記新データ配置情報生成手段は、
     前記ストレージ装置に配置されていたときの関連性を示す連関情報に基づいて、前記ストレージ装置に配置されていた前記データの配置位置の少なくとも一部を維持する新データ配置情報を生成する
     ことを特徴とする請求項1に記載のデータ挿入システム。
  3.  前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手段、
     を更に備えることを特徴とする請求項1または2に記載のデータ挿入システム。
  4.  前記格納適否判定手段は、
     前記新データ配置情報生成手段によって生成された前記新データ配置情報と、前記記憶領域の記憶容量に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する
     ことを特徴とする請求項3に記載のデータ挿入システム。
  5.  前記データ保存装置から送信されたデータを前記記憶領域に格納させる前記データとして受信するデータ受信手段と、
     前記データ受信手段によって受信された前記データそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれを前記記憶領域に格納させるための複製割当手段と、
     を更に備えることを特徴とする請求項1ないし4のいずれか1項に記載のデータ挿入システム。
  6.  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるデータ制御装置であって、
     前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得手段と、
     前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求手段と、
     前記構成情報要求手段によって要求された前記システム構成情報および前記第2の分散索引情報を受信する第2の分散索引情報受信手段と、
     前記第2の分散索引情報受信手段で受信された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得手段によって取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手段と、を備え、
     前記新データ配置情報生成手段は、
     生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
     ことを特徴とするデータ制御装置。
  7.  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるストレージ装置であって、
     データを記憶する複数の記憶領域を有し、
     前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第2の分散索引情報を生成する装置分散索引情報生成手段と、
     前記装置分散索引情報生成手段によって生成された前記システム構成情報および前記第2の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手段と、
     新データ配置情報生成手段によって生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手段と、
     前記新分散索引情報受信手段によって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手段と、
     を備えることを特徴とするストレージ装置。
  8.  前記新データ配置情報は、
     前記ストレージ装置に配置されていたときの関連性を示す連関情報に基づいて、前記ストレージ装置に配置されていた前記データの配置位置の少なくとも一部を維持する情報である
     ことを特徴とする請求項7に記載のストレージ装置。
  9.  前記格納適否判定手段は、
     前記新データ配置情報生成手段によって生成された前記新データ配置情報と、前記記憶領域の記憶容量に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する
     ことを特徴とする請求項7または8に記載のストレージ装置。
  10.  前記データ保存装置から送信されたデータを前記記憶領域に格納させる前記データとして受信するデータ受信手段と、
     前記データ受信手段によって受信された前記データそれぞれに関する冗長データを作成し、作成された当該冗長データそれぞれを前記記憶領域に格納させるための複製割当手段と、
     を更に備えることを特徴とする請求項7ないし9のいずれか1項に記載のストレージ装置。
  11.  前記記憶領域に格納された前記データのバックアップを作成する指示を受け付けるバックアップ受付手段と、
     前記バックアップ受付手段によって前記バックアップを作成する指示が受け付けられると、前記記憶領域に格納された前記データのコピーを作成し、作成された当該コピーを前記データ保存装置に送信するデータ送信出力手段と、
     前記記憶領域に配置されていたときのデータ配置情報を、前記データ送信出力手段によって送信された前記コピーにより、前記第1の分散索引情報を生成する分散索引情報生成手段と、
     を更に備えることを特徴とする請求項7ないし10のいずれか1項に記載のストレージ装置。
  12.  前記記憶領域に格納された前記データに対して、所定の時点における静止点情報を作成する静止点作成手段を更に備え、
     前記データ送信出力手段は、
     前記静止点作成手段によって作成された前記静止点情報に基づいて、前記記憶領域に格納された前記データを前記データ保存装置に送信する
     ことを特徴とする請求項11に記載のストレージ装置。
  13.  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムのデータ挿入方法であって、
     前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得ステップと、
     前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
     前記複数の記憶領域の構成に基づいて、前記システム構成情報および前記第2の分散索引情報を生成する装置分散索引情報生成ステップと、
     前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得ステップで取得された前記第1の分散索引情報に基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を含み、
     前記新データ配置情報生成ステップは、
     生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
     ことを特徴とするデータ挿入方法。
  14.  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるデータ制御装置のデータ制御方法であって、
     前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得ステップと、
     前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求ステップと、
     前記構成情報要求ステップで要求された前記システム構成情報および前記第2の分散索引情報を受信する第2の分散情報受信ステップと、
     前記第2の分散索引情報受信ステップで受信された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得ステップで取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成ステップと、を備え、
     前記新データ配置情報生成ステップは、
     生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを前記記憶領域に格納させる
     ことを特徴とするデータ制御方法。
  15.  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるストレージ装置のデータ格納方法であって、
     データを記憶する複数の記憶領域を有し、
     前記記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第2の分散索引情報を生成する装置分散索引情報生成ステップと、
     前記装置分散索引情報生成ステップで生成された前記システム構成情報および前記第2の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信ステップと、
     新データ配置情報生成ステップで生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信ステップと、
     前記新分散索引情報受信ステップによって受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定ステップと、
     を含むことを特徴とするデータ格納方法。
  16.  所定のデータが保存されたデータ保存装置と、前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるデータ制御装置にデータ処理を実行させるデータ制御プログラムを格納している記憶媒体であって、
     前記データ処理は、
     前記データ保存装置に保存されている前記データについて、保存されている当該データが前記ストレージ装置に配置されていたときの第1のデータ配置情報を、第1の分散索引情報として取得する第1の分散索引情報取得手順と、
     前記ストレージ装置が有する複数の記憶領域の構成を示すシステム構成情報と、前記ストレージ装置の第2のデータ配置情報を示す第2の分散索引情報を、前記ストレージ装置に要求する構成情報要求手順と、
     前記構成情報要求手順で要求された前記システム構成情報および前記第2の分散索引情報を受信する第2の分散情報受信手順と、
     前記第2の分散索引情報受信手順で受信された前記システム構成情報および前記第2の分散索引情報と、前記第1の分散索引情報取得手順で取得された前記第1の分散索引情報とに基づいて、新データ配置情報を生成する新データ配置情報生成手順と、を備え、
     前記新データ配置情報生成手順は、
     生成された前記新データ配置情報に基づいて、前記データ保存装置に格納されている前記データを、前記記憶領域に格納させる
     ことを特徴とする記憶媒体。
  17.  所定のデータが保存されたデータ保存装置と、データを記憶する複数の記憶領域を有し前記データ保存装置から前記データを受信するストレージ装置と、前記データ保存装置から前記ストレージ装置に送信される前記データを選択するデータ制御装置とを備える請求項1に記載のデータ挿入システムにおけるストレージ装置にデータ処理を実行させるデータ格納プログラムを格納している記憶媒体であって、
     前記データ処理は、
     前記複数の記憶領域の構成に基づいて、当該記憶領域の構成を示すシステム構成情報と、所定のデータ配置情報を示す第2の分散索引情報を生成する装置分散索引情報生成手順と、
     前記装置分散索引情報生成手順で生成された前記システム構成情報および前記第2の分散索引情報を、前記データ制御装置に送信する装置分散索引情報送信手順と、
     新データ配置情報生成手順で生成される新データ配置情報を、新分散索引情報として受信する新分散索引情報受信手順と、
     前記新分散索引情報受信手順で受信された前記新分散索引情報に基づいて、前記データ保存装置に保存されている前記データを、前記記憶領域に格納することの適否を判定する格納適否判定手順と、
     を備えることを特徴とする記憶媒体。
PCT/JP2010/001637 2009-03-30 2010-03-09 データ挿入システム WO2010116608A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011508199A JP5516575B2 (ja) 2009-03-30 2010-03-09 データ挿入システム
US13/254,337 US8566555B2 (en) 2009-03-30 2010-03-09 Data insertion system, data control device, storage device, data insertion method, data control method, data storing method
CN201080011584.2A CN102349047B (zh) 2009-03-30 2010-03-09 数据插入系统、数据控制装置、存储装置、数据插入方法、数据控制方法和数据存储方法
EP10761316.8A EP2416236B1 (en) 2009-03-30 2010-03-09 Data restore system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009083426 2009-03-30
JP2009-083426 2009-03-30

Publications (1)

Publication Number Publication Date
WO2010116608A1 true WO2010116608A1 (ja) 2010-10-14

Family

ID=42935908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/001637 WO2010116608A1 (ja) 2009-03-30 2010-03-09 データ挿入システム

Country Status (5)

Country Link
US (1) US8566555B2 (ja)
EP (1) EP2416236B1 (ja)
JP (1) JP5516575B2 (ja)
CN (1) CN102349047B (ja)
WO (1) WO2010116608A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311520A1 (en) * 2010-10-22 2013-11-21 Intec Inc. Storage-service-provision apparatus,system, service-provision method, and service-provision program
JP2015087953A (ja) * 2013-10-30 2015-05-07 富士通株式会社 情報処理システム、管理プログラム、及びインデックス管理方法
US10387043B2 (en) 2016-03-01 2019-08-20 Nec Corporation Writing target file including determination of whether to apply duplication elimination

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5391705B2 (ja) * 2009-01-27 2014-01-15 日本電気株式会社 ストレージシステム
JP5413948B2 (ja) * 2009-01-27 2014-02-12 日本電気株式会社 ストレージシステム
EP2378435B1 (en) * 2010-04-14 2019-08-28 Spotify AB Method of setting up a redistribution scheme of a digital storage system
US8930320B2 (en) * 2011-09-30 2015-01-06 Accenture Global Services Limited Distributed computing backup and recovery system
US9398092B1 (en) * 2012-09-25 2016-07-19 Emc Corporation Federated restore of cluster shared volumes
JP5967577B2 (ja) * 2012-10-18 2016-08-10 パナソニックIpマネジメント株式会社 共クラスタリング装置、共クラスタリング方法、プログラム及び集積回路
CN103019960B (zh) * 2012-12-03 2016-03-30 华为技术有限公司 分布式缓存方法及系统
US9110847B2 (en) * 2013-06-24 2015-08-18 Sap Se N to M host system copy
JP2017068451A (ja) * 2015-09-29 2017-04-06 富士通株式会社 プログラム、パターン送信方法、共有コンテンツ制御システム及び情報処理装置
US11151081B1 (en) * 2018-01-03 2021-10-19 Amazon Technologies, Inc. Data tiering service with cold tier indexing
US11010103B2 (en) * 2019-06-20 2021-05-18 Western Digital Technologies, Inc. Distributed batch processing of non-uniform data objects

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047831A (ja) * 1998-05-27 2000-02-18 Fujitsu Ltd 情報記憶装置及びプログラムが記憶された記録媒体
JP2004038929A (ja) 2002-03-19 2004-02-05 Network Appliance Inc 複数のスナップショットを管理するシステム及び方法
JP2007164794A (ja) * 2005-12-13 2007-06-28 Thomson Licensing ネットワーク内のノードを自動的に分類する方法および装置
JP2008276596A (ja) * 2007-05-01 2008-11-13 Hitachi Ltd 記憶装置を決定する方法及び計算機
JP2009083426A (ja) 2007-10-02 2009-04-23 Toyo Inspections Kk 色調監視装置、色調管理システム、色調監視方法、及び色調管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4143611B2 (ja) * 2005-02-04 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション バックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラム
JP2008269469A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd ストレージシステム及びその管理方法
JP5352132B2 (ja) * 2008-06-19 2013-11-27 株式会社日立製作所 計算機システム及びそのi/o構成変更方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047831A (ja) * 1998-05-27 2000-02-18 Fujitsu Ltd 情報記憶装置及びプログラムが記憶された記録媒体
JP2004038929A (ja) 2002-03-19 2004-02-05 Network Appliance Inc 複数のスナップショットを管理するシステム及び方法
JP2007164794A (ja) * 2005-12-13 2007-06-28 Thomson Licensing ネットワーク内のノードを自動的に分類する方法および装置
JP2008276596A (ja) * 2007-05-01 2008-11-13 Hitachi Ltd 記憶装置を決定する方法及び計算機
JP2009083426A (ja) 2007-10-02 2009-04-23 Toyo Inspections Kk 色調監視装置、色調管理システム、色調監視方法、及び色調管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"SnapshotIQ", 2008, ISILON SYSTEMS, INC.
See also references of EP2416236A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130311520A1 (en) * 2010-10-22 2013-11-21 Intec Inc. Storage-service-provision apparatus,system, service-provision method, and service-provision program
EP2631805A4 (en) * 2010-10-22 2018-02-28 Intec Inc. Storage-service-provision device, system, service-provision method, and service-provision program
JP2015087953A (ja) * 2013-10-30 2015-05-07 富士通株式会社 情報処理システム、管理プログラム、及びインデックス管理方法
US10387043B2 (en) 2016-03-01 2019-08-20 Nec Corporation Writing target file including determination of whether to apply duplication elimination

Also Published As

Publication number Publication date
EP2416236B1 (en) 2016-05-04
CN102349047B (zh) 2015-07-01
EP2416236A4 (en) 2014-10-08
US8566555B2 (en) 2013-10-22
US20120011338A1 (en) 2012-01-12
JPWO2010116608A1 (ja) 2012-10-18
JP5516575B2 (ja) 2014-06-11
EP2416236A1 (en) 2012-02-08
CN102349047A (zh) 2012-02-08

Similar Documents

Publication Publication Date Title
JP5516575B2 (ja) データ挿入システム
JP5539683B2 (ja) 拡張可能な2次ストレージシステムと方法
JP5433074B2 (ja) ストレージクラスタを指定可能な複製されたコンテンツのための非同期的分散オブジェクトアップロード
KR100985169B1 (ko) 분산 저장 시스템에서 파일의 중복을 제거하는 장치 및 방법
JP5918243B2 (ja) 分散型データベースにおいてインテグリティを管理するためのシステム及び方法
US9703803B2 (en) Replica identification and collision avoidance in file system replication
US8285689B2 (en) Distributed file system and data block consistency managing method thereof
US9798486B1 (en) Method and system for file system based replication of a deduplicated storage system
JP5671615B2 (ja) マップリデュース即時分散ファイルシステム
US7685459B1 (en) Parallel backup
US8521685B1 (en) Background movement of data between nodes in a storage cluster
US7689764B1 (en) Network routing of data based on content thereof
US20080183988A1 (en) Application Integrated Storage System Volume Copy and Remote Volume Mirror
WO2020081512A1 (en) Improving available storage space in a system with varying data redundancy schemes
JP2013544386A5 (ja)
US9218251B1 (en) Method to perform disaster recovery using block data movement
US10628298B1 (en) Resumable garbage collection
TW201029393A (en) Atomic multiple modification of data in a distributed storage system
US20150046398A1 (en) Accessing And Replicating Backup Data Objects
KR20090062747A (ko) 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법
WO2013136339A1 (en) Regulating replication operation
US20190303035A1 (en) Copying garbage collector for geographically distributed data storage environment
US9513996B2 (en) Information processing apparatus, computer-readable recording medium having stored program for controlling information processing apparatus, and method for controlling information processing apparatus
JP2021060818A (ja) ストレージシステムおよびデータ移行方法
CN116389233A (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080011584.2

Country of ref document: CN

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

Ref document number: 10761316

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011508199

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13254337

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2010761316

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE