WO2017014814A1 - Réplication de volumes de mémoire - Google Patents

Réplication de volumes de mémoire Download PDF

Info

Publication number
WO2017014814A1
WO2017014814A1 PCT/US2016/024707 US2016024707W WO2017014814A1 WO 2017014814 A1 WO2017014814 A1 WO 2017014814A1 US 2016024707 W US2016024707 W US 2016024707W WO 2017014814 A1 WO2017014814 A1 WO 2017014814A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory volume
local
remote
site
modification
Prior art date
Application number
PCT/US2016/024707
Other languages
English (en)
Inventor
Dhanaraj MARUTHACHALAM
Shanmugaraja NALLASAMY
Santosh Kumar PATNAIK
Original Assignee
Hewlett Packard Enterprise Development Lp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Publication of WO2017014814A1 publication Critical patent/WO2017014814A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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 processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Definitions

  • Backup and restore mechanisms ensure that information stored on any storage media on systems, such as databases and servers, is recoverable in the event of loss or damage to the device.
  • One such backup and restore mechanism is remote replication to provide operational continuity to applications during a site failover.
  • Remote replication involves replication of data in of a memory volume of a local site onto a memory volume of a remote site for the applications to use. In case the local site malfunctions, the replicated memory volume at the remote site can be used as a primary site for the applications to access data for operation.
  • Figure 1A illustrates a network environment having a replication system for replication of a memory volume, according to an example of the present subject matter.
  • Figure 1 B illustrates a schematic of the replication system, according to an example of the present subject matter.
  • Figure 1 C illustrates a detailed schematic of the replication system, according to an example of the present subject matter.
  • Figure 2 illustrates a method for replication of a memory volume, according to an example of the present subject matter.
  • Figure 3A illustrates a detailed method for replication of the memory volume, according to an example of the present subject matter.
  • Figure 3B illustrates a method for failover management, according to an example of the present subject matter.
  • Figure 4 illustrates a network environment to replicate a memory volume, according to an example of the present subject matter.
  • remote replication may be achieved using several techniques for replicating blocks of data from a memory volume in a local site onto a memory volume at a remote site.
  • the replication may be achieved either in synchronous mode or asynchronous mode.
  • synchronous mode of replication the data blocks in the memory volume of the local site are synchronized with the data blocks in the memory volume of the remote site. Accordingly, a change in any data block in the local site is reflected in the remote site in real-time.
  • the replication by synchronous mode is resource-intensive.
  • asynchronous mode a snapshot of the data blocks of the memory volume in the local site is triggered periodically, and the latest snapshot is replicated to the memory volume at the remote site.
  • the replicated memory volume at remote site is used by applications.
  • Examples for replicating a memory volume are described herein.
  • the present subject matter provides an approach of replicating blocks from a memory volume of a local site, referred to as local memory volume, to a memory volume of a remote site, referred to as remote memory volume, coupled to the local site.
  • the approach provides for making available unmodified blocks of data replicated from the local memory volume to the remote memory volume for read as well as write operations, for example, during local site failover.
  • the approach involves communicating, in real-time, information about the modified block in the local memory volume to the remote memory volume.
  • the local memory volume is monitored to determine whether a block of data in the local memory volume has been modified or not. Further, in response to the occurrence of modification of the block, a modification metadata indicative of the modification of the block is concurrently generated and provided to the remote site.
  • the local memory volume is backed-up in the remote memory volume by asynchronous mode of replication. For example, at predetermined intervals, the local memory volume is replicated at the remote memory volume based on a snapshot of the local memory volume, in parallel to the providing of the modification metadata.
  • the modification metadata is synchronized with the remote memory volume to reflect the modification of the block in the local memory volume, based on the modification metadata.
  • the synchronization is done as part of creation of a backup, or in other words, for replication of the local memory volume at the remote memory volume.
  • the modification metadata for that block is replicated onto the block in the remote memory volume.
  • the modification metadata provides up-to-date information at the remote site about the blocks of the local memory volume modified between the preceding snapshot of the local memory volume and the failure event.
  • the information about the modified blocks of the local memory volume is maintained at the remote memory volume and can be updated on a real-time basis. Therefore, the present subject matter provides for tracking the blocks replicated onto the remote memory volume as being in-sync or being out-of- sync.
  • the in-sync blocks replicated in the remote memory volume can be made available for read as well as write operations and the out-of-sync blocks can be made available for read operations.
  • the remote memory volume onto which the local memory volume is replicated can be made available to applications for read as well as write operations, and such operations can be carried out reliably and can be substantially error-free.
  • Figure 1 A illustrates a network environment 100 having a replication system 102 for replicating a memory volume, according to an example of the present subject matter.
  • the replication system 102 can include, but is not limited to, servers, desktop computers, laptops, and the like.
  • the replication system 102 can replicate blocks of data from the memory volume on one site to another.
  • the replication system 102 can be coupled to a local site 104 and a remote site 106 over a network 108.
  • the local site 104 and the remote site 106 can be coupled to each other over the network 108 and the replication system 102 can achieve an interaction between the local site 104 and the remote site 106.
  • the replication system 102 has been shown as being separate from the local site 104 and the remote site 106, in other examples, the replication system 102 can be deployed in the local site 104 or the remote site 106. In other words, in the above examples, the replication system 102 may carry out host-based replication or array-based replication.
  • the local site 104 can include a plurality of local systems 1 10-1 ,
  • Each local system 1 10 may further include a memory volume, referred to as a local memory volume, where the local system 1 10 may store data.
  • the local systems 1 10 can be a group of application servers and each can include a local memory volume to collectively carry data of the application being hosted as well as for the operation of the application.
  • the local site 104 may include a single local system 1 10 having the local memory volume to carry the data.
  • the remote site 106 can include a plurality of remote systems 1 12-1 , 1 12-2, 1 12-N, collectively referred to as remote systems 1 12 and individually referred to as remote system 1 12.
  • Each remote system 1 12 can further include a memory volume, referred to as a remote memory volume.
  • each local memory volume and remote memory volume can include memory blocks and can store data in the memory blocks. The data in each block is referred to as a block of data, or simply, a block, herein after.
  • the replication system 102 can replicate the blocks of data from the local site 104 to the remote site 106 over the network 108, for example, to provide a backup of the blocks in event of failover of the local site 104 or a part thereof.
  • the local memory volume and the remote memory volume can be part of a storage area network (SAN), a direct attached storage (DAS), a network attached storage (NAS), or a file system-based storage.
  • the local memory volume and the remote memory volume can be a virtual disk, a logical unit number (LUN) or a logical unit volume, or a logical memory unit.
  • the local memory volume may be similar to the remote memory volume or may be different.
  • the local memory volume can be a virtual disk whereas the remote memory volume can be a logical memory unit.
  • the local memory volume can be a part of the SAN whereas the remote memory volume can be a part of the file-system based storage, both the volumes being connected over the network 108.
  • the network 108 may be a wireless network, a wired network, or a combination thereof.
  • the network 108 can also be an individual network or a collection of many such individual networks, interconnected with each other and functioning as a single large network, e.g., the Internet or an intranet.
  • the network 108 can be one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), and the internet.
  • the network 108 may either be a dedicated network, a virtual network, or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), and Transmission Control Protocol/Internet Protocol (TCP/IP), to communicate with each other.
  • HTTP Hypertext Transfer Protocol
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • An example of a network 108 may include Fiber Channel Protocol (FCP) on Fiber Channel media.
  • the network 108 may include a Global System for Mobile Communication (GSM) network, a Universal Mobile Telecommunications System (UMTS) network, or any other communication network that use any of the commonly used protocols, for example, Hypertext Transfer Protocol (HTTP) and Transmission Control Protocol/Internet Protocol (TCP/IP).
  • GSM Global System for Mobile Communication
  • UMTS Universal Mobile Telecommunications System
  • HTTP Hypertext Transfer Protocol
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the replication system 102 can achieve the replication of the local memory volume to the remote memory volume in such a manner that in the event of failover of the local site 104 or of the local memory volume, the remote memory volume on which the local memory volume is replicated is available for read as well as write operations. Accordingly, the replication system can constantly update the remote memory volume, for example, in real-time, regarding a modification of any block in the local memory volume.
  • the replication system 102 can operate in an asynchronous mode of replication as well in a synchronous mode of replication.
  • the replication system 102 can operate in both the modes of replication in parallel, i.e., simultaneously to achieve the replication of the local memory volume in the remote memory volume, and to provide the remote memory volume with the replicated data for read and write operations.
  • FIG. 1 B illustrates a schematic of the replication system 102 showing components of the replication system 102, according to an example of the present subject matter.
  • the replication system 102 may include, for example, a processor 1 14 and modules 1 16 communicatively coupled to the processor 1 14.
  • the processor 1 14 may include microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any other devices that manipulate signals and data based on computer-readable instructions.
  • functions of the various elements shown in the figures, including any functional blocks labeled as "processor(s)" may be provided through the use of dedicated hardware as well as hardware capable of executing computer-readable instructions.
  • the modules 1 16 include routines, programs, objects, components, and data structures, which perform particular tasks or use particular abstract data types.
  • the modules 1 16 may also be used as, signal processor(s), state machine(s), logic circuitries, and/or any other device or component that manipulates signals based on operational instructions. Further, the modules 1 16 can be used by hardware, by computer- readable instructions executed by a processing unit, or by a combination thereof.
  • the modules 1 16 can include an asynchronous replication module 1 18 and a synchronization module 120.
  • the replication system 102 can simultaneously operate in the asynchronous mode and synchronous mode of replication to replicate the local memory volume in the remote memory volume such that the out-of sync blocks and the in-sync blocks can be reliably marked in the remote memory volume having the replicated data of the local memory volume.
  • the asynchronous replication module 1 18 can replicate the blocks of data from the remote memory volume to the local memory volume by asynchronous mode.
  • the asynchronous replication module 1 18 can periodically obtain a snapshot of the local memory volume at predetermined intervals and replicate the snapshot at the remote memory volume.
  • the synchronization module 120 can function in a manner similar to the synchronous mode of replication. Instead of replicating the blocks of data from the local memory volume, the synchronization module 120 can synchronize the local memory volume with the remote memory volume to update at the remote memory volume the modification of any block in the local memory volume. In an example, the synchronization module 120 can generate a modification metadata indicating modification of the block in the local memory volume concurrent to the modification and provide the modification metadata to the remote site in real-time. The modification metadata can indicate that the block in the local memory volume has been modified.
  • the synchronization module 120 can affix the modification metadata to the remote memory volume, for example, to corresponding blocks in the remote memory volume, to indicate the modified block as being out-of- sync in the remote memory volume. Further, since the synchronization module 120 can achieve such a tagging of the blocks in real-time, at any given instant, the blocks in the remote memory volume not having the modification metadata affixed therewith can be identified as the blocks which have not been modified.
  • Figure 1 C illustrates a detailed schematic of the replication system 102 showing various components of the replication system 102, according to an example of the present subject matter.
  • the replication system 102 may include the processor 1 14, modules 1 16, a memory 122, data 124, and interface(s) 126.
  • the processor 1 14, among other capabilities, may fetch and execute computer-readable instructions stored in the memory 122.
  • the memory 122 communicatively coupled to the processor 1 14, can include a non- transitory computer-readable medium including, for example, volatile memory, such as Static Random Access Memory (SRAM) and Dynamic Random Access Memory (DRAM), and/or non-volatile memory, such as Read-Only-Memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
  • volatile memory such as Static Random Access Memory (SRAM) and Dynamic Random Access Memory (DRAM)
  • non-volatile memory such as Read-Only-Memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
  • the replication system 102 may include the modules 1 16.
  • the modules 1 16 can include a failover operation module 128 and other module(s) 130.
  • the other module(s) 130 may include computer-readable instructions that supplement applications or functions performed by the replication system 102.
  • the data 124 can include modification metadata 132, replication data 134, and other data 136.
  • the other data 136 may include data generated and saved by the modules 1 16 for providing various functionalities to the replication system 102.
  • the replication system 102 can be coupled to the local site 104 and the remote site 106 over the network 108.
  • the replication system 102 can be coupled to the network 108 through the interface(s) 126.
  • the interfaces 126 may include a variety of commercially available interfaces, for example, interfaces for peripheral device(s), such as data input output devices, referred to as I/O devices, storage devices, network devices, and intermediate power devices.
  • the interfaces 126 may facilitate multiple communications within a wide variety of networks and protocol types, including wired networks and wireless networks.
  • the replication system 102 can achieve replication of the blocks from the local memory volume in the local site 104 to the remote memory volume in the remote site 106.
  • the replication system 102 can concurrently replicate the data in asynchronous mode as well as in synchronous mode.
  • the replication system 102 can constantly communicate, in real-time, the information regarding the modified blocks in the local memory volume to the remote memory volume to update the remote memory volume with the modifications in the local memory volume in real-time.
  • Such replication as achieved by the replication system 102 can provide failover support, i.e., in case the local site 104 or the local memory volume is unavailable, the remote memory volume can be used for operation of an application accessing the local memory volume without any downtime till the time the local site 104 is not operational again.
  • the asynchronous replication module 1 18 can periodically obtain a snapshot of the local memory volume.
  • the snapshot can be indicative of a status of the blocks in the local memory volume at the instant the snapshot has been taken, i.e., the snapshot indicates the modified and the unmodified blocks in the local memory volume at the instant that the snapshot has been taken.
  • the asynchronous replication module 1 18 can replicate the snapshot at the remote memory volume to achieve replication by asynchronous mode.
  • the asynchronous replication module 1 18 can store the snapshots in the replication data 134.
  • the synchronization module 120 can achieve the replication of the blocks in the local memory volume in the remote memory volume in the manner similar to synchronous mode of replication, in an example, in parallel to the operation of the asynchronous replication module 1 18.
  • the synchronization module 120 can constantly monitor the local memory volume for a modification of any of the blocks. As soon as the synchronization module 120 detects that a block has been modified, the synchronization module 120, in real time, generates a modification metadata indicative of the modification of that block. In other words, as soon as the modification occurs, the synchronization module 120 can generate the modification metadata.
  • the synchronization module 120 can include a location identifier of the local memory volume and a location identifier of the modified block in the local memory volume in the modification metadata.
  • the synchronization module 120 can include a memory volume number, such as a virtual disk number, of the local memory volume and a block number of the modified block in the local memory volume.
  • the modification metadata can include a logical unit number (LUN). Further, the synchronization module 120 can store the modification metadata in the modification metadata 132.
  • the synchronization module 120 can, concurrent to the modification of the block, provide the modification metadata to the remote site.
  • the modification metadata can be used to reflect, in the remote memory volume, the modification of the block in the local memory volume.
  • the synchronization module 120 can append the modification metadata with the remote memory volume.
  • the synchronization module 120 can affix the modification metadata to the block of the remote memory volume corresponding to the block of the local memory volume which is modified.
  • the synchronization module 120 can modify the status code, for instance, with the modification metadata, in real time, to indicate that the block in the local memory volume is modified and the block is marked as out-of-sync.
  • the synchronization module 120 can maintain a bitmap of the remote memory volume. For instance, the synchronization module 120 can update, based on the modification metadata, the bitmap associated with remote memory volume in real time, i.e., concurrent to the modification of the block in the local memory volume, to record that modification in the remote memory volume.
  • the bitmap can indicate the block in the local memory volume that has been modified as out-of-sync allowing easy identification of the modified blocks replicated to the remote memory volume.
  • the blocks in the remote memory volume which are modified with the modification metadata are identified as being out-of-sync and the ones which are not modified are marked as in-sync.
  • Such a labeling of the blocks provides visibility of out-of-sync and in-sync blocks in the remote memory volume to the application, for example, in case the local site 104 fails and the operations are shifted from the local memory volume to the remote memory volume. Accordingly, in case of failover of the local site 104, the in-sync blocks in the remote memory volume can be made available to the application for read as well as write operations and the out-of-sync blocks can be made available for read operations.
  • the data in the out-of-sync blocks can be made available to the application with additional information and not otherwise.
  • the command descriptor block (CDB) response layout associated with the out-of-sync block in the remote memory volume can include a status code to indicate that the block is out-of-sync.
  • the application can make use of data in the out-of-sync blocks with the awareness that the data is out-of-sync.
  • the failover operation module 128 shifts the operations, such as input-output operations performed by the application, from the local site 104 to the remote site 106. Accordingly, the failover operation module 128 can mark the remote memory volume at the remote site 106 as a primary site for accessing data for the application to function.
  • the modification metadata provided at the remote memory volume provides real-time information to the application about the blocks of the local memory volume modified from the preceding snapshot of the local memory volume and right until the failure event. Accordingly, the failover operation module 128 can make the remote memory volume available for read and write operations.
  • the failover operation module 128 can provide such functioning of the remote memory volume for the operation of the application for as long as the local site 104 is unavailable and has not been retrieved. As soon as the local site 104 is recovered, the failover operation module 128 can mark the local site 104 as the primary site and shift the operations to the local site 104.
  • the failover operation module 128 can ensure that the modifications in the blocks in the remote memory volume during the period of unavailability of the local site 104 are also reflected in the local site 104. Accordingly, in an example, the failover operation module 128 can obtain a snapshot of the remote memory volume to capture the modifications in the blocks of the remote memory volume between the event of failure of the local site 104 and when the local site 104 is recovered. Further, the failover operation module 128 can replicate the snapshot of the remote memory volume to the local memory volume.
  • the failure operation module 128 can replicate the snapshot of the remote memory volume to merge the modifications in the remote memory volume with the local memory volume. For instance, in such a case, the failure operation module 128 can, based on the snapshot, update the modifications during the period of availability along with the previous modifications already available on the recovered local memory volume.
  • the synchronization module 120 can communicate the information about the modified block and can keep a track of the modified blocks in the local memory volume, on a real-time basis.
  • the asynchronous replication module 1 18 can replicate the local memory volume to the remote memory volume by asynchronous mode of replication.
  • the failover operation module 128 can shift the operations of the ticket reservation application to the remote memory volume.
  • the application identifies that the block is out- of-sync, i.e., the block is modified in the local memory volume before the failover. Accordingly, the block is available for read operations and not for write operations. Further, the application is able to identify the blocks among the replicated which are up-to-date and are in-sync, i.e., available for write operations. Therefore, using the aspects of the present subject matter, the application can identify the in-sync blocks during the failover of the local site 104.
  • the present subject matter provides data availability and preempts discontinuity in the operation of the application. For example, if 20% of blocks in the local memory volume are modified between the replication of the latest snapshot and the failure of the local memory volume, the application can treat the rest of the 80% of blocks on the blocks replicated to the remote memory volume as up-to-date or in-sync. In the absence of such a provision, the application treats 100% of the blocks as out-of-sync.
  • Methods 200, 300 and 318 are described in Figure 2, Figure 3A, and Figure 3B, respectively, for replicating a memory volume, according to an example of the present subject matter. While Figure 2 illustrates an overview of the method 200 for replicating a memory volume, Figure 3A illustrates a detailed method 300 for replicating a memory volume. Figure 3B illustrates a method 318 for failover management which is a continuation of the method 300.
  • the methods 200, 300, and 318 can be performed by programmed computing devices, for example, based on instructions retrieved from non-transitory computer readable media.
  • the computer readable media can include machine-executable or computer-executable instructions to perform all or portions of the described method.
  • the computer readable media may be, for example, digital memories, magnetic storage media, such as a magnetic disks and magnetic tapes, hard drives, or optically readable data storage media.
  • the methods 200, 300, and 318 may be performed by a computing system, such as the replication system 102.
  • a computing system such as the replication system 102.
  • the components of the replication system 102 performing the various steps of the methods 200, 300, and 318 are not described in detail with reference to Figure 2, Figure 3A, and Figure 3B. Such details are provided in the description provided with reference to Figure 1 A, Figure 1 B, and Figure 1 C.
  • the local memory volume is monitored to determine whether a block of data in the local memory volume has been modified or not.
  • a modification metadata indicative of the modification of the block is concurrently generated and provided to the remote site.
  • the modification metadata can include a location identifier of the local memory volume and a location identifier of the modified block in the local memory volume.
  • the modification metadata can be synchronized with the remote memory volume to reflect the modification of the block in the local memory volume at the local site, based on the modification metadata.
  • the synchronization can be achieved as part of replicating the local memory volume to the remote memory volume.
  • a backup of the local memory volume is created in the remote memory volume by asynchronous mode of replication, i.e., at predetermined intervals, a snapshot of the local memory volume can be obtained and the local memory volume replicated at the remote memory volume based on the snapshot.
  • replication of the local memory volume can be achieved in parallel to the providing of the modification metadata.
  • the local memory volume can be constantly monitored for a modification of any of the blocks.
  • a modification metadata indicative of the modification of that block can be generated as soon as the modification occurs.
  • the generation of the modification metadata can be concurrent to the modification of the block in the local memory volume.
  • the modification metadata can be generated based on a memory volume number, such as a virtual disk number, of the local memory volume and a block number of the modified block in the local memory volume.
  • the modification metadata can be used to reflect, in the remote memory volume, the modification of the block in the local memory volume.
  • the modification metadata can be appended with the remote memory volume.
  • the modification metadata can be affixed to the block of the remote memory volume corresponding to the block of the local memory volume which is modified.
  • a bitmap of the remote memory volume can be maintained. For instance, based on the modification metadata, the bitmap associated with remote memory volume can be updated in real time, i.e., concurrent to the modification of the block in the local memory volume, to record that modification in the remote memory volume.
  • the blocks in the remote memory volume which are modified with the modification metadata are identified as being out-of-sync and the ones which are not modified are marked as in-sync.
  • Such a labeling of the blocks provides visibility of out-of-sync and in-sync blocks in the remote memory volume to an application accessing the data in the remote memory volume having the replicated data of the local memory volume.
  • the local memory volume can be replicated to the remote memory volume by asynchronous mode of replication.
  • a snapshot of the local memory volume is obtained for achieving the replication by asynchronous mode of replication.
  • the snapshot can be indicative of a status of the blocks in the local memory volume at the instant the snapshot has been taken, i.e., the snapshot indicates the modified and the unmodified blocks in the local memory volume at the instant that the snapshot has been taken.
  • the snapshot can be replicated at the remote memory volume to achieve replication by asynchronous mode.
  • method 318 can be a continuation of method 300 beyond block 316.
  • method 300 is executed, as explained with reference to Figure 3A. In an example, method 300 can be executed for as long as failure of the local site 104 does not occur.
  • the remote memory volume, to which the local memory volume is replicated is marked as a primary site for use by the application.
  • the remote memory volume is made available to the application for read and write operations.
  • the in-sync blocks of remote memory volume can be made available for read as well as write operations for the application.
  • the labeling of the blocks based on whether each block has the modification metadata associated therewith, provides visibility of out-of-sync and in-sync blocks in the remote memory volume to the application.
  • a snapshot of the remote memory volume is obtained to capture the modifications in the blocks of the remote memory volume between the interval of the event of failure of the local site 104 and when the local site 104 is recovered.
  • the snapshot of the remote memory volume can be replicated to a recovered local memory volume.
  • the replication can involve merging the modifications in the remote memory volume with the recovered local memory volume. For instance, in such a case based on the snapshot, the modifications during the period of availability can be updated along with the previous modifications already available on the recovered local memory volume.
  • the local site 104 can be marked as the primary site to make the local site 104 available for read and write operations to the application.
  • Figure 4 illustrates an example network environment 400 using a non-transitory computer readable medium 402 for replicating memory volumes, according to an example of the present subject matter.
  • the network environment 400 may be a public networking environment or a private networking environment.
  • the network environment 400 includes a processing resource 404 communicatively coupled to the non-transitory computer readable medium 402 through a communication link 406.
  • the processing resource 404 can be a processor of a computing system, such as the replication system 102.
  • the non-transitory computer readable medium 402 can be, for example, an internal memory device or an external memory device.
  • the communication link 406 may be a direct communication link, such as one formed through a memory read/write interface.
  • the communication link 406 may be an indirect communication link, such as one formed through a network interface.
  • the processing resource 404 can access the non-transitory computer readable medium 402 through a network 408.
  • the network 408 may be a single network or a combination of multiple networks and may use a variety of communication protocols.
  • the processing resource 404 and the non-transitory computer readable medium 402 may also be communicatively coupled to data sources 410 over the network 408.
  • the data sources 410 can include, for example, databases and computing devices.
  • the data sources 410 may be used by the database administrators and other users to communicate with the processing resource 404.
  • the non-transitory computer readable medium 402 includes a set of computer readable instructions, such as the asynchronous replication module 1 18 and the synchronization module 120.
  • the set of computer readable instructions can be accessed by the processing resource 404 through the communication link 406 and subsequently executed to perform acts for network service insertion.
  • the asynchronous replication module 1 18 can replicate blocks of data from a local memory volume to a remote memory volume by asynchronous mode of replication.
  • the asynchronous replication module 1 18 can obtain a snapshot of the local memory volume at predetermined intervals and replicate the snapshot at the remote memory volume after every such predetermined interval.
  • the synchronization module 120 can achieve the replication in a manner similar to the synchronous mode of replication.
  • the synchronization module 120 can constantly monitor the local memory volume for a modification of any of the blocks. Further, as soon as the synchronization module 120 detects that a block has been modified, the synchronization module 120 can generate, in real-time, a modification metadata indicating modification of the block in the local memory volume. Further, the synchronization module 120 can provide the modification metadata to the remote site in real-time.
  • the modification metadata can indicate that the block in the local memory volume has been modified. Accordingly, the synchronization module 120 can update the modification metadata to the remote memory volume to reflect at the remote memory volume the modification of the block in the local memory volume.
  • the synchronization module 120 can affix the modification metadata to the remote memory volume, for example, to corresponding blocks in the remote memory volume, to indicate the modified block as being out-of- sync in the remote memory volume. Further, since the synchronization module 120 can achieve such a tagging of the blocks in real-time, at any given instant, the blocks in the remote memory volume not having the modification metadata affixed therewith can be identified as the blocks which have not been modified.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

La présente invention concerne des exemples de réplication de volumes de mémoire. Selon un exemple, un volume de mémoire locale dans un site local est surveillé pour déterminer une modification d'un quelconque bloc dans le volume de mémoire locale. En réponse à la modification, des métadonnées de modification indiquant la modification du bloc sont générées et synchronisées, en temps réel, avec un volume de mémoire distant dans un site distant couplé au site local. En outre, une sauvegarde du volume de mémoire locale peut être créée au niveau du volume de mémoire distant à des intervalles prédéfinis pour répliquer le volume de mémoire locale, en fonction d'un instantané. La création comprend en outre la réflexion, dans le volume de mémoire distant, de la modification dans le bloc dans le volume de mémoire locale, en fonction des métadonnées de modification.
PCT/US2016/024707 2015-07-22 2016-03-29 Réplication de volumes de mémoire WO2017014814A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN3784/CHE/2015 2015-07-22
IN3784CH2015 2015-07-22

Publications (1)

Publication Number Publication Date
WO2017014814A1 true WO2017014814A1 (fr) 2017-01-26

Family

ID=57835037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/024707 WO2017014814A1 (fr) 2015-07-22 2016-03-29 Réplication de volumes de mémoire

Country Status (1)

Country Link
WO (1) WO2017014814A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021173293A1 (fr) * 2020-02-28 2021-09-02 Veritas Technologies Llc Procédés et systèmes de resynchronisation de données dans un environnement de duplication
US11310137B2 (en) 2017-02-05 2022-04-19 Veritas Technologies Llc System and method to propagate information across a connected set of entities irrespective of the specific entity type
US11531604B2 (en) 2020-02-28 2022-12-20 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11748319B2 (en) 2017-02-05 2023-09-05 Veritas Technologies Llc Method and system for executing workload orchestration across data centers
US11853575B1 (en) 2019-06-08 2023-12-26 Veritas Technologies Llc Method and system for data consistency across failure and recovery of infrastructure
US11928030B2 (en) 2020-03-31 2024-03-12 Veritas Technologies Llc Optimize backup from universal share

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844787B2 (en) * 2006-12-18 2010-11-30 Novell, Inc. Techniques for data replication with snapshot capabilities
US8086569B2 (en) * 2005-03-30 2011-12-27 Emc Corporation Asynchronous detection of local event based point-in-time state of local-copy in the remote-copy in a delta-set asynchronous remote replication
US20140108756A1 (en) * 2012-10-17 2014-04-17 International Business Machines Corporation Bitmap selection for remote copying of updates
US20140181021A1 (en) * 2012-12-21 2014-06-26 Zetta, Inc. Back up using locally distributed change detection
US8938419B2 (en) * 2003-11-04 2015-01-20 Dell Software Inc. Hybrid real-time data replication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938419B2 (en) * 2003-11-04 2015-01-20 Dell Software Inc. Hybrid real-time data replication
US8086569B2 (en) * 2005-03-30 2011-12-27 Emc Corporation Asynchronous detection of local event based point-in-time state of local-copy in the remote-copy in a delta-set asynchronous remote replication
US7844787B2 (en) * 2006-12-18 2010-11-30 Novell, Inc. Techniques for data replication with snapshot capabilities
US20140108756A1 (en) * 2012-10-17 2014-04-17 International Business Machines Corporation Bitmap selection for remote copying of updates
US20140181021A1 (en) * 2012-12-21 2014-06-26 Zetta, Inc. Back up using locally distributed change detection

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11310137B2 (en) 2017-02-05 2022-04-19 Veritas Technologies Llc System and method to propagate information across a connected set of entities irrespective of the specific entity type
US11748319B2 (en) 2017-02-05 2023-09-05 Veritas Technologies Llc Method and system for executing workload orchestration across data centers
US11853575B1 (en) 2019-06-08 2023-12-26 Veritas Technologies Llc Method and system for data consistency across failure and recovery of infrastructure
WO2021173293A1 (fr) * 2020-02-28 2021-09-02 Veritas Technologies Llc Procédés et systèmes de resynchronisation de données dans un environnement de duplication
US11429640B2 (en) 2020-02-28 2022-08-30 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11531604B2 (en) 2020-02-28 2022-12-20 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11847139B1 (en) 2020-02-28 2023-12-19 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11928030B2 (en) 2020-03-31 2024-03-12 Veritas Technologies Llc Optimize backup from universal share

Similar Documents

Publication Publication Date Title
US11567674B2 (en) Low overhead resynchronization snapshot creation and utilization
JP6050342B2 (ja) リカバリーサイトにおけるレプリカされた仮想ストレージの管理
US10503616B2 (en) Periodic data replication
EP3420455B1 (fr) Activation de vérification d'intégrité de données et récupération d'application plus rapide dans des ensembles de données dupliqués synchrones
WO2019154394A1 (fr) Système en grappes de bases de données réparties, procédé de synchronisation de données et support de stockage
US9575849B2 (en) Synchronized backup and recovery of database systems
US9256605B1 (en) Reading and writing to an unexposed device
US8667330B1 (en) Information lifecycle management assisted synchronous replication
US9235632B1 (en) Synchronization of replication
US8271447B1 (en) Mirroring metadata in a continuous data protection environment
US10565071B2 (en) Smart data replication recoverer
EP3179359B1 (fr) Procédé d'envoi de données, procédé de réception de données et dispositif de stockage
US8478955B1 (en) Virtualized consistency group using more than one data protection appliance
US9170888B2 (en) Methods and apparatus for virtual machine recovery
US8055943B2 (en) Synchronous and asynchronous continuous data protection
WO2017014814A1 (fr) Réplication de volumes de mémoire
AU2012273366A1 (en) Managing replicated virtual storage at recovery sites
US10365978B1 (en) Synchronization of snapshots in a distributed consistency group
US10235145B1 (en) Distributed scale-out replication
US9053073B1 (en) Use of timestamp logic in synchronous replication
US7979396B1 (en) System and method for performing consistent resynchronization between synchronized copies
NZ714756B2 (en) Managing replicated virtual storage at recovery sites

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16828161

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16828161

Country of ref document: EP

Kind code of ref document: A1