1. Field
This application relates generally to data storage, and more specifically to a system, article of manufacture and method for one-click backup in a cloud-based disaster recovery system.
2. Related Art
Several problems with current disaster recover (DR) solutions cost and complexity may provide various problems. For example, high availability DR with aggressive recovery point objectives (RPO) and recovery time objectives (RTO) have traditionally only been achievable in large enterprises with multiple datacenters at high capital and operational costs. Often, multiple solutions, such as data replication and failover technologies are used that further increase the complexity and cost of a robust DR deployment. Additionally, many DR solution can be overly cumbersome. For example, tape backup scenarios can use tape storage device that have reliability and/or technical problems. Meanwhile, more cost effective approaches lead to lower service levels with compromises in RPO and/or RTO objectives. For example, shipping backup tapes off-site to a coldsite can requires a time-consuming purchase to rebuild of physical servers in the case of a disaster.
In one aspect, a method includes the step of accessing a set of data blocks in a local application server disk in an application server. It is determined which of the set of data blocks are used to store data. The data blocks used to store data are read to a deduplication store on the storage appliance. It is determined that a modification occurs to a data block in the local application server disk of the application server. The modification is read to the deduplication store. A remote virtual image of the application server can be generated from the deduplication store.
In another aspect, a method of disaster recovery on the storage appliance includes the step of installing a hypervisor on a storage appliance. After a backup operation but before as restore operation, an entire raw image of the application server is cached in the form of a virtual disk image. A virtual machine image is created from the virtual disk image of the entire raw image of the application server. A set of used raw image blocks is transferred such that the virtual machine disk is fully populated with data. A step includes mourning the virtual machine image of the application server to a virtual machine disk. Incremental backups of modifications are implemented to a set of used application server data blocs to the virtual machine image.
Optionally, a virtual machine can be created. The virtual machine can be connected to a computer network.
The Figures described above are a representative set, and are not an exhaustive with respect to embodying the invention.
Disclosed are a system, method, and article of manufacture of one click backup in a cloud-based disaster recovery system. The following description is presented to enable a person of ordinary skill in the art to make and use the various embodiments. Descriptions of specific devices, techniques, and applications are provided only as examples. Various modifications to the examples described herein can be readily apparent to those of ordinary skill in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the various embodiments.
Reference throughout this specification to “one embodiment,” “an embodiment,” ‘one example,’ or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art can recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The schematic flow chart diagrams included herein are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, and they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
Example definitions for some embodiments are now provided.
Application server can be, inter alia, a software framework that provides a generalized approach to creating an application-server implementation, regard to what the application functions are and/or the server portion of a specific implementation instance. The server's function can be dedicated to the execution of procedures (e.g. programs, routines, scripts) for supporting its applied applications. An application server can be an example of a physical server or a virtual machine running on any hypervisor.
Azure® (Microsoft Azure) can be a cloud computing platform and infrastructure, created by Microsoft, for building, deploying, and managing applications and/or services through a global network of datacenters, it provides both PaaS and IaaS services and/or supports various different programming languages, tools and/or frameworks (e.g. Microsoft-specific and/or third-party software and systems).
A backup, or the process of backing up, can refer to the copying and/or archiving of computer data so it may be used to restore the original after a data loss event.
Chunk can be the segments of data that are generated from a data stream by splitting the data stream at fixed or variable lengths. A chunk can be a specified fixed size or variable size.
Cloud computing can be computing that can involve a large number of computers connected through a communication network such as the Internet. Cloud computing can be a form of distributed computing over a network, and can include the ability to run a program or application on many connected computers at the same time.
Cloud storage can be a model of networked enterprise storage where data is stored in virtualized pools of storage which are generally hosted by third parties. Hosting companies can operate large data centers, and users can have data hosted by leasing storage capacity from said hosting companies. Physically, the resource can span across multiple servers and multiple locations.
Continuous data protection (CDP) can be backup of computer data by automatically saving a copy of every change made to that data. It allows the user or administrator to restore data to any point in time.
Disk images (e.g. ‘images’) can be computer files containing the contents (or portions thereof) and structure of a disk volume and/or a data storage device.
Elasticity can be the degree to which a cloud-computing system is able to adapt to workload changes by provisioning, and deprovisioning resources in an autonomic manner, such that at each point in time the available resources match the current demand as closely as possible.
Hypervisor can be a piece of computer software, firmware and/or hardware that creates and runs virtual machines.
Infrastructure as a service (IaaS) can be physical machines, virtual machines, and/or other resources offered with a cloud-service model.
Local area network (LAN) can be a computer network that interconnects computers within a limited area such as a home, school, computer laboratory, or office building using network media.
Mounting can be the process of making a file system accessible.
New Technology File System (NTFS) is a proprietary file system developed by Microsoft®.
Platform as a service (PaaS) can be a category of cloud computing services that provides a computing platform and a solution stack as a service.
Software application can be a group of software programs that execute the workflows related to backup and disaster recovery.
Virtual Hard Disk (VHD and/or VHDX) can be a file/disk image format used by Microsoft® Hyper V.
Virtual Disk Image” (VDI) can be a VirtualBox-specific container format for storing files (e.g. with a .vdi suffix) on the host operating system. Oracle VM VirtualBox can be a virtualization software package (e.g. for x86 and AMD64/Intel64-based computers from Oracle Corporation as part of its family of virtualization products).
Virtual Machine Disk (VMDK) can be a file/disk image format used by VMware®.
Virtual machine (VM) can be a software-based emulation of a computer. Virtual machines can operate based on the computer architecture and functions of a computer.
One click backup (OCB) systems and/or methods can enable a user to back up an application server (e.g. a specified IP address). OCB can be a hybrid solution combining image backups and/or file system incrementals. This can resulting in a short backup-windows with bootable VMs.
More specifically, in step 202 of process 200, the application server disk image can be restored from deduplication store on storage server to the target hypervisor system. Such disk images can correspond to a full image backup. Data deduplication can include a specialized data compression technique for eliminating duplicate copies of repeating data. In step 204, the virtual image of the application server can be mounted to a virtual machine disk. The file system can then be visible. These incremental files correspond to the incremental backup image. In step 206, incrementally transfer application server files to the virtual machine disk. In step 208, a virtual machine is created that includes the virtual disk image. The restore process can then be complete. In step 210, the virtual machine is connected to a network such that other client devices are able to access it. The format of the virtual machine can be based on the target hypervisor and/or the size of the disk. Process 200 can be used to reimage another system with the data of a specified application server.
In this way, a recent virtual image of the most recent backup of the application server is maintained in a cache of the storage appliance. In the event the application server becomes unavailable, this pre-cached virtual machine disk on the storage appliance can be used to immediately create a virtual machine. The virtual machine can be booted, connected with a network and accessed by other application servers.
It is noted that although the present example of systems are implemented in an Azure® cloud computing platform, other examples can be modified for other cloud computing platforms. According the present examples of
Although the present embodiments have been described with reference to specific example embodiments, various modifications and changes can be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices, modules, etc. described herein can be enabled and operated using hardware circuitry, firmware, software or any combination of hardware, firmware, and software (e.g., embodied in a machine-readable medium).
In addition, it can be appreciated that the various operations, processes, and methods disclosed herein can be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer system), and can be performed in any order (e.g., including, using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. In some embodiments, the machine-readable medium can he a non-transitory form of machine-readable medium.
This application is a continuation-in-part of and claims priority to U.S. patent application Ser. No. 14/280,686, titled METHODS AND SYSTEMS OF CLOUD-BASED DISASTER RECOVERY, tiled on May 19, 2014. U.S. patent application Ser. No. 14/280,686 application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 14280686 | May 2014 | US |
Child | 14335243 | US |