WO2015085530A1 - 数据复制方法及存储系统 - Google Patents

数据复制方法及存储系统 Download PDF

Info

Publication number
WO2015085530A1
WO2015085530A1 PCT/CN2013/089176 CN2013089176W WO2015085530A1 WO 2015085530 A1 WO2015085530 A1 WO 2015085530A1 CN 2013089176 W CN2013089176 W CN 2013089176W WO 2015085530 A1 WO2015085530 A1 WO 2015085530A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage device
information
data
copy
replication
Prior art date
Application number
PCT/CN2013/089176
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
Priority to PL19188527.6T priority Critical patent/PL3663922T3/pl
Priority to EP17197209.4A priority patent/EP3358466B1/en
Priority to ES19188527T priority patent/ES2921209T3/es
Priority to HUE13899249A priority patent/HUE036878T2/hu
Priority to EP13899249.0A priority patent/EP3062226B1/en
Priority to PCT/CN2013/089176 priority patent/WO2015085530A1/zh
Priority to EP19188527.6A priority patent/EP3663922B1/en
Priority to ES13899249.0T priority patent/ES2669274T3/es
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP22152334.3A priority patent/EP4089540A1/en
Priority to CN201380002271.4A priority patent/CN103814360B/zh
Publication of WO2015085530A1 publication Critical patent/WO2015085530A1/zh
Priority to US15/177,877 priority patent/US10545994B2/en
Priority to US16/721,240 priority patent/US10706072B2/en
Priority to US16/888,254 priority patent/US11734306B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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]

