US20170103006A1 - Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage - Google Patents
Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage Download PDFInfo
- Publication number
- US20170103006A1 US20170103006A1 US14/880,502 US201514880502A US2017103006A1 US 20170103006 A1 US20170103006 A1 US 20170103006A1 US 201514880502 A US201514880502 A US 201514880502A US 2017103006 A1 US2017103006 A1 US 2017103006A1
- Authority
- US
- United States
- Prior art keywords
- storage
- information handling
- handling system
- application
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2058—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
- G06F11/2074—Asynchronous techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Definitions
- the present disclosure relates in general to information handling systems, and more particularly to disaster recovery of data in an information handling system.
- An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information.
- information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated.
- the variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications.
- information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
- information handling systems store massive amounts of data, and such information handling systems must often be capable of providing continuity of access to such data via a well-defined disaster recovery plan. Oftentimes, to provide greater robustness, it is desirable to provide for geographically-distributed recovery as opposed to single-site recovery.
- an information handling system may include a processor and a first storage management console comprising a program of executable instructions embodied in non-transitory computer-readable media accessible to the processor, and configured to, when read and executed by the processor: (i) manage input/output between an application and a primary physical storage controller to perform input/output between the application and a storage resource communicatively coupled to primary physical storage container; (ii) asynchronously mirror application-consistent snapshots of data associated with the application from the primary physical storage controller to a storage virtual controller configured to emulate a physical storage controller such that the storage virtual controller stores the snapshots to remote storage geographically remote from the information handling system; (iii) store metadata associated with the application and data stored to the storage resource and the remote storage; and (iv) copy the metadata to a second storage management console executing on a second information handling system geographically remote from the information handling system.
- a method may include managing, by a first storage management console instantiated on a first information handling system, input/output between an application and a primary physical storage controller to perform input/output between the application and a storage resource communicatively coupled to the primary physical storage controller.
- the method may also include asynchronously mirroring, by the first storage management console, application-consistent snapshots of data associated with the application from the primary physical storage controller to a storage virtual controller configured to emulate a physical storage controller such that the storage virtual controller stores the snapshots to remote storage geographically remote from the first information handling system.
- the method may further include storing, by the first storage management console, metadata associated with the application and data stored to the storage resource and the remote storage.
- the method may additionally include copying, by the first storage management console, the metadata to a second storage management console executing on a second information handling system geographically remote from the first information handling system.
- an article of manufacture may include a non-transitory computer readable medium and computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to: (i) manage, by a first storage management console instantiated on a first information handling system, input/output between an application and a primary physical storage controller to perform input/output between the application and a storage resource communicatively coupled to the primary physical storage controller; (ii) asynchronously mirror, by the first storage management console, application-consistent snapshots of data associated with the application from the physical storage controller to a storage virtual controller configured to emulate a physical storage controller such that the storage virtual controller stores the snapshots to remote storage geographically remote from the first information handling system; (iii) store, by the first storage management console, metadata associated with the application and data stored to the storage resource and the remote storage; and (iv) copy, by the first storage management console, the metadata to a second storage management
- FIG. 1 illustrates a block diagram of a system for disaster recovery, in accordance with embodiments of the present disclosure
- FIG. 2 illustrates a block diagram of a hierarchy for various components of the system depicted in FIG. 1 during a normal operational mode of the system, in accordance with embodiments of the present disclosure
- FIG. 3 illustrates a block diagram of a hierarchy for various components of the system depicted in FIG. 1 during a disaster recovery mode of the system, in accordance with embodiments of the present disclosure
- FIG. 4 illustrates a block diagram of a hierarchy for various components of the system depicted in FIG. 1 during a fail-back mode of the system, in accordance with embodiments of the present disclosure
- FIG. 5 illustrates a block diagram of a hierarchy for various components of the system depicted in FIG. 1 during normal operation in a single-site system, in accordance with embodiments of the present disclosure.
- an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes.
- an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price.
- the information handling system may include memory, one or more processing resources such as a central processing unit (“CPU”) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (“I/O”) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communication between the various hardware components.
- processing resources such as a central processing unit (“CPU”) or hardware or software control logic.
- Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (“I/O”) devices, such as a keyboard, a mouse, and a video display.
- I/O input and output
- the information handling system may also include one or more buses operable to transmit communication between the various hardware components.
- information handling resources may broadly refer to any component system, device or apparatus of an information handling system, including without limitation processors, buses, memories, input-output devices and/or interfaces, storage resources, network interfaces, motherboards, electro-mechanical devices (e.g., fans), displays, and power supplies.
- Computer-readable media may include any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time.
- Computer-readable media may include, without limitation, storage media such as a direct access storage device (e.g., a hard disk drive or floppy disk), a sequential access storage device (e.g., a tape disk drive), compact disk, CD-ROM, DVD, random access memory (“RAM”), read-only memory (“ROM”), electrically erasable programmable read-only memory (“EEPROM”), and/or flash memory; as well as communications media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers; and/or any combination of the foregoing.
- direct access storage device e.g., a hard disk drive or floppy disk
- sequential access storage device e.g., a tape disk drive
- compact disk CD-ROM, DVD, random access memory (“RAM”)
- ROM read-only memory
- EEPROM electrically erasable programmable
- Information handling systems often use an array of physical storage resources (e.g., disk drives), such as a Redundant Array of Independent Disks (“RAID”), for example, for storing information.
- Arrays of physical storage resources typically utilize multiple disks to perform input and output operations and can be structured to provide redundancy which may increase fault tolerance. Other advantages of arrays of physical storage resources may be increased data integrity, throughput and/or capacity.
- one or more physical storage resources disposed in an array of physical storage resources may appear to an operating system as a single logical storage unit or “logical unit.” Implementations of physical storage resource arrays can range from a few physical storage resources disposed in a chassis, to hundreds of physical storage resources disposed in one or more separate storage enclosures.
- FIG. 1 illustrates a block diagram of a system 100 for disaster recovery, in accordance with embodiments of the present disclosure.
- system 100 may include a primary information handling system 102 , secondary information handling system 122 , and remote storage 130 coupled to one another via network 160 .
- one or more of information handling system 102 , secondary information handling system 122 , and remote storage 130 may be geographically remote from one another.
- “geographically remote” means physically separated in distance such that a calamity (e.g., power outage, natural disaster, fire, bad weather) occurring that causes a fault or failure of one of information handling system 102 , secondary information handling system 122 , and remote storage 130 is substantially unlikely to cause a fault or failure of the other of information handling system 102 , secondary information handling system 122 , and remote storage 130 .
- a calamity e.g., power outage, natural disaster, fire, bad weather
- “geographically remote” may mean location in a different building. In other instances, “geographically remote” may mean location in a different city, state, region, province, territory, or nation.
- primary information handling system 102 may comprise a server. In these and other embodiments, primary information handling system 102 may comprise a personal computer. In other embodiments, primary information handling system 102 may be a portable computing device (e.g., a laptop, notebook, tablet, handheld, smart phone, personal digital assistant, etc.). As depicted in FIG. 1 , primary information handling system 102 may include a processor 103 , a memory 104 communicatively coupled to processor 103 , a physical storage controller 106 communicatively coupled to processor 103 , a storage resource 110 communicatively coupled to physical storage controller 106 , and a network interface 108 communicatively coupled to processor 103 .
- processor 103 may include a processor 103 , a memory 104 communicatively coupled to processor 103 , a physical storage controller 106 communicatively coupled to processor 103 , a storage resource 110 communicatively coupled to physical storage controller 106 , and a network interface 108 communicatively coupled to processor 103
- Processor 103 may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation, a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data.
- processor 103 may interpret and/or execute program instructions and/or process data stored in memory 104 , storage resource 110 , and/or another component of primary information handling system 102 .
- Memory 104 may be communicatively coupled to processor 103 and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media).
- Memory 104 may include RAM, EEPROM, a PCMCIA card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to primary information handling system 102 is turned off.
- memory 104 may have stored thereon a hypervisor 114 , an operating system 116 , an application 118 , a storage management console 120 , and a storage virtual controller 121 .
- Hypervisor 114 may comprise software and/or firmware generally operable to allow multiple virtual machines and/or operating systems (e.g., operating system 116 and other operating systems and/or multiple versions of operating system 116 ) to run on a single computing system (e.g., primary information handling system 102 ) at the same time. This operability is generally allowed via virtualization, a technique for hiding the physical characteristics of computing system resources (e.g., physical hardware of the computing system) from the way in which other systems, applications, or end users interact with those resources.
- Hypervisor 114 may be one of a variety of proprietary and/or commercially available virtualization platforms, including without limitation, VIRTUALLOGIX VLX FOR EMBEDDED SYSTEMS, IBM's Z/VM, XEN, ORACLE VM, VMWARE's ESX SERVER, L4 MICROKERNEL, TRANGO, MICROSOFT's HYPER-V, SUN's LOGICAL DOMAINS, HITACHI's VIRTAGE, KVM, VMWARE SERVER, VMWARE WORKSTATION, VMWARE FUSION, QEMU, MICROSOFT's VIRTUAL PC and VIRTUAL SERVER, INNOTEK's VIRTUALBOX, and SWSOFT's PARALLELS WORKSTATION and PARALLELS DESKTOP.
- VIRTUALLOGIX VLX FOR EMBEDDED SYSTEMS IBM's Z/VM, XEN, ORACLE VM, VMWARE's ESX SERVER, L4 MI
- hypervisor 114 may comprise a specially-designed OS with native virtualization capabilities. In another embodiment, hypervisor 114 may comprise a standard OS with an incorporated virtualization component for performing virtualization.
- hypervisor 114 may comprise a standard OS running alongside a separate virtualization application.
- the virtualization application of hypervisor 114 may be an application running above an operating system (e.g., operating system 116 ) and interacting with computing system resources only through the operating system.
- the virtualization application of hypervisor 114 may, on some levels, interact indirectly with computing system resources via the operating system, and, on other levels, interact directly with computing system resources (e.g., similar to the way the operating system interacts directly with computing system resources, or as firmware running on computing system resources).
- hypervisor 114 may, on all levels, interact directly with computing system resources (e.g., similar to the way the operating system interacts directly with computing system resources, or as firmware running on computing system resources) without utilizing the operating system, although still interacting with the operating system to coordinate use of computing system resources. Active portions of hypervisor 114 may be transferred from storage media to memory 104 for execution by processor 103 .
- Operating system 116 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to manage and/or control the allocation and usage of hardware resources such as memory, processor time, disk space, and input and output devices, and provide an interface between such hardware resources and application programs hosted by operating system 116 . Active portions of operating system 116 may be transferred to memory 104 for execution by processor 103 .
- Application 118 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed by processor 103 , interact with operating system 116 in order to perform a group of coordinated functions, tasks, or activities.
- one or more application programs may comprise an application configured to perform input/output operations (e.g., reads and writes) to storage resource 110 and/or remote storage 130 .
- Storage management console 120 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed by processor 103 , facilitate disaster recovery, as described in greater detail herein.
- storage management console 120 may be aware of applications configured to consume storage space within storage resource 110 , and may maintain metadata (e.g., connectivity and configuration information) for remote storage 130 (e.g., which portions of remote storage 130 map to storage addresses exposed to application 118 ).
- metadata e.g., connectivity and configuration information
- storage management console 120 may also, via network 160 , copy such metadata to a replica storage management console 140 executing on secondary information handling system 122 .
- storage management console 120 may execute within a guest operating system running on hypervisor 114 or may itself comprise a guest operating system configured to run on hypervisor 114 .
- Storage virtual controller 121 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed by processor 103 , emulate and/or simulate a physical storage controller to facilitate input/output between primary information handling system 102 and remote storage 130 , as described in greater detail elsewhere herein.
- storage virtual controller 121 may execute within a guest operating system running on hypervisor 114 (e.g., a keyboard-video-mouse hypervisor) or may itself comprise a guest operating system configured to run on hypervisor 114 (e.g., a keyboard-video-mouse hypervisor).
- hypervisor 114 operating system 116 , application 118 , storage management console 120 , and storage virtual controller 121
- hypervisor 114 , operating system 116 , application 118 , storage management console 120 , and storage virtual controller 121 are shown in FIG. 1 as stored in memory 104
- one or more of hypervisor 114 , operating system 116 , application 118 , storage management console 120 , and storage virtual controller 121 may be stored in storage media accessible to processor 103 (e.g., storage resource 110 and/or remote storage 130 ), and active portions of hypervisor 114 , operating system 116 , application 118 , storage management console 120 , and storage virtual controller 121 may be transferred from such storage media to memory 104 for execution by processor 103 .
- Physical storage controller 106 may include any system, apparatus, or device operable to manage the communication of data between processor 103 and storage resource 110 .
- physical storage controller 106 may provide functionality including, without limitation, disk aggregation and redundancy (e.g., RAID), I/O routing, and error detection and recovery.
- Physical storage controller 106 may also have features supporting shared storage and high availability.
- physical storage controller 106 may comprise a PowerEdge RAID Controller (PERC) manufactured by Dell Inc.
- PROC PowerEdge RAID Controller
- Storage resources 110 may include one or more hard disk drives, magnetic tape libraries, optical disk drives, magneto-optical disk drives, compact disk drives, compact disk arrays, disk array controllers, and/or any other system, apparatus or device operable to store media.
- storage resource 110 may comprise a plurality of physical storage resources that may appear to an operating system or virtual machine executing on primary information handling system 102 as a single logical storage unit or virtual storage resource.
- each such virtual storage resource may comprise a RAID.
- a virtual storage resource may comprise a redundant array of physical storage resources.
- a virtual storage resource may be implemented using a RAID standard.
- FIG. 1 depicts storage resource 110 internal to primary information handling system 102
- storage resource 110 may be external to primary information handling system 102 (e.g., embodied by a physical array of external hard disk drives).
- Network interface 108 may comprise any suitable system, apparatus, or device operable to serve as an interface between primary information handling system 102 to one or more other information handling systems (e.g., secondary information handling system 122 , remote storage 130 ) via network 160 .
- Network interface 108 may enable primary information handling system 102 to communicate using any suitable transmission protocol and/or standard.
- network interface 108 may comprise a network interface card, or “NIC.”
- network interface 108 may be implemented as a virtual NIC (e.g., implemented by software configured to execute on processor 103 of primary information handling system 102 ).
- network interface 108 may comprise another type of data transfer card, such as a Fibre Channel card.
- primary information handling system 102 may include one or more other information handling resources.
- secondary information handling system 122 may comprise a server. In these and other embodiments, secondary information handling system 122 may comprise a personal computer. In other embodiments, secondary information handling system 122 may be a portable computing device (e.g., a laptop, notebook, tablet, handheld, smart phone, personal digital assistant, etc.). As depicted in FIG. 1 , secondary information handling system 122 may include a processor 123 , a memory 124 communicatively coupled to processor 123 , and a network interface 128 communicatively coupled to processor 123 .
- Processor 123 may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation, a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments, processor 123 may interpret and/or execute program instructions and/or process data stored in memory 124 and/or another component of secondary information handling system 122 .
- DSP digital signal processor
- ASIC application specific integrated circuit
- Memory 124 may be communicatively coupled to processor 123 and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media).
- Memory 124 may include RAM, EEPROM, a PCMCIA card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to primary information handling system 122 is turned off.
- memory 124 may have stored thereon a hypervisor 114 , an operating system 116 , an application 118 , a storage management console 140 , and a storage virtual controller 141 .
- Hypervisor 114 , operating system 116 , and/or application 118 of secondary information handling system 122 may be identical or similar to hypervisor 114 , operating system 116 , and application 118 , respectively, of primary information handling system 102 .
- Storage management console 140 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed by processor 103 , facilitate disaster recovery, as described in greater detail herein.
- storage management console 140 may be aware of applications configured to consume storage space within storage resource 110 , and may maintain metadata (e.g., connectivity and configuration information) for remote storage 130 (e.g., which portions of remote storage 130 map to storage addresses exposed to application 118 ).
- metadata e.g., connectivity and configuration information
- storage management console 140 may also, via network 160 , receive such metadata from storage management console 120 executing on primary information handling system 102 , such that, during normal operation, storage management console 140 acts as a replica of storage management console 120 .
- storage management console 140 may execute within a guest operating system running on hypervisor 114 or may itself comprise a guest operating system configured to run on hypervisor 114 .
- Storage virtual controller 141 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed by processor 123 , emulate and/or simulate a physical storage controller to facilitate input/output between primary information handling system 122 and remote storage 130 , as described in greater detail elsewhere herein.
- storage virtual controller 141 may execute within a guest operating system running on hypervisor 114 or may itself comprise a guest operating system configured to run on hypervisor 114 .
- hypervisor 114 operating system 116 , application 118 , storage management console 140 , and storage virtual controller 141
- hypervisor 114 may be stored in storage media accessible to processor 123 (e.g., remote storage 130 ), and active portions of hypervisor 114 , operating system 116 , application 118 , storage management console 140 , and storage virtual controller 141 may be transferred from such storage media to memory 124 for execution by processor 123 .
- Network interface 128 may comprise any suitable system, apparatus, or device operable to serve as an interface between secondary information handling system 122 to one or more other information handling systems (e.g., primary information handling system 102 , remote storage 130 ) via network 160 .
- Network interface 128 may enable secondary information handling system 122 to communicate using any suitable transmission protocol and/or standard.
- network interface 128 may comprise a network interface card, or “NIC.”
- NIC network interface card
- network interface 128 may be implemented as a virtual NIC (e.g., implemented by software configured to execute on processor 123 of secondary information handling system 122 ).
- network interface 128 may comprise another type of data transfer card, such as a Fibre Channel card.
- secondary information handling system 122 may include one or more other information handling resources.
- Remote storage 130 may include any computer-readable media configured to store data associated with primary information handling system 102 , secondary information handling system 122 , and/or other information handling systems.
- remote storage 130 may be part of or associated with a cloud service (e.g., maintained by a third party) which may include any suitable service for maintaining documents associated with or accessible to information handling system 102 , secondary information handling system 122 , and/or other information handling systems, or performing a service with respect to such documents to modify, transform, or reformat such a document.
- a third-party cloud service may include a file storage and/or file synchronization service.
- Network 160 may be a network and/or fabric configured to couple user primary information handling system 102 , secondary information handling system 122 , and/or remote storage 130 to each other.
- network 160 may include a communication infrastructure, which provides physical connections, and a management layer, which organizes the physical connections and information handling systems communicatively coupled to network 160 .
- Network 160 may be implemented as, or may be a part of, a storage area network (SAN), a PAN, a LAN, a metropolitan area network (MAN), a WAN, a wireless local area network (WLAN), a virtual private network (VPN), an intranet, the Internet or any other appropriate architecture or system that facilitates the communication of signals, data and/or messages (generally referred to as data).
- SAN storage area network
- PAN personal area network
- LAN local area network
- WLAN wireless local area network
- VPN virtual private network
- intranet the Internet or any other appropriate architecture or system that facilitates the communication of signals, data and/or messages (generally referred to as data).
- Network 160 may transmit data using any storage and/or communication protocol, including without limitation, Fibre Channel, Frame Relay, Asynchronous Transfer Mode (ATM), Internet protocol (IP), other packet-based protocol, small computer system interface (SCSI), Internet SCSI (iSCSI), Serial Attached SCSI (SAS) or any other transport that operates with the SCSI protocol, advanced technology attachment (ATA), serial ATA (SATA), advanced technology attachment packet interface (ATAPI), serial storage architecture (SSA), integrated drive electronics (IDE), and/or any combination thereof.
- Network 160 and its various components may be implemented using hardware, software, or any combination thereof.
- system 100 may include one or more other information handling resources.
- FIG. 2 illustrates a block diagram of a hierarchy for various components of system 100 during a normal operational mode of system 100 , in accordance with embodiments of the present disclosure.
- one or more applications 118 hosted by primary information handling system 102 may be provided storage from storage resource 110 coupled to physical storage controller 106 .
- Storage management console 120 may be aware of applications 118 consuming storage from storage resource 110 and/or may maintain metadata regarding configuration details of storage virtual controller 121 (e.g., mappings between applications and logical units of remote storage storing data for such applications).
- Storage virtual controller 121 may act as a data mover for data to be moved from primary information handling system 102 to remote storage 130 .
- Storage virtual controller 121 may be configured to move data to and/or from remote storage 130 using Internet Small Computer System Interface (iSCSI) or other suitable protocol and/or standard.
- Storage management console 120 may be configured to provision storage units (e.g., logical units or “LUNs”) on remote storage 130 and configuring storage virtual controller 121 to consume such storage units.
- storage units e.g., logical units or “LUNs”
- Storage management console 120 may also configure an asynchronous mirror relationship between physical storage controller 106 and storage virtual controller 121 such that all data written to physical storage controller 106 is also written to storage virtual controller 121 .
- storage virtual controller 121 may perform write-through caching such that all input/output communications directed to it as part of the mirror relationship is written directly to remote storage 130 without any caching.
- application-consistent snapshots may be periodically taken by storage management console 120 .
- storage management console 120 may cause application 118 to quiesce input/output communications, take the application-consistent snapshot, and store metadata associated with the data.
- such stored metadata may include, without limitation, storage configuration information of application 118 (e.g., the number of volumes exposed to a host of the application, their World Wide Name identifiers, etc.), information regarding the application consistent snapshot and its available replicas, internal storage configuration information regarding storage virtual controller 121 such that a replica storage virtual controller 141 may be instantiated with a like configuration at secondary information handling system 122 in the event of failover, and/or connection and authentication information for accessing logical units of remote storage 130 associated with the data.
- Such metadata may be cached by storage management console 120 and copied to storage management controller 140 of secondary information handling system 122 .
- FIG. 3 illustrates a block diagram of a hierarchy for various components of system 100 during a disaster recovery mode of system 100 , in accordance with embodiments of the present disclosure.
- storage management console 140 of secondary information handling system 122 may use the metadata and application information copied from storage management console 120 during the normal operational mode in order to configure application 118 and storage virtual controller 141 to continue operation at secondary information handling system 122 to access data of application 118 from remote storage 130 .
- storage management console 140 of secondary information handling system 122 may, based on the metadata and application information copied from storage management console 120 during the normal operational mode:
- secondary information handling system 122 effectively operates as a remote storage (e.g., cloud-backed) disaster recovery site with input/output communications taking place via application 118 and remote storage 130 , with storage virtual controller 141 interfacing between the two.
- storage management console 140 may maintain a log to track changes or deltas caused by writes from application 118 .
- storage management console 140 may cause such delta information to be stored on a logical unit of remote storage 130 , with storage management console 140 storing metadata associated with the delta information.
- FIG. 4 illustrates a block diagram of a hierarchy for various components of system 100 during a fail-back mode of system 100 , in accordance with embodiments of the present disclosure.
- storage management console 140 and storage management console 120 may operate in concert to transfer data to primary information handling system 102 and reconfigured primary information handling system 102 as needed.
- storage management console 140 may copy metadata and application information to storage management console 120 to update any configuration information made during the time primary information handling system 102 was down.
- storage management console 120 may read from remote storage 130 regarding configuration changes made during the time information handling system 102 was down.
- Storage management console 120 may also re-spawn storage virtual controller 121 and cause it to read the delta log from remote storage 130 and replicate those changes to physical storage controller 106 such that the changes are made on storage resource 110 . Then storage management console 120 may cause application 118 to perform input/output to physical storage controller 106 and re-enter the normal operation mode.
- FIG. 5 illustrates a block diagram of a hierarchy for various components of system 100 during normal operation in a single-site system in which secondary information handling system 122 is not present, in accordance with embodiments of the present disclosure.
- storage virtual controller 121 may act as the input/output interface between application 118 and remote storage 130 when physical storage controller 106 has experienced fault or failure. All such input/output may be tracked by a delta change log which may be communicated to physical storage controller 106 when it recovers from failure or fault.
- remote storage 130 (which may be a cloud-based storage repository) may serve as a go-between between primary information handing system 102 and secondary information handling system 122 .
- secondary information handling system 122 may include only virtual components, thus potentially reducing cost.
- references in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, or component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
Abstract
Description
- The present disclosure relates in general to information handling systems, and more particularly to disaster recovery of data in an information handling system.
- As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
- In many computing applications, information handling systems store massive amounts of data, and such information handling systems must often be capable of providing continuity of access to such data via a well-defined disaster recovery plan. Oftentimes, to provide greater robustness, it is desirable to provide for geographically-distributed recovery as opposed to single-site recovery.
- In accordance with the teachings of the present disclosure, the disadvantages and problems associated with existing approaches to disaster recovery may be reduced or eliminated.
- In accordance with embodiments of the present disclosure, an information handling system may include a processor and a first storage management console comprising a program of executable instructions embodied in non-transitory computer-readable media accessible to the processor, and configured to, when read and executed by the processor: (i) manage input/output between an application and a primary physical storage controller to perform input/output between the application and a storage resource communicatively coupled to primary physical storage container; (ii) asynchronously mirror application-consistent snapshots of data associated with the application from the primary physical storage controller to a storage virtual controller configured to emulate a physical storage controller such that the storage virtual controller stores the snapshots to remote storage geographically remote from the information handling system; (iii) store metadata associated with the application and data stored to the storage resource and the remote storage; and (iv) copy the metadata to a second storage management console executing on a second information handling system geographically remote from the information handling system.
- In accordance with embodiments of the present disclosure, a method may include managing, by a first storage management console instantiated on a first information handling system, input/output between an application and a primary physical storage controller to perform input/output between the application and a storage resource communicatively coupled to the primary physical storage controller. The method may also include asynchronously mirroring, by the first storage management console, application-consistent snapshots of data associated with the application from the primary physical storage controller to a storage virtual controller configured to emulate a physical storage controller such that the storage virtual controller stores the snapshots to remote storage geographically remote from the first information handling system. The method may further include storing, by the first storage management console, metadata associated with the application and data stored to the storage resource and the remote storage. The method may additionally include copying, by the first storage management console, the metadata to a second storage management console executing on a second information handling system geographically remote from the first information handling system.
- In accordance with embodiments of the present disclosure, an article of manufacture may include a non-transitory computer readable medium and computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to: (i) manage, by a first storage management console instantiated on a first information handling system, input/output between an application and a primary physical storage controller to perform input/output between the application and a storage resource communicatively coupled to the primary physical storage controller; (ii) asynchronously mirror, by the first storage management console, application-consistent snapshots of data associated with the application from the physical storage controller to a storage virtual controller configured to emulate a physical storage controller such that the storage virtual controller stores the snapshots to remote storage geographically remote from the first information handling system; (iii) store, by the first storage management console, metadata associated with the application and data stored to the storage resource and the remote storage; and (iv) copy, by the first storage management console, the metadata to a second storage management console executing on a second information handling system geographically remote from the first information handling system.
- Technical advantages of the present disclosure may be readily apparent to one skilled in the art from the figures, description and claims included herein. The objects and advantages of the embodiments will be realized and achieved at least by the elements, features, and combinations particularly pointed out in the claims.
- It is to be understood that both the foregoing general description and the following detailed description are examples and explanatory and are not restrictive of the claims set forth in this disclosure.
- A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
-
FIG. 1 illustrates a block diagram of a system for disaster recovery, in accordance with embodiments of the present disclosure; -
FIG. 2 illustrates a block diagram of a hierarchy for various components of the system depicted inFIG. 1 during a normal operational mode of the system, in accordance with embodiments of the present disclosure; -
FIG. 3 illustrates a block diagram of a hierarchy for various components of the system depicted inFIG. 1 during a disaster recovery mode of the system, in accordance with embodiments of the present disclosure; -
FIG. 4 illustrates a block diagram of a hierarchy for various components of the system depicted inFIG. 1 during a fail-back mode of the system, in accordance with embodiments of the present disclosure; and -
FIG. 5 illustrates a block diagram of a hierarchy for various components of the system depicted inFIG. 1 during normal operation in a single-site system, in accordance with embodiments of the present disclosure. - Preferred embodiments and their advantages are best understood by reference to
FIGS. 1 through 5 , wherein like numbers are used to indicate like and corresponding parts. For the purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (“CPU”) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (“I/O”) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communication between the various hardware components. - For the purposes of this disclosure, information handling resources may broadly refer to any component system, device or apparatus of an information handling system, including without limitation processors, buses, memories, input-output devices and/or interfaces, storage resources, network interfaces, motherboards, electro-mechanical devices (e.g., fans), displays, and power supplies.
- For the purposes of this disclosure, computer-readable media may include any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time. Computer-readable media may include, without limitation, storage media such as a direct access storage device (e.g., a hard disk drive or floppy disk), a sequential access storage device (e.g., a tape disk drive), compact disk, CD-ROM, DVD, random access memory (“RAM”), read-only memory (“ROM”), electrically erasable programmable read-only memory (“EEPROM”), and/or flash memory; as well as communications media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers; and/or any combination of the foregoing.
- Information handling systems often use an array of physical storage resources (e.g., disk drives), such as a Redundant Array of Independent Disks (“RAID”), for example, for storing information. Arrays of physical storage resources typically utilize multiple disks to perform input and output operations and can be structured to provide redundancy which may increase fault tolerance. Other advantages of arrays of physical storage resources may be increased data integrity, throughput and/or capacity. In operation, one or more physical storage resources disposed in an array of physical storage resources may appear to an operating system as a single logical storage unit or “logical unit.” Implementations of physical storage resource arrays can range from a few physical storage resources disposed in a chassis, to hundreds of physical storage resources disposed in one or more separate storage enclosures.
-
FIG. 1 illustrates a block diagram of asystem 100 for disaster recovery, in accordance with embodiments of the present disclosure. As shown inFIG. 1 ,system 100 may include a primaryinformation handling system 102, secondaryinformation handling system 122, andremote storage 130 coupled to one another vianetwork 160. In some embodiments, one or more ofinformation handling system 102, secondaryinformation handling system 122, andremote storage 130 may be geographically remote from one another. As used herein, “geographically remote” means physically separated in distance such that a calamity (e.g., power outage, natural disaster, fire, bad weather) occurring that causes a fault or failure of one ofinformation handling system 102, secondaryinformation handling system 122, andremote storage 130 is substantially unlikely to cause a fault or failure of the other ofinformation handling system 102, secondaryinformation handling system 122, andremote storage 130. Thus, in some instances, “geographically remote” may mean location in a different building. In other instances, “geographically remote” may mean location in a different city, state, region, province, territory, or nation. - In some embodiments, primary
information handling system 102 may comprise a server. In these and other embodiments, primaryinformation handling system 102 may comprise a personal computer. In other embodiments, primaryinformation handling system 102 may be a portable computing device (e.g., a laptop, notebook, tablet, handheld, smart phone, personal digital assistant, etc.). As depicted inFIG. 1 , primaryinformation handling system 102 may include aprocessor 103, amemory 104 communicatively coupled toprocessor 103, aphysical storage controller 106 communicatively coupled toprocessor 103, astorage resource 110 communicatively coupled tophysical storage controller 106, and anetwork interface 108 communicatively coupled toprocessor 103. -
Processor 103 may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation, a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments,processor 103 may interpret and/or execute program instructions and/or process data stored inmemory 104,storage resource 110, and/or another component of primaryinformation handling system 102. -
Memory 104 may be communicatively coupled toprocessor 103 and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media).Memory 104 may include RAM, EEPROM, a PCMCIA card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to primaryinformation handling system 102 is turned off. - As shown in
FIG. 1 ,memory 104 may have stored thereon ahypervisor 114, anoperating system 116, anapplication 118, astorage management console 120, and a storagevirtual controller 121. Hypervisor 114 may comprise software and/or firmware generally operable to allow multiple virtual machines and/or operating systems (e.g.,operating system 116 and other operating systems and/or multiple versions of operating system 116) to run on a single computing system (e.g., primary information handling system 102) at the same time. This operability is generally allowed via virtualization, a technique for hiding the physical characteristics of computing system resources (e.g., physical hardware of the computing system) from the way in which other systems, applications, or end users interact with those resources. Hypervisor 114 may be one of a variety of proprietary and/or commercially available virtualization platforms, including without limitation, VIRTUALLOGIX VLX FOR EMBEDDED SYSTEMS, IBM's Z/VM, XEN, ORACLE VM, VMWARE's ESX SERVER, L4 MICROKERNEL, TRANGO, MICROSOFT's HYPER-V, SUN's LOGICAL DOMAINS, HITACHI's VIRTAGE, KVM, VMWARE SERVER, VMWARE WORKSTATION, VMWARE FUSION, QEMU, MICROSOFT's VIRTUAL PC and VIRTUAL SERVER, INNOTEK's VIRTUALBOX, and SWSOFT's PARALLELS WORKSTATION and PARALLELS DESKTOP. - In one embodiment,
hypervisor 114 may comprise a specially-designed OS with native virtualization capabilities. In another embodiment,hypervisor 114 may comprise a standard OS with an incorporated virtualization component for performing virtualization. - In another embodiment,
hypervisor 114 may comprise a standard OS running alongside a separate virtualization application. In this embodiment, the virtualization application ofhypervisor 114 may be an application running above an operating system (e.g., operating system 116) and interacting with computing system resources only through the operating system. Alternatively, the virtualization application ofhypervisor 114 may, on some levels, interact indirectly with computing system resources via the operating system, and, on other levels, interact directly with computing system resources (e.g., similar to the way the operating system interacts directly with computing system resources, or as firmware running on computing system resources). As a further alternative, the virtualization application ofhypervisor 114 may, on all levels, interact directly with computing system resources (e.g., similar to the way the operating system interacts directly with computing system resources, or as firmware running on computing system resources) without utilizing the operating system, although still interacting with the operating system to coordinate use of computing system resources. Active portions ofhypervisor 114 may be transferred from storage media tomemory 104 for execution byprocessor 103. -
Operating system 116 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to manage and/or control the allocation and usage of hardware resources such as memory, processor time, disk space, and input and output devices, and provide an interface between such hardware resources and application programs hosted byoperating system 116. Active portions ofoperating system 116 may be transferred tomemory 104 for execution byprocessor 103. -
Application 118 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed byprocessor 103, interact withoperating system 116 in order to perform a group of coordinated functions, tasks, or activities. For example, one or more application programs may comprise an application configured to perform input/output operations (e.g., reads and writes) tostorage resource 110 and/orremote storage 130. -
Storage management console 120 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed byprocessor 103, facilitate disaster recovery, as described in greater detail herein. For example,storage management console 120 may be aware of applications configured to consume storage space withinstorage resource 110, and may maintain metadata (e.g., connectivity and configuration information) for remote storage 130 (e.g., which portions ofremote storage 130 map to storage addresses exposed to application 118). In operation,storage management console 120 may also, vianetwork 160, copy such metadata to a replicastorage management console 140 executing on secondaryinformation handling system 122. In some embodiments,storage management console 120 may execute within a guest operating system running onhypervisor 114 or may itself comprise a guest operating system configured to run onhypervisor 114. - Storage
virtual controller 121 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed byprocessor 103, emulate and/or simulate a physical storage controller to facilitate input/output between primaryinformation handling system 102 andremote storage 130, as described in greater detail elsewhere herein. In some embodiments, storagevirtual controller 121 may execute within a guest operating system running on hypervisor 114 (e.g., a keyboard-video-mouse hypervisor) or may itself comprise a guest operating system configured to run on hypervisor 114 (e.g., a keyboard-video-mouse hypervisor). - Although
hypervisor 114,operating system 116,application 118,storage management console 120, and storagevirtual controller 121, are shown inFIG. 1 as stored inmemory 104, in some embodiments, one or more ofhypervisor 114,operating system 116,application 118,storage management console 120, and storagevirtual controller 121 may be stored in storage media accessible to processor 103 (e.g.,storage resource 110 and/or remote storage 130), and active portions ofhypervisor 114,operating system 116,application 118,storage management console 120, and storagevirtual controller 121 may be transferred from such storage media tomemory 104 for execution byprocessor 103. -
Physical storage controller 106 may include any system, apparatus, or device operable to manage the communication of data betweenprocessor 103 andstorage resource 110. In certain embodiments,physical storage controller 106 may provide functionality including, without limitation, disk aggregation and redundancy (e.g., RAID), I/O routing, and error detection and recovery.Physical storage controller 106 may also have features supporting shared storage and high availability. In some embodiments,physical storage controller 106 may comprise a PowerEdge RAID Controller (PERC) manufactured by Dell Inc. -
Storage resources 110 may include one or more hard disk drives, magnetic tape libraries, optical disk drives, magneto-optical disk drives, compact disk drives, compact disk arrays, disk array controllers, and/or any other system, apparatus or device operable to store media. In some embodiments,storage resource 110 may comprise a plurality of physical storage resources that may appear to an operating system or virtual machine executing on primaryinformation handling system 102 as a single logical storage unit or virtual storage resource. For example, each such virtual storage resource may comprise a RAID. Thus, in some embodiments, a virtual storage resource may comprise a redundant array of physical storage resources. In the same or alternative embodiments, a virtual storage resource may be implemented using a RAID standard. AlthoughFIG. 1 depictsstorage resource 110 internal to primaryinformation handling system 102, in some embodiments,storage resource 110 may be external to primary information handling system 102 (e.g., embodied by a physical array of external hard disk drives). -
Network interface 108 may comprise any suitable system, apparatus, or device operable to serve as an interface between primaryinformation handling system 102 to one or more other information handling systems (e.g., secondaryinformation handling system 122, remote storage 130) vianetwork 160.Network interface 108 may enable primaryinformation handling system 102 to communicate using any suitable transmission protocol and/or standard. In these and other embodiments,network interface 108 may comprise a network interface card, or “NIC.” In other embodiments,network interface 108 may be implemented as a virtual NIC (e.g., implemented by software configured to execute onprocessor 103 of primary information handling system 102). In yet other embodiments,network interface 108 may comprise another type of data transfer card, such as a Fibre Channel card. - In addition to
processor 103,memory 104, andphysical storage controller 106,storage resource 110, andnetwork interface 108, primaryinformation handling system 102 may include one or more other information handling resources. - In some embodiments, secondary
information handling system 122 may comprise a server. In these and other embodiments, secondaryinformation handling system 122 may comprise a personal computer. In other embodiments, secondaryinformation handling system 122 may be a portable computing device (e.g., a laptop, notebook, tablet, handheld, smart phone, personal digital assistant, etc.). As depicted inFIG. 1 , secondaryinformation handling system 122 may include aprocessor 123, amemory 124 communicatively coupled toprocessor 123, and anetwork interface 128 communicatively coupled toprocessor 123. -
Processor 123 may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation, a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments,processor 123 may interpret and/or execute program instructions and/or process data stored inmemory 124 and/or another component of secondaryinformation handling system 122. -
Memory 124 may be communicatively coupled toprocessor 123 and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media).Memory 124 may include RAM, EEPROM, a PCMCIA card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to primaryinformation handling system 122 is turned off. - As shown in
FIG. 1 ,memory 124 may have stored thereon ahypervisor 114, anoperating system 116, anapplication 118, astorage management console 140, and a storagevirtual controller 141.Hypervisor 114,operating system 116, and/orapplication 118 of secondaryinformation handling system 122 may be identical or similar tohypervisor 114,operating system 116, andapplication 118, respectively, of primaryinformation handling system 102. -
Storage management console 140 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed byprocessor 103, facilitate disaster recovery, as described in greater detail herein. For example,storage management console 140 may be aware of applications configured to consume storage space withinstorage resource 110, and may maintain metadata (e.g., connectivity and configuration information) for remote storage 130 (e.g., which portions ofremote storage 130 map to storage addresses exposed to application 118). In operation,storage management console 140 may also, vianetwork 160, receive such metadata fromstorage management console 120 executing on primaryinformation handling system 102, such that, during normal operation,storage management console 140 acts as a replica ofstorage management console 120. In some embodiments,storage management console 140 may execute within a guest operating system running onhypervisor 114 or may itself comprise a guest operating system configured to run onhypervisor 114. - Storage
virtual controller 141 may comprise any program of executable instructions, or aggregation of programs of executable instructions, configured to, when read and executed byprocessor 123, emulate and/or simulate a physical storage controller to facilitate input/output between primaryinformation handling system 122 andremote storage 130, as described in greater detail elsewhere herein. In some embodiments, storagevirtual controller 141 may execute within a guest operating system running onhypervisor 114 or may itself comprise a guest operating system configured to run onhypervisor 114. - Although
hypervisor 114,operating system 116,application 118,storage management console 140, and storagevirtual controller 141, are shown inFIG. 1 as stored inmemory 124, in some embodiments, one or more ofhypervisor 114,operating system 116,application 118,storage management console 140, and storagevirtual controller 141 may be stored in storage media accessible to processor 123 (e.g., remote storage 130), and active portions ofhypervisor 114,operating system 116,application 118,storage management console 140, and storagevirtual controller 141 may be transferred from such storage media tomemory 124 for execution byprocessor 123. -
Network interface 128 may comprise any suitable system, apparatus, or device operable to serve as an interface between secondaryinformation handling system 122 to one or more other information handling systems (e.g., primaryinformation handling system 102, remote storage 130) vianetwork 160.Network interface 128 may enable secondaryinformation handling system 122 to communicate using any suitable transmission protocol and/or standard. In these and other embodiments,network interface 128 may comprise a network interface card, or “NIC.” In other embodiments,network interface 128 may be implemented as a virtual NIC (e.g., implemented by software configured to execute onprocessor 123 of secondary information handling system 122). In yet other embodiments,network interface 128 may comprise another type of data transfer card, such as a Fibre Channel card. - In addition to
processor 123,memory 124, andnetwork interface 128, secondaryinformation handling system 122 may include one or more other information handling resources. -
Remote storage 130 may include any computer-readable media configured to store data associated with primaryinformation handling system 102, secondaryinformation handling system 122, and/or other information handling systems. In some embodiments,remote storage 130 may be part of or associated with a cloud service (e.g., maintained by a third party) which may include any suitable service for maintaining documents associated with or accessible toinformation handling system 102, secondaryinformation handling system 122, and/or other information handling systems, or performing a service with respect to such documents to modify, transform, or reformat such a document. For example, such a third-party cloud service may include a file storage and/or file synchronization service. -
Network 160 may be a network and/or fabric configured to couple user primaryinformation handling system 102, secondaryinformation handling system 122, and/orremote storage 130 to each other. In some embodiments,network 160 may include a communication infrastructure, which provides physical connections, and a management layer, which organizes the physical connections and information handling systems communicatively coupled tonetwork 160.Network 160 may be implemented as, or may be a part of, a storage area network (SAN), a PAN, a LAN, a metropolitan area network (MAN), a WAN, a wireless local area network (WLAN), a virtual private network (VPN), an intranet, the Internet or any other appropriate architecture or system that facilitates the communication of signals, data and/or messages (generally referred to as data).Network 160 may transmit data using any storage and/or communication protocol, including without limitation, Fibre Channel, Frame Relay, Asynchronous Transfer Mode (ATM), Internet protocol (IP), other packet-based protocol, small computer system interface (SCSI), Internet SCSI (iSCSI), Serial Attached SCSI (SAS) or any other transport that operates with the SCSI protocol, advanced technology attachment (ATA), serial ATA (SATA), advanced technology attachment packet interface (ATAPI), serial storage architecture (SSA), integrated drive electronics (IDE), and/or any combination thereof.Network 160 and its various components may be implemented using hardware, software, or any combination thereof. - In addition to primary
information handling system 102, secondaryinformation handling system 122,remote storage 130, andnetwork 160,system 100 may include one or more other information handling resources. -
FIG. 2 illustrates a block diagram of a hierarchy for various components ofsystem 100 during a normal operational mode ofsystem 100, in accordance with embodiments of the present disclosure. In the normal operational mode, one ormore applications 118 hosted by primaryinformation handling system 102 may be provided storage fromstorage resource 110 coupled tophysical storage controller 106.Storage management console 120 may be aware ofapplications 118 consuming storage fromstorage resource 110 and/or may maintain metadata regarding configuration details of storage virtual controller 121 (e.g., mappings between applications and logical units of remote storage storing data for such applications). Storagevirtual controller 121 may act as a data mover for data to be moved from primaryinformation handling system 102 toremote storage 130. Storagevirtual controller 121 may be configured to move data to and/or fromremote storage 130 using Internet Small Computer System Interface (iSCSI) or other suitable protocol and/or standard.Storage management console 120 may be configured to provision storage units (e.g., logical units or “LUNs”) onremote storage 130 and configuring storagevirtual controller 121 to consume such storage units. -
Storage management console 120 may also configure an asynchronous mirror relationship betweenphysical storage controller 106 and storagevirtual controller 121 such that all data written tophysical storage controller 106 is also written to storagevirtual controller 121. In some embodiments, storagevirtual controller 121 may perform write-through caching such that all input/output communications directed to it as part of the mirror relationship is written directly toremote storage 130 without any caching. By having an asynchronous mirror relationship, rather than havingphysical storage controller 106 write directly toremote storage 130, latencies associated with directing input/output communications toremote storage 130 fall on storagevirtual controller 121, freeing the input/output path tostorage resource 110 from losing processing resources, as might occur over a synchronous mirror relationship. - To initiate the mirroring described above, application-consistent snapshots may be periodically taken by
storage management console 120. When taking snapshots,storage management console 120 may causeapplication 118 to quiesce input/output communications, take the application-consistent snapshot, and store metadata associated with the data. For example, such stored metadata may include, without limitation, storage configuration information of application 118 (e.g., the number of volumes exposed to a host of the application, their World Wide Name identifiers, etc.), information regarding the application consistent snapshot and its available replicas, internal storage configuration information regarding storagevirtual controller 121 such that a replica storagevirtual controller 141 may be instantiated with a like configuration at secondaryinformation handling system 122 in the event of failover, and/or connection and authentication information for accessing logical units ofremote storage 130 associated with the data. Such metadata may be cached bystorage management console 120 and copied tostorage management controller 140 of secondaryinformation handling system 122. -
FIG. 3 illustrates a block diagram of a hierarchy for various components ofsystem 100 during a disaster recovery mode ofsystem 100, in accordance with embodiments of the present disclosure. In the event of a fault or failure of primaryinformation handling system 102,storage management console 140 of secondaryinformation handling system 122 may use the metadata and application information copied fromstorage management console 120 during the normal operational mode in order to configureapplication 118 and storagevirtual controller 141 to continue operation at secondaryinformation handling system 122 to access data ofapplication 118 fromremote storage 130. Thus, when the disaster recovery mode is triggered by a fault or failure of primaryinformation handling system 102,storage management console 140 of secondaryinformation handling system 122 may, based on the metadata and application information copied fromstorage management console 120 during the normal operational mode: -
- determine a configuration for storage
virtual controller 141 and spawn storagevirtual controller 141 such that it replicates the configuration of storagevirtual controller 121; - configure storage
virtual controller 141 to consume logical units ofremote storage 130 which stored the data ofapplication 118 of primaryinformation handling system 102 and expose volumes of the logical units to a replica ofapplication 118 at secondaryinformation handling system 122; and/or - interface with
application 118 to permitapplication 118 to perform consistency checks on the exposed volumes.
- determine a configuration for storage
- After volumes of logical units of
remote storage 130 are exposed toapplication 118, secondaryinformation handling system 122 effectively operates as a remote storage (e.g., cloud-backed) disaster recovery site with input/output communications taking place viaapplication 118 andremote storage 130, with storagevirtual controller 141 interfacing between the two. In the disaster recovery mode,storage management console 140 may maintain a log to track changes or deltas caused by writes fromapplication 118. In some embodiments,storage management console 140 may cause such delta information to be stored on a logical unit ofremote storage 130, withstorage management console 140 storing metadata associated with the delta information. -
FIG. 4 illustrates a block diagram of a hierarchy for various components ofsystem 100 during a fail-back mode ofsystem 100, in accordance with embodiments of the present disclosure. In the event of removal of the fault or failure of primaryinformation handling system 102 or replacement of a failed primaryinformation handling system 102 with a new primaryinformation handling system 102,storage management console 140 andstorage management console 120 may operate in concert to transfer data to primaryinformation handling system 102 and reconfigured primaryinformation handling system 102 as needed. Thus, during the fail-back mode,storage management console 140 may copy metadata and application information tostorage management console 120 to update any configuration information made during the time primaryinformation handling system 102 was down. Alternatively,storage management console 120 may read fromremote storage 130 regarding configuration changes made during the timeinformation handling system 102 was down.Storage management console 120 may also re-spawn storagevirtual controller 121 and cause it to read the delta log fromremote storage 130 and replicate those changes tophysical storage controller 106 such that the changes are made onstorage resource 110. Thenstorage management console 120 may causeapplication 118 to perform input/output tophysical storage controller 106 and re-enter the normal operation mode. -
FIG. 5 illustrates a block diagram of a hierarchy for various components ofsystem 100 during normal operation in a single-site system in which secondaryinformation handling system 122 is not present, in accordance with embodiments of the present disclosure. In such single-site system, storagevirtual controller 121 may act as the input/output interface betweenapplication 118 andremote storage 130 whenphysical storage controller 106 has experienced fault or failure. All such input/output may be tracked by a delta change log which may be communicated tophysical storage controller 106 when it recovers from failure or fault. - Advantageously, remote storage 130 (which may be a cloud-based storage repository) may serve as a go-between between primary
information handing system 102 and secondaryinformation handling system 122. Another advantage to the systems and methods herein is that secondaryinformation handling system 122 may include only virtual components, thus potentially reducing cost. - As used herein, when two or more elements are referred to as “coupled” to one another, such term indicates that such two or more elements are in electronic communication or mechanical communication, as applicable, whether connected indirectly or directly, with or without intervening elements.
- This disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments herein that a person having ordinary skill in the art would comprehend. Moreover, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, or component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
- All examples and conditional language recited herein are intended for pedagogical objects to aid the reader in understanding the disclosure and the concepts contributed by the inventor to furthering the art, and are construed as being without limitation to such specifically recited examples and conditions. Although embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the disclosure.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/880,502 US9619350B1 (en) | 2015-10-12 | 2015-10-12 | Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/880,502 US9619350B1 (en) | 2015-10-12 | 2015-10-12 | Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage |
Publications (2)
Publication Number | Publication Date |
---|---|
US9619350B1 US9619350B1 (en) | 2017-04-11 |
US20170103006A1 true US20170103006A1 (en) | 2017-04-13 |
Family
ID=58461703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/880,502 Active 2035-10-30 US9619350B1 (en) | 2015-10-12 | 2015-10-12 | Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage |
Country Status (1)
Country | Link |
---|---|
US (1) | US9619350B1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10996967B1 (en) * | 2016-06-24 | 2021-05-04 | EMC IP Holding Company LLC | Presenting virtual disks as dual ported drives to a virtual storage system |
US10649861B1 (en) * | 2017-08-02 | 2020-05-12 | EMC IP Holding Company LLC | Operational recovery of serverless applications in a cloud-based compute services platform |
US11314601B1 (en) | 2017-10-24 | 2022-04-26 | EMC IP Holding Company LLC | Automated capture and recovery of applications in a function-as-a-service environment |
US10860433B1 (en) | 2017-10-24 | 2020-12-08 | EMC IP Holding Company LLC | Directional consistency in capture and recovery of cloud-native applications |
US11663089B2 (en) * | 2019-04-30 | 2023-05-30 | Rubrik, Inc. | Systems and methods for continuous data protection |
US11663092B2 (en) | 2019-04-30 | 2023-05-30 | Rubrik, Inc. | Systems and methods for continuous data protection |
US11609775B2 (en) | 2019-04-30 | 2023-03-21 | Rubrik, Inc. | Systems and methods for continuous data protection comprising storage of completed I/O requests intercepted from an I/O stream using touch points |
US11106545B2 (en) | 2019-04-30 | 2021-08-31 | Rubrik, Inc. | Systems and methods for continuous data protection |
US11500664B2 (en) | 2019-04-30 | 2022-11-15 | Rubrik, Inc. | Systems and method for continuous data protection and recovery by implementing a set of algorithms based on the length of I/O data streams |
US10802868B1 (en) | 2020-01-02 | 2020-10-13 | International Business Machines Corporation | Management of transactions from a source node to a target node through intermediary nodes in a replication environment |
JP2022051236A (en) * | 2020-09-18 | 2022-03-31 | 富士通株式会社 | Backup management device, backup management method and information processing system |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182312A1 (en) * | 2002-03-19 | 2003-09-25 | Chen Raymond C. | System and method for redirecting access to a remote mirrored snapshop |
US7043485B2 (en) * | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US7111194B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Mirror split brain avoidance |
US7162662B1 (en) * | 2003-12-23 | 2007-01-09 | Network Appliance, Inc. | System and method for fault-tolerant synchronization of replica updates for fixed persistent consistency point image consumption |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US7370163B2 (en) * | 2004-05-03 | 2008-05-06 | Gemini Storage | Adaptive cache engine for storage area network including systems and methods related thereto |
US7769717B2 (en) * | 2002-03-19 | 2010-08-03 | Netapp, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
US7818299B1 (en) * | 2002-03-19 | 2010-10-19 | Netapp, Inc. | System and method for determining changes in two snapshots and for transmitting changes to a destination snapshot |
US8341364B2 (en) * | 2010-08-12 | 2012-12-25 | International Business Machines Corporation | Maintaining asynchronous mirroring |
US8627135B2 (en) * | 2010-08-14 | 2014-01-07 | Teradata Us, Inc. | Management of a distributed computing system through replication of write ahead logs |
US20160098331A1 (en) * | 2014-10-07 | 2016-04-07 | Netapp, Inc. | Methods for facilitating high availability in virtualized cloud environments and devices thereof |
-
2015
- 2015-10-12 US US14/880,502 patent/US9619350B1/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617217B1 (en) * | 2002-03-19 | 2009-11-10 | Netapp, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US7043485B2 (en) * | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US20030182312A1 (en) * | 2002-03-19 | 2003-09-25 | Chen Raymond C. | System and method for redirecting access to a remote mirrored snapshop |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US7818299B1 (en) * | 2002-03-19 | 2010-10-19 | Netapp, Inc. | System and method for determining changes in two snapshots and for transmitting changes to a destination snapshot |
US7769717B2 (en) * | 2002-03-19 | 2010-08-03 | Netapp, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
US7111194B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Mirror split brain avoidance |
US7162662B1 (en) * | 2003-12-23 | 2007-01-09 | Network Appliance, Inc. | System and method for fault-tolerant synchronization of replica updates for fixed persistent consistency point image consumption |
US7363537B1 (en) * | 2003-12-23 | 2008-04-22 | Network Appliance, Inc. | System and method for fault-tolerant synchronization of replica updates for fixed persistent consistency point image consumption |
US7370163B2 (en) * | 2004-05-03 | 2008-05-06 | Gemini Storage | Adaptive cache engine for storage area network including systems and methods related thereto |
US8341364B2 (en) * | 2010-08-12 | 2012-12-25 | International Business Machines Corporation | Maintaining asynchronous mirroring |
US8627135B2 (en) * | 2010-08-14 | 2014-01-07 | Teradata Us, Inc. | Management of a distributed computing system through replication of write ahead logs |
US9471444B2 (en) * | 2010-08-14 | 2016-10-18 | Teradata Us, Inc. | Management of a distributed computing system through replication of write ahead logs |
US20160098331A1 (en) * | 2014-10-07 | 2016-04-07 | Netapp, Inc. | Methods for facilitating high availability in virtualized cloud environments and devices thereof |
Also Published As
Publication number | Publication date |
---|---|
US9619350B1 (en) | 2017-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9619350B1 (en) | Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage | |
US11941279B2 (en) | Data path virtualization | |
US20220334725A1 (en) | Edge Management Service | |
US11675520B2 (en) | Application replication among storage systems synchronously replicating a dataset | |
US9575894B1 (en) | Application aware cache coherency | |
US20210303164A1 (en) | Managing host mappings for replication endpoints | |
US9671967B2 (en) | Method and system for implementing a distributed operations log | |
US20220083245A1 (en) | Declarative provisioning of storage | |
US10379759B2 (en) | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure | |
US9286344B1 (en) | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure | |
CN104685476B (en) | For restoring the method, system and product of virtual machine | |
CN116457760A (en) | Asynchronous cross-region block volume replication | |
US20220147253A1 (en) | Preserving Identities And Policies Across Replication | |
US9558028B2 (en) | Systems and methods for migration of virtual machines across virtual storage resources | |
US9740520B1 (en) | Systems and methods for virtual machine boot disk restoration | |
US9354908B2 (en) | Instantly restoring virtual machines by providing read/write access to virtual disk before the virtual disk is completely restored | |
EP4204941A1 (en) | Data path virtualization | |
US10552268B1 (en) | Broken point continuous backup in virtual datacenter | |
US20210286608A1 (en) | Transfer of firmware updates using an in-band interface | |
WO2023070025A1 (en) | Declarative provisioning of storage | |
EP3871087B1 (en) | Managing power request during cluster operations | |
US9870246B2 (en) | Systems and methods for defining virtual machine dependency mapping | |
US9836515B1 (en) | Systems and methods for adding active volumes to existing replication configurations | |
US11347435B2 (en) | One-touch migration of virtual assets | |
US9143410B1 (en) | Techniques for monitoring guest domains configured with alternate I/O domains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: DELL PRODUCTS L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AMBAT, GOPAKUMAR;SHARMA, YASK;REEL/FRAME:036772/0280 Effective date: 20150921 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: SUPPLEMENTAL PATENT SECURITY AGREEMENT - TERM LOAN;ASSIGNORS:DELL PRODUCTS L.P.;DELL SOFTWARE INC.;BOOMI, INC.;AND OTHERS;REEL/FRAME:037160/0239 Effective date: 20151124 Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NORTH CAROLINA Free format text: SUPPLEMENTAL PATENT SECURITY AGREEMENT - ABL;ASSIGNORS:DELL PRODUCTS L.P.;DELL SOFTWARE INC.;BOOMI, INC.;AND OTHERS;REEL/FRAME:037160/0171 Effective date: 20151124 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT, TEXAS Free format text: SUPPLEMENTAL PATENT SECURITY AGREEMENT - NOTES;ASSIGNORS:DELL PRODUCTS L.P.;DELL SOFTWARE INC.;BOOMI, INC.;AND OTHERS;REEL/FRAME:037160/0142 Effective date: 20151124 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., A Free format text: SUPPLEMENTAL PATENT SECURITY AGREEMENT - NOTES;ASSIGNORS:DELL PRODUCTS L.P.;DELL SOFTWARE INC.;BOOMI, INC.;AND OTHERS;REEL/FRAME:037160/0142 Effective date: 20151124 Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NO Free format text: SUPPLEMENTAL PATENT SECURITY AGREEMENT - ABL;ASSIGNORS:DELL PRODUCTS L.P.;DELL SOFTWARE INC.;BOOMI, INC.;AND OTHERS;REEL/FRAME:037160/0171 Effective date: 20151124 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: SUPPLEMENTAL PATENT SECURITY AGREEMENT - TERM LOAN;ASSIGNORS:DELL PRODUCTS L.P.;DELL SOFTWARE INC.;BOOMI, INC.;AND OTHERS;REEL/FRAME:037160/0239 Effective date: 20151124 |
|
AS | Assignment |
Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA Free format text: RELEASE OF REEL 037160 FRAME 0171 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0253 Effective date: 20160907 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF REEL 037160 FRAME 0171 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0253 Effective date: 20160907 Owner name: DELL SOFTWARE INC., CALIFORNIA Free format text: RELEASE OF REEL 037160 FRAME 0171 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0253 Effective date: 20160907 |
|
AS | Assignment |
Owner name: DELL SOFTWARE INC., CALIFORNIA Free format text: RELEASE OF REEL 037160 FRAME 0142 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0812 Effective date: 20160907 Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA Free format text: RELEASE OF REEL 037160 FRAME 0142 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0812 Effective date: 20160907 Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA Free format text: RELEASE OF REEL 037160 FRAME 0239 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040028/0115 Effective date: 20160907 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF REEL 037160 FRAME 0142 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0812 Effective date: 20160907 Owner name: DELL SOFTWARE INC., CALIFORNIA Free format text: RELEASE OF REEL 037160 FRAME 0239 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040028/0115 Effective date: 20160907 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF REEL 037160 FRAME 0239 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040028/0115 Effective date: 20160907 |
|
AS | Assignment |
Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NORTH CAROLINA Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040134/0001 Effective date: 20160907 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT, TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040136/0001 Effective date: 20160907 Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040134/0001 Effective date: 20160907 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., A Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040136/0001 Effective date: 20160907 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., T Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES, INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:049452/0223 Effective date: 20190320 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES, INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:049452/0223 Effective date: 20190320 |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:053546/0001 Effective date: 20200409 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: SCALEIO LLC, MASSACHUSETTS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: MOZY, INC., WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: MAGINATICS LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: FORCE10 NETWORKS, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL SYSTEMS CORPORATION, TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL SOFTWARE INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL MARKETING L.P., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL INTERNATIONAL, L.L.C., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: CREDANT TECHNOLOGIES, INC., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: AVENTAIL LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: ASAP SOFTWARE EXPRESS, INC., ILLINOIS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 |
|
AS | Assignment |
Owner name: SCALEIO LLC, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL INTERNATIONAL L.L.C., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 |
|
AS | Assignment |
Owner name: SCALEIO LLC, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL INTERNATIONAL L.L.C., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 |