|Publication number||US7565574 B2|
|Application number||US 11/515,334|
|Publication date||Jul 21, 2009|
|Filing date||Aug 31, 2006|
|Priority date||May 7, 2002|
|Also published as||US7120827, US20030212920, US20070006023|
|Publication number||11515334, 515334, US 7565574 B2, US 7565574B2, US-B2-7565574, US7565574 B2, US7565574B2|
|Original Assignee||Hitachi, Ltd.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (27), Non-Patent Citations (9), Referenced by (2), Classifications (18), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This is a Continuation of U.S. application Ser. No. 10/140,581 filed May 7, 2002; the entire disclosure of which is hereby incorporated by reference.
This invention relates generally to volume health checking and recovery, and more particularly, but not exclusively, provides a system and method for non-disruptive volume health checking and recovery.
Servers, such as database servers, email servers, file servers, and so forth, hold large amounts of data. Checking the health of this data may disrupt online services on the servers because it requires a lot of is CPU power and places a strain on the storage system. Disruption of services leads to slower system performance causing inconvenience for users and administrators. Accordingly, a new system and method is needed that enables volume health checking without placing a strain on the storage system and using a lot of CPU power.
The present invention provides a system for volume health checking and recovery without disrupting online services. The system comprises a production server, a production volume, a backup management server and a snapshot mirrored volume. The production server includes an application that stores and accesses data on the production volume. The production server also includes an agent that manages communication between the production server and the backup management server. The agent also takes snapshots of the production volume. The production volume includes a logical volume used by the application and is mirrored by the snapshot mirrored volume.
The backup management server includes a manager, a health check and clean up function, and a backup table. The manager communicates with the agent and manages configuration of the snapshot mirrored volume and the backup table. In addition, the manager uses the health check and clean up function to check the health of the mirrored snapshot volume, thereby avoiding the need to check the health of the production volume. If the mirrored snapshot volume is unhealthy (e.g., individual files or the volume itself have data corruption problems, viruses, etc.), the manager can use the health check and clean up function to repair the damage (e.g., data corruption, viruses, etc.) to the mirrored snapshot volume and/or production via several techniques. The backup table includes information on the production volume and mirrored snapshot volume, such as file system hostname, etc.
The present invention further provides a method for volume health check and recovery. The method comprises gathering information on a target production volume; performing preprocessing for splitting a mirrored pair; splitting the mirrored pair; mounting a snapshot mirrored volume on the backup server, if necessary; running a health check; alerting an administrator if the health check uncovers a problem; performing a recovery process if the health check indicates a problem; and performing post-processing including unmounting the mounted volume and resynchronizing.
The recovery process, when required, can be performed via at least five different techniques. The first technique includes repairing unhealthy files on the mirrored snapshot volume and then copying the repaired files to the production volume. The second technique includes repairing an unhealthy volume and then resynchronizing the mirrored pair. The third technique includes copying healthy files from a second snapshot mirrored volume to the production volume. The fourth technique includes repairing the unhealthy files on the production volume. The fifth technique includes resynchronizing the production volume with a second snapshot mirrored volume that is healthy.
Accordingly, the system and method advantageously enables the health checking of volumes and recovery with little or no disruption of online services.
Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
FIG. 3-1-1 is a flow diagram illustrating recovery according to a second embodiment of the invention;
The following description is provided to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the embodiments will be readily apparent to those skilled in the art, and the principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles, features and teachings disclosed herein.
The production servers are also communicatively coupled to the backup manager server 1070 via logical connections, such as logical connection 1150, and also to the snapshot mirrored volumes via logical connections, such as logical connection 1060. In addition, backup management server 1070 is communicatively coupled to snapshot mirrored volumes via logical connections, such as logical connection 1100.
Each production server includes an agent 1010 and at least one application 1020. In an embodiment of the invention, production servers can also include a health check and clean up function 1090 b (
Production volumes, such as production volume 1050, are logical volumes that are used by application 1020. The production volumes may include a single physical disk drives, multiple disk drives wherein a disk array controller strips manages the data across various disk drives, or any other type of logical volume.
Backup management server 1070 includes a manager 1080, a health check and clean up function 1090, and a backup table 1095. Manager 1080 manages the configuration of mirroring pair and backup table 1095. Further, the manager 1080 manages, using function 1090, the health check and clean up of snapshot mirrored volumes and/or individual files on the snapshot mirrored volumes. In addition, the manager 1080 communicates with agent 1010 via logical link 1150.
The health check and clean up function 1090 may include an engine or engines (e.g., a health check engine and a clean up engine) for checking volume and/or file health in the snapshot mirrored volumes. In addition, the health check and clean up function 1090 can clean up (e.g., recover, repair, etc.) unhealthy volumes and/or files if necessary. Health checks and associated repairs can be for database corruption, virus removal, and/or other problems.
Backup table 1095 includes information on mirrored pair volumes, such as when each one was suspended (e.g., backed up); what type of file system each volume uses; associated hostname; mount point; application, etc. Backup table 1095 will be discussed in further detail in conjunction with
One skilled in the art will recognize that the example computer 400 may also include additional devices, such as network connections, additional memory, additional processors, LANs, input/output lines for transferring information across a hardware channel, the Internet or an intranet, etc. One skilled in the art will also recognize that the programs and data may be received by and stored in the system in alternative ways.
FIG. 3-1-1 is a flow diagram illustrating recovery according to a second embodiment of the invention. If a health check indicates that snapshot mirrored volume 1110 is unhealthy but can be cleaned up then health check and clean up function 1090 cleans up (e.g., removes viruses, fixes data corruption etc.) the unhealthy snapshot mirrored volume 1110. Manager 1080 then notifies agent 1010 that snapshot mirrored volume 1110 has been cleaned up. Agent 1010 can then resynchronize production volume 1050 with mirrored snapshot volume 1110, thereby correcting any problems with production volume 1050 and limiting access disruption. This second embodiment recovery technique will also be discussed in further detail in conjunction with
Agent 1010 then does preprocessing (4020) for splitting the mirrored pair (e.g., production volume 1050 and snapshot mirrored volume 1110). For example, if the application 1020 type is flat file, then agent 1010 can freeze or lock target files or volumes. If the application 1020 type is database, then agent 1010 can invoke an online backup mode for the application 1020.
Agent 1010 then splits (4030) the mirrored pair and informs manager 1080 to mount the snapshot mirrored volume 1110 on backup management server 1070. Manager 1080 then mounts (4040) snapshot mirrored volume 1110 on backup management server 1070, if necessary. After mounting (4040), manager 1080 invokes the health check and clean up function 1090 to check (4060) the health of the snapshot mirrored volume 1110, which is identical to production volume 1050. Accordingly, a problem with production volume 1050 will be mirrored at snapshot mirrored volume 1110.
If the health check (4060) indicates that the snapshot mirrored volume 1110 is healthy, then manager 1080 performs post-processing (4090), which may include unmounting the snapshot mirrored volume 1110, resynchronizing, and updating backup table 1095. The method 4000 then ends.
If the health check (4060) indicates that the snapshot mirrored volume 1110 is unhealthy (e.g., data corruption, infected with a virus, etc.), which indicates that production volume 1050 is unhealthy, then manager 1080 alerts (4070) an administrator that snapshot mirrored volume 1110 or a file on volume 1110 is not healthy via an email message, display on a screen, or via other techniques. Manager 1080 then invokes health check and clean up function 1090 to clean (e.g., recover, repair, etc.) production volume 1050 via one or more methods as will be discussed below in conjunction with
After either choosing (5040) or unmounting (5030), agent 1010 unmounts (5050) the production volume 1050 from production server 1000. Agent 1010 then resynchronizes (5060) the mirrored pair using snapshot mirrored volume 1110 if it has been corrected or snapshot mirrored volume 1120 if volume 1110 could not be corrected, thereby restoring production volume 1050 to a healthy state. After resynchronizing (5060) agent 1010 mounts (5080) the production volume 1050 again and splits (5070) the mirrored pair to keep the snapshot mirrored volume (1110 or 1120 depending on which one was used) healthy. The method 5000 then ends.
After either choosing (6040) or unmounting (6030) agent 1010 mounts (6050) the healthy snapshot mirrored volume 1110 or 1120 onto production server 1000. Agent 1010 then copies the healthy files from either snapshot mirrored volume 1110 or snapshot mirrored volume 1120 to production volume 1050, thereby replacing the unhealthy files on production volume 1050 with healthy files. Agent 1010 then unmounts (6070) the healthy volume (1110 or 1120) from the production server 1000. The method 6000 then ends.
Accordingly, the systems and methods of the present invention enable health checks of a production volume by checking the health of a snapshot mirrored volume. This enables checking the health of the production volume without disturbing access to production volumes. In addition, this enables optimal use of backup volumes by cleaning up unhealthy snapshot mirrored volumes or marking them as unhealthy so that they can be rewritten.
The foregoing description of the illustrated embodiments of the present invention is by way of example only, and other variations and modifications of the above-described embodiments and methods are possible in light of the foregoing teaching. For example, an administrator can specify which files and/or volumes to use when snapshot mirrored volume is uncorrectable (in place of manager 1080). Although the network sites are being described as separate and distinct sites, one skilled in the art will recognize that these sites may be a part of an integral site, may each include portions of multiple sites, or may include combinations of single and multiple sites. Further, components of this invention may be implemented using a programmed general purpose digital computer, using application specific integrated circuits, or using a network of interconnected conventional components and circuits. Connections may be wired, wireless, modem, etc. The embodiments described herein are not intended to be exhaustive or limiting. The present invention is limited only by the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5403639||Sep 2, 1992||Apr 4, 1995||Storage Technology Corporation||File server having snapshot application data groups|
|US5604862||Mar 14, 1995||Feb 18, 1997||Network Integrity, Inc.||Continuously-snapshotted protection of computer files|
|US5608865||Mar 14, 1995||Mar 4, 1997||Network Integrity, Inc.||Stand-in Computer file server providing fast recovery from computer file server failures|
|US5649152||Oct 13, 1994||Jul 15, 1997||Vinca Corporation||Method and system for providing a static snapshot of data stored on a mass storage system|
|US5678042||Jan 24, 1996||Oct 14, 1997||Seagate Technology, Inc.||Network management system having historical virtual catalog snapshots for overview of historical changes to files distributively stored across network domain|
|US5835953||Nov 8, 1996||Nov 10, 1998||Vinca Corporation||Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating|
|US5852724||Jun 18, 1996||Dec 22, 1998||Veritas Software Corp.||System and method for "N" primary servers to fail over to "1" secondary server|
|US6038639||Sep 9, 1997||Mar 14, 2000||Storage Technology Corporation||Data file storage management system for snapshot copy operations|
|US6044367||Apr 15, 1998||Mar 28, 2000||Hewlett-Packard Company||Distributed I/O store|
|US6101585||Nov 4, 1997||Aug 8, 2000||Adaptec, Inc.||Mechanism for incremental backup of on-line files|
|US6212531||Jan 13, 1998||Apr 3, 2001||International Business Machines Corporation||Method for implementing point-in-time copy using a snapshot function|
|US6216211||Jun 13, 1997||Apr 10, 2001||International Business Machines Corporation||Method and apparatus for accessing mirrored logical volumes|
|US6311193||Sep 28, 1998||Oct 30, 2001||Kabushiki Kaisha Toshiba||Computer system|
|US6330570||Feb 26, 1999||Dec 11, 2001||Hewlett-Packard Company||Data backup system|
|US6338150||Oct 1, 1997||Jan 8, 2002||Micron Technology, Inc.||Diagnostic and managing distributed processor system|
|US6363497||Oct 1, 1997||Mar 26, 2002||Micron Technology, Inc.||System for clustering software applications|
|US6434481||Dec 20, 2000||Aug 13, 2002||Robert Bosch Gmbh||Method and navigation system for display of sections of a digital map data base as well as an improved operating unit and interface for same|
|US6434681||Dec 2, 1999||Aug 13, 2002||Emc Corporation||Snapshot copy facility for a data storage system permitting continued host read/write access|
|US6567774||Jan 30, 1998||May 20, 2003||Compaq Computer Corporation||Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk|
|US6651075||Feb 16, 2000||Nov 18, 2003||Microsoft Corporation||Support for multiple temporal snapshots of same volume|
|US6708227||Apr 24, 2000||Mar 16, 2004||Microsoft Corporation||Method and system for providing common coordination and administration of multiple snapshot providers|
|US6877016||Sep 13, 2001||Apr 5, 2005||Unisys Corporation||Method of capturing a physically consistent mirrored snapshot of an online database|
|US6968347||Feb 28, 2001||Nov 22, 2005||Emc Corporation||Data recovery method and apparatus|
|US20020016827 *||Jun 2, 2001||Feb 7, 2002||Mccabe Ron||Flexible remote data mirroring|
|US20020120605 *||Feb 28, 2001||Aug 29, 2002||Mathieu Gagne||Data recovery method and apparatus|
|US20060230306 *||Mar 31, 2005||Oct 12, 2006||Richards Paul M||Apparatus, system, and method for facilitating monitoring and responding to error events|
|JP2002108571A||Title not available|
|1||"High Availability-Eliminating Planned Downtime," Oracle9i Database, 2 pages. URL: http://www.oracle.com/ip/deploy/database/oracle9i/index.html?ha-plandtime.html, 2002.|
|2||"Novell StandbyServer 5.3 for NetWare," 2 pages, Copyright Novell, Inc., 2002.|
|3||"Reducing Server Downtime: Simplified Availability," NEC Computers White Paper, 7 pages, Copyright 2001, NEC Computers Inc.|
|4||"Sun StorEdge Availability Suite Software," 2 pages, Copyright 2001, Sun Microsystems, Inc.|
|5||English Translation of a portion of an Office Action in a counterpart Japanese application No. 2003-098756 dated Feb. 5, 2009.|
|6||Finlev, Gerson and Maryam Basiji, "Microsoft SQL Server 2000: Backup and Recovery Using a NetApp Filer," TR 3109, Network Appliance, Inc., 1 page.|
|7||Phillips, John, AntiVirus Scanning Best Practices Guide [TR3107]; Printed May 7, 2002; 7 pages; Copyright 2002 Network Appliance, Inc. URL: http://www.netapp.com/tech-library/3107.print.|
|8||Prepared by Enterprise Business Unit Compaq Computer Corporation, "Antivirus Solutions for the Compaq StorageWorks NAS Executor E7000," Compaq Technical Guide, Dec. 2001, 7 pages.|
|9||Williams, Ross N., "Data Integrity with Veracity," Rocksoft, Sep. 12, 1994, pp. 1-13.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US9002798 *||Feb 11, 2013||Apr 7, 2015||Symantec Corporation||Systems and methods for remedying corrupt backup images of host devices|
|US20120124007 *||Nov 16, 2010||May 17, 2012||F-Secure Corporation||Disinfection of a file system|
|U.S. Classification||714/6.32, 714/2|
|International Classification||G06F11/14, H04L1/22, G06F12/00, G06F11/00, G06F11/20, G06F21/00, G06F3/06|
|Cooperative Classification||G06F2201/84, G06F21/566, G06F11/1469, G06F11/1466, G06F11/1456, G06F11/2071|
|European Classification||G06F11/14A10H, G06F11/14A10P8, G06F21/56C|
|Mar 4, 2013||REMI||Maintenance fee reminder mailed|
|Jul 21, 2013||LAPS||Lapse for failure to pay maintenance fees|
|Sep 10, 2013||FP||Expired due to failure to pay maintenance fee|
Effective date: 20130721