Definitions

  • the present invention relates to the field of storage technologies, and in particular, to a data replication method and a storage system. Background technique
  • each storage vendor will realize remote backup of data by establishing a remote disaster recovery center, so that it can be in a disaster (such as fire, earthquake, etc.). After the occurrence, ensure that the original data is not lost or destroyed, and ensure that the critical business resumes operation within the allowed time range, minimizing the damage caused by the disaster.
  • a disaster such as fire, earthquake, etc.
  • the current major disaster recovery systems mainly include: Two-center disaster recovery system and three-center (3 Da ta Center, 3DC) disaster recovery system.
  • the two-center disaster recovery system implements disaster recovery by establishing two data centers.
  • the primary data center is used to undertake user services, and the backup data center is used to back up data, configuration, and services of the primary data center.
  • the backup data center can take over the services of the primary data center.
  • the 3DC disaster recovery system implements disaster recovery through storage systems deployed in three data centers.
  • three data centers can be referred to as a production site, a primary site, and a secondary site, respectively.
  • the primary site and the secondary site belong to the disaster recovery site, and the production site and the primary site can be in two different locations in the same city, while the secondary site is located in a different city from the production site.
  • the existing 3DC disaster recovery system usually implements disaster recovery through synchronous remote replication technology and asynchronous remote replication technology between three data centers. Due to the reliability and scalability of the 3DC disaster recovery system, the scope of application of the 3DC disaster recovery system is becoming wider and wider.
  • a data replication method and a storage system provided in the embodiments of the present invention can improve replication efficiency.
  • an embodiment of the present invention provides a data replication method, where the method includes at least a storage system of a first storage device and a second storage device, where the method includes: The first storage system determines the replication information, where the replication information is used to indicate data that the first storage system needs to copy to the second storage system in the current replication task, where the first storage device in the first storage system And storing the same data with the second storage device, where the first storage system and the second storage system implement data backup by using an asynchronous replication technology;
  • the first storage system Determining, by the first storage system, the first copy sub-information and the second copy sub-information according to the copy information, where the first copy sub-information is used to indicate that the first storage is required in the current copy task Copying data to the second storage system, where the second copy sub-information is used to indicate data that needs to be copied by the second storage device to the second storage system in the current copy task, and The data indicated by the first copy sub-information is different from the data indicated by the second copy sub-information; the first storage device copies the need to be copied by the first storage device according to the first copy sub-information Copying data of the second storage system to the second storage system;
  • the second storage device copies the data that needs to be copied by the second storage device to the second storage system to the second storage system according to the second copy sub-information.
  • the first storage device according to the first replica information, copies the requirement from the first storage device to the second Copying data of the storage system to the second storage system includes:
  • the first storage device copies, according to the first copy sub-information, the data stored in the first source data volume that needs to be copied by the first storage device to the second storage system to the second storage In the target data volume of the system;
  • the second storage device copies, according to the second copy sub-information, the data stored in the second source data volume that needs to be copied by the second storage device to the second storage system to the second storage In the target data volume of the system;
  • the data stored in the first source data volume is the same as the data stored in the second source data volume.
  • the determining, by the first storage system, the replication information includes:
  • the first storage device sends a replication task initiation message to the second storage device, where the replication task initiation message carries an identifier of the first source data volume and an identifier of the target data volume;
  • the storage device is configured according to the identifier of the first source data volume, the target data volume Determining, by the identifier and the preset replication relationship, the second source data volume in the second storage device, where the replication relationship includes the first source data volume, the second source data volume, and Corresponding relationship of the target data volume;
  • the first storage device determines the copy information based on data stored in the first source data volume.
  • the determining, by the first storage system, the replication information includes:
  • the first storage device in the first storage system determines the replication information according to data stored in the first source data volume
  • the first storage device sends a replication task initiation message to the second storage device, where the replication task initiation message carries an identifier of the first source data volume, an identifier of the target data volume, and the replication information.
  • the second storage device Determining, by the second storage device, the second source data volume corresponding to the replication information according to the identifier of the first source data volume, the identifier of the target data volume, and the preset replication relationship, where the replication relationship includes There is a correspondence between the first source data volume, the target data volume, and the second source data volume.
  • the system determines the first replica according to the replication information.
  • the information and the second copy sub-information include: the first storage device determines the first copy sub-information according to the copy information and a preset copy policy; and the second storage device according to the copy information and the The copy policy determines the second copy sub-information.
  • the first storage system determines The first sub-storage information and the second re-splicing sub-information include: the first storage first storage device receives the replication negotiation request of the second storage device, where the replication negotiation request includes at least the second storage device and the a link bandwidth information of the second storage system; the first storage device determines the first copy sub information and the second copy sub information according to the link bandwidth information; the first storage device is Second storage The device sends the second copy sub-information.
  • the method further includes: during the execution of the current replication task, the first storage device generates first replication progress information according to the copied data; the first The storage device sends the first copy progress information to the second storage device; when the first storage device fails, the second storage device is configured according to the first copy progress information, the second copy sub-information, and The copying information determines data that the first storage device has not been copied, and the second storage device copies data that has not been copied by the first storage device to the second storage system.
  • an embodiment of the present invention provides a data replication method, where the method is applied to a storage system, including:
  • the second storage system receives the replication information sent by the first storage system, where the replication information is used to indicate data that the first storage system needs to copy to the second storage system in the current replication task, where the first
  • the storage system includes at least a first storage device and a second storage device, where the first storage device and the second storage device store the same data, and the first storage system and the second storage system are asynchronous Copy technology to achieve data backup;
  • the second storage system sends a first acquisition request to the first storage device according to the replication information, where the first acquisition request includes the second storage system needs to be in the current replication task.
  • the second storage system sends a second acquisition request to the second storage device according to the replication information, where the second acquisition request includes the second storage system needs to be in the current replication task.
  • the second storage system receives data sent by the second storage device according to the second acquisition request.
  • the information about the data to be acquired included in the first acquiring request includes at least an identifier of the first source data volume in the first storage device, and the The first data request to obtain the data address;
  • the information about the data to be acquired included in the second obtaining request includes at least an identifier of the second source data volume in the second storage device and a data address to be acquired by the second obtaining request;
  • the first source data volume and the second source data volume respectively store data that the first storage system needs to copy to the second storage system in a current replication task, and the first source The data volume is the same as the data stored in the second source data volume.
  • the receiving, by the second storage system, the replication information sent by the first storage system includes: The second storage system receives the replication task initiation message sent by the first storage system, where the replication task initiation message carries an identifier of the first source data volume and a location determined according to the data stored in the first source data volume. Copying information;
  • the method further includes: determining, by the second storage system, the second source data volume and the second storage system in the second storage device according to the identifier of the first source data volume and a preset replication relationship a target data volume, where the copy relationship includes a correspondence between the first source data volume, the second source data volume, and the target data volume, where the target data volume is used to store the first data volume
  • the data received by the storage system in the current replication task is determining, by the second storage system, the second source data volume and the second storage system in the second storage device according to the identifier of the first source data volume and a preset replication relationship a target data volume, where the copy relationship includes a correspondence between the first source data volume, the second source data volume, and the target data volume, where the target data volume is used to store the first data volume
  • the data received by the storage system in the current replication task is determining, by the second storage system, the second source data volume and the second storage system in the second storage device according to the identifier of the first source data volume and a preset
  • the second storage system according to the copy information, to the first The first acquisition request sent by the storage device includes:
  • the second storage system sends the first acquisition request to the first storage device according to the determined data that needs to be acquired by the first storage device;
  • the sending, by the second storage system, the second obtaining request to the second storage device according to the copying information includes:
  • an embodiment of the present invention provides a storage system, where the storage system includes at least a first storage device and a second storage device, where the first storage device and the second storage device store the same data. , among them:
  • the storage system is configured to determine replication information, where the replication information is used to indicate that the storage system needs to replicate data to other storage systems in a current replication task, and the storage system and the other storage systems use asynchronous replication technology.
  • the storage system is further configured to determine, according to the copy information, the first copy sub-information and the second copy sub-information, where the first copy sub-information is used to indicate that the current copy task needs to be Copying data of the first storage device to the other storage system, where the second copy sub-information is used to indicate data that needs to be copied by the second storage device to the other storage system in the current copy task, And the data indicated by the first replicating sub information is different from the data indicated by the second replicating sub information;
  • the first storage device is configured to copy data that needs to be copied by the first storage device to the other storage system to the other storage system according to the first copy sub-information;
  • the second storage device is configured to copy data that needs to be copied by the second storage device to the other storage system to the other storage system according to the second copy sub-information.
  • the first storage device is configured to: when the first source data volume is stored according to the first copy sub-information, Data copied from the storage device to the other storage system is copied to the target data volume of the other storage system; the first storage device is configured to store the second source data volume according to the second copy sub-information The data that needs to be copied by the second storage device to the other storage system is copied to the target data volume of the other storage system;
  • the data stored in the first source data volume is the same as the data stored in the second source data volume.
  • the first storage device is further configured to send a replication task to the second storage device a startup message, where the replication task initiation message carries an identifier of the first source data volume and an identifier of the target data volume;
  • the second storage device is further configured to: according to the identifier of the first source data volume, the target Determining, by the identifier of the data volume, the preset copy relationship, the second source data volume in the second storage device, and determining the copy information according to the determined data stored in the second source data volume, where
  • the replication relationship includes a correspondence between the first source data volume, the target data volume, and the second source data volume;
  • the first storage device is further configured to determine the replication information according to data stored in the first source data volume.
  • the first storage device is further configured to be configured according to the first source data volume Determining the replication information, and sending a replication task initiation message to the second storage device, where the replication task initiation message carries an identifier of the first source data volume, an identifier of a target data volume, and the replication Information
  • the second storage device is further configured to determine, according to the identifier of the first source data volume, the identifier of the target data volume, and the preset replication relationship, a second source data volume corresponding to the replication information, where
  • the replication relationship includes a correspondence between the first source data volume, the target data volume, and the second source data volume.
  • the first storage device is further used Determining the first copy sub-information according to the copy information and the preset copy policy; the second storage device is further configured to determine the second copy sub-information according to the copy information and the copy policy .
  • the first storage device is further And a copy negotiation request for receiving the second storage device, where the copy negotiation request includes at least link bandwidth information of the second storage device and the other storage system, and determining, according to the link bandwidth information, Decoding the first replicating sub-information and the second replicating sub-information, and transmitting the second replicating sub-information to the second storage device.
  • the possible implementation manner of any one of the first to the fifth aspect in a sixth possible implementation manner of the third aspect, is further configured to generate, according to the data that has been copied, the first copy progress information during the execution of the current copy task, and The first a copy progress information is sent to the second storage device;
  • the second storage device is further configured to: when the first storage device is faulty, determine, according to the first copy progress information, the second copy sub-information, and the copy information, that the first storage device has not been copied yet Data, and copying data that the first storage device has not been copied to the other storage system.
  • an embodiment of the present invention provides a storage system, including:
  • a receiving module configured to receive the replication information sent by the other storage system, where the replication information is used to indicate that the other storage system needs to copy data to the storage system in the current replication task, where the other storage system is at least Including the first storage device and the second storage device, the first storage device and the second storage device store the same data, and the storage system and the other storage system implement data backup through asynchronous replication technology.
  • a sending module configured to send a first obtaining request to the first storage device according to the copying information, where the first obtaining request includes, by the storage system, the first storage to be in the current copying task Information about the data acquired by the device;
  • the sending module is further configured to send a second obtaining request to the second storage device according to the copying information, where the second obtaining request includes that the storage system needs to be in the current copying task
  • the receiving module is further configured to receive data that is sent by the first storage device according to the first obtaining request, and receive data that is sent by the second storage device according to the second obtaining request.
  • the information about the data to be acquired included in the first acquiring request includes at least an identifier of the first source data volume in the first storage device, and a data address to be acquired by the first acquisition request;
  • the information about the data to be acquired included in the second obtaining request includes at least an identifier of the second source data volume in the second storage device and a data address to be acquired by the second obtaining request;
  • the first source data volume and the second source data volume respectively store data that the other storage system needs to copy to the storage system in a current replication task, and the first source data volume and The data stored in the second source data volume is the same.
  • the receiving module is further configured to receive a replication task initiation message sent by the other storage system, where the replication task initiation message carries an identifier of the first source data volume and The copy information determined by the data stored by the first source data volume;
  • the storage system further includes: a message processing module, configured to determine, according to the identifier of the first source data volume and a preset replication relationship, a second source data volume and the second storage system in the second storage device Target data volume in ;
  • the replication relationship includes a correspondence between the first source data volume, the second source data volume, and the target data volume, where the target data volume is used to store the storage system at the current Copy the data received in the task.
  • the storage system further includes:
  • a determining module configured to determine data that needs to be acquired from the first storage device according to the replication information and a link bandwidth between the storage system and the first storage device, and according to the replication information and the The link bandwidth between the storage system and the second storage device determines data that needs to be acquired to the second storage device;
  • the sending module is configured to send the first acquiring request to the first storage device according to the data that is required to be acquired by the determining module to the first storage device, and determine, according to the determining module, The data that needs to be acquired by the second storage device sends the second acquisition request to the second storage device.
  • the embodiment of the present invention provides a storage system, including a controller and a memory, where the memory is used to store data sent by another storage system; the controller includes: a communication interface, Communicating with the other storage system;
  • Memory for storing computer execution instructions
  • a processor configured to execute the computer to execute instructions, to perform the method described in the foregoing second aspect.
  • an embodiment of the present invention provides a computer program product, including a computer readable storage medium storing program code, where the program code includes instructions for executing the method described in the foregoing first aspect. .
  • an embodiment of the present invention provides a computer program product, including storing A computer readable storage medium of program code, the program code comprising instructions for performing the method of the second aspect described above.
  • the first storage system since the first storage device and the second storage device in the first storage system store the same data, the first storage system to the second storage During the copying process of the system, the first storage system may determine the first copy sub-information and the second copy sub-information according to the copy information in the current copy task, and the first storage device copies the data according to the first copy sub-information to The second storage system copies the data to the second storage system by the second storage device according to the second copy sub-information.
  • the same replication task of the first storage system can be shared by the first storage device and the second storage device, so that the first storage system and the second can be upgraded without increasing production cost. Replication efficiency between storage systems.
  • FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a storage device according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a data replication method according to an embodiment of the present invention.
  • 3a is a schematic diagram of a copy bitmap according to an embodiment of the present invention.
  • FIG. 3b is a flowchart of a method for determining duplicate information according to an embodiment of the present invention.
  • FIG. 3c is a flowchart of still another method for determining replication information according to an embodiment of the present invention.
  • FIG. 4 is a signaling diagram of still another data replication method according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of still another data replication method according to an embodiment of the present invention.
  • FIG. 6 is a signaling diagram of still another data replication method according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of still another storage device according to an embodiment of the present invention. detailed description
  • the data backup method provided by the embodiment of the present invention is mainly applied to the disaster recovery system of the multiple data center.
  • the disaster recovery system of the multiple data center referred to in the embodiment of the present invention refers to a capacity including not less than three data centers.
  • Disaster system For convenience of description, the embodiment of the present invention is described by taking a three data center (3DC) disaster recovery system as an example.
  • FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present invention.
  • a 3DC disaster tolerant system shown in Figure 1 includes at least one host 100 and three data centers. These three data centers include at least one production site and two disaster recovery sites.
  • the three data centers can be connected by fiber or network cable in a star network. Data can be transmitted between the three data centers via IP (Internet Protocol) or FC (Fiber Chanel).
  • IP Internet Protocol
  • FC Fiber Chanel
  • the host 100 and the production site 11 or the primary site 12 may be based on a Small Computer System Interface (SCSI) protocol, or an Internet based Small Computer System interface (iSCSI, Internet Small Computer System). Interface) protocol for communication. There is no limit here.
  • the production site 11 includes a first storage device 110, a primary storage device 120 is included in the primary site 12, and a third storage device 130 is included in the secondary site 13.
  • the first storage device 110, the second storage device 120, and the third storage device 130 may be storage devices known in the prior art such as a storage array, a server, and the like.
  • the first storage device 110, the second storage device 120, and the third storage device 130 may include a storage area network (SAN) array, and may also include a network attach storage (NAS) array.
  • SAN storage area network
  • NAS network attach storage
  • the specific form of the storage device in each data center is not limited in the embodiment of the present invention. It should be noted that the methods in the embodiments of the present invention are all performed by storage devices in these sites.
  • the production site 11 refers to the first storage device 110 in the production site 11
  • the primary site 12 refers to the second storage device in the primary site 12. 120.
  • the secondary site 13 refers to the third storage device 130 in the secondary site 13.
  • the distance between the production site 11 and the primary site 12 is relatively close.
  • the distance between the production site 11 and the primary site 12 can be within 100 km.
  • production site 11 and primary site 12 may be located at two different locations in the same city.
  • Secondary site 13 and production The distance between the site 11 or the primary site 12 is relatively long.
  • the distance between the secondary site 13 and the production site 11 may be more than 1000 km.
  • the secondary site 13 can be located in a different city than the production site 11.
  • the host 100 may include any computing device known in the art, such as a server, desktop computer, application server, etc., with an operating system and other applications installed in the host 100, and the host 100 may have multiple.
  • the secondary site 13 is mainly used as a disaster recovery site for backing up data.
  • Host 100 does not access secondary site 13. Both the production site 11 and the primary site 12 can receive access from the host 100. In one scenario, host 100 can write data only to the production site.
  • one or more hosts 100 may perform data write operations on the production site 11.
  • a host 100 can also write different data to the production site 11 and the primary site 12, respectively.
  • different hosts 100 can perform data write operations to production site 11 and primary site 12, respectively.
  • host A performs a data write operation on the production site 11
  • host B also performs a data write operation on the primary site 12. It can be understood that, in the latter two cases, since the production site 11 and the primary site 12 can simultaneously undertake the services of the host 100, the data reading and writing efficiency can be improved.
  • the production site 11 and the primary site 12 are not limited to bear the service of the host 100 at the same time, as long as synchronous replication can be realized between the production site 11 and the primary site 12, and the production site 11 and one are guaranteed.
  • the data in the level site 11 can be synchronized in real time. It should be noted that, in the disaster tolerance system shown in FIG. 1, both the production site 11 and the primary site 12 can receive the access of the host 100, and the production site 11 and the primary site 12 maintain the stored data by synchronous replication. Consistency, so the roles of production site 11 and primary site 12 can be interchanged.
  • the production site 11 and the primary site 12 can synchronize the data stored in the production site 11 and the primary site 12 in real time through synchronous replication technology. For example, when host 100 writes data to production site 11, production site 11 can simultaneously back up the data to the primary site.
  • production site 11 When data is written to both production site 11 and primary site 12, production site 11 returns a successful write response to host 100 to maintain data synchronization in production site 11 and primary site 12. Since the secondary site 13 is far away from the production site 11, the production site 11 or the primary site 12 can store data to the secondary site 13 using asynchronous replication techniques. For example, when host 100 writes data to a production station At point 11, the production site 11 can directly return a successful write response to the host 100. After a period of time, the production site 11 then sends the data written by the host 100 to the secondary site 13 for storage to achieve further backup of the data. It should be noted that, in the embodiment of the present invention, writing data to the production site 11 may be writing the data to the cache of the production site 11, or may refer to writing the data into the memory of the production site 11, and do not do this. limited.
  • the storage space formed by the memory of the production site 11 may include a plurality of data volumes.
  • the data volume described in the embodiment of the present invention is a logical storage space formed by mapping physical storage space.
  • a data volume can be a logical unit identified by a Log ic Uni Number (LUN) or a file system. It can be understood that the storage space of the primary site 12 and the secondary site 13 can also include multiple data volumes.
  • synchronous replication technology is usually used to maintain data synchronization between the production site 11 and the primary site 120, and asynchronous is established between the production site 11 and the secondary site 13. Copying or establishing asynchronous replication between the primary site 12 and the secondary site 13 is established.
  • the link between the production site 11 and the secondary site 13 is used for asynchronous replication, and the link between the primary site 12 and the secondary site 13 is used as a backup link.
  • the link between the production site 11 and the secondary site 13 is referred to as a first link
  • the link between the primary site 12 and the secondary site 13 is referred to as a first link.
  • Two links When the replication process between production site 11 and secondary site 13 is abnormal, data can be re-copied from primary site 12 to secondary site 13.
  • the abnormality of the replication process includes an abnormality in the replication process due to a failure of the production site 11, or an abnormality in the replication process due to the failure of the first link. It can be understood that in the process of asynchronous replication, the link between the primary site 12 and the secondary site 13 can also be used for asynchronous replication, and the link between the production site 11 and the secondary site 13 is used as a link. Backup link.
  • the first data is transmitted during the replication process.
  • the storage system composed of the storage device 110 and the second storage device 130 is referred to as a first storage system 33, and the storage system to which the third storage device 130 receiving the data belongs is referred to as a second storage system 44.
  • the first storage system 33 can also include other storage devices
  • the second storage system 44 can also include other storage devices.
  • FIG. 1 is a schematic structural diagram of a storage device 20 according to an embodiment of the present invention.
  • the storage device 20 shown in FIG. 2 is a storage array.
  • the storage device 20 may include a controller 200 and a disk array 214, wherein the disk array 214 is used to provide storage space, and may include Redundant Arrays of Independent Disks (RAID). ) or a disk consisting of multiple disks is rejected.
  • RAID Redundant Arrays of Independent Disks
  • Disk 216 is used to store data.
  • the disk array 216 and the controller 200 can be connected by a communication protocol such as a small computer system interface (SCS I) protocol, which is not limited herein.
  • SCS I small computer system interface
  • the disk array 214 is only an example of a memory in the storage system.
  • data can also be stored through a memory such as a tape library.
  • the disk 216 is only an example of the memory of the disk array 214.
  • an embodiment such as a disk array can be constructed between machine rejections including multiple disks. Therefore, in the embodiment of the present invention, the disk array 214 may also be a memory composed of a non-volatile storage medium such as a solid-state hard disk (SSD), a plurality of disks, or a server. Composition, not limited here.
  • the controller 200 is a "brain" of the storage device 20, and mainly includes a processor (proces sor) 202, a cache 204, a memory 206, a communication bus 210, and a communication interface (Communica). t ion Interface) 212.
  • the processor 202, the cache 204, the memory 206, and the communication interface 212 complete communication with each other via the communication bus 210.
  • the controller 200 in the storage device 20 may be one or multiple. It can be understood that when at least two controllers 200 are included in the storage device 20, the stability of the storage device 20 can be improved.
  • the communication interface 212 is configured to communicate with the host 100, the disk 216, or other storage devices.
  • the memory 206 is configured to store the program 208.
  • Memory 206 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk storage. It can be understood that the memory 206 can be a random memory (RAM), a magnetic disk, a hard disk, an optical disk, a solid state disk (SSD), or a nonvolatile memory, and can store program codes. Non-transitory machine readable medium.
  • Program 208 can include program code, the program code including computer operating instructions.
  • the cache (Cache) 204 is a memory that exists between the controller and the hard disk, and has a smaller capacity than the hard disk but is faster than the hard disk. Cache 204 is used to buffer data received from host 100 or other storage devices and to cache data read from disk 216 to improve the performance and reliability of the array.
  • the cache 204 may be a non-transitory machine readable medium that can store data, such as a RAM, a ROM, a flash memory, or a solid state disk (SSD), which is not limited herein.
  • the processor 202 can be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • An operating system and other software programs are installed in the processor 202, and different software programs can be regarded as one processing module having different functions. For example, processing input/output (I/O) requests to disk 216, performing other processing on data in disk 216, or modifying metadata stored in storage device 20, and the like.
  • the controller 200 can implement various data management functions such as 10 operations, snapshots, mirroring, and copying.
  • the processor 202 is configured to execute the program 208, and specifically, the related steps in the following method embodiments may be performed.
  • the hardware structures of the first storage device 110, the second storage device 120, and the third storage device 130 may be similar, but the first storage device 110 is in the process of data copying.
  • the functions of the second storage device 120 and the third storage device 130 are different, and thus the programs 208 executed by the processor 202 in the first storage device 110, the second storage device 120, and the third storage device 130 may be different.
  • a method for implementing data replication in each storage device in the embodiment of the present invention will be described in detail below.
  • FIG. 3 is a flowchart of a data replication method according to an embodiment of the present invention.
  • the method can be applied to the application scenario shown in FIG. 1.
  • the method shown in Figure 3 will be the first storage system that will send data.
  • the description is made on the 33 side.
  • the first storage system 33 may include the first storage device 110 in the production site 11 and the second storage device 120 in the primary site 12 shown in FIG.
  • the data stored in the first storage device 110 and the second storage device 120 are the same.
  • the second storage system 44 that receives the replicated data can include the third storage device 130.
  • the hardware structures of the first storage device 110 and the second storage device 120 in the embodiment of the present invention may be as shown in FIG. 2 .
  • the method described in FIG. 3 may be jointly performed by the processor 202 in the first storage device 110 and the second storage device 120.
  • the data copying method shown in Fig. 3 will be described below with reference to Figs. 1 and 2.
  • the method can include the following steps.
  • the first storage system 33 determines copy information based on the stored data, the copy information being used to indicate data that the first storage system 33 needs to copy to the second storage system 44 in the current copy task.
  • the copy task (which may also be referred to as an asynchronous remote copy task) means that the first storage system 33 copies data carried by the write data command received by one data volume for a period of time to a data volume of the second storage system 44. .
  • the first storage system 33 may send all the data in one data volume to the second storage system 44 during this time, or may receive the difference data relative to the last replication task during this time. The data is also sent to the second storage system 44, which is not limited herein.
  • the replication task identifier may be used to distinguish different replication tasks, wherein the replication task identifier may be determined according to the identifier of the source data volume and the identifier of the target data volume in the current replication process.
  • the LUN of the LUN can be: LUN001 B LUN002, which is used to indicate that the LUN is the LUN that is identified as 001 in the storage device A.
  • the replication task identifier can also be represented by other identifiers, which are not limited herein. As long as each storage device can identify the source data volume and the target data volume of the current replication task.
  • the first storage device 110 and the second storage device 120 maintain the consistency of the stored data by synchronous replication
  • the first storage device 110 and the second storage device The identifiers of the data volumes in the device 120 that store the same data are not necessarily the same.
  • the LUN ID of the data A stored in the first storage device 110 may be LUN 1#
  • the ID of the LUN storing the data A in the second storage device 120 may be LUN 2#.
  • the first storage can be pre-configured.
  • the replication relationship between each of the storage devices 110, the second storage device 120, and the third storage device 130 enables the first storage device 110, the second storage device 120, and the third storage device 130 to be in the current replication task.
  • the corresponding source data volume and target data volume are determined according to the replication relationship. In another way, data backup can be implemented between data volumes with the same replication relationship.
  • the replication relationship identifier may be included, and the identifiers of the LUNs of the first storage device 110, the second storage device 120, and the third storage device 130 may also be included.
  • the LUN 002 can be: LUN001 B LUN002 C LUN003, which is used to indicate that the LUN is 001 in storage device A, the LUN is 002 in storage device B, and the LUN is 003 in storage device C. Copy the relationship.
  • the replication relationship identifier may also be represented by other identifiers, which is not limited herein, as long as each storage device can identify the replication relationship involved in the current replication task. In a practical application, this copy relationship may be stored in the first storage device 110, the second storage device 120, and the third storage device 130 in advance.
  • the replication task is a replication task between LUNs in different storage devices initiated according to a preset replication relationship, and at a certain moment, only data volumes having the same replication relationship may be between There is a replication task.
  • the embodiment of the present invention mainly relates to an interaction process between devices in a replication task. Therefore, in the embodiment of the present invention, a replication relationship identifier may be used to represent a replication task.
  • the replication task identifier may be the same as the replication relationship identifier.
  • the replication task identifier may be different from the replication relationship identifier.
  • the replication task identifier may be in the replication relationship identifier. Based on the addition of the time identifier, the replication task is used to indicate that the replication task is a replication task initiated at different times between data volumes having the same replication relationship.
  • the current replication task is directed to A replication task initiated by the only one of the storage devices at the current time. Therefore, the replication relationship between the LUNs in each storage device may not be preset.
  • the replication information may be determined according to the difference data information received by the first storage device 110 or the second storage device 120.
  • the difference data information refers to information that the storage device writes data of the storage device after the start of the previous copy task of the current copy task and before the start of the current copy task.
  • the difference data information can be recorded by means of a difference bitmap.
  • the storage device 100 may create a difference bitmap for each data volume (for example, a LUN) for recording information of the written data in the data volume.
  • FIG. 3a is an example of a difference bitmap according to an embodiment of the present invention. As shown in Figure 3a, each of the grids in the difference bitmap corresponds to an address in the LUN.
  • the data is written by the identifier bit. Since the write data command sent by the host 100 carries the data to be written and the address of the data, when the first storage device 100 receives After the write data command sent by the host 100, the identifier position in the corresponding grid in the difference bitmap can be set to "1" according to the address of the data carried in the write data command. Recording information of the changed data written in the LUN. It can be understood that, in the same copy period, if the data of the same address is continuously changed, in the case of recording, the data address may be corresponding to the grid. The flag is kept at "1". It can be understood that, in another case, the data bit can be written with the flag "0".
  • the difference bitmap may be saved in the cache of the first storage device 110 or the second storage device 120, or may be saved in the memory of the first storage device 110 or the second storage device 120.
  • the difference data information can be recorded in a "tree" structure in addition to being recorded in the form of a difference bitmap.
  • differential binary trees, differential B+ trees, and other trees can be used to record differential data information.
  • each leaf node can be associated with an address in the LUN.
  • the identification position of the leaf node is a corresponding identifier, which is used to indicate that the address corresponding to the leaf node has data to be written.
  • the difference data information may also be recorded in the structure of a linked list or an entry. When the list is expressed in the form of a linked list, each entry in the table corresponds to an address in the LUN.
  • difference data information may also be recorded in the form of a log or the like, which is not limited herein. Similar to the difference bitmap, the difference data information recorded in the form of a tree structure, a linked list structure, or a log may be saved in the cache of the first storage device 110 or the second storage device 120, or may be saved in the first storage device 110. Or in the memory of the second storage device 120.
  • the copy information is also expressed in the form of a duplicate bitmap.
  • the copy information can also be expressed in the form of a copy tree. And so on, will not repeat them here.
  • the difference bitmap is taken as an example for description, and the data is written with the identifier bit as ".
  • the first The storage device 110 may convert the difference bitmap when the copy task is started into a copy bitmap to determine the copy information, and regenerate the empty difference bitmap to record that the LUN is written in the first storage device 110 after the current copy task is started.
  • the data to be copied wherein the copy bitmap is used to represent the data that needs to be copied to the third storage device 130 in the current copy task. According to this manner, when copying, the grid with the "1" in the bitmap can be copied. The data of the corresponding address is copied to the third storage device 130.
  • a difference bitmap and a copy bitmap may be set in the first storage device 110, and the first storage device is recorded by the difference bitmap.
  • the difference bitmap is converted into a copy bitmap in the current copy task, and the used copy bitmap in the previous copy task is converted into a new difference bitmap to record information of data written after the current copy task starts. It should be noted that when using the copy bitmap used in the previous copy task to be converted into a new difference bitmap, it is necessary to clear the flag bit in the copy bitmap in the previous copy task and then use it as a new difference bit. In another case, in this case, the difference bitmap and the copy bitmap can be used alternately to record the difference data information and the information of the data to be copied to the third storage device 130. How to determine the form of the copy information based on the difference data information is limited.
  • the first storage device 110 and the second storage device 120 in the first storage system 33 maintain the consistency of the stored data through the synchronous replication technology. .
  • the first storage system 33 needs to determine the copy information. Used to indicate data that the first storage system 33 needs to copy to the second storage system 44 in the current replication task.
  • the first storage system 33 needs to determine the replication information.
  • the first storage device 110 and the second storage device 120 may determine the replication information according to the stored data.
  • FIG. 3b is a flowchart of a method for determining duplicate information according to an embodiment of the present invention. As shown in Figure 3b, the method can include the following steps.
  • the first storage device 110 sends a copy task initiation message to the second storage device 120.
  • the replication task initiation message carries an identifier of the first source data volume in the first storage device 110 and an identifier of the target data volume in the third storage device 130.
  • the copy task initiation message is used to notify the second storage device 120 that the current copy task is a copy task between the first source data volume in the first storage device 110 and the target data volume in the third storage device 130.
  • the copy task start message can be performed by using a predefined message format.
  • the header of the copy task initiation message may include a message type (eg, opCode) field, a source device ID (eg, s rcAppId) field, and a target device ID (eg, ds tAppId ) field.
  • the message type field is used to indicate that the type of the message is a replication task startup information.
  • the source device ID field is used to identify the originator of the copy progress message, and the target device ID field is used to identify the recipient of the copy task start message. Both the source device ID and the target device ID field can be identified by an IP address.
  • the format of the content portion of the replication task initiation message (for example, the da ta field in the replication task startup message) can be as follows:
  • the LUN ID may be located in the 0-4th byte, and is used to indicate the identifier of the source data volume in the current replication task, where the LUN identifier is a unique identifier;
  • the LUN id may be located in the 4th to 8th bytes, and is used to indicate the identifier of the target data volume in the target device that receives the data in the current replication task, for example, the LUN ID of the target device. In other words, this field is used to indicate the target data volume in the target storage device pointed to by the current replication task.
  • the "LUN ID” field may be the first source in the first storage device 110 where the data to be copied is stored.
  • the ID of the data volume such as LUN001.
  • the "Rep ic ionic object LUN id" field may be the ID of the target data volume in the third storage device 130, such as LUN 003.
  • the replication task between the LUN identified as 001 in the first storage device 110 and the LUN identified as 003 in the third storage device 130 is used to describe the current replication task.
  • the "LUN ID” field can also be the second save.
  • the second storage device 110 may determine, in advance, the second according to the preset replication relationship and the identifier of the first source data volume and the identifier of the target data volume.
  • the ID of the source data volume may be the first source in the first storage device 110 where the data to be copied is stored.
  • the ID of the data volume such as LUN001.
  • the second storage device 120 determines the second of the second storage devices according to the identifier of the first source data volume, the identifier of the target data volume, and a preset replication relationship.
  • Source data volume The replication relationship includes a correspondence between the first source data volume, the second source data volume, and the target data volume.
  • the copy relationship between the data volumes is pre-set in the first storage device 110, the second storage device 120, and the third storage device 130.
  • the second storage device 120 may use the identifier and the target data of the first source data volume carried in the replication task startup message according to the preset replication relationship.
  • the identification of the volume determines a second source data volume in the second storage device 120.
  • the second storage device 120 determines the copy information according to the determined data stored in the second source data volume.
  • the first storage device 110 determines the copy information based on the determined data stored in the first source data volume.
  • the second storage device 120 can generate a duplicate bitmap according to the difference bitmap of the second source data volume, and the first storage device 110 can generate a review bitmap according to the difference bitmap of the first source data volume.
  • the copy information determined by the second storage device 120 according to the second source data volume is the same as the copy information determined by the first source data volume, and the copy is The information is the copy information of the first storage system 33 in the current copy task, and is used to indicate the data that the first storage system 33 needs to copy to the second storage system 44 in the current copy task.
  • the first storage system 33 determines that the replication information may also be determined by the first storage device 110 in the first storage system 33 according to the data stored in the first storage device 110, and then The determined copy information is sent to the second storage device 120. In this way, both the first storage device 110 and the second storage device 120 can also have the same copy information.
  • FIG. 3c FIG. 3b is a flowchart of still another method for determining replication information according to an embodiment of the present invention. The method for determining the replication information shown in FIG. 3c is still that the current replication task is in the first source data volume in the first storage device 110, the second source data volume in the second storage device 120, and the third storage device 130. The replication task initiated between the target data volumes is described as an example. Wherein, the first source data volume and the second The data stored in the source data volume is the same.
  • the method can include the following steps.
  • the first storage device 110 determines the copy information based on the data stored in the first source data volume. Specifically, when the first storage device 110 needs to start the replication task, the first storage device 110 may determine, according to the difference bitmap of the first source data volume, the replication information, where the replication information is used to indicate data that needs to be copied to the second storage system 44 in the current replication task. .
  • the specific manner in which the first storage device 110 determines the copy information may be referred to the foregoing description, and details are not described herein again.
  • the first storage device 110 sends a replication task initiation message to the second storage device 120.
  • the replication task initiation message may carry the identifier of the first source data volume, the identifier of the target data volume, and the replication information.
  • the copy task initiation message is used to notify the second storage device 120 that the current copy task is a copy task between the first source data volume in the first storage device 110 and the target data volume in the third storage device 130. Since the first storage device 110 has determined the replication information of the current replication task according to the first source data volume in step 320, the first storage device 110 may notify the second storage device 120 when the replication task is started. The information is simultaneously sent to the second storage device 120 so that the second storage device 120 can determine the copy information without itself.
  • the copy information of the current copy task may also be sent by the first storage device 110 to the second storage device 120.
  • the replication task startup message may carry the identifier of the first source data volume and the identifier of the target data volume, which is used to indicate that the current replication task is the first source data volume and Replication between target data volumes.
  • a detailed description of the replication task initiation message can be similar to that described above, and specifically, the replication information can be carried in other fields of the data portion of the foregoing replication task initiation message.
  • the copy information (for example, the address information of the data to be copied) may be carried in the field after the 8th byte, and details are not described herein again.
  • the second storage device 120 determines a second source data volume corresponding to the replication information according to the identifier of the first source data volume, the identifier of the target data volume, and the preset replication relationship.
  • the replication relationship includes a correspondence between the first source data volume, the target data volume, and the second source data volume.
  • the second storage device 120 may be configured according to the preset replication relationship and the identifier of the first source data volume and the identifier of the target data volume carried in the replication task startup message. Determining, in the second storage device 120, a second source data volume having the same data as the first source data volume, thereby being able to determine a number corresponding to the copy information Two source data volumes.
  • FIG. 3b and FIG. 3c are two implementation manners for determining the replication information by the first storage system 33 according to the embodiment of the present invention. In actual applications, other methods may be used to determine the deployment according to the specific network.
  • the copy information of the storage system 33 in the current copy task does not limit the specific manner in which the first storage system 33 determines the copy information.
  • the copying information in the embodiment of the present invention refers to the copying information of a certain data volume in the storage device.
  • a data volume corresponds to a replication message in a replication task.
  • the first storage system 33 determines the first copy sub information and the second copy sub information according to the copy information.
  • the first copy sub-information is used to indicate data that needs to be copied by the first storage device 110 to the third storage device 130
  • the second copy sub-information is used to indicate that the second storage device 120 needs to be copied to the third The data of the storage device 130. It should be noted that, when determining the first copy sub-information and the second copy sub-information, the data range indicated by the first copy sub-information and the second re-sub-sub-information needs to be determined to avoid the first storage device 110 and the second storage device. 120 duplicated data is duplicated.
  • the first copy sub-information and the second copy sub-information may be respectively determined by the first storage device 110 and the second storage device 120 in the first storage system 33.
  • the first storage device 110 may determine the first copy sub-information according to the copy information determined in step 300 and the preset copy policy, and the second storage device 120 according to the copy information and the preset determined in step 300.
  • the replication policy determines the second replication information.
  • the replication policy may be preset in the first storage device 110, where the replication policy may include a replication ratio, a replication scope, and the like.
  • the set policy may be: the first storage device 110 copies from the head of the copy bitmap to the tail direction, and the second storage device 120 copies from the tail of the copy bitmap to the head direction. , End copy when there is a crossover of the copy location.
  • the set policy may be: the first storage device 110 copies 60% difference data from the head of the copy bitmap to the tail direction, and the second storage device starts from the tail of the copy bitmap to the head. 40% difference data is copied in the direction of the department.
  • the set policy may also be that the first storage device 110 and the second storage device 120 respectively copy the difference data to the two ends from the middle of the copy bitmap.
  • the set policy may further include an address range of data that the first storage device 110 needs to copy, an address range of data that the second storage device 120 needs to copy, and the like.
  • the replication policy can be set according to the specific situation, and the specific replication strategy is not used here. Limited.
  • the current replication task needs to be shared by the first storage device 110 and the second storage device 120, and therefore the first storage device 110 and the The same replication policy is set in the second storage device 120 to prevent the first storage device 110 and the second storage device 120 from copying the same data to the third storage device 130.
  • the first storage device 110 may negotiate with the second storage device 120 according to the replication information.
  • the first copy sub information and the second copy sub information may be received in the negotiation process.
  • the first storage device 110 may receive a negotiation request of the second storage device 120, where the negotiation request includes at least bandwidth information of the second link.
  • the first storage device 110 may determine the first copy sub-information and the second copy sub-information according to the bandwidth information of the second link.
  • the first storage device 110 may determine that the data amount indicated by the first copy sub-information is smaller than the data quantity indicated by the second copy sub-information, for example, the first copy sub-information.
  • the indicated data is 30% of the total amount of data to be copied, and the data indicated by the second copying sub-information is 70% of the total amount of data to be copied.
  • the first storage device 110 may send the determined second copy sub information to the second storage device 120.
  • the second replicating sub-information may be sent to the second storage device 120 in the form of a negotiation response message, where the address range of the data indicated by the second replicating sub-information needs to be carried in the negotiation response message.
  • the first copy sub-information and the second copy sub-information are both part of the copy information.
  • the data indicated by the first copy sub-information and the data indicated by the second copy sub-information are both part of the data indicated by the copy information.
  • the copy information may be composed of the first copy sub-information and the second copy sub-information.
  • the copy information when the copy information is represented by a copy bitmap, the first copy sub information or the second copy sub information does not need to be additionally represented by a separate copy bitmap, and may be based on copying the bitmap.
  • the range of the first copy sub information or the second copy sub information may be identified.
  • the specific forms of the first copy sub-information and the second copy sub-information are not limited as long as the first copy sub-information and the second copy sub-information can identify the range of data to be copied.
  • the embodiment of the present invention only includes two storages in the first storage system 33.
  • the storage device is described.
  • the first storage system 33 includes N storage devices
  • the replication information of the current replication task may be divided into N parts.
  • the N pieces of copy information can be determined according to the copy information of the current copy task, and the N devices respectively copy the data to the third device according to the N pieces of copy information.
  • is a natural number greater than 1.
  • the first storage device 110 copies the data that needs to be copied by the first storage device 110 to the third storage device 130 to the third storage device according to the first copy sub-information. 130.
  • the first storage device 110 may copy the data in the first source data volume corresponding to the position where the copy bitmap identifier bit is "1" according to the first copy sub-information.
  • the third storage device 130 is in the target data volume.
  • the first storage device 110 may send data that needs to be copied from the first source data volume in the first storage device 110 to the third storage device 130 to the third storage device 130 by using a write data command or a copy command. In the target data volume.
  • the data stored in the third storage device 130 may be compared to the third storage device 110.
  • the data stored in it has a certain time delay.
  • the first storage device 110 receives a plurality of write data commands of the host 100 for a period of time, and when the first storage device 110 performs asynchronous remote replication to the third storage device 130, the host 100 may still send write data.
  • the command is given to the first storage device 110. Therefore, when performing the current copy task, it is necessary to distinguish the data that the first storage device 110 transmits to the third storage device 130 in the current copy task from the new data it receives.
  • the data sent by the first storage device 110 to the third storage device 130 during the copying process may be distinguished from the new data received by the first storage device 110 during the copying process by using the snapshot technology.
  • a snapshot is a fully available copy of a specified data set that includes an image of the corresponding data at a point in time (the point in time when the copy begins).
  • a snapshot can be a copy of the data it represents, or it can be a replica of the data.
  • a state view at the creation time may be created on the data volume, and only the data of the data volume at the creation time can be seen through the view, and the data volume is modified after the time point.
  • the first storage device 110 since the snapshot data is "stationary, the first storage device 110 can After the snapshot of the data at the point in time is created, the snapshot data is copied to the third storage device 130. In this way, remote data copying can be completed without affecting the first storage device 110 continuing to receive the write data command sent by the host 100 during the copying. Therefore, the first storage device 110 may perform snapshot processing on the data in the first source data volume at the time of starting the copy to form a data copy of the first source data volume at the moment, and send the data copy to the third storage.
  • the target data volume of device 130 It should be noted that the data copy is the data to be copied to the third storage device 130 in the current replication task.
  • the embodiment of the present invention may further solve the foregoing problem by adding a time slice number to each write data command received by the first storage device 110.
  • the first storage device 110 may include a current time slice number manager, and the current time slice number manager stores the current time slice number.
  • the current time slice number can be represented by a numerical value, such as 0, 1, or 2.
  • the current time slice number can also be represented by letters, such as a, b, c. There is no limit here.
  • the first number assigned by the current time slice number is added to the address of the data and data carried by the write data command.
  • the data corresponding to the first number is used as data to be copied to the third storage device 130 in the current copy task, and the address of the data and data corresponding to the first number is sent to the third Storage device 130.
  • the current time slice number is modified at the same time to identify subsequent write data commands.
  • the data that the first storage device 110 needs to send to the third storage device 130 in the current replication task may be distinguished from the new data received by the first storage device 110. There is no limit here.
  • the data volume included in the storage space of the first storage device 110 is taken as a LUN as an example.
  • the first storage device 110 may create a copy of the first source LUN at the current time by snapshot. Then, in step 306, the first storage device 110 may copy the data of the address of the first source LUN that is created to the address corresponding to the grid with the identifier bit "1" in the first copy sub-information to the third storage device 130. In the destination LUN.
  • the first storage device 110 copies the data to the third storage device 130 by using a write data command as an example.
  • the first storage device 110 copies data to the target LUN of the third storage device 130 according to the created copy of the first source LUN and the first copy sub-information
  • the first storage The write data command sent by the device 110 to the third storage device 130 needs to include the identifier of the target LUN of the current copy task, the data to be written, and the address of the data to be written.
  • the identifier of the target LUN can be a LUN ID.
  • the address of the data to be written may be the LBA address of the data, which is used to indicate the destination address of the data.
  • the third storage device 130 may write the data carried in the write data command to the target LUN of the third storage device 130 according to the identifier of the target LUN and the LBA address of the data to be written. It can be understood that, in the write data command sent by the first storage device 110 to the third storage device 130, the ID of the first source LUN of the data to be written may also be carried, for identifying that the data is from the first Data transmitted in the first source LUN of the storage device 110.
  • step 306 the second storage device 120 copies the data that needs to be copied by the second storage device 120 to the third storage device 130 to the third storage device according to the second copying sub information. 130. Since step 306 is similar to step 304, reference may be made to the related description of step 304. It should be noted that, in the embodiment of the present invention, the foregoing steps 304 and 306 are not sequential, and the copying process of the first storage device 110 and the copying process of the second storage device 120 may be performed simultaneously.
  • the first storage device 110 and the second storage device 120 maintain the consistency of the stored data by the synchronous replication manner, and the replication information of the current replication task is written according to a data volume.
  • the difference in data information is determined.
  • the copy information of the current copy job is determined based on the difference data information written in the first source data volume in the first storage device 110. Since the data stored in the first source data volume in the first storage device 110 is the same as the data stored in the second source data volume in the second storage device 120, the first copy sub-information and the second copy sub-information are based on the same A copy information is determined. Therefore, the same data as the data indicated by the second copy sub information is also stored in the first source data volume, and the data indicated by the first copy sub information is also stored in the second source data volume. The same data.
  • the first storage device 110 and the second storage device 120 in the first storage system 33 are Can have the same copy information.
  • the first storage system 33 determines the first copy sub information and the second copy sub information by copying the information, and the first storage device 110 copies the data to the third storage according to the first copy sub information.
  • the device 130 copies the data to the third storage device 130 according to the second copy sub-information by the second storage device 120.
  • the same copy task of the first storage system 33 can be used by the first storage device 110 and the first in the first storage system 33.
  • the second storage device 120 performs sharing.
  • the method shown in FIG. 3 can increase the bandwidth of the replication link between the first storage system 33 and the second storage system 44 without increasing the production cost. , improve copying efficiency. For example, if the bandwidths of the first link and the second link shown in FIG. 1 are both 10M, the data in one LUN in the first storage system 33 is copied to the first method by using the method in the embodiment of the present invention. When the storage device 1 30, the replication link bandwidth can reach 20M. However, in the prior art, only one link is used for copying, and the bandwidth of the replication link is only 10M.
  • the method of the embodiment shown in FIG. 3 is used by the first storage when starting remote asynchronous replication. Multiple storage devices in system 33 are concurrently performed, thereby reducing consumption of individual storage device resources in first storage system 33.
  • FIG. 4 is a signaling diagram of a data replication method according to an embodiment of the present invention.
  • the method illustrated in Figure 4 will further describe the method illustrated in Figure 3 from the perspective of the first storage system 33 and the second storage system 44. It can be understood that the specific structures of the first storage device 110, the second storage device 120, and the third storage device 130 in the method shown in FIG. 4 can still be as shown in FIG. 1. Specifically, the method shown in FIG. 4 can be performed by the processors in the first storage device 110, the second storage device 120, and the third storage device 130, respectively.
  • the copy information is represented by a duplicate bitmap
  • the difference data information is represented by a difference bitmap.
  • the current copy task is the first source data volume in the first storage device 110, the second source data volume in the second storage device 120, and the target data volume in the third storage device 130.
  • the replication task between them is described as an example.
  • the method shown in Fig. 4 will be described below with reference to Figs. 1 and 3. Specifically, as shown in FIG. 4, the method includes:
  • the first storage device 110 determines to initiate an asynchronous replication task.
  • the first storage device 110 can determine whether to start the asynchronous replication task according to the set timer. When the timer reaches the set asynchronous replication time, it is determined to start the asynchronous replication task. It can be understood that the first storage device 110 is configured to start asynchronous replication by setting a timer. In an actual application, the first storage device 110 may further determine whether to start an asynchronous replication task according to the received data amount. When the amount of data received by the first storage device 110 is small, the first storage device 110 may determine to initiate an asynchronous replication task.
  • the first storage device 110 stops receiving the write data command of the host 100, And processing the write data command that has been received.
  • the host 100 writes data to the first storage device 110 or the host 100 reads data from the first storage device 110 by sending an input/output (I/O) command to the first storage device 110. of.
  • the first storage device may stop receiving the write data command of the host, so that the first storage device 110 may stop receiving the host according to the stop.
  • the data that has been received before the write data command of 100 determines the data that needs to be copied from the first source data volume in the current copy task.
  • processing the already received write data command includes writing data according to the received write data command.
  • a storage device 110 and a second storage device 120 may first cache the data carried in the write data command, and then write the data in the cache into the data volume according to the set write policy.
  • the changed data block can be immediately sent from the cache to the cache of the second storage device 120 through the SAN switch.
  • the second storage device 120 sends a response to the first storage device 110 that the write is successful.
  • the first storage device 110 After receiving the response from the second storage device 120, the first storage device 110 returns a write success response to the host 100 to inform the host 100 that the data in the write data command is processed. In this manner, data written by the host 100 to the first source data volume of the first storage device 110 can be synchronously written into the second source data volume of the second storage device 120. Similarly, the data written by the host 100 to the second source data volume of the second storage device 120 is also synchronously written into the first source data volume of the first storage device 110. The first storage device 110 and the second storage device 120 maintain the consistency of the stored data by the above-described synchronous copying method.
  • the first storage device 110 notifies the second storage device 120 to initiate asynchronous replication.
  • the first storage device 110 and the second storage device 120 make the data stored in the first storage device 110 the same as the data stored in the second storage device 120 by using a synchronous replication manner.
  • the first storage device 110 may be used. The same copy task is completed together with the second storage device 120. Therefore, when the first storage device 110 determines to initiate asynchronous replication, it is necessary to notify the second storage device 120 to start the asynchronous replication process.
  • the first storage device 110 may send a replication task initiation message to the second storage device 120.
  • the first storage device 110 may copy the data involved in the current replication task.
  • the relationship informs the second storage device 120 to enable the second storage device 120 to determine the identity of the data volume in the second storage device 120 involved in the current replication task according to the preset replication relationship.
  • the first storage device 110 may notify the second storage device 120 of the replication relationship identifier in the replication task initiation message.
  • the first storage device 110 may carry the identifier of the first source data volume and the identifier of the target data volume in the replication task initiation message, so that the second storage device 120 can be based on the preset replication relationship and the first The identifier of a source data volume and the identifier of the target data volume determine a second source data volume in the second storage device 120 involved in the current replication task.
  • the first storage device 110 may determine the second source data according to the replication relationship preset in the first storage device 110 and the identifier of the first source data volume and the identifier of the target data volume.
  • the identifier of the volume, and the identifier of the second source data volume is carried in the replication task initiation message sent to the second storage device 120, so that the second storage device 120 can directly determine the second storage device 120 according to the received replication task initiation message.
  • the second source data volume In the fourth case, the first storage device 110 may carry the identifier of the first source data volume in the replication task initiation message, so that the second storage device 120 may be based on the identifier of the first source data volume and the preset replication relationship. A second source data volume in the second storage device 120 involved in the current replication task is determined.
  • the first storage device 110 may further carry the identifier of the target data volume in the replication task initiation message, so that the second storage device 120 may determine the current replication according to the identifier of the target data volume and the preset replication relationship.
  • a second source data volume in the second storage device 120 involved in the task In the embodiment of the present invention, the second storage device 120 does not specifically determine how to determine the second source data volume by using the replication task startup message, as long as the second storage device 120 can determine that the same data is stored in the first source data volume. The second source data volume is sufficient.
  • step 408 the second storage device 120 stops receiving the write data command of the host 100 and processes the write data command that has been received. Specifically, when the second storage device 120 receives the notification that the first storage device 110 initiates the asynchronous replication, the second storage device 120 may stop receiving the write data command of the host 100. Since step 408 is similar to step 404, a detailed description can be found in step 404.
  • the second storage device 120 creates a copy of the second source data volume at the current time.
  • the second storage device 120 may create a current at the current moment by using a snapshot. A copy of the two source data volumes.
  • the data that the second storage device 120 needs to copy in the current replication task can be determined, and the data that needs to be copied in the current replication task and the second storage device 120 can be copied at present by the copy of the second source data volume.
  • the newly received data in the task is distinguished. For details on how to create a copy of the second source data volume by using the snapshot technology, refer to the foregoing description, and details are not described herein again.
  • the second storage device 120 generates a second copy bitmap according to the difference bitmap of the second source data volume.
  • the second storage device 120 updates the second source data according to the address of the data carried in the write data command.
  • the difference bitmap of the volume For example, the second storage device 120 may set the identifier position in the grid corresponding to the data address in the difference bitmap to "1", and use the data corresponding to the address corresponding to the grid to be written.
  • the difference bitmap of the second storage device 120 is used to record information of the data written by the second source data volume of the second storage device 120 after the start of the previous copy task of the current copy task and before the start of the current copy task . Since this step is similar to step 301, the specific description of how to generate the second copy bitmap according to the difference bitmap of the second source data volume in the second storage device 120 can be referred to the description of step 301.
  • the second storage device 120 notifies the first storage device 110 that it is ready for asynchronous replication.
  • the first storage device 110 and the second storage device 120 are all ready to copy the bitmap and the data.
  • a copy of the volume after the second storage device 120 generates the second copy bitmap and creates a copy of the second source data volume required by the current copy task, the second storage device 120 can notify the first storage device 110 that the asynchronous device 110 has been asynchronous Preparation for copying.
  • step 416 the first storage device 110 creates a copy of the first source data volume at the current time. After the first storage device 110 confirms that the second storage device 120 has been ready for asynchronous replication, the first storage device 110 begins to create a copy of the first source data volume at the current time. This step is similar to step 410. For details, refer to the description of step 410. I will not repeat them here.
  • step 418 the first storage device 110 generates a first copy bitmap according to the difference bitmap of the first source data volume. Since step 418 is similar to step 412, for details, refer to the description of step 412. It should be noted that, in the embodiment of the present invention, the first storage device 110 and the second storage device 120 maintain the consistency of the stored data by the synchronous replication technology, and the data stored in the first source data volume and the second source data. The data stored in the volume is the same, therefore, the first copy bitmap and the second storage of the first storage device 110 The second copy bitmap of the storage device 120 is the same.
  • the first storage device 110 notifies the second storage device 120 to start receiving the write data command of the host 100.
  • the second storage device 110 may notify the second The storage device 120 begins to receive the write data command of the host 100 because the write data command of the host 100 received after the preparation for copying does not affect the execution of the current copy task.
  • step 422 the first storage device 110 begins receiving a write data command from the host 100.
  • step 424 the second storage device 120 begins receiving a write data command from the host 100. It will be appreciated that data written to the first storage device 110 and the second storage device 120 after the current replication task is initiated will be copied to the third storage device 130 in the next replication task.
  • steps 404, 408, 410, 416, and 420-424 are optional.
  • the first storage device 110 and the second storage device 120 may not stop when the asynchronous copy is started.
  • the write data command of the host 100 is received, and it is also not necessary to create a copy of the LUN.
  • the first storage device 110 determines the first copy sub-information according to the first copy bitmap and the copy policy.
  • the second storage device 120 determines the first copy sub-information according to the second copy bitmap and the copy policy.
  • the first storage device 110 and the second storage device 120 may respectively determine the duplicate sub-bitmap.
  • the replica sub-bitmap herein may specifically include a first replica sub-bitmap determined by the first storage device 110 and a second replica sub-bitmap determined by the second storage device 120.
  • the first replica sub-bitmap is used to identify information that needs to be copied by the first storage device 110 to the third storage device 130
  • the second replica sub-bitmap is used to identify that the second storage device 110 needs to be copied to the third Information of the data of the storage device 130. It can be understood that the specific replication range of the first storage device 110 and the second storage device 120 is specified in the replication policy, so the data indicated by the first replica sub-bitmap and the data indicated by the second replica sub-bitmap are not duplicated.
  • Step 426 and step 428 are similar to step 302. For details, refer to the related description of step 302.
  • the first storage device 110 copies the partial difference according to the first replica sub-bitmap. Different data to the third storage device 130. During the specific copying process, the first storage device 110 may copy a part of the difference data according to the copy rule of the first storage device 110 during a copying process of the current copying task. For example, the copying rule may set the number of LBAs of the copied data block at a time.
  • step 432 the third storage device 130 returns a single copy successful response to the first storage device 110 to notify the first storage device 110 that the copied data has been successfully written into the third storage device 130.
  • the first storage device 110 updates the first copy sub-bitmap according to the copy success response returned by the third storage device 130.
  • the grid in the first replica sub-bitmap corresponding to the address of the data that has been copied may be marked with the copy completed, or the first replica sub-bitmap may be The flag bit in the grid corresponding to the address of the copied data is deleted.
  • the flag bit "1" in the grid corresponding to the address of the copied data in the first copy sub-bitmap can be deleted. It can be understood that since the first replica sub-bitmap is part of the first replica bitmap, updating the first replica sub-bitmap also updates the first replica bitmap.
  • the first storage device 110 transmits the copy progress information of the first storage device 110 to the second storage device 120.
  • the first storage device 110 needs to send the replication progress information of the first storage device 110 to the second storage device 120 every time the difference data is copied, so that the second storage device 120 can understand the first storage. If the first storage device 110 fails during the replication process, the second storage device 120 may take over the replication task of the first storage device 110 according to the replication progress information of the first storage device 110.
  • the replication progress information of the first storage device 110 is referred to as the first replication progress information in the embodiment of the present invention.
  • the copy progress information of the second storage device 120 is referred to as second copy progress information.
  • the first storage device 110 may send the first copy progress information to the second storage device 120 in the form of a copy progress message.
  • the format of the copy progress message may be similar to the format of the copy task start message described above.
  • the message type can also be included in the header of the replication progress message.
  • the message type field is used to indicate that the type of the message is copy progress information.
  • the content part of the replication progress message for example, the da ta field in the replication progress message
  • the current copy needs to be carried.
  • the format of the content information such as the content portion of the copy progress message, can be as follows:
  • Addres s This field can be located after the 8th byte and is used to carry the current copy progress information.
  • the replication progress information may be one or more logical unit address (Logica l Block Addres s, LBA) addresses, or may be an updated copy bitmap. For example, it may be the updated first copy sub-bitmap.
  • LBA logical unit address
  • the replication progress information is an LBA, it can be used to represent the LBA of the last data that has been copied.
  • the replication progress information is multiple LBAs, it can be used to indicate the address of all data that has been copied.
  • the specific form of the copy progress information is not limited here, as long as the copy progress can be indicated.
  • the "source device ID” field may be the first storage device 110.
  • the IP address, the "destination device ID” field may be the IP address of the second storage device 120.
  • the "LUN ID” field may be the ID of the first source data volume of the data to be copied at the first storage device 110;
  • the "Repl icat ionObject LUN id” field may be the third storage device ID of the target data volume in 130;
  • the "Addres s" field can be the LBA of the last data that has been copied.
  • the first source data volume in the first storage device 110, the second source data volume in the second storage device 120, and the target data volume in the third storage device 130 are previously A replication relationship is established between them. Therefore, the second storage device 120 may determine the second source data volume in the second storage device 120 corresponding to the current replication task according to the LUN id field in the first replication progress message and the preset replication relationship.
  • the IDs of the LUNs corresponding to the first storage device 110 and the second storage device 120 may be the same or different, as long as the data volume storing the same data can be determined according to the replication relationship.
  • step 438 the second storage device 120 copies the partial difference data to the third storage device 130 according to the second copy sub-bitmap.
  • the third storage device 130 moves to the second storage device. 120 returns a single copied response to notify the second storage device 120 that the copied data has been successfully written to the third storage device 130.
  • the second storage device 120 updates the second copy sub-bitmap according to the single copy success response returned by the third storage device 130.
  • the second storage device 120 sends the replication progress information of the second storage device 120 to the first storage device 110.
  • steps 438 to 444 describe a copying process of the second storage device 120 in the current replication task, and the process is related to the first storage device 110 described in steps 430 to 436.
  • the one copy process is similar, so the descriptions of steps 430 through 436 can be referred to the relevant descriptions of steps 430 through 436, respectively.
  • step 446 the first storage device 110 determines that the copying is completed according to the first copy sub-bitmap, and ends the current copying task. During the copying process, the first storage device 110 will cyclically perform the actions of steps 430 to 436 until the first storage device 110 determines that the data to be copied by the first storage device 110 is copied according to the first copy sub bitmap. Then the first storage device 110 can end the copy task. It can be understood that, if the first copy sub-bitmap is determined according to a preset copy policy, and the preset copy policy is to set the first storage device 110 to start from the start address of the data indicated by the copy bitmap.
  • the direction of the address is copied, and the first storage device 110 copies from the end address of the data indicated by the copy bitmap to the direction of the start address. Then, when the first storage device 110 determines that the data to be copied by the first storage device 110 and the data that has been copied by the second storage device 120 are duplicated according to the copy progress information of the second storage device 120, it is determined to end the current copy task. It should be noted that, after ending the current replication task, a copy of the first source data volume in the first storage device 110 created by the first storage device 110 in step 416 needs to be deleted.
  • step 448 the second storage device 120 determines that the current copy task is ended according to the second copy sub-bitmap copy completion.
  • the second storage device 120 will cyclically perform the actions of step 438 to step 4 4 4 until the second storage device 120 determines that the data that needs to be copied by the second storage device 120 is copied according to the second copy sub-bitmap. So far, the second storage device 120 can end the current copy task. It should be noted that, after ending the current replication task, a copy of the second source data volume in the second storage device 120 created by the second storage device 120 in step 410 needs to be deleted.
  • the first storage device 110 and the second storage device 120 may respectively perform a copy task.
  • steps 430 to 436 and second storage device 120 are not performed on the first storage device 110. Make restrictions.
  • the second storage device 120 may be according to the first The copy progress information of the first storage device 110 received last time before the failure of the storage device 110 and the second copy bitmap determine the data that the first storage device 110 has not been copied, and from the second source data volume The data that has not been copied by the first storage device 110 is copied to the target data volume of the third storage device 130.
  • the second storage device 120 may detect whether the first storage device 110 is faulty according to a heartbeat between the second storage device 120 and the first storage device 110, for example, when the second storage device 120 is in the setting. When the heartbeat signal of the first storage device 110 is not received within the time, it may be determined that the first storage device 110 is faulty. Further, in order to improve the accuracy of the detection, the second storage device 120 may send a query request to the third storage device 130 after the first storage device 110 fails to be determined by the heartbeat, and the query request is used to query the first storage device 110.
  • the second storage device 120 It may be determined that the first storage device 110 has failed.
  • the second storage device 120 can take over the copying task of the first storage device 110, and copy the data that the first storage device 110 has not copied to the third storage device 130 to the third storage device 130.
  • the second storage device 120 may also notify the first storage device 110 of its own replication progress information. Therefore, if the second storage device 120 fails during the replication process, the first The storage device 110 may also take over the replication task of the second storage device 120 according to the replication progress information of the second storage device 120 and the first replication bitmap, and copy the data of the second storage device 120 that has not been copied to the third storage device 130. Go to the third storage device 130.
  • the process is similar to the foregoing process in which the second storage device 120 takes over the replication task of the first storage device 110. For details, refer to the foregoing description, which is not described herein.
  • FIG. 5 is a flowchart of still another data replication method according to an embodiment of the present invention.
  • the method shown in Figure 5 is still exemplified by a 3DC disaster recovery system that includes three storage devices.
  • the method shown in FIG. 5 is described from the side of the second storage system 44 that receives data, wherein the first storage system 33 includes a first storage device 110 and a second storage device 120, and the second storage system 44 may include a map.
  • the current copy task is the first source data volume in the first storage device 110, the second source data volume in the second storage device 120, and the target data volume in the third storage device 130.
  • the replication task between them is described as an example.
  • the method shown in Fig. 5 will be described below with reference to Fig. 1. As shown in Figure 5:
  • the third storage device 130 receives the copy information sent by the first storage system 33, and the copy information is used to indicate that the first storage system 33 needs to be copied to the third storage device 1 30.
  • the data in .
  • the first storage device 110 or the second storage device 120 in the first storage system 33 may be moved to the second storage system.
  • the third storage device 1 30 of 44 transmits the copy information.
  • the first storage device 110 transmits the copy information to the third storage device 130.
  • the first storage device 110 in the first storage system 33 can determine the replication information according to the data stored in the first source data volume.
  • the copy information may be obtained according to the difference data information of the first source data volume of the first storage device 110 at the beginning of the current copy task. After determining the copy information of the current copy task, the first storage device 110 may transmit the determined copy information to the third storage device 130.
  • the copy information may be embodied in the form of a duplicate bitmap, or may be embodied in other structural forms such as a "tree" structure, and is not limited herein.
  • the first storage device 110 may send the replication information to the third storage device 130 by sending a replication task initiation message to the third storage device 130.
  • the replication task initiation message carries an identifier of the first source data volume and the replication information determined according to data stored by the first source data volume. A detailed description of the copy task initiation message can be found in the related description in the embodiment shown in FIG. 3 or FIG. 4.
  • the third storage device 130 sends a first acquisition request to the first storage device 110 according to the replication information.
  • the first obtaining request includes information about data that the third storage device 130 needs to acquire the first storage device 110.
  • the information of the data included in the first acquisition request includes at least the identifier of the data volume to which the data to be acquired belongs and the address information of the data.
  • the information of the data included in the first acquisition request includes at least an identifier of the first source data volume and an address of the data to be acquired by the first acquisition request.
  • the identifier of the data volume to which the data to be obtained belongs may be the identifier of the LUN, and the address of the data may be an LBA address.
  • the first acquisition request may be a command format such as a read command or a copy command, which is not limited herein.
  • the third storage device 130 may also send the first acquisition request to the first storage device 110 after the storage space is prepared according to the received replication information, so that the data sent by the first storage device 110 according to the first acquisition request can be received and stored in time.
  • the command format of the first acquisition request may refer to the format of the replication progress message in step 436, and the message type in the first acquisition request needs to indicate that the message is an acquisition request.
  • the information of the data to be acquired that needs to be carried in the first acquisition request may include: an identifier of the first source data volume in the first storage device and a data address of the data to be acquired in the current replication task.
  • the third storage device 130 sends a second acquisition request to the second storage device 120 in the first storage system 33 according to the copy information.
  • the second acquisition request includes information about data that the third storage device 130 needs to acquire the second storage device 120.
  • the second storage may be determined according to the preset identifier of the first source data volume and a preset replication relationship.
  • the data stored in the second source data volume is the same as the data stored in the first source data volume, and the target data volume is used to store data received by the third storage device 130 in the current copy task.
  • the third storage device 130 may send a second acquisition request to the second storage device 120, where the information about the data to be acquired included in the second acquisition request includes at least the second storage device.
  • the identifier of the two source data volume and the data address to be acquired by the second acquisition request may be made to the description of the embodiment shown in FIG.
  • step 504 is similar to step 502, a description of step 502 can be found for a description of the second acquisition request.
  • the steps 502 and 504 are not sequentially, and the third storage device 130 may send the request to the first storage device 110 and the second storage device 120, respectively. Data is acquired to the first storage device 110 and the second storage device 120, respectively.
  • the third storage 130 may determine the amount of data acquired to the first storage device 110 according to the link bandwidth between the third storage 130 and the first storage device 110. Specifically, the third storage device 130 may determine, according to the received replication information and the link bandwidth between the third storage device 130 and the first storage device 110, the data that needs to be acquired by the first storage device 110, according to the determined needs. The data acquired to the first storage device 110 transmits the first acquisition request to the first storage device 110.
  • the third storage 130 may also be based on the link bandwidth between the third storage 130 and the second storage device 120.
  • the amount of data acquired to the second storage device 120 is determined.
  • the third storage device 130 may determine, according to the received replication information and the link bandwidth between the third storage device 130 and the second storage device 120, the data that needs to be acquired by the second storage device 120, according to the determined needs.
  • the data acquired to the second storage device 120 transmits the second acquisition request to the second storage device 120.
  • the third storage device 130 receives data transmitted by the first storage device 110 according to the first acquisition request. Specifically, the first storage device 110 may send the corresponding data stored in the first source data volume to the third storage device 130 according to the address of the data to be acquired carried in the first acquisition request, to copy the data to the third. The target data volume of the storage device 130.
  • the third storage device 130 receives the data transmitted by the second storage device 120 according to the second acquisition request.
  • the second storage device 120 may also send the corresponding data stored in the second source data volume to the third storage device 130 according to the address of the data to be acquired carried in the second acquisition request, to copy the data to the third storage device. 130 in the target data volume.
  • the third storage device 130 since the third storage device 130 receives the first storage device The copy information of the current copy task sent by the 110, so the third storage device 130 can acquire data to the first storage device 110 and the second storage device 120 at the same time, which improves the replication link bandwidth and the replication efficiency.
  • the third storage device 130 can automatically select the range of data acquired to the first storage device 110 and the second storage device 120 after the storage space is prepared, so that the third storage device 130 has greater autonomy and more flexible operation.
  • the third storage device 130 acquires data from the first storage device 110 and the second storage device 120
  • the amount of data acquired to the first storage device 110 or the second storage device 120 may be determined according to the link bandwidth, and the A storage device 110 and a second storage device 120 achieve load balancing in the current replication task.
  • FIG. 6 is a signaling diagram of still another data replication method according to an embodiment of the present invention.
  • the method also describes how to copy data in the first storage system 33 to the second storage system 44 by taking the 3DC disaster tolerant system including three storage devices shown in FIG. 1 as an example.
  • the copy information is still represented by a duplicate bitmap
  • the difference data information is represented by a difference bitmap.
  • Figure 6 will be described below in conjunction with Figure 1. Specifically, as shown in FIG. 6, the method may include the following steps.
  • the first storage device 110 determines to initiate an asynchronous replication task.
  • the first storage device 110 stops receiving the write data command of the host 100 and processes the write data command that has been received.
  • the first storage device 110 notifies the second storage device 120 to initiate asynchronous replication.
  • the second storage device 120 stops receiving the write data command of the host and processes the received write data command.
  • the second storage device 120 creates a copy of the LUN at the current time.
  • the second storage device 120 notifies the first storage device 110 that it is ready for asynchronous replication.
  • the first storage device 110 creates a copy of the LUN at the current time.
  • the first storage device 110 generates a copy bitmap based on the difference bitmap.
  • the first storage device 110 transmits the copy bitmap to the third storage device 130. Specifically, when the copy bitmap is sent, the first storage device 110 may still send the copy bitmap to the third storage device 130 in the form of a copy bitmap in the content part of the copy task start message, where. For a detailed description of the copy task initiation message, reference may be made to the related description in the embodiment shown in FIG. 3, FIG. 4 or FIG. [00152]
  • the third storage device 130 returns a response to the first storage device 110 that the copy bitmap is received.
  • the first storage device 110 deletes the local copy bitmap.
  • the first storage device 110 may delete the local copy bitmap.
  • the replica bitmap may be generated by the second storage device 120 and then sent to the third storage device 1 30, which is not limited herein.
  • only one copy bitmap may be generated by the first storage device 110 or the second storage device 120, and the first storage device 110 and the second storage device 120 are not required to generate a copy. bitmap.
  • step 624 the first storage device 110 notifies the second storage device 120 to start receiving a write data command of the host.
  • step 626 the first storage device 110 begins receiving a write data command from the host 100.
  • step 628 the second storage device 120 begins receiving a write data command from the host 100.
  • steps 624 to 628 are similar to steps 420 to 424 in FIG. 4 respectively. For details, refer to the related descriptions of steps 420 to 424 in FIG.
  • step 630 the third storage device 130 sends a first acquisition request to the first storage device 110 according to the copy bitmap.
  • the first obtaining request includes address information of data that the third storage device 1 30 needs to acquire the first storage device 110.
  • the step 630 is similar to the step 503 in FIG. 5 . For details, refer to the related description of step 503 in the embodiment shown in FIG. 5 .
  • step 632 the third storage device 130 receives the data transmitted by the first storage device 110 according to the first acquisition request.
  • Step 632 is similar to step 506 in FIG. 5. For details, refer to the related description of step 506 in the embodiment shown in FIG. 5.
  • the third storage device 130 updates the copy bitmap according to the received data.
  • the third storage device 130 may update the copy bitmap according to the address information of the received data.
  • the grid in the copy bitmap corresponding to the address of the data that has been copied may be marked with the copy completed, or the address of the copied bitmap may be corresponding to the address of the copied data.
  • the flag in the grid is removed.
  • the identification bit in the grid corresponding to the address of the copied data may be deleted in the copy bitmap.
  • the third storage device 1 30 may update the copy bitmap every time the data is received, where Not limited.
  • step 636 the third storage device 130 sends a second acquisition request to the second storage device 120 according to the copy bitmap.
  • the second obtaining request includes the third storage device 1 30 Address information of data acquired to the second storage device 120. It should be noted that, in order to prevent data duplication by the first storage device 110 and the second storage device 120 from being duplicated, the data to be acquired by the second acquisition request is different from the data to be acquired by the first acquisition request. This step is similar to step 504. For details, refer to the related description of step 504.
  • step 638 the third storage device 130 receives the data returned by the second storage device 120 according to the second acquisition request.
  • step 640 the third storage device 130 updates the copy bitmap based on the data transmitted by the received second storage device 120.
  • the steps 638 to 640 are similar to the steps 632 to 634 respectively. For details, refer to the related description of the steps 632 to 634.
  • the steps 630 to 634 and the steps 636 to 640 are not sequentially executed, and the third storage device 130 may simultaneously be directed to the first storage device 110 and the first The second storage device 120 sends a request to acquire data from the first storage device 110 and the second storage device 120, respectively.
  • step 642 the third storage device 130 determines that the current replication task is completed according to the updated copy bitmap, and ends the current replication task.
  • the steps 630 to 640 may be performed cyclically, and the third storage device 130 may send an acquisition request to the first storage device 110 or the second storage device 120 every time the data is acquired, and update the replication according to the received data. bitmap.
  • the third storage device 130 determines that the data to be copied has been completely copied according to the updated copy bitmap, the current copy task may be ended, and the acquisition request is no longer sent to the first storage device 110 or the second storage device 120. It can be understood that after the current copy task is completed, the third storage device 1 30 can delete the copy bitmap.
  • the third storage device 130 may send an acquisition request to a storage device that has not failed, requesting one storage device that has not failed in the first storage device 110 and the second storage device 120 to transmit the data that has not been copied to the third storage device 130. It can be understood that the third storage device 130 determines whether the first storage device 110 or the second storage device 120 is faulty, and whether the heartbeat signal of the first storage device 110 or the second storage device 120 is received within a set time. It is determined that the data sent by the first storage device 110 or the second storage device 120 is received within the set time, and the third storage device 110 is determined not to determine the first storage device 11 or the second. A method of determining whether the storage device 120 is faulty is defined.
  • the third storage device 130 can simultaneously store the first storage The first storage device 110 and the second storage device 120 in the storage system 33 acquire data to be copied, and thus, the link replication bandwidth is improved. Moreover, when one of the storage devices 33 in the first storage system 33 fails, the third storage device 130 can continue to acquire data from the storage device that has not failed, so that the copying task of the first storage system 33 is not caused by one of the storage devices.
  • the device is interrupted and interrupted, which further enhances the stability of the system while improving the efficiency of replication.
  • the first storage device 110 and the second storage device 120 are used to maintain data consistency by using a synchronous replication technology.
  • the first storage device is used.
  • 110 and the second storage device 120 may also maintain the consistency of the stored data by asynchronous copying, as long as the first storage in the first storage system 33 is guaranteed when the first storage system 33 initiates a copy task to the second storage system 44.
  • the same data may be stored in the device 110 and the second storage device 120. There is no limit here.
  • FIG. 7 is a schematic structural diagram of still another storage system according to an embodiment of the present invention.
  • the storage system shown in FIG. 7 may be the third storage device 1 30 in the secondary site 13 shown in FIG. 1 .
  • the storage system shown in Fig. 7 will be described below with reference to Fig. 1.
  • the storage system 70 can include:
  • the receiving module 702 is configured to receive the replication information sent by the first storage system 33, where the replication information is used to indicate the data that the first storage system 33 needs to copy to the third storage device 130 in the current replication task.
  • the first storage system 33 includes at least the first storage device 110 and the second storage device 120. The first storage device 110 and the second storage device 120 store the same data.
  • the sending module 704 is configured to send a first obtaining request to the first storage device 110 according to the copying information, where the first obtaining request includes a storage system 70 that needs to be in the first storage in the current copying task.
  • Information about the data acquired by device 110 includes at least the first source data in the first storage device.
  • the first source data volume stores data that the first storage system 33 needs to copy to the third storage device 1 30 in the current copy task.
  • the sending module 704 is further configured to send, according to the copy information, the second storage device 120
  • the second acquisition request includes information about data that the storage system 70 needs to obtain from the second storage device 120 in the current replication task, where the data and the data to be acquired by the first acquisition request are obtained.
  • the data to be acquired by the second acquisition request is different.
  • the information about the data to be acquired included in the second acquisition request includes at least the second source data in the second storage device.
  • the second source data volume stores data that the first storage system 33 needs to copy to the third storage device 130 in the current replication task.
  • the first source data volume is the same as the data stored in the second source data volume.
  • the receiving module 702 is further configured to receive data that is sent by the first storage device according to the first obtaining request, and receive data that is sent by the second storage device according to the second obtaining request.
  • the copy information may be a copy bitmap
  • the copy bitmap may be obtained according to a difference bitmap of the first storage system 33 at the beginning of the current copy task, where the difference bitmap is used to record the Information of data written by the first storage system 33 after the start of the previous copy task of the current copy task and before the start of the current copy task.
  • the receiving module 70 is further configured to receive the first storage system 33 to send And a replication task startup message, where the replication task initiation message carries an identifier of the first source data volume and the replication information determined according to data stored by the first source data volume.
  • Storage system 70 can also include:
  • the message processing module 708 is configured to determine, according to the identifier of the first source data volume and the preset replication relationship, the second source data volume and the third storage device 130 in the second storage device 120.
  • Target data volume The replication relationship includes a correspondence between the first source data volume, the second source data volume, and the target data volume, where the target data volume is used to store the storage system at the current Copy the data received in the task.
  • the storage system 70 can further include:
  • the sending module 704 is specifically configured to send the first obtaining request to the first storage device according to the data that is determined by the determining module 706 to be acquired by the first storage device, and according to the determining module 706. Determining the data that needs to be acquired by the second storage device to send the second acquisition request to the second storage device.
  • the storage system 70 can further include:
  • the updating module 710 is configured to update the replication information according to the received data during execution of the current replication task.
  • the storage system 70 provided by the embodiment of the present invention may perform the data replication method described in the embodiment of FIG. 5-6.
  • the storage system 70 provided by the embodiment of the present invention may perform the data replication method described in the embodiment of FIG. 5-6.
  • FIG. 7 is only schematic.
  • the division of the module is only a logical function division, and the actual implementation may have another division manner, for example, multiple Modules or components may be combined or integrated into another device, or some features may be omitted or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some communication interface, indirect coupling or communication connection of the module, and may be in electrical, mechanical or other form.
  • modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. . Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • the embodiment of the present invention further provides a computer program product for data processing, comprising: a computer readable storage medium storing program code, the program code comprising instructions for executing the method described in any one of the foregoing method embodiments Process.
  • a computer readable storage medium includes: a USB flash drive, a mobile hard disk, a magnetic disk, an optical disk, a random memory (Random-Acces s Memory, RAM), a solid state hard disk (SSD), or a non- A non-trans i tory machine readable medium that can store program code, such as non-vo lat i le memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

 本发明实施例提供了一种数据复制方法及存储系统。该方法应用于至少包括第一存储设备以及第二存储设备的存储系统中。该方法包括:第一存储系统确定复制信息,该复制信息用于指示所述第一存储系统在当前复制任务中需要复制到第二存储系统的数据;第一存储系统根据该复制信息确定第一复制子信息及第二复制子信息;所述第一存储设备根据所述第一复制子信息将需要由第一存储设备复制到第二存储系统的数据复制到第二存储系统;第二存储设备根据第二复制子信息将需要由第二存储设备复制到第二存储系统的数据复制到第二存储系统。该数据复制方法能够提高第一存储系统与第二存储系统之间的复制效率。

Description

数据复制方法及存储系统
技术领域
[0001] 本发明涉及存储技术领域, 尤其涉及一种数据复制方法及存储系统。 背景技术
[0002] 为了保护数据的安全, 出于灾备(Di sas ter Recovery ) 的目的, 各 存储厂商会通过建立异地容灾中心来实现数据的远程备份 , 以便能够在灾难(例 如火灾、 地震等)发生之后确保原有的数据不会丢失或者遭到破坏, 并保证关键 业务在允许的时间范围内恢复运行, 尽可能减少灾难带来的损失。
[0003] 当前主要的容灾系统主要包括: 两中心容灾系统和三中心(3 Da ta Center , 3DC)容灾系统。 两中心容灾系统通过建立两个数据中心来实现容灾, 其 中,主数据中心用于承担用户的业务,备份数据中心用于备份主数据中心的数据、 配置、 业务等。 当主数据中心发生灾难时, 备份数据中心可以接管主数据中心的 业务。 3DC 容灾系统是通过部署在三个数据中心的存储系统来实现容灾。 通常, 在 3DC容灾系统中,三个数据中心可以分别称为生产站点、一级站点和二级站点,。 通常,一级站点和二级站点属于灾备站点, 生产站点与一级站点可以处于同一个 城市的两个不同位置, 而二级站点则与生产站点位于不同的城市。 现有的 3DC 容灾系统通常是在三个数据中心之间通过同步远程复制技术以及异步远程复制 技术来实现容灾。 由于 3DC容灾系统的可靠性和可扩展性比较好, 因此, 3DC容 灾系统的适用范围也越来越广。
[0004] 然而, 现有的 3DC容灾系统中, 当需要将数据复制到二级站点时, 通常是由生产站点或一级站点将数据复制到二级站点, 数据复制效率不高。 发明内容
[0005] 本发明实施例中提供的一种数据复制方法以及存储系统, 能够提高 复制效率。
[0006] 第一方面, 本发明实施例提供一种数据复制方法, 该方法至少包括 第一存储设备以及第二存储设备的存储系统中, 该方法包括: 第一存储系统确定复制信息, 所述复制信息用于指示所述第一存储系 统在当前复制任务中需要复制到第二存储系统的数据,其中, 所述第一存储系统 中的第一存储设备与所述第二存储设备存储有相同的数据 ,所述第一存储系统与 所述第二存储系统通过异步复制技术实现数据备份;
所述第一存储系统根据所述复制信息确定第一复制子信息及第二复 制子信息,其中, 所述第一复制子信息用于指示在所述当前复制任务中需要由所 述第一存储设备复制到所述第二存储系统的数据,所述第二复制子信息用于指示 在所述当前复制任务中需要由所述第二存储设备复制到所述第二存储系统的数 据, 且所述第一复制子信息指示的数据与所述第二复制子信息指示的数据不同; 所述第一存储设备根据所述第一复制子信息将所述需要由所述第一 存储设备复制到所述第二存储系统的数据复制到所述第二存储系统;
所述第二存储设备根据所述第二复制子信息将所述需要由所述第二 存储设备复制到所述第二存储系统的数据复制到所述第二存储系统。
[0007] 在第一方面的第一种可能的实现方式中, 所述第一存储设备才艮据所 述第一复制子信息将所述需要由所述第一存储设备复制到所述第二存储系统的 数据复制到所述第二存储系统包括:
所述第一存储设备根据所述第一复制子信息将第一源数据卷中存储 的所述需要由所述第一存储设备复制到所述第二存储系统的数据复制到所述第 二存储系统的目标数据卷中;
所述第二存储设备根据所述第二复制子信息将第二源数据卷中存储 的所述需要由所述第二存储设备复制到所述第二存储系统的数据复制到所述第 二存储系统的所述目标数据卷中;
其中, 所述第一源数据卷中存储的数据与所述第二源数据卷中存储的 数据相同。
[0008] 结合第一方面的第一种可能的实施方式, 在第一方面的第二种可能 的实施方式中, 所述第一存储系统确定复制信息包括:
所述第一存储设备向所述第二存储设备发送复制任务启动消息, 所述 复制任务启动消息中携带有所述第一源数据卷的标识和所述目标数据卷的标识; 所述第二存储设备根据所述第一源数据卷的标识、 所述目标数据卷的 标识以及预设的复制关系确定所述第二存储设备中的所述第二源数据卷, 其中, 所述复制关系中包含有所述第一源数据卷、所述第二源数据卷与所述目标数据卷 的对应关系;
所述第二存储设备根据确定的所述第二源数据卷中存储的数据确定 所述复制信息;
所述第一存储设备根据所述第一源数据卷中存储的数据确定所述复 制信息。
[0009] 结合第一方面的第一种可能的实现的方式, 在第三种可能实现的方 式中, 所述第一存储系统确定复制信息包括:
所述第一存储系统中的所述第一存储设备根据所述第一源数据卷中 存储的数据确定所述复制信息;
所述第一存储设备向所述第二存储设备发送复制任务启动消息, 所述 复制任务启动消息中携带有所述第一源数据卷的标识、目标数据卷的标识以及所 述复制信息;
所述第二存储设备根据所述第一源数据卷的标识、 目标数据卷的标识 以及预设的复制关系确定与所述复制信息对应的第二源数据卷,其中, 所述复制 关系中包含有所述第一源数据卷、所述目标数据卷与所述第二源数据卷的对应关 系。
[0010] 结合第一方面或第一方面的第一种至第三种任意一种可能的实现方 式,在第四种可能的实现方式中, 系统才艮据所述复制信息确定第一复制子信息及 第二复制子信息包括:所述第一存储设备根据所述复制信息以及预设的复制策略 确定所述第一复制子信息;所述第二存储设备才艮据所述复制信息以及所述复制策 略确定所述第二复制子信息。
[0011] 结合第一方面或第一方面的第一种至第四种任意一种可能的实现方 式,在第五种可能的实现方式中, 所述第一存储系统根据所述复制信息确定第一 复制子信息及第二复制子信息包括:所述第一存第一存储设备接收所述第二存储 设备的复制协商请求,所述复制协商请求中至少包含有所述第二存储设备与所述 第二存储系统的链路带宽信息;所述第一存储设备根据所述链路带宽信息确定所 述第一复制子信息以及所述第二复制子信息;所述第一存储设备向所述第二存储 设备发送所述第二复制子信息。
[0012] 结合第一方面或第一方面的第一种至第五种中任意一种可能的实现 方式,在第六种可能的实现方式中, 所述复制信息由所述第一复制子信息以及所 述第二复制子信息组成, 所述方法还包括: 在所述当前复制任务的执行过程中, 所述第一存储设备根据已复制完成的数据生成第一复制进度信息;所述第一存储 设备将所述第一复制进度信息发送给所述第二存储设备;当所述第一存储设备故 障时, 所述第二存储设备根据所述第一复制进度信息、第二复制子信息以及所述 复制信息确定所述第一存储设备尚未复制完成的数据;所述第二存储设备将所述 第一存储设备尚未复制完成的数据复制到所述第二存储系统。
[0013] 第二方面, 本发明实施例提供一种数据复制方法, 该方法应用于存 储系统中, 包括:
第二存储系统接收第一存储系统发送的复制信息, 所述复制信息用于 指示所述第一存储系统在当前复制任务中需要复制到所述第二存储系统的数据 , 其中, 所述第一存储系统中至少包括第一存储设备以及第二存储设备, 所述第一 存储设备与所述第二存储设备中存储有相同的数据,所述第一存储系统与所述第 二存储系统通过异步复制技术实现数据备份;
所述第二存储系统根据所述复制信息向所述第一存储设备发送第一 获取请求,所述第一获取请求中包含有所述第二存储系统在所述当前复制任务中 需要向所述第一存储设备获取的数据的信息;
所述第二存储系统根据所述复制信息向所述第二存储设备发送第二 获取请求,所述第二获取请求中包含有所述第二存储系统在所述当前复制任务中 需要向所述第二存储设备获取的数据的信息,其中, 所述第一获取请求要获取的 数据与所述第二获取请求要获取的数据不同;
所述第二存储系统接收所述第一存储设备根据所述第一获取请求发 送的数据;
所述第二存储系统接收所述第二存储设备根据所述第二获取请求发 送的数据。
[0014] 在第二方面的第一种实现方式中, 所述第一获取请求中包含的要获 取的数据的信息至少包括所述第一存储设备中的第一源数据卷的标识以及所述 第一获取请求要获取的数据地址;
所述第二获取请求中包含的要获取的数据的信息至少包括第二存储 设备中的第二源数据卷的标识以及所述第二获取请求要获取的数据地址;
其中, 所述第一源数据卷与所述第二源数据卷中均存储有所述第一存 储系统在当前复制任务中需要复制到所述第二存储系统的数据,且所述第一源数 据卷与所述第二源数据卷中存储的数据相同。
[0015] 结合第二方面的第一种可能的实施方式, 在第二方面的第二种可能 的实施方式中, 所述第二存储系统接收第一存储系统发送的复制信息包括: 所述第二存储系统接收所述第一存储系统发送的复制任务启动消息, 所述复制任务启动消息中携带有所述第一源数据卷的标识以及根据所述第一源 数据卷存储的数据确定的所述复制信息;
所述方法还包括: 所述第二存储系统根据所述第一源数据卷的标识以 及预设的复制关系确定所述第二存储设备中的第二源数据卷及所述第二存储系 统中的目标数据卷; 其中, 所述复制关系中包含有所述第一源数据卷、 所述第二 源数据卷与所述目标数据卷的对应关系,所述目标数据卷用于存储所述第二存储 系统在所述当前复制任务中接收的数据。
[0016] 结合第二方面、 第二方面的第一种或第二种可能的实现方式, 在第 三种可能的实现方式中,所述第二存储系统根据所述复制信息向所述第一存储设 备发送第一获取请求包括:
所述第二存储系统根据所述复制信息以及所述第二存储系统与所述 第一存储设备之间的链路带宽确定需要向所述第一存储设备获取的数据;
所述第二存储系统根据确定的所述需要向所述第一存储设备获取的 数据向所述第一存储设备发送所述第一获取请求;
所述第二存储系统根据所述复制信息向所述第二存储设备发送第二 获取请求包括:
所述第二存储系统根据所述复制信息以及所述第二存储系统与所述 第二存储设备之间的链路带宽确定需要向所述第二存储设备获取的数据;
所述第二存储系统根据确定的所述需要向所述第二存储设备获取的 数据向所述第二存储设备发送所述第二获取请求。 [0017] 第三方面,本发明实施例提供一种存储系统,该存储系统至少包 括第一存储设备以及第二存储设备 ,所述第一存储设备与所述第二存储设备存储 有相同的数据, 其中:
所述存储系统, 用于确定复制信息, 所述复制信息用于指示所述存储 系统在当前复制任务中需要复制到其他存储系统的数据,所述存储系统与所述其 他存储系统通过异步复制技术实现数据备份;
所述存储系统, 还用于根据所述复制信息确定第一复制子信息以及所 述第二复制子信息,其中, 所述第一复制子信息用于指示在所述当前复制任务中 需要由所述第一存储设备复制到所述其他存储系统的数据 ,所述第二复制子信息 用于指示在所述当前复制任务中需要由所述第二存储设备复制到所述其他存储 系统的数据 ,且所述第一复制子信息指示的数据与所述第二复制子信息指示的数 据不同;
所述第一存储设备, 用于根据所述第一复制子信息将所述需要由所述 第一存储设备复制到所述其他存储系统的数据复制到所述其他存储系统;
所述第二存储设备, 用于根据所述第二复制子信息将所述需要由所述 第二存储设备复制到所述其他存储系统的数据复制到所述其他存储系统。
[0018] 在第三方面的第一种可能的实现方式中, 所述第一存储设备, 用 于根据所述第一复制子信息将第一源数据卷中存储的所述需要由所述第一存储 设备复制到所述其他存储系统的数据复制到所述其他存储系统的目标数据卷中; 所述第一存储设备, 用于根据所述第二复制子信息将第二源数据卷中 存储的所述需要由所述第二存储设备复制到所述其他存储系统的数据复制到所 述其他存储系统的所述目标数据卷中;
其中, 所述第一源数据卷中存储的数据与所述第二源数据卷中存储的 数据相同。
[0019] 结合第三方面的第一种可能的实现方式, 在第三方面的第二种可能 的实现方式中, 所述第一存储设备,还用于向所述第二存储设备发送复制任务启 动消息,所述复制任务启动消息中携带有所述第一源数据卷的标识和所述目标数 据卷的标识;
所述第二存储设备, 还用于根据所述第一源数据卷的标识、 所述目标 数据卷的标识以及预设的复制关系确定所述第二存储设备中的所述第二源数据 卷, 并根据确定的所述第二源数据卷中存储的数据确定所述复制信息, 其中, 所 述复制关系中包含有所述第一源数据卷、所述目标数据卷与所述第二源数据卷的 对应关系;
所述第一存储设备, 还用于根据所述第一源数据卷中存储的数据确定 所述复制信息。
[0020] 结合第三方面的第一种可能的实现方式,在第三方面的第三种可 能的实现方式中, 所述第一存储设备,还用于根据所述第一源数据卷中存储的数 据确定所述复制信息, 并向所述第二存储设备发送复制任务启动消息, 所述复制 任务启动消息中携带有所述第一源数据卷的标识、目标数据卷的标识以及所述复 制信息;
所述第二存储设备, 还用于据所述第一源数据卷的标识、 目标数据卷 的标识以及预设的复制关系确定与所述复制信息对应的第二源数据卷,其中, 所 述复制关系中包含有所述第一源数据卷、所述目标数据卷与所述第二源数据卷的 对应关系。
[0021] 结合第三方面、 第三方面的第一种至第三种中任意一种可能的实现 方式,在第三方面的第四种可能的实现方式中, 所述第一存储设备还用于才艮据复 制信息以及预设的复制策略确定所述第一复制子信息;所述第二存储设备还用于 才艮据所述复制信息以及所述复制策略确定所述第二复制子信息。
[0022] 结合第三方面、 第三方面的第一种至第三种中任意一种可能的实现 方式, 在第三方面的第五种可能的实现方式中, 所述第一存储设备, 还用于接收 所述第二存储设备的复制协商请求,所述复制协商请求中至少包含有所述第二存 储设备与所述其他存储系统的链路带宽信息,根据所述链路带宽信息确定所述第 一复制子信息以及所述第二复制子信息,并向所述第二存储设备发送所述第二复 制子信息。
[0023] 结合第三方面、 第三方面的第一种至第五种中任意一种可能的实现 方式,在第三方面的第六种可能的实现方式中, 所述复制信息由所述第一复制子 信息以及所述第二复制子信息组成, 所述第一存储设备,还用于在所述当前复制 任务的执行过程中,根据已复制完成的数据生成第一复制进度信息, 并将所述第 一复制进度信息发送给所述第二存储设备;
所述第二存储设备 , 还用于当所述第一存储设备故障时, 根据所述第 一复制进度信息、第二复制子信息以及所述复制信息确定所述第一存储设备尚未 复制完成的数据 ,并将所述第一存储设备尚未复制完成的数据复制到所述其他存 储系统。
[0024] 第四方面, 本发明实施例提供一种存储系统, 包括:
接收模块, 用于接收其他存储系统发送的复制信息, 所述复制信息用 于指示所述其他存储系统在当前复制任务中需要复制到所述存储系统的数据,其 中, 所述其他存储系统中至少包括所述第一存储设备以及第二存储设备, 所述第 一存储设备与所述第二存储设备中存储有相同的数据,所述存储系统与所述其他 存储系统通过异步复制技术实现数据备份;
发送模块, 用于根据所述复制信息向所述第一存储设备发送第一获取 请求,所述第一获取请求中包含有所述存储系统在所述当前复制任务中需要向所 述第一存储设备获取的数据的信息;
所述发送模块, 还用于根据所述复制信息向所述第二存储设备发送第 二获取请求,所述第二获取请求中包含有所述存储系统在所述当前复制任务中需 要向所述第二存储设备获取的数据的信息,其中, 所述第一获取请求要获取的数 据与所述第二获取请求要获取的数据不同;
所述接收模块, 还用于接收所述第一存储设备根据所述第一获取请求 发送的数据 , 以及接收所述第二存储设备根据所述第二获取请求发送的数据。
[0025] 在第四方面的第一种可能的实现方式中, 所述第一获取请求中包含 的要获取的数据的信息至少包括所述第一存储设备中的第一源数据卷的标识以 及所述第一获取请求要获取的数据地址;
所述第二获取请求中包含的要获取的数据的信息至少包括第二存储 设备中的第二源数据卷的标识以及所述第二获取请求要获取的数据地址;
其中, 所述第一源数据卷与所述第二源数据卷中均存储有所述其他存 储系统在当前复制任务中需要复制到所述存储系统的数据,且所述第一源数据卷 与所述第二源数据卷中存储的数据相同。
[0026] 结合第四方面的第一种可能的实现方式, 在第四方面的第二种可能 的实现方式中, 所述接收模块,还用于接收所述其他存储系统发送的复制任务启 动消息,所述复制任务启动消息中携带有所述第一源数据卷的标识以及才艮据所述 第一源数据卷存储的数据确定的所述复制信息;
所述存储系统还包括: 消息处理模块, 用于根据所述第一源数据卷的 标识以及预设的复制关系确定所述第二存储设备中的第二源数据卷及所述第二 存储系统中的目标数据卷;
其中, 所述复制关系中包含有所述第一源数据卷、 所述第二源数据卷 与所述目标数据卷的对应关系,所述目标数据卷用于存储所述存储系统在所述当 前复制任务中接收的数据。
[0027] 结合第四方面或第四方面的第一种至第二种中任意一种可能的实现 方式, 在第四方面的第三种可能的实现方式中, 该存储系统还包括:
确定模块, 用于根据所述复制信息以及所述存储系统与所述第一存储 设备之间的链路带宽确定需要向所述第一存储设备获取的数据 ,并根据所述复制 信息以及所述存储系统与所述第二存储设备之间的链路带宽确定需要向所述第 二存储设备获取的数据;
所述发送模块, 具体用于根据所述确定模块确定的所述需要向所述第 一存储设备获取的数据向所述第一存储设备发送所述第一获取请求,并且根据所 述确定模块确定的所述需要向所述第二存储设备获取的数据向所述第二存储设 备发送所述第二获取请求。
[0028] 第五方面, 本发明实施例提供了又一种存储系统, 包括控制器和存 储器, 其中, 所述存储器用于存储其他存储系统发送的数据; 所述控制器包括: 通信接口, 用于与所述其他存储系统进行通信;
内存, 用于存储计算机执行指令;
处理器, 用于运行所述计算机执行指令, 执行前述第二方面中所述的 方法。
[0029] 第六方面, 本发明实施例提供了一种计算机程序产品, 包括存储了 程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行前述第一方 面中所述的方法。
[0030] 第七方面, 本发明实施例提供了一种计算机程序产品, 包括存储了 程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行前述第二方 面中所述的方法。
[ 0031 ] 在本发明实施例中提供的数据复制方法中, 由于第一存储系统中的 第一存储设备和第二存储设备中存储有相同的数据, 因此,在第一存储系统到第 二存储系统的复制过程中,第一存储系统可以根据当前复制任务中的复制信息确 定第一复制子信息以及第二复制子信息,并由第一存储设备才艮据第一复制子信息 将数据复制到第二存储系统,由第二存储设备根据第二复制子信息将数据复制到 第二存储系统。根据本发明实施例的方法, 能够将第一存储系统的同一个复制任 务由第一存储设备和第二存储设备进行分担,从而能够在不增加生产成本的情况 下提升第一存储系统与第二存储系统之间的复制效率。 附图说明
[ 0032] 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将 对实施例描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附 图仅仅是本发明的一些实施例。
[ 0033] 图 1为本发明实施例提供的一种应用场景示意图;
[ 0034] 图 1为本发明实施例提供的一种存储设备的结构示意图;
[ 0035] 图 3为本发明实施例提供的一种数据复制方法的流程图;
[ 0036] 图 3a为本发明实施例提供的一种复制位图的示意图;
[ 0037] 图 3b为本发明实施例提供的一种复制信息确定方法的流程图;
[ 0038] 图 3c为本发明实施例提供的又一种复制信息确定方法的流程图;
[ 0039] 图 4为本发明实施例提供的又一种数据复制方法的信令图;
[ 0040] 图 5为本发明实施例提供的又一种数据复制方法的流程图;
[ 0041 ] 图 6为本发明实施例提供的又一种数据复制方法的信令图;
[ 0042] 图 7为本发明实施例提供的又一种存储设备的结构示意图。 具体实施方式
[ 0043] 为了使本技术领域的人员更好地理解本发明方案, 下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本发明一部分的实施例, 而不是全部的实施例。
[0044] 本发明实施例提供的数据备份方法主要应用于多数据中心的容灾系 统中,本发明实施例所指的多数据中心的容灾系统是指包括不少于 3个数据中心 的容灾系统。为了描述方便,本发明实施例以三数据中心(3 Data Center, 3DC ) 容灾系统为例进行描述。如图 1所示, 图 1为本发明实施例的一种应用场景示意 图。 图 1所示的一种 3DC容灾系统包括至少一个主机 100以及三个数据中心。这 三个数据中心包括至少一个生产站点以及两个灾备站点。 为了描述方便,在本发 明实施例中, 将图 1 所示的三个数据中心分别称为生产站点 11、 一级站点 12 以及二级站点 13, 其中一级站点 12以及二级站点 13通常属于灾备站点。 这三 个数据中心之间可以釆用星形组网方式通过光纤或网线进行连接。这三个数据中 心之间可以通过 IP ( Internet Protocol )或者 FC (Fiber Chanel )进行数据传 输。在本发明实施例中, 主机 100与生产站点 11或一级站点 12之间可以基于小 型计算机系统接口 (SCSI, Small Computer System Interface)协议, 或者基 于互联网小型计算机系统接口 ( iSCSI, Internet Small Computer System Interface)协议进行通信。 在此不做限定。
[0045] 生产站点 11中包括第一存储设备 110,一级站点 12中包括第二存储 设备 120, 并且在二级站点 13 中包括第三存储设备 130。 其中, 第一存储设备 110、 第二存储设备 120以及第三存储设备 130可以是存储阵列、 服务器等当前 技术已知的存储设备。 例如, 第一存储设备 110、 第二存储设备 120以及第三存 储设备 130可以包括存储区域网络 (Storage Area Network, SAN)阵列, 也可以 包括网络附加存储(network attach storage, NAS)阵列。 本发明实施例中不对 各数据中心中的存储设备的具体形式进行限定。 需要说明的是,在本发明实施例 中的方法均是由这些站点中的存储设备来执行的。 为了描述方便,在本发明实施 例中, 如无特别说明, 生产站点 11指的是生产站点 11 中的第一存储设备 110, 一级站点 12指的是一级站点 12中的第二存储设备 120, 二级站点 13指的是二 级站点 13中的第三存储设备 130。
[0046] 在图 1所示的应用场景中, 生产站点 11和一级站点 12的距离比较 近。 通常, 生产站点 11和一级站点 12的距离可以在 100km以内。 例如, 生产站 点 11和一级站点 12可以位于同一个城市的两个不同位置。 二级站点 13与生产 站点 11或一级站点 12的距离较远。通常,二级站点 13与生产站点 11的距离可 以在 1000km以上。例如,二级站点 13可以位于与生产站点 11位于不同的城市。 当然,在本发明实施例中, 并不限定生产站点 11和一级站点 12必须在同一个城 市, 只要在生产站点 11和一级站点 12之间能够实现数据的同步复制即可。
[0047] 主机 100可以包括当前技术已知的任何计算设备, 如服务器、 台式 计算机、应用服务器等等, 在主机 100中安装有操作系统以及其他应用程序, 主 机 100可以有多个。
[0048] 在图 1所示的应用场景中, 二级站点 13主要作为灾备站点, 用于备 份数据。 主机 100不会对二级站点 13进行访问。 生产站点 11和一级站点 12均 可以接收主机 100的访问。在一种情形下, 主机 100可以将数据只写入生产站点
11。 例如, 可以是一个或多个主机 100对生产站点 11进行数据写入操作。 在又 一种情形下, 一个主机 100也可以将不同的数据分别写入生产站点 11和一级站 点 12。在又一种情形下, 不同的主机 100可以分别对生产站点 11和一级站点 12 进行数据写入操作。 例如主机 A对生产站点 11进行数据写入操作, 同时主机 B 也在对一级站点 12进行数据写入操作。 可以理解的是, 在后两种情形下, 由于 生产站点 11和一级站点 12可以同时承担主机 100的业务,因此能够提高数据的 读写效率。在本发明实施例中, 不对生产站点 11和一级站点 12是否同时承担主 机 100的业务进行限制,只要能在生产站点 11和一级站点 12之间能够实现同步 复制, 保证生产站点 11和一级站点 11中的数据实时同步即可。 需要说明的是, 由于在图 1所示的容灾系统中, 生产站点 11和一级站点 12均可以接收主机 100 的访问,并且生产站点 11和一级站点 12通过同步复制方式保持存储的数据的一 致性, 所以生产站点 11和一级站点 12的角色可以互换。
[0049] 在本发明实施例中, 生产站点 11和一级站点 12可以通过同步复制 技术使生产站点 11和一级站点 12 中存储的数据实时保持同步。 例如, 在主机 100将数据写入生产站点 11时, 生产站点 11可以同时将该数据备份到一级站点
12。 当数据均写入生产站点 11和一级站点 12后, 生产站点 11再向主机 100返 回写入成功的响应, 以保持生产站点 11和一级站点 12中的数据同步。 由于二级 站点 13与生产站点 11的距离较远, 因此, 生产站点 11或一级站点 12可以釆用 异步复制技术将数据存储到二级站点 13。 例如, 当主机 100将数据写入生产站 点 11时, 生产站点 11可以直接向主机 100返回一个写入成功的响应。在间隔一 段时间后, 生产站点 11再将主机 100写入的数据发送到二级站点 13进行存储, 以实现数据的进一步备份。 需要说明的是, 在本发明实施例中, 将数据写入生产 站点 11可以是将数据写入生产站点 11的緩存,也可以是指将数据写入生产站点 11的存储器中, 在此不做限定。
[0050] 需要说明的是, 生产站点 11的存储器构成的存储空间可以包括多个 数据卷。其中,本发明实施例所述的数据卷是由物理存储空间映射而成的一段逻 辑存储空间。 例如, 数据卷可以是逻辑单元号 (Log ic Uni t Number, LUN )标识 的逻辑单元, 也可以是文件系统。 可以理解的是, 一级站点 12以及二级站点 13 的存储空间也可以包括多个数据卷。
[0051] 实际应用中, 在 3DC容灾系统中, 通常会在生产站点 11和一级站点 120之间釆用同步复制技术保持数据的同步, 在生产站点 11和二级站点 13之间 建立异步复制或者在一级站点 12与二级站点 13之间建立异步复制。例如,在异 步复制的过程中, 釆用生产站点 11和二级站点 13之间的链路进行异步复制, 而 将一级站点 12与二级站点 13之间的链路作为备份链路。 为了描述方便,在本发 明实施例中,将生产站点 11和二级站点 13之间的链路称为第一链路,将一级站 点 12与二级站点 13之间的链路称为第二链路。 当生产站点 11和二级站点 13 之间的复制进程出现异常时,可以从一级站点 12将数据重新复制到二级站点 13。 其中, 复制进程出现异常包括因生产站点 11发生故障导致复制进程出现异常, 或者由于第一链路出现故障导致复制进程出现异常。可以理解的是,在异步复制 的过程中,也可以釆用一级站点 12和二级站点 13之间的链路进行异步复制, 而 将生产站点 11与二级站点 13之间的链路作为备份链路。
[0052] 然而,由于生产站点 11中的数据变化量很大,在异步复制的过程中, 如果仅釆用第一链路进行异步复制,可能导致第一链路的带宽成为数据备份的过 程的瓶颈。 并且在实际应用中, 如果釆用带宽更大的第一链路进行备份, 又会增 加用户的成本。 为了在不增加成本的情况下提高数据备份的带宽,在本发明实施 例中, 当需要进行异步复制时, 由生产站点 11和一级站点 12 同时向二级站点 13 进行异步复制。 根据这种方式, 在异步复制的过程中, 第一链路以及第二链 路均处于活动 (Act ive )状态。 [0053] 由于本发明实施例主要涉及如何将数据从生成站点 11以及一级站点 12复制到二级站点 13 , 因此为了描述方便, 在下述的实施例中, 将复制过程中 发送数据的第一存储设备 110和第二存储设备 130组成的存储系统称为第一存储 系统 33 ,将接收数据的第三存储设备 130所属的存储系统称为第二存储系统 44。 可以理解的是, 第一存储系统 33 还可以包括其他存储设备, 第二存储系统 44 也还可以包括其他存储设备。
[0054] 图 1中所示的第一存储设备 110、第二存储设备 120和第三存储设备 130的结构可以如图 1所示。 图 1为本发明实施例提供的一种存储设备 20的结 构示意图, 图 2所示的存储设备 20为一种存储阵列。 如图 2所示, 存储设备 20 可以包括控制器 200以及磁盘阵列 214 , 其中, 其中, 这里的磁盘阵列 214用于 提供存储空间, 可以包括独立磁盘冗余阵列 (Redundant Arrays of Independent Di sks , RAID )或者由多个磁盘构成的磁盘拒。 磁盘阵列 214可以有多个, 磁盘 阵列 214由多个磁盘 216构成。磁盘 216用于存储数据。磁盘阵列 216与控制器 200 之间可以通过小型计算机系统接口 (Sma l l Computer Sys tem Interface , SCS I )协议等通信协议进行通信连接, 在此不进行限定。
[0055] 可以理解的是, 磁盘阵列 214仅仅是存储系统中的存储器的一种示 例,在本发明实施例中,还可以通过磁带库等存储器来存储数据。需要说明的是, 磁盘 216也仅仅是构建磁盘阵列 214的存储器的一种示例, 实际应用中,还可以 在包含多个磁盘的机拒之间构建磁盘阵列等实施方式。因此,在本发明实施例中, 磁盘阵列 214还可以由固态硬盘(So l id S ta te Dr ives , SSD )、 多个磁盘构成的 机拒或服务器等由非易失性存储介质构成的存储器组成, 在此不做限定。
[0056] 控制器 200 是存储设备 20 的 "大脑", 主要包括处理器 (proces sor) 202、緩存( cache ) 204、 内存(memory) 206、通信总线(筒称总线) 210以及通信接口(Communica t ion Interface) 212。 处理器 202、 緩存 204、 内 存 206以及通信接口 212通过通信总线 210完成相互间的通信。 需要说明的是, 在本发明实施例中, 存储设备 20中的控制器 200可以是一个, 也可以是多个。 可以理解的是, 当存储设备 20中包括至少两个控制器 200时, 可以提高存储设 备 20的稳定性。 [0057] 通信接口 212, 用于与主机 100、 磁盘 216或其他存储设备通信。
[0058] 内存 206, 用于存放程序 208。 内存 206可能包含高速 RAM存储器, 也可能还包括非易失性存储器(non-volatile memory), 例如至少一个磁盘存储 器。可以理解的是,内存 206可以为随机存储器 (Random-Access Memory, RAM)、 磁碟、 硬盘、 光盘、 固态硬盘 (Solid State Disk, SSD)或者非易失性存储器 等各种可以存储程序代码的非短暂性的 (non-transitory)机器可读介质。
[0059] 程序 208可以包括程序代码, 所述程序代码包括计算机操作指令。
[0060] 緩存 (Cache) 204是存在于控制器与硬盘之间的存储器, 容量较硬 盘小但速度比硬盘快。緩存 204用于緩存从主机 100或其他存储设备接收的数据 以及緩存从磁盘 216读取的数据, 以提高阵列的性能和可靠性。緩存 204可以是 RAM, ROM, 闪存(Flash memory )或固态硬盘 (Solid State Disk, SSD)等各 种可以存储数据的非短暂性的(non-transitory)机器可读介质,在此不做限定。
[0061] 处理器 202可以是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ), 或者是被配置成实施本发明实 施例的一个或多个集成电路。 在处理器 202中安装有操作系统和其他软件程序, 不同的软件程序可以视作一个处理模块, 具有不同的功能。 例如, 处理对磁盘 216的输入 /输出(Input/output, I/O)请求,对磁盘 216中的数据进行其他处理, 或者修改存储设备 20中保存的元数据等等。从而使控制器 200可以实现 10操作、 快照、 镜像、 复制等各种的数据管理功能。 在本发明实施例中, 处理器 202用于 执行程序 208, 具体可以执行下述方法实施例中的相关步骤。
[0062] 可以理解的是, 在本发明实施例中, 第一存储设备 110、 第二存储设 备 120以及第三存储设备 130的硬件结构可能相似,但是由于在数据复制过程中 第一存储设备 110、 第二存储设备 120以及第三存储设备 130承担的职能不同, 因此第一存储设备 110、第二存储设备 120以及第三存储设备 130中的处理器 202 执行的程序 208会有所不同。下面将对本发明实施例中各个存储设备具体如何实 现数据复制的方法进行详细介绍。
[0063] 图 3是本发明实施例提供的一种数据复制方法的流程图。 该方法可 以应用于图 1所示的应用场景中。图 3所示的方法将从发送数据的第一存储系统 33侧进行描述。 其中, 第一存储系统 33可以包括图 1中所示的生产站点 11中 的第一存储设备 110以及一级站点 12中的第二存储设备 120。 其中, 第一存储 设备 110和第二存储设备 120中存储的数据相同。接收复制数据的第二存储系统 44可以包括第三存储设备 130。 并且在本发明实施例中的第一存储设备 110、 第 二存储设备 120的硬件结构均可以如图 2所示。具体的, 图 3所述的方法可以由 第一存储设备 110、 第二存储设备 120中的处理器 202共同执行。 下面将结合图 1和图 2 , 对图 3中所示的数据复制方法进行描述。 如图 3所示, 该方法可以包 括下述步骤。
[0064] 在步骤 300中, 第一存储系统 33根据存储的数据确定复制信息, 所 述复制信息用于指示第一存储系统 33在当前复制任务中需要复制到第二存储系 统 44的数据。 其中, 复制任务(也可以被称为异步远程复制任务)是指第一存 储系统 33将一段时间内一个数据卷接收到的写数据命令携带的数据复制到第二 存储系统 44的一个数据卷中。 实际应用中, 第一存储系统 33可以将这段时间内 一个数据卷中的所有的数据都发送给第二存储系统 44 , 也可以将这段时间内接 收到相对于上一次复制任务的差异数据 (也称增量数据)发送给第二存储系统 44 , 在此不做限定。
[0065] 需要说明的是, 在一种情形下, 由于第一存储设备 110或第二存储 设备 120中可以存在多个数据卷, 因此, 可能同时存在多个复制任务。 在本发明 实施例中, 可以釆用复制任务标识来将不同的复制任务进行区分, 其中, 复制任 务标识可以根据在当前复制过程中源数据卷的标识和目标数据卷的标识来确定。 例如, 复制任务标识可以为: A LUN001 B LUN002 , 用于表示该复制任务是将数 据从存储设备 A中标识为 001的 LUN复制到存储设备 B中标识为 002的 LUN中。 此外, 复制任务标识还可以釆用其他标识来表示, 在此不做限定。 只要能让各存 储设备识别出当前复制任务的源数据卷和目标数据卷即可。
[0066] 可以理解的是, 在本发明实施例中, 虽然第一存储设备 110与第二 存储设备 120 通过同步复制的方式保持存储的数据的一致性, 但第一存储设备 110与第二存储设备 120中存储相同数据的数据卷的标识并不一定相同。 例如, 在第一存储设备 110中存储数据 A的 LUN ID可以为 LUN 1# ,在第二存储设备 120 中存储数据 A的 LUN 的 ID可以为 LUN 2#。 在实际应用中, 可以预先配置第一存 储设备 110、 第二存储设备 120以及第三存储设备 130中各个数据卷之间的复制 关系, 使得第一存储设备 110、 第二存储设备 120和第三存储设备 130在当前复 制任务中均可以根据该复制关系确定相应的源数据卷和目标数据卷。换一种表达 方式, 在具有相同复制关系的各数据卷之间可以实现数据备份。
[0067] 在设置的复制关系中, 可以包括复制关系标识, 也可以包括第一存 储设备 110、 第二存储设备 120以及第三存储设备 130的 LUN的标识。 例如, 复 制关系标识可以为: A LUN001 B LUN002 C LUN003 , 用于表示存储设备 A中标识 为 001的 LUN、 存储设备 B中标识为 002的 LUN以及存储设备 C中标识为 003 的 LUN之间存在复制关系。 当然, 复制关系标识也可以用其他的标识来表示, 在此不做限定,只要能让各存储设备识别出当前复制任务中涉及的复制关系即可。 在实际应用中, 可以预先在第一存储设备 110、 第二存储设备 120以及第三存储 设备 130中均保存有这个复制关系。
[0068] 在本发明实施例中, 复制任务是根据预设的复制关系启动的不同存 储设备中的 LUN之间的复制任务, 并且在某一时刻,具有相同复制关系的数据卷 之间只可能存在一个复制任务。本发明实施例主要涉及在一个复制任务中各个设 备之间的交互过程, 因此在本发明实施例中,可以用复制关系标识来表示一个复 制任务。 换一种表达方式, 在本发明实施例中, 复制任务标识可以与复制关系标 识相同。 当然, 实际应用中, 若为了区分具有相同复制关系的数据卷之间在不同 时间段存在的多个复制任务, 复制任务标识也可以与复制关系标识不同, 例如, 复制任务标识可以在复制关系标识的基础上再增加时间标识,用于表示该复制任 务是在具有相同复制关系的数据卷之间在不同时刻启动的复制任务。
[0069] 可以理解的是, 在一种情形下, 若第一存储设备 110、 第二存储设备 120及第三存储设备 130的存储空间中均只存有一个数据卷时, 当前复制任务就 是针对各存储设备中唯一的一个数据卷在当前时刻启动的复制任务, 因此,也可 以不用预设各存储设备中各 LUN之间的复制关系。
[0070] 在本发明实施例中, 复制信息可以根据第一存储设备 110或第二存 储设备 120接收的差异数据信息来确定。差异数据信息是指存储设备在当前复制 任务的前一个复制任务开始之后、并且在当前复制任务开始之前写入存储设备的 数据的信息。 实际应用中, 差异数据信息可以用差异位图的方式来记录。 以第一 存储设备 100为例, 第一存储设备 110可以为每一个数据卷(例如 LUN )创建一 个差异位图, 用于记录该数据卷中的写入的数据的信息。 图 3a为本发明实施例 提供的一种差异位图的示例。 如图 3a所示, 差异位图中的每一个格子对应 LUN 中的一段地址。 在本发明实施例中, 以标识位 " 来表示有数据写入。 由于主 机 100发送的写数据命令中会携带要写入的数据以及所述数据的地址, 因此, 当 第一存储设备 100接收到主机 100发送的写数据命令后,可以根据该写数据命令 中携带的数据的地址将差异位图中对应的格子中的标识位置为 "1"。通过这种差 异位图的记录方式, 能够记录写入该 LUN中的被改变的数据的信息。可以理解的 是, 在同一个复制周期中, 如果同一个地址的数据被连续改变, 则在记录时, 可 以将该数据地址对应的格子中的标识位保持为 "1"。 可以理解的是, 在另一种情 形下, 还可以以标识位 " 0" 来表示有数据写入。 在又一种情形下, 还可以 " 表示有数据写入, 以 " 0" 表示没有数据写入。 此外, 还可以用其他标识位表示 是否有数据写入, 在此不对标识位的具体形式做限定。 在本发明实施例中, 差异 位图可以保存在第一存储设备 110或第二存储设备 120的緩存中,也可以保存在 第一存储设备 110或第二存储设备 120的存储器中。
[0071] 可以理解的是, 差异数据信息除了可以以差异位图的形式来记录之 外, 还可以以 "树" 形结构来记录。 例如可以釆用差异二叉树、 差异 B+树以及 其他树来记录差异数据信息。 在釆用 "树"形结构来记录差异数据信息时, 可以 使每一个叶子节点对应 LUN中的一段地址。 当有数据写入时,将该叶子节点的标 识位置为相应的标识, 用于表示该叶子节点对应的地址有数据写入。在又一种情 形下, 差异数据信息还可以以链表或表项的结构来记录,在釆用链表形式来表示 时, 该表中每一个表项对应 LUN中的一段地址。 此外, 差异数据信息还可以以日 志等形式来记录, 在此不做限定。 与差异位图类似, 上述以树形结构、 链表结构 或日志等形式记录的差异数据信息可以保存在第一存储设备 110 或第二存储设 备 120的緩存中,也可以保存在第一存储设备 110或第二存储设备 120的存储器 中。
[0072] 可以理解的是, 当差异数据信息以差异位图的形式来记录时, 复制 信息也以复制位图的形式来表示。 当差异数据信息以差异树的形式来记录时, 复 制信息也可以以复制树得形式来表示。 以此类推, 在此不再赘述。 [0073] 在本发明实施例中,为了描述方便,下面以差异位图为例进行描述, 并且以标识位为 " 来表示有数据写入。 当启动复制任务时, 一种情形下, 第 一存储设备 110 可以将启动复制任务时的差异位图转换为复制位图以确定复制 信息,并重新生成空的差异位图来记录该 LUN中在当前复制任务启动之后在第一 存储设备 110中写入的数据。其中, 复制位图用于表示在当前复制任务中需要复 制到第三存储设备 130中的数据。根据这种方式, 在复制时, 可以将复制位图中 为 "1"的格子对应的地址的数据复制到第三存储设备 130中。在又一种情形下, 可以在第一存储设备 110中设置一个差异位图和一个复制位图,用差异位图来记 录第一存储设备在当前复制任务的前一个复制任务开始之后、并且在当前复制任 务开始之前写入的数据的信息。 当启动当前复制任务时,可以将该差异位图转换 为当前复制任务中的复制位图,并将前一个复制任务中使用完的复制位图转换为 新的差异位图, 用以记录当前复制任务开始之后写入的数据的信息。 需要说明的 是, 当使用前一个复制任务中使用完的复制位图转换为新的差异位图时, 需要清 空前一个复制任务中的复制位图中的标识位后再作为新的差异位图。换一种表达 方式, 在这种情形下, 可以将差异位图和复制位图更替使用, 分别用以记录差异 数据信息以及待复制到第三存储设备 130的数据的信息。在此不对如何具体根据 差异数据信息确定复制信息的形式^故限定。
[0074] 如前所述, 在图 1所示的 3DC容灾系统中, 由于第一存储系统 33中 的第一存储设备 110和第二存储设备 120通过同步复制技术保持存储的数据的一 致性。 当确定需要启动第一存储系统 33到第二存储系统 44的复制任务,换一种 表达方式, 当确定需要启动到第三存储设备 130 的异步复制时, 第一存储系统 33需要确定复制信息, 用于指示在当前复制任务中第一存储系统 33需要复制到 第二存储系统 44的数据。在一种情形下, 第一存储系统 33需要确定复制信息具 体可以由第一存储设备 110与第二存储设备 120可以分别根据存储的数据确定复 制信息。 由于第一存储设备 110与第二存储设备 120中存储的数据相同, 因此第 一存储设备 110根据存储的数据确定的复制信息与第二存储设备 120根据存储的 数据确定的复制信息相同。 具体的, 在本发明实施例中, 以当前复制任务是在第 一存储设备 110中的第一源数据卷、第二存储设备 120中的第二源数据卷以及第 三存储设备 130中的目标数据卷之间启动的复制任务为例进行描述。其中, 第一 源数据卷与第二源数据卷中存储的数据相同。 图 3b为本发明实施例提供的一种 复制信息确定方法的流程图。 如图 3b所示, 该方法可以包括下述步骤。
[0075] 在步骤 310中, 第一存储设备 110向第二存储设备 120发送复制任 务启动消息。其中, 所述复制任务启动消息中携带有第一存储设备 110中的第一 源数据卷的标识和第三存储设备 130中的目标数据卷的标识。该复制任务启动消 息用于通知第二存储设备 120当前复制任务为第一存储设备 110中的第一源数据 卷与第三存储设备 130中的目标数据卷之间的复制任务。
[0076] 其中复制任务启动消息可以釆用预定义的消息格式进行。 例如, 在 复制任务启动消息的头部可以包含消息类型(例如 opCode )字段、源设备 ID (例 如, s rcAppId) 字段以及目标设备 ID (例如, ds tAppId ) 字段。 其中, 消息类 型字段用于表示该消息的类型为复制任务启动信息。 源设备 ID字段用于标识该 复制进度消息的发起者, 目标设备 ID字段用于标识该复制任务启动消息的接收 者。 源设备 ID以及目标设备 ID字段均可以用 IP地址来标识。 复制任务启动消 息的内容部分(例如,复制任务启动消息中的 da t a字段)的格式可以如下所示:
Figure imgf000022_0001
[0077] 其中: LUN ID: 可以位于第 0-4 个字节, 用于表示当前复制任务中 源数据卷的标识, 该 LUN标识为唯一标识;
[0078] Rep l ica t ionObject LUN id: 可以位于第 4-8 个字节, 用于表示当 前复制任务中接收数据的目标设备中目标数据卷的标识,例如可以是目标设备的 LUN ID。 换一种表达方式, 该字段用于表示当前复制任务指向的目标存储设备中 的目标数据卷。
[0079] 例如, 在本步骤中, 第一存储设备 110发送给第三存储设备 130的 复制任务启动消息中, "LUN ID" 字段可以为第一存储设备 110中存储有待复制 数据的第一源数据卷的 ID, 例如 LUN001。 "Rep l ica t ionObject LUN id" 字段 可以为第三存储设备 130中的目标数据卷的 ID, 例如 LUN003。 用于说明当前复 制任务是第一存储设备 110中标识为 001的 LUN与第三存储设备 130中标识为 003的 LUN之间的复制任务。 在又一种情形下, "LUN ID" 字段也可以为第二存 储设备 120 中的第二源数据卷的 ID, 在这种情况下, 可以由第一存储设备 110 预先根据预设的复制关系以及第一源数据卷的标识和目标数据卷的标识确定第 二源数据卷的标识。
[0080] 在步骤 312 中, 第二存储设备 120根据所述第一源数据卷的标识、 所述目标数据卷的标识以及预设的复制关系确定所述第二存储设备中的所述第 二源数据卷。 其中, 所述复制关系中包含有所述第一源数据卷、 所述第二源数据 卷与所述目标数据卷的对应关系。 如前所述, 在本发明实施例中, 在第一存储设 备 110、 第二存储设备 120以及第三存储设备 130中均预设有各数据卷之间的复 制关系。 在第二存储设备 120接收到第一存储设备 110的复制任务启动消息后, 第二存储设备 120 可以根据预设的复制关系以及复制任务启动消息中携带的第 一源数据卷的标识、目标数据卷的标识确定第二存储设备 120中的第二源数据卷。
[0081] 在步骤 314 中, 第二存储设备 120根据确定的所述第二源数据卷中 存储的数据确定所述复制信息。在步骤 316中, 第一存储设备 110根据确定的所 述第一源数据卷中存储的数据确定所述复制信息。例如, 第二存储设备 120可以 根据第二源数据卷的差异位图生成复制位图,第一存储设备 110可以根据第一源 数据卷的差异位图生成复核位图。第一存储设备 110和第二存储设备 120具体如 何根据数据卷中存储的数据确定复制信息可以参见前面的描述, 在此不再赘述。 由于第二源数据卷与第一源数据卷中存储的数据相同, 因此, 第二存储设备 120 根据第二源数据卷确定的复制信息与第一源数据卷确定的复制信息相同,且该复 制信息即为第一存储系统 33在当前复制任务中的复制信息, 用于指示第一存储 系统 33在当前复制任务中需要复制到第二存储系统 44的数据。
[0082] 在另一种情形下, 第一存储系统 33确定复制信息也可以具体由第一 存储系统 33中的第一存储设备 110根据第一存储设备 110中存储的数据确定复 制信息, 再将确定后的复制信息发送给第二存储设备 120。 通过这种方式也能够 使第一存储设备 110和第二存储设备 120均具有相同的复制信息。具体的,可以 如图 3c所示, 图 3b为本发明实施例提供的又一种复制信息确定方法的流程图。 图 3c所示的复制信息的确定方法仍然以当前复制任务是在第一存储设备 110中 的第一源数据卷、 第二存储设备 120 中的第二源数据卷以及第三存储设备 130 中的目标数据卷之间启动的复制任务为例进行描述。其中, 第一源数据卷与第二 源数据卷中存储的数据相同。 该方法可以包括下述步骤。
[0083] 在步骤 320中, 第一存储设备 110根据第一源数据卷中存储的数据 确定复制信息。 具体的, 第一存储设备 110在需要启动复制任务时, 可以根据第 一源数据卷的差异位图确定复制信息,该复制信息用于指示当前复制任务中需要 复制到第二存储系统 44的数据。 第一存储设备 110确定复制信息的具体方式可 以参见前面的描述, 在此不再赘述。
[0084] 在步骤 322中, 第一存储设备 110向所述第二存储设备 120发送复 制任务启动消息。其中,该复制任务启动消息中可以携带所述第一源数据卷的标 识、 目标数据卷的标识以及所述复制信息。该复制任务启动消息用于通知第二存 储设备 120当前复制任务为第一存储设备 110中的第一源数据卷与第三存储设备 130中的目标数据卷之间的复制任务。 由于在步骤 320中, 第一存储设备 110已 经根据第一源数据卷确定了当前复制任务的复制信息, 因此, 第一存储设备 110 可以在通知第二存储设备 120启动复制任务时,将该复制信息同时发送给第二存 储设备 120 ,从而第二存储设备 120可以不用自己确定复制信息。可以理解的是, 在第二存储设备 120 没有记录差异数据的情形下, 也可以由第一存储设备 110 将当前复制任务的复制信息发送给第二存储设备 120。 可以理解的是, 实际应用 中, 复制任务启动消息中除了携带复制信息外,还可以携带第一源数据卷的标识 以及目标数据卷的标识,用于指示当前复制任务为第一源数据卷与目标数据卷之 间的复制。 关于复制任务启动消息的具体描述可以参见前面的描述的类似,具体 还可以在前述复制任务启动消息的数据部分的其他字段携带复制信息。例如,可 以在第 8个字节之后的字段中携带复制信息(例如,待复制的数据的地址信息), 在此不再赘述。
[0085] 在步骤 324 中, 第二存储设备 120根据所述第一源数据卷的标识、 目标数据卷的标识以及预设的复制关系确定与所述复制信息对应的第二源数据 卷。 其中, 所述复制关系中包含有所述第一源数据卷、 所述目标数据卷与所述第 二源数据卷的对应关系。 具体的, 第二存储设备 120接收到第一存储设备 110 的复制任务启动消息之后,可以根据预设的复制关系以及复制任务启动消息中携 带的第一源数据卷的标识、目标数据卷的标识确定在第二存储设备 120中与第一 源数据卷存储有相同数据的第二源数据卷,从而能够确定与该复制信息对应的第 二源数据卷。
[0086] 图 3b和图 3c是本发明实施例提供的第一存储系统 33确定复制信息 的两种实现方式, 实际应用中,还可以才艮据具体网络的部署釆用其他的方式来确 定第一存储系统 33 在当前复制任务中的复制信息, 在此不对第一存储系统 33 确定复制信息的具体方式进行限定。 需要说明的是, 本发明实施例中, 由于复制 任务是在数据卷之间执行的复制任务, 因此,本发明实施例中的复制信息均是指 存储设备中某个数据卷的复制信息。通常,在一个复制任务中一个数据卷对应一 个复制信息。
[0087] 在步骤 302中, 第一存储系统 33根据所述复制信息确定第一复制子 信息及第二复制子信息。其中, 所述第一复制子信息用以指示需要由第一存储设 备 110复制到第三存储设备 130的数据,所述第二复制子信息用于指示需要由第 二存储设备 120复制到第三存储设备 130的数据。 需要说明的是,在确定第一复 制子信息和第二复制子信息时,需要确定第一复制子信息和第二复制子信息指示 的数据范围, 以避免第一存储设备 110和第二存储设备 120复制的数据重复。
[0088] 实际应用中, 在一种情形下, 第一复制子信息和第二复制子信息可 以分别由第一存储系统 33中的第一存储设备 110和第二存储设备 120分别进行 确定。具体的, 第一存储设备 110可以才艮据在步骤 300中确定的复制信息以及预 设的复制策略确定第一复制子信息,第二存储设备 120根据在步骤 300中确定的 复制信息以及预设的复制策略确定第二复制信息。 实际应用中,可以在第一存储 设备 110中预先设定复制策略,其中, 复制策略可以包括复制比例以及复制范围 等。 例如, 在一种情形下, 设定的策略可以为: 第一存储设备 110从复制位图的 头部开始向尾部方向复制,第二存储设备 120从复制位图的尾部开始向头部方向 复制, 当复制位置有交叉时结束复制。 在又一种情形下, 设定的策略可以为: 第 一存储设备 110从复制位图的头部开始向尾部方向复制 60%的差异数据, 第二存 储设备从复制位图的尾部开始向头部方向复制 40%的差异数据。 在又一种情形下, 设定的策略还可以为:第一存储设备 110以及第二存储设备 120从复制位图的中 部开始, 分别向两头复制差异数据。 此外设定的策略还可以包括第一存储设备 110需要复制的数据的地址范围以及第二存储设备 120需要复制的数据的地址范 围等等。 实际应用中可以才艮据具体情况设定复制策略,在此不对具体的复制策略 进行限定。
[0089] 需要说明的是, 由于本发明实施例中, 启动异步复制时, 需要将当 前复制任务由第一存储设备 110与第二存储设备 120进行分担,因此需要在第一 存储设备 110与第二存储设备 120中设置相同的复制策略,以避免第一存储设备 110和第二存储设备 120将相同的数据复制给第三存储设备 130。
[0090] 在又一种情形下, 为了使第一存储设备 110与第二存储设备 120在 复制过程中实现负载均衡,第一存储设备 110可以根据所述复制信息与第二存储 设备 120协商确定第一复制子信息和第二复制子信息。 具体的, 如图 1所示, 在 协商过程, 第一存储设备 110可以接收第二存储设备 120的协商请求,该协商请 求中至少包含第二链路的带宽信息。第一存储设备 110可以根据第二链路的带宽 信息确定第一复制子信息以及第二复制子信息。例如,若第二链路的带宽大于第 一链路的带宽,第一存储设备 110可以确定第一复制子信息指示的数据量小于第 二复制子信息指示的数据量,例如第一复制子信息指示的数据为需要复制的总数 据量 30%, 第二复制子信息指示的数据为需要复制的总数据量 70%。 在第一存储 设备 110确定第一复制子信息和第二复制子信息后,第一存储设备 110可以将确 定后的第二复制子信息发送给第二存储设备 120。 第二复制子信息可以以协商响 应消息的形式发送给第二存储设备 120 , 在协商响应消息中需要携带第二复制子 信息所指示的数据的地址范围。
[0091] 需要说明的是, 本发明实施例中, 第一复制子信息和第二复制子信 息均属于复制信息的一部分。 或者, 换一种表达方式, 第一复制子信息指示的数 据和第二复制子信息指示的数据均是复制信息指示的数据一部分。可以理解的是, 在第一存储系统 33只包括两个存储设备的情况下, 复制信息可以由第一复制子 信息和第二复制子信息组成。在本发明实施例中, 当复制信息以复制位图的方式 表示时,第一复制子信息或第二复制子信息并不需要另外以单独的复制位图来表 示,可以在复制位图的基础上标识出第一复制子信息或第二复制子信息的范围即 可。在本发明实施例中, 并不对第一复制子信息和第二复制子信息的具体形式进 行限定,只要第一复制子信息和第二复制子信息能够标识需要复制的数据的范围 即可。
[0092] 可以理解的是, 本发明实施例只是以第一存储系统 33中包括两个存 储设备进行描述。 在实际应用中, 若第一存储系统 33中包含 N个存储设备, 则 在启动异步复制时,可以将当前复制任务的复制信息分为 N个部分。换一种表达 方式,可以才艮据当前复制任务的复制信息确定 N个复制子信息,分别由 N个设备 分别根据 N个复制子信息同时向第三设备进行复制。其中,Ν为大于 1的自然数。 当复制信息以复制位图的方式表示时,第一复制子信息和第二复制子信息也可以 以复制位图的方式来表示。
[0093] 在步骤 304 中, 第一存储设备 110才艮据所述第一复制子信息将所述 需要由所述第一存储设备 110复制到第三存储设备 130的数据复制到第三存储设 备 130。 例如, 当复制信息以复制位图方式表示时, 第一存储设备 110可以根据 第一复制子信息将复制位图标识位为 "1" 的位置对应的第一源数据卷中的数据 复制到第三存储设备 130的目标数据卷中。具体的, 第一存储设备 110可以通过 写数据命令或复制命令将需要由第一存储设备 110 中的第一源数据卷中的复制 到第三存储设备 130的数据发送到第三存储设备 130的目标数据卷中。
[0094] 如图 1所示, 由于第一存储设备 110和第三存储设备 130之间是釆 用异步复制技术实现数据备份,因此第三存储设备 130中存储的数据会比第三存 储设备 110 中存储的数据有一定时间的延迟。 通常情况下, 第一存储设备 110 在一段时间内会接收主机 100的多个写数据命令,并且第一存储设备 110在向第 三存储设备 130进行异步远程复制时,主机 100仍然可能发送写数据命令给第一 存储设备 110。 因此在执行当前复制任务时, 有必要将第一存储设备 110在当前 复制任务中发送给第三存储设备 130的数据与其接收的新数据区分开。
[0095] 在本发明实施例中, 可以利用快照技术将复制过程中第一存储设备 110发送给第三存储设备 130的数据与在复制过程中第一存储设备 110接收的新 数据进行区分。快照是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应 数据在某个时间点(拷贝开始的时间点)的映像。 快照可以是其所表示的数据的 一个副本, 也可以是数据的一个复制品。 在本发明实施例中, 在启动复制时, 可 以通过对数据卷创建一个在创建时刻的状态视图,通过这个视图只可以看到数据 卷在创建时刻的数据, 在此时间点之后数据卷的修改(有新的数据写入), 不会 反映在快照视图中。 利用这个快照视图, 就可以做数据的复制。 对于第一存储设 备 110而言, 由于快照数据是 "静止的,,, 因此第一存储设备 110可以在将各个 时间点的数据创建快照之后 , 再将快照数据复制到第三存储设备 130。 通过这种 方式既可以完成远程数据复制,也不会影响第一存储设备 110在复制期间继续接 收主机 100发送的写数据命令。 因此, 第一存储设备 110可以在启动复制的时刻 对第一源数据卷中的数据进行快照处理,以形成该时刻的第一源数据卷的数据副 本, 将所述数据副本发送给第三存储设备 130的目标数据卷。 需要说明的是, 所 述数据副本即为在当前复制任务中待复制给第三存储设备 130的数据。
[0096] 可选的, 本发明实施例还可以利用给第一存储设备 110接收到的每 个写数据命令增加时间片编号的方式来解决上述问题。 例如, 第一存储设备 110 中可以包含一个当前时间片编号管理器,所述当前时间片编号管理器中保存有当 前时间片编号。 当前时间片编号可以用数值表示, 例如 0、 1、 2。 当前时间片编 号也可以用字母表示, 例如 a、 b、 c。 在此不做限定。 当第一存储设备 110接收 到写数据命令时,在写数据命令携带的数据和数据的地址中增加由当前时间片编 号赋值的第一编号。 当一个异步远程复制任务触发时,将第一编号对应的数据作 为在当前复制任务中的待复制给第三存储设备 130的数据,并且将第一编号对应 的数据和数据的地址发送给第三存储设备 130。 同时修改所述当前时间片编号, 以标识后续的写数据命令。 此外, 在本发明实施例中, 还可以釆用其他方式将第 一存储设备 110在当前复制任务中需要发送给第三存储设备 130的数据与其接收 的新数据进行区分。 在此不做限定。
[0097] 在本发明实施例中, 以第一存储设备 110 的存储空间中包含的数据 卷为 LUN 为例。 在启动复制任务时, 例如, 在确定复制信息时, 第一存储设备 110可以通过快照的方式创建在当前时刻的第一源 LUN的副本。则在步骤 306中, 第一存储设备 110可以将创建的第一源 LUN的副本中与第一复制子信息中标识位 为 "1" 的格子对应的地址的数据复制到第三存储设备 130的目的 LUN中。 本领 域人员可以理解, 通过这种创建 LUN副本的方式, 即使在当前复制任务中, 第一 存储设备 110在第一源 LUN的相同地址又写入了新的数据,也不会影响当前复制 任务中要复制的数据。
[0098] 在本步骤中, 以第一存储设备 110通过写数据命令将数据复制到第 三存储设备 130为例。当第一存储设备 110根据创建的第一源 LUN的副本以及所 述第一复制子信息将数据复制到第三存储设备 130的目标 LUN中时,在第一存储 设备 110发送给第三存储设备 130的写数据命令中,需要包含当前复制任务的目 标 LUN的标识、待写入的数据以及待写入的数据的地址。 其中, 目标 LUN的标识 可以是 LUN ID。 待写入的数据的地址可以是数据的 LBA地址, 用于表示所述数 据的目的地址。第三存储设备 130可以根据所述目标 LUN的标识以及待写入的数 据的 LBA地址将写数据命令中携带的数据写入第三存储设备 130的目标 LUN中。 可以理解的是, 在第一存储设备 110发送给第三存储设备 130的写数据命令中, 还可以携带所述待写入数据的第一源 LUN的 ID, 用于标识该数据是从第一存储 设备 110的第一源 LUN中发送的数据。
[0099] 在步骤 306 中, 第二存储设备 120才艮据所述第二复制子信息将所述 需要由所述第二存储设备 120复制到第三存储设备 130的数据复制到第三存储设 备 130。 由于步骤 306与步骤 304类似, 因此可以参见步骤 304的相关描述。 需 要说明的是, 在本发明实施例中, 上述步骤 304和步骤 306没有先后顺序之分, 第一存储设备 110的复制过程和第二存储设备 120的复制过程可以同时进行。
[00100] 在本发明实施例中, 由于第一存储设备 110和第二存储设备 120通 过同步复制方式保持存储的数据的一致性, 并且, 当前复制任务的复制信息是根 据一个数据卷中写入的差异数据信息来确定的。例如, 当前复制任务的复制信息 是根据第一存储设备 110中的第一源数据卷中写入的差异数据信息来确定的。由 于第一存储设备 110中的第一源数据卷中存储的数据与第二存储设备 120中的第 二源数据卷存储的数据相同,第一复制子信息和第二复制子信息又是根据同一个 复制信息确定的, 因此,在第一源数据卷中也存储有与第二复制子信息指示的数 据相同的数据,在第二源数据卷中也存储有与第一复制子信息指示的数据相同的 数据。
[00101】 在图 3所示的方法中, 由于第一存储系统 33中的第一存储设备 110 和第二存储设备 120中存储的数据相同, 因此, 第一存储设备 110和第二存储设 备 120可以有相同的复制信息。 在启动异步复制过程中, 第一存储系统 33通过 复制信息确定第一复制子信息和第二复制子信息,并由第一存储设备 110才艮据第 一复制子信息将数据复制到第三存储设备 130 , 由第二存储设备 120根据第二复 制子信息将数据复制到第三存储设备 130。 根据本发明实施例的方法, 能够将第 一存储系统 33的同一个复制任务由第一存储系统 33中的第一存储设备 110和第 二存储设备 120 进行分担。 与现有技术中只使用一条链路进行复制相比, 图 3 所示的方法能够在不增加生产成本的情况下提升第一存储系统 33与第二存储系 统 44之间的复制链路的带宽, 提高了复制效率。 例如, 若图 1所示的第一链路 和第二链路的带宽均为 10M, 则釆用本发明实施例的方法,在将第一存储系统 33 中的一个 LUN中的数据复制到第三存储设备 1 30时,复制链路带宽可以达到 20M。 而釆用现有技术中只使用一条链路进行复制的方法, 复制链路的带宽只有 1 0M。
[00102] 此外, 与现有技术中只使用第一存储系统 33中的一个存储设备进行 复制相比, 釆用图 3所示的实施例的方法,在启动远程异步复制时是由第一存储 系统 33中的多个存储设备同时进行,从而可以减少对第一存储系统 33中单个存 储设备资源的消耗。
[00103] 图 4为本发明实施例提供的一种数据复制方法的信令图。 图 4所示 方法将从第一存储系统 33以及第二存储系统 44的角度对图 3所示的方法进一步 进行详细描述。 可以理解的是, 图 4所示方法中的第一存储设备 110、 第二存储 设备 120以及第三存储设备 1 30的具体结构仍然可以如图 1所示。 具体的, 图 4 所示的方法可以分别由第一存储设备 110、 第二存储设备 120以及第三存储设备 1 30中的处理器来执行。 为了描述方便, 本发明实施例中将复制信息以复制位图 来表示、 差异数据信息以差异位图来表示。 在本发明实施例中, 还是以当前复制 任务为第一存储设备 110中的第一源数据卷、第二存储设备 120中的第二源数据 卷以及第三存储设备 1 30中的目标数据卷之间的复制任务为例进行描述。下面将 结合图 1和图 3对图 4所示的方法进行描述。 具体如图 4所示, 该方法包括:
[00104] 在步骤 402 中, 第一存储设备 110确定启动异步复制任务。 实际应 用中,在第一存储设备 110中可以根据设定的定时器来确定是否启动异步复制任 务, 当定时器到达设定的异步复制时间时, 确定启动异步复制任务。 可以理解的 是, 第一存储设备 110通过设定定时器来启动异步复制只是一种实现方式.实际 应用中,第一存储设备 110还可以根据接收的数据量来确定是否启动异步复制任 务, 当第一存储设备 110接收的数据量较少时, 第一存储设备 110可以确定启动 异步复制任务。
[00105] 在步骤 404中,第一存储设备 110停止接收主机 100的写数据命令, 并处理已经接收的写数据命令。 实际应用中, 主机 100向第一存储设备 110写入 数据或者主机 100从第一存储设备 110读取数据是通过向第一存储设备 110发送 输入输出 (Input /output , I /O )命令来实现的。 在本发明实施例中, 当第一存 储设备 110确定启动向第三存储设备的异步复制流程时,第一存储设备可以停止 接收主机的写数据命令,以便第一存储设备 110可以根据停止接收主机 100的写 数据命令之前已接收的数据确定当前复制任务中需要从第一源数据卷复制的数 据。
[00106] 在本步骤中, 在第一存储设备 110和第二存储设备 120通过同步复 制保持数据一致性的情况下,处理已经接收的写数据命令包括根据接收的写数据 命令将数据写入第一存储设备 110以及第二存储设备 120。 具体的, 当第一存储 设备 110接收到主机 100发送的写数据命令后,可以先緩存该写数据命令中携带 的数据, 再根据设定的写入策略将緩存中的数据写入数据卷中。 与此同时, 第一 存储设备 110中的数据同步引擎获知了这个变化后,可以立即将变化的数据块从 緩存中直接通过 SAN交换机发送到第二存储设备 120的緩存中。 第二存储设备 120接收到该数据块后, 会向第一存储设备 110发送一个写入成功的响应。 第一 存储设备 110在收到第二存储设备 120的响应后,会向主机 100返回一个写入成 功的响应, 以告知主机 100该写数据命令中的数据被处理完成。 通过这种方式, 可以使主机 100写入第一存储设备 110的第一源数据卷的数据被同步写入第二存 储设备 120的第二源数据卷中。 同样的, 主机 100写入第二存储设备 120的第二 源数据卷中的数据也会釆用类似的方式被同步写入第一存储设备 110 的第一源 数据卷中。第一存储设备 110以及第二存储设备 120通过上述同步复制方式保持 存储的数据的一致性。
[00107] 在步骤 406中, 第一存储设备 110通知第二存储设备 120启动异步 复制。在本发明实施例中, 第一存储设备 110与第二存储设备 120通过同步复制 方式使第一存储设备 110中存储的数据与第二存储设备 120中存储的数据相同。 为了充分利用第一存储设备 110以及第二存储设备 120到第三存储设备 130之间 的链路带宽, 提高复制效率, 在本发明实施例所述的复制过程中, 可以由第一存 储设备 110和第二存储设备 120—起完成同一个复制任务。 因此, 当第一存储设 备 110确定启动异步复制时, 需要通知第二存储设备 120启动异步复制流程。 [00108] 在本步骤中, 第一存储设备 110可以向第二存储设备 120发送复制 任务启动消息, 具体的, 在第一种情形下, 第一存储设备 110可以将当前复制任 务中涉及的复制关系通知第二存储设备 120 , 以使第二存储设备 120能够根据预 设的复制关系确定当前复制任务所涉及的第二存储设备 120中的数据卷的标识。 例如,第一存储设备 110可以在复制任务启动消息中将复制关系标识通知第二存 储设备 120。 在第二种情形下, 第一存储设备 110可以在复制任务启动消息中携 带第一源数据卷的标识以及目标数据卷的标识,以使第二存储设备 120可以根据 预设的复制关系以及第一源数据卷的标识、目标数据卷的标识确定当前复制任务 所涉及的第二存储设备 120中的第二源数据卷。在第三种情形下, 第一存储设备 110在确定复制任务后, 可以根据第一存储设备 110中预设的复制关系以及第一 源数据卷的标识和目标数据卷的标识确定第二源数据卷的标识,并在发送给第二 存储设备 120的复制任务启动消息中携带第二源数据卷的标识,使得第二存储设 备 120能够根据接收的复制任务启动消息直接确定第二存储设备 120中的第二源 数据卷。在第四种情况下, 第一存储设备 110可以在复制任务启动消息中携带第 一源数据卷的标识,以使第二存储设备 120可以根据第一源数据卷的标识及预设 的复制关系确定当前复制任务所涉及的第二存储设备 120中的第二源数据卷。在 第五种情况下,第一存储设备 110还可以在复制任务启动消息中携带目标数据卷 的标识,以使第二存储设备 120可以根据目标数据卷的标识及预设的复制关系确 定当前复制任务所涉及的第二存储设备 120中的第二源数据卷。在本发明实施例 中不对第二存储设备 120 具体如何通过复制任务启动消息确定第二源数据卷的 具体方式进行限定,只要能够让第二存储设备 120确定与第一源数据卷存储有相 同数据的第二源数据卷即可。 关于复制任务启动消息的具体描述可以参见图 3 所示实施例的相关描述。 在此不再赘述。
[00109] 在步骤 408中,第二存储设备 120停止接收主机 100的写数据命令, 并处理已经接收的写数据命令。具体的, 当第二存储设备 120接收到第一存储设 备 110关于启动异步复制的通知后,可以停止接收主机 100的写数据命令。 由于 步骤 408与步骤 404类似, 具体描述可以参见步骤 404。
[00110] 在步骤 410中, 第二存储设备 120创建当前时刻的第二源数据卷的 副本。 实际应用中, 第二存储设备 120可以通过快照的方式创建在当前时刻的第 二源数据卷的副本。通过这种方式,可以确定第二存储设备 120在当前复制任务 中需要复制的数据,并可以通过第二源数据卷的副本将当前复制任务中需要复制 的数据与第二存储设备 120在当前复制任务中新接收的数据进行区分。具体如何 创建通过快照技术创建第二源数据卷的副本可以参见前面的描述,在此不再赘述。
[00111] 在步骤 412 中, 第二存储设备 120根据第二源数据卷的差异位图生 成第二复制位图。在本发明实施例中, 第二存储设备 120在接收到主机 100发送 的向第二源数据卷写数据的写数据命令后 ,会根据该写数据命令中携带的数据的 地址更新第二源数据卷的差异位图。例如, 第二存储设备 120可以将差异位图中 与该数据地址对应的格子中的标识位置为 "1" , 用于标识该格子对应的地址有数 据写入。第二存储设备 120的差异位图用于记录所述第二存储设备 120的第二源 数据卷在当前复制任务的前一个复制任务开始之后、并且在当前复制任务开始之 前写入的数据的信息。 由于本步骤与步骤 301类似, 因此, 具体如何根据第二存 储设备 120中第二源数据卷的差异位图生成第二复制位图可以参见步骤 301的描 述。
[00112] 在步骤 414中, 第二存储设备 120通知第一存储设备 110已准备好 异步复制。 实际应用中, 为了使开始复制时第一存储设备 110 与第二存储设备 120均已做好异步复制的准备, 例如第一存储设备 110与第二存储设备 120均已 经准备好复制位图以及数据卷的副本,则在第二存储设备 120生成第二复制位图 并创建当前复制任务所需的第二源数据卷的副本后,第二存储设备 120可以通知 第一存储设备 110已经做好异步复制的准备。
[00113] 在步骤 416 中, 第一存储设备 110创建当前时刻的第一源数据卷的 副本。 在第一存储设备 110确认第二存储设备 120已经做好异步复制的准备后, 第一存储设备 110开始创建当前时刻的第一源数据卷的副本。 该步骤与步骤 410 类似, 具体可以参见步骤 410的描述。 在此不再赘述。
[00114] 在步骤 418 中, 第一存储设备 110根据第一源数据卷的差异位图生 成第一复制位图。由于步骤 418与步骤 412类似,具体可以参见步骤 412的描述。 需要说明的是, 由于在本发明实施例中, 第一存储设备 110与第二存储设备 120 通过同步复制技术保持存储的数据的一致性,第一源数据卷中存储的数据与第二 源数据卷中存储的数据相同, 因此, 第一存储设备 110的第一复制位图与第二存 储设备 120的第二复制位图相同。
[00115] 在步骤 420中, 第一存储设备 110通知第二存储设备 120开始接收 主机 100的写数据命令。为了使第一存储设备 110与第二存储设备 120保持同步, 当第一存储设备 110在确认第一存储设备 110和第二存储设备 120已经做好当前 复制任务的复制准备后,可以通知第二存储设备 120开始接收主机 100的写数据 命令 , 因为在做好复制准备后接收的主机 100的写数据命令 , 不会影响当前复制 任务的执行。
[00116] 在步骤 422中,第一存储设备 110开始接收主机 100的写数据命令。 在步骤 424中, 第二存储设备 120开始接收主机 100的写数据命令。可以理解的 是,在当前复制任务启动之后写入第一存储设备 110和第二存储设备 120的数据 将再下一个复制任务中被复制到第三存储设备 130。
[00117] 需要说明的是, 实际应用中, 步骤 404、 408、 410、 416以及 420-424 是可选的。 例如, 如前所述, 如果釆用增加时间片编号的方式来确定存储设备在 当前复制任务中需要复制的数据, 则启动异步复制时, 第一存储设备 110以及第 二存储设备 120可以不停止接收主机 100的写数据命令,并且也可以不需要创建 LUN的副本。
[00118] 在步骤 426 中, 第一存储设备 110才艮据第一复制位图和复制策略确 定第一复制子信息。在步骤 428中, 第二存储设备 120才艮据第二复制位图和复制 策略确定第一复制子信息。在本发明实施例中, 由于第一复制位图和第二复制位 图相同, 并且预设的复制策略也相同, 因此第一存储设备 110 和第二存储设备 120 可以分别确定复制子位图。 这里的复制子位图具体可以包括第一存储设备 110确定的第一复制子位图和第二存储设备 120确定的第二复制子位图。 其中, 第一复制子位图用于标识需要由第一存储设备 110复制到第三存储设备 130的数 据的信息,第二复制子位图用于标识需要由第二存储设备 110复制到第三存储设 备 130 的数据的信息。 可以理解的是, 在复制策略中会指定第一存储设备 110 与第二存储设备 120的具体复制范围,因此第一复制子位图指示的数据与第二复 制子位图指示的数据不会重复。 步骤 426和步骤 428与步骤 302类似,具体可以 参见步骤 302的相关描述。
[00119] 在步骤 430中, 第一存储设备 110才艮据第一复制子位图复制部分差 异数据到第三存储设备 130。 具体复制时, 第一存储设备 110在当前复制任务的 一次复制过程中可以根据第一存储设备 110的复制规则复制一部分差异数据,例 如复制规则可以设定一次复制的数据块的 LBA的数量。
[00120] 在步骤 432中, 第三存储设备 130向第一存储设备 110返回单次复 制成功的响应,以通知第一存储设备 110该次复制的数据已被成功写入第三存储 设备 130中。
[00121] 在步骤 434中, 第一存储设备 110根据第三存储设备 130返回的复 制成功响应更新第一复制子位图。 具体的, 在更新第一复制子位图时, 可以将与 已经复制完成的数据的地址对应的第一复制子位图中的格子打上复制完成的标 识,也可以将第一复制子位图中与已复制完成的数据的地址对应的格子中的标识 位删除。例如,可以将第一复制子位图中与已复制完成的数据的地址对应的格子 中的标识位 "1" 删除。 可以理解的是, 由于第一复制子位图是第一复制位图的 一部分, 因此更新了第一复制子位图也就更新了第一复制位图。
[00122] 在步骤 436中, 第一存储设备 110发送第一存储设备 110的复制进 度信息给第二存储设备 120。 在本发明实施例中, 第一存储设备 110每复制完一 次差异数据, 就需要将第一存储设备 110 的复制进度信息发送给第二存储设备 120 , 以便第二存储设备 120可以了解第一存储设备 110的复制进度, 若第一存 储设备 110在复制过程中出现故障,则第二存储设备 120可以根据第一存储设备 110的复制进度信息对第一存储设备 110的复制任务进行接管。 为了将第一存储 设备 110的复制进度信息与第二存储设备 120的复制进度信息进行区分,在本发 明实施例中将第一存储设备 110的复制进度信息称为第一复制进度信息,将第二 存储设备 120的复制进度信息称为第二复制进度信息。
[00123] 实际应用中, 第一存储设备 110可以通过复制进度消息的形式将第 一复制进度信息发送给第二存储设备 120。 其中, 复制进度消息的格式可以与前 述的复制任务启动消息的格式类似。在复制进度消息的头部也可以包含消息类型
(例如 opCode ) 字段、 源设备 ID (例如, s rcAppId) 字段以及目标设备 ID (例 如, ds tAppId )字段。 其中, 消息类型字段用于表示该消息的类型为复制进度信 息。 在复制进度消息的内容部分(例如, 复制进度消息中的 da ta字段) 除了需 要携带当前复制任务的源数据卷以及目标数据卷以外,还需要携带当前的复制进 度信息, 例如复制进度消息的内容部分的格式可以如下所示:
Figure imgf000036_0001
其中: 关于 "LUN ID" 和 "Repl icat ionObject LUN id" 字段的描述可以参 见前述关于复制任务启动消息中的描述。 在此不再赘述。
[00124] Addres s : 该字段可以位于第 8个字节之后, 用于携带当前的复制进 度信息。 其中, 复制进度信息可以是一个或多个逻辑单元地址(Logica l Block Addres s , LBA )地址, 也可以是更新后的复制位图。 例如可以是更新后的第一复 制子位图。 当复制进度信息为一个 LBA时,可以用于表示已经复制的最后一个数 据的 LBA。 当复制进度信息为多个 LBA时, 可以用于表示当前已复制完成的所有 数据的地址。在此不对复制进度信息的具体形式进行限定, 只要能够表示复制进 度即可。
[00125] 例如, 在第一存储设备 110发送给第二存储设备 120的第一复制进 度消息中, 在第一复制进度消息的头部, "源设备 ID" 字段可以为第一存储设备 110的 IP地址, "目的设备 ID" 字段可以为第二存储设备 120的 IP地址。 在第 一复制进度消息的内容部分, "LUN ID" 字段可以为待复制的数据在第一存储设 备 110的第一源数据卷的 ID; "Repl icat ionObject LUN id" 字段可以为第三存 储设备 130 中的目标数据卷的 ID; "Addres s" 字段可以为已经复制的最后一个 数据的 LBA。 需要说明的是, 在本发明实施例中, 由于预先在第一存储设备 110 中第一源数据卷、 第二存储设备 120 中的第二源数据卷以及第三存储设备 130 中的目标数据卷之间建立有复制关系。从而, 第二存储设备 120可以根据第一复 制进度消息中的 LUN id字段以及预设的复制关系确定当前复制任务对应的第二 存储设备 120 中的第二源数据卷。 并且第一存储设备 110和第二存储设备 120 对应的 LUN的 I D可以相同也可以不同, 只要能够根据所述复制关系确定存储有 相同数据的数据卷即可。
[00126] 在步骤 438 中, 第二存储设备 120才艮据第二复制子位图复制部分差 异数据到第三存储设备 130。 在步骤 440中, 第三存储设备 130向第二存储设备 120返回单次复制完毕的响应, 以通知第二存储设备 120该次复制的数据已被成 功写入第三存储设备 1 30中。在步骤 442中, 第二存储设备 120根据第三存储设 备 1 30返回的单次复制成功响应更新第二复制子位图。在步骤 444中, 第二存储 设备 120发送第二存储设备 120的复制进度信息给第一存储设备 110。
[00127] 需要说明的是, 步骤 438至步骤 444描述的是第二存储设备 120在 当前复制任务中的一次复制过程,该过程与步骤 430至步骤 436描述的第一存储 设备 110在当前复制任务中的一次复制过程类似, 因此关于步骤 438至步骤 444 描述的可以分别参见步骤 430至步骤 436的相关描述。
[00128] 在步骤 446 中, 第一存储设备 110确定根据第一复制子位图复制完 成, 结束当前复制任务。 在复制过程中, 第一存储设备 110将循环执行步骤 430 至步骤 436的动作,直到第一存储设备 110确定根据第一复制子位图将需要由第 一存储设备 110复制的数据复制完成为止,则第一存储设备 110可以结束本次复 制任务。 可以理解的是, 若第一复制子位图是根据预设的复制策略来确定, 且预 设的复制策略是设定第一存储设备 110 从复制位图指示的数据的起始地址开始 向终止地址的方向复制,第一存储设备 110从复制位图指示的数据的终止地址开 始向起始地址的方向复制。则当第一存储设备 110根据第二存储设备 120的复制 进度信息确定第一存储设备 110要复制的数据与第二存储设备 120已复制完成的 数据有重复时,确定结束当前复制任务。需要说明的是,当结束当前复制任务后 , 需要删除第一存储设备 110在步骤 416中创建的第一存储设备 110中的第一源数 据卷的副本。
[00129] 在步骤 448 中, 第二存储设备 120确定才艮据第二复制子位图复制完 成, 结束当前复制任务。 在复制过程中, 第二存储设备 120将循环执行步骤 438 至步骤 4 44的动作,直到第二存储设备 120确定根据第二复制子位图将需要由第 二存储设备 120复制的数据复制完成为止,第二存储设备 120可以结束当前复制 任务。 需要说明的是, 当结束当前复制任务后, 需要删除第二存储设备 120在步 骤 410中创建的第二存储设备 120中的第二源数据卷的副本。
[00130] 需要说明的是, 在复制过程中, 第一存储设备 110和第二存储设备 120可以分别执行复制任务。 在本发明实施例中, 并不对第一存储设备 110执行 步骤 430至步骤 436以及第二存储设备 120执行步骤 438至步骤 444的先后顺序 进行限制。
[00131] 在又一种情形下, 若在复制过程中, 第一存储设备 110 出现故障, 则在第二存储设备 120确定第一存储设备 110 出现故障后, 第二存储设备 120 可以根据在第一存储设备 110出现故障前最后一次接收的第一存储设备 110的复 制进度信息以及所述第二复制位图确定所述第一存储设备 110 尚未复制完成的 数据,并从第二源数据卷中将第一存储设备 110尚未复制完成的数据复制到第三 存储设备 130的目标数据卷中。
[00132] 实际应用中, 第二存储设备 120可以根据第二存储设备 120与第一 存储设备 110之间的心跳来检测第一存储设备 110是否出现故障,例如当第二存 储设备 120在设定的时间内未收到第一存储设备 110的心跳信号时,则可以判断 第一存储设备 110出现故障。 进一步的, 为了提高检测的准确性, 第二存储设备 120在通过心跳判断第一存储设备 110出现故障后, 可以向第三存储设备 130发 送查询请求,该查询请求用于查询第一存储设备 110与第三存储设备 130的通信 情况,若第二存储设备 120的第三存储设备 130返回的查询响应显示第一存储设 备 110与第三存储设备 130的通信也已经中断,则第二存储设备 120可以确定第 一存储设备 110出现故障。第二存储设备 120可以对第一存储设备 110的复制任 务进行接管,将第一存储设备 110尚未复制到第三存储设备 130的数据复制到第 三存储设备 130。
[00133] 在本发明实施例中, 由于第二存储设备 120也可以将自己的复制进 度信息通知第一存储设备 110 , 因此, 若在复制过程中, 第二存储设备 120出现 故障,则第一存储设备 110也可以根据第二存储设备 120的复制进度信息以及第 一复制位图对第二存储设备 120的复制任务进行接管,将第二存储设备 120尚未 复制到第三存储设备 130的数据复制到第三存储设备 130。 该过程与前述的第二 存储设备 120接管第一存储设备 110的复制任务的过程类似,具体可以参见前面 的描述, 在此不做赞述。
[00134] 图 4所示的方法,在图 3所示的方法的基础上,通过在复制进程中, 第一存储设备 110和第二存储设备 120相互通知复制进度 , 从而在复制过程中, 若第一存储设备 110或第二存储设备 120出现故障, 第一存储系统 33中未出现 故障的一个存储设备能够继续完成出现故障的存储设备的复制任务。使第一存储 系统 33的复制任务不会因为其中一个存储设备出现故障而中断, 在提高复制效 率的同时, 进一步的增强了系统的稳定性。
[00135] 图 5为本发明实施例提供的又一种数据复制方法的流程图。 图 5所 示的方法仍然以包含有三个存储设备的 3DC容灾系统为例。图 5所示的方法是从 接收数据的第二存储系统 44侧进行描述,其中, 第一存储系统 33中包括第一存 储设备 110和第二存储设备 120 , 第二存储系统 44中可以包含图 1所示的二级 站点 1 3 中的第三存储设备 1 30。 在本发明实施例中, 还是以当前复制任务为第 一存储设备 110中的第一源数据卷、第二存储设备 120中的第二源数据卷以及第 三存储设备 1 30中的目标数据卷之间的复制任务为例进行描述。 下面将结合图 1 对图 5所示的方法进行描述。 如图 5所示:
[00136] 在步骤 500中, 第三存储设备 1 30接收第一存储系统 33发送的复制 信息, 所述复制信息用于指示所述第一存储系统 33需要复制到所述第三存储设 备 1 30中的数据。 实际应用中, 当启动第一存储系统 33和第二存储系统 44之间 的异步复制任务时, 可以由第一存储系统 33中的第一存储设备 110或第二存储 设备 120向第二存储系统 44中的第三存储设备 1 30发送复制信息。 下面以第一 存储设备 110向第三存储设备 1 30发送复制信息为例。 具体的, 第一存储系统 33 中的第一存储设备 110可以根据第一源数据卷中存储的数据确定复制信息。 其中,复制信息可以根据第一存储设备 110在当前复制任务开始时第一源数据卷 的差异数据信息获得。 在确定当前复制任务的复制信息后, 第一存储设备 110 可以将确定的复制信息发送给第三存储设备 1 30。 其中, 复制信息可以以复制位 图的形式来体现,也可以以 "树"型结构等其他结构形式来体现,在此不做限定。 关于复制信息、差异数据信息的相关描述可以参见图 3中步骤 300的描述,在此 不再赘述。
[00137] 实际应用中, 第一存储设备 110可以通过向第三存储设备 1 30发送 复制任务启动消息将复制信息发送给第三存储设备 1 30。 所述复制任务启动消息 中携带有所述第一源数据卷的标识以及根据所述第一源数据卷存储的数据确定 的所述复制信息。复制任务启动消息的具体描述可以参见图 3或图 4所示的实施 例中相关描述。 [00138] 在步骤 502 中, 第三存储设备 130根据所述复制信息向第一存储设 备 110发送第一获取请求。其中, 第一获取请求中包含有第三存储设备 130需要 向所述第一存储设备 110获取的数据的信息。第一获取请求中包含的数据的信息 至少包括需要获取的数据所属的数据卷的标识以及数据的地址信息。例如, 第一 获取请求中包含的数据的信息至少包括第一源数据卷的标识以及第一获取请求 要获取的数据的地址。 其中, 需要获取的数据所属的数据卷的标识可以为 LUN 的标识, 数据的地址可以是一段 LBA地址。
[00139] 实际应用中, 第一获取请求可以是读取命令或复制命令等命令格式, 在此不做限定。第三存储设备 130也可以根据接收的复制信息准备好存储空间后 再向第一存储设备 110发送第一获取请求,以便能够及时接收并存储第一存储设 备 110根据第一获取请求发送的数据。
[00140] 需要说明的是, 在本步骤中, 所述第一获取请求的命令格式可以参 照步骤 436中复制进度消息的格式,在第一获取请求中的消息类型需要指明该消 息为获取请求。在第一获取请求中需要携带的要获取的数据的信息可以包括: 当 前复制任务中需要获取的数据在第一存储设备中的第一源数据卷的标识以及数 据地址。
[00141] 在步骤 504 中, 第三存储设备 130才艮据所述复制信息向所述第一存 储系统 33中的第二存储设备 120发送第二获取请求。 其中, 第二获取请求中包 含有第三存储设备 130需要向所述第二存储设备 120获取的数据的信息。具体的, 在第三存储设备 130接收到第一存储设备 110发送的复制任务启动消息之后 ,可 以根据预设的所述第一源数据卷的标识以及预设的复制关系确定所述第二存储 设备 120中的第二源数据卷以及在第三存储设备 130中的目标数据卷。其中, 第 二源数据卷中存储的数据与第一源数据卷中存储的数据相同,目标数据卷用于存 储第三存储设备 130在所述当前复制任务中接收的数据。第三存储设备 130在确 定第二源数据卷之后,可以向第二存储设备 120发送第二获取请求,在第二获取 请求中含的要获取的数据的信息至少包括第二存储设备中的第二源数据卷的标 识以及所述第二获取请求要获取的数据地址。具体关于复制关系的描述可以参见 图 3所示实施例的描述。
[00142] 可以理解的是, 为了防止第一存储设备 110和第二存储设备 120复 制的数据重复,所述第二获取请求中的数据地址与所述第一获取请求中的数据地 址不同。根据这种方式, 所述第二获取请求要获取的数据与所述第一获取请求要 获取的数据不同。 由于步骤 504与步骤 502类似, 因此, 关于第二获取请求的相 关描述可以参见步骤 502的描述。
[00143] 需要说明的是, 在本发明实施例中, 步骤 502和步骤 504没有先后 顺序之分,第三存储设备 130可以分别同时向第一存储设备 110和第二存储设备 120的发送请求, 以分别向第一存储设备 110和第二存储设备 120获取数据。
[00144] 优选的, 为了使第一存储设备 110和第二存储设备 120在复制过程 中的负载均衡,在步骤 502中, 第三存储设备 130向第一存储设备 110发送第一 获取请求时,第三存储 130可以根据第三存储 130与第一存储设备 110之间的链 路带宽来确定向第一存储设备 110获取的数据量。具体的,第三存储设备 130 可 以根据接收的复制信息以及第三存储设备 130与第一存储设备 110之间的链路带 宽确定需要向第一存储设备 110获取的数据后,再根据确定的需要向第一存储设 备 110获取的数据向第一存储设备 110发送所述第一获取请求。 同样的,在步骤 504中, 第三存储设备 130向第二存储设备 120发送第二获取请求时, 第三存储 130也可以根据第三存储 130与第二存储设备 120之间的链路带宽来确定向第二 存储设备 120获取的数据量。 具体的, 第三存储设备 130 可以根据接收的复制 信息以及第三存储设备 130与第二存储设备 120之间的链路带宽确定需要向第二 存储设备 120获取的数据后,再根据确定的需要向第二存储设备 120获取的数据 向第二存储设备 120发送所述第二获取请求。
[00145] 在步骤 506中, 第三存储设备 130接收第一存储设备 110根据所述 第一获取请求发送的数据。具体的, 第一存储设备 110可以根据第一获取请求中 携带的要获取的数据的地址将第一源数据卷中存储的相应的数据发送给第三存 储设备 130 , 以将数据复制到第三存储设备 130的目标数据卷中。
[00146] 在步骤 508中, 第三存储设备 130接收第二存储设备 120根据所述 第二获取请求发送的数据。第二存储设备 120也可以根据第二获取请求中携带的 要获取的数据的地址将第二源数据卷中存储的相应的数据发送给第三存储设备 130 , 以将数据复制到第三存储设备 130的目标数据卷中。
[00147] 在图 5所示的方法中, 由于第三存储设备 130会接收第一存储设备 110发送的当前复制任务的复制信息, 因此第三存储设备 130可以同时向第一存 储设备 110和第二存储设备 120获取数据, 提高了复制链路带宽以及复制效率。 并且第三存储设备 130可以在准备好存储空间后再自主选择向第一存储设备 110 和第二存储设备 120获取的数据的范围, 使得第三存储设备 130的自主性更强, 操作更加灵活。此外,在第三存储设备 130向第一存储设备 110和第二存储设备 120获取数据时,可以根据链路带宽确定向第一存储设备 110或第二存储设备 120 获取的数据量,能够使第一存储设备 110和第二存储设备 120在当前复制任务中 达到负载均衡。
[00148] 图 6 为本发明实施例提供的又一种数据复制方法的信令图。 该方法 也以图 1中所示的包含有三个存储设备的 3DC容灾系统为例对如何将第一存储系 统 33中的数据复制到第二存储系统 44进行描述。 为了描述方便,本发明实施例 中仍然将复制信息以复制位图来表示、差异数据信息以差异位图来表示进行描述。 下面将结合图 1对图 6进行描述。 具体如图 6所示, 该方法可以包括下述步骤。
[00149] 在步骤 602 中, 第一存储设备 110确定启动异步复制任务。 在步骤 604中, 第一存储设备 110停止接收主机 100的写数据命令, 并处理已经接收的 写数据命令。在步骤 606中, 第一存储设备 110通知第二存储设备 120启动异步 复制。 在步骤 608中, 第二存储设备 120停止接收主机的写数据命令, 并处理已 经接收的写数据命令。 在步骤 610 中, 第二存储设备 120创建当前时刻的 LUN 的副本。在步骤 612中, 第二存储设备 120通知第一存储设备 110已准备好异步 复制。 在步骤 614 中, 第一存储设备 110创建当前时刻的 LUN的副本。 在步骤 616中, 第一存储设备 110根据差异位图生成复制位图。
[00150] 上述步骤与图 4所示实施例中的步骤 402至步骤 410、步骤 414至步 骤 418类似, 具体可以分别参见图 4相关步骤的描述。
[00151] 在步骤 618 中, 第一存储设备 110将复制位图发送给第三存储设备 130。 具体在发送复制位图时, 第一存储设备 110仍然可以在复制任务启动消息 中的内容部分携带复制位图的形式将复制位图发送给第三存储设备 130 , 其中,。 关于复制任务启动消息的具体描述, 可以参见图 3、 图 4或图 5所示的实施例中 相关描述。 [00152] 在步骤 620中, 第三存储设备 1 30向第一存储设备 110返回收到复 制位图的响应。 在步骤 622中, 第一存储设备 110删除本地复制位图。 具体的, 当第一存储设备 110将复制位图成功发送给第三存储设备 1 30后,为了节省资源, 第一存储设备 110可以删除本地复制位图。 需要说明的是,在图 6所示的实施例 中, 还可以由第二存储设备 120生成复制位图后发给第三存储设备 1 30 , 在此不 进行限定。在图 6所示的实施例中, 只需要由第一存储设备 110或第二存储设备 120生成一份复制位图即可, 而不需要第一存储设备 110和第二存储设备 120均 生成复制位图。
[00153] 在步骤 624中, 第一存储设备 110通知第二存储设备 120开始接收 主机的写数据命令。在步骤 626中, 第一存储设备 110开始接收主机 100的写数 据命令。 在步骤 628中, 第二存储设备 120开始接收主机 100的写数据命令。 步 骤 624至步骤 628分别与图 4中的步骤 420至步骤 424类似, 具体可以参见图 4 中步骤 420至步骤 424的相关描述。
[00154] 在步骤 630中, 第三存储设备 1 30根据所述复制位图向第一存储设 备 110发送第一获取请求。其中, 第一获取请求中包含有第三存储设备 1 30需要 向所述第一存储设备 110获取的数据的地址信息。 步骤 630与图 5 中步骤 503 类似, 具体可以参见图 5所示实施例中步骤 503的相关描述。
[00155] 在步骤 632中, 第三存储设备 1 30接收第一存储设备 110根据所述 第一获取请求发送的数据。 步骤 632与图 5中步骤 506类似, 具体可以参见图 5 所示实施例中步骤 506的相关描述。
[00156] 在步骤 634 中, 第三存储设备 1 30根据接收的数据更新所述复制位 图。具体的, 第三存储设备 1 30可以根据接收的数据的地址信息更新所述复制位 图。 具体的, 在更新复制位图时, 可以将与已经复制完成的数据的地址对应的复 制位图中的格子打上复制完成的标识,也可以将复制位图中与已复制完成的数据 的地址对应的格子中的标识位删除。例如,可以将复制位图中与已复制完成的数 据的地址对应的格子中的标识位 " 删除。 实际应用中, 第三存储设备 1 30可 以每接收一次数据就更新一次复制位图, 在此不做限定。
[00157] 在步骤 636 中, 第三存储设备 1 30根据所述复制位图向第二存储设 备 120发送第二获取请求。其中, 第二获取请求中包含有第三存储设备 1 30需要 向所述第二存储设备 120获取的数据的地址信息。 需要说明的是, 为了防止第一 存储设备 110和第二存储设备 120复制的数据重复,所述第二获取请求要获取的 数据与所述第一获取请求要获取的数据不同。该步骤与步骤 504类似,具体可以 参见步骤 504的相关描述。
[00158] 在步骤 638中, 第三存储设备 1 30接收第二存储设备 120根据第二 获取请求返回的数据。在步骤 640中, 第三存储设备 1 30根据接收的第二存储设 备 120发送的数据更新所述复制位图。步骤 638至步骤 640分别与步骤 632至步 骤 634类似, 具体可以参见步骤 632至步骤 634的相关描述。
[00159] 需要说明的是,在本发明实施例中, 步骤 630至步骤 634与步骤 636 至步骤 640没有先后执行顺序之分,第三存储设备 1 30可以分别同时向第一存储 设备 110和第二存储设备 120的发送请求,以分别向第一存储设备 110和第二存 储设备 120获取数据。
[00160] 在步骤 642 中, 第三存储设备 1 30根据更新后的复制位图确定当前 复制任务完成, 则结束当前复制任务。 在实际应用中, 步骤 630至步骤 640可以 循环执行,第三存储设备 1 30每获取一次数据就可以向第一存储设备 110或第二 存储设备 120发送一次获取请求, 并根据接收的数据更新复制位图。 当第三存储 设备 1 30根据更新后的复制位图确定需要复制的数据已经全部复制完成时,可以 结束当前复制任务,不再向第一存储设备 110或第二存储设备 120发送获取请求。 可以理解的是, 当前复制任务完成后, 第三存储设备 1 30可以删除该复制位图。
[00161] 在又一种情形下, 若在复制的过程中, 第三存储设备 1 30确定第一 存储设备 110和第二存储设备 120中任意一个存储设备出现了故障,则第三存储 设备 1 30 可以向未出现故障的一个存储设备发送获取请求, 请求第一存储设备 110和第二存储设备 120中未出现故障的一个存储设备将尚未复制的数据发送给 第三存储设备 1 30。 可以理解的是, 第三存储设备 1 30确定第一存储设备 110或 第二存储设备 120 是否故障, 可以通过设定时间内是否收到第一存储设备 110 或第二存储设备 120的心跳信号来确定,也可以通过在设定时间内是否收到第一 存储设备 110或第二存储设备 120发送的数据来确定, 在此不对第三存储设备 1 30如何确定第一存储设备 11 0或第二存储设备 120是否故障的方法进行限定。
[00162] 由于在图 6所示的实施例中, 第三存储设备 1 30可以同时向第一存 储系统 33中的第一存储设备 110和第二存储设备 120获取待复制的数据,因此, 提高了链路复制带宽。并且,当第一存储系统 33中的一个存储设备出现故障时, 第三存储设备 1 30可以继续向未出现故障的存储设备获取数据 ,使第一存储系统 33 的复制任务不会因为其中一个存储设备出现故障而中断, 在提高复制效率的 同时, 进一步的增强了系统的稳定性。
[00163] 需要说明的是, 在上述实施例中, 均是以第一存储设备 110和第二 存储设备 120通过同步复制技术保持数据的一致性为例进行描述, 实际应用中, 第一存储设备 110和第二存储设备 120也可以通过异步复制保持存储的数据的一 致性, 只要在启动第一存储系统 33对第二存储系统 44的复制任务时,保证第一 存储系统 33中的第一存储设备 110和第二存储设备 120中存储有相同的数据即 可。 在此不做限定。
[00164] 图 7为本发明实施例提供的又一种存储系统的结构示意图, 图 7 中 所示的存储系统可以为图 1所示的二级站点 1 3中的第三存储设备 1 30 , 下面仍 然结合图 1对图 7中所示的存储系统进行描述。 如图 7所示, 该存储系统 70可 以包括:
[00165] 接收模块 702 , 用于接收第一存储系统 33中发送的复制信息, 所述 复制信息用于指示第一存储系统 33在当前复制任务中需要复制到第三存储设备 1 30的数据, 其中, 所述第一存储系统 33中至少包括所述第一存储设备 110以 及第二存储设备 120 , 第一存储设备 110与第二存储设备 120中存储有相同的数 据。
[00166] 发送模块 704 ,用于根据所述复制信息向第一存储设备 110发送第一 获取请求, 所述第一获取请求中包含有存储系统 70在所述当前复制任务中需要 向第一存储设备 110 获取的数据的信息。 需要说明的是, 在第一存储设备 110 包含有多个数据卷的情况下,所述第一获取请求中包含的要获取的数据的信息至 少包括所述第一存储设备中的第一源数据卷的标识以及所述第一获取请求要获 取的数据地址。 其中, 所述第一源数据卷存储有第一存储系统 33在当前复制任 务中需要复制到第三存储设备 1 30的数据,
[00167] 发送模块 704 ,还用于根据所述复制信息向第二存储设备 120发送第 二获取请求, 所述第二获取请求中包含有存储系统 70在所述当前复制任务中需 要向第二存储设备 120获取的数据的信息,其中, 所述第一获取请求要获取的数 据与所述第二获取请求要获取的数据不同。 需要说明的是, 在第二存储设备 120 包含有多个数据卷的情况下,所述第二获取请求中包含的要获取的数据的信息至 少包括所述第二存储设备中的第二源数据卷的标识以及所述第一获取请求要获 取的数据地址。 其中, 所述第二源数据卷中存储有第一存储系统 33在当前复制 任务中需要复制到第三存储设备 130的数据。所述第一源数据卷与所述第二源数 据卷中存储的数据相同。
[00168] 接收模块 702 ,还用于接收所述第一存储设备根据所述第一获取请求 发送的数据 , 以及接收所述第二存储设备根据所述第二获取请求发送的数据。
[00169] 可以理解的是, 复制信息可以是复制位图, 复制位图可以根据第一 存储系统 33在所述当前复制任务开始时的差异位图获得, 所述差异位图用于记 录所述第一存储系统 33在所述当前复制任务的前一个复制任务开始之后、 并且 在所述当前复制任务开始之前写入的数据的信息。
[00170] 在又一种情形下,当所述第一存储设备 110与所述第二存储设备 120 中均包含有多个数据卷时, 接收模块 70 , 还用于接收第一存储系统 33发送的复 制任务启动消息,所述复制任务启动消息中携带有所述第一源数据卷的标识以及 根据所述第一源数据卷存储的数据确定的所述复制信息。 存储系统 70还可以包 括:
[00171] 消息处理模块 708 ,用于根据所述第一源数据卷的标识以及预设的复 制关系确定所述第二存储设备 120 中的第二源数据卷及所述第三存储设备 130 中的目标数据卷。 其中, 所述复制关系中包含有所述第一源数据卷、 所述第二源 数据卷与所述目标数据卷的对应关系,所述目标数据卷用于存储所述存储系统在 所述当前复制任务中接收的数据。
[00172] 在又一种情形下, 存储系统 70还可以包括:
确定模块 706 ,用于根据所述复制信息以及存储系统 70与第一存储设 备 110之间的链路带宽确定需要向第一存储设备 110获取的数据,并根据所述复 制信息以及存储系统 70与第二存储设备 120之间的链路带宽确定需要向第二存 储设备 120获取的数据。 [00173] 发送模块 704 ,具体可以用于根据确定模块 706确定的所述需要向所 述第一存储设备获取的数据向所述第一存储设备发送所述第一获取请求,并且根 据确定模块 706 确定的所述需要向所述第二存储设备获取的数据向所述第二存 储设备发送所述第二获取请求。
[00174] 在又一种情形下, 存储系统 70还可以包括:
更新模块 710, 用于在所述当前复制任务的执行过程中, 根据接收到 的数据更新所述复制信息。
[00175] 本发明实施例所提供的存储系统 70可以执行图 5-图 6所述实施例所 描述的数据复制方法,各个单元功能的详细描述可参见方法实施例中的描述,在 此不再赘述。
[00176] 可以理解的是, 图 7 所示的实施例仅仅是示意性的, 例如, 所述模 块的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式, 例如 多个模块或组件可以结合或者可以集成到另一个设备中, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接可以 是通过一些通信接口, 模块的间接耦合或通信连接, 可以是电性, 机械或其它的 形式。
[00177] 作为分离部件说明的模块可以是或者也可以不是物理上分开的, 作 为模块显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方,或者 也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部, 模块来实现本实施例方案的目的。
[00178] 本发明实施例还提供一种数据处理的计算机程序产品, 包括存储了 程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行前述任意一 个方法实施例所述的方法流程。本领域普通技术人员可以理解, 前述的存储介质 包括: U盘、移动硬盘、磁碟、光盘、随机存储器 (Random-Acces s Memory, RAM)、 固态硬盘( Sol id State Di sk, SSD )或者非易失性存储器( non-vo lat i le memory ) 等各种可以存储程序代码的非短暂性的 (non-trans i tory )机器可读介质。
[00179] 需要说明的是, 本申请所提供的实施例仅仅是示意性的。 所属领域 的技术人员可以清楚地了解到, 为了描述的方便和筒洁, 在上述实施例中, 对各 个实施例的描述都各有侧重, 某个实施例中没有详述的部分,可以参见其他实施 例的相关描述。在本发明实施例、权利要求以及附图中揭示的特征可以独立存在 也可以组合存在。在本发明实施例中以硬件形式描述的特征可以通过软件来执行, 反之亦然。 在此不做限定。

Claims

权 利 要 求
1、 一种数据复制方法, 所述方法应用于至少包括第一存储设备以及第二存 储设备的存储系统中, 其特征在于, 包括:
第一存储系统确定复制信息,所述复制信息用于指示所述第一存储系统在当 前复制任务中需要复制到第二存储系统的数据,其中, 所述第一存储系统中的第 一存储设备与所述第二存储设备存储有相同的数据 ,所述第一存储系统与所述第 二存储系统通过异步复制技术实现数据备份;
所述第一存储系统根据所述复制信息确定第一复制子信息及第二复制子信 息,其中, 所述第一复制子信息用于指示在所述当前复制任务中需要由所述第一 存储设备复制到所述第二存储系统的数据,所述第二复制子信息用于指示在所述 当前复制任务中需要由所述第二存储设备复制到所述第二存储系统的数据,且所 述第一复制子信息指示的数据与所述第二复制子信息指示的数据不同;
所述第一存储设备根据所述第一复制子信息将所述需要由所述第一存储设 备复制到所述第二存储系统的数据复制到所述第二存储系统;
所述第二存储设备根据所述第二复制子信息将所述需要由所述第二存储设 备复制到所述第二存储系统的数据复制到所述第二存储系统。
2、 根据权利要求 1所述的数据复制方法, 其特征在于,
所述第一存储设备根据所述第一复制子信息将所述需要由所述第一存储设 备复制到所述第二存储系统的数据复制到所述第二存储系统包括:
所述第一存储设备根据所述第一复制子信息将第一源数据卷中存储的所述 需要由所述第一存储设备复制到所述第二存储系统的数据复制到所述第二存储 系统的目标数据卷中;
所述第二存储设备根据所述第二复制子信息将第二源数据卷中存储的所述 需要由所述第二存储设备复制到所述第二存储系统的数据复制到所述第二存储 系统的所述目标数据卷中;
其中,所述第一源数据卷中存储的数据与所述第二源数据卷中存储的数据相 同。
3、根据权利要求 2所述的数据复制方法, 其特征在于, 所述第一存储系统确 定复制信息包括: 所述第一存储设备向所述第二存储设备发送复制任务启动消息,所述复制任 务启动消息中携带有所述第一源数据卷的标识和所述目标数据卷的标识;
所述第二存储设备根据所述第一源数据卷的标识、所述目标数据卷的标识以 及预设的复制关系确定所述第二存储设备中的所述第二源数据卷,其中, 所述复 制关系中包含有所述第一源数据卷、所述第二源数据卷与所述目标数据卷的对应 关系;
所述第二存储设备根据确定的所述第二源数据卷中存储的数据确定所述复 制信息;
所述第一存储设备根据所述第一源数据卷中存储的数据确定所述复制信息。
4、根据权利要求 2所述的数据复制方法, 其特征在于, 所述第一存储系统确 定复制信息包括:
所述第一存储系统中的所述第一存储设备根据所述第一源数据卷中存储的 数据确定所述复制信息;
所述第一存储设备向所述第二存储设备发送复制任务启动消息,所述复制任 务启动消息中携带有所述第一源数据卷的标识、目标数据卷的标识以及所述复制 信息;
所述第二存储设备根据所述第一源数据卷的标识、目标数据卷的标识以及预 设的复制关系确定与所述复制信息对应的第二源数据卷,其中, 所述复制关系中 包含有所述第一源数据卷、 所述目标数据卷与所述第二源数据卷的对应关系。
5、 根据权利要求 1-4任意一项所述的数据复制方法, 其特征在于, 所述第一存储系统根据所述复制信息确定第一复制子信息及第二复制子信 息包括:所述第一存储设备根据所述复制信息以及预设的复制策略确定所述第一 复制子信息;
所述第二存储设备根据所述复制信息以及所述复制策略确定所述第二复制 子信息。
6、根据权利要求 1-4任意一项所述的数据复制方法, 其特征在于, 所述第一 存储系统根据所述复制信息确定第一复制子信息及第二复制子信息包括:
所述第一存储设备接收所述第二存储设备的复制协商请求,所述复制协商请 求中至少包含有所述第二存储设备与所述第二存储系统的链路带宽信息; 所述第一存储设备根据所述链路带宽信息确定所述第一复制子信息以及所 述第二复制子信息;
所述第一存储设备向所述第二存储设备发送所述第二复制子信息。
7、根据权利要求 1-6所述的数据复制方法, 其特征在于, 所述复制信息由所 述第一复制子信息以及所述第二复制子信息组成, 所述方法还包括:
在所述当前复制任务的执行过程中,所述第一存储设备根据已复制完成的数 据生成第一复制进度信息;
所述第一存储设备将所述第一复制进度信息发送给所述第二存储设备; 当所述第一存储设备故障时,所述第二存储设备根据所述第一复制进度信息、 第二复制子信息以及所述复制信息确定所述第一存储设备尚未复制完成的数据; 所述第二存储设备将所述第一存储设备尚未复制完成的数据复制到所述第 二存储系统。
8、 根据权利要求 1-7任意一项所述的数据复制方法, 其特征在于, 还包括: 在所述当前复制任务的执行过程中,所述第一存储设备根据已复制完成的数 据更新所述第一复制子信息;
所述第二存储设备根据已复制完成的数据更新所述第二复制子信息。
9、 一种数据复制方法, 所述方法应用于存储系统中, 其特征在于, 包括: 第二存储系统接收第一存储系统发送的复制信息,所述复制信息用于指示所 述第一存储系统在当前复制任务中需要复制到所述第二存储系统的数据, 其中, 所述第一存储系统中至少包括第一存储设备以及第二存储设备,所述第一存储设 备与所述第二存储设备中存储有相同的数据,所述第一存储系统与所述第二存储 系统通过异步复制技术实现数据备份;
所述第二存储系统根据所述复制信息向所述第一存储设备发送第一获取请 求,所述第一获取请求中包含有所述第二存储系统在所述当前复制任务中需要向 所述第一存储设备获取的数据的信息;
所述第二存储系统根据所述复制信息向所述第二存储设备发送第二获取请 求,所述第二获取请求中包含有所述第二存储系统在所述当前复制任务中需要向 所述第二存储设备获取的数据的信息,其中, 所述第一获取请求要获取的数据与 所述第二获取请求要获取的数据不同; 所述第二存储系统接收所述第一存储设备根据所述第一获取请求发送的数 据;
所述第二存储系统接收所述第二存储设备根据所述第二获取请求发送的数 据。
10、 根据权利要求 9所述的方法, 其特征在于:
所述第一获取请求中包含的要获取的数据的信息至少包括所述第一存储设 备中的第一源数据卷的标识以及所述第一获取请求要获取的数据地址;
所述第二获取请求中包含的要获取的数据的信息至少包括第二存储设备中 的第二源数据卷的标识以及所述第二获取请求要获取的数据地址;
其中,所述第一源数据卷与所述第二源数据卷中均存储有所述第一存储系统 在当前复制任务中需要复制到所述第二存储系统的数据 ,且所述第一源数据卷与 所述第二源数据卷中存储的数据相同。
11、 根据权利要求 10所述的方法, 其特征在于,
所述第二存储系统接收第一存储系统发送的复制信息包括:
所述第二存储系统接收所述第一存储系统发送的复制任务启动消息,所述复 制任务启动消息中携带有所述第一源数据卷的标识以及根据所述第一源数据卷 存储的数据确定的所述复制信息;
所述方法还包括:
所述第二存储系统根据所述第一源数据卷的标识以及预设的复制关系确定 所述第二存储设备中的第二源数据卷及所述第二存储系统中的目标数据卷; 其中, 所述复制关系中包含有所述第一源数据卷、所述第二源数据卷与所述 目标数据卷的对应关系,所述目标数据卷用于存储所述第二存储系统在所述当前 复制任务中接收的数据。
12、 根据权利要求 9-11任意一项所述的方法, 其特征在于:
所述第二存储系统根据所述复制信息向所述第一存储设备发送第一获取请 求包括:
所述第二存储系统根据所述复制信息以及所述第二存储系统与所述第一存 储设备之间的链路带宽确定需要向所述第一存储设备获取的数据;
所述第二存储系统根据确定的所述需要向所述第一存储设备获取的数据向 所述第一存储设备发送所述第一获取请求;
所述第二存储系统根据所述复制信息向所述第二存储设备发送第二获取请 求包括:
所述第二存储系统根据所述复制信息以及所述第二存储系统与所述第二存 储设备之间的链路带宽确定需要向所述第二存储设备获取的数据;
所述第二存储系统根据确定的所述需要向所述第二存储设备获取的数据向 所述第二存储设备发送所述第二获取请求。
13、 根据权利要求 9-12任意一项所述的方法, 其特征在于, 还包括: 在所述当前复制任务的执行过程中,所述第二存储系统根据接收的数据更新 所述复制信息。
14、一种存储系统, 其特征在于, 所述存储系统至少包括第一存储设备以及 第二存储设备,所述第一存储设备与所述第二存储设备存储有相同的数据,其中: 所述存储系统, 用于确定复制信息, 所述复制信息用于指示所述存储系统在 当前复制任务中需要复制到其他存储系统的数据,所述存储系统与所述其他存储 系统通过异步复制技术实现数据备份;
所述存储系统,还用于根据所述复制信息确定第一复制子信息以及所述第二 复制子信息,其中, 所述第一复制子信息用于指示在所述当前复制任务中需要由 所述第一存储设备复制到所述其他存储系统的数据,所述第二复制子信息用于指 示在所述当前复制任务中需要由所述第二存储设备复制到所述其他存储系统的 数据,且所述第一复制子信息指示的数据与所述第二复制子信息指示的数据不同; 所述第一存储设备,用于根据所述第一复制子信息将所述需要由所述第一存 储设备复制到所述其他存储系统的数据复制到所述其他存储系统;
所述第二存储设备,用于根据所述第二复制子信息将所述需要由所述第二存 储设备复制到所述其他存储系统的数据复制到所述其他存储系统。
15、 根据权利要求 14所述的存储系统, 其特征在于,
所述第一存储设备,用于根据所述第一复制子信息将第一源数据卷中存储的 所述需要由所述第一存储设备复制到所述其他存储系统的数据复制到所述其他 存储系统的目标数据卷中;
所述第一存储设备,用于根据所述第二复制子信息将第二源数据卷中存储的 所述需要由所述第二存储设备复制到所述其他存储系统的数据复制到所述其他 存储系统的所述目标数据卷中;
其中,所述第一源数据卷中存储的数据与所述第二源数据卷中存储的数据相 同。
16、 根据权利要求 15所述的存储系统, 其特征在于:
所述第一存储设备,还用于向所述第二存储设备发送复制任务启动消息, 所 述复制任务启动消息中携带有所述第一源数据卷的标识和所述目标数据卷的标 识;
所述第二存储设备,还用于根据所述第一源数据卷的标识、所述目标数据卷 的标识以及预设的复制关系确定所述第二存储设备中的所述第二源数据卷,并根 据确定的所述第二源数据卷中存储的数据确定所述复制信息,其中, 所述复制关 系中包含有所述第一源数据卷、所述目标数据卷与所述第二源数据卷的对应关系; 所述第一存储设备,还用于根据所述第一源数据卷中存储的数据确定所述复 制信息。
17、 根据权利要求 15所述的存储系统, 其特征在于:
所述第一存储设备,还用于根据所述第一源数据卷中存储的数据确定所述复 制信息, 并向所述第二存储设备发送复制任务启动消息, 所述复制任务启动消息 中携带有所述第一源数据卷的标识、 目标数据卷的标识以及所述复制信息;
所述第二存储设备,还用于据所述第一源数据卷的标识、 目标数据卷的标识 以及预设的复制关系确定与所述复制信息对应的第二源数据卷,其中, 所述复制 关系中包含有所述第一源数据卷、所述目标数据卷与所述第二源数据卷的对应关 系。
18、 根据权利要求 14-17任意一项所述的存储系统, 其特征在于:
所述第一存储设备,还用于根据复制信息以及预设的复制策略确定所述第一 复制子信息;
所述第二存储设备,还用于才艮据所述复制信息以及所述复制策略确定所述第 二复制子信息。
19、 根据权利要求 14-17任意一项所述的存储系统, 其特征在于:
所述第一存储设备,还用于接收所述第二存储设备的复制协商请求, 所述复 制协商请求中至少包含有所述第二存储设备与所述其他存储系统的链路带宽信 息, 才艮据所述链路带宽信息确定所述第一复制子信息以及所述第二复制子信息, 并向所述第二存储设备发送所述第二复制子信息。
20、 根据权利要求 14-19任意一项所述的存储系统, 其特征在于, 所述复制 信息由所述第一复制子信息以及所述第二复制子信息组成,
所述第一存储设备,还用于在所述当前复制任务的执行过程中,根据已复制 完成的数据生成第一复制进度信息,并将所述第一复制进度信息发送给所述第二 存储设备;
所述第二存储设备,还用于当所述第一存储设备故障时,根据所述第一复制 进度信息、第二复制子信息以及所述复制信息确定所述第一存储设备尚未复制完 成的数据,并将所述第一存储设备尚未复制完成的数据复制到所述其他存储系统。
21、 根据权利要求 14-20任意一项所述的存储系统, 其特征在于:
所述第一存储设备,还用于根据已复制完成的数据更新所述第一复制子信息; 所述第二存储设备,还用于根据已复制完成的数据更新所述第二复制子信息。 11、 一种存储系统, 其特征在于, 包括:
接收模块, 用于接收其他存储系统发送的复制信息, 所述复制信息用于指示 所述其他存储系统在当前复制任务中需要复制到所述存储系统的数据,其中, 所 述其他存储系统中至少包括所述第一存储设备以及第二存储设备,所述第一存储 设备与所述第二存储设备中存储有相同的数据,所述存储系统与所述其他存储系 统通过异步复制技术实现数据备份;
发送模块, 用于根据所述复制信息向所述第一存储设备发送第一获取请求, 所述第一获取请求中包含有所述存储系统在所述当前复制任务中需要向所述第 一存储设备获取的数据的信息;
所述发送模块,还用于根据所述复制信息向所述第二存储设备发送第二获取 请求,所述第二获取请求中包含有所述存储系统在所述当前复制任务中需要向所 述第二存储设备获取的数据的信息,其中, 所述第一获取请求要获取的数据与所 述第二获取请求要获取的数据不同;
所述接收模块,还用于接收所述第一存储设备根据所述第一获取请求发送的 数据 , 以及接收所述第二存储设备根据所述第二获取请求发送的数据。 23、 根据权利要求 22所述的存储系统, 其特征在于:
所述第一获取请求中包含的要获取的数据的信息至少包括所述第一存储设 备中的第一源数据卷的标识以及所述第一获取请求要获取的数据地址;
所述第二获取请求中包含的要获取的数据的信息至少包括第二存储设备中 的第二源数据卷的标识以及所述第二获取请求要获取的数据地址;
其中,所述第一源数据卷与所述第二源数据卷中均存储有所述其他存储系统 在当前复制任务中需要复制到所述存储系统的数据 ,且所述第一源数据卷与所述 第二源数据卷中存储的数据相同。
24、 根据权利要求 23所述的存储系统, 其特征在于:
所述接收模块,还用于接收所述其他存储系统发送的复制任务启动消息, 所 述复制任务启动消息中携带有所述第一源数据卷的标识以及根据所述第一源数 据卷存储的数据确定的所述复制信息;
所述存储系统还包括:
消息处理模块,用于根据所述第一源数据卷的标识以及预设的复制关系确定 所述第二存储设备中的第二源数据卷及所述第二存储系统中的目标数据卷; 其中, 所述复制关系中包含有所述第一源数据卷、所述第二源数据卷与所述 目标数据卷的对应关系,所述目标数据卷用于存储所述存储系统在所述当前复制 任务中接收的数据。
25、 根据权利要求 22-24任意一项所述的存储系统, 其特征在于, 还包括: 确定模块,用于根据所述复制信息以及所述存储系统与所述第一存储设备之 间的链路带宽确定需要向所述第一存储设备获取的数据,并根据所述复制信息以 及所述存储系统与所述第二存储设备之间的链路带宽确定需要向所述第二存储 设备获取的数据;
所述发送模块,具体用于根据所述确定模块确定的所述需要向所述第一存储 设备获取的数据向所述第一存储设备发送所述第一获取请求,并且根据所述确定 模块确定的所述需要向所述第二存储设备获取的数据向所述第二存储设备发送 所述第二获取请求。
26、 根据权利要求 22-25任意一项所述的存储系统, 其特征在于, 还包括: 更新模块, 用于在所述当前复制任务的执行过程中,根据接收到的数据更新 所述复制信息。
27、 一种存储系统, 其特征在于, 包括控制器和存储器, 其中: 所述存储器, 用于存储其他存储系统发送的数据;
所述控制器包括:
通信接口, 用于与所述其他存储系统进行通信;
内存, 用于存储计算机执行指令;
处理器, 用于运行所述计算机执行指令,执行如权利要求 9-13任意一项所述 的方法。
28、一种计算机程序产品, 包括存储了程序代码的计算机可读存储介质, 所 述程序代码包括的指令用于执行如权利要求 1 -8任意一项所述的方法。
29、一种计算机程序产品, 包括存储了程序代码的计算机可读存储介质, 所 述程序代码包括的指令用于执行如权利要求 9-13任意一项所述的方法。
PCT/CN2013/089176 2013-12-12 2013-12-12 数据复制方法及存储系统 WO2015085530A1 (zh)

Priority Applications (13)

Application Number Priority Date Filing Date Title
EP19188527.6A EP3663922B1 (en) 2013-12-12 2013-12-12 Data replication method and storage system
ES19188527T ES2921209T3 (es) 2013-12-12 2013-12-12 Método de réplica de datos y sistema de almacenamiento
HUE13899249A HUE036878T2 (hu) 2013-12-12 2013-12-12 Adatreplikálási eljárás és tárolórendszer
EP13899249.0A EP3062226B1 (en) 2013-12-12 2013-12-12 Data replication method and storage system
PCT/CN2013/089176 WO2015085530A1 (zh) 2013-12-12 2013-12-12 数据复制方法及存储系统
PL19188527.6T PL3663922T3 (pl) 2013-12-12 2013-12-12 Sposób replikacji danych i system przechowywania
ES13899249.0T ES2669274T3 (es) 2013-12-12 2013-12-12 Método de réplica de datos y sistema de almacenamiento
EP17197209.4A EP3358466B1 (en) 2013-12-12 2013-12-12 Data replication method and storage system
EP22152334.3A EP4089540A1 (en) 2013-12-12 2013-12-12 Data replication method and storage system
CN201380002271.4A CN103814360B (zh) 2013-12-12 2013-12-12 数据复制方法及存储系统
US15/177,877 US10545994B2 (en) 2013-12-12 2016-06-09 Data replication method and storage system
US16/721,240 US10706072B2 (en) 2013-12-12 2019-12-19 Data replication method and storage system
US16/888,254 US11734306B2 (en) 2013-12-12 2020-05-29 Data replication method and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/089176 WO2015085530A1 (zh) 2013-12-12 2013-12-12 数据复制方法及存储系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/177,877 Continuation US10545994B2 (en) 2013-12-12 2016-06-09 Data replication method and storage system

Publications (1)

Publication Number Publication Date
WO2015085530A1 true WO2015085530A1 (zh) 2015-06-18

Family

ID=50709724

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/089176 WO2015085530A1 (zh) 2013-12-12 2013-12-12 数据复制方法及存储系统

Country Status (7)

Country Link
US (3) US10545994B2 (zh)
EP (4) EP3358466B1 (zh)
CN (1) CN103814360B (zh)
ES (2) ES2921209T3 (zh)
HU (1) HUE036878T2 (zh)
PL (1) PL3663922T3 (zh)
WO (1) WO2015085530A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986128A (zh) * 2021-10-26 2022-01-28 杭州宏杉科技股份有限公司 Lun数据复制方法及装置

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE036878T2 (hu) 2013-12-12 2018-08-28 Huawei Tech Co Ltd Adatreplikálási eljárás és tárolórendszer
CN104331344A (zh) * 2014-11-11 2015-02-04 浪潮(北京)电子信息产业有限公司 一种数据备份的方法及装置
CN104391760B (zh) * 2014-11-24 2018-03-09 华为技术有限公司 一种数据备份的方法、服务器和系统
CN104462290B (zh) * 2014-11-27 2017-10-10 华为技术有限公司 文件系统复制方法及装置
CN105740091B (zh) * 2014-12-10 2019-04-26 华为技术有限公司 数据备份、恢复方法和设备
CN104461784A (zh) * 2014-12-11 2015-03-25 浪潮(北京)电子信息产业有限公司 一种基于单进度位图的克隆拷贝方法和系统
US11082321B1 (en) * 2015-06-15 2021-08-03 Amazon Technologies, Inc. Gossip-style database monitoring
US10372676B2 (en) * 2015-07-30 2019-08-06 Netapp Inc. Stale data detection
US9755979B2 (en) * 2015-11-19 2017-09-05 Viasat, Inc. Enhancing capacity of a direct communication link
CN106855834B (zh) * 2015-12-08 2020-11-10 华为技术有限公司 一种数据备份方法、装置和系统
CN106919465B (zh) * 2015-12-24 2021-03-16 伊姆西Ip控股有限责任公司 用于存储系统中多重数据保护的方法和装置
EP3427157B1 (en) * 2016-03-09 2023-10-11 Alibaba Group Holding Limited Cross-regional data transmission
US10235088B1 (en) * 2016-03-30 2019-03-19 EMC IP Holding Company LLC Global replication policy for multi-copy replication
JP2018073231A (ja) * 2016-11-01 2018-05-10 富士通株式会社 ストレージシステムおよびストレージ装置
CN108733541A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于实时确定数据复制进度的方法和设备
CN107220145B (zh) * 2017-05-19 2021-06-01 北京计算机技术及应用研究所 一种闪存数据库数据恢复的方法
CN108363642A (zh) * 2018-01-10 2018-08-03 长沙开雅电子科技有限公司 一种分布式存储系统数据恢复实现方法
US10785656B2 (en) * 2018-01-22 2020-09-22 Qualcomm Incorporated Bandwidth part switch management
CN108733513A (zh) * 2018-05-07 2018-11-02 杭州宏杉科技股份有限公司 一种数据更新方法及装置
CN108762984B (zh) * 2018-05-23 2021-05-25 杭州宏杉科技股份有限公司 一种连续性数据备份的方法及装置
US10684782B2 (en) * 2018-08-02 2020-06-16 EMC IP Holding Company LLC Data protection decision based on device usage
CN109491832A (zh) * 2018-09-26 2019-03-19 华为技术有限公司 数据容灾方法与站点
US11144251B2 (en) * 2018-10-17 2021-10-12 International Business Machines Corporation Providing a global unique identifier for a storage volume
CN111125001A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 快照复制方法、电子设备和计算机程序产品
CN109597718A (zh) * 2018-12-10 2019-04-09 浪潮(北京)电子信息产业有限公司 一种容灾平台及一种容灾方法
CN109725855B (zh) * 2018-12-29 2023-09-01 杭州宏杉科技股份有限公司 一种连跳复制的方法及装置
CN109885428B (zh) * 2019-02-02 2021-02-26 杭州宏杉科技股份有限公司 一种连跳复制的方法及装置
CN110119329B (zh) * 2019-02-27 2024-02-23 咪咕音乐有限公司 数据复制容灾方法及容灾系统
CN109976952A (zh) * 2019-04-09 2019-07-05 苏州浪潮智能科技有限公司 云计算系统中跨域备份的方法和装置
CN110162153A (zh) * 2019-04-16 2019-08-23 上海马小修智能科技有限公司 一种数据容灾切换系统
US11068364B2 (en) * 2019-07-12 2021-07-20 Intelliflash By Ddn, Inc. Predictable synchronous data replication
CN112307013A (zh) * 2019-07-30 2021-02-02 伊姆西Ip控股有限责任公司 用于管理应用系统的方法、设备和计算机程序产品
JP7347157B2 (ja) * 2019-11-22 2023-09-20 富士通株式会社 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置
US11144232B2 (en) * 2020-02-21 2021-10-12 EMC IP Holding Company LLC Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes
CN111367856B (zh) * 2020-02-28 2024-03-29 杭州宏杉科技股份有限公司 数据复制方法、装置、电子设备及机器可读存储介质
US20220156278A1 (en) * 2020-11-16 2022-05-19 Adp, Llc Database Data Replication Tool
US11500556B1 (en) * 2021-04-23 2022-11-15 EMC IP Holding Company LLC Storage system with passive witness node
US11960504B2 (en) 2021-09-02 2024-04-16 Bank Of America Corporation Data replication over low-latency network
CN117312353A (zh) * 2022-06-22 2023-12-29 华为云计算技术有限公司 数据管理的方法、装置、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656624A (zh) * 2008-08-18 2010-02-24 中兴通讯股份有限公司 一种多节点应用级容灾系统及容灾方法
CN101809558A (zh) * 2007-07-27 2010-08-18 特文斯崔塔公司 远程异步数据复制系统和方法
US20110191628A1 (en) * 2009-12-18 2011-08-04 Fujitsu Limited Computer program, method, and apparatus for controlling data allocation
CN102306115A (zh) * 2011-05-20 2012-01-04 成都市华为赛门铁克科技有限公司 异步远程复制方法、系统及设备

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2086691C (en) * 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US7194590B2 (en) * 2001-02-28 2007-03-20 Hitachi, Ltd. Three data center adaptive remote copy
US7139885B2 (en) * 2001-12-27 2006-11-21 Hitachi, Ltd. Method and apparatus for managing storage based replication
US6981177B2 (en) * 2002-04-19 2005-12-27 Computer Associates Think, Inc. Method and system for disaster recovery
US7546364B2 (en) * 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
GB2409553B (en) * 2002-09-16 2007-04-04 Commvault Systems Inc System and method for optimizing storage operations
JP2006072635A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd データ処理システムおよびそのコピー処理方法
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US7606844B2 (en) * 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7603581B2 (en) 2006-03-17 2009-10-13 International Business Machines Corporation Remote copying of updates to primary and secondary storage locations subject to a copy relationship
US7480827B2 (en) * 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US7734884B1 (en) * 2006-12-29 2010-06-08 Emc Corporation Simultaneous concurrent and cascaded triangular asynchronous replication
US7752404B2 (en) 2006-12-29 2010-07-06 Emc Corporation Toggling between concurrent and cascaded triangular asynchronous replication
CN100454265C (zh) 2007-06-07 2009-01-21 华为技术有限公司 镜像恢复方法、存储设备及网络系统
US8135930B1 (en) * 2008-07-14 2012-03-13 Vizioncore, Inc. Replication systems and methods for a virtual computing environment
US8949449B2 (en) 2008-10-15 2015-02-03 Aster Risk Management Llc Methods and systems for controlling fragment load on shared links
JP2010176185A (ja) 2009-01-27 2010-08-12 Hitachi Ltd リモートコピーシステム及びパス設定支援方法
US9948708B2 (en) 2009-06-01 2018-04-17 Google Llc Data retrieval based on bandwidth cost and delay
CN102236588A (zh) 2010-04-23 2011-11-09 阿里巴巴集团控股有限公司 数据远程备份方法、设备及系统
WO2011150391A1 (en) * 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US8271447B1 (en) * 2010-06-18 2012-09-18 Emc International Company Mirroring metadata in a continuous data protection environment
US8332687B1 (en) * 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US9244967B2 (en) * 2011-08-01 2016-01-26 Actifio, Inc. Incremental copy performance between data stores
CN102567145A (zh) 2011-12-28 2012-07-11 云海创想信息技术(无锡)有限公司 一种远程拷贝方法
US9430542B2 (en) * 2012-06-05 2016-08-30 International Business Machines Corporation User initiated replication in a synchronized object replication system
HUE036878T2 (hu) 2013-12-12 2018-08-28 Huawei Tech Co Ltd Adatreplikálási eljárás és tárolórendszer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101809558A (zh) * 2007-07-27 2010-08-18 特文斯崔塔公司 远程异步数据复制系统和方法
CN101656624A (zh) * 2008-08-18 2010-02-24 中兴通讯股份有限公司 一种多节点应用级容灾系统及容灾方法
US20110191628A1 (en) * 2009-12-18 2011-08-04 Fujitsu Limited Computer program, method, and apparatus for controlling data allocation
CN102306115A (zh) * 2011-05-20 2012-01-04 成都市华为赛门铁克科技有限公司 异步远程复制方法、系统及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986128A (zh) * 2021-10-26 2022-01-28 杭州宏杉科技股份有限公司 Lun数据复制方法及装置
CN113986128B (zh) * 2021-10-26 2024-05-28 杭州宏杉科技股份有限公司 Lun数据复制方法及装置

Also Published As

Publication number Publication date
EP3062226A4 (en) 2017-01-18
EP4089540A1 (en) 2022-11-16
US10545994B2 (en) 2020-01-28
CN103814360A (zh) 2014-05-21
US11734306B2 (en) 2023-08-22
US20200293551A1 (en) 2020-09-17
PL3663922T3 (pl) 2022-07-25
EP3663922B1 (en) 2022-04-06
ES2921209T3 (es) 2022-08-19
CN103814360B (zh) 2016-03-30
EP3358466A1 (en) 2018-08-08
HUE036878T2 (hu) 2018-08-28
EP3663922A1 (en) 2020-06-10
ES2669274T3 (es) 2018-05-24
EP3062226B1 (en) 2018-02-21
EP3358466B1 (en) 2019-11-13
EP3062226A1 (en) 2016-08-31
US20160292250A1 (en) 2016-10-06
US20200125583A1 (en) 2020-04-23
US10706072B2 (en) 2020-07-07

Similar Documents

Publication Publication Date Title
US11734306B2 (en) Data replication method and storage system
US12073091B2 (en) Low overhead resynchronization snapshot creation and utilization
WO2018040591A1 (zh) 一种远程数据复制方法及系统
US10176064B2 (en) Granular consistency group replication
JP6344798B2 (ja) データ送信方法、データ受信方法、及びストレージデバイス
US10467246B2 (en) Content-based replication of data in scale out system
JP6264666B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス
US11768624B2 (en) Resilient implementation of client file operations and replication
CN108351821A (zh) 数据恢复方法及存储设备
WO2015085529A1 (zh) 数据复制方法、数据复制装置和存储设备
CN105988901B (zh) 数据复制方法及存储系统
US11327844B1 (en) Automated cloud recovery to provide a full usable application image
CN106528338A (zh) 一种远程数据复制方法、存储设备及存储系统
JP6376626B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス

Legal Events

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

Ref document number: 201380002271.4

Country of ref document: CN

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

Ref document number: 13899249

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2013899249

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013899249

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE