ES2600914T3 - Gestión de almacenamiento virtual replicado en sitios de recuperación - Google Patents

Gestión de almacenamiento virtual replicado en sitios de recuperación Download PDF

Info

Publication number
ES2600914T3
ES2600914T3 ES12802797.6T ES12802797T ES2600914T3 ES 2600914 T3 ES2600914 T3 ES 2600914T3 ES 12802797 T ES12802797 T ES 12802797T ES 2600914 T3 ES2600914 T3 ES 2600914T3
Authority
ES
Spain
Prior art keywords
disk
differentiation
virtual
replicated
copy
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.)
Active
Application number
ES12802797.6T
Other languages
English (en)
Inventor
Phani Chiruvolu
Gaurav Sinha
Devdeep Singh
Jacob Oshins
Christopher L. Eck
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2600914T3 publication Critical patent/ES2600914T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • G06F11/2038Error 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 with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/2097Error 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 maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • 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

Abstract

Un aparato que comprende: almacenamiento virtual replicado de una máquina virtual replicada, que incluye al menos un disco (752, 756) virtual base replicado que corresponde sustancialmente a un disco (702) virtual base primario a ser replicado; un receptor configurado para recibir una pluralidad de copias de discos (704, 706, 710) de diferenciación, de una pluralidad de tipos de copias, cada disco (704, 706, 710) de diferenciación enlazado en una estructura de árbol a un disco padre respectivo que se creó anterior al disco (704, 706, 710) de diferenciación, siendo dicho disco padre respectivo un disco de diferenciación padre o el disco (702) virtual base primario, en el que una primera de la pluralidad de tipos de copias comprende una copia consistente de fallo que es una instantánea general de un almacenamiento de un sistema en ejecución, y una segunda de la pluralidad de tipos de copias comprende una copia consistente de aplicación que es una instantánea de almacenamiento del sistema de ejecución creada en respuesta a software de notificación en el sistema de que una copia se ha de realizar; y un módulo de gestión de replicación configurado para disponer las copias recibidas de los discos (704, 706, 710) de diferenciación de la pluralidad de tipos de copias con relación al disco (752, 756) virtual base replicado como se dispusieron los discos (704, 706, 710) de diferenciación con relación al disco (702) virtual base primario.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Gestion de almacenamiento virtual replicado en sitios de recuperacion Antecedentes
Con la fuerte dependencia de las necesidades informaticas por las empresas y los individuos, la necesidad de servicio informatico ininterrumpido se ha hecho cada vez mas vital. Muchas organizaciones desarrollan planes de continuidad de negocio para asegurar que las funciones de negocio crfticas disfrutaran de operacion continua y permaneceran disponibles frente a mal funcionamiento de la maquina, cortes de ene^a, desastres naturales y otras interrupciones que puedan cortar la continuidad normal del negocio.
Las interrupciones locales pueden provocarse, por ejemplo, por fallos de hardware u otros en servidores locales, problemas de software o firmware que dan como resultado detencion del sistema y/o re-arranque, etc. Las soluciones locales pueden incluir tecnicas de agrupacion y virtualizacion de servidores para facilitar la prevencion frente a fallos. Las tecnicas de prevencion frente a fallos locales que usan virtualizacion proporcionan la capacidad de continuar operando en una maquina o maquina virtual diferente si la maquina original o maquina virtual falla. El software puede reconocer que un sistema operativo y/o aplicacion ya no esta funcionando, y puede iniciarse otra instancia del sistema operativo y aplicacion o aplicaciones en otra maquina o maquina virtual para retomar donde lo dejo la anterior. Por ejemplo, puede configurarse un hipervisor para determinar que un sistema operativo ya no esta ejecutandose, o el software de gestion de aplicacion puede determinar que una aplicacion ya no esta funcionando que puede a su vez notificar a un hipervisor o sistema operativo que una aplicacion ya no se esta ejecutando. Las soluciones de alta disponibilidad pueden configurar que tenga lugar la prevencion frente a fallos, por ejemplo, desde una maquina a otra en un sitio comun, o como se describe a continuacion desde un sitio a otro. Otras configuraciones de prevencion frente a fallos son tambien posibles para otros fines tales como pruebas, donde incluso puede activarse la prevencion frente a fallos desde una maquina virtual a otra maquina virtual en la misma maquina.
La recuperacion frente a desastres se refiere a mantener la continuidad de negocio en una escala mayor. Ciertos escenarios de fallo impactan a mas de un sistema operativo, maquina virtual o maquina ffsica. Los funcionamientos incorrectos a un nivel superior pueden provocar fallos de alimentacion u otros problemas que afectan un sitio entero, tales como la tecnologfa de la informacion (IT) u otro centro informatico de un negocio. Los desastres naturales y otros pueden impactar a una empresa que puede provocar que se caigan algunos, y a menudo todos, los sistemas informaticos de un sitio. Para proporcionar recuperacion frente a desastres, las empresas hoy en dfa pueden respaldar un sistema en ejecucion en cita u otro medio ffsico, y enviar por correo electronico o suministrarlo de otra manera a otro sitio. Cuando un centro de datos se va fuera de lmea por alguna razon, el centro de datos de respaldo puede hacerse cargo de las operaciones con el medio de respaldo. Entre otras desventajas, el procedimiento de proporcionar el medio ffsico es complejo, los respaldos tienen intervalos de tiempo significativos entre sf, y los sistemas de recuperacion pueden estar dfas desactualizados.
El documento US 2009/113109 desvela copiar un estado de una maquina virtual primaria a una maquina virtual de respaldo. Se registran multiples cambios de estado de la maquina virtual primaria hasta que reanuda la maquina virtual de respaldo en la maquina de respaldo.
Sumario
Se describen tecnicas que implican la replicacion de almacenamiento, incluyendo almacenamiento virtual asociado con maquinas virtuales. Una tecnica representativa incluye un aparato que puede recibir almacenamiento virtual replicado de una maquina virtual replicada, incluyendo al menos un disco virtual base replicado que corresponde sustancialmente a un disco virtual base primario a replicarse. Un receptor recibe copias de discos de diferenciacion u otras formas de actualizaciones de almacenamiento virtual, cada una de las cuales esta asociada con el disco virtual base primario como descendientes de las mismas. Un modulo de gestion de replicacion esta configurado para disponer las copias recibidas de los discos de diferenciacion con relacion al disco virtual base replicado de tal manera que corresponde a como se dispusieron los discos de diferenciacion con relacion al disco virtual base primario.
Una implementacion particular de una tecnica de este tipo implica que las copias de los discos de diferenciacion sean de una pluralidad de tipos de replicacion o “copia”, donde el modulo de gestion de replicacion esta configurado para disponer la pluralidad de tipos de replicacion con relacion al disco virtual base replicado como si se dispusieran con relacion al disco virtual base primario. Ejemplos de la pluralidad de tipos incluyen copias de los discos de diferenciacion que se obtuvieron despues de una o mas aplicaciones que operan en la maquina virtual preparadas por sf mismas para la copia, y copias de los discos de diferenciacion que se obtuvieron sin aviso o preparacion para la copia.
En otra realizacion representativa, se proporciona un procedimiento implementado por ordenador para facilitar la replicacion de almacenamiento virtual. Se almacena una imagen de disco virtual base de un disco virtual que esta asociada con una maquina virtual. Los cambios al disco virtual se almacenan grabando los cambios a un disco de diferenciacion de lectura-escritura actual en la parte superior de una cadena de discos que incluye la imagen de
5
10
15
20
25
30
35
40
45
50
55
disco virtual base y cualquier disco de diferenciacion intermedio. En una base regular o irregular, se crean cambios de las copias transferibles del disco virtual para almacenamiento replicado replicando el disco de diferenciacion de lectura-escritura actual y prohibiendo cambios adicionales al mismo, creando un nuevo disco de diferenciacion actual en la parte superior de la cadena de discos, y transfiriendo las copias de los discos de diferenciacion para el almacenamiento replicado.
En otra realizacion representativa, se proporciona uno o mas medios legibles por ordenador que tienen instrucciones almacenadas en los mismos que son ejecutables mediante un sistema informatico para realizar diversas funciones. Las funciones incluyen crear una cadena de instantaneas de solo lectura de un disco de diferenciacion de la maquina virtual, creandose un nuevo disco de diferenciacion despues de cada instantanea que proporciona capacidad de lectura y escritura en el extremo de la cadena. Se incluye una pluralidad de tipos de instantanea en la cadena, incluyendo al menos un tipo de instantanea consistente de aplicacion y un tipo de instantanea consistente de fallo. Se crea una cadena replicada de las instantaneas de solo lectura, que corresponde a la cadena de instantaneas de solo lectura del disco de diferenciacion de la maquina virtual. Se facilita la seleccion de una de las instantaneas de solo lectura en la cadena replicada como un punto de restauracion para iniciar una maquina virtual replicada. La maquina virtual replicada se inicia desde una seleccionada de las instantaneas de solo lectura y que incluye una o mas de las instantaneas de solo lectura que siguen el punto de restauracion seleccionado en la serie.
La presente invencion se refiere a un aparato de acuerdo con la reivindicacion 1, un procedimiento implementado por ordenador de acuerdo con la reivindicacion 5 y un medio legible por ordenador de acuerdo con la reivindicacion 7.
Las reivindicaciones dependientes se refieren a realizaciones preferidas de la presente invencion.
Este resumen se proporciona para introducir una seleccion de conceptos en una forma simplificada que se describen adicionalmente a continuacion en la descripcion detallada. Este resumen no se pretende para identificar caractensticas clave o caractensticas esenciales de la materia objeto reivindicada, ni se pretende que se use para limitar el alcance de la materia objeto reivindicada.
Breve descripcion de los dibujos
La Figura 1 ilustra en general una realizacion representativa para replicar maquinas virtuales usando discos de diferenciacion;
Las Figuras 2A y 2B representan entornos informaticos representativos en los que puede implementarse la replicacion de acuerdo con la divulgacion;
La Figura 3 ilustra una manera representativa en la que un entorno de ordenador/servidor primario puede facilitar su recuperacion frente a desastres y tener sus datos replicados a medida que cambia con el tiempo;
Las Figuras 4A y 4B representan estados sucesivos de una cadena de discos representativa a medida que se modifica el almacenamiento virtual y se realiza una o mas copias;
La Figura 5 es un diagrama de flujo que ilustra una manera representativa en la que se mantiene la vista de datos de una maquina virtual replicada en sincronizacion con su homologa en el servidor primario;
La Figura 6 representa un disco virtual replicado y una cadena de discos replicados que corresponde a la porcion conservada del almacenamiento virtual en el sitio primario que se esta replicando;
Las Figuras 7A-7F ilustran un ejemplo representativo para replicar de manera asmcrona el almacenamiento de una maquina virtual u otra entidad informatica desde un primer entorno informatico en al menos otro entorno informatico;
La Figura 8 ilustra un ejemplo para planificar instantaneas u otras copias de un disco base o de diferenciacion;
La Figura 9 ilustra un ejemplo del enlace, y modificaciones al enlace de discos de diferenciacion replicados, cuando se accede a la cadena de discos;
La Figura 10 es un diagrama de flujo que ilustra caractensticas representativas desde la perspectiva de al menos un servidor primario en el sitio primario que ha de tener su almacenamiento replicado;
La Figura l1 es un diagrama de flujo que ilustra caractensticas representativas desde la perspectiva de al menos un servidor de recuperacion en el sitio de recuperacion que esta replicando una maquina o maquinas virtuales; y La Figura 12 representa un sistema informatico representativo en el que pueden implementarse los principios descritos en el presente documento.
Descripcion detallada
En la siguiente descripcion, se hace referencia a los dibujos adjuntos que representan ejemplos de implementacion representativos. Se ha de entender que pueden utilizarse otras realizaciones e implementaciones, ya que pueden hacerse cambios estructurales y/u operacionales sin alejarse del alcance de la divulgacion.
La divulgacion se refiere en general a replicacion y recuperacion de datos. Aunque los principios descritos en el presente documento son aplicables a cualquier replicacion de datos desde un dispositivo o instalacion de almacenamiento de datos a otro dispositivo o instalacion de datos, numerosas realizaciones en esta divulgacion se describen en el contexto de recuperacion frente a desastres donde se proporcionan datos replicados y recursos de procesamiento fuera del sitio del centro informatico primario. Debena reconocerse, sin embargo, que los principios descritos en el presente documento son aplicables independientemente de la distancia o manera en la que se
5
10
15
20
25
30
35
40
45
50
55
60
transfieren los datos replicados al sitio o sitios de recuperacion. Ciertas realizaciones se describen tambien en el contexto de maquinas virtuales, aunque los principios son igualmente aplicables a maquinas ffsicas y su almacenamiento disponible.
Como se ha indicado anteriormente, la informacion de respaldo de sistema a menudo se realiza en medio ffsico y se proporciona ffsicamente a un sitio de recuperacion remoto. Cuando un centro de datos va fuera de lmea, el centro de datos de respaldo puede hacerse cargo de operaciones con el medio de respaldo. Proporcionar de manera repetitiva medio ffsico al sitio de recuperacion es engorroso. La recuperacion implicaffa usar datos de respaldo ya disponibles en el sitio de recuperacion, que podffan ser de un dfa o mas anteriores, o la recuperacion tendffa que esperar hasta que lleguen datos de replicacion mas recientes en el sitio de recuperacion. Estas soluciones no proporcionan un alto grado de continuidad de negocio.
Podffa obtenerse y entregarse electronicamente un respaldo completo de datos en un sitio primario a un sitio de recuperacion. Sin embargo, el tamano de las transmisiones de datos podffa ser muy grande, haciendo la organizacion regular y transmision final de tal informacion inmanejable. Proporcionar datos replicados en una base poco frecuente para mitigar estos problemas de transmision puede dar como resultado menos recuperacion deseable cuando sea necesario, ya que los datos cambiados pueden perderse en los largos periodos de tiempo entre respaldos. Crear estrategias de recuperacion frente a desastres usando respaldos de esta manera conduce a procedimientos complejos con objetivo de punto de recuperacion (RPO) y objetivo de tiempo de recuperacion (RTO) muy altos.
El procedimiento de recuperacion frente a desastres puede simplificarse teniendo una copia replicada de un almacenamiento de maquina, o de una maquina virtual, en un sitio diferente del sitio donde se esta ejecutando el servidor o servidores primarios. Como se usa en el presente documento, a menos que se indique de otra manera, una “copia” se refiere en general a una replicacion de la maquina virtual o almacenamiento de maquina virtual en cuestion. Por lo tanto, “replicacion” y “copia” pueden usarse de manera intercambiable en el presente documento. Pueden realizarse las actualizaciones desde el servidor primario a la copia replicada de la maquina virtual o almacenamiento. Replicar una maquina virtual se diferencia de respaldar una aplicacion o pila de sistema operativo, ya que la replicacion de una maquina virtual implica replicar tanto el almacenamiento como la configuracion de la maquina virtual, y la carga de trabajo llega al sitio de recuperacion en una condicion donde no requiere reconfiguracion. Por ejemplo, el contenedor de la maquina virtual ya tendra el numero correcto de interfaces de red y otras tales configuraciones, y se configuran de la manera en la que la carga de trabajo esta esperando.
La divulgacion proporciona mecanismos y procedimientos que posibilitan la replicacion de datos asociados con una maquina virtual o ffsica. Por ejemplo, en el contexto de maquinas virtuales, la divulgacion proporciona maneras que posibilitan la replicacion de uno o mas datos de maquinas virtuales que pueden mantenerse en forma de discos virtuales u otros ficheros similares. Entre otras cosas, la divulgacion tambien trata mecanismos y procedimientos que posibilitan a los usuarios de sitio de recuperacion utilizar una copia replicada de la maquina virtual en el caso de que un desastre u otra ocurrencia impacte la capacidad del sitio primario para continuar normalmente.
Se describen a continuacion diversas realizaciones en terminos de maquinas virtuales. La virtualizacion se refiere en general a una abstraccion de recursos ffsicos, que puede utilizarse en escenarios de cliente y servidor. La emulacion de hardware implica el uso de software que representa hardware con el que el sistema operativo ffpicamente interactuaffa. El software de emulacion de hardware puede soportar sistemas operativos de invitado, y software de virtualizacion tal como un hipervisor puede establecer una maquina virtual (VM) en la que opera un sistema operativo de invitado. Gran parte de la descripcion del presente documento se describe en el contexto de maquinas virtuales, pero los principios son igualmente aplicables a maquinas ffsicas que no emplean virtualizacion.
La Figura 1 ilustra en general una realizacion representativa para replicar maquinas virtuales usando discos de diferenciacion. Un primer sitio 100 puede incluir uno o mas sistemas 102-104 informaticos de anfitrion que pueden alojar una o mas maquinas virtuales (VM) 106. El sistema 102 informatico tiene almacenamiento asociado, y en el ejemplo de la Figura 1 la maquina 106 virtual tiene el almacenamiento virtual (VS) 108 asociado. El almacenamiento virtual puede representar, por ejemplo, un disco duro virtual que en general representa almacenamiento logico ffpicamente proporcionado como un fichero o ficheros de imagen de disco. La maquina 106 virtual ve el almacenamiento 108 virtual como su disco duro u otro dispositivo de almacenamiento similar.
En una realizacion, la replicacion de datos almacenados u otra informacion en el almacenamiento 108 virtual incluye el uso de una cadena o arbol de estado de almacenamiento, donde la parte superior de la cadena (tambien denominada en el presente documento como el extremo del arbol) proporciona tanto capacidad de lectura como de escritura para registrar cambios escritos en el almacenamiento virtual. Por ejemplo, el almacenamiento 108 virtual puede representar un disco duro virtual que tiene un formato de fichero de disco duro virtual (VHD). El arbol de almacenamiento puede incluir un disco 110 virtual base, y uno o mas discos 112A-112n de diferenciacion que estan asociados con el disco 110 virtual base. El disco 112A de diferenciacion que es el hijo del disco 110 virtual base captura cambios en el almacenamiento 108 virtual. Como se describe mas completamente a continuacion, un disco de diferenciacion tal como el disco 112A de diferenciacion puede preservarse a traves de proteccion de escritura, y puede crearse un nuevo disco de diferenciacion tal como el disco 112B de diferenciacion para aceptar cambios en el almacenamiento 108 virtual desde ese punto hacia delante. Esto puede continuar a traves de cualquier numero de
5
10
15
20
25
30
35
40
45
50
55
60
discos 112n de diferenciacion, creando de esta manera una cadena de discos virtuales preservados y un disco 112n de diferenciacion para capturar nuevos cambios.
Se proporciona al menos un segundo sitio 150 que incluye uno o mas sistemas 152, 153, 154 informaticos de anfitrion donde la informacion replicada del primer sitio 100 puede recibirse y almacenarse, y donde pueden iniciarse operaciones informaticas de recuperacion en el caso de desastre u otro evento presentando al primer sitio 100 sin poder continuar sus responsabilidades informaticas. El primer sitio 100 y el segundo sitio 150 se comunican por medio de enlaces 130 de comunicacion, que pueden implicar cualquier tipo de interfaz de comunicacion electronica tal como cableado directo, redes alambricas, redes inalambricas y similares y cualquier combinacion de las mismas. Una replicacion de la maquina 106 virtual puede proporcionarse al segundo sitio 150 por medio de medios electronicos o de otra manera para proporcionar la maquina 156 virtual replicada. De manera similar, los discos 112A-112n de diferenciacion u otras porciones del almacenamiento 108 virtual designadas para capturar cambios en el almacenamiento 108 virtual pueden transferirse cuando se han protegido los datos de operaciones de escritura adicionales, como se describe mas completamente a continuacion. El almacenamiento 158 virtual replicado corresponde por lo tanto a lo que se ha transferido desde el almacenamiento 108 virtual en el sitio primario 100.
El almacenamiento, tal como el almacenamiento 108 virtual en el primer sitio 100, podna hacer fluir sus datos al segundo sitio de manera asmcrona. Sin embargo, en una disposicion de este tipo, si el primer sitio 100 fallara, sena diffcil que el segundo sitio 150 conociera lo que se ha transferido satisfactoriamente y si el almacenamiento es coherente. La presente divulgacion describe que las instantaneas (u otras imagenes fijas) de los discos 112A-112n de diferenciacion del primer sitio 100 se crean y transfieren al segundo sitio 150. Usar una caractenstica de creacion de instantaneas posibilita la replicacion asmcrona del almacenamiento 108 de una maquina 106 virtual de un lugar a otro. De esta manera, si un servidor o servidores primarios en el primer sitio 100 fallan o van fuera de lmea de otra manera, no habra diferencias entre las instantaneas y los datos que se replicaron. En consecuencia, se sabra que los datos se han recibido en el segundo sitio 150. La divulgacion contempla por lo tanto que el primer sitio 100 transfiera instantaneas u otras imagenes de discos de diferenciacion a tiempos particulares al segundo sitio 150.
Por ejemplo, cuando se obtiene una replicacion del almacenamiento 108 virtual, puede implicar adicionalmente transferir datos del disco de diferenciacion al segundo sitio 150, y crear un nuevo disco de diferenciacion. Como un ejemplo mas particular, puede tomarse una instantanea 114 u otra replicacion/copia del disco 112B de diferenciacion para proporcionar una imagen (por ejemplo, fichero de imagen AVHD) al sistema 152 informatico de anfitrion en el segundo sitio 150. En una realizacion, el disco 112B de diferenciacion del que se tomo la instantanea 114 se cambiara a solo lectura, y se creara un nuevo 112n disco de diferenciacion como un fichero de almacenamiento virtual de lectura/escritura.
Algunas realizaciones implican diferentes tipos de copias de los discos de diferenciacion u otras imagenes de almacenamiento virtual. La Figura 1 representa una pluralidad de tales diferentes tipos de replicacion o “copia”, incluyendo el tipo de copia A 116, tipo de copia B 118 al tipo de copia n 120. Por ejemplo, un primer tipo de copia, tal como el tipo de copia B 118, puede representar una copia/instantanea de bajo impacto de un disco 112A-112n de diferenciacion que ha tenido lugar sin esfuerzos significativos para aumentar la coherencia de los datos. Una manera de obtener una copia de este tipo es marcar el disco de diferenciacion particular de solo lectura en cualquier momento deseado, y crear un nuevo disco de diferenciacion para capturar los datos escritos posteriormente. Por ejemplo, puede obtenerse una instantanea de maquina virtual usando, por ejemplo, software de virtualizacion, un hipervisor, funcionalidad de sistema operativo, etc., que puede capturar el estado, datos y configuracion de hardware de una maquina virtual en ejecucion. Este tipo de copia u otra copia de bajo impacto similar puede denominarse en esta divulgacion como una copia consistente de fallo, en cuanto a lo que se almacena en el disco de diferenciacion generalmente corresponde a lo que estana en el disco despues de un fallo de sistema o corte de energfa. En estos casos, las aplicaciones pueden estar en ejecucion que almacenan temporalmente datos en la cache o memoria que no se han almacenado en la memoria. Los metadatos de sistema de fichero pueden no haberse gestionado todos para crearlos en el disco antes de que se hayan marcado como solo lectura. Con este tipo de copia, es posible que un intento para reanimar la copia en un sitio de recuperacion no sea completamente satisfactorio ya que los datos pueden no ser completamente coherentes. Sin embargo, este tipo de copia no provoca que se interrumpan los programas en ejecucion, y por lo tanto tiene muy bajo coste ya que pertenece al rendimiento del sistema de los sistemas 102-104 informaticos en el primer sitio 100.
Otro tipo de copia, tal como el tipo de copia A 116, puede representar una copia/instantanea de coherencia superior de un disco 112A-112n de diferenciacion que tuvo lugar con algun esfuerzo para aumentar la coherencia de los datos antes de que se tomara la instantanea 114. Por ejemplo, una instantanea 114 de este tipo puede obtenerse usando un servicio de un sistema operativo tal como el servicio de copia de instantaneas de volumen (VSS) por MICROSOFT® Corporation que coordina entre la funcionalidad de respaldo y las aplicaciones de usuario que actualizan datos en el disco. El software en ejecucion (es decir, los escritores de datos) puede notificarse de un respaldo inminente, y proporcionar sus ficheros a un estado consistente. Este tipo de copia proporciona una probabilidad superior de reanimacion apropiada en el segundo sitio 150. Sin embargo, puesto que las aplicaciones en ejecucion pueden necesitar preparar el respaldo vaciando la entrada/salida (E/S), grabando su estado, etc., la carga de trabajo en ejecucion se interrumpe y se somete a latencias y a rendimiento inferior. Pueden usarse diferentes tipos de copia a diferentes tiempos o en diferentes planificaciones para proporcionar un equilibrio deseado entre interrupcion de carga de trabajo y coherencia de datos.
5
10
15
20
25
30
35
40
45
50
55
60
Como se ha descrito anteriormente, la divulgacion establece maneras en las que los datos almacenados asociados con una maquina o maquinas ffsicas o maquina o maquinas virtuales se replican desde un primer sitio 100 en al menos un segundo sitio 150. Las realizaciones implican proporcionar instantaneas u otras copias de porciones de imagen de disco tales como discos de diferenciacion, mientras posibilitan que se obtengan multiples tipos de copias para proporcionar regularmente datos replicados en un segundo sitio o de “recuperacion” mientras se mantienen las interrupciones de procesamiento en el primer sitio o “primario” a un nivel gestionable. Las instantaneas transferidas al segundo sitio 150 pueden encadenarse de manera analoga a las de en el sitio primario 100. Ademas, los servidores tanto en el primer como segundo sitios 100, 150 pueden facilitar la fusion de discos de diferenciacion protegidos contra escritura en sus respectivos discos padre, para reducir requisitos de capacidad de almacenamiento, reducir latencias de acceso, etc. Como se describe mas completamente a continuacion, los discos de diferenciacion transferidos mediante el primer sitio 100 se reciben en el segundo sitio 150 y se encadenan en la parte superior de la cadena de discos existente de la copia replicada de la maquina virtual, manteniendo de esta manera la vision de datos de la maquina virtual replicada sincronizada con la del servidor o servidores primarios.
Las Figuras 2A y 2B representan entornos informaticos representativos en los que puede implementarse la replicacion de acuerdo con la divulgacion. Los sistemas representativos de las Figuras 2A y 2B son meramente ejemplos, y evidentemente no representan disposiciones exclusivas. El entorno informatico en la Figura 2A ilustra un primer sitio, tal como un sitio 200 de servidor primario. En este ejemplo, el sitio 200 de servidor primario incluye uno o mas servidores 202A-202n u otros dispositivos informaticos. Cada uno de los servidores 200A-200n puede incluir respectivamente capacidades informaticas tal como uno o mas procesadores 204A, 204n logicos o ffsicos, memoria 206a, 206n, almacenamiento 208A, 208n, etc. El almacenamiento 208A, 208n puede replicarse, de manera que las copias 210A, 210n de almacenamiento tal como instantaneas de almacenamiento pueden proporcionarse a un sitio o sitios 212 de recuperacion para fines de recuperacion frente a desastres. La Figura 2A ilustra que las tecnicas descritas en el presente documento son aplicables a cualquier almacenamiento asociado con un procesador, asf como son aplicables a almacenamiento virtual y maquinas virtuales. Debena observarse que el sitio 212 de recuperacion puede incluir servidores u otros dispositivos informaticos que tienen capacidades de procesamiento, memoria y almacenamiento similares.
La Figura 2B ilustra un ejemplo que implica una o mas maquinas virtuales. En este ejemplo, los sitios de servidor primario 220 y de recuperacion 250 incluyen respectivamente uno o mas servidores 222A-222n, que cada uno puede incluir capacidades informaticas tales como uno o mas procesadores 224A, 224n ffsicos o logicos, memoria 226A, 226n, almacenamiento 228A, 228n, etc. Uno o mas de los servidores puede incluir un hipervisor 230A, 230n u otro modulo de gestion de maquina virtual que presenta una plataforma de operacion virtual en la que pueden operar los sistemas 232A, 232n operativos y las maquinas 234A-236A, 234n-236n virtuales. Las caractensticas del hipervisor 230A, 230n y/o del sistema 232A, 232n operativo pueden usarse, adaptarse o anadirse para proporcionar funcionalidad tal como el modulo de gestion de replicacion (RMM) 238A, 238n. De acuerdo con la presente divulgacion, el modulo 238A, 238n de gestion de replicacion puede proporcionar funcionalidad tal como almacenar que cambios (por ejemplo, disco de diferenciacion) fueron los ultimos cambios a transferir desde el sitio 220 primario al sitio 250 de recuperacion, solicitar que las copias se hagan en respuesta a planificaciones u otros activadores de eventos, leer informacion para transferir al sitio 250 de recuperacion, fusionar discos de diferenciacion en sus discos padres respectivos, etc. El almacenamiento virtual (no mostrado) esta asociado con cada maquina virtual, que puede almacenarse en ficheros en la memoria 226A, 226n de los servidores 222A, 222n, almacenamiento local 228A, 228n, almacenamiento agrupado (no mostrado) si los servidores 222A, 222n estan configurados en una agrupacion, etc. El almacenamiento virtual puede replicarse, de manera que las instantaneas de almacenamiento u otras copias 242A, 242n se proporcionan a un sitio o sitios 250 de recuperacion para recuperacion frente a desastres u otros fines. La Figura 2B ilustra por lo tanto que las tecnicas descritas en el presente documento son aplicables a almacenamiento virtual asociado con una maquina virtual. Debena observarse que el sitio 250 de recuperacion puede incluir servidores u otros dispositivos informaticos que tienen capacidades de procesamiento, memoria, almacenamiento, maquina virtual y gestion de maquinas virtuales analogas como se describe en las Figuras 2A y/o 2B.
La Figura 3 ilustra una manera representativa en la que un entorno de ordenador/servidor primario puede facilitar su recuperacion frente a desastres y tener sus datos replicados a medida que cambian con el tiempo. La Figura 4A representa un primer estado de una cadena 404A de discos, y la Figura 4B representa un segundo estado de la cadena 404B de discos. En el siguiente ejemplo, las Figuras 3, 4A y 4B se hacen referencia de manera colectiva.
Una imagen 406 de disco virtual base u otra base de almacenamiento inicial de un disco 402 virtual de una maquina 400 virtual se almacena como se representa en el bloque 300. Como se describe adicionalmente a continuacion, esta imagen 406 de disco virtual base puede servir como la base para la replicacion del almacenamiento virtual en un sitio de recuperacion. La 406 imagen de disco virtual base puede presentarse como un fichero, tal como, por ejemplo, un fichero de disco duro virtual (VHD).
Como se muestra en el bloque 302, pueden registrarse cambios en el disco 402 virtual a un disco 410A de diferenciacion actual (Figura 4A) que puede escribirse ademas de leerse. En una realizacion, el disco 410A de diferenciacion actual esta logicamente en la parte superior de una cadena 404A de discos que incluye la 406 imagen de disco virtual base y cualquier disco 408 de diferenciacion intermedio. Si el disco 410A de diferenciacion actual es el primer disco de diferenciacion hijo del disco 406 virtual base padre, entonces no habra discos de diferenciacion
5
10
15
20
25
30
35
40
45
50
55
60
intermedios. Ademas, si los discos 408 de diferenciacion intermedios ya se han fusionado con la imagen 406 de disco virtual base, entonces no habra discos de diferenciacion intermedios.
Por otra parte, puede haber discos 408 de diferenciacion que se hayan comprometido a solo lectura, tal como cuando se ha de preservar una instantanea u otra copia de ese disco de diferenciacion. De modo que los datos de instantanea (que puede transferirse para replicacion) corresponden al disco de diferenciacion, el disco de diferenciacion puede escribirse protegido en relacion con la instantanea. En estos casos, puede haber uno o mas discos 408 de diferenciacion de solo lectura entre la imagen 406 de disco virtual base y el disco 410A de diferenciacion de lectura/escritura actual. Como se describe en mayor detalle a continuacion, la cadena de al menos los discos de solo lectura en el sitio primario se replicaran en un sitio o sitios de recuperacion, manteniendo de esta manera la vision de datos de la maquina virtual replicada sincronizada con el correspondiente servidor o servidores en el sitio primario.
En algun punto, se creara una copia del disco 410A de diferenciacion de lectura/escritura actual, y se protegera contra escritura, como se muestra en el bloque 304. Por ejemplo, puede realizarse una solicitud 414 para una copia del disco 410A de diferenciacion actual mediante un modulo 412 de gestion de replicacion ejecutable por procesador que puede ser un servicio o caractenstica de un hipervisor, sistema operativo anfitrion, sistema operativo de particion padre, etc. Como se ha indicado anteriormente, el tipo de copia a realizarse puede indicarse tambien, tal como una copia consistente de fallo donde los datos de aplicacion pueden no haberse preparado para la copia. Otro ejemplo es una copia consistente de aplicacion que tiene una probabilidad superior de reanimacion posterior apropiada que puede implicar, por ejemplo, alguna notificacion a una aplicacion o aplicaciones para vaciar datos/registros y preparar de otra manera para la instantanea u otra copia.
El disco de diferenciacion que estaba en la parte superior de la cadena se ha marcado como solo lectura, como se representa mediante el disco 410B de diferenciacion de S/L en la Figura 4B. Habiendose protegido contra escritura este disco 410B, el bloque 306 muestra que puede crearse un nuevo disco 420 de diferenciacion como el nuevo superior de la cadena 404B de discos para sustituir el disco 410B de diferenciacion que se acaba de copiar. Este nuevo disco 420 de diferenciacion del “extremo del arbol” asumira las responsabilidades de manejar tanto las operaciones de lectura como de escritura. En una realizacion, cualquier disco 408, 410B de diferenciacion intermedio no fusionado y el disco 406 virtual base por debajo de el permanecera como solo lectura.
En una realizacion, el disco 406 virtual base de solo lectura y cualquier disco 408, 410B de diferenciacion intermedio de solo lectura se han transferido al sitio de recuperacion donde se recreara la cadena de discos para fines de recuperacion. Esto se indica en el bloque 308, donde el disco 410B de diferenciacion que se acaba de copiar y proteger contra escritura puede transferirse para almacenamiento replicado, tal como transferirse a una direccion de la maquina virtual replicada. Por lo tanto, cuando se obtiene la copia 416, puede transferirse a un sitio de recuperacion mediante un transmisor, transceptor, interfaz de red y/u otro mecanismo representado mediante el dispositivo 418 de transmision. Siempre que el sitio primario este operacional y se haya de replicar mas copias segun se determina en el bloque 310 de decision, el procedimiento de crear copias y proteccion 304 de escritura, crear nuevos discos 306 de diferenciacion, y transferir las instantaneas 308 puede continuar. Por ejemplo, puede establecerse una polttica de replicacion o reglas de replicacion para determinar cuando debena hacerse una copia, y en el caso de multiples tipos de copias, que tipo de copia debena realizarse.
La Figura 5 es un diagrama de flujo que ilustra una manera representativa en la que la vision de datos de una maquina virtual replicada se mantiene en sincronizacion con su homologa en el servidor primario. La Figura 6 representa un disco 600 virtual replicado y una cadena 610 de discos replicado que corresponde a la porcion preservada del almacenamiento virtual en el sitio primario que se esta replicando. En el siguiente ejemplo, se hace referencia de manera colectiva a las Figuras 5 y 6.
Como se muestra en el bloque 500, se proporciona una maquina 600 virtual replicada en un sitio de recuperacion, donde la maquina 600 virtual replicada corresponde sustancialmente a la maquina virtual primaria que ha de replicarse. Esto puede comunicarse electronicamente, o suministrarse por otros medios. Se proporciona un disco 602 virtual replicado u otro almacenamiento virtual replicado como se muestra en el bloque 502. El disco 602 virtual replicado puede incluir un disco 604 virtual base replicado que corresponde sustancialmente a un disco virtual base primario a replicarse (por ejemplo, el disco 400 virtual base de la Figura 4).
Una copia de un disco 606 de diferenciacion que esta asociado con el disco virtual base primario, tal como que es un hijo o descendiente mas distante del disco virtual base primario, se recibe como se muestra en el bloque 504. En una realizacion, la copia recibida es una de una pluralidad de posibles tipos de copias o replicaciones. Como se muestra en el bloque 506, la copia recibida del disco 606 de diferenciacion esta dispuesta con relacion al disco 604 virtual base replicado de la manera en la que se dispuso con relacion al disco virtual base primario en el sitio primario. Por ejemplo, si existen uno o mas discos de diferenciacion intermedios en el sitio primario, entonces las copias/instantaneas de estos discos 608 de diferenciacion se recibiran y dispondran en la cadena 610 de discos replicados a medida que los discos de diferenciacion preservados se disponen en la cadena de discos primarios (por ejemplo, la cadena 404A/B de discos de las Figuras 4a, 4B). Aunque uno o mas de los discos 608 de diferenciacion intermedios pueden fusionarse en su disco 604 virtual base en los servidores primarios y/o de recuperacion, los contenidos debenan permanecer en sincronizacion con la cadena de discos en el sitio primario.
5
10
15
20
25
30
35
40
45
50
55
60
Si se reciben otros discos de diferenciacion en el sitio de recuperacion como se determina en el bloque de decision 508, pueden recibirse 504 mas discos de diferenciacion y disponerse 506 para permanecer en sincronizacion con el sitio primario. Estos discos de diferenciacion replicados, por ejemplo, instantaneas u otras copias, pueden recibirse mediante un receptor 612, que puede representar un receptor discreto, transceptor, interfaz de red, o cualquier mecanismo de recepcion. Puede proporcionarse un modulo 614 de gestion de replicacion como un modulo ejecutable por procesador en un servidor o servidores de recuperacion, tal como en un hipervisor del servidor, sistema operativo anfitrion, sistema operativo de particion padre, etc. El modulo 614 de gestion de replicacion puede realizar tareas tales como soportar la informacion con respecto a lo que fueron el ultimo conjunto de cambios (por ejemplo, disco de diferenciacion) a recibir desde el sitio primario, soportar el tipo de copia que es (por ejemplo, consistente de fallo, consistente de aplicacion, etc.), determinar cual de una pluralidad de discos de diferenciacion replicados en los que comenzar a procesar si se inician las operaciones de recuperacion, disponer las instantaneas u otras copias en una cadena que corresponde a la del sitio primario, y otras funciones descritas en el presente documento.
Como puede observarse en los ejemplos anteriores, las soluciones proporcionadas en la presente divulgacion pueden usar instantaneas u otras caractensticas de replicacion para crear discos de diferenciacion a intervalos periodicos u otros. Por ejemplo, los hipervisores, otro software de virtualizacion y/o sistemas operativos pueden incluir una caractenstica de instantanea que puede usarse para crear discos de diferenciacion. En una realizacion, los discos de diferenciacion en la parte superior de la cadena de discos acumulan cambios mientras que los discos duros virtuales de solo lectura mas hacia debajo de la cadena se transfieren al sitio remoto, tal como a traves de una red. En el sitio remoto, los discos de diferenciacion recibidos pueden encadenarse en la parte superior de la cadena de discos existente de la copia replicada de la maquina virtual creando y modificando instantaneas, manteniendo de esta manera la vision de datos de la maquina virtual replicada en sincronizacion con el servidor primario.
Usando tales caractensticas, puede proporcionarse la replicacion de maquinas virtuales en ejecucion que asegura la correccion de datos replicados por diseno. Por ejemplo, el uso de discos de diferenciacion para acumular escrituras en el servidor primario, y el encadenamiento de los mismos discos en la maquina virtual replicada en el sitio remoto, asegura que no se perdera escritura por el procedimiento de replicacion incluso en caso de fallos de alimentacion o fallos de sistema en cualquier extremo. Este mecanismo proporciona consistencia de los datos replicados sin requerir un mecanismo de resincronizacion o mecanismo de comprobacion de consistencia.
Las soluciones descritas en el presente documento posibilitan la creacion de una copia de una maquina virtual en ejecucion y sincronizacion periodica de sus datos desde un sitio primario a un sitio de recuperacion de una manera sin interrupcion. Por ejemplo, se proporciona un mecanismo para crear una copia de una maquina virtual que se ejecuta en el sitio primario en un servidor remoto transfiriendo la configuracion de la maquina virtual y los discos de datos a traves de la red. Un mecanismo de este tipo puede permitir la creacion de discos de diferenciacion en la parte superior de la cadena de discos duros virtuales de la maquina virtual, la transferencia de los discos de diferenciacion de solo lectura subyacente a traves de la red al servidor remoto, y el encadenamiento de estos discos en la maquina virtual en el servidor remoto. La creacion de discos de diferenciacion permite que tenga lugar la transferencia de datos sin interrupcion en la maquina virtual en ejecucion.
Pueden generarse puntos consistentes de aplicacion en el tiempo para la copia replicada de la maquina virtual. Por ejemplo, pueden usarse instantaneas (VSS), que permiten que las aplicaciones dentro de la maquina virtual se vacfen e inactiven sus escrituras, de modo que los datos hasta ese punto proporcionen una garantfa superior de capacidad de recuperacion. Una metodologfa ejemplar usa instantaneas de VSS para posibilitar la recuperacion desde tales puntos de restauracion garantizados mas altos en el servidor de recuperacion invirtiendo las instantaneas de VSS.
Las soluciones descritas en el presente documento proporcionan la capacidad de producir una maquina virtual replicada con datos de uno de una pluralidad de puntos en el tiempo y cambiar posteriormente el punto en el tiempo si se desea. Por ejemplo, el mecanismo crea y modifica instantaneas para encadenar los discos de diferenciacion recibidos desde el servidor primario. Las instantaneas representan puntos en el tiempo de los datos de la maquina virtual replicada. El procedimiento proporciona un mecanismo para producir la maquina virtual replicada creando un disco de diferenciacion hasta este punto en el tiempo, y usarlo para producir la maquina virtual. Estos discos de diferenciacion en el sitio de recuperacion capturan cualquier escritura generada por la maquina virtual replicada. Si el usuario elige cambiar el punto en el tiempo posteriormente, el disco de diferenciacion puede descartarse a favor de un nuevo disco de diferenciacion que se creo con relacion al nuevo punto en el tiempo.
Estas metodologfas posibilitan adicionalmente que se continue la replicacion mientras se ejecuta una “prueba” en la copia replicada de la maquina virtual, sin hacer una copia de los discos duros virtuales de la maquina virtual replicada. Por ejemplo, el procedimiento proporciona la capacidad de generar una copia de “prueba” de la maquina virtual replicada usando dos (o mas) conjuntos de discos de diferenciacion que apuntan a los mismos discos duros virtuales padres. Las escrituras ejecutadas desde la maquina virtual de “prueba” se capturan en un conjunto de discos de diferenciacion, que se descartan cuando la prueba esta completa. Pueden recopilarse cambios de sincronizacion periodicos o “deltas” que llegan desde el servidor primario en el otro conjunto de discos de diferenciacion, que pueden fusionarse en el padre una vez que la prueba esta completa.
5
10
15
20
25
30
35
40
45
50
55
60
La solucion proporciona adicionalmente la capacidad de continuar la replicacion mientras la replica inicial para la maquina virtual (por ejemplo, el disco virtual base) se esta transportando fuera de banda. El mecanismo proporciona soporte para transportar la replica inicial de la maquina virtual “fuera de banda”; es decir, fuera del canal de transporte de red usado para transportar datos desde el sitio primario al sitio remoto. Puede crearse un disco de diferenciacion en el sitio remoto que esta apuntando a (o “emparentado a”) un disco duro virtual vado, donde los posteriores discos de diferenciacion recibidos desde el servidor primario durante la replicacion se encadenan en la parte superior del disco de diferenciacion creado. Cuando se recibe la replica fuera de banda en el sitio remoto, el disco de diferenciacion que se creo para apuntar al disco duro virtual vado puede “volverse a emparentar” para apuntar a los discos duros virtuales recibidos en la replica inicial.
Se proporciona ahora un ejemplo para representar muchos de estos puntos, que expone un ejemplo representativo de una secuencia de eventos de replicacion de acuerdo con la divulgacion. Las Figuras 7A-7F ilustran un ejemplo representativo para replicar de manera asmcrona el almacenamiento de una maquina virtual u otra entidad informatica desde un primer entorno informatico a al menos otro entorno informatico. Donde sea apropiado, numeros de referencia similares se usan a lo largo de todas las Figuras 7A-7F para identificar elementos similares.
En este ejemplo, un sitio 700 informatico primario representa el primer entorno informatico, y un segundo sitio 750 informatico o de “recuperacion” representa el segundo entorno informatico. El sitio 700 primario incluye uno o mas dispositivo informaticos operativos (por ejemplo, servidores), como lo hace el sitio 750 de recuperacion. El sitio 750 de recuperacion representa uno o mas dispositivos informaticos/servidores que pueden recibir discos virtuales u otros ficheros de almacenamiento para preservacion y posible reanimacion en el caso de un desastre u otro evento que impacte la capacidad del sitio 700 primario para llevar a cabo sus labores.
Aunque la presente divulgacion es aplicable para rastrear y replicar almacenamiento de cualquier dispositivo o estructura de datos usando un sistema informatico nativo, una realizacion implica rastrear y replicar cambios a un disco virtual usado por un sistema de virtualizacion basado en hipervisor. En un sistema de este tipo, para rastrear y replicar cambios en el disco virtual usado por una maquina virtual, puede usarse un disco de diferenciacion para una maquina virtual en ejecucion. Cuando una maquina virtual esta configurada para rastrear, un disco 702 virtual base asociado con el dispositivo o dispositivos informaticos del sitio 700 primario se transferira o proporcionara de otra manera al dispositivo o dispositivos informaticos en el sitio 750 de recuperacion. Esto se representa mediante el disco 752 virtual base replicado en el sitio 750 de recuperacion.
Cuando el disco 702 virtual base se ha protegido contra escritura y copiado al sitio 750 de recuperacion, se crea un primer disco D1 704 de diferenciacion para capturar cualquier nueva escritura que implique al disco virtual. En otras palabras, cualquier cambio al disco virtual se realizara a continuacion en el disco 704 de diferenciacion en el sitio 700 primario, mientras que en este punto el sitio de recuperacion ha preservado el disco virtual en el estado del disco 752 virtual base replicado. En una realizacion, la replicacion (por ejemplo, el modulo de gestion de replicacion) tanto en el sitio 700 primario como el sitio 750 de recuperacion almacenara informacion de estado que indica que la transferencia del disco 702 virtual base al disco 752 virtual base replicado es el conjunto de cambios mas recientes a trasferir. Si la maquina virtual correspondiente (u otro sistema informatico) en el sitio 700 primario fallo o no pudo realizar de otra manera sus labores en este punto, el hardware en el sitio 750 de recuperacion podna empezar a funcionar desde el estado del almacenamiento virtual que corresponde al disco 752 virtual base replicado.
Las copias del almacenamiento pueden solicitarse en cualquier momento, incluyendo en conexion con una planificacion. Por ejemplo, la gestion de replicacion en el sitio 700 primario puede realizar una solicitud para una copia del almacenamiento virtual despues de que transcurra algun tiempo, en un tiempo particular, como resultado de la ocurrencia de un evento, etc. La presente divulgacion contempla multiples tipos de copias que pueden crearse y transmitirse al sitio 750 de recuperacion, cada una de las cuales puede tener su propia planificacion u otros criterios de activacion.
Haciendo referencia brevemente a la Figura 8, se muestra un ejemplo para planificar instantaneas u otras copias de un disco de base o de diferenciacion. Puede almacenarse una polftica 800 en una memoria o almacenamiento 802, que puede ser almacenamiento asociado con el sistema informatico de anfitrion o de otra manera. En una realizacion, la polftica 800 incluye reglas para solicitar copias de un disco de diferenciacion para replicacion al servidor de recuperacion. En la realizacion ilustrada, se tienen en cuenta dos tipos de copias, aunque podnan implementarse menos o mas tipos de copias. En este ejemplo, la polftica 800 incluye instrucciones de copia para copias 804 consistentes de fallo, tales como una cualquiera o mas de un tiempo 806 espedfico en el que debena obtenerse una copia, un intervalo 808 de tiempo fijo o variable entre obtener copias consistentes de fallo, otra activacion 810 de eventos que inicie una solicitud para una copia consistente de fallo, y similares. De manera similar, la polftica 800 puede incluir posibilidades 816, 818, 820 analogas para copias 814 consistentes de aplicacion, aunque los tiempos 816 espedficos, intervalos 818 y/o activacion 820 de eventos pueden diferenciarse de aquellos del otro tipo o tipos de copia. Un controlador 824, que puede incluir un procesador y software ejecutable, puede ejecutar la polftica 800. Por ejemplo, el controlador puede ejecutar un programa o programas, tal como el modulo de gestion de replicacion anteriormente descrito, para ejecutar las funciones del temporizador 826, monitorizacion 828 de eventos y/o de instantanea 830 basandose en la polftica 800. En otras realizaciones, pueden proporcionarse instantaneas mediante otros programas ejecutables por controlador, tales como el servicio de copia de instantaneas de volumen (VSS) anteriormente descrito.
5
10
15
20
25
30
35
40
45
50
55
60
Volviendo ahora al ejemplo de las Figuras 7A-7F, la Figura 7B supone que la gestion de replicacion ha solicitado un primer tipo de copia, denominado en este ejemplo como una copia consistente de fallo. Una copia de este tipo puede representar una copia del almacenamiento virtual en cualquier momento dado. Por ejemplo, una copia consistente de fallo puede hacerse deteniendo actividad de escritura en el disco D1 704 de diferenciacion en cualquier momento. En una realizacion, cuando se solicita una copia consistente de fallo del disco virtual, el disco virtual se cierra a operaciones de escritura adicionales, y se crea un nuevo disco D2 706 de diferenciacion para capturar cualquier nueva escritura que implique el disco virtual. Cuando el disco D1 704 de diferenciacion esta cerrado a nuevas escrituras (por ejemplo, marcado como solo lectura) en cualquier momento planeado o arbitrario sin preparacion, no se interrumpe la carga de trabajo en ejecucion de la maquina virtual (u otro sistema operativo). Aunque este tipo de copia posibilita que la carga de trabajo continue operando sin interrupcion y a velocidad normal, una posible consecuencia es que los intentos posteriores para reanimar la copia en un sitio 750 de recuperacion podnan fallar potencialmente debido a que la copia del disco D1 704 de diferenciacion se haya obtenido en un momento arbitrario.
Como se ha indicado anteriormente, se crea otro disco D2 706 de diferenciacion para posibilitar que se escriba informacion en el disco virtual cuando D1 704 se ha preservado para transferir finalmente al sitio 750 de recuperacion. El disco D1 704 de diferenciacion se hace disponible para la gestion de replicacion para trasferencia a uno o mas servidores de recuperacion en el sitio 750 de recuperacion, como se representa mediante el disco D1 754 de diferenciacion replicado en el sitio 750 de recuperacion. Las actualizaciones en el disco virtual del sitio 700 primario desde este punto hacia adelante se capturan en el nuevo disco D2 706 de diferenciacion.
En una realizacion, la informacion almacenada en el disco D1 704 de diferenciacion se cambia a solo lectura, de manera que ya no puede modificarse por escrituras de datos. En su lugar, el nuevo disco D2 706 de diferenciacion esta configurado para escribirse y por lo tanto registrar cambios al disco virtual. La gestion de replicacion en el sitio 700 primario puede fusionar el disco D1 704 de diferenciacion de solo lectura en su disco padre, que es el disco 702 virtual base en este ejemplo. Un ejemplo de una fusion de este tipo se muestra en la Figura 7C, donde D1 704 se ha fusionado en el disco 702 virtual base para proporcionar el nuevo el nuevo disco 708 virtual fusionado.
Un fin para realizar una funcion de fusion es reducir el numero de enlaces que puede someterse una operacion de lectura para localizar datos almacenados en el disco virtual. Haciendo referencia ahora a la Figura 9, se describe un ejemplo de tal enlace. Se supone que se ha proporcionado una copia 901 de un disco 902 virtual base a los servidores 950 de recuperacion, como se representa mediante el disco 952 virtual base replicado. Un disco de diferenciacion recien creado (por ejemplo, el disco 904 de diferenciacion) incluira un puntero 906 o enlace a su disco padre que es tambien el disco del “extremo del arbol” anterior. En este ejemplo, el disco 904 de diferenciacion incluina un puntero 906 al disco 902 virtual base. Si se emitio una operacion 908 de lectura en los servidores 900 primarios para datos no encontrados en el nuevo disco 904 de diferenciacion, la operacion 908 de lectura puede obtener los datos en una localizacion mas atras en la cadena de discos que se especifica mediante el puntero 906, enlace u otro mecanismo de direccion analogo. En este ejemplo, la operacion 908 de lectura obtendna los datos desde el disco 902 de base, basandose en el puntero 906 en el disco 904 de diferenciacion, si el disco 904 de diferenciacion no tuviera datos asociados con la solicitud de lectura.
Se proporciona una copia 910 del disco 904 de diferenciacion a los servidores 950 de recuperacion, como se representa mediante el disco 954 de diferenciacion replicado. Cuando el disco 904 de diferenciacion esta protegido contra escritura y se copia 910 en los servidores 950 de recuperacion, se crea un nuevo disco 912 de diferenciacion para aceptar cambios al disco virtual, tal como por medio de operaciones 909 de escritura. El nuevo disco 912 de diferenciacion puede incluir un enlace o puntero 914 a su padre, que es el disco 904 de diferenciacion en este ejemplo. Una operacion 908 de lectura puede emitirse para datos que no se encuentran en el disco 912 de diferenciacion o en el disco 904 de diferenciacion, caso en el que se proporcionan los enlaces o punteros 914, 906 que apuntan de vuelta al disco 702 virtual base para localizar los datos direccionados.
Dependiendo del numero de discos de diferenciacion que se han preservado en un estado de solo lectura, podna haber numerosos enlaces para localizar datos tan atras como el disco 702 virtual base. Para reducir la tara asociad con tal enlazamiento, pueden fusionarse los discos de diferenciacion en los servidores 900 primarios que se han comprometido a solo lectura y transferirse a los servidores 950 de recuperacion con sus respectivos discos padres. Cualquier disco de diferenciacion deseado, hasta todos, que se hayan marcado como solo lectura o preservado de otra manera para replicacion y se hayan transferido pueden fusionarse. Como se describe mas completamente a continuacion, tal fusion puede implementarse tambien en el sitio 950 de recuperacion.
Volviendo ahora al ejemplo de las Figuras 7A-7F, la Figura 7C supone que la gestion de replicacion ha solicitado un segundo tipo de copia del disco virtual, denominado en este ejemplo como una copia consistente de aplicacion. Cuando el primer tipo de copia descrito en este ejemplo es una copia consistente de fallo que es una instantanea general de almacenamiento del sistema en ejecucion, una copia consistente de aplicacion en este ejemplo se refiere en general a una instantanea de almacenamiento del sistema de ejecucion que se ha preparado a sf misma para tener la instantanea tomada. Cuando el almacenamiento se prepara de esta forma, la instantanea es coherente en que facilita una alta probabilidad de reanimacion satisfactoria en el sitio 750 de replicacion. Una copia que no se ha preparado por sf misma para la instantanea a tomar (por ejemplo, copia consistente de fallo) puede no ser coherente tras la reanimacion. Por ejemplo, en el caso de una copia consistente de fallo, los metadatos del sistema de ficheros, los metadatos de base de datos y/u otra informacion puede no crearse en el disco.
5
10
15
20
25
30
35
40
45
50
55
60
En una realizacion, una copia preparada tal como una copia consistente de aplicacion puede hacerse en conexion con un modulo de gestion que informa al software en el sistema que se va a realizar una copia. Por ejemplo, el servicio de copia de instantaneas de volumen (VSS) incluye un procedimiento donde el software en ejecucion tal como bases de datos en el sistema pueden registrar opcionalmente una notificacion que informa que el software de una copia de almacenamiento inminente o instantanea, que proporciona el tiempo de software para proporcionar registros en una parte de la imagen de disco que se preserva.
Si la gestion de replicacion en el sitio 700 primario hace una solicitud para una copia preparada o “consistente de aplicacion” de este tipo, el VSS u otro modulo de gestion para el sistema operativo puede implicarse para generar la instantanea establecida. Cuando se crea la instantanea, el disco D2 706 de diferenciacion mostrado en la Figura 7C puede convertirse a solo lectura, y puede crearse otro disco D3 710 de diferenciacion de lectura/escritura nuevo para capturar ahora los datos que se escriben en el disco virtual. Con el disco D3 710 de diferenciacion ahora grabando los cambios en el disco virtual, el disco D2 706 de diferenciacion del “extremo del arbol” anterior se transfiere al sitio 750 de recuperacion como se representa mediante el disco D2 758 de diferenciacion replicado mostrado en la Figura 7D.
Con la transferencia de la copia consistente de aplicacion del disco D2 706 de diferenciacion al sitio 750 de recuperacion, puede tener lugar de nuevo una fusion en el sitio 700 primario. Esto se representa en la Figura 7D, donde el disco 708 virtual fusionado de la Figura 7C ahora incluye D2 para formar un nuevo disco 712 virtual fusionado. La gestion de replicacion en el sitio 750 de recuperacion hace notar que el disco de diferenciacion D2 758 replicado, que se ha recibido ahora desde el sitio 700 primario, es la ultima copia del disco desde el sitio 700 primario. Como la copia D2 758 es una copia consistente de aplicacion y se supone tambien que es consistente de fallo, sirve tanto como la copia consistente de aplicacion como una copia consistente de fallo del disco desde el sitio 700 primario.
La Figura 7D ilustra tambien la fusion de discos en el sitio 750 de recuperacion. La copia D1 754 consistente de fallo replicada y el disco 752 virtual base replicado se han fusionado en la Figura 7D para formar el disco 756 virtual replicado fusionado. A medida que las instantaneas del sitio 700 primario llegan en el sitio 750 de recuperacion, las instantaneas pueden compaginarse y hacerse disponibles para ejecuta. Fusionando y compaginando las instantaneas recibidas de esta manera, si tiene lugar un desastre cuando se depende de la operacion en el sitio 750 de recuperacion, pueden mitigarse o evitarse las latencias operacionales potenciales fusionando las seleccionadas (o hasta todas) de las copias recibidas en el sitio 750 de recuperacion. Por lo tanto, una realizacion implica fusionar y compaginar al menos algunas de las instantaneas u otras copias del disco virtual a medida que llegan, o al menos antes del momento que se soliciten los datos replicados para uso en el sitio 750 de recuperacion.
Las realizaciones incluyen tambien almacenar una o mas de las instantaneas u otras copias recibidas en el sitio 750 de recuperacion. Para invertir a una imagen de disco particular, esa imagen de disco puede grabarse para posibilitar operacion de recuperacion desde ese punto. En las realizaciones que emplean multiples tipos de instantaneas (por ejemplo, copia consistente de fallo, copia consistente de aplicacion, etc.), puede preservarse una o mas de cada tipo de instantanea u otra copia similar para posibilitar la recuperacion desde una deseada de los tipos de instantaneas. Por ejemplo, pueden proporcionarse copias consistentes de fallo en el sitio 750 de recuperacion mas regularmente que las copias consistentes de aplicacion, que pueden establecerse por polttica tal como lo descrito en relacion con la Figura 8. En una realizacion, se proporcionan las copias consistentes de aplicacion menos frecuentemente que las copias consistentes de fallo, que es debido a la preparacion y tiempo de procesamiento potencialmente mayores, y consecuente latencia, implicada en obtener una copia consistente de aplicacion. En el caso de desastres u otra solicitud de evento para operacion en el sitio 750 de recuperacion, los servidores de recuperacion pueden intentar comenzar la operacion desde una copia consistente de fallo o una copia consistente de aplicacion, dependiendo de muchos factores tal como el transcurso de tiempo relativo desde la copia replicada mas reciente de cada tipo, la urgencia en reestablecer la operacion en el sitio 750 de recuperacion, el punto de modificaciones de disco virtual entre los multiples tipos de instantaneas, etc.
La Figura 7E ilustra los arboles de almacenamiento virtual en el sitio 700 primario y el sitio 750 de recuperacion en respuesta a otra copia consistente de fallo que se solicita para transferir al sitio 750 de recuperacion. En este ejemplo, el disco D3 710 de diferenciacion (Figura 7D) se transfiere al sitio 750 de recuperacion como se muestra mediante el disco 760 de diferenciacion replicado en la Figura 7E. De nuevo, el disco D3 710 de diferenciacion en el sitio 700 primario puede fusionarse en el disco 712 virtual para crear un nuevo disco 714 de diferenciacion fusionado, y puede crearse otro nuevo disco D4 716 de diferenciacion de lectura/escritura para capturar cambios en el disco virtual.
En el sitio 750 de recuperacion, la copia 760 consistente de fallo recien recibida es ahora la copia mas reciente (extremo del arbol). En esta realizacion, la copia D2 758 consistente de aplicacion replicada y la copia D3 760 consistente a fallo replicada estan ambas disponibles como puntos de restauracion. Por ejemplo, suponiendo que un servidor primario en el sitio 700 primario falla o se vuelve no disponible de otra manera para realizar apropiadamente sus labores, y suponiendo que este fallo tiene lugar en un punto de tiempo que corresponde generalmente al representado en la Figura 7E. Puede invocarse una maquina virtual de recuperacion (o como alternativa maquina ffsica) en el sitio 750 de recuperacion usando, por ejemplo, la copia D3 760 consistente de aplicacion replicada recibida mas recientemente. Aunque la copia D3 760 consistente de aplicacion se recibio en el sitio 750 de
5
10
15
20
25
30
35
40
45
50
55
60
recuperacion anterior en el tiempo, es un tipo de copia que tiene una probabilidad superior de reanimar apropiadamente en el sitio 750 de recuperacion. Como se ha indicado anteriormente, esto es debido a este “tipo” de copia, que en este ejemplo implica notificar a aplicaciones/software en el sitio 700 primario de la instantanea inminente antes de que se tome la respectiva instantanea, posibilitando de esta manera que el software se prepare asf mismo para la instantanea.
Por lo tanto, en una realizacion, puede producirse una maquina virtual u otro sistema informatico en un sitio 750 de recuperacion usando uno de una pluralidad de discos de diferenciacion, instantaneas u otros estados disponibles del almacenamiento virtual replicado. En una realizacion, se crea un disco de diferenciacion como un hijo para el disco de diferenciacion particular a partir del cual se invoca la maquina virtual. En el ejemplo de la Figura 7F, se crea un disco 762 de diferenciacion con el disco D2 758 de diferenciacion consistente de aplicacion replicado como su padre. Este disco 762 de diferenciacion se hace la superficie a continuacion y los volumenes presentes en el disco se invierten a la instantanea consistente de aplicacion (por ejemplo, VSS) establecida asociada con D2 758.
Como ilustra la Figura 7F, mientras se preserva una lmea de discos de diferenciacion, es posible tener multiples discos de diferenciacion apuntando al mismo punto de solo lectura en el arbol. Por ejemplo, el disco D3 760 de diferenciacion consistente de fallo replicado apunta al disco D2 758 de diferenciacion consistente de aplicacion, como lo hace el disco 762 de diferenciacion que se creo en el sitio 750 de recuperacion. El disco d3 760 de diferenciacion y el disco 762 de diferenciacion representan por lo tanto dos futuros diferentes con relacion al estado del disco de diferenciacion D2 758 de solo lectura. Por ejemplo, un usuario podna elegir arrancar una maquina virtual en el sitio 750 de recuperacion usando el disco virtual que incluye el disco 762 de diferenciacion, el disco 758 de diferenciacion de solo lectura apuntado al disco 762 de diferenciacion, y el disco 756 fusionado apuntado mediante el disco D2 758 de diferenciacion.
Por lo tanto, en el ejemplo ilustrado, la seleccion automatica o manual de un primer disco virtual en el sitio 750 de recuperacion puede incluir el disco 756 de solo lectura (que incluye el disco virtual base y D1), el disco D2 758 de diferenciacion consistente de aplicacion de solo lectura y el disco D3 760 de diferenciacion consistente de fallo de lectura/escritura. Como alternativa, la seleccion automatica o manual de un segundo disco virtual puede incluir el disco 756 de solo lectura (que incluye el disco virtual base y D1), el disco D2 758 de diferenciacion consistente de aplicacion de solo lectura y el disco 762 de diferenciacion que se creo en el sitio 750 de recuperacion. Son posibles diferentes escenarios de recuperacion en vista de los diferentes “futuros” proporcionados tendiendo multiples discos de diferenciacion de lectura/escritura apuntando a un disco padre comun.
Una cualquiera o mas cadenas de discos virtuales disponibles pueden seleccionarse en el sitio 750 de recuperacion. Por ejemplo, un usuario puede elegir preservar el disco D3 760 consistente de fallo puesto que la maquina virtual no tuvo los datos deseados cuando se arranco usando el disco D2 758 consistente de aplicacion. En este caso, la maquina virtual puede ejecutarse usando el disco D3 760 consistente de fallo. Incluso si se reanima una maquina virtual de recuperacion usando el disco D2 758 consistente de aplicacion y se crea un nuevo disco 762 de diferenciacion que apunta de vuelta al momento consistente de aplicacion, el disco D3 760 consistente de fallo puede preservarse como otra posibilidad de cadena de reanimacion.
El disco 762 de diferenciacion podna crearse como alternativa desde un disco de diferenciacion diferente. Por ejemplo, si se ha de usar la ultima copia D3 760 consistente de fallo para recuperacion, entonces el disco 762 de diferenciacion podna crearse con la copia D3 760 consistente de fallo como el disco padre. En una realizacion, esto puede efectuarse teniendo un puntero u otro enlace almacenado en el disco 762 de diferenciacion que apunta o identifica de otra manera a D3 760 como su padre. Se representa un ejemplo en la Figura 9, donde el puntero 956 apunta a su disco 952 padre. El puntero 956 puede necesitar cambiarse desde su estado en los servidores 900 primarios, de modo que apunte a la imagen correcta en los servidores 950 de recuperacion. La decision de si el punto de restauracion en la Figura 7F ha de ser D2 758, D3 760, u otro punto de restauracion puede determinarse automaticamente basandose en configuraciones, o determinarse manualmente por un usuario.
Se describe ahora un ejemplo de la creacion y contenido representativo asociado con el disco 762 de diferenciacion en el sitio de recuperacion. En esta realizacion representativa, el disco 762 de diferenciacion en el sitio 750 de recuperacion esta vacfo tras su creacion. Puede configurarse para apuntar a su disco padre, que es D2 758 en este ejemplo. Cuando la maquina virtual (o ffsica) comienza la operacion, la informacion que puede necesitar que se escriba se escribira en el nuevo disco 762 de diferenciacion. Por ejemplo, el nuevo disco 762 de diferenciacion puede conectarse a una maquina virtual replicada en el sitio 750 de recuperacion que tiene las mismas o similares caractensticas que una maquina virtual primaria en el sitio 700 primario. Cuando se arranca esta maquina virtual replicada, puede considerar que sus discos virtuales pueden tanto leerse como escribirse. El nuevo disco 762 de diferenciacion puede escribirse, mientras la informacion puede leerse desde el nuevo disco 762 de diferenciacion, su padre, o ascendencia anterior dependiendo de donde resida la informacion.
Ademas del disco 762 de diferenciacion que sirve como el disco de lectura/escritura cuando el servidor o servidores de recuperacion asociados estan en operacion, el disco de diferenciacion puede almacenar tambien datos anteriores a un tiempo en el que se usara el almacenamiento replicado en el sitio 750 de recuperacion. Por ejemplo, el disco 762 de diferenciacion puede almacenar datos escritos en un disco de diferenciacion recibidos desde el sitio 750 primario, y que tuvieron lugar entre el tiempo en que se tomo la instantanea en el sitio 750 primario y el tiempo en
5
10
15
20
25
30
35
40
45
50
55
60
que se marco el disco de diferenciacion como solo lectura.
Como un ejemplo, suponiendo que un modulo de gestion de replicacion en el sitio 700 primario solicita la carga de trabajo de ejecucion de una maquina virtual para hacer una copia consistente de aplicacion del almacenamiento virtual u otra instantanea que implica la propia preparacion de software para la instantanea. En respuesta, el software de aplicacion puede intentar hacerse por sf mismo coherente para la instantanea, pero puede ser diffcil coordinar la instantanea que se esta tomando en el disco virtual con los “vaciados” de informacion que estan teniendo lugar en la aplicacion. Cuando parece que el software de aplicacion ha completado el vaciado de datos para almacenamiento, se toma la instantanea de disco virtual. Posteriormente, el disco de diferenciacion que se ha realizado instantanea se marca como solo lectura, y se crea un nuevo disco de diferenciacion. Entre el tiempo que se tomo la instantanea del disco virtual y el tiempo que se escribe el correspondiente disco de diferenciacion como solo lectura, una o mas escrituras de datos extraviadas pueden haber encontrado su camino en el disco de diferenciacion que fue el objeto de la instantanea. Por lo tanto, es posible que el disco de diferenciacion pueda no corresponder exactamente con la instantanea 758 del disco de diferenciacion que se transfirio al sitio 750 de recuperacion. En este caso, incluso sin haber fallado a traves del sitio 750 de recuperacion, el disco 758 de diferenciacion puede montarse como un disco virtual en vivo para localizar aquellas escrituras extraviadas, y devolver aquellas escrituras extraviadas del disco D2 758 de diferenciacion y en el disco 762 de diferenciacion creadas en el sitio 750 de recuperacion. De esta manera, si finalmente es necesaria una prevencion frente a fallos, esta tarea ya se ha manejado. Esta funcion de respaldar las escrituras extraviadas puede conseguirse usando la maquina virtual que se recuperana eventualmente, o podna hacerse como alternativa como parte de un servicio que monta la imagen de disco y la manipula para extraer las escrituras extraviadas.
El ejemplo de las Figuras 7A-7F representa acciones ejemplares tomadas en cada uno de los sitios primario y de recuperacion. La Figura 10 es un diagrama de flujo que ilustra caractensticas representativas desde la perspectiva de al menos un servidor primario en el sitio primario que ha de tener su almacenamiento virtual (u otro almacenamiento) replicado. Este ejemplo supone que se esta replicando el almacenamiento virtual, y que se hacen disponibles multiples tipos de copias del almacenamiento virtual.
En este ejemplo, se proporciona un disco virtual base en el sitio de recuperacion como se representa en el bloque 1000. Como se muestra en el bloque 1002, se crea un disco de diferenciacion u otra estructura de almacenamiento en el sitio primario para registrar cambios en el disco virtual. En este ejemplo, se proporciona algun numero “n” de diferentes tipos de instantaneas/copias, incluyendo la copia de tipo A, la copia de tipo B a la copia de tipo n. Cuando la gestion de replicacion u otro modulo de control de sitio primario solicita una copia del almacenamiento virtual segun se determina en el bloque 1004, puede especificar que tipo de copia se desea. La identificacion de un tipo de copia puede hacerse por un usuario mediante una interfaz de usuario, o configurarse en hardware o software tal como el que se solicita de conformidad con una polftica tal como la que se describe en relacion con la Figura 8, o de otra manera.
En este ejemplo, si la gestion de replicacion solicito una copia de tipo A segun se determina en el bloque 1006, se obtiene una instantanea u otra copia del disco de diferenciacion sin que el software se prepare a sf mismo para que tenga lugar la copia de almacenamiento virtual, como se muestra en el bloque 1012. Esto puede ser, por ejemplo, una instantanea de VSS u otra instantanea consistente de aplicacion. Si se solicita una copia de tipo B segun se determina en el bloque 1008, se obtiene una instantanea u otra copia del disco de diferenciacion donde tendra lugar al menos alguno del software preparado para la copia del almacenamiento virtual, como se muestra en el bloque 1014. Pueden definirse otros tipos de copias, en los cuales el tipo de copia puede determinarse en el bloque 1010, y como se muestra en el bloque 1016 la instantanea u otra copia puede obtenerse de acuerdo con las reglas para ese tipo de copia.
Cuando se ha obtenido la instantanea apropiada u otra copia, puede transferirse al sitio de recuperacion como se muestra en el bloque 1018. El bloque 1020 ilustra que el disco de diferenciacion que se copio en el sitio primario esta protegido contra escritura, y el bloque 1022 muestra que se creara un nuevo disco de diferenciacion para capturar cambios en el disco virtual. Al menos por las razones de reducir requisitos de capacidad de almacenamiento y reducir latencias al leer datos a traves de la cadena de discos, pueden fusionarse discos intermedios con su imagen de disco padre como se muestra en el bloque 1024.
Debena reconocerse que el orden particular de las caractensticas ilustradas en la Figura 10, y otros diagramas de flujo en la divulgacion, no debenan interpretarse como una limitacion de orden o secuencia. El orden particular de las operaciones representadas puede ser en muchos casos irrelevante, a menos que se describa de otra manera como relevante. Por ejemplo, la instantanea puede o puede no transferirse en el bloque 1018 antes de que se proteja disco de diferenciacion copiado contra escritura en el bloque 1020.
La Figura 11 es un diagrama de flujo que ilustra caractensticas representativas desde la perspectiva de al menos un servidor de recuperacion en el sitio de recuperacion que esta replicando una maquina o maquinas virtuales. Este ejemplo supone que se esta replicando almacenamiento virtual, y que se proporcionan multiples tipos de copia de los discos virtuales mediante el sitio primario. Como se muestra en el bloque 1100, el disco virtual base recibido como una replicacion del disco virtual del sitio primario se proporciona como la base de la cadena de discos virtuales en el sitio de recuperacion. Cuando se recibe una instantanea u otra copia desde el primario segun se determina en
5
10
15
20
25
30
35
40
45
50
55
60
el bloque 1102, el tipo de copia recibida se determina en el bloque 1104. La copia resultante del disco de diferenciacion en el sitio de recuperacion puede identificarse como el tipo de copia que es, tal como consistente de aplicacion, consistente de fallo, etc. El puntero u otro enlace en la copia recibida puede modificarse como se muestra en el bloque 1106, para provocar que el puntero apunte a su padre en el sitio de recuperacion. Si se desea, pueden fusionarse discos de diferenciacion intermedios en sus respectivos discos padre, como se muestra en el bloque 1110. Adicionalmente, el bloque 1108 muestra que puede crearse un disco de diferenciacion para apuntar a una copia deseada para devolver escrituras extraviadas, como se describio en relacion con la Figura 7f.
Si y cuando tiene lugar una prevencion frente a fallos en el servidor o servidores de recuperacion como se determina en el bloque 1112, puede facilitarse la seleccion de una copia almacenada como un punto de restauracion seleccionado como se muestra en el bloque 1114. Por ejemplo, facilitar la seleccion de una copia almacenada puede implicar proporcionar una interfaz de usuario para posibilitar a un administrador u otro usuario seleccionar que copia almacenada (y por lo tanto no fusionada) utilizara la maquina virtual replicada cuando se inicializa y ejecuta. Otras realizaciones pueden implicar la seleccion automatica de una copia particular basandose en criterios. Por ejemplo, los criterios pueden provocar automaticamente que la maquina virtual intente en primer lugar reanimacion desde una copia consistente de aplicacion, e intente despues de que esa reanimacion no fue suficientemente satisfactoria una copia diferente. En una realizacion representada en el bloque 1116, se crea un disco de diferenciacion, o se utiliza un disco de diferenciacion existente (por ejemplo, un disco de diferenciacion creado en el bloque 1108), para apuntar a la instantanea o copia seleccionada. Entre otras cosas, este disco de diferenciacion proporciona la capacidad de lectura/escritura al disco virtual replicado cuando esta operando la maquina virtual replicada.
En una realizacion, puede ejecutarse una prueba en la maquina virtual replicada. En este caso, la maquina virtual replicada continua recibiendo cambios en el disco virtual como anteriormente (por ejemplo, recibir copias de discos de diferenciacion de sitio primario), mientras que la maquina virtual de prueba se produce desde el punto del disco de diferenciacion creado. Por lo tanto, la replicacion puede continuarse mientras se ejecuta la prueba en la copia replicada de la maquina virtual sin hacer una copia de los discos duros virtuales de la maquina virtual replicada. Esto proporciona una manera para generar una copia de prueba de la maquina virtual replicada usando dos conjuntos de discos de diferenciacion que apuntan a los mismos discos duros virtuales padre. Las escrituras ejecutadas desde la maquina virtual de prueba se capturan en un conjunto de discos de diferenciacion, y estos discos pueden descartarse una vez que la prueba esta completa. Se recopilan copias de sincronizacion periodicas de discos de diferenciacion que llegan desde el servidor primario en el otro conjunto de discos de diferenciacion, y pueden fusionarse en el padre una vez que la prueba esta completa. Esta operacion se representa en la Figura 11. Si se ha de ejecutar una prueba segun se determina en el bloque 1112, se crea 1114 un disco de diferenciacion que apunta al punto de restauracion a probar, y la maquina virtual replicada puede arrancarse para ejecutar la prueba.
La Figura 12 representa un sistema 1200 informatico representativo en el que pueden implementarse los principios descritos en el presente documento. El entorno informatico descrito en relacion con la Figura 12 se describe para fines de ejemplo, ya que la divulgacion estructural y operacional para replicar almacenamiento o almacenamiento virtual es aplicable en cualquier entorno informatico. La disposicion informatica de la Figura 12 puede distribuirse, en algunas realizaciones, a traves de multiples dispositivos. Ademas, la descripcion de la Figura 12 puede representar un servidor u otro dispositivo informatico en cualquiera del sitio primario o de recuperacion.
El sistema 1200 informatico representativo incluye un procesador 1202 acoplado a numerosos modulos mediante un bus 1204 de sistema. El bus 1204 de sistema representado representa cualquier tipo de estructura o estructuras de bus que pueden estar directa o indirectamente acopladas a los diversos componentes y modulos del entorno informatico. Entre los diversos componentes estan dispositivos de almacenamiento, cualquiera de los cuales puede almacenar el objeto para la replicacion.
Puede proporcionarse una memoria de solo lectura (ROM) 1206 para almacenar firmware usado mediante los procesadores 1202. La ROM 1206 representa cualquier tipo de memoria de solo lectura, tal como ROM programable (PROM), PROM borrable (EPROM) o similares. El bus 1204 de anfitrion o de sistema puede acoplarse a un controlador 1214 de memoria, que a su vez esta acoplado a la memoria 1208 mediante un bus 1216 de memoria. La memoria 1208 ejemplar puede almacenar, por ejemplo, todo o porciones de un hipervisor 1210 u otro software de virtualizacion, un sistema 1218 operativo, y un modulo, tal como un modulo de gestion de replicacion (RMM) 1212 que realiza al menos aquellas funciones descritas en el presente documento. El RMM 1212 puede implementarse como parte de, por ejemplo, el hipervisor 1210 y/o el sistema 1218 operativo.
La memoria puede almacenar tambien programas 1220 de aplicacion y otros programas 1222, y datos 1224. Adicionalmente, todo o parte del almacenamiento 1226 virtual puede almacenarse en la memoria 1208. Sin embargo, debido al tamano potencial de los discos de almacenamiento virtual, una realizacion implica almacenar discos de almacenamiento virtual en dispositivo de almacenamiento frente a memoria, como se representa mediante el almacenamiento 1226B virtual asociado con uno cualquiera o mas de los dispositivos 1234, 1240, 1244, 1248 de almacenamiento representativos. El almacenamiento 1226A virtual en la memoria 1208 puede representar tambien cualquier parte del almacenamiento virtual que esta almacenado temporalmente en cache o almacenado de otra manera en memoria como una etapa intermedia a procesarse, transmitirse o almacenarse en un dispositivo o dispositivos 1234, 1240, 1244, 1248 de almacenamiento.
5
10
15
20
25
30
35
40
45
50
55
60
La Figura 12 ilustra diversos dispositivos de almacenamiento representativos en los que pueden almacenarse datos, y/o puede almacenarse almacenamiento virtual. Por ejemplo, el bus de sistema puede acoplarse a una interfaz 1230 de almacenamiento interno, que puede acoplarse a una unidad o unidades 1232 tal como un disco duro. El medio 1234 de almacenamiento esta asociado con o es operable de otra manera con las unidades. Ejemplos de tal almacenamiento incluyen discos duros y otro medio magnetico u optico, memoria flash y otros dispositivos de estado solido, etc. La interfaz 1230 de almacenamiento interno puede utilizar cualquier tipo de almacenamiento volatil o no volatil. Pueden almacenarse datos, incluyendo discos duros virtuales (por ejemplo, ficheros de VHD, ficheros de AVHD, etc.) en tal medio 1234 de almacenamiento.
De manera similar, puede acoplarse tambien una interfaz 1236 para medio extrafble al bus 1204. Las unidades 1238 pueden acoplarse a la interfaz 1236 de almacenamiento extrafble para aceptar y actuar en el almacenamiento 1240 extrafble como tal, por ejemplo, discos flexibles, discos opticos, tarjetas de memoria, memoria flash, discos duros externos, etc. Los ficheros de almacenamiento virtual y otros datos pueden almacenarse en tal almacenamiento 1240 extrafole.
En algunos casos, puede proporcionarse un adaptador 1242 de anfitrion para acceder al almacenamiento 1244 externo. Por ejemplo, el adaptador 1242 de anfitrion puede hacer de interfaz con dispositivos de almacenamiento externos mediante la interfaz de sistema para pequenos ordenadores (SCSI), Canal de Fibra (Fiber Channel), conexion de tecnologfa avanzada en serie (SATA) o eSATA, y/u otras interfaces analogas que puedan conectarse a un almacenamiento 1244 externo. Por medio de una interfaz 1246 de red, aun otro almacenamiento remoto puede ser accesible para el sistema 1200 informatico. Por ejemplo, transceptores cableados e inalambricos asociados con la interfaz 1246 de red posibilitan las comunicaciones con dispositivos 1248 de almacenamiento a traves de una o mas redes 1250. Los dispositivos 1248 de almacenamiento pueden representar dispositivos de almacenamiento discretos, o almacenamiento asociado con otro sistema informatico, servidor, etc. Las comunicaciones con dispositivos de almacenamiento remoto y sistemas pueden conseguirse mediante redes de area local cableadas (LAN), LAN inalambricas, y/o redes mayores incluyendo redes de area global (GAN) tales como internet. Pueden almacenarse ficheros de almacenamiento virtual y otros datos en tales dispositivos 1244, 1248 de almacenamiento externo.
Como se describe en el presente documento, los servidores primario y de recuperacion comunican informacion, tal como instantaneas u otras copias. Las comunicaciones entre los servidores pueden efectuarse mediante cableado directo, redes entre iguales, redes basadas en infraestructura local (por ejemplo, redes de area local cableadas y/o inalambricas), redes fuera del sitio tales como redes de area metropolitanas y otras redes de area extensa, redes de area global, etc. Un transmisor 1252 y receptor 1254 se representan en la Figura 12 para representar la capacidad estructural del dispositivo informatico para transmitir y/o recibir datos en cualquiera de estas u otras metodologfas de comunicacion. Los dispositivos transmisor 1252 y/o receptor 1254 pueden ser componentes independientes, pueden estar integrados como un transceptor o transceptores, pueden estar integrados o ya existir en otros dispositivos de comunicacion tales como la interfaz 1246 de red, etc. Cuando el sistema 1200 informatico representa un servidor u otro dispositivo informatico en el sitio primario, todo o parte del disco virtual u otros datos almacenados a replicarse pueden transmitirse mediante el transmisor 1252, ya sea un dispositivo independiente, integrado con un receptor 1254, integral a la interfaz 1246 de red, etc. Analogamente, cuando el sistema 1200 informatico representa un servidor u otro dispositivo informatico en el sitio de recuperacion, todo o parte del disco virtual u otros datos almacenados a replicarse pueden recibirse mediante el receptor 1254, ya sea un dispositivo independiente, integrado con un transmisor 1252, integral a la interfaz 1246 de red, etc. Ya que el sistema 1200 informatico puede representar un servidor o servidores en cualquiera del sitio primario o de recuperacion, el bloque 1256 representa el servidor o servidores primario o de recuperacion que estan comunicando con el sistema 1200 informatico que representa el otro del servidor o servidores primario o de recuperacion.
Como se ha demostrado en los ejemplos anteriores, las realizaciones descritas en el presente documento facilitan la recuperacion frente a desastres y otras caractensticas de replicacion. En diversas realizaciones, se describen procedimientos que pueden ejecutarse en un dispositivo informatico, tal como proporcionando modulos de software que son ejecutables mediante un procesador (que incluye un procesador ffsico y/o procesador logico, controlador, etc.). Los procedimientos pueden almacenarse tambien en medio legible por ordenador que puede accederse y leerse mediante el procesador y/o circuitena que prepara la informacion para procesar mediante el procesador. Tener instrucciones almacenadas en un medio legible por ordenador como se describe en el presente documento es distinguible de tener instrucciones propagadas o transmitidas, ya que la propagacion transfiere las instrucciones frente a almacena las instrucciones tal como puede tener lugar con un medio legible por ordenador que tiene instrucciones almacenadas en el mismo. Por lo tanto, a menos que se indique de otra manera, las referencias a medio legible por ordenador/medio que tiene instrucciones almacenadas en el mismo, en esta o una forma analoga, hacen referencia a medio tangible en el que pueden almacenarse o retenerse los datos.
Aunque se ha descrito la materia objeto en un lenguaje espedfico a caractensticas estructurales y/o actos metodologicos, se ha de entender que la materia objeto definida en las reivindicaciones adjuntas no esta necesariamente limitada a las caractensticas o actos espedficos anteriormente descritos. En su lugar, las caractensticas espedficas y actos anteriormente descritos se desvelan como formas representativas para implementar las reivindicaciones.

Claims (7)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    REIVINDICACIONES
    1. Un aparato que comprende:
    almacenamiento virtual replicado de una maquina virtual replicada, que incluye al menos un disco (752, 756) virtual base replicado que corresponde sustancialmente a un disco (702) virtual base primario a ser replicado; un receptor configurado para recibir una pluralidad de copias de discos (704, 706, 710) de diferenciacion, de una pluralidad de tipos de copias, cada disco (704, 706, 710) de diferenciacion enlazado en una estructura de arbol a un disco padre respectivo que se creo anterior al disco (704, 706, 710) de diferenciacion, siendo dicho disco padre respectivo un disco de diferenciacion padre o el disco (702) virtual base primario, en el que una primera de la pluralidad de tipos de copias comprende una copia consistente de fallo que es una instantanea general de un almacenamiento de un sistema en ejecucion, y una segunda de la pluralidad de tipos de copias comprende una copia consistente de aplicacion que es una instantanea de almacenamiento del sistema de ejecucion creada en respuesta a software de notificacion en el sistema de que una copia se ha de realizar; y
    un modulo de gestion de replicacion configurado para disponer las copias recibidas de los discos (704, 706, 710) de diferenciacion de la pluralidad de tipos de copias con relacion al disco (752, 756) virtual base replicado como se dispusieron los discos (704, 706, 710) de diferenciacion con relacion al disco (702) virtual base primario.
  2. 2. El aparato de la reivindicacion 1, en el que el modulo de gestion de replicacion esta configurado adicionalmente para almacenar una o mas de las copias recibidas de los discos (704, 706, 710) de diferenciacion como puntos de restauracion potenciales para iniciar la operacion de la maquina virtual replicada.
  3. 3. El aparato de la reivindicacion 2, que comprende adicionalmente crear un disco de diferenciacion de lectura- escritura como un disco hijo en una de las copias almacenadas de los discos (704, 706, 710) de diferenciacion para almacenar cambios en la maquina virtual replicada cuando se inicia.
  4. 4. El aparato de la reivindicacion 2, en el que el modulo de gestion de replicacion esta configurado adicionalmente para facilitar la iniciacion de la maquina virtual replicada desde un punto seleccionado de los puntos de restauracion potenciales y una o mas copias almacenadas seleccionadas de los discos (704, 706, 710) de diferenciacion que siguen secuencialmente el punto de restauracion seleccionado.
  5. 5. Un procedimiento implementado por ordenador en un almacenamiento virtual replicado de una maquina virtual replicada, que incluye al menos un disco (752, 756) virtual base replicado que corresponde sustancialmente a un disco (702) virtual base primario a ser replicado, comprendiendo dicho procedimiento:
    recibir una pluralidad de copias de discos (704, 706, 710) de diferenciacion de una pluralidad de tipos de copias, cada disco de diferenciacion enlazado a un respectivo disco padre que se creo anterior al disco (704, 706, 710) de diferenciacion, siendo dicho disco padre respectivo un disco de diferenciacion padre o un disco (702) virtual base primario, en el que un primer tipo de la pluralidad de tipos de copias comprende una copia consistente de fallo que es una instantanea general de almacenamiento de un sistema en ejecucion, y un segundo tipo de la pluralidad de tipos de copias comprende una copia consistente de aplicacion que es una instantanea de almacenamiento del sistema de ejecucion creada en respuesta a software de notificacion en el sistema de que una copia se ha de realizar; y
    disponer, en un modulo de gestion de replicacion, las copias recibidas de los discos (704, 706, 710) de diferenciacion de la pluralidad de tipos de copias con relacion al disco (752, 756) virtual base replicado como los discos (704, 706, 710) de diferenciacion que se dispusieron con relacion al disco (702) virtual base primario.
  6. 6. El procedimiento implementado por ordenador de la reivindicacion 5, que comprende adicionalmente obtener datos de software desde una o mas aplicaciones notificadas en respuesta a software de notificacion.
  7. 7. Medio legible por ordenador que tiene instrucciones almacenadas en el mismo que son ejecutables mediante un sistema informatico para realizar las etapas de una de las reivindicaciones anteriores 5 o 6.
ES12802797.6T 2011-06-20 2012-06-13 Gestión de almacenamiento virtual replicado en sitios de recuperación Active ES2600914T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201113163760 2011-06-20
US13/163,760 US9785523B2 (en) 2011-06-20 2011-06-20 Managing replicated virtual storage at recovery sites
PCT/US2012/042107 WO2012177445A2 (en) 2011-06-20 2012-06-13 Managing replicated virtual storage at recovery sites

Publications (1)

Publication Number Publication Date
ES2600914T3 true ES2600914T3 (es) 2017-02-13

Family

ID=47354688

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12802797.6T Active ES2600914T3 (es) 2011-06-20 2012-06-13 Gestión de almacenamiento virtual replicado en sitios de recuperación

Country Status (17)

Country Link
US (1) US9785523B2 (es)
EP (1) EP2721498B1 (es)
JP (1) JP6050342B2 (es)
KR (1) KR101983405B1 (es)
CN (1) CN103608786B (es)
AU (1) AU2012273366B2 (es)
BR (1) BR112013032923B1 (es)
CA (1) CA2839014C (es)
CL (1) CL2013003615A1 (es)
CO (1) CO6852032A2 (es)
ES (1) ES2600914T3 (es)
IL (1) IL230035A (es)
MX (1) MX348328B (es)
MY (1) MY173030A (es)
RU (1) RU2619894C2 (es)
WO (1) WO2012177445A2 (es)
ZA (1) ZA201308547B (es)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863605B2 (ja) * 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US9767274B2 (en) * 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US9037901B2 (en) * 2011-08-19 2015-05-19 International Business Machines Corporation Data set autorecovery
US9372910B2 (en) 2012-01-04 2016-06-21 International Business Machines Corporation Managing remote data replication
US8990815B1 (en) * 2012-02-01 2015-03-24 Symantec Corporation Synchronizing allocated blocks of virtual disk files across primary and secondary volumes by excluding unused blocks
US9104331B2 (en) 2012-09-28 2015-08-11 Emc Corporation System and method for incremental virtual machine backup using storage system functionality
US9110604B2 (en) 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
US8966318B1 (en) * 2012-04-27 2015-02-24 Symantec Corporation Method to validate availability of applications within a backup image
US8850146B1 (en) * 2012-07-27 2014-09-30 Symantec Corporation Backup of a virtual machine configured to perform I/O operations bypassing a hypervisor
US10248619B1 (en) * 2012-09-28 2019-04-02 EMC IP Holding Company LLC Restoring a virtual machine from a copy of a datastore
US20140181044A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to identify uncharacterized and unprotected virtual machines
US10162873B2 (en) * 2012-12-21 2018-12-25 Red Hat, Inc. Synchronization of physical disks
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US20140201151A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods to select files for restoration from block-level backup for virtual machines
US9286110B2 (en) 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
KR101544899B1 (ko) * 2013-02-14 2015-08-17 주식회사 케이티 가상화 환경 백업 시스템 및 그 방법
US9842053B2 (en) * 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9430255B1 (en) * 2013-03-15 2016-08-30 Google Inc. Updating virtual machine generated metadata to a distribution service for sharing and backup
US9582297B2 (en) 2013-05-16 2017-02-28 Vmware, Inc. Policy-based data placement in a virtualized computing environment
US9424056B1 (en) * 2013-06-28 2016-08-23 Emc Corporation Cross site recovery of a VM
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
US9760448B1 (en) * 2013-08-23 2017-09-12 Acronis International Gmbh Hot recovery of virtual machines
US20150067678A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus for isolating virtual machine instances in the real time event stream from a tenant data center
US20150066860A1 (en) * 2013-08-27 2015-03-05 Connectloud, Inc. Method and apparatus for utilizing virtual machine instance information from a database for software defined cloud recovery
US20150067679A1 (en) * 2013-08-28 2015-03-05 Connectloud, Inc. Method and apparatus for software defined cloud workflow recovery
US20150074536A1 (en) 2013-09-12 2015-03-12 Commvault Systems, Inc. File manager integration with virtualization in an information management system, including user control and storage management of virtual machines
US10042579B1 (en) * 2013-09-24 2018-08-07 EMC IP Holding Company LLC Crash consistent snapshot
US9465855B2 (en) 2013-10-22 2016-10-11 International Business Machines Corporation Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services
US9882980B2 (en) * 2013-10-22 2018-01-30 International Business Machines Corporation Managing continuous priority workload availability and general workload availability between sites at unlimited distances for products and services
US9389970B2 (en) * 2013-11-01 2016-07-12 International Business Machines Corporation Selected virtual machine replication and virtual machine restart techniques
US9286366B2 (en) 2013-12-02 2016-03-15 International Business Machines Corporation Time-delayed replication for data archives
US9304871B2 (en) 2013-12-02 2016-04-05 International Business Machines Corporation Flash copy for disaster recovery (DR) testing
US9262290B2 (en) 2013-12-02 2016-02-16 International Business Machines Corporation Flash copy for disaster recovery (DR) testing
US20150154042A1 (en) * 2013-12-04 2015-06-04 Hitachi, Ltd. Computer system and control method for virtual machine
US9436489B2 (en) 2013-12-20 2016-09-06 Red Hat Israel, Ltd. Virtual machine data replication with shared resources
US10146634B1 (en) * 2014-03-31 2018-12-04 EMC IP Holding Company LLC Image restore from incremental backup
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US10542049B2 (en) 2014-05-09 2020-01-21 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9606873B2 (en) 2014-05-13 2017-03-28 International Business Machines Corporation Apparatus, system and method for temporary copy policy
US9619342B2 (en) 2014-06-24 2017-04-11 International Business Machines Corporation Back up and recovery in virtual machine environments
CN105446826A (zh) * 2014-06-30 2016-03-30 国际商业机器公司 虚拟机备份、恢复的方法及设备
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9639340B2 (en) 2014-07-24 2017-05-02 Google Inc. System and method of loading virtual machines
US10140303B1 (en) * 2014-08-22 2018-11-27 Nexgen Storage, Inc. Application aware snapshots
US10296320B2 (en) * 2014-09-10 2019-05-21 International Business Machines Corporation Patching systems and applications in a virtualized environment
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9436555B2 (en) * 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9836476B2 (en) * 2014-09-25 2017-12-05 Netapp, Inc. Synchronizing configuration of partner objects across distributed storage systems using transformations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US10120594B1 (en) * 2014-11-25 2018-11-06 Scale Computing Inc Remote access latency in a reliable distributed computing system
US9928092B1 (en) * 2014-11-25 2018-03-27 Scale Computing Resource management in a virtual machine cluster
JP6299640B2 (ja) * 2015-03-23 2018-03-28 横河電機株式会社 通信装置
US10645164B1 (en) * 2015-10-27 2020-05-05 Pavilion Data Systems, Inc. Consistent latency for solid state drives
US10095506B2 (en) 2016-02-12 2018-10-09 Nutanix, Inc. Virtualized file server data sharing
JP6458752B2 (ja) * 2016-03-04 2019-01-30 日本電気株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法、および、プログラム
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
CN106445730B (zh) 2016-07-22 2019-12-03 平安科技(深圳)有限公司 一种提高虚拟机性能的方法和终端
US10521453B1 (en) * 2016-09-07 2019-12-31 United Services Automobile Association (Usaa) Selective DNS synchronization
CN106569872A (zh) * 2016-09-28 2017-04-19 浪潮电子信息产业股份有限公司 一种缩短虚拟机快照链的方法
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11294777B2 (en) * 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US10318166B1 (en) * 2016-12-28 2019-06-11 EMC IP Holding Company LLC Preserving locality of storage accesses by virtual machine copies in hyper-converged infrastructure appliances
US20180276022A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Consistent virtual machine replication
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
CN108733509B (zh) * 2017-04-17 2021-12-10 伊姆西Ip控股有限责任公司 用于在集群系统中备份和恢复数据的方法和系统
US10469518B1 (en) * 2017-07-26 2019-11-05 EMC IP Holding Company LLC Method and system for implementing cyber security as a service
US10581897B1 (en) 2017-07-26 2020-03-03 EMC IP Holding Company LLC Method and system for implementing threat intelligence as a service
US10621046B2 (en) 2017-12-08 2020-04-14 Rubrik, Inc. Blobstore system for the management of large data objects
WO2019112955A1 (en) * 2017-12-08 2019-06-13 Rubrik, Inc. Sharding of full and incremental snapshots
US11132331B2 (en) 2017-12-12 2021-09-28 Rubrik, Inc. Sharding of full and incremental snapshots
US10949306B2 (en) * 2018-01-17 2021-03-16 Arista Networks, Inc. System and method of a cloud service provider virtual machine recovery
US10789135B2 (en) * 2018-02-07 2020-09-29 Microsoft Technology Licensing, Llc Protection of infrastructure-as-a-service workloads in public cloud
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11126504B2 (en) * 2018-07-10 2021-09-21 EMC IP Holding Company LLC System and method for dynamic configuration of backup agents
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10884820B1 (en) * 2018-08-31 2021-01-05 Veritas Technologies Llc Intelligent and automatic replication load score based load balancing and resiliency of replication appliances
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US10969986B2 (en) 2018-11-02 2021-04-06 EMC IP Holding Company LLC Data storage system with storage container pairing for remote replication
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
JP6759317B2 (ja) * 2018-12-13 2020-09-23 株式会社日立製作所 コンテナ提供支援システムおよびコンテナ提供支援方法
US10809935B2 (en) * 2018-12-17 2020-10-20 Vmware, Inc. System and method for migrating tree structures with virtual disks between computing environments
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
CN111966526A (zh) * 2019-05-20 2020-11-20 中兴通讯股份有限公司 一种基于云平台数据中心的虚拟机备份方法及装置
US11429418B2 (en) 2019-07-31 2022-08-30 Rubrik, Inc. Asynchronous input and output for snapshots of virtual machines
US11429417B2 (en) * 2019-07-31 2022-08-30 Rubrik, Inc. Asynchronous input and output for snapshots of virtual machines
US11853276B2 (en) * 2020-01-07 2023-12-26 Nirvaha Corporation Incrementally updated database server database images and database cloning, using windows virtual hard drives and database server backups
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11875169B2 (en) * 2020-07-21 2024-01-16 Google Llc Optimizing replication-based migration of virtual machines
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11436097B1 (en) 2021-03-31 2022-09-06 Nutanix, Inc. Technique for efficient data failover in a multi-site data replication environment
CN114218014B (zh) * 2021-12-21 2022-07-19 中科豪联(杭州)技术有限公司 基于存储卷级的虚拟服务器备份及还原方法
WO2023141220A1 (en) * 2022-01-20 2023-07-27 Pure Storage, Inc. Containers as volumes in a container-aware storage system
WO2023212228A1 (en) * 2022-04-29 2023-11-02 Pure Storage, Inc. Container recovery layer prioritization

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US7143307B1 (en) 2002-03-15 2006-11-28 Network Appliance, Inc. Remote disaster recovery and data migration using virtual appliance migration
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7840963B2 (en) 2004-10-15 2010-11-23 Microsoft Corporation Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption
US7899788B2 (en) 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US20070208918A1 (en) 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
US8321377B2 (en) 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US7613750B2 (en) * 2006-05-29 2009-11-03 Microsoft Corporation Creating frequent application-consistent backups efficiently
US8407518B2 (en) 2007-10-26 2013-03-26 Vmware, Inc. Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US8364643B2 (en) 2007-12-04 2013-01-29 Red Hat Israel, Ltd. Method and system thereof for restoring virtual desktops
JP2009146169A (ja) 2007-12-14 2009-07-02 Fujitsu Ltd ストレージシステム、ストレージ装置、データバックアップ方法
US8117410B2 (en) 2008-08-25 2012-02-14 Vmware, Inc. Tracking block-level changes using snapshots
US8499297B2 (en) * 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US8954645B2 (en) * 2011-01-25 2015-02-10 International Business Machines Corporation Storage writes in a mirrored virtual machine system

Also Published As

Publication number Publication date
BR112013032923A2 (pt) 2017-01-24
AU2012273366B2 (en) 2016-12-08
US20120324183A1 (en) 2012-12-20
MY173030A (en) 2019-12-19
CN103608786A (zh) 2014-02-26
EP2721498A2 (en) 2014-04-23
WO2012177445A2 (en) 2012-12-27
RU2013156675A (ru) 2015-06-27
BR112013032923B1 (pt) 2021-08-24
EP2721498B1 (en) 2016-08-03
JP2014520344A (ja) 2014-08-21
MX2013015361A (es) 2014-02-11
KR101983405B1 (ko) 2019-05-29
MX348328B (es) 2017-06-07
CA2839014A1 (en) 2012-12-27
JP6050342B2 (ja) 2016-12-21
EP2721498A4 (en) 2015-03-25
CO6852032A2 (es) 2014-01-30
WO2012177445A3 (en) 2013-03-21
KR20140035417A (ko) 2014-03-21
RU2619894C2 (ru) 2017-05-19
CL2013003615A1 (es) 2014-08-08
IL230035A (en) 2017-05-29
NZ714756A (en) 2016-09-30
NZ619304A (en) 2015-12-24
CN103608786B (zh) 2017-01-18
US9785523B2 (en) 2017-10-10
ZA201308547B (en) 2015-02-25
CA2839014C (en) 2019-01-15

Similar Documents

Publication Publication Date Title
ES2600914T3 (es) Gestión de almacenamiento virtual replicado en sitios de recuperación
AU2012273366A1 (en) Managing replicated virtual storage at recovery sites
US8689047B2 (en) Virtual disk replication using log files
ES2881606T3 (es) Sistema de ficheros geográficamente distribuido que usa replicación de espacio de nombres coordinada
ES2582364T3 (es) Sistemas y métodos para realizar replicación de datos
TW454120B (en) Flexible remote data mirroring
US11099953B2 (en) Automatic data healing using a storage controller
US9619350B1 (en) Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage
US7359927B1 (en) Method for performing periodic replication of data on a remote storage system
US11182081B2 (en) Performing a recovery copy command to restore a safeguarded copy backup to a production volume
US11226746B2 (en) Automatic data healing by I/O
US9703655B1 (en) Recovery after data loss in a reliable distributed computing system
US11354268B2 (en) Optimizing snapshot creation
US10275324B2 (en) Replication with multiple consistency groups per volume
US11468091B2 (en) Maintaining consistency of asynchronous replication
US11698884B2 (en) File level incremental continuous data protection
US20220012138A1 (en) Snapshots without suspending writes
NZ714756B2 (en) Managing replicated virtual storage at recovery sites
NZ619304B2 (en) Managing replicated virtual storage at recovery sites
JP5704331B2 (ja) バックアップ管理装置、バックアップ方法、及びプログラム