Method and system for backing up and restoring data

By configuring backup agents and LUN agents on the server SAN node, data backup or recovery can be performed directly using the virtual disk interface of the target backup device. This solves the problems of complex system configuration, high cost and performance bottlenecks in traditional methods, and achieves efficient data protection and recovery.

CN114911649BActive Publication Date: 2026-04-10EMC IP HLDG CO LLC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2017-06-02
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Traditional data protection methods for server SAN nodes suffer from complex system configurations, high costs, and performance bottlenecks, making it difficult for existing technologies to provide efficient data protection strategies.

Method used

Configure backup agents and LUN agents on server SAN nodes. By interacting with target agents of multiple backup devices, data backup or recovery can be performed directly using the virtual disk interface of the target backup devices. This avoids the need to configure additional backup servers, simplifies system configuration, and improves end-to-end performance.

Benefits of technology

It simplifies system configuration, reduces costs, improves data protection efficiency, avoids the impact of the backup process on application performance, and enhances backup and recovery efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114911649B_ABST
    Figure CN114911649B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and system for backing up and restoring data. The method comprises: obtaining usage and health conditions of a backup device; reporting the obtained usage and health conditions to a backup agent in a server storage area network (SAN) node connected to the backup device; and in response to detecting a virtual disk control command from the server SAN node, controlling a virtual disk interface of the backup device such that data within a logical unit number (LUN) required by the server SAN node is backed up to or restored from the backup device, the virtual disk interface providing an interface to a virtual disk of the backup device based on a predetermined binding relationship between the LUN and the virtual disk.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related Applications

[0002] This application is a divisional application of the application with the application number 201710409481.5, the application date of June 2, 2017, and the invention patent application name of "Method and system for backing up and restoring data". TECHNICAL FIELD

[0003] The present disclosure relates to data management and protection. More specifically, the present disclosure relates to a method for backing up and restoring data of a server storage area network node and a system thereof, and a backup device and a proxy method thereof. BACKGROUND

[0004] A storage area network (SAN) is a high-speed storage dedicated network independent of a business network, taking block-level data as the basic access object. The composition of a typical SAN includes servers, storage devices, host bus adapter (HBA) cards for connecting the storage devices, switches, and the like. With the increasing application of server SAN, the backup and restoration of data in the server SAN node is becoming more and more important. In particular, how to better solve the problems of timely and periodic backup, long-term archiving, disaster recovery, copy management, compression / redundancy deletion, etc. of the server SAN node is crucial to the server SAN, especially the server SAN in the enterprise environment.

[0005] The conventional data protection methods of the server SAN all have deficiencies. For example, the server SAN native data protection method cannot provide rich protection strategies for the data protection of the server SAN; the system configuration of the backup server combined with the data protection method of the backup device is complex and costly, and the backup server can cause a performance bottleneck of the system. SUMMARY

[0006] The present disclosure provides a method for backing up and restoring data, which can simplify system configuration, overcome system performance bottlenecks, and improve data protection efficiency.

[0007] According to a first aspect of the present disclosure, a method of backing up and restoring data is provided. The method comprises: determining, at a server storage area network (SAN) node, a logical unit number (LUN) to be protected in the server SAN node based on a communication between a backup agent of the server SAN node and a LUN agent; determining a target backup device based on a communication between the backup agent and a target agent of each of a plurality of backup devices connected to the server SAN node; and in response to a trigger of the backup or the restore, sending a virtual disk control command to the target backup device to cause data in the LUN to be protected to be backed up to or restored from the target backup device via an activated virtual disk interface of the target backup device.

[0008] According to a second aspect of the present disclosure, a system for a server storage area network (SAN) node is also provided. The system comprises: a memory configured to store one or more programs; and a processing unit coupled to the memory and configured to execute the one or more programs to cause the management system to perform a plurality of actions, the actions comprising: determining, at a server storage area network (SAN) node, a logical unit number (LUN) to be protected in the server SAN node based on a communication between a backup agent of the server SAN node and a LUN agent; determining a target backup device based on a communication between the backup agent and a target agent of each of a plurality of backup devices connected to the server SAN node; and in response to a trigger of the backup or the restore, sending a virtual disk control command to the target backup device to cause data in the LUN to be protected to be backed up to or restored from the target backup device via an activated virtual disk interface of the target backup device.

[0009] According to a third aspect of the present disclosure, a method of an agent for a backup device is provided. The method comprises: obtaining a usage status and a health status of the backup device; reporting the obtained usage status and health status to a backup agent in a server SAN node connected to the backup device; and in response to detecting a virtual disk control command from the server SAN node, controlling a virtual disk interface of the backup device to cause data in a LUN to be protected in the server SAN node to be backed up to or restored from the backup device.

[0010] According to a fourth aspect of the present disclosure, a backup device is provided. Comprising: a memory configured to store one or more programs; a processing unit coupled to the memory and configured to execute the one or more programs to cause the management system to perform a plurality of actions, the actions comprising: obtaining usage and health conditions of the backup device; reporting the obtained usage and health conditions to a backup agent in a server SAN node connected with the backup device; in response to detecting a virtual disk control command from the server SAN node, controlling a virtual disk interface of the backup device to cause data in a LUN to be protected in the server SAN node to be backed up to the backup device or recovered from the backup device.

[0011] According to a fifth aspect of the present disclosure, a computer program product is provided, the computer program product being tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions that, when executed, cause a machine to perform the method of the first aspect or the third aspect of 19-22.

[0012] The summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. The summary is not intended to identify key features or essential features of the disclosure, and is not intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0013] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which like reference characters refer to like parts throughout the figures, and in which:

[0014] Figure 1 An architecture diagram of a conventional server SAN node backup and recovery data system 100 is shown;

[0015] Figure 2 An architecture diagram of a server SAN node backup and recovery data system 200 according to an embodiment of the present disclosure is shown;

[0016] Figure 3 A signal interaction schematic diagram of a server SAN node backup and recovery data system 300 according to an embodiment of the present disclosure is shown;

[0017] Figure 4 A flowchart of a method 400 of backup and recovery data according to an embodiment of the present disclosure is shown;

[0018] Figure 5 A flowchart of an agent method 500 of a backup device according to an embodiment of the present disclosure is shown;

[0019] Figure 6A read-write method 600 flowchart of a virtual disk interface of a backup device according to an embodiment of the present disclosure is shown;

[0020] Figure 7 An I / O flow diagram in a read-write method 700 of a virtual disk interface of a backup device according to an embodiment of the present disclosure is shown;

[0021] Figure 8 An architecture diagram of a system 800 of backing up and restoring data of a node of a server SAN according to an embodiment of the present disclosure is shown;

[0022] Figure 9 A workflow of backing up data of a node of a server SAN according to an embodiment of the present disclosure is shown;

[0023] Figure 10 A workflow of restoring data of a node of a server SAN according to an embodiment of the present disclosure is shown;

[0024] Figure 11 A block diagram of an electronic device 1100 suitable for implementing an embodiment of the present disclosure is shown schematically.

[0025] In the various figures, like or corresponding elements are denoted with the same or corresponding reference numerals. DETAILED DESCRIPTION

[0026] Preferred embodiments of the present disclosure will be described herein below with reference to the accompanying drawings. While preferred embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.

[0027] The term "comprising" and variations thereof as used herein are intended to mean "including but not limited to." The term "or" as used herein is intended to mean "and / or." The term "based on" means "based, at least in part, on." The terms "one example embodiment" and "an embodiment" mean "at least one example embodiment." The term "another embodiment" means "at least one additional embodiment." The terms "first," "second," and the like can refer to different or identical objects. Other explicitly and implicitly recited definitions can also be included below.

[0028] As described above, conventional methods for backing up and restoring data of server SAN nodes mainly include two kinds, one is a server SAN native data protection solution, i.e. a server SAN node runs backup jobs by using its own idle computing and network resources; the other is a backup server based data protection solution that combines backup devices, i.e. a backup server runs backup software to backup data of server SAN nodes to backup devices. Both of the two kinds of solutions have disadvantages. For example, the former cannot provide rich protection strategies for data protection of server SANs; the latter has complex system configuration and high cost, and the backup server involved can cause performance bottleneck of the system. That is, conventional methods for backing up and restoring data of server SAN nodes all have technical defects.

[0029] For example, Figure 1 A conventional backup and restore data system 100 of server SAN nodes based on backup server combined backup devices is shown in an architecture diagram. As shown in the diagram, the system 100 includes multiple server SAN nodes, for example, shown as 110, 120. An application program only needs to run directly on a server SAN instead of on a separate application server, and the server SAN node can provide computing resources for the application program. In addition, the system 100 also includes a backup server 130 and a backup device 140, which are connected through a SAN network 150. The backup server 130 is used to move data from the server SAN node to the backup device by the backup software (for example, Networker or Avamar) running thereon. The backup server 130 is used to save a catalog but not user data. The backup device 140 is used to copy user data from the server SAN, which usually has large capacity of storage resources. Since the server SAN can include many nodes, the above 110 and 120 are only exemplary, and the number of nodes is increasing in recent years, for example, Scale IO supports up to 1024 nodes.

[0030] On one hand, to meet the data backup and recovery of so many nodes, larger storage devices and extra high-configuration backup servers are required. This greatly increases the cost of system configuration. While in the case that the server SAN nodes themselves have free computing / network resources to run backup jobs, users usually expect a solution with lower cost and simpler configuration. On the other hand, since the backup server 130 needs to run backup software to migrate data between the server SAN nodes 110 and 120 and the backup device 140, the backup server 130 needs to interface with the backup device 140 and the server SAN nodes 110 and 120, which not only increases the complexity of system configuration, but also makes the overall performance of the system vulnerable to the performance of the backup server 130, i.e., the backup server 130 forms a performance bottleneck of the entire system 100.

[0031] To at least partially address one or more of the above-referenced issues and other potential issues, example embodiments of the present disclosure propose a solution for backup and recovery of data for server SAN nodes. The solution determines the LUNs to be protected on the server SAN nodes and the target backup devices to provide protection based on the interactions among a backup agent, a LUN agent configured on the server SAN nodes, and a target agent configured on each of the plurality of backup devices, and implements direct data backup or recovery between the LUNs to be protected and the target backup devices using the virtual disk interfaces of the target backup devices. Since the solution moves data from the primary storage of the server SAN nodes directly to the target backup devices through the virtual disk interfaces of the target backup devices, the end-to-end performance is improved. And since the use of extra-configuration backup servers is avoided, the connection and configuration of the data center are simplified, and the configuration cost is significantly saved.

[0032] Figure 2 An architectural diagram of a backup and recovery data system 200 of a server SAN node according to an embodiment of the present disclosure is shown. It should be understood that the structure and function of the system 200 shown is for the purpose of example only and does not imply any limitation on the scope of the present disclosure. Embodiments of the present disclosure can be embodied in different structures and / or functions. Figure 2

[0033] As shown in FIG. 2, the system 200 includes a server SAN node 210, a backup server 230, and a plurality of backup devices 240. The server SAN node 210 includes a backup agent 211, a LUN agent 212, and a plurality of LUNs 213. The backup server 230 includes a target agent 231. The plurality of backup devices 240 includes a plurality of target agents 241. Figure 2 ​As shown, the system 200 includes, for example, a plurality of server SAN nodes and a plurality of backup devices connected through a network SAN 230. In some embodiments, the network SAN 230 is, for example, a FC-SAN or an IP-SAN, where the FC-SAN forwards SCSI protocol through a fiber channel protocol and the IP-SAN forwards SCSI protocol through a TCP protocol. The system 200 includes, for example, server SAN nodes 202 and 202A, and includes backup devices 222, 222A, 222B and 222C. In some embodiments, the backup devices 222 and 222A are, for example, backup devices configured to form a local data center, and the backup devices 222B and 222C are, for example, remote backup devices that establish communication through a wide area network WAN 232, such as a cloud server for cloud storage.

[0034] Regarding the server SAN, in some embodiments, it is, for example, a VSAN, ScaleIO or Ceph system. It is capable of performing daily / weekly / weekly / monthly backup of application data on a regular basis. Therefore, a user is able to recover a complete copy of the application data along a timeline. As Figure 2 As shown, each server SAN node 202 and 202A is configured with a backup agent 204, a logical unit number (LUN) agent 206 and an application 218. The backup agent 204 is directly running on the server SAN node for controlling the server SAN node to perform backup and recovery operations of data, such as copying data to be protected to a target backup device. The LUN agent 206 is configured on the main storage 220 of the server SAN node for reporting usage status of LUNs. In some embodiments, the main storage 220 of the server SAN node is, for example, pooled as a storage pool including a plurality of LUNs, and the LUN agent 206 is, for example, configured on each LUN for reporting usage status of the LUN, such as reporting usage rate and / or access frequency of each LUN to the backup agent 204 so as to determine LUNs to be protected by the backup agent 204. Since the LUN agent is configured, it is convenient to determine LUNs that are really to be protected in the server SAN, and to avoid wasting resources to protect idle LUNs or mirror LUNs in the server SAN, thereby improving backup efficiency and saving backup resources.

[0035] Regarding the backup device, as Figure 2As shown, the backup device 222 is configured with a target agent 224 and a virtual disk interface (Vdisk interface) 226. The target agent 224 is used to collect the status of the backup of the backup device 222 and report it to the backup agent 204 for the backup agent 204 to select a proper target backup device among multiple backup devices. After the target backup device receives the virtual disk control command from the server SAN node, the virtual disk 226 interface of the backup device is controlled to allow the data in the LUN to be protected in the server SAN node to be backed up to or recovered from the target backup device. In some embodiments, the backup device 222 is, for example, a Data Domain system, which builds a virtual storage pool including multiple virtual disks based on a Data Domain Data Protection Device (DDR), and the DDR includes a storage management system module, such as a Data Domain Storage Management Subsystem (DD SMS). After the DD SMS in the DDR receives the virtual disk control command sent by the server SAN node, the read and write from the virtual disk interface 226 are activated, so that the server SAN node 202 can access the virtual disk interface 226 and directly back up the data to be protected to the target storage device or directly recover from the target storage device via the virtual disk interface 226.

[0036] Since the backup agent 204 is directly run on the server SAN node, and the data is directly moved from the server SAN node to the target backup device using the virtual disk interface of the target backup device. Not only the additional special backup server can be avoided, but also the application can be affected when performing backup and recovery, and the end-to-end performance can be improved. The subsequent content will be further combined Figure 8 An embodiment of a backup and recovery data system is exemplarily described.

[0037] Regarding the backup agent of the server SAN node, in some embodiments, the backup agent 204 further includes a device monitoring module 208, an error management module 210, a capacity balancing module 212, a member management module 214, and a backup / recovery I / O engine module 216. The composition and functions of the backup agent 204, as well as the signal exchange relationship between the backup agent 204 and the logical unit number (LUN) agent 206, the application 208, and the backup agent 224 in the backup device, are described below. Figure 3 The composition and functions of the backup agent 204, as well as the signal exchange relationship between the backup agent 204 and the logical unit number (LUN) agent 206, the application 208, and the backup agent 224 in the backup device, are described below. Figure 3 A signal interaction diagram of a backup and recovery data system 300 of a server SAN node according to an embodiment of the present disclosure is shown.

[0038] With respect to the device monitoring module 208, it communicates with the target agent 224 for monitoring the status of the backup device. The status of the backup device is, for example, the backup resource usage and health of the backup device 222. In some embodiments, the device monitoring module 208 detects the health of the backup device by a certain time interval "heartbeat" signal response between the device monitoring module 208 and the target agent 224; when the "heartbeat" signal response stops, the device monitoring module 208 determines that the backup device 222 where the target agent 224 is located has failed.

[0039] With respect to the failure management module 210, it communicates with the device monitoring module 208 and the member management module 214 for determining the target backup device and reporting the determination result to the member management module 214, and for executing the failover strategy. In some embodiments, the failure management module 210 listens to the failure event reported by the device monitoring module 208 and determines the target backup device based on at least one of the usage status of the backup device, the health of the backup device, and the size of the data to be protected (e.g., the size of the data in the LUN to be protected). For example, if a backup device is found to have failed, the failure management module 210 selects another backup device as the target backup device for the server SAN node for the upcoming backup job.

[0040] With respect to the capacity balancing module 212, it communicates with the LUN agent 206 and the member management module 214 for obtaining the usage status of the LUNs in the primary storage 220 of the server SAN node and reporting the same to the member management module 214. In some embodiments, the capacity balancing module 212 obtains the usage rate and access frequency information of each LUN in the primary storage 220 of the server SAN node through the communication between the LUN agents 224 and reports the same to the member management module 214. In addition, the capacity balancing module 212 is also used for capacity balancing among the backup devices.

[0041] With respect to the member management module 214, it communicates with the failure management module 210, the capacity balancing module 212, the backup / restoration I / O engine module 216, and the application on the server SAN node for managing the backup device. In some embodiments, the member management module 214 is used for determining the binding relationship between the LUN to be protected and the virtual disk of the backup device, and maintaining the status of the backup device according to the result reported by the failure management module 210.

[0042] Regarding the backup / recovery I / O engine module 216, it communicates with the member management module 214 and the main storage of the server SAN to stop the application's I / O in response to a backup or recovery trigger, redirecting I / O to the LUN to be protected. For example, in response to a backup or recovery trigger, the application needs to pause I / O to maintain application consistency; the backup / recovery I / O engine module 216 redirects I / O to the LUN to be protected and assists in snapshot creation. Through the aforementioned functions of the backup / recovery I / O engine module 216, the execution of backup / recovery tasks can be performed without simultaneously impacting application performance. Since the backup agent of the server SAN node communicates and interacts with the target agent through the aforementioned modules, it enables better management and support of multiple separate backup devices, such as determining the target backup device, capacity balancing, and failover. Therefore, the system has better scalability, larger storage capacity, and can support the backup and recovery of a large number of server SAN nodes.

[0043] Figure 4 A flowchart of a method 400 for backing up and restoring data according to an embodiment of this disclosure is shown. The following is in conjunction with... Figure 2 Detailed description of the Chinese system 200 Figure 4 Methods for backing up and restoring data on server SAN nodes. For ease of discussion, without loss of generality, as shown below... Figure 2 Method 400 is described using the server SAN node 202 and backup device 222 as examples. Figure 4 In this process, each action is performed, for example, by server SAN node 202. Method 400 may also include additional actions not shown and / or the actions shown may be omitted; the scope of this disclosure is not limited in this respect.

[0044] At block 402, based on the communication between the backup agent 204 and the LUN agent 206 of the server SAN node 202, the server SAN node determines the LUNs in the server SAN node that need to be protected. In some embodiments, the storage resources in the server SAN node 202 can be divided into working LUNs and idle LUNs, and it is not necessary to backup and restore the data in the idle LUNs. The present disclosure learns the usage of the LUNs in the server SAN node storage 220 through the LUN agent 206, and determines the LUNs that need to be protected based on the usage of the LUNs, and thus can only backup and restore the data in the LUNs that need to be protected, thereby significantly improving the backup efficiency and saving the backup resources of the target backup devices. For example, in some embodiments, the capacity balancing module 212 of the backup agent 204 obtains the usage rate and the access frequency information of each LUN in the server SAN node storage 220 through the communication between the LUN agents 206, and reports the information to the member management module 214. The member management module 214 determines the LUNs that need to be protected and the frequency of performing data backup or restoration based on the information, for example, the important working data such as frequently accessed data can be backed up at a higher frequency, the non-important working data can be copied at a relatively low frequency, and the idle LUNs do not need to be copied, and the like, thereby improving the backup efficiency and saving the backup resources of the target backup devices.

[0045] At block 404, the target backup device is determined based on the communication between the backup agent 204 and the target agent 224 of each of the plurality of backup devices 222. In some embodiments, the backup agent 204 determines the target backup device based on at least one of the usage of each backup device reported by each target agent 224, the health status of the backup device, and the size of the data in the LUNs that need to be protected determined at block 402.

[0046] At block 406, in response to the trigger of backup or recovery, a virtual disk control command is sent to the target backup device to cause the data in the LUN to be backed up to or recovered from the target backup device via the activated virtual disk interface 226 of the target backup device. Since the data is moved directly from the server SAN node to the backup device via the virtual disk interface of the target backup device, no additional backup server is needed, which saves the configuration cost and improves the end-to-end performance. In some embodiments, the virtual disk interface is, for example, a SCSI interface of the target backup device, i.e., a Data Domain data protection device DDR. In response to the trigger of backup or recovery, for example, after a snapshot is created on the server SAN primary storage 220, the server SAN node 202 sends a virtual disk control command to the determined target backup device, for example, to the Data Domain storage management subsystem (e.g., a DD SMS) on the target backup device 222, i.e., a Data Domain data protection device DDR. The Data Domain storage management module activates the read and write of the virtual disk interface 226 of the backup device 222 in response to the disk control command, so as to cause the data in the LUN to be backed up to or recovered from the target backup device via the virtual disk interface 226 of the target backup device. In some embodiments, in response to the first trigger of backup, a full backup is performed for the data of the LUN to be protected; then the changed data in the LUN to be protected is tracked, and all data changes in the LUN to be protected are tracked by using a block modification tracking (CBT). For example, the changed data can be stored in modified blocks by using a multi-level hierarchical storage service. In response to the second trigger of backup or recovery, an incremental backup or recovery is performed for the data of the LUN to be protected, i.e., an incremental backup or recovery is performed for the data of the changed blocks. The incremental backup or recovery continues to track all data changes in the LUN to be protected by using the block modification tracking (CBT).

[0047] The primary storage 220 of the server SAN node 202 is constructed based on a multi-level hierarchical storage technology. For the server SAN node 202, the virtual disk in the backup device DDR is visible on the server SAN node 202 side, but all data thereof is actually stored on the backup device 222, for example, on a backup device Data Domain system. At the backup agent, the virtual disk is determined for the LUN to be protected based on the predetermined binding relationship between the LUN in the server SAN node and the virtual disk of the target backup device

[0048] The following describes the agent method 500 of the target backup device in cooperation with the data backup and recovery method 400 of the server SAN node. Figure 5 The following describes the agent method 500 of the target backup device in cooperation with the data backup and recovery method 400 of the server SAN node. Figure 5A flowchart of a proxy method 500 of a backup device according to an embodiment of the present disclosure is shown. For convenience of discussion, the method 500 is described with the server SAN node 202 and the backup device 222 as shown, without loss of generality. In the description below, each action is performed, for example, by the backup device 222. The method 500 can further include additional actions not shown and / or can omit actions shown, without limitation in this regard. Figure 2 Figure 5

[0049] At block 502, the usage and health status of the backup device 222 are acquired. In some embodiments, the usage and health status of each backup device storage resource are acquired by the target proxy 224 of each backup device 222 for determination of the target backup device. In addition, the usage of the backup device storage resource can also be used for capacity balancing of the backup devices.

[0050] At block 504, the acquired usage and health status of the backup device 222 are reported to the target proxy 204 in the server SAN node 202 connected to the backup device. In some embodiments, the target proxy 224 reports the acquired usage and health status of the backup device storage resource to the backup proxy 204 of the backup monitoring module 208, so that the monitoring module 208 further reports the acquired backup device status to the member management module 214 for management and maintenance of each backup device, and to the error management module 210 for determination of the target backup device.

[0051] At block 506, in response to detecting a virtual disk control command, read and write of the virtual disk interface are activated so that data in the LUN to be protected in the server SAN node is backed up to the backup device or recovered from the backup device. In some embodiments, after the data domain storage management subsystem DD SMS in the DDR of the backup device receives the virtual disk control command sent by the server SAN node, read and write of the virtual disk interface 226 (e.g., SCSI interface) are activated so that the server SAN node can access the virtual disk interface 226, and then data in the LUN to be protected is backed up (written) to the backup device or recovered (read) from the backup device. For example, by using the storage block 904 to record changes in the data to be protected since the last backup.

[0052] Regarding the read and write process via the virtual disk interface SCSI, in some embodiments, the process can be implemented in the manner as shown. Figure 6 Figure 6 A flowchart of a read and write method 600 of a virtual disk interface of a backup device according to an embodiment of the present disclosure is shown. As shown in FIG. 6, the method 600 includes the following steps. Figure 6 ​​​As shown, at block 602, read and write of the virtual disk interface are activated. At block 604, SCSI read and write requests from the server SAN node primary storage are converted to DDFS read and write commands based on the path mapping of the virtual disk to files in the Data Domain File System (DDFS). At block 606, the DDFS read and write commands are converted to read and write to data in the backup device physical storage based on the read and write path of the Data Domain system.

[0053] With respect to the IO flow for the backup and data method via the virtual disk interface, in some embodiments, the IO flow can be implemented in the manner shown in FIG. 7. Figure 7 Figure 7 An I / O flow diagram in a backup and restore data method 700 via a virtual disk interface according to embodiments of the present disclosure is shown. The following further describes the IO flow when the server SAN node primary storage reads and writes data via the virtual disk interface of the target backup device Data Domain system. As shown, at block 702, read and write of the virtual disk interface are activated. At block 704, SCSI read and write requests from the server SAN node primary storage are converted to DDFS read and write commands based on the path mapping of the virtual disk to files in the Data Domain File System (DDFS). At block 706, the DDFS read and write commands are converted to read and write to data in the backup device physical storage based on the read and write path of the Data Domain system. Figure 7 Figure 7 ​​As shown, in the process of the server SAN node restoring data, after the read and write of the virtual disk interface of the backup device are activated 706, the host storage 220 of the server SAN node sends a SCSI read request 708 to the virtual disk interface 702 of the Data Domain system, the virtual disk interface 702 of the Data Domain system converts the SCSI read request into a read shm request for a file in the DDFS file system via the mapping 710 of the device LUN to the path, the DDFS file system reads the data stored in the physical storage unit via the DD path 714 of the Data Domain system after receiving the read shm request, and then sends a read shm (data) 716 to the virtual disk interface 702 of the Data Domain system via the DDFS file system 704, and then sends a SCSI read (data) 720 to the host storage 220 of the server SAN node via the virtual disk interface 702, and finally realizes the migration of the read data to the host storage 220 of the server SAN node. The above process of reading data from the server SAN node to the backup device substantially reflects the IO flow of the process of the server SAN node restoring data. In the process of the server SAN node backing up data, the host storage 220 of the server SAN node sends a SCSI write request 720 to the virtual disk interface 702 of the Data Domain system, the virtual disk interface 702 converts the SCSI write request into a write shm request for a file in the DDFS file system via the mapping 722 of the device LUN to the path, the DDFS file system associates the physical storage unit via the DD write path 726 of the Data Domain system after receiving the DDFS write shm request 724, and then sends a write shm response 728 to the virtual disk interface 702 via the DDFS file system 704, and then sends a SCSI write response 730 to the host storage 220 of the server SAN node via the virtual disk interface 702, and then realizes the migration of the data from the host storage of the server SAN node to the backup device. The above process of writing data from the server SAN node to the backup device substantially reflects the IO flow in the process of the server SAN node backing up data.

[0054] The following further combines Figure 8 An embodiment of a backup and restore data system is described illustratively. Figure 8 An architecture diagram of a system 800 of a server SAN node backing up and restoring data according to an embodiment of the present disclosure is shown. As shown in FIG. 8, the system 800 includes a server SAN node 802, a backup device 804, and a Data Domain system 806. Figure 8As shown, a plurality of application servers, such as servers 1-N, are configured as server SAN nodes in the SAN. The storage devices of servers 1-N can be pooled, such as into a primary storage pool 804, for caching data that can be read / written during data storage jobs and for persistently storing data, so that the storage resources of the server SAN nodes can be centrally utilized. The primary storage pool 804 includes, for example, the persistent storage space of servers 1-N. In some embodiments, the storage space of storage pool 800 can be divided into a plurality of storage blocks 806, such as LUNs 1-LUNNN, and the data of the server SAN nodes are stored in the LUNs. A backup agent 204 runs on each server SAN node.

[0055] A plurality of backup devices, such as Data Domain systems, are connected to the server SAN nodes via a network 820, such as a SAN, and are configured as storage nodes. The Data Domain systems utilize deduplication technology to achieve higher storage efficiency and lower storage cost. A virtual backup storage pool 824 is constructed based on a plurality of Data Domain data protection devices, DDRs 822, such as DDRs 1-N, and includes a plurality of virtual disks 826, such as VDisks 1-VDiskNN. Each VDisk is bound to a LUN of the server SAN node primary storage via the backup agent 204 in the server SAN node. In some embodiments, the predetermined binding relationship is determined by a member management module in the backup agent 204, such as at system startup. Each VDisk is visible on the server SAN node side. When the backup agent of the server SAN node selects an appropriate target backup device among the plurality of backup devices based on communication with the target agent of the backup device, and the read / write of the virtual disk interface, such as a SCSI interface, of the target backup device is activated, the data on the LUN of the server SAN node primary storage that needs to be protected can be directly backed up to the virtual disk VDisk of the target backup device via the virtual disk interface based on the predetermined binding relationship. The target backup device further converts the read / write command of the server SAN node for the virtual disk VDisk to read / write for the physical storage unit of the backup device based on the path mapping of the virtual disk VDisk to the file in the DDFS file system and the read / write path of the Data Domain system. It should be understood that, Figure 8 The system shown is merely an example of a system for backing up and restoring data as a server SAN node. For example, although the backup devices shown are Data Domain systems, other systems can be used as backup devices. In some examples, the server SAN nodes can be connected to the backup devices in other ways, such as via a LAN or a WAN.

[0056] The following combination Figure 9 The workflow for backing up data on a server SAN node is described exemplarily. Figure 9 A workflow for backing up data on a server SAN node according to an embodiment of this disclosure is illustrated. The server SAN node is capable of managing its own storage and accessing the virtual disks of the backup device, binding the server SAN node's LUNs to the virtual disks of the backup device's DataDomain system. This binding functionality can be implemented, for example, by a multi-level tiered storage service of the server SAN. This binding relationship can be determined, for example, by a member management module in the backup agent at system startup. When backing up a server SAN node, the server SAN first creates a snapshot, and the server SAN can also help preserve records of modified blocks through multi-level tiered storage services. For example, by using storage block 904 to record changes to the data to be protected relative to the last backup. The backup agent controls and drives the data flow but does not actually touch the data; therefore, the backup data flow does not affect the application throughout the backup process. When a backup or restore request is received, I / O of the application on the server SAN node is first stopped; then a snapshot of the application is taken to ensure consistency between the application and the snapshot copy. The advantage of capturing copies using snapshots is that the application can be restored quickly and the impact is reduced.

[0057] When backing up data on a server SAN node, first stop the application, then use a snapshot on the server SAN to capture a copy to ensure application consistency. The advantage of using snapshots to capture a copy is that it facilitates rapid application recovery and minimizes impact. Save the snapshot copy to... Figure 9 The snapshot storage block 902, such as storage block D1-DN, is used. During the initial data backup, all data to be protected needs to be transferred between the server SAN and the backup device DataDomain system. The server SAN tracks the changed data since the last backup and records the changed data on the modified block 904 through multi-level hierarchical storage. If data is backed up again, only the data in the modified block 904 needs to be passed to the target backup device DataDomain system. The backup agent 204 of the server SAN node 202 sends a virtual disk control command to the storage management subsystem DD SMS912 of the target backup device's DDR914. In response to the detection of the virtual disk control command, the read and write of the virtual disk interface is activated. The primary storage 220 of the server SAN node sends a read request to the virtual disk interface 920 (e.g., SCSI interface), and the DDR of the target backup device... Figure 7The illustrated I / O flow during data writes translates SCSI write requests for DDR-based DD block devices (e.g., virtual disks, LUN908) into DDFS write requests for files within a DDFS file system, thereby migrating data from the primary storage of the server SAN node to the target backup device. In some embodiments, once all snapshot data has been sent and committed to the target backup device's DataDomain system, a snapshot of the LUN can be taken. This snapshot reflects a consistent copy of the application at the time the user initially triggered the backup.

[0058] The following combination Figure 10 The workflow for restoring data on a server SAN node is described exemplarily. Figure 10 The workflow for restoring data to a server SAN node according to embodiments of this disclosure is illustrated. Application administrators can restore applications to previous points in time via agents within the application (such as Oracle DB, SQL Server). The server SAN node can efficiently migrate back the relevant data requiring protection from the backup device's DDR by transferring back the modified blocks of selected snapshots. Figure 10 As shown, when server SAN node 202 restores data, it first selects the backup image to be restored from DDR914 in the target device's Data Domain system. Backup agent 204 communicates with the DD storage management subsystem DD SMS 912 of the target backup device's DDR914 via virtual disk control commands. The target backup device's DDR... Figure 7 The diagram illustrates the I / O flow during data reads, enabling the loading of the corresponding image onto the DD block device (e.g., virtual disk LUN 908). The target device, DataDomain, then sends the desired data to the exported block, such as the backup mapped virtual disk LUN 906, via a standard SCSI interface (FC or IP). The exported block in DDR appears to be an internal device of the server SAN node, but all its data is stored on the target device, DataDomain. Server SAN node 202 can then access the DDR exported block via multi-level storage, such as the backup mapped virtual disk LUN 906, and load the desired snapshot exported from the target device, DataDomain, overwriting existing data on the server SAN device. The restored data is then provided to the application host. During recovery, server SAN node 202 can accelerate the data recovery process by copying only changed data.

[0059] Figure 11 A block diagram schematically illustrates an electronic device 1100 suitable for implementing embodiments of the present disclosure. Device 1100 can be used to implement... Figure 2one or more hosts in the server SAN nodes 202 or the backup appliance 222. As shown, the appliance 1100 includes a central processing unit (CPU) 1101, which can perform various actions and processes according to computer program instructions stored in a read-only memory (ROM) 1102 or computer program instructions loaded from a storage unit 1108 into a random access memory (RAM) 1103. Various programs and data used by the appliance 1100 can also be stored in the RAM 1103. The CPU 1101, ROM 1102, and RAM 1103 are connected to each other by a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.

[0060] Various components in the appliance 1100 are connected to the I / O interface 1105, including an input unit 1106, such as a keyboard, a mouse, etc., an output unit 1107, such as various types of displays, speakers, etc., a storage unit 1108, such as a magnetic disk, a magneto-optical disk, etc., and a communication unit 1109, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1109 allows the appliance 1100 to exchange information / data with other devices over a computer network, such as the Internet, and / or various telecommunication networks.

[0061] The processing unit 1101 performs various methods and processes described above, such as performing the methods 400, 500, 600, and 700 for controlling data backup. For example, in some embodiments, the methods 400, 500, 600, and 700 can be implemented as a computer software program stored in a machine-readable medium, such as the storage unit 1108. In some embodiments, part or all of the computer program can be loaded and / or installed on the appliance 1100 via the ROM 1102 and / or the communication unit 1109. When the computer program is loaded into the RAM 1103 and executed by the CPU 1101, one or more operations of the methods 400, 500, 600, and 700 described above can be performed. Alternatively, in other embodiments, the CPU 1101 can be configured to perform one or more actions of the methods 400, 500, 600, and 700 by any other suitable means, such as by means of firmware.

[0062] The present disclosure can be a method, apparatus, system, and / or computer program product. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for performing various aspects of the present disclosure.

[0063] Computer readable storage media can be tangible storage media which can retain and store instructions for use by an instruction execution device. Computer readable storage media can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer readable storage media include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0064] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0065] Computer readable program instructions for carrying out operations of the present disclosure can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0066] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0067] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0068] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0069] The flow diagrams and the block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical functions (s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and

[0070] Embodiments of the present disclosure have been described above, and the description is intended to be illustrative of the embodiments and not restrictive. Many modifications and variations of the described embodiments are possible and are within the scope of the disclosure. The selection of the terms to be used in the description is not intended to limit the scope of the embodiments or the scope of the patent covering the embodiments. Any modifications and variations of the described embodiments implementing the principles of the present disclosure can be resorted to by those skilled in the art, and such modifications and variations are considered to be within the scope of the disclosure.

[0071] The above description is intended to be illustrative of the embodiments and not restrictive. Many modifications and variations of the described embodiments are possible and are within the scope of the disclosure. The selection of the terms to be used in the description is not intended to limit the scope of the embodiments or the scope of the patent covering the embodiments. Any modifications and variations of the described embodiments implementing the principles of the present disclosure can be resorted to by those skilled in the art, and such modifications and variations are considered to be within the scope of the disclosure.

Claims

1. A method for processing backup data, comprising: acquiring usage and health conditions of a backup device; reporting the acquired usage and health conditions to a backup agent in a server storage area network (SAN) node connected to the backup device; in response to detecting a virtual disk control command from the server SAN node, controlling a virtual disk interface of the backup device such that data within a logical unit number (LUN) required for protection of the server SAN node is backed up to or restored from the backup device, the virtual disk interface providing an interface to a virtual disk of the backup device based on a predetermined binding relationship between the LUN and the virtual disk; and determining the predetermined binding relationship by a member management module of the backup agent at system startup.

2. The method of claim 1, wherein the virtual disk interface is a small computer system interface (SCSI) of a data protection device, and wherein the backing up or the restoring comprises: in response to detecting the virtual disk control command, activating a read / write from / to the virtual disk interface; and converting, via the SCSI, a read / write command from the server SAN node for the SCSI into a read / write request for a file system.

3. The method of claim 2, wherein the converting comprises: performing the converting based on a path mapping between the virtual disk and a file of the file system.

4. The method of claim 2, wherein the converting comprises: performing the converting in response to a storage management subsystem of the backup device receiving the virtual disk control command from the server SAN node.

5. The method of claim 1, further comprising: implementing the predetermined binding relationship by a multi-tiered storage service of a server SAN including the server SAN node.

6. The method of claim 1, further comprising the server SAN node binding the LUN with the virtual disk.

7. The method of claim 1, wherein the backup device further comprises a plurality of virtual disks, wherein the server SAN node further comprises a plurality of LUNs, wherein each virtual disk of the plurality of virtual disks has a predetermined binding relationship with a respective LUN of the plurality of LUNs, and wherein the method further comprises selecting a LUN of the plurality of LUNs as the LUN required for protection.

8. The method of claim 7, wherein the backup device comprises a file system and a physical storage unit, wherein the virtual disk control command comprises a read / write command from the server SAN node, and wherein controlling the virtual disk interface of the backup device such that data within a logical unit number (LUN) required for protection of the server SAN node is backed up to or restored from the backup device further comprises: receiving, via the virtual disk interface, the read / write command from the server SAN node; ​ converting the read / write commands from the server SAN node to read / write commands for the file system; converting the read / write commands for the file system to read / write commands for the physical storage unit; and returning a response to the server SAN node.

9. A backup appliance comprising: a memory configured to store one or more programs; and a processing unit coupled to the memory and configured to execute the one or more programs to cause the appliance to perform acts comprising: obtaining usage and health conditions of the backup appliance; reporting the obtained usage and health conditions to a backup agent in a server storage area network (SAN) node connected to the backup appliance; in response to detecting a virtual disk control command from the server SAN node, controlling a virtual disk interface of the backup appliance that provides an interface to a virtual disk of the backup appliance based on a predetermined binding relationship between a logical unit number (LUN) and the virtual disk, such that data within the LUN required for protection of the server SAN node is backed up to or restored from the backup appliance; and determining the predetermined binding relationship at system startup by a membership module of the backup agent.

10. The backup appliance of claim 9, wherein the virtual disk interface is a small computer system interface (SCSI) of a data protection appliance, and wherein the backup or the restore comprises: in response to detecting the virtual disk control command, activating read / write from / to the virtual disk interface; and converting, via the SCSI, read / write commands from the server SAN node for the SCSI to read / write requests for a file system.

11. The backup appliance of claim 10, wherein the converting comprises: performing the conversion based on a path mapping between the virtual disk and a file of the file system.

12. The backup appliance of claim 10, wherein the converting comprises: performing the conversion in response to a storage management subsystem of the backup appliance receiving the virtual disk control command from the server SAN node.

13. The backup appliance of claim 9, wherein the acts further comprise implementing the predetermined binding relationship by a multi-tiered storage service of a server SAN including the server SAN node.

14. The backup appliance of claim 9, wherein the acts further comprise the server SAN node binding the LUN with the virtual disk.

15. A computer program product comprising machine executable instructions that, when executed, cause a machine to perform steps of a method comprising: obtaining usage and health conditions of a backup appliance; reporting the obtained usage and health conditions to a backup agent in a server storage area network (SAN) node connected to the backup appliance; and ​ in response to detecting a virtual disk control command from the server SAN node, controlling a virtual disk interface of the backup appliance such that data within a logical unit number (LUN) required by the server SAN node for protection is backed up to or restored from the backup appliance, the virtual disk interface providing an interface to a virtual disk of the backup appliance based on a predetermined binding relationship between the LUN and the virtual disk.

16. The computer program product of claim 15, wherein the virtual disk interface is a small computer system interface (SCSI) of a data protection appliance, and wherein the backing up or the restoring comprises: in response to detecting the virtual disk control command, activating read / write from / to the virtual disk interface; and via the SCSI, translating read / write commands from the server SAN node for the SCSI into read / write requests for a file system.

17. The computer program product of claim 16, wherein the translating comprises: performing the translating based on a path mapping between the virtual disk and files of the file system.

18. The computer program product of claim 16, wherein the translating comprises: in response to a storage management subsystem of the backup appliance receiving the virtual disk control command from the server SAN node, performing the translating.

19. The computer program product of claim 15, wherein the method further comprises implementing the predetermined binding relationship by at least one of (i) a multi-tiered storage service of a server SAN including the server SAN node or (ii) the server SAN node.

20. The computer program product of claim 15, wherein the method further comprises: determining, by a membership management module of the backup agent, the predetermined binding relationship at system startup.

Citation Information

Patent Citations

  • Method and system for backing up and restoring data

    CN108984335A