A portion of the disclosure of this patent document may contain command formats and other computer language listings, all of which are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
This application relates to data replication.
Data protection (e.g., replication) may be provided by a data protection process that makes a copy of an original set of data at target devices. The copy of data may be used upon the occurrence of an event causing data failure such as may occur, for example, when the original copy of data is destroyed, corrupted, or otherwise unavailable. Different strategies may be used to provide data protection for different types of failures that can occur. A data protection policy (DPP) may be designed to meet data protection criteria or objectives determined in a variety of different ways. Such criteria may be specified in a service level agreement (SLA), by management or administrators, and the like. Once designed, the data protection policy may then be implemented.
Example embodiments of the present invention provide a method, an apparatus and a computer-program product for configuring policy-based replication. The method comprises receiving a policy and creating a replication service according to the policy.
The above and further advantages of the present invention may be better under stood by referring to the following description taken into conjunction with the accompanying drawings in which:
Currently, administrators configure replication manually according to a data protection policy. Typically, such data protection policies are provided via a script or a similar input to provision storage devices. However, such manual configuration is subject to administrator error. For example, an administrator may not provision storage devices accurately according to a desired data protection policy. Further, this process is subject not only to human mistake, but also the administrative overhead required to manually provision the storage devices.
Additionally, the migration process is one of the most complicated processes of storage administration and also is susceptible to high degrees of administrator error. For example, in addition to the administrator error described above, an administrator may not perform a full migration (i.e., may forget to migrate some data) or may not provision target devices as source devices were provisioned or, alternatively, as required by new organizational requirements (i.e., may not provision the target devices according to a policy in effect at the source devices or a new policy required by the organization t which the data belongs).
Accordingly, example embodiments of the present invention provide solutions to the above problems, and others, by eliminating the administration and reliability issues arising out of manual replication service configuration, thereby minimizing administrative costs and improving the user experience of handling data protection. Example embodiments of the present invention provide a method, an apparatus and a computer-program product for creating a policy-based replication service. The method includes receiving a policy and creating a replication service according to the policy.
Further example embodiments of the present invention, 5 together with the Symmetrix FAST VP (Fully Automated Storage Tiering with Virtual Pools) technology by EMC Corporation of Hopkinton, Mass., as described in U.S. patent application Ser. No. 12/494,622, entitled “FACILITATING DATA MIGRATION BETWEEN TIERS,” by Throop, et al., enable full automation of determining replication availability, performance and recoverability (now U.S. Pat. No. 9,279,941).
As illustrated in
As illustrated in
Likewise, as illustrated in
First, an administrator may select a further refinement of the replication type, such as point in time 370a or continuous replication 370b. For a point in time replication 370a, a schedule 360-d may be selected or edited 361 and a number of copies 371 may be provided. Further, a number of minutes acceptable for a recovery point to be missing 372a may be provided, with a selection of a number of minutest that should be covered by the replication window 373 and a start time for replication 374. For continuous replication 370b, the administrator likewise may select a number of minutes acceptable for a recovery point to be missing 372b.
To specify where the replica should be replicated to 385, the administrator may select a storage array 386 from a configuration and a particular device 387 (physical or logical). The administrator optionally also may provide an image prefix 388 providing an indication to what the replica pertains and a recoverpoint engine 389 regarding the type of replication technology to be used for the replica.
In further example embodiments, the administrator may provide a policy purpose (e.g., disaster recovery, operational recovery, logical corruption and archive). Disaster recovery provides recovery from a failure at a production site of a replication service. Accordingly, a remote replication site is provided to protect the data. Operational recovery protects provides a replica at a local site, so that if something happens to primary storage, the replica may be mounted to run applications. Logical corruption recovery provides recovery from failures not necessarily caused by a storage failure but rather user error (e.g., the user changes or deletes information on by mistake or even on purpose). Accordingly, information is retrieved from a replica, rather than switching to the replica for primary storage. Archive may relate to long-term storage of data, such as for complying with regulations.
The administrator also may provide policy attributes regarding how to protect the data 352 that, in certain embodiments, may be mandatory or optional. For example, the administrator may provide an engine (i.e., storage array) name 389 (i.e., a particular storage array), a facility (i.e., replication technology (e.g., Symmetrix, snapshot)) type 390, a device specification 387 (i.e., which device should be replicated) and an image prefix (i.e., prefix to the name of the replica that should be created) 388. In alternate embodiments, the administrator may specify a replication location (e.g., remote or local), an engine tier (i.e., storage array performance/availability), an engine type (e.g., Symmetrix or CLARiiON, both by EMC Corporation of Hopkinton, Mass.) (i.e., not by tier but by engine), a resource pool and a priority (i.e., if bandwidth between local and remote sites is limited and insufficient for a number of applications to be replicated).
Further, the administrator also may provide policy attributes regarding when to protect the data 353. For example, the administrator may select a replication type (e.g., point-in-time (PIT) 370a, continuous data protection (CDP) 370b or snapshot). For point-in-time replication, the administrator can set a schedule 360-e, 361-e, a number of copies 371, a time to keep (i.e., copy retention time), a recovery point objective (RPO) (i.e., a maximum amount of time data may be lost), a recovery point grace period 372a, also referred to as a recovery point object (RPO) tolerance (i.e., how long a RPO violation may continue until an alert should be reported), a recovery time objective (RTO) (i.e., an accepted time to recover from a failure) and when to start 374.
According to the attributes provided by the administrator, example embodiments of the present invention know which components should be included in the replication. In this way the user defines the policy and then assigns the policy to one or more groups, hosts, applications, or ILU. Additionally, the user can specify RPO & RTO or can specify the way replication should occur. Therefore, example embodiments of the present invention may create the replication service automatically.
First, the receiver 420, which is configured to receive a policy, may receive a policy (i.e., 210 of
For example, the receiver 420 may receive a data protection purpose (510), receive data protection attributes (520) and receive a policy assignment (530) from the administrator, who may provide data protection attributes via the administrator terminal (i.e., via the GUI, CLI or API) thereby defining a specified replication service as illustrated in
Having received the policy attributes, the manager 440 then may analyze the received policy (540) to create replication jobs for a policy-based replication service for provisioning at a storage array 450 specified in the policy attributes. Accordingly, the manager 440 of the policy-based replication module 400 may automatically configure (i.e., provision) the replication service (550) according to the replication jobs it created according to the data protection policy attributes received by the receiver 420. Therefore, as a result of the provisioning, as illustrated in
While
In certain embodiments, the replication service configuration process starts upon the occurrence of an event (i.e., at times a change is detected in the policy), such as a new data protection rule being associated to the replication service, a data protection rule being disconnected from the replication service, a data protection rule being changed, a data protection rule being added, a data protection rule being deleted, a data protection rule being disabled and a data protection rule being enabled. Accordingly, detection of such a change to the policy will cause the policy-based replication module 400 to create a replication service. For example, for a new data protection rule associated with a replication service, the policy-based replication module 400 will detect a policy associated with an application requires updating according to the new data protection rule. Accordingly, the policy-based replication module 400 will create a replication for application according to the policy as changed by the new rule. Likewise, when a data protection rule is disconnected from a replication service or application, the policy-based replication module 400 will determine whether the replication should be stopped. In short, if the policy-based replication module 400 detects a change to a data protection rule, that event will cause the policy-based replication module 400 to determine whether a corresponding change should be made to the replication.
However, as illustrated at the first storage array 650 of
Therefore, after the migration of the replication service from the first storage array 650 to the second storage array 650′, at time t1 the replication service includes a replication of a first primary disk (i.e., primary 1) 660′ to three replicas (i.e., replica 1-1, replica 1-2 and replica 1-3) 660′-1, 660′-2, 660′-3 and a replication of a second primary disk (i.e., primary 2) 670′ to three replicas (i.e., replica 2-1, replica 2-2 and replica 2-3) 670′-1, 670′-2, 670′-3. Thus, the replication service at the second storage array 650′ at time t1 was provisioned automatically according to the policy desired by the administrator.
The methods and apparatus of this invention may take the form, at least partially, of program code (i.e., instructions) embodied in tangible non-transitory media, such as floppy diskettes, CD-ROMs, hard drives, random access or read only-memory, or any other machine-readable storage medium. When the program code is loaded into and executed by a machine, such as the computer of
The logic for carrying out the method may be embodied as part of the aforementioned system, which is useful for carrying out a method described with reference to embodiments shown in, for example,
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Accordingly, the present implementations are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
In reading the above description, persons skilled in the art will realize that there are many apparent variations that can be applied to the methods and systems described. In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made to the specific exemplary embodiments without departing from the broader spirit and scope of the invention as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
7769722 | Bergant et al. | Aug 2010 | B1 |
8261033 | Slik et al. | Sep 2012 | B1 |
8332369 | Kol et al. | Dec 2012 | B2 |
20020133669 | Devireddy | Sep 2002 | A1 |
20050010529 | Zalewski et al. | Jan 2005 | A1 |
20050028025 | Zalewski | Feb 2005 | A1 |
20050203908 | Lam et al. | Sep 2005 | A1 |
20060224741 | Jackson | Oct 2006 | A1 |
20060230149 | Jackson | Oct 2006 | A1 |
20080082770 | Ahal et al. | Apr 2008 | A1 |
20080256593 | Vinberg et al. | Oct 2008 | A1 |
20100175049 | Ramsey et al. | Jul 2010 | A1 |
20100179941 | Agrawal et al. | Jul 2010 | A1 |
20100223287 | Lim | Sep 2010 | A1 |
20100251252 | Laverone et al. | Sep 2010 | A1 |
20110251996 | Sustman et al. | Oct 2011 | A1 |
20110282834 | Desai et al. | Nov 2011 | A1 |
20110295806 | Erofeev | Dec 2011 | A1 |
20120016840 | Lin et al. | Jan 2012 | A1 |