WO2020133473A1 - 一种备份数据的方法、装置和系统 - Google Patents

一种备份数据的方法、装置和系统 Download PDF

Info

Publication number
WO2020133473A1
WO2020133473A1 PCT/CN2018/125779 CN2018125779W WO2020133473A1 WO 2020133473 A1 WO2020133473 A1 WO 2020133473A1 CN 2018125779 W CN2018125779 W CN 2018125779W WO 2020133473 A1 WO2020133473 A1 WO 2020133473A1
Authority
WO
WIPO (PCT)
Prior art keywords
lun
storage device
backup
data
snapshot
Prior art date
Application number
PCT/CN2018/125779
Other languages
English (en)
French (fr)
Inventor
刘继朋
张磊
伏高顶
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP23193020.7A priority Critical patent/EP4300314A3/en
Priority to CN201880100576.1A priority patent/CN113330426B/zh
Priority to EP18944545.5A priority patent/EP3896571B1/en
Priority to CN202211675288.3A priority patent/CN116010164A/zh
Priority to PCT/CN2018/125779 priority patent/WO2020133473A1/zh
Publication of WO2020133473A1 publication Critical patent/WO2020133473A1/zh
Priority to US17/362,046 priority patent/US20210326211A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • 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/2079Bidirectional 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/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/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Definitions

  • This application relates to the field of storage technology, and in particular, to a method, device, and system for backing up data.
  • HyperMetro LUNs are physically separate sets of storage LUNs. By configuring the HyperMetro relationship, two independent LUNs are associated into one logical LUN, and the two physical LUNs have the same identifier (WWN). When a service host uses an active-active LUN, it only needs to recognize the LUN ID (WWN) and only needs to read/write data to the LUN ID (WWN). The driver layer of the LUN distributes the read/write requests to a certain load balancing strategy to Two physical LUNs.
  • the backup administrator will configure the backup strategy separately in both sets of storage. Because the data in the two sets of storage is exactly the same, the backup data will be extremely redundant.
  • the storage system includes a first storage device, a second storage device, and a backup storage device.
  • a first logical unit LUN is built in the first storage device
  • a second logical unit LUN is built in the second storage device
  • the first LUN and the second LUN are set in a hyperactive relationship.
  • the method includes: when the first storage device initiates a backup of the first LUN, sending a request message for querying a data consistency point to the second storage device to which the second LUN belongs, the request message Including the IO data status record of the first LUN, the IO data status record is used to record the IO of the lower disk in the first LUN.
  • the storage system includes a first storage device, a second storage device, and a backup storage device.
  • the first storage device has a first LUN built therein.
  • a second LUN is built in the second storage device, and the first LUN and the second LUN are set in an active-active relationship.
  • the method includes: when the first storage device initiates a backup of the first LUN, suspend the host IO, and write the write IO buffered in the first storage device to the hard disk.
  • the first storage device suspends the host IO while sending a notification message to the second storage device, where the notification message is used to instruct the host IO to suspend and create a snapshot.
  • the first storage device receives the snapshot identifier returned by the second device, and before writing the write IO cached in the first storage device, the first storage device creates a snapshot of the first LUN and creates it in the backup storage device The backup image of this backup, and write the difference data between this snapshot and the last snapshot into the backup image.
  • the present application also provides a storage system including a first storage device, a second storage device, and a backup storage device, wherein the first storage device is built with a first logical unit LUN, and the second storage device A second logical unit LUN is built in, and the first LUN and the second LUN are set to an active-active relationship. among them,
  • the first storage device is configured to send a request message for querying a data consistency point to a second storage device to which the second LUN belongs when initiating backup of the first LUN, the request message includes all The IO data status record of the first LUN, the IO data status record is used to record the IO of the disk under the first LUN, and receives the response message including the information of the data consistency point returned by the second storage device, Create a snapshot of the first LUN according to the data consistency point.
  • the first storage device is also used to receive a request for querying difference data, and return corresponding difference data according to the request, the difference data is written to the backup image created for the backup in the backup storage device .
  • the second storage device is configured to accept the request message for querying the data consistency point, according to the IO data status record of the first LUN and the IO data of the second LUN stored in the second storage device The status record obtains the information of the data consistency point, and returns the response message to the second storage device.
  • the backup storage device is used to provide the backup storage image.
  • a storage device at least one LUN is provided in the storage device, the at least one LUN includes a first LUN, and the first LUN and a second LUN in other storage devices Set to a HyperMetro relationship.
  • the storage device includes a dual-end consistent snapshot device,
  • the dual-end consistency snapshot device is configured to send a request message for querying a data consistency point to a second storage device to which the second LUN belongs when initiating backup of the first LUN, in the request message Including the IO data status record of the first LUN, the IO data status record is used to record the IO of the disk under the first LUN, and receives the response returned by the second storage device including the information of the data consistency point Message, create a snapshot of the first LUN according to the data consistency point.
  • the first LUN is used to receive a request for querying difference data, and return corresponding difference data according to the request.
  • the difference data is written into the backup image created for the backup in the backup storage device.
  • An embodiment of the present invention further provides a storage device, where the storage device includes a network interface 2100, a processor 2102, a memory 2104, a storage interface 2106, and a storage array 2108.
  • the above-mentioned first LUN is set based on the storage array 2108.
  • the network interface 2100, the processor 2102, the memory 2104, and the storage interface 2106 are connected by a bus, and the storage interface is communicatively connected to the storage array.
  • the network interface 2102 may be provided by one or more network interface cards (Network Interface Card) for accessing the network.
  • the storage interface 2108 is used to connect to the storage array 2108.
  • the storage array 2108 is used to store data.
  • the storage array 2108 may also be replaced by other storage devices.
  • the memory 2104 stores some program instructions. When these instructions are executed by the processor 2102, they are used to implement the above-mentioned functions of the storage device.
  • An embodiment of the present invention further provides a storage medium on which the above-mentioned program instructions are stored.
  • FIG. 1 is a schematic diagram of a data backup system networking provided by an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of another data backup system networking provided by an embodiment of the present invention.
  • Figure 2-1 is a schematic diagram of a storage device provided by an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a method for backing up data according to an embodiment of the present invention.
  • Figures 3-1 to 3-7 are schematic diagrams of a data change process provided by an embodiment of the present invention.
  • An embodiment of the present invention proposes a data backup system for backing up data in a storage device.
  • the data backup system includes a storage device A, a storage device B, and a backup storage device, and the storage device A and the storage device B are physically independent of each other.
  • a logical unit LUN A is created in storage device A
  • LUN B is created in storage device B.
  • LUN A and LUN B are configured with an active-active relationship. It can be understood that, in the actual networking, storage devices A and B may be configured with more LUNs.
  • one LUN is used as an example in the embodiment of the present invention.
  • storage device A is called a first storage device in the following device and system embodiments
  • storage device B is called a second storage device
  • LUN A is called a first LUN
  • LUN is called Is the second LUN, where,
  • the first storage device is configured to send a request message for querying a data consistency point to a second storage device to which the second LUN belongs when initiating backup of the first LUN, the request message includes all The IO data status record of the first LUN, the IO data status record is used to record the IO of the disk under the first LUN, and receives the response message including the information of the data consistency point returned by the second storage device, Create a snapshot of the first LUN according to the data consistency point.
  • the first storage device is also used to receive a request for querying difference data, and return corresponding difference data according to the request. The difference data is written into the backup image created for the backup in the backup storage device.
  • the second storage device is configured to accept the request message for querying the data consistency point, according to the IO data status record of the first LUN and the IO data of the second LUN stored in the second storage device
  • the status record obtains the information of the data consistency point, and returns the response message to the second storage device.
  • the backup storage device is used to provide the backup storage image.
  • At least one LUN is set in the first storage device, the at least one LUN includes a first LUN, and the first LUN and the second LUN in other storage devices (second storage devices) are set in an active-active relationship . among them,
  • the first storage device further includes a dual-end consistent snapshot device, which is used to initiate a backup to the second storage device to which the second LUN belongs when initiating a backup of the first LUN
  • a dual-end consistent snapshot device which is used to initiate a backup to the second storage device to which the second LUN belongs when initiating a backup of the first LUN
  • the request message includes the IO data status record of the first LUN
  • the IO data status record is used to record the IO of the disk under the first LUN
  • the response message returned by the second storage device and including the information of the data consistency point creates a snapshot of the first LUN according to the data consistency point.
  • the first LUN is used to receive a request for querying difference data, and return corresponding difference data according to the request, and the difference data is written into the backup image created for the backup in the backup storage device.
  • the aforementioned IO data status record includes the identification of the LUN that received the IO from the host and the serial number of the IO that was received from the host.
  • the dual-end consistency snapshot device is also used to receive a request message for querying a data consistency point, the request message is from a second storage device to which the second LUN belongs, and the request message includes the first IO data status records of the second LUN, the IO data status records are used to record the IO of the lower disk in the second LUN.
  • the dual-end consistent snapshot device is also used to determine, according to the IO data status record of the first LUN and the IO data status record of the second LUN stored by the storage device, the host writes to the first LUN In the IO, the IO that has been off the first storage device and has been off the second storage device to determine the latest serial number of the IO is the first data consistency point.
  • the IO data status record of the first LUN and the IO data status record of the second LUN determine that the IO that the host writes to the IO of the second LUN has been under the second storage device and has been in the The IO under the first storage device is determined to determine the latest serial number of the IO as the second data consistency point.
  • the data consistency point includes the first data consistency point and the second data consistency point.
  • the storage device when there is no gateway in the backup system, further includes a dual policy management device and a backup device.
  • the backup device is configured to receive a backup strategy creation request and forward the backup strategy creation request to the dual-end policy management device, wherein the backup strategy creation request is used to create a backup strategy.
  • the dual-end policy management device is configured to set a dual-end backup strategy according to the active-active relationship between the first LUN and the second LUN, and the dual-end backup strategy includes a first backup applicable to the first LUN Strategy and a second backup strategy applicable to the second LUN. Wherein, the dual-end strategy generates a backup task for the first LUN according to the first backup strategy.
  • the dual-end policy management device is specifically configured to determine the serial number of the write IO included in the snapshot according to the first data consistency point and the second data consistency point, and create a snapshot volume according to the The serial number of the write IO searches for corresponding data from the IO data status record of the first LUN and the IO data status record of the second LUN, and writes the found data to the snapshot volume.
  • an embodiment of the present invention further provides a storage device, where the storage device includes a network interface 2100, a processor 2102, a memory 2104, a storage interface 2106, and a storage array 2108.
  • the above-mentioned first LUN is set based on the storage array 2108.
  • the network interface 2100, the processor 2102, the memory 2104, and the storage interface 2106 are connected by a bus, and the storage interface is communicatively connected to the storage array.
  • the network interface 2102 may be provided by one or more network interface cards (Network Interface Card) for accessing the network.
  • the storage interface 2108 is used to connect to the storage array 2108.
  • the storage array 2108 is used to store data.
  • the storage array 2108 may also be replaced by other storage devices.
  • the memory 2104 stores some program instructions. When these instructions are executed by the processor 2102, they are used to implement the above-mentioned functions of the storage device.
  • an embodiment of the present invention provides a method for backing up data, which is applied to the data backup system in FIG. 1 described above.
  • LUN A in storage device A and LUN B in storage device B form a pair of active-active LUNs.
  • the backup administrator creates a backup strategy through one of the backup devices A or B.
  • the backup administrator creates a backup strategy through the backup device A as an example.
  • Step 302 The backup device A receives the backup strategy creation request sent by the backup administrator, and forwards the backup strategy creation request to the dual-end policy management device A.
  • the backup strategy creation request is used to request the creation of a backup strategy.
  • the backup strategy creation request includes a device identifier, an identifier of a backup object that needs to be backed up, backup storage device information, and a backup strategy.
  • the device identifier since it is the backup device A that receives the backup policy creation request, the device identifier includes the IP address and port number of the storage device A.
  • the backup object to be backed up is LUN A, so the identification information of the backup object to be backed up is the ID of LUN A.
  • the backup storage device information includes the IP address, port number of the backup storage device, and the path where the backup data is stored.
  • the backup strategy may refer to a period that triggers the backup, for example, every hour, or other strategies, which can be set according to actual needs. .
  • the opposite end is the identification of the opposite end of the storage device B, including the IP address of the opposite end and the port number of the listening port of the opposite end.
  • Step 304 The dual-end policy management device A sets the dual-end backup policy according to the received backup policy creation request and saves it locally.
  • the dual-end policy management device A finds that LUN A is configured with an active-active relationship and is paired with LUN B, so the dual-end policy management device A sets a dual-end backup strategy, which includes the need for the LUN A Policy information to be executed (for convenience of description, hereinafter referred to as a first backup strategy) and policy information to be executed on the LUN B (for convenience of description, hereinafter referred to as a second backup strategy).
  • the first backup strategy includes: the identification of the storage device A, the identification (ID) of the LUN A, the identification of the backup storage device and the backup path (/backup/), and the time to perform the backup on the LUN A (for example: 1 o'clock) , 3 o'clock, 5 o'clock, 7 o'clock, 9 o'clock, 11 o'clock..., this time can be flexibly configured according to different settings of the administrator, here is just one example.
  • the second backup strategy includes: storage device B's logo , The LUN B logo, the backup storage device logo and the backup path (/backup/), the time when the peer performs the backup (such as: 2 o'clock, 4 o'clock, 6 o'clock, 8 o'clock, 10 o'clock, 12 o'clock).
  • WWN World Wide Name
  • LUN A and LUN B set up a hyperactive relationship, and the WWNs of the two are the same.
  • the dual-end policy management device A may return a response message to the backup device A, indicating that the backup policy has been set.
  • Step 306 The dual-end policy management device A and the dual-end policy management device B create a communication channel and establish a heartbeat mechanism.
  • the dual-end policy management device A sends a heartbeat to the dual-end policy management device B. If the heartbeat of the dual-end policy management device B is not received within a specified time (for example: 2 minutes), the storage device B is considered to be faulty.
  • a specified time for example: 2 minutes
  • Step 308 The dual-end policy management device A sends the first backup strategy and the second backup policy to the dual-end policy management device B through the communication channel.
  • Step 310 The dual-end policy management device B receives the backup policy from the dual-end policy management device A and saves it locally.
  • the dual-end policy management device B receives the first backup strategy and the second backup strategy, and according to the identifier of the backup device, it can be clarified that the local backup strategy is the second backup strategy, and the peer backup strategy is the first backup strategy.
  • Step 312 The dual-end policy management device A schedules a backup strategy, generates a backup task, and sends a backup request to the backup device A.
  • the request for creating a backup includes an identifier (ID) of the backup task.
  • the dual-end policy management device A calls the first backup policy as an example.
  • the condition in the second backup strategy is satisfied, for example, at 2 o'clock, it may be that the dual-end policy management device B calls the local backup strategy and sends a backup request to the backup device B.
  • Step 314 After receiving the request for creating a backup, the backup device A sends a request message for creating a consistent snapshot to the dual-end consistent snapshot device A.
  • the request message for creating a consistent snapshot includes the ID of LUN A.
  • Step 316 The dual-end consistent snapshot device A and the dual-end consistent snapshot device B establish a communication channel for sending messages to each other during communication.
  • the dual-end consistent snapshot device A can find the dual-end consistent snapshot device B where the LUN B is located according to the hyperactive relationship, and establish a communication channel therewith.
  • the communication channel established in the above step 306 may also be multiplexed to send a message.
  • Step 318 The dual-end backup strategy management device A obtains the IO data status record of the data of the LUN A, and sends the IO data status record to the dual-end consistent snapshot device B.
  • the IO data status record is mainly used to describe the data written to the LUN A.
  • the IO data status record includes: the serial number of the received host IO and the initiator identification.
  • Step 320 The dual-end consistent snapshot device B obtains the IO data status record of the data of LUN B, and finds the data consistency point according to the received IO data status record of the data of LUN A and the IO data status record of the data of LUN B , And generate data consistency point information, create a snapshot based on the data consistency point, and generate difference tracking information.
  • Step 322 The dual-end consistent snapshot device B returns the data consistency point information and the snapshot ID of the LUN B to the dual-end consistent snapshot device A.
  • Step 324 After receiving the data consistency point information returned by the dual-end consistency snapshot device B, the dual-end consistency snapshot device A creates a snapshot of the local LUN A according to the data consistency point information, and generates difference tracking information.
  • Step 326 LUN A returns the snapshot ID of LUN A and the received snapshot ID of LUN B to backup device A.
  • Step 328 The backup device A generates the backup image ID of the backup and sends information of the backup task to the dual-end policy management device A.
  • the information of the backup task includes: LUN ID of LUN A, snapshot of LUN A ID, backup task ID of this backup, backup image ID of this backup.
  • Step 330 The dual-end policy management device A stores the received LUN ID of LUN A, snapshot ID of LUN A, backup task ID, and backup image ID in storage device A.
  • the dual-end policy management apparatus A can classify the above information as the backup task information of the LUN A.
  • Step 332 The backup device A sends the backup task information and the snapshot information of the LUN B to the dual-end policy management device B.
  • Step 334 The dual-end policy management device B stores the LUN ID of LUN B in B, the snapshot ID of LUN B, the backup task ID, the backup image ID, and other task information in the backup task information of LUN A.
  • the backup image on the backup storage device is also the same. Therefore, the backup task IDs saved at both ends are the same, and the backup image IDs saved at both ends are also the same.
  • Step 336 The backup device A sends a request message to the dual-end consistency snapshot device A to request the difference information.
  • Step 338 The dual-end consistent snapshot device A determines the difference information, and returns the determined difference information to the backup device A.
  • the dual-end consistent snapshot device A If it is the first time to create a snapshot, the dual-end consistent snapshot device A returns the full amount of bitmap information. If it is not the first time to create a snapshot, the dual-end consistent snapshot device A finds the parent snapshot corresponding to the parent snapshot information passed in by the backup module Bitmap information, and find the bitmap information corresponding to the current snapshot according to the snapshot information passed in by the backup module, and compare to generate difference bitmap information, which is the difference information.
  • Step 340 The backup device A requests the data indicated by the difference information from the LUN A.
  • differential data data that have changed between two backups, and for convenience of description, they are referred to as differential data hereinafter.
  • the information indicated by the difference information can be found through this snapshot.
  • the specific process can refer to the usual snapshot incremental backup technology, which will not be repeated here.
  • Step 342 LUN A returns the difference data.
  • Step 344 The backup device A generates a storage path of the backup image and writes the obtained difference data to the path to generate the backup image.
  • the dual-end management device B schedules a backup strategy and generates a backup task, it will also refer to the above steps 312-344. Both the B and A sides will create a snapshot for this backup task, and according to the two adjacent snapshots Data is backed up with differential data. If, in the above step 338, the dual-end consistent snapshot device A returns the full amount of bitmap information, that is to say the first backup, then in this backup, the dual-end consistent snapshot device B according to the previous A end The snapshot of the full backup and the snapshot of this backup are compared to obtain the differential bitmap information.
  • each backup is based on the differential data calculation of the peer's snapshot during the last backup, therefore, the full backup data is only stored once in the backup storage device.
  • the backup image stored in the backup storage device accurately reflects the data changes on LUN A and LUN B every hour, which means that there is no duplication between the backup data, thereby reducing the amount of stored data.
  • the path where the backup image is stored in the backup storage may be a preset path and the WWN of the HyperMetro LUN.
  • the preset path is /backup/ in the above first backup strategy, and the storage path is specifically /backup/WWN. Since the WWNs of LUN A and LUN B are the same, the backup image generated for LUN A and the backup image generated for LUN B are stored in the same path. Form backup image 1, backup image 2, backup image 3, and so on as shown in FIG.
  • storage device B can also replace storage device A to continue the next backup on the basis of the previous backup.
  • the backup image stored in the backup storage device is an incremental backup, and there is no duplication of data between the backup images.
  • Task ID, offset address where the data in LUN A has been backed up, backup image ID, etc. are saved to the backup storage device.
  • the storage device B can take over the backup task executed before the storage device A fails, and realize the resumable transmission. Referring to FIG. 4, the process of realizing the resuming of the breakpoint includes:
  • Step 402 The dual-end policy management device B takes over the backup task executed before the storage device A fails, and sends a request to the backup device B to create a breakpoint resume transmission task.
  • the dual-end policy management device B can find the backup task for LUN A on the storage device A side in the task information of the LUN A stored in step 334, and carry the backup task ID of the backup task in the creation breakpoint In the request to resume the task.
  • Step 404 The backup device B sends a query request to the backup storage device to query the breakpoint information, and the query request includes the backup task ID.
  • Step 406 The backup storage device finds the breakpoint information in the backup storage device according to the backup task ID, and sends the breakpoint information to the backup device B.
  • the breakpoint information includes a backup task ID, an offset address where the data in LUN A has been backed up, and a backup image ID.
  • Step 408 The backup device B sends a request message to the dual-end consistency snapshot device B to request the difference information.
  • Step 410 The dual-end consistent snapshot device B determines the difference information, and returns the determined difference information to the backup device B.
  • Step 412 The backup device B requests the data indicated by the difference information from the LUN B.
  • Step 414 LUN B returns the difference data.
  • Step 416 The backup device B continues to back up the uncompleted backup of LUN A according to the breakpoint information.
  • backup device B can find the starting point to be backed up, and find the backup where the data should be stored In the image.
  • Step 418 Save the breakpoint information to the backup storage device regularly.
  • LUN A on storage device A and LUN B on storage device B are active-active LUNs. Take the process that the host writes four characters of abcd to LUN A and LUN B to illustrate the process of finding data consistency points.
  • Step 3202 The host writes the character'a' to the LUNA of the storage device A, and writes the character'b' to the LUN B of the storage device B.
  • the host includes the character'a' in the write IO request and sends it to the storage device A, and similarly includes the character'b' in the write IO request and sends it to the storage device B.
  • the host's write IO request first reaches the dual-end consistency snapshot device A in the storage device A, and the dual-end consistency snapshot device A stores the IO request issued by the host to the host IO queue in.
  • the dual-end consistency snapshot device B in the storage device B stores the IO request issued by the host to the host IO queue.
  • LUN A and LUN B are active-active LUNs, data needs to be synchronized with each other.
  • Step 3204 Referring to FIG. 3-2, the dual-end consistency snapshot device A synchronizes the character'a' received by the local end to the opposite-end dual-end consistency snapshot device, that is, the dual-end consistency snapshot device B; dual-end The consistency snapshot device B synchronizes the character'b' received by the local end to the opposite-end dual-end consistency snapshot device, that is, the dual-end consistency snapshot device A.
  • the dual-end consistent snapshot device A sets a number for the character'a' and stores the number in the memory. When the character'a' is permanently stored on the disk and the IO data status record is updated, the The number is deleted from the memory, and the number includes the identification number of the initiator and the serial number of the initiator receiving the IO request.
  • the number set for the character ‘a’ here can be (A, 1), where A is the identifier of the initiator (terminal A), and 1 indicates the first IO request received from the host.
  • the number for the character ‘b’ is (B, 1), where B is the identifier of the initiator (terminal B), and 1 indicates the first IO request received from the host.
  • the initiator refers to the initiator of the synchronous data, that is, the end that directly receives the data from the host side.
  • the number of the character'b' is also stored in the memory first. When the character'b' is permanently stored on the disk and the IO data status record is updated, the number is deleted from the memory.
  • Step 3206 Referring to FIG. 3-3, the dual-end consistent snapshot devices A and B respectively release the data carried by the IO in the internal IO queue of the local end. Update the IO data status record after the disk is released.
  • the IO data state record in the dual-end consistent snapshot device A includes [(B, 1)]; the IO data state record in the dual-end consistent snapshot device B includes [(A, 1)].
  • the storage device is a storage array
  • the write IO after the write IO reaches the array, it is stored in the cache first, and then written to the hard disk according to the strategy.
  • the IO written to the cache will record the corresponding IO log.
  • Each IO log may include the serial number of the received IO, the offset position of the IO, the size of the IO, and the data of the IO.
  • the IO log can use the aging mechanism, which means that the IO log written over a certain period of time will be deleted.
  • the host does not care when the data written in the cache is actually written to the hard disk. Therefore, the write IO is usually recorded in the IO log in the implementation, which means that the data has been off the disk for the host. Therefore, in the embodiment of the present invention, the next disk may refer to storing data in a cache in the array.
  • Step 3208 Referring to FIGS. 3-4, the host writes the character'c' to LUNA of the storage device A, and writes the character'd' to the LUN B of the storage device B.
  • the dual-end consistent snapshot device A stores the write IO request issued by the host to the host IO queue.
  • the dual-end consistent snapshot device B stores the IO request issued by the host to the host IO queue.
  • Step 3210 Referring to FIGS. 3-5, the dual-end consistency snapshot device A synchronizes the character'c' received by the local end to the opposite-end dual-end consistency snapshot device, that is, the dual-end consistency snapshot device B; dual-end The consistency snapshot device B synchronizes the character'd' received by the local end to the opposite-end dual-end consistency snapshot device, that is, the dual-end consistency snapshot device A.
  • the number for the character ‘c’ is (A, 2), where A is the identification of the initiator (terminal A), and 2 indicates the second IO request received from the host.
  • the number for the character ‘d’ is (B, 2), where B is the identifier of the initiator (terminal B), and 2 indicates the second IO request received from the host.
  • Step 3212 The dual-end policy management device A invokes the local backup policy. If the conditions for executing the backup are met at this time, a backup task is generated, and a backup creation request is sent to the backup device A.
  • the backup device A After receiving the request for creating a backup, the backup device A sends a request message for creating a consistent snapshot to the dual-end consistent snapshot device A.
  • the dual-end consistency snapshot device A sends a data consistency point query message to the dual-end consistency snapshot device B, and the query message carries the local end recorded in the local IO data status record Information about the data that has been dropped.
  • [(B, 1)] recorded in the IO data status record at this time is sent to the dual-end consistent snapshot device B.
  • the dual-end consistency snapshot device B searches the data consistency point at the local end according to the received IO data status sent by the dual-end consistency snapshot device A.
  • the specific process is as follows:
  • the dual-end consistent snapshot device B classifies the information in the IO data status record recorded at the local end and the IO data status record recorded at the opposite end according to the initiator:
  • Step 3214 As shown in FIGS. 3-6, the dual-end consistent snapshot devices A and B respectively release the data in the first write IO request in the IO queue of the local host.
  • the double-ended consistent snapshot device A writes the character'a' to the disk
  • the double-ended consistent snapshot device B writes the character'b' to the disk.
  • the IO data status records in the dual-end consistent snapshot device A include [(B, 1), (A, 1)]; the IO data status records in the dual-end consistent snapshot device B include [(A, 1), ( B, 1)].
  • the dual-end consistency snapshot device A receives the request to create a consistency snapshot from the storage device A, and then queries the data consistency point sent to the dual-end consistency snapshot device B
  • the information of the local IO data status record included in the message is [(B, 1), (A, 1)].
  • the dual-end consistent snapshot device B classifies the information in the IO data status record recorded at the local end and the IO data status record recorded at the opposite end according to the initiator:
  • Step 3218 As shown in FIG. 3-7, at this time, the dual-end consistent snapshot device A offloads the data in the write IO request of the local memory IO queue.
  • the dual-end consistent snapshot device A refreshes the local IO data status record, and the refreshed IO data status record includes [(B, 1), (A, 1), (B, 2)].
  • the dual-end consistency snapshot device A receives the request to create a consistency snapshot from the storage device A, and then queries the data consistency point sent to the dual-end consistency snapshot device B
  • the information of the local IO data status record included in the message is [(B, 1), (A, 1), (B, 2)].
  • the dual-end consistent snapshot device B classifies the information in the IO data status record recorded at the local end and the IO data status record recorded at the opposite end according to the initiator:
  • Step 320 The dual-end consistency snapshot device B saves the IO data status record, and obtains and compares the IO data status record of the LUN B data, finds the data consistency point, and generates data consistency point information, according to the data consistency point Create snapshots and generate differential IO data status records.
  • the process of creating a snapshot according to the data consistency point mentioned in step 320 includes:
  • the data consistency point needs to be determined through the IO data status records of the local end and the peer end, so as to ensure that the data of the snapshots at both ends are consistent.
  • this implementation there is no impact on existing processing IO, and the user does not perceive it.
  • this approach is relatively complicated.
  • the embodiment of the present invention provides another simple way to ensure that the data of the snapshots at both ends are consistent.
  • the method includes:
  • Steps 502-514 are consistent with steps 302-314.
  • Step 516 After receiving the request for creating a consistent snapshot sent by the backup device, the dual-end consistent snapshot device A suspends the host IO, and removes the IO in the local host IO queue and the IO in the internal IO queue.
  • the dual-end consistency snapshot device A finds the dual-end consistency snapshot device B where the LUN B is located according to the hyperactive relationship, and establishes a communication channel therewith.
  • the above notification is sent through the communication channel.
  • Suspended host IO refers to putting the received host IO into the cache temporarily without any processing, including not putting it in the host IO queue. If the host IO is suspended and the cache space is occupied, it may cause the storage device to report an error to the host, so that the host no longer delivers IO.
  • Step 518 After the host IO of the dual-end consistent snapshot device A, it sends a notification message to the dual-end consistent snapshot device B to notify the peer to suspend the host IO and create a snapshot.
  • Step 520 After receiving the notification, the dual-end consistent snapshot device B suspends the host IO, and removes the IO in the local host IO queue and the IO in the internal IO queue. After all the data is off disk, create a snapshot.
  • Step 522 The dual-end consistent snapshot device B returns the LUN B snapshot ID to the dual-end consistent snapshot device A.
  • Step 524 After receiving the snapshot ID of the LUN B returned by the dual-end consistent snapshot device A, the dual-end consistent snapshot device A creates a snapshot of the local LUN A and generates difference tracking information.
  • Steps 526 to 544 are the same as steps 326 to 344. No longer.
  • the storage device A when the storage device A is backed up by a very simple and effective method, the data in the storage device A and the storage device B that are already off the disk are consistent, so that the backup of the two ends in the backup storage device is continuous In order to facilitate one party to take over the backup task or other work of the other party during the failure.
  • An embodiment of the present invention also provides a method for backing up data, which is applied to the backup storage system in FIG. 2 described above.
  • a backup gateway is provided between the storage device A and the storage device B and the backup storage device, and the backup gateway implements the functions of the backup device and the dual management device device.
  • the backup gateway After the backup gateway receives the backup policy creation request sent by the backup administrator, the backup gateway finds that the backup LUN needs to be configured with an active-active LUN, and then configures the dual-active backup policy for the active-active LUN. Still taking the backup relationship between LUN A and LUN B in the above embodiment as an example, here, the backup gateway no longer distinguishes between the local end and the peer end, but creates the first backup strategy for LUN A separately, for and LUN. B Create a second backup strategy. According to the first backup strategy, the storage device A is called to perform the backup of LUN A, and the second backup strategy is called for LUN B backup.
  • Steps for example, steps 306, 308, 332.
  • the above-mentioned local end and the opposite end are a relative concept.
  • the local end refers to the A end, and the opposite end refers to the B end.
  • the local end refers to the B end, and the opposite end refers to the A end.
  • the so-called off-disk refers to storing data in a magnetic disk
  • the magnetic disk refers to a disk used for persistent storage, which may include SSD, HDD, etc.
  • various aspects of the present invention, or possible implementation manners of the various aspects may be specifically implemented as a system, method, or computer program product. Therefore, various aspects of the present invention, or possible implementation manners of the various aspects, may take the form of complete hardware embodiments, complete software embodiments (including firmware, resident software, etc.), or a combination of software and hardware embodiments. These are collectively referred to as "circuits," “modules,” or “systems.” In addition, various aspects of the present invention, or possible implementation manners of the various aspects, may take the form of a computer program product, which refers to computer-readable program code stored in a computer-readable medium.
  • Computer readable media include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or devices, or any suitable combination of the foregoing, such as random access memory (RAM), read only memory (ROM), erasable Programmable read-only memory (EPROM), CD-ROM.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable Programmable read-only memory
  • CD-ROM compact disc-read only memory
  • the processor in the computer reads the computer-readable program code stored in the computer-readable medium, so that the processor can perform the functional actions specified in each step or a combination of steps in the flowchart.
  • the computer-readable program code can be executed entirely on the user's computer, partly on the user's computer, as a separate software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server . It should also be noted that, in some alternative implementations, the functions noted in the steps in the flowchart or the blocks in the block diagram may occur out of the order noted in the figures. For example, depending on the functions involved, two steps shown in succession, or two blocks, may actually be executed approximately simultaneously, or these blocks may sometimes be executed in the reverse order.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明实施例提供了一种备份数据的方法,应用于存储系统中,所述存储系统包括第一存储设备、第二存储设备和备份存储设备,所述第一存储设备中构建有第一逻辑单元LUN,所述第二存储设备中构建有第二逻辑单元LUN,所述第一LUN和所述第二LUN设置为双活关系。该方法包括在对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO。接收所述第二存储设备根据所述第一LUN的IO数据状态记录以及所述第二存储设备中存储的所述第二LUN的IO数据状态记录得到的数据一致性点的信息。根据所述数据一致性点对所述第一LUN创建快照,并提供本次快照与上次快照之间的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。由此减少存储的备份数据。

Description

一种备份数据的方法、装置和系统 技术领域
本申请涉及存储技术领域,尤其涉及到一种备份数据的方法、装置和系统。
背景技术
双活LUN是物理上独立的两套存储中LUN,通过配置双活关系,将两个独立的LUN关联成一个逻辑LUN,且两个物理LUN的标识(WWN)相同。业务主机在使用双活LUN时,只需要识别LUN标识(WWN),只需要向该LUN标识(WWN)读/写数据,LUN的驱动层会将读/写请求按照一定的负载均衡策略分发到两个物理LUN中。
为了在一端存储故障时还能让备份继续进行,备份管理员会在两套存储中分别配置备份策略。由于两套存储中的数据是完全相同的,备份数据会产生极大冗余。
发明内容
本申请提出了一种备份数据的方法,应用于存储系统中,所述存储系统包括第一存储设备、第二存储设备和备份存储设备,所述第一存储设备中构建有第一逻辑单元LUN,所述第二存储设备中构建有第二逻辑单元LUN,所述第一LUN和所述第二LUN设置为双活关系。所述的方法包括:当所述第一存储设备发起对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO。接收所述第二存储设备根据所述第一LUN的IO数据状态记录以及所述第二存储设备中存储的所述第二LUN的IO数据状态记录得到的数据一致性点的信息。根据所述数据一致性点对所述第一LUN创建快照,并提供本次快照与上次快照之间的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。
本申请提出了一种备份数据的方法,应用于存储系统中,所述存储系统包括第一存储设备、第二存储设备和备份存储设备,所述第一存储设备中构建有第一LUN,所述第二存储设备中构建有第二LUN,所述第一LUN和所述第二LUN设置为双活关系。所述的方法包括:当所述第一存储设备发起对所述第一LUN备份时,悬挂主机IO,将此前所述第一存储设备中缓存的写IO写入硬盘中。所述第一存储设备悬挂主机IO的同时向所述第二存储设备发送通知消息,所述通知消息用于指示悬挂主机IO并创建快照。接收所述第二设备返回的快照标识,且此前所述第一存储设备中缓存的写IO下盘,所述第一存储设备对所述第一LUN创建快照,在所述备份存储设备中创建本次备份的备份映像,并将本次快照与上次快照之间的差异数据写入到所述备份映像中。
本申请还提供了存储系统,所述存储系统包括第一存储设备、第二存储设备和备份存储设备,其中,所述第一存储设备中构建有第一逻辑单元LUN,所述第二存储设备中构建有第二逻辑单元LUN,所述第一LUN和所述第二LUN设置为双活关系。其中,
所述第一存储设备,用于在发起对所述第一LUN备份时,向所述第二LUN所归属的 第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO,接收所述第二存储设备返回的包括数据一致性点的信息的响应消息,根据所述数据一致性点对所述第一LUN创建快照。
所述第一存储设备,还用于接收查询差异数据的请求,根据所述请求返回相应的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。所述第二存储设备,用于接受所述查询数据一致性点的请求消息,根据所述第一LUN的IO数据状态记录以及所述第二存储设备中存储的所述第二LUN的IO数据状态记录得到所述数据一致性点的信息,向所述第二存储设备返回所述响应消息。
所述备份存储设备,用于提供所述备份存储映像。
本申请的另外一方面,还提供了一种存储设备,所述存储设备中设置有至少一个LUN,所述至少一个LUN包括第一LUN,所述第一LUN与其他存储设备中的第二LUN设置为双活关系。其中,所述存储设备包括双端一致性快照装置,
所述双端一致性快照装置,用于在发起对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO,接收所述第二存储设备返回的包括数据一致性点的信息的响应消息,根据所述数据一致性点对所述第一LUN创建快照。
所述第一LUN,用于接收查询差异数据的请求,根据所述请求返回相应的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。
本发明实施例还提供了一种存储设备,所述存储设备中包括网络接口2100、处理器2102、存储器2104、存储接口2106和存储阵列2108。上述的第一LUN是基于存储阵列2108而设置。其中,所述的网络接口2100,处理器2102、存储器2104以及存储接口2106之间通过总线连接,所述存储接口与所述存储阵列之间通信相连。其中,网络接口2102可以由一个或多个网络接口卡(Network Interface Card)来提供,用于接入网络。存储接口2108用于连接存储阵列2108。所述存储阵列2108,用于存储数据。所述存储阵列2108也可以由别的存储设备来代替。存储器2104中存储着一些程序指令,当这些指令被处理器2102执行时,用于实现所述存储设备上述的功能。
本发明实施例还提供了一种存储介质,所述存储介质上存储上述提到的程序指令。
附图说明
图1是本发明实施例提供的一种数据备份系统组网示意图;
图2是本发明实施例提供的另外一种数据备份系统组网示意图;
图2-1是本发明实施例提供的一种存储设备示意图;
图3是本发明实施例提供的一种备份数据的方法流程示意图;
图3-1至图3-7是本发明实施例提供的一种数据变化过程示意图;
具体实施方式
本发明实施例提出了一种数据备份系统,用于备份存储设备中的数据。如图1所示,该数据备份系统包括存储设备A、存储设备B以及备份存储设备,存储设备A和存储设备B在物理上相互独立。存储设备A中创建有逻辑单元LUN A,存储设备B中创建有LUN  B,其中,LUN A和LUN B配置了双活关系。可以理解的是,实际组网中存储设备A和B中可以配置有更多的LUN,为便于描述,本发明实施例中以一个LUN为例来说明。为方便描述,存储设备A,在下面的设备及系统实施例中被称为第一存储设备,而存储设备B被称为第二存储设备,LUN A被称之为第一LUN,LUN被称为第二LUN,其中,
所述第一存储设备,用于在发起对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO,接收所述第二存储设备返回的包括数据一致性点的信息的响应消息,根据所述数据一致性点对所述第一LUN创建快照。述第一存储设备,还用于接收查询差异数据的请求,根据所述请求返回相应的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。
所述第二存储设备,用于接受所述查询数据一致性点的请求消息,根据所述第一LUN的IO数据状态记录以及所述第二存储设备中存储的所述第二LUN的IO数据状态记录得到所述数据一致性点的信息,向所述第二存储设备返回所述响应消息。
所述备份存储设备,用于提供所述备份存储映像。
其中,所述第一存储设备中设置有至少一个LUN,所述至少一个LUN包括第一LUN,所述第一LUN与其他存储设备(第二存储设备)中的第二LUN设置为双活关系。其中,
所述第一存储设备还包括双端一致性快照装置,所述双端一致性快照装置,用于在发起对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO,接收所述第二存储设备返回的包括数据一致性点的信息的响应消息,根据所述数据一致性点对所述第一LUN创建快照。
所述第一LUN,用于接收查询差异数据的请求,根据所述请求返回相应的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。
可选地,上述提到的IO数据状态记录包括从主机接收到IO的LUN的标识以及从主机接收到所述IO的序号。而所述双端一致性快照装置,还用于接收查询数据一致性点的请求消息,所述请求消息来自于所述第二LUN归属的第二存储设备,所述请求消息中包括所述第二LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第二LUN中下盘的IO。
所述双端一致性快照装置,还用于根据所述存储设备存储的所述第一LUN的IO数据状态记录和所述第二LUN的IO数据状态记录确定主机写入所述第一LUN的IO中已经在所述第一存储设备下盘且已经在所述第二存储设备下盘的IO,以确定出的IO最新序号为第一数据一致性点。并,
根据所述第一LUN的IO数据状态记录和第二LUN的IO数据状态记录确定主机写入到所述第二LUN的IO中已经在所述第二存储设备下盘的IO且已经在所述第一存储设备下盘的IO,以确定出的IO最新序号为第二数据一致性点。其中,所述数据一致性点包括所述第一数据一致性点和所述第二数据一致性点。
可选地,如图2所示,当备份系统中没有网关时,所述的存储设备还包括双策略管理装置以及备份装置。其中,所述备份装置,用于接收备份策略创建请求,并将所述备份策略创建请求转发给所述双端策略管理装置,其中,所述备份策略创建请求用于创建备份策略。
所述双端策略管理装置,用于根据所述第一LUN与第二LUN之间的双活关系设置双端备份策略,所述双端备份策略包括对所述第一LUN适用的第一备份策略,以及对所述第二LUN适用的第二备份策略。其中,所述双端策略根据所述第一备份策略生成对所述第一LUN的备份任务。
可选地,所述双端策略管理装置,具体用于根据所述第一数据一致性点和所述第二数据一致性点确定本次快照包括的写IO的序号,创造快照卷,根据所述写IO的序号从所述第一LUN的IO数据状态记录以及所述第二LUN的IO数据状态记录中查找相应的数据,并将找到的数据写入快照卷。
参考图2-1,本发明实施例还提供了一种存储设备,所述存储设备中包括网络接口2100、处理器2102、存储器2104、存储接口2106和存储阵列2108。上述的第一LUN是基于存储阵列2108而设置。其中,所述的网络接口2100,处理器2102、存储器2104以及存储接口2106之间通过总线连接,所述存储接口与所述存储阵列之间通信相连。其中,网络接口2102可以由一个或多个网络接口卡(Network Interface Card)来提供,用于接入网络。存储接口2108用于连接存储阵列2108。所述存储阵列2108,用于存储数据。所述存储阵列2108也可以由别的存储设备来代替。存储器2104中存储着一些程序指令,当这些指令被处理器2102执行时,用于实现所述存储设备上述的功能。
参考图3所示,本发明实施例提供了一种备份数据的方法,应用于上述图1中的数据备份系统中。其中,存储设备A中的LUN A和存储设备B中的LUN B构成一对双活LUN。通常,备份管理员通过备份装置A或B中的一个创建备份策略,本实施例中以备份管理员通过备份装置A创建备份策略为例来说明。
步骤302:备份装置A接收到备份管理员发送的备份策略创建请求,将该备份策略创建请求转发给双端策略管理装置A,所述备份策略创建请求用于请求创建备份策略。其中,所述备份策略创建请求包括设备标识,需要备份的备份对象的标识,备份存储设备信息以及备份策略。
具体到本步骤中,由于收到备份策略创建请求的是备份装置A,因此,所述设备标识包括存储设备A的IP地址以及端口号。所述需要备份的备份对象为LUN A,所以,所述需要备份的备份对象的标识信息为LUN A的ID。所述备份存储设备信息包括备份存储设备的IP地址、端口号,以及备份数据所存储的路径。所述备份策略可以是指触发备份的周期,比如,每小时备份一次,也可以是其他的策略,可以依据实际需要设置。。
对端则是存储设备B对端的标识包括对端的IP地址以及对端的监听端口的端口号。
步骤304:双端策略管理装置A根据接收到的备份策略创建请求设置双端备份策略,并保存在本地。
其中,双端策略管理装置A发现LUN A配置有双活关系,且与其配对的是LUN B,所以双端策略管理装置A设置双端备份策略,该双端备份策略包括对所述LUN A需要执行的策略信息(为便于描述,下述称为第一备份策略)和对所述LUN B需要执行的策略信息(为便于描述,下述称为第二备份策略)。
其中,第一备份策略包括:存储设备A的标识,LUN A的标识(ID),备份存储设备的标识及备份路径(/backup/),对所述LUN A执行备份的时间(如:1点,3点,5点,7点,9点,11点…,该时间可以根据管理员的不同设置,灵活配置,此处只是举例 其中一种情况。第二备份策略包括:存储设备B的标识,LUN B的标识,备份存储设备的标识及备份路径(/backup/),对端执行备份的时间(如:2点,4点,6点,8点,10点,12点…)。本发明实施例中用的是全球名称(World Wide Name,WWN)作为LUN B和LUN A的ID。LUN A和LUN B设置的是双活关系,两者的WWN是一样的。
可选地,在步骤304之后,双端策略管理装置A可以向备份装置A返回响应消息,表明备份策略已经设置完成。
步骤306:双端策略管理装置A与双端策略管理装置B创建通信通道,并建立心跳机制。
所述双端策略管理装置A向双端策略管理装置B发送心跳,在规定的时间(如:2分钟)未接到双端策略管理装置B的心跳,就认为存储设备B存在故障。
步骤308:双端策略管理装置A通过上述通信通道将上述的第一备份策略和第二备份策略发送给双端策略管理装置B。
步骤310:双端策略管理装置B从双端策略管理装置A接收所述备份策略并保存在本地。
双端策略管理装置B接收到所述第一备份策略和第二备份策略,根据其中备份装置的标识可以明确本端的备份策略为第二备份策略,而对端的备份策略为第一备份策略。
步骤312:双端策略管理装置A调度备份策略,生成备份任务,并向备份装置A发送创建备份的请求。所述创建备份的请求中包括所述备份任务的标识(ID)。
本发明实施例中,以双端策略管理装置A调用所述第一备份策略为例。当第二备份策略中的条件满足时,比如到了2点,也可以是双端策略管理装置B调用本端的备份策略,向备份装置B发送创建备份的请求。
步骤314:备份装置A接收到创建备份的请求之后,向双端一致性快照装置A发送创建一致性快照的请求消息。所述创建一致性快照的请求消息中包括LUN A的ID。
步骤316:双端一致性快照装置A与双端一致性快照装置B建立一条通信通道,用于通信时相互发送消息。
本步骤中,双端一致性快照装置A可以根据双活关系找到LUN B所在的双端一致性快照装置B,并与之建立通信通道。可选地,本步骤中也可以复用上述步骤306中建立的通信通道来发送消息。
步骤318:双端备份策略管理装置A获取LUN A的数据的IO数据状态记录,将IO数据状态记录发送到双端一致性快照装置B。
IO数据状态记录主要用于描述写入LUN A的数据,所述IO数据状态记录包括:接收到主机IO的序列号以及发起端标识。
步骤320:双端一致性快照装置B获取LUN B的数据的IO数据状态记录,根据接收到的LUN A的数据的IO数据状态记录以及LUN B的数据的IO数据状态记录,找到数据一致性点,并生成数据一致性点信息,根据数据一致性点创建快照,生成差异跟踪信息。
步骤322:双端一致性快照装置B将所述数据一致性点信息及LUN B的快照ID返回给双端一致性快照装置A。
步骤324:双端一致性快照装置A接收到双端一致性快照装置B返回的数据一致性点信息后,根据数据一致性点信息创建本端LUN A的快照,并生成差异跟踪信息。
步骤326:LUN A将LUN A的快照ID及接收到的所述LUN B的快照ID返回给备份装置A。
步骤328:备份装置A生成此次备份的备份映像ID,向双端策略管理装置A发送本次备份任务的信息,所述本次备份任务的信息包括:LUN A的LUN ID、LUN A的快照ID、本次备份的备份任务ID、本次备份的备份映像ID。
步骤330:双端策略管理装置A将接收到的LUN A的LUN ID、LUN A的快照ID、备份任务ID,备份映像ID存储在存储设备A中。
可以理解的是,由于本次备份是由存储设备A侧发起的,双端策略管理装置A可以将上述的信息归为LUN A的备份任务信息。
步骤332:备份装置A将备份任务信息及LUN B的快照信息发送到双端策略管理装置B。
步骤334:双端策略管理装置B将存储B中LUN B的LUN ID、LUN B的快照ID、备份任务ID,备份映像ID及其他任务信息存放在LUN A的备份任务信息里。
由于针对的是同一个备份任务,在备份存储设备上的备份映像也是同一个,因此,上述两端保存的备份任务ID是一样的,两端保存的备份映像ID也是一样的。
可以理解的是,由于本次备份是由存储设备A侧发起的,因此,这些任务信息被记录为LUN A的任务信息这一类别。如果是由存储设备B侧发起的备份,那么,双端策略管理装置B将该任务信息是记录为LUN B的备份任务信息这一类别。
步骤336:备份装置A向双端一致性快照装置A发送请求消息,请求获取差异信息。
步骤338:双端一致性快照装置A确定差异信息,并将确定出的差异信息返回给备份装置A。
如果是第一次创建快照,双端一致性快照装置A返回全量的位图信息,如果不是第一次创建快照,双端一致性快照装置A根据备份模块传入的父快照信息找到父快照对应的位图信息,并且根据备份模块传入的本次快照信息找到本次快照对应的位图信息,进行比较,生成差量位图信息,该差量位图信息即所述的差异信息。
步骤340:备份装置A从LUN A请求所述差异信息所指示的数据。
可以理解的是,这些数据是两次备份之间发生了变化的数据,为便于描述,下文称之为差异数据。可以通过本次快照找到所述差异信息所指示的信息,具体的过程可以参考通常的快照增量备份技术,在此不再赘述。
步骤342:LUN A返回所述差异数据。
步骤344:备份装置A生成备份映像的存储路径并向该路径写入获得的差异数据,产 生备份映像。
同理,当双端管理装置B调度备份策略,生成备份任务时,也会参考上述步骤312-344,在B端和A端都会为此次备份任务创建快照,并且根据两次相邻快照的数据获得差异数据进行备份。如果,上述步骤338中,双端一致性快照装置A返回的是全量的位图信息,也就是说是第一次备份,那么此次备份中,双端一致性快照装置B根据上次A端的全量备份时的快照和本次备份的快照比较得出差量位图信息。
以上面举例的备份策略而言,当存储设备A对LUN A的备份完之后,下次备份是由存储设备B对LUN B的备份,也就是说双端轮流进行备份。而且,采用本发明实施例的方案,每次备份都是基于对端在上次备份时的快照进行差异数据计算,因此,全量备份数据仅在备份存储设备中存储一次。备份存储设备中存储的备份映像准确地反映出每个小时LUN A和LUN B上的数据变化,也就是说备份的数据之间不存在重复,从而减少了存储的数据量。
另外,备份映像在备份存储中存放的路径可以是预设路径与双活LUN的WWN组成。其中,所述预设路径是上述第一备份策略中的/backup/,该存放路径具体为/backup/WWN。由于LUN A和LUN B的WWN是一样的,因此,对LUN A生成的备份映像以及对LUN B生成的备份映像被存储于同一路径下。形成如图1所示的备份映像1、备份映像2和备份映像3等等。
并且,本发明实施例中,如果存储设备A故障,导致LUN A无法再写入数据,那么,存储设备B还可以代替存储设备A在上一次备份的基础上继续进行下一次备份。正如前面所言,备份存储设备中存储的备份映像是增量备份,且备份映像之间没有数据的重复。为了更好地提高效率,可以在步骤342从LUN获取数据以及步骤344将数据写入到备份存储设备的过程中定期的(例如:每备份1G数据或每隔1分钟)将断点信息(备份任务ID,LUN A中数据已备份完成的偏移地址,备份映像ID等)保存到备份存储设备。以便于当存储设备A故障后,存储设备B可以接管存储设备A故障前在执行的备份任务,并实现断点续传。参考图4,实现断点续传的过程包括:
步骤402:双端策略管理装置B接管存储设备A故障前执行的备份任务,向备份装置B发送创建断点续传任务的请求。
本步骤中,双端策略管理装置B可以在步骤334中存储的LUN A的任务信息里找到存储设备A侧对LUN A的备份任务,将该备份任务的备份任务ID携带在所述创建断点续传任务的请求中。
步骤404:备份装置B向所述备份存储设备发送查询请求,用以查询断点信息,所述查询请求中包括所述备份任务ID。
步骤406:备份存储设备根据所述备份任务ID找到备份存储设备中的断点信息,将所述断点信息发送给备份装置B。其中,所述断点信息包括备份任务ID、LUN A中数据已备份完成的偏移地址,备份映像ID。
步骤408:备份装置B向双端一致性快照装置B发送请求消息,请求获取差异信息。
步骤410:双端一致性快照装置B确定差异信息,并将确定出的差异信息返回给备份装置B。
步骤412:备份装置B从LUN B请求所述差异信息所指示的数据。
步骤414:LUN B返回所述差异数据。
步骤416:备份装置B根据所述断点信息继续备份LUN A未完成的备份。
本步骤中,由于所述断点信息中有所述备份映像ID,LUN A中数据已备份完成的偏移地址,备份装置B可以找到需要备份的起始点,以及找到该将数据存储到哪个备份映像中。
步骤418:定期将断点信息保存至所述备份存储设备中。
下面结合图3-1到图3-7来具体说明本发明实施例中是如何找到数据一致性点的。
正如前面所说的,存储设备A上的LUN A和存储设备B上的LUN B是双活LUN。以主机将abcd四个字符写到LUN A和LUN B的过程来举例说明寻找数据一致性点的过程。
步骤3202:主机将字符‘a’写入存储设备A的LUNA中,将字符‘b’写入存储设备B的LUN B中。
可以理解的是,主机将字符‘a’包含在写IO请求中发送给存储设备A,同样将字符‘b’包含在写IO请求中送给存储设备B中。如图3-1所示,主机的写IO请求先到达存储设备A中的双端一致性快照装置A上,所述双端一致性快照装置A将主机下发的IO请求存放到主机IO队列中。同理,存储设备B中的双端一致性快照装置B将主机下发的IO请求存放到主机IO队列中。
值得注意的是,此时IO数据状态记录为空。
由于LUN A和LUN B是双活LUN,因此相互之间需要同步数据。
步骤3204:参考图3-2,双端一致性快照装置A将本端接收到的字符‘a’同步到对端的双端一致性快照装置,也就是双端一致性快照装置B中;双端一致性快照装置B将本端接收到的字符‘b’同步到对端的双端一致性快照装置,也就是双端一致性快照装置A中。为便于区分,双端一致性快照装置A为字符‘a’设定编号,并将该编号存在内存中,当字符‘a’永久化存储到磁盘,且,IO数据状态记录更新之后,将该编号从内存中删除,该编号包括发起端的标识号以及发起端接收IO请求的序号。此处为字符‘a’设定的编号可以是(A,1),其中,A为发起端(A端)的标识,1则表明是从主机接收到的第一个IO请求。同理,为字符‘b’的编号为(B,1),其中,B为发起端(B端)的标识,1则表明是从主机接收到的第一个IO请求。其中,发起端是指同步数据的发起端,也就是从主机侧直接接收数据的那一端。其中,字符‘b’的编号也是先存在内存中,当字符‘b’永久化存储到磁盘,且,IO数据状态记录更新之后,将该编号从内存中删除。
步骤3206:参考图3-3,双端一致性快照装置A和B分别将本端内部IO队列中的IO所携带的数据下盘。下盘之后更新IO数据状态记录。其中,双端一致性快照装置A中的IO数据状态记录包括[(B,1)];双端一致性快照装置B中的IO数据状态记录包括[(A,1)]。
如果存储设备为存储阵列,写IO到达阵列之后,先被存入高速缓存cache里,而后再根据策略写入到硬盘中。其中,写入高速缓存的IO都会记录相应的IO日志。每条IO日志可以包括接收IO的序号、IO的偏移位置、IO的大小以及IO的数据。IO日志可以采用老化机制,也就是说写入超过一定时长的IO日志,会被删除。实际上,主机并不关心写在cache里的数据什么时候真的写入到硬盘中,因此,通常实现中将写IO记录在IO日志里,对主机而言就意味着数据已经下盘。所以,在本发明实施例中,下盘可以是指将数据存储到阵列中的cache里。
步骤3208:参考图3-4,主机将字符‘c’写入存储设备A的LUNA中,将字符‘d’写入存储设备B的LUN B中。
如步骤3202中所描述的,所述双端一致性快照装置A将主机下发的写IO请求存放到主机IO队列中。同理,双端一致性快照装置B将主机下发的IO请求存放到主机IO队列中。
步骤3210:参考图3-5,双端一致性快照装置A将本端接收到的字符‘c’同步到对端的双端一致性快照装置,也就是双端一致性快照装置B中;双端一致性快照装置B将本端接收到的字符‘d’同步到对端的双端一致性快照装置,也就是双端一致性快照装置A中。
为字符‘c’设定编号(A,2),其中,A为发起端(A端)的标识,2则表明是从主机接收到的第二个IO请求。同理,为字符‘d’的编号为(B,2),其中,B为发起端(B端)的标识,2则表明是从主机接收到的第二个IO请求。
可以理解的是,此时,字符‘c’和‘d’还没下盘,所以记录的IO数据状态的记录不更新。
步骤3212:双端策略管理装置A调用本端的备份策略,若此时执行备份的条件满足,则生成备份任务,并向备份装置A发送创建备份的请求。
备份装置A接收到创建备份的请求之后,向双端一致性快照装置A发送创建一致性快照的请求消息。
通过上述步骤316中建立的通信通道,双端一致性快照装置A向双端一致性快照装置B发送数据一致性点查询消息,所述查询消息中携带本端的IO数据状态记录中记录的本端已下盘的数据的信息。在本实施例中,将此时IO数据状态记录中记录的[(B,1)]发送给双端一致性快照装置B。
双端一致性快照装置B根据接收到的双端一致性快照装置A发送的IO数据状态记录在本端查找数据一致性点。具体的过程如下:
双端一致性快照装置B对于本端记录的IO数据状态记录和对端记录的IO数据状态记录中的信息按照发起端进行分类:
第一,查找以A端作为发起端的记录:
在A端的IO数据状态记录中查找的结果:无;
在B端的IO数据状态记录中查找的结果:[(A,1)]。
无法找到相同的点,这个结果表明,A端从主机接收到的数据还未在本地下盘,但是已经在对端(B端)下盘了,也就是说,无法找到两端均已下盘的数据。
第二,查找以B端作为发起端的记录:
在A端的IO数据状态记录中查找的结果:[(B,1)]
在B端的IO数据状态记录中查找的结果:无。
无法找到相同的点,这个结果表明,B端从主机接收到的数据还未在B端下盘,但是已经在A端下盘了,也就是说,无法找到两端均已下盘的数据。
具体创建快照的话,跟上一次快照之间就没有差异信息。
步骤3214:如图3-6所示,双端一致性快照装置A和B分别将本端主机IO队列中第一个写IO请求中的数据下盘。
也就是说,双端一致性快照装置A将字符‘a’写入磁盘,双端一致性快照装置B将字符‘b’写入磁盘。
数据下盘后,刷新本端的IO数据状态记录,其中:
双端一致性快照装置A中的IO数据状态记录包括[(B,1),(A,1)];双端一致性快照装置B中的IO数据状态记录包括[(A,1),(B,1)]。
若此时存储设备A执行备份的条件满足,双端一致性快照装置A接收到存储设备A发送的创建一致性快照的请求消息后,向双端一致性快照装置B发送的数据一致性点查询消息中包括的本端IO数据状态记录的信息为[(B,1),(A,1)]。
同理,利用上述查找数据一致性点的方法查找此时的数据一致性点。具体过程如下:
双端一致性快照装置B对于本端记录的IO数据状态记录和对端记录的IO数据状态记录中的信息按照发起端进行分类:
第一,查找以A端作为发起端的记录:
在A端的IO数据状态记录中查找的结果:[(A,1)];
在B端的IO数据状态记录中查找的结果:[(A,1)]。
找到数据一致性点(A,1),这个结果表明,A端从主机接收到的第一个写IO请求的数据已经在本地(A端)下盘,而且在对端(B端)也已经下盘。
第二,查找以B端作为发起端的记录:
在A端的IO数据状态记录中查找的结果:[(B,1)]
在B端的IO数据状态记录中查找的结果:[(B,1)]。
找到磁盘数据点(B,1),这个结果表明,B端从主机接收到的第一个写IO请求的数据已经在本地下盘,而且在对端(A端)也已经下盘。
步骤3218:如图3-7所示,如此时,双端一致性快照装置A将本端内存IO队列的写IO请求中的数据下盘。
此时,双端一致性快照装置A刷新本端的IO数据状态记录,刷新后的IO数据状态记录包括[(B,1),(A,1),(B,2)]。
若此时存储设备A执行备份的条件满足,双端一致性快照装置A接收到存储设备A发送的创建一致性快照的请求消息后,向双端一致性快照装置B发送的数据一致性点查询消息中包括的本端IO数据状态记录的信息为[(B,1),(A,1),(B,2)]。
同理,利用上述查找数据一致性点的方法查找此时的数据一致性点。具体过程如下:
双端一致性快照装置B对于本端记录的IO数据状态记录和对端记录的IO数据状态记录中的信息按照发起端进行分类:
第一,查找以A端作为发起端的记录:
在A端的IO数据状态记录中查找的结果:[(A,1)];
在B端的IO数据状态记录中查找的结果:[(A,1)]。
找到数据一致性点(A,1),这个结果表明,A端从主机接收到的第一个写IO请求的数据已经在本地(A端)下盘,而且在对端(B端)也已经下盘。
第二,查找以B端作为发起端的记录:
在A端的IO数据状态记录中查找的结果:[(B,1)]
在B端的IO数据状态记录中查找的结果:[(B,1)]。
找到数据一致性点,这个结果表明,B端从主机接收到的第一个写IO请求的数据已经在本地下盘,而且在对端(A端)也已经下盘。
步骤320:双端一致性快照装置B保存IO数据状态记录,并获取LUN B的数据的IO数据状态记录并进行对比,找到数据一致性点,并生成数据一致性点信息,根据数据一致性点创建快照,生成差异IO数据状态记录。
当确定好数据一致性点之后,步骤320中所提到的根据数据一致性点创建快照的过程包括:
根据数据一致性点,确定(A,1)和(B,1)属于本次快照;
创建快照卷,根据所述IO序号从存储设备A以及存储设备B中存储的日志中找到相应的数据,写入所述快照卷。如果有一部分因为日志老化,被删掉了,日志中的数据并不完整。所以,如果日志中不能找到所有的数据,需要去存储设备A或者存储设备B的硬盘中找相应的数据。
上述的实施例中,需要通过本端和对端的IO数据状态记录确定数据一致性点,从而保证两端快照的数据是一致的。在这种实现方式中,对现有处理IO没影响,用户不感知。但是,这种方式相对复杂。
为此,本发明实施例还提供了另外一种简单的方式来保证两端快照的数据是一致的。参考5,该方法包括:
步骤502~514与步骤302~314一致。
步骤516:双端一致性快照装置A接收到备份装置发送的创建一致性快照的请求之后,悬挂主机IO,并将此前本端主机IO队列中IO以及内部IO队列中的IO下盘。
其中,双端一致性快照装置A根据双活关系找到LUN B所在的双端一致性快照装置B,并与之建立通信通道。上述的通知是通过该通信通道发送的。悬挂主机IO是指将接收到的主机IO放进缓存暂时不做任何处理,包括不放入主机IO队列中。如果悬挂主机IO导致缓存空间被占满,有可能导致存储设备向主机报错,使得主机不再下发IO。
步骤518:双端一致性快照装置A主机IO之后,向双端一致性快照装置B发送通知消息,通知对端悬挂主机IO并创建快照。
步骤520:双端一致性快照装置B接收到通知后,悬挂主机IO,并将此前本端主机IO队列中的IO以及内部IO队列中的IO下盘。待所有数据下盘之后,创建快照。
步骤522:双端一致性快照装置B将LUN B快照ID返回给双端一致性快照装置A。
步骤524:双端一致性快照装置A接收到双端一致性快照装置B返回的LUN B的快照ID后,创建本端LUN A的快照,并生成差异跟踪信息。
步骤526~544与步骤326~344相同。不再赘述。
本发明实施例通过非常简单有效的方法使得存储设备A备份时,存储设备A和存储设备B中已经下盘的数据是一致的,从而实现了双端各自在备份存储设备中的备份是连续地,便于故障时某一方接管另一方的备份任务或者其他的工作。
本发明实施例还提供了一种备份数据的方法,该方法应用于上述图2中的备份存储系统。如图2所示,所述存储设备A和存储设备B与所述备份存储设备之间设置了备份网关,由备份网关来实现上述备份装置和双管理设备装置的功能。
当备份网关接收到备份管理员发送的备份策略创建请求之后,备份网关发现需要备份LUN配置有双活LUN,则为双活LUN配置双端备份策略。仍以上述实施例中LUN A与LUN B之间设置有备份关系为例,此处,备份网关不再区分是本端还是对端,而是分别为LUN A创建第一备份策略,为和LUN B创建第二备份策略。并根据第一备份策略调用存储设备A执行对LUN A的备份,调用第二备份策略为LUN B备份。
由于备份装置和双端策略管理装置并没有在存储设备A和存储设备B中分别设置,因此,在本实施例中没有上述中双端策略管理装置A与双端策略管理装置B之间交互的步骤,比如,步骤306、308、332。
上述的本端与对端是一个相对的概念,当执行主体为存储设备A或其中的组件时,本端就是指A端,而对端则是指B端。相反地,当执行主体为存储设备B或其中的组件时,本端就是指B端,而对端则是指A端。另外,所谓的下盘是指将数据存储到磁盘中,而磁盘是指用于持久化存储的盘,可以包括SSD、HDD等。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以 被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,本领域普通技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (16)

  1. 一种备份数据的方法,应用于存储系统中,所述存储系统包括第一存储设备、第二存储设备和备份存储设备,所述第一存储设备中构建有第一逻辑单元LUN,所述第二存储设备中构建有第二逻辑单元LUN,所述第一LUN和所述第二LUN设置为双活关系,其特征在于,所述的方法包括:
    当所述第一存储设备发起对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO;
    接收所述第二存储设备根据所述第一LUN的IO数据状态记录以及所述第二存储设备中存储的所述第二LUN的IO数据状态记录得到的数据一致性点的信息;
    根据所述数据一致性点对所述第一LUN创建快照,并提供本次快照与上次快照之间的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。
  2. 根据权利要求1所述的方法,其特征在于,所述方法包括:
    所述备份映像在所述备份存储设备中的路径包括预设路径以及所述第一LUN的WWN。
  3. 根据权1所述的方法,其特征在于,所述IO数据状态记录包括发起端标识和发起端接收到主机IO的序号,所述得到数据一致性点的过程包括:
    所述第二存储设备根据所述第一LUN的IO数据状态记录和第二LUN的IO数据状态记录确定主机写入所述第一LUN的IO中已经在所述第一存储设备下盘且已经在所述第二存储设备下盘的IO,以确定出的IO最新序号为第一数据一致性点;并,
    根据所述第一LUN的IO数据状态记录和第二LUN的IO数据状态记录确定主机写入到所述第二LUN的IO中已经在所述第二存储设备下盘的IO且已经在所述第一存储设备下盘的IO,以确定出的IO最新序号为第二数据一致性点;其中,
    所述数据一致性点包括所述第一数据一致性点和所述第二数据一致性点。
  4. 根据权利要求3所述的方法,其特征在于,所述第二存储设备根据所述数据一致性点创建快照。
  5. 根据权利要求4所述的方法,其特征在于,所述根据所述数据一致性点创建快照包括:
    根据所述第一数据一致性点和所述第二数据一致性点确定本次快照包括的写IO的序号;
    创造快照卷,根据所述写IO的序号从所述第一LUN的IO数据状态记录以及所述第二LUN的IO数据状态记录中查找相应的数据,并将找到的数据写入快照卷。
  6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    如果所述第一LUN的写IO日志中以及所述第二LUN的写IO日志中,查找不到相应的数据,则从所述第一存储设备中或者从所述第二存储设备中查找相应的数据,并将找到的数据写入快照卷。
  7. 根据权利要求1所述的方法,在所述第一存储设备发起对所述第一LUN备份时之前,所述方法还包括:
    所述第一存储设备设置双端备份策略,所述双端备份策略包括所述第一存储设备对所述第一LUN执行的第一备份策略,以及所述第二存储设备对所述第二LUN执行的第二备份策略;
    其中,所述第一存储设备根据所述第一备份策略发起对所述第一LUN的备份。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第一存储设备将所述双端备份策略发送给所述第二存储设备;
    所述第二存储设备检测到所述第一存储设备正常时,执行所述第二备份策略;
    所述第二存储设备检测到所述第一存储设备故障时,代替所述第一存储设备执行所述第一备份策略。
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括
    在获取本次快照与上次快照之间的差异数据并写入到所述备份映像的过程中,所述第一存储设备定期向所述备份存储设备发送断点信息,所述断点信息包括备份任务ID、所述第一LUN中数据已备份完成的偏移地址,备份映像ID;
    所述代替所述第一存储设备执行所述第一备份策略包括:
    所述第二存储设备根据本端记录的对端的任务信息里找到所述第一存储设备故障前正在执行的备份的备份任务ID;
    根据所述备份任务ID在所述备份存储设备中找到断点信息,根据所述断点信息继续获取差异信息进行备份。
  10. 一种备份数据的方法,应用于存储系统中,所述存储系统包括第一存储设备、第二存储设备和备份存储设备,所述第一存储设备中构建有第一LUN,所述第二存储设备中构建有第二LUN,所述第一LUN和所述第二LUN设置为双活关系,其特征在于,所述的方法包括:
    当所述第一存储设备发起对所述第一LUN备份时,悬挂主机IO,将此前所述第一存储设备中缓存的写IO写入硬盘中;
    所述第一存储设备悬挂主机IO的同时向所述第二存储设备发送通知消息,所述通知消息用于指示悬挂主机IO并创建快照;
    接收所述第二设备返回的快照标识,且此前所述第一存储设备中缓存的写IO下盘,所述第一存储设备对所述第一LUN创建快照,在所述备份存储设备中创建本次备份的备份映像,并将本次快照与上次快照之间的差异数据写入到所述备份映像中。
  11. 根据权利要求10所述的方法,其特征在于,所述方法还包括:
    所述第二存储设备接收到所述通知消息后,悬挂本端的主机IO,并将此前所述第一存储设备中缓存的写IO下盘。
  12. 一种存储系统,所述存储系统包括第一存储设备、第二存储设备和备份存储设备,其中,所述第一存储设备中构建有第一逻辑单元LUN,所述第二存储设备中构建有第二逻辑单元LUN,所述第一LUN和所述第二LUN设置为双活关系,其特征在于,
    所述第一存储设备,用于在发起对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO,接收所述第二存储设备返回的包括数据一致性点的信息的响应消息,根据所述数据一致性点对所述第一LUN创建快照;
    所述第一存储设备,还用于接收查询差异数据的请求,根据所述请求返回相应的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中;
    所述第二存储设备,用于接受所述查询数据一致性点的请求消息,根据所述第一LUN的IO数据状态记录以及所述第二存储设备中存储的所述第二LUN的IO数据状态记录得到所述数据一致性点的信息,向所述第二存储设备返回所述响应消息;
    所述备份存储设备,用于提供所述备份存储映像。
  13. 一种存储设备,所述存储设备中设置有至少一个LUN,所述至少一个LUN包括第一LUN,所述第一LUN与其他存储设备中的第二LUN设置为双活关系,其特征在于,所述存储设备包括双端一致性快照装置,
    所述双端一致性快照装置,用于在发起对所述第一LUN备份时,向所述第二LUN所归属的第二存储设备发送查询数据一致性点的请求消息,所述请求消息中包括所述第一LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第一LUN中下盘的IO,接收所述第二存储设备返回的包括数据一致性点的信息的响应消息,根据所述数据一致性点对所述第一LUN创建快照;
    所述第一LUN,用于接收查询差异数据的请求,根据所述请求返回相应的差异数据,所述差异数据被写入到所述备份存储设备中为本次备份创建的备份映像中。
  14. 如权利要求13所述的存储设备,其特征在于,所述IO数据状态记录包括从主机接收到IO的LUN的标识以及从主机接收到所述IO的序号;
    所述双端一致性快照装置,还用于接收查询数据一致性点的请求消息,所述请求消息来自于所述第二LUN归属的第二存储设备,所述请求消息中包括所述第二LUN的IO数据状态记录,所述IO数据状态记录用于记录所述第二LUN中下盘的IO;
    所述双端一致性快照装置,还用于根据所述存储设备存储的所述第一LUN的IO数据状态记录和所述第二LUN的IO数据状态记录确定主机写入所述第一LUN的IO中已经在所述第一存储设备下盘且已经在所述第二存储设备下盘的IO,以确定出的IO最新序号为第一数据一致性点;并,
    根据所述第一LUN的IO数据状态记录和第二LUN的IO数据状态记录确定主机写入到所述第二LUN的IO中已经在所述第二存储设备下盘的IO且已经在所述第一存储设备下盘的IO,以确定出的IO最新序号为第二数据一致性点;其中,
    所述数据一致性点包括所述第一数据一致性点和所述第二数据一致性点。
  15. 如权利要求13所述的存储设备,其特征在于,所述存储设备还包括双策略管理装置以及备份装置,其中,
    所述备份装置,用于接收备份策略创建请求,并将所述备份策略创建请求转发给所述双端策略管理装置,其中,所述备份策略创建请求用于创建备份策略;
    所述双端策略管理装置,用于根据所述第一LUN与第二LUN之间的双活关系设置双端备份策略,所述双端备份策略包括对所述第一LUN适用的第一备份策略,以及对所述第二LUN适用的第二备份策略;
    其中,所述双端策略根据所述第一备份策略生成对所述第一LUN的备份任务。
  16. 如权利要求13所述的存储设备,其特征在于,
    所述双端策略管理装置,具体用于根据所述第一数据一致性点和所述第二数据一致性点确定本次快照包括的写IO的序号,创造快照卷,根据所述写IO的序号从所述第一LUN的IO数据状态记录以及所述第二LUN的IO数据状态记录中查找相应的数据,并将找到的数据写入快照卷。
PCT/CN2018/125779 2018-12-29 2018-12-29 一种备份数据的方法、装置和系统 WO2020133473A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP23193020.7A EP4300314A3 (en) 2018-12-29 2018-12-29 Data backup method, apparatus and system
CN201880100576.1A CN113330426B (zh) 2018-12-29 2018-12-29 一种备份数据的方法、装置和系统
EP18944545.5A EP3896571B1 (en) 2018-12-29 2018-12-29 Data backup method, apparatus and system
CN202211675288.3A CN116010164A (zh) 2018-12-29 2018-12-29 一种备份数据的方法、装置和系统
PCT/CN2018/125779 WO2020133473A1 (zh) 2018-12-29 2018-12-29 一种备份数据的方法、装置和系统
US17/362,046 US20210326211A1 (en) 2018-12-29 2021-06-29 Data backup method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/125779 WO2020133473A1 (zh) 2018-12-29 2018-12-29 一种备份数据的方法、装置和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/362,046 Continuation US20210326211A1 (en) 2018-12-29 2021-06-29 Data backup method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2020133473A1 true WO2020133473A1 (zh) 2020-07-02

Family

ID=71128021

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/125779 WO2020133473A1 (zh) 2018-12-29 2018-12-29 一种备份数据的方法、装置和系统

Country Status (4)

Country Link
US (1) US20210326211A1 (zh)
EP (2) EP4300314A3 (zh)
CN (2) CN116010164A (zh)
WO (1) WO2020133473A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022053033A1 (zh) * 2020-09-11 2022-03-17 华为技术有限公司 一种双活存储系统及其处理数据的方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114442943B (zh) * 2022-01-05 2023-04-25 杭州宏杉科技股份有限公司 一种数据迁移方法、系统及设备
CN116450418B (zh) * 2023-06-07 2023-08-22 成都云祺科技有限公司 基于卷备份的断点差异同步方法、系统及卷实时备份方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011154164A1 (en) * 2010-06-07 2011-12-15 Softthinks Remote backup with local buffering
CN103064763A (zh) * 2012-12-27 2013-04-24 华为技术有限公司 一种数据备份方法及相关设备、系统
CN105868053A (zh) * 2016-03-28 2016-08-17 上海上讯信息技术股份有限公司 一种基于数据块备份数据的方法与设备
CN107122263A (zh) * 2017-05-15 2017-09-01 深圳市奇摩计算机有限公司 在线恢复备份数据的方法及其实现系统和备份设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643795B1 (en) * 2000-03-30 2003-11-04 Hewlett-Packard Development Company, L.P. Controller-based bi-directional remote copy system with storage site failover capability
US6668264B1 (en) * 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
US7305530B2 (en) * 2004-11-02 2007-12-04 Hewlett-Packard Development Company, L.P. Copy operations in storage networks
US7975115B2 (en) * 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US7783603B2 (en) * 2007-05-10 2010-08-24 Dot Hill Systems Corporation Backing store re-initialization method and apparatus
US7962458B2 (en) * 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8250031B2 (en) * 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US9460028B1 (en) * 2012-12-27 2016-10-04 Emc Corporation Non-disruptive and minimally disruptive data migration in active-active clusters
US9116737B2 (en) * 2013-04-30 2015-08-25 Vmware, Inc. Conversion of virtual disk snapshots between redo and copy-on-write technologies
US11537480B1 (en) * 2014-09-30 2022-12-27 Acronis International Gmbh Systems and methods of backup and recovery of journaling systems
CN106852174A (zh) * 2014-10-22 2017-06-13 慧与发展有限责任合伙企业 使用区块盘呈现的数据恢复
CN109558273B (zh) * 2014-11-21 2022-06-14 华为技术有限公司 一种磁盘阵列备份方法、电子设备及磁盘阵列
US10423493B1 (en) * 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
US9952767B2 (en) * 2016-04-29 2018-04-24 Netapp, Inc. Consistency group management
US10162563B2 (en) * 2016-12-02 2018-12-25 International Business Machines Corporation Asynchronous local and remote generation of consistent point-in-time snap copies
CN106776147B (zh) * 2016-12-29 2020-10-09 华为技术有限公司 一种差异数据备份方法和差异数据备份装置
CN107220104A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种虚拟机备灾方法和装置
CN111078464B (zh) * 2018-10-22 2024-06-25 华为技术有限公司 一种备份数据的方法、装置和系统
US11144401B2 (en) * 2018-11-16 2021-10-12 Vmware, Inc. Component aware incremental backup, restore, and reconciliation solution

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011154164A1 (en) * 2010-06-07 2011-12-15 Softthinks Remote backup with local buffering
CN103064763A (zh) * 2012-12-27 2013-04-24 华为技术有限公司 一种数据备份方法及相关设备、系统
CN105868053A (zh) * 2016-03-28 2016-08-17 上海上讯信息技术股份有限公司 一种基于数据块备份数据的方法与设备
CN107122263A (zh) * 2017-05-15 2017-09-01 深圳市奇摩计算机有限公司 在线恢复备份数据的方法及其实现系统和备份设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022053033A1 (zh) * 2020-09-11 2022-03-17 华为技术有限公司 一种双活存储系统及其处理数据的方法

Also Published As

Publication number Publication date
CN116010164A (zh) 2023-04-25
US20210326211A1 (en) 2021-10-21
EP3896571B1 (en) 2023-10-04
CN113330426B (zh) 2022-12-27
EP3896571A4 (en) 2022-04-27
EP4300314A3 (en) 2024-04-10
CN113330426A (zh) 2021-08-31
EP3896571A1 (en) 2021-10-20
EP4300314A2 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
US10108367B2 (en) Method for a source storage device sending data to a backup storage device for storage, and storage device
US9256605B1 (en) Reading and writing to an unexposed device
US8738813B1 (en) Method and apparatus for round trip synchronous replication using SCSI reads
US9740573B1 (en) Dynamic LUN resizing in a replication environment
US10140303B1 (en) Application aware snapshots
US8429362B1 (en) Journal based replication with a virtual service layer
US9710177B1 (en) Creating and maintaining clones in continuous data protection
US9081754B1 (en) Method and apparatus for cascaded replication using a multi splitter
US9582382B1 (en) Snapshot hardening
US8898519B1 (en) Method and apparatus for an asynchronous splitter
US8850143B1 (en) Point in time access in a replication environment with LUN resizing
US8769336B1 (en) Method and apparatus for preventing journal loss on failover in symmetric continuous data protection replication
US9535907B1 (en) System and method for managing backup operations of virtual machines
US9189341B1 (en) Method and apparatus for multi-copy replication using a multi-splitter
US10083093B1 (en) Consistent replication in a geographically disperse active environment
US10061666B1 (en) Method and apparatus for adding a director to storage with network-based replication without data resynchronization
US9317375B1 (en) Managing cache backup and restore for continuous data replication and protection
WO2017177941A1 (zh) 主备数据库切换方法和装置
US10565071B2 (en) Smart data replication recoverer
US9619172B1 (en) Method and system for managing changed block tracking and continuous data protection replication
US9639295B1 (en) Method and apparatus for reducing splitter latency using parallel splitting
US20080005288A1 (en) Storage system and data replication method
US20210326211A1 (en) Data backup method, apparatus, and system
EP3319258B1 (en) Service take-over method and storage device, and service take-over apparatus
CN106331166A (zh) 一种存储资源的访问方法及装置

Legal Events

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

Ref document number: 18944545

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018944545

Country of ref document: EP

Effective date: 20210714