ES2921209T3 - Método de réplica de datos y sistema de almacenamiento - Google Patents

Método de réplica de datos y sistema de almacenamiento Download PDF

Info

Publication number
ES2921209T3
ES2921209T3 ES19188527T ES19188527T ES2921209T3 ES 2921209 T3 ES2921209 T3 ES 2921209T3 ES 19188527 T ES19188527 T ES 19188527T ES 19188527 T ES19188527 T ES 19188527T ES 2921209 T3 ES2921209 T3 ES 2921209T3
Authority
ES
Spain
Prior art keywords
storage device
data
replication
storage
storage system
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
ES19188527T
Other languages
English (en)
Inventor
Yijia Chen
Ji Ouyang
Peijun Jiang
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2921209T3 publication Critical patent/ES2921209T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • 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/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

Las realizaciones de la presente invención proporcionan un método de replicación de datos y un sistema de almacenamiento. El método se aplica a un sistema de almacenamiento que incluye al menos un primer dispositivo de almacenamiento y un segundo dispositivo de almacenamiento. El método incluye: determinar, mediante un primer sistema de almacenamiento, información de replicación, donde la información de replicación se utiliza para indicar datos que deben ser replicados por el primer sistema de almacenamiento a un segundo sistema de almacenamiento en una tarea de replicación actual; Determinar, por el primer sistema de almacenamiento, la primera sub-información de replicación y la segunda sub-información de replicación de acuerdo con la información de replicación; Replicando, mediante el primer dispositivo de almacenamiento al segundo sistema de almacenamiento de acuerdo con la primera sub-información de replicación, los datos que deben ser replicados por el primer dispositivo de almacenamiento al segundo sistema de almacenamiento; y replicando, por el segundo dispositivo de almacenamiento al segundo sistema de almacenamiento de acuerdo con la segunda sub-información de replicación, los datos que deben ser replicados por el segundo dispositivo de almacenamiento al segundo sistema de almacenamiento. Según el método de replicación de datos, se puede mejorar la eficiencia de la replicación entre el primer sistema de almacenamiento y el segundo sistema de almacenamiento. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método de réplica de datos y sistema de almacenamiento
Campo técnico
La presente invención se refiere al campo de las tecnologías de almacenamiento, y en particular, a un método de réplica de datos y a un sistema de almacenamiento.
Antecedentes
Para proteger la seguridad de los datos, y con un objetivo de recuperación de catástrofes (recuperación de catástrofes), los proveedores de almacenamiento establecen un centro remoto de recuperación de catástrofes con el fin de implementar una copia de seguridad remota de datos, de modo que se garantice que los datos originales no se pierden o dañan después de que se produzca una catástrofe (tal como un incendio y un terremoto), y para garantizar que se reanuda un servicio básico dentro de un intervalo temporal razonable, lo que reduce de ese modo, en la medida que sea posible, la pérdida provocada por la catástrofe.
Los sistemas actuales de recuperación de catástrofes incluyen principalmente: un sistema de recuperación de catástrofes de 2 centros y un sistema de recuperación de catástrofes de 3 centros (3 centros de datos, 3DC). En el sistema de recuperación de catástrofes de 2 centros, la recuperación de catástrofes se implementa mediante el establecimiento de dos centros de datos, donde un centro de datos activo se utiliza para asumir un servicio de un usuario, y un centro de datos de reserva se utiliza para realizar una copia de seguridad de los datos, una configuración, un servicio y similares del centro de datos activo. Cuando se produce una catástrofe en el centro de datos activo, el centro de datos de reserva puede asumir el servicio del centro de datos activo. En el sistema de recuperación de catástrofes 3DC, la recuperación de la catástrofe se implementa mediante la utilización de sistemas de almacenamiento instalados en los tres centros de datos. En general, en el sistema de recuperación de catástrofes 3DC, los tres centros de datos se pueden denominar respectivamente como un emplazamiento de producción, un emplazamiento de nivel 1 y un emplazamiento de nivel 2. En general, el emplazamiento de nivel 1 y el emplazamiento de nivel 2 son emplazamientos de recuperación de desastres, el emplazamiento de producción y el emplazamiento de nivel 1 pueden estar situados en dos ubicaciones diferentes en la misma ciudad, y el emplazamiento de nivel 2 y el emplazamiento de producción están situados en ciudades diferentes. En un sistema de recuperación de catástrofes 3DC existente, la recuperación de catástrofes se implementa en general entre los tres centros de datos mediante la utilización de una tecnología de réplica sincrónica remota y una tecnología de réplica asincrónica remota. Debido a que la fiabilidad y escalabilidad del sistema de recuperación de catástrofes 3DC son relativamente buenas, el alcance de aplicación del sistema de recuperación de catástrofes 3DC es amplio.
No obstante, en el sistema redundante 3DC existente, cuando es necesario replicar los datos en un emplazamiento de nivel 2, en general, un emplazamiento de producción o un emplazamiento de nivel 1 replica los datos al emplazamiento de nivel 2; por lo tanto, la eficiencia de réplica de datos no es elevada.
El documento US 2004/230756 se refiere a una arquitectura de tres centros de datos que comprende un primer y segundo sistema de almacenamiento de datos, y un sistema de almacenamiento de datos remoto.
El documento EP 1632843 A se refiere a un sistema de procesamiento de datos y a su método de procesamiento de copias. El documento describe una técnica de procesamiento de copias en un sistema de procesamiento de datos, que de manera simultánea puede lograr una comunicación a larga distancia y sin pérdida de datos cuando tiene lugar una catástrofe.
El documento CN 101809558 A se refiere a un método de réplica de datos asincrónica entre pares implementada dentro de una agrupación de réplica que comprende al menos un nodo maestro y al menos un primer nodo cliente, que incluye introducir una actualización en un volumen de datos del nodo maestro y almacenar la actualización en un almacenamiento del nodo maestro. El documento US 2003/126388 A se refiere a un método y un aparato para gestionar el almacenamiento en base a una réplica. Dichas realizaciones específicas proporcionan la capacidad de realizar múltiples copias remotas de la información sin la necesidad de copiar la información para cada par, por ejemplo. Se pueden crear uno o más pares de duplicación remota para recuperación de catástrofes, pruebas u otros fines.
Compendio
Un método de réplica de datos y un sistema de almacenamiento proporcionados por las realizaciones de la presente invención pueden mejorar la eficiencia de la réplica. La invención se define en las reivindicaciones independientes adjuntas, mientras que las realizaciones preferidas de la invención se definen en las reivindicaciones dependientes adjuntas; los ejemplos adicionales denominados realizaciones o aspectos en la descripción son ejemplos ilustrativos, no realizaciones reivindicadas en la presente solicitud.
De acuerdo con un primer aspecto, una realización de la presente invención proporciona un método de réplica de datos, donde el método se aplica a un sistema de almacenamiento que incluye al menos un primer dispositivo de almacenamiento y un segundo dispositivo de almacenamiento, y el método incluye:
determinar, mediante un primer sistema de almacenamiento, la información de réplica, donde la información de réplica se utiliza para indicar los datos del primer sistema de almacenamiento que es necesario replicar en un segundo sistema de almacenamiento en una tarea de réplica en curso, donde el primer dispositivo de almacenamiento y el segundo dispositivo de almacenamiento, que están en el primer sistema de almacenamiento, almacenan los mismos datos, y el primer sistema de almacenamiento y el segundo sistema de almacenamiento implementan una copia de seguridad de datos mediante la utilización de una tecnología de réplica asincrónica;
determinar, mediante el primer sistema de almacenamiento, la primera información secundaria de réplica y la segunda información secundaria de réplica de acuerdo con la información de réplica, donde la primera información secundaria de réplica se utiliza para indicar los datos del primer dispositivo de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento en la tarea de réplica en curso, la segunda información secundaria de réplica se utiliza para indicar los datos del segundo dispositivo de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento en la tarea de réplica en curso, y los datos indicados por la primera información secundaria de réplica son diferentes de los datos indicados por la segunda información secundaria de réplica;
replicar, del primer dispositivo de almacenamiento al segundo sistema de almacenamiento, de acuerdo con la primera información secundaria de réplica, los datos del primer dispositivo de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento; y
replicar, del segundo dispositivo de almacenamiento al segundo sistema de almacenamiento, de acuerdo con la segunda información secundaria de réplica, los datos del segundo dispositivo de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento.
En una primera manera de implementación posible del primer aspecto, la réplica, del primer dispositivo de almacenamiento al segundo sistema de almacenamiento de acuerdo con la primera información secundaria de réplica, de los datos del primer dispositivo de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento incluye:
replicar, del primer dispositivo de almacenamiento a un volumen de datos de destino en el segundo sistema de almacenamiento, de acuerdo con la primera información secundaria de réplica, los datos del primer dispositivo de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento y que se almacenan en un primer volumen de datos de origen; y
replicar, del segundo dispositivo de almacenamiento al volumen de datos de destino en el segundo sistema de almacenamiento, de acuerdo con la segunda información secundaria de réplica, los datos del segundo dispositivo de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento y que se almacenan en un segundo volumen de datos de origen, donde
los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen.
Haciendo referencia a la primera manera de implementación posible del primer aspecto, en una segunda manera de implementación posible del primer aspecto, la determinación, mediante un primer sistema de almacenamiento, de la información de réplica incluye:
enviar, mediante el primer dispositivo de almacenamiento, un mensaje de inicio de la tarea de réplica al segundo dispositivo de almacenamiento, donde el mensaje de inicio de la tarea de réplica contiene un identificador del primer volumen de datos de origen y un identificador del volumen de datos de destino;
determinar, mediante el segundo dispositivo de almacenamiento, el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento de acuerdo con el identificador del primer volumen de datos de origen, el identificador del volumen de datos de destino y una relación de réplica preestablecida, donde la relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el segundo volumen de datos de origen y el volumen de datos de destino;
determinar, mediante el segundo dispositivo de almacenamiento, la información de réplica de acuerdo con los datos almacenados en el segundo volumen de datos de origen determinado; y
determinar, mediante el primer dispositivo de almacenamiento, la información de réplica de acuerdo con los datos almacenados en el primer volumen de datos de origen.
Haciendo referencia a la primera manera de implementación posible del primer aspecto, en una tercera manera de implementación posible, la determinación, mediante un primer sistema de almacenamiento, de la información de réplica incluye:
determinar, mediante el primer dispositivo de almacenamiento en el primer sistema de almacenamiento, la información de réplica de acuerdo con los datos almacenados en el primer volumen de datos de origen;
enviar, mediante el primer dispositivo de almacenamiento, un mensaje de inicio de la tarea de réplica al segundo dispositivo de almacenamiento, donde el mensaje de inicio de la tarea de réplica contiene un identificador del primer volumen de datos de origen, un identificador del volumen de datos de destino y la información de réplica; y
determinar, mediante el segundo dispositivo de almacenamiento, de acuerdo con el identificador del primer volumen de datos de origen, el identificador del volumen de datos de destino y una relación de réplica preestablecida, correspondiéndose el segundo volumen de datos de origen con la información de réplica, donde la relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el volumen de datos de destino y el segundo volumen de datos de origen.
Haciendo referencia al primer aspecto o a cualquiera de la primera a tercera manera de implementación posible del primer aspecto, en una cuarta manera de implementación posible, la determinación, mediante el sistema, de la primera información secundaria de réplica y la segunda información secundaria de réplica de acuerdo con la información de réplica incluye: determinar, mediante el primer dispositivo de almacenamiento, la primera información secundaria de réplica de acuerdo con la información de réplica y con una política de réplica preestablecida; y determinar, mediante el segundo dispositivo de almacenamiento, la segunda información secundaria de réplica de acuerdo con la información de réplica y con la política de réplica.
Haciendo referencia al primer aspecto o a cualquiera de la primera a cuarta manera de implementación posible del primer aspecto, en una quinta manera de implementación posible, la determinación, mediante el primer sistema de almacenamiento, de la primera información secundaria de réplica y la segunda información secundaria de réplica de acuerdo con la información de réplica incluye: recibir, en el primer dispositivo de almacenamiento, una demanda de negociación de la réplica del segundo dispositivo de almacenamiento, donde la demanda de negociación de réplica incluye, al menos, la información de ancho de banda de un enlace entre el segundo dispositivo de almacenamiento y el segundo sistema de almacenamiento; determinar, mediante el primer dispositivo de almacenamiento, la primera información secundaria de réplica y la segunda información secundaria de réplica de acuerdo con la información del ancho de banda del enlace; y enviar, mediante el primer dispositivo de almacenamiento, la segunda información secundaria de réplica al segundo dispositivo de almacenamiento.
Haciendo referencia al primer aspecto o a cualquiera de la primera a quinta manera de implementación posible del primer aspecto, en una sexta manera de implementación posible, la información de réplica consta de la primera información secundaria de réplica y la segunda información secundaria de réplica, y el método incluye además: en un proceso de ejecución de la tarea de réplica en curso, generar, mediante el primer dispositivo de almacenamiento, la primera información de progreso de la réplica de acuerdo con los datos que se han replicado; enviar, mediante el primer dispositivo de almacenamiento, la primera información de progreso de la réplica al segundo dispositivo de almacenamiento; cuando el primer dispositivo de almacenamiento falla, determinar, mediante el segundo dispositivo de almacenamiento, de acuerdo con la primera información de progreso de la réplica, la segunda información secundaria de réplica y la información de réplica, los datos que no se han replicado del primer dispositivo de almacenamiento; y replicar, del segundo dispositivo de almacenamiento al segundo sistema de almacenamiento, los datos que no se han replicado del primer dispositivo de almacenamiento.
De acuerdo con un segundo aspecto, una realización de la presente invención proporciona un método de réplica de datos, donde el método se aplica a un sistema de almacenamiento e incluye:
recibir, en un segundo sistema de almacenamiento, la información de réplica enviada por un primer sistema de almacenamiento, donde la información de réplica se utiliza para indicar los datos del primer sistema de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento en una tarea de réplica en curso, donde el primer sistema de almacenamiento incluye al menos un primer dispositivo de almacenamiento y un segundo dispositivo de almacenamiento, donde el primer dispositivo de almacenamiento y el segundo dispositivo de almacenamiento almacenan los mismos datos, y el primer sistema de almacenamiento y el segundo sistema de almacenamiento implementan una copia de seguridad de datos mediante la utilización de una tecnología de réplica asincrónica;
enviar, mediante el segundo sistema de almacenamiento, una primera demanda de adquisición al primer dispositivo de almacenamiento de acuerdo con la información de réplica, donde la primera demanda de adquisición incluye información sobre los datos que el segundo sistema de almacenamiento es necesario que adquiera del primer dispositivo de almacenamiento en la tarea de réplica en curso;
enviar, mediante el segundo sistema de almacenamiento, una segunda demanda de adquisición al segundo dispositivo de almacenamiento de acuerdo con la información de réplica, donde la segunda demanda de adquisición incluye información sobre los datos que el segundo sistema de almacenamiento es necesario que adquiera del segundo dispositivo de almacenamiento en la tarea de réplica en curso, y los datos solicitados al utilizar la primera demanda de adquisición son diferentes de los datos solicitados al utilizar la segunda demanda de adquisición;
recibir, en el segundo sistema de almacenamiento, los datos que envía el primer dispositivo de almacenamiento de acuerdo con la primera demanda de adquisición; y
recibir, en el segundo sistema de almacenamiento, los datos que envía el segundo dispositivo de almacenamiento de acuerdo con la segunda demanda de adquisición.
En una primera manera de implementación posible del segundo aspecto, la información sobre los datos solicitados, que está incluida en la primera demanda de adquisición, incluye al menos un identificador de un primer volumen de datos de origen en el primer dispositivo de almacenamiento y una dirección de los datos solicitados al utilizar la primera demanda de adquisición; y
la información sobre los datos solicitados, que está incluida en la segunda demanda de adquisición, incluye al menos un identificador de un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento y una dirección de los datos solicitados al utilizar la segunda demanda de adquisición, donde
tanto el primer volumen de datos de origen y el segundo volumen de datos de origen almacenan los datos del primer sistema de almacenamiento que es necesario replicar en el segundo sistema de almacenamiento en la tarea de réplica en curso, y los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen.
Haciendo referencia a la primera manera de implementación posible del segundo aspecto, en una segunda manera de implementación posible del segundo aspecto, la recepción, en un segundo sistema de almacenamiento, de la información de réplica enviada por un primer sistema de almacenamiento incluye:
recibir, en el segundo sistema de almacenamiento, un mensaje de inicio de la tarea de réplica enviado por el primer sistema de almacenamiento, donde el mensaje de inicio de la tarea de réplica contiene el identificador del primer volumen de datos de origen y la información de réplica, que se determina de acuerdo con los datos almacenados en el primer volumen de datos de origen; y
el método incluye además: determinar, mediante el segundo sistema de almacenamiento, el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento y un volumen de datos de destino en el segundo sistema de almacenamiento, de acuerdo con el identificador del primer volumen de datos de origen y de una relación de réplica preestablecida, donde la relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el segundo volumen de datos de origen y el volumen de datos de destino, y el volumen de datos de destino se configura de modo que almacene los datos recibidos en el segundo sistema de almacenamiento en la tarea de réplica en curso.
Haciendo referencia al segundo aspecto o a la primera o segunda manera de implementación posible del segundo aspecto, en una tercera manera de implementación posible, el envío, mediante el segundo sistema de almacenamiento, de una demanda de adquisición al primer dispositivo de almacenamiento de acuerdo con la información de réplica incluye:
determinar, mediante el segundo sistema de almacenamiento, de acuerdo con la información de réplica y el ancho de banda de un enlace entre el segundo sistema de almacenamiento y el primer dispositivo de almacenamiento, los datos que es necesario adquirir del primer dispositivo de almacenamiento; y
enviar, mediante el segundo sistema de almacenamiento, la primera demanda de adquisición al primer dispositivo de almacenamiento, de acuerdo con los datos determinados que es necesario adquirir del primer dispositivo de almacenamiento; y
el envío, mediante el segundo sistema de almacenamiento, de una segunda demanda de adquisición al segundo dispositivo de almacenamiento de acuerdo con la información de réplica incluye:
determinar, mediante el segundo sistema de almacenamiento, de acuerdo con la información de réplica y el ancho de banda de un enlace entre el segundo sistema de almacenamiento y el segundo dispositivo de almacenamiento, los datos que es necesario adquirir del segundo dispositivo de almacenamiento; y
enviar, mediante el segundo sistema de almacenamiento, la segunda demanda de adquisición al segundo dispositivo de almacenamiento, de acuerdo con los datos determinados que es necesario adquirir del segundo dispositivo de almacenamiento.
De acuerdo con un tercer aspecto, una realización de la presente invención proporciona un sistema de almacenamiento, donde el sistema de almacenamiento incluye al menos un primer dispositivo de almacenamiento y un segundo dispositivo de almacenamiento, y el primer dispositivo de almacenamiento y el segundo dispositivo de almacenamiento almacenan los mismos datos, donde
el sistema de almacenamiento se configura de modo que determine la información de réplica, donde la información de réplica se utiliza para indicar los datos del sistema de almacenamiento que es necesario replicar en otro sistema de almacenamiento en una tarea de réplica en curso, y el sistema de almacenamiento y el otro sistema de almacenamiento implementan una copia de seguridad de datos mediante la utilización de una tecnología de réplica asincrónica;
el sistema de almacenamiento se configura además de modo que determine la primera información secundaria de réplica y la segunda información secundaria de réplica de acuerdo con la información de réplica, donde la primera información secundaria de réplica se utiliza para indicar los datos del primer dispositivo de almacenamiento que es necesario replicar en el otro sistema de almacenamiento en la tarea de réplica en curso, la segunda información secundaria de réplica se utiliza para indicar los datos del segundo dispositivo de almacenamiento que es necesario replicar en el otro sistema de almacenamiento en la tarea de réplica en curso, y los datos indicados por la primera información secundaria de réplica son diferentes de los datos indicados por la segunda información secundaria de réplica;
el primer dispositivo de almacenamiento se configura de modo que replique en el otro sistema de almacenamiento, de acuerdo con la primera información secundaria de réplica, los datos del primer dispositivo de almacenamiento que es necesario replicar en el otro sistema de almacenamiento; y
el segundo dispositivo de almacenamiento se configura de modo que replique en el otro sistema de almacenamiento, de acuerdo con la segunda información secundaria de réplica, los datos del segundo dispositivo de almacenamiento que es necesario replicar en el otro sistema de almacenamiento.
En una primera manera de implementación posible del tercer aspecto, el primer dispositivo de almacenamiento se configura de modo que replique, en un volumen de datos de destino en el otro sistema de almacenamiento de acuerdo con la primera información secundaria de réplica, los datos del primer dispositivo de almacenamiento que es necesario replicar en el otro sistema de almacenamiento y que se almacenan en un primer volumen de datos de origen; y
el primer dispositivo de almacenamiento se configura de modo que replique en el volumen de datos de destino en el otro sistema de almacenamiento, de acuerdo con la segunda información secundaria de réplica, los datos del segundo dispositivo de almacenamiento que es necesario replicar en el otro sistema de almacenamiento y que se almacenan en un segundo volumen de datos de origen, donde
los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen.
Haciendo referencia a la primera manera de implementación posible del tercer aspecto, en una segunda manera de implementación posible del tercer aspecto, el primer dispositivo de almacenamiento se configura además de modo que envíe un mensaje de inicio de la tarea de réplica al segundo dispositivo de almacenamiento, donde el mensaje de inicio de la tarea de réplica contiene un identificador del primer volumen de datos de origen y un identificador del volumen de datos de destino;
el segundo dispositivo de almacenamiento se configura además de modo que: determine el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento, de acuerdo con el identificador del primer volumen de datos de origen, el identificador del volumen de datos de destino y una relación de réplica preestablecida, y determine la información de réplica de acuerdo con los datos almacenados en el segundo volumen de datos de origen determinado, donde la relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el volumen de datos de destino y el segundo volumen de datos de origen; y
el primer dispositivo de almacenamiento se configura además de modo que determine la información de réplica de acuerdo con los datos almacenados en el primer volumen de datos de origen.
Haciendo referencia a la primera manera de implementación posible del tercer aspecto, en una tercera manera de implementación posible del tercer aspecto, el primer dispositivo de almacenamiento se configura además de modo que: determine la información de réplica de acuerdo con los datos almacenados en el primer volumen de datos de origen, y envíe un mensaje de inicio de la tarea de réplica al segundo dispositivo de almacenamiento, donde el mensaje de inicio de la tarea de réplica contiene un identificador del primer volumen de datos de origen, un identificador del volumen de datos de destino y la información de réplica; y
El segundo dispositivo de almacenamiento se configura además de modo que determine, de acuerdo con el identificador del primer volumen de datos de origen, el identificador del volumen de datos de destino y una relación de réplica preestablecida, correspondiéndose el segundo volumen de datos de origen con la información de réplica, donde la relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el volumen de datos de destino y el segundo volumen de datos de origen.
Haciendo referencia al tercer aspecto o a cualquiera de la primera a tercera manera de implementación posible del tercer aspecto, en una cuarta manera de implementación posible del tercer aspecto, el primer dispositivo de almacenamiento se configura además de modo que determine la primera información secundaria de réplica de acuerdo con la información de réplica y una política de réplica preestablecida; y el segundo dispositivo de almacenamiento se configura además de modo que determine la segunda información secundaria de réplica de acuerdo con la información de réplica y la política de réplica.
Haciendo referencia al tercer aspecto o a cualquiera de la primera a tercera manera de implementación posible del tercer aspecto, en una quinta manera de implementación posible del tercer aspecto, el primer dispositivo de almacenamiento se configura además de modo que: reciba una demanda de negociación de réplica del segundo dispositivo de almacenamiento, donde la demanda de negociación de la réplica incluye, al menos, la información de ancho de banda de un enlace entre el segundo dispositivo de almacenamiento y el otro sistema de almacenamiento; determine la primera información secundaria de réplica y la segunda información secundaria de réplica de acuerdo con la información del ancho de banda del enlace; y envíe la segunda información secundaria de réplica al segundo dispositivo de almacenamiento.
Haciendo referencia al tercer aspecto o a cualquiera de la primera a quinta manera de implementación posible del tercer aspecto, en una sexta manera de implementación posible del tercer aspecto, la información de réplica consta de la primera información secundaria de réplica y la segunda información secundaria de réplica; el primer dispositivo de almacenamiento se configura además de modo que: en un proceso de ejecutar la tarea de réplica en curso, genere la primera información de progreso de la réplica de acuerdo con los datos que se han replicado, y envíe la primera información de progreso de la réplica al segundo dispositivo de almacenamiento; y
el segundo dispositivo de almacenamiento se configura además de modo que: cuando el primer dispositivo de almacenamiento falla, determine, de acuerdo con la primera información de progreso de la réplica, la segunda información secundaria de réplica y la información de réplica, los datos que no se han replicado del primer dispositivo de almacenamiento, y replicar, en el otro sistema de almacenamiento, los datos que no se han replicado del primer dispositivo de almacenamiento.
De acuerdo con un cuarto aspecto, una realización de la presente invención proporciona un sistema de almacenamiento, que incluye:
un módulo de recepción, configurado de modo que reciba la información de réplica enviada por otro sistema de almacenamiento, donde la información de réplica se utiliza para indicar los datos del otro sistema de almacenamiento que es necesario replicar en el sistema de almacenamiento en una tarea de réplica en curso, el otro sistema de almacenamiento incluye, al menos, el primer dispositivo de almacenamiento y un segundo dispositivo de almacenamiento, donde el primer dispositivo de almacenamiento y el segundo dispositivo de almacenamiento almacenan los mismos datos, y donde el sistema de almacenamiento y el otro sistema de almacenamiento implementan una copia de seguridad de datos mediante la utilización de una tecnología de réplica asincrónica; y
un módulo de envío configurado de modo que envíe una primera demanda de adquisición al primer dispositivo de almacenamiento de acuerdo con la información de réplica, donde la primera demanda de adquisición incluye información sobre los datos que el sistema de almacenamiento es necesario que adquiera del primer dispositivo de almacenamiento en la tarea de réplica en curso, donde
el módulo de envío se configura además de modo que envíe una segunda demanda de adquisición al segundo dispositivo de almacenamiento de acuerdo con la información de réplica, donde la segunda demanda de adquisición incluye información sobre los datos que el sistema de almacenamiento es necesario que adquiera del segundo dispositivo de almacenamiento en la tarea de réplica en curso, y los datos solicitados al utilizar la primera demanda de adquisición son diferentes de los datos solicitados al utilizar la segunda demanda de adquisición; y
el módulo de recepción se configura además de modo que reciba los datos que envía el primer dispositivo de almacenamiento de acuerdo con la primera demanda de adquisición, y reciba los datos que envía el segundo dispositivo de almacenamiento de acuerdo con la segunda demanda de adquisición.
En una primera manera de implementación posible del cuarto aspecto, la información sobre los datos solicitados, que está incluida en la primera demanda de adquisición, incluye al menos un identificador de un primer volumen de datos de origen en el primer dispositivo de almacenamiento y una dirección de los datos solicitados al utilizar la primera demanda de adquisición; y
la información sobre los datos solicitados, que está incluida en la segunda demanda de adquisición, incluye al menos un identificador de un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento y una dirección de los datos solicitados al utilizar la segunda demanda de adquisición, donde
tanto el primer volumen de datos de origen como el segundo volumen de datos de origen almacenan los datos del otro sistema de almacenamiento que es necesario replicar en el sistema de almacenamiento en la tarea de réplica en curso, y los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen.
Haciendo referencia a la primera manera de implementación posible del cuarto aspecto, en una segunda manera de implementación posible del cuarto aspecto, el módulo de recepción se configura además de modo que reciba un mensaje de inicio de la tarea de réplica enviado por el otro sistema de almacenamiento, donde el mensaje de inicio de la tarea de réplica contiene el identificador del primer volumen de datos de origen y la información de réplica, que se determina de acuerdo con los datos almacenados en el primer volumen de datos de origen; y
el sistema de almacenamiento incluye además: un módulo de procesamiento de mensajes, configurado de modo que determine el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento y un volumen de datos de destino en el segundo sistema de almacenamiento, de acuerdo con el identificador del primer volumen de datos de origen y una relación de réplica preestablecida, donde
la relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el segundo volumen de datos de origen y el volumen de datos de destino, y el volumen de datos de destino se configura de modo que almacene los datos recibidos por el sistema de almacenamiento en la tarea de réplica en curso.
Haciendo referencia al cuarto aspecto o a cualquiera de la primera y segunda maneras de implementación posibles del cuarto aspecto, en una tercera manera de implementación posible del cuarto aspecto, el sistema de almacenamiento incluye, además:
un módulo de determinación, configurado de modo que: determine, de acuerdo con la información de réplica y el ancho de banda de un enlace entre el sistema de almacenamiento y el primer dispositivo de almacenamiento, los datos que es necesario adquirir del primer dispositivo de almacenamiento, y determine, de acuerdo con la información de réplica y el ancho de banda de un enlace entre el sistema de almacenamiento y el segundo dispositivo de almacenamiento, los datos que es necesario adquirir del segundo dispositivo de almacenamiento, donde
el módulo de envío se configura de manera específica de modo que envíe la primera demanda de adquisición al primer dispositivo de almacenamiento de acuerdo con los datos que se determinan mediante el módulo de determinación y que es necesario adquirir del primer dispositivo de almacenamiento, y envíe la segunda demanda de adquisición al segundo dispositivo de almacenamiento de acuerdo con los datos que se determinan mediante el módulo de determinación y que es necesario adquirir del segundo dispositivo de almacenamiento.
De acuerdo con un quinto aspecto, una realización de la presente invención proporciona otro sistema de almacenamiento adicional, que incluye un controlador y un almacenamiento, donde el almacenamiento se configura de modo que almacene los datos enviados por otro sistema de almacenamiento; y el controlador incluye:
una interfaz de comunicaciones, configurada de modo que se comunique con el otro sistema de almacenamiento;
una memoria, configurada de modo que almacene una instrucción ejecutable por ordenador; y
un procesador, configurado de modo que ejecute la instrucción ejecutable por ordenador, para llevar a cabo el método de acuerdo con el segundo aspecto anterior.
De acuerdo con un sexto aspecto, una realización de la presente invención proporciona un producto de programa informático, que incluye un soporte de almacenamiento legible por ordenador que almacena el código de programa, donde una instrucción incluida en el código de programa se usa para llevar a cabo el método de acuerdo con el primer aspecto anterior.
De acuerdo con un séptimo aspecto, la realización de la presente invención proporciona un producto de programa informático, que incluye un soporte de almacenamiento legible por ordenador que almacena el código de programa, donde una instrucción incluida en el código de programa se usa para llevar a cabo el método de acuerdo con el segundo aspecto anterior.
En el método de réplica de datos que se proporciona en las realizaciones de la presente invención, debido a que un primer dispositivo de almacenamiento y un segundo dispositivo de almacenamiento, que están en un primer sistema de almacenamiento, almacenan los mismos datos, en un proceso de réplica del primer sistema de almacenamiento al segundo sistema de almacenamiento, el primer sistema de almacenamiento puede determinar la primera información secundaria de réplica y la segunda información secundaria de réplica de acuerdo con la información de réplica en una tarea de réplica en curso, donde el primer dispositivo de almacenamiento replica los datos en el segundo sistema de almacenamiento de acuerdo con la primera información secundaria de réplica, y donde el segundo dispositivo de almacenamiento replica los datos en el segundo sistema de almacenamiento de acuerdo con la segunda información secundaria de réplica. De acuerdo con el método que proporciona las realizaciones de la presente invención, el primer dispositivo de almacenamiento y el segundo dispositivo de almacenamiento pueden compartir una tarea de réplica del primer sistema de almacenamiento, de modo que se pueda mejorar la eficiencia de la réplica que se lleva a cabo entre el primer sistema de almacenamiento y el segundo sistema de almacenamiento sin aumentar los costes de producción.
Breve descripción de los dibujos
Para describir las soluciones técnicas de las realizaciones de la presente invención o en la técnica anterior de manera más clara, a continuación, se introducen brevemente los dibujos anexos requeridos para describir las realizaciones. Obviamente, los dibujos anexos de la siguiente descripción muestran simplemente algunas realizaciones de la presente invención.
La figura 1 es un diagrama esquemático de un escenario de aplicación, de acuerdo con una realización de la presente invención;
la figura 2 es un diagrama estructural esquemático de un dispositivo de almacenamiento, de acuerdo con una realización de la presente invención;
la figura 3 es un diagrama de flujo de un método de réplica de datos, de acuerdo con una realización de la presente invención;
la figura 3a es un diagrama esquemático de un mapa de bits de réplica, de acuerdo con una realización de la presente invención;
la figura 3b es un diagrama de flujo de un método de determinación de la información de réplica, de acuerdo con una realización de la presente invención;
la figura 3c es un diagrama de flujo de otro método de determinación de la información de réplica de acuerdo con una realización de la presente invención;
la figura 4a y la figura 4b son diagramas de señalización de otro método de réplica de datos adicional, de acuerdo con una realización de la presente invención;
la figura 5 es un diagrama de flujo de otro método de réplica de datos adicional, de acuerdo con una realización de la presente invención;
la figura 6a y la figura 6b son diagramas de señalización de otro método de réplica de datos adicional, de acuerdo con una realización de la presente invención; y
la figura 7 es un diagrama estructural esquemático de aún otro dispositivo de almacenamiento, de acuerdo con una realización de la presente invención.
Descripción de las realizaciones
Para hacer que un experto en la técnica entienda mejor las soluciones de la presente invención, lo que sigue a continuación describe de manera clara y completa las soluciones técnicas en las realizaciones de la presente invención, haciendo referencia a los dibujos anexos en las realizaciones de la presente invención. Obviamente, las realizaciones descritas son simplemente algunas, pero no todas las realizaciones de la presente invención.
Un método de copia de seguridad de datos, que proporcionan las realizaciones de la presente invención, se aplica fundamentalmente a un sistema de recuperación de catástrofes con múltiples centros de datos. El sistema de recuperación de catástrofes con múltiples centros de datos que se describe en las realizaciones de la presente invención hace referencia a un sistema de recuperación de catástrofes que incluye tres o más centros de datos. Para facilitar la descripción, las realizaciones de la presente invención se describen utilizando un sistema de recuperación de catástrofes de 3 centros de datos (3 centros de datos, 3DC), a modo de ejemplo. Tal como se muestra en la figura 1, la figura 1 es un diagrama esquemático de un escenario de aplicación de acuerdo con una realización de la presente invención. Un sistema de recuperación de catástrofes 3DC mostrado en la figura 1 incluye, al menos, un ordenador anfitrión 100 y tres centros de datos. Los tres centros de datos incluyen al menos un emplazamiento de producción y dos emplazamientos de recuperación de catástrofes. Para facilitar la descripción, en esta realización de la presente invención, los tres centros de datos mostrados en la figura 1 se denominan respectivamente como un emplazamiento de producción 11, un emplazamiento de nivel 112 y un emplazamiento de nivel 213, donde el emplazamiento de nivel 1 12 y el emplazamiento de nivel 2 13 son, en general, emplazamientos de recuperación de catástrofes. Los tres centros de datos pueden estar conectados entre sí utilizando fibra o un cable de red a modo de una red con forma de estrella. Los tres centros de datos pueden llevar a cabo la transmisión de datos entre sí utilizando el protocolo IP (protocolo de internet) o un protocolo FC (canal de fibra). En esta realización de la presente invención, el ordenador anfitrión 100 se puede comunicar con el emplazamiento de producción 11 o con el emplazamiento de nivel 112, en función del protocolo de pequeña interfaz del sistema informático (SCSI, pequeña interfaz del sistema informático) o en función del protocolo de pequeña interfaz del sistema informático para internet (iSCSI, pequeña interfaz del sistema informático para internet), lo cual no está limitado en la presente.
El emplazamiento de producción 11 incluye un primer dispositivo de almacenamiento 110, el emplazamiento de nivel 1 12 incluye un segundo dispositivo de almacenamiento 120 y el emplazamiento de nivel 2 13 incluye un tercer dispositivo de almacenamiento 130. El primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130 pueden ser dispositivos de almacenamiento, tales como una matriz de almacenamiento o un servidor, conocidos en las tecnologías actuales. Por ejemplo, el primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130 pueden incluir una matriz de red de área de almacenamiento (red de área de almacenamiento, SAN), o pueden incluir una matriz de almacenamiento conectado en red (almacenamiento conectado en red, NAS). En esta realización de la presente invención no se limita la forma específica de un dispositivo de almacenamiento en cada centro de datos. Cabe destacar que todos los métodos en las realizaciones de la presente invención se llevan a cabo mediante los dispositivos de almacenamiento en estos emplazamientos. Para facilitar la descripción, en esta realización de la presente invención, si no se dice lo contrario, el emplazamiento de producción 11 hace referencia al primer dispositivo de almacenamiento 110 en el emplazamiento de producción 11, el emplazamiento de nivel 1 12 hace referencia al segundo dispositivo de almacenamiento 120 en el emplazamiento de nivel 112 y el emplazamiento de nivel 213 hace referencia al tercer dispositivo de almacenamiento 130 en el emplazamiento de nivel 213.
En el escenario de aplicación mostrado en la figura 1, una distancia entre el emplazamiento de producción 11 y el emplazamiento de nivel 112 es relativamente corta. En general, la distancia entre el emplazamiento de producción 11 y el emplazamiento de nivel 112 puede ser menor de 100 km. Por ejemplo, el emplazamiento de producción 11 y el emplazamiento de nivel 112 pueden estar situados en dos ubicaciones diferentes en una misma ciudad. Una distancia entre el emplazamiento de nivel 2 13 y el emplazamiento de producción 11, o el emplazamiento de nivel 1 12, es relativamente larga. En general, la distancia entre el emplazamiento de nivel 213 y el emplazamiento de producción 11 puede ser al menos de 1000 km. Por ejemplo, el emplazamiento de nivel 213 y el emplazamiento de producción 11 pueden estar situados en ciudades diferentes. Sin duda, en esta realización de la presente invención, el emplazamiento de producción 11 y el emplazamiento de nivel 112 no están limitados necesariamente a estar en una misma ciudad, siempre que se pueda implementar una réplica sincrónica de datos entre el emplazamiento de producción 11 y el emplazamiento de nivel 112.
El ordenador anfitrión 100 puede incluir cualquier dispositivo informático conocido en las tecnologías actuales, tal como un servidor, un ordenador personal o un servidor de aplicaciones. En el ordenador anfitrión 100 se instalan un sistema operativo y otros programas de aplicación. Puede haber múltiples ordenadores anfitriones 100.
En el escenario de aplicación mostrado en la figura 1, el emplazamiento de nivel 213 se utiliza principalmente como un emplazamiento de recuperación de catástrofes y se configura de modo que realice una copia de seguridad de los datos. El ordenador anfitrión 100 no tiene acceso al emplazamiento de nivel 2 13. Tanto el emplazamiento de producción 11 como el emplazamiento de nivel 112 pueden recibir una demanda de acceso del ordenador anfitrión 100. En una situación, el ordenador anfitrión 100 puede escribir los datos únicamente al emplazamiento de producción 11. Por ejemplo, uno o más ordenadores anfitriones 100 pueden llevar a cabo una operación de escritura de datos en el emplazamiento de producción 11. En otra situación, un ordenador anfitrión 100 también puede escribir diferentes datos de manera independiente en el emplazamiento de producción 11 y en el emplazamiento de nivel 112. En otra situación adicional, diferentes ordenadores anfitriones 100 pueden llevar a cabo una operación de escritura de datos en el emplazamiento de producción 11 y en el emplazamiento de nivel 1 12 respectivamente. Por ejemplo, un ordenador anfitrión A lleva a cabo una operación de escritura de datos en el emplazamiento de producción 11, y un ordenador anfitrión B lleva a cabo una operación de escritura de datos en el emplazamiento de nivel 112. Se puede comprender que, en las dos últimas situaciones, debido a que el emplazamiento de producción 11 y el emplazamiento de nivel 1 12 pueden asumir de manera simultánea un servicio del ordenador anfitrión 100, se puede mejorar la eficiencia de lectura y escritura de datos. En esta realización de la presente invención, si el emplazamiento de producción 11 y el emplazamiento de nivel 112 asumen de manera simultánea el servicio del ordenador anfitrión 100, este no está limitado siempre que se pueda implementar una réplica sincrónica entre el emplazamiento de producción 11 y el emplazamiento de nivel 1 12, y se pueda garantizar una sincronización de datos en tiempo real en el emplazamiento de producción 11 y el emplazamiento de nivel 112. Cabe destacar que, debido a que en el sistema de recuperación de catástrofes mostrado en la figura 1 tanto el emplazamiento de producción 11 como el emplazamiento de nivel 112 pueden recibir una demanda de acceso del ordenador anfitrión 100, y el emplazamiento de producción 11 y el emplazamiento de nivel 112 mantienen la coherencia de los datos almacenados en un modo de réplica sincrónica, los papeles del emplazamiento de producción 11 y el emplazamiento de nivel 1 12 son intercambiables.
En esta realización de la presente invención, el emplazamiento de producción 11 y el emplazamiento de nivel 112 pueden mantener, utilizando una tecnología de réplica sincrónica, los datos almacenados en el emplazamiento de producción 11 y los datos almacenados en el emplazamiento de nivel 112 sincronizados en tiempo real. Por ejemplo, cuando el ordenador anfitrión 100 escribe los datos en el emplazamiento de producción 11, el emplazamiento de producción 11 puede realizar una copia de seguridad de los datos de manera simultánea en el emplazamiento de nivel I 12. Después de que los datos se escriban tanto en el emplazamiento de producción 11 como en el emplazamiento de nivel 112, el emplazamiento de producción 11 devuelve una respuesta de éxito de escritura al ordenador anfitrión 100, de modo que se mantengan sincronizados los datos en el emplazamiento de producción 11 y los datos en el emplazamiento de nivel 112. Debido a que la distancia entre el emplazamiento de nivel 213 y el emplazamiento de producción 11 es relativamente larga, el emplazamiento de producción 11 o el emplazamiento de nivel 112 pueden almacenar los datos en el emplazamiento de nivel 213 utilizando una tecnología de réplica asincrónica. Por ejemplo, cuando el ordenador anfitrión 100 escribe los datos en el emplazamiento de producción 11, el emplazamiento de producción 11 puede devolver directamente una respuesta de éxito de escritura al ordenador anfitrión 100. Después de un período de tiempo, el emplazamiento de producción 11 envía, al emplazamiento de nivel 2 13 para su almacenamiento, los datos escritos por el ordenador anfitrión 100, de modo que se implemente una copia de seguridad adicional de los datos. Cabe destacar que, en esta realización de la presente invención, la escritura de datos en el emplazamiento de producción 11 puede ser la escritura de datos en una caché del emplazamiento de producción 11, o puede hacer referencia a la escritura de datos en un almacenamiento del emplazamiento de producción 11, la cual no está limitada en la presente.
Cabe destacar que, un espacio de almacenamiento formado por el almacenamiento del emplazamiento de producción I I puede incluir múltiples volúmenes de datos. El volumen de datos en esta realización de la presente invención es un espacio de almacenamiento lógico formado mediante la asignación de un espacio de almacenamiento físico. Por ejemplo, el volumen de datos puede ser una unidad lógica identificada mediante un número de unidad lógica (número de unidad lógica, LUN), o puede ser un sistema de archivos. Se puede entender que, un espacio de almacenamiento del emplazamiento de nivel 112 o un espacio de almacenamiento del emplazamiento de nivel 2 13 también puede incluir múltiples volúmenes de datos.
En una aplicación real, en el sistema de recuperación de catástrofes 3DC, los datos se mantienen en general sincronizados entre el emplazamiento de producción 11 y el emplazamiento de nivel 1120 mediante la utilización de la tecnología de réplica sincrónica, y la réplica asincrónica se establece entre el emplazamiento de producción 11 y el emplazamiento de nivel 2 13 o la réplica asincrónica se establece entre el emplazamiento de nivel 1 12 y el emplazamiento de nivel 213. Por ejemplo, en un proceso de réplica asincrónica, la réplica asincrónica se lleva a cabo utilizando un enlace entre el emplazamiento de producción 11 y el emplazamiento de nivel 213, y se utiliza un enlace entre el emplazamiento de nivel 1 12 y el emplazamiento de nivel 2 13 como enlace de reserva. Para facilitar la descripción, en esta realización de la presente invención, el enlace entre el emplazamiento de producción 11 y el emplazamiento de nivel 213 se denomina como primer enlace, y el enlace entre el emplazamiento de nivel 112 y el emplazamiento de nivel 213 se denomina como segundo enlace. Cuando se produce una excepción en un proceso de réplica entre el emplazamiento de producción 11 y el emplazamiento de nivel 213, se pueden volver a replicar los datos del emplazamiento de nivel 112 al emplazamiento de nivel 213. Que se produzca la excepción en el proceso de réplica incluye: en el proceso de réplica se produce una excepción debido a que se produce un fallo en el emplazamiento de producción 11, o en el proceso de réplica se produce una excepción debido a que se produce un fallo en el primer enlace. Se puede entender que, en el proceso de réplica asincrónica, la réplica asincrónica también se puede llevar a cabo utilizando el enlace entre el emplazamiento de nivel 112 y el emplazamiento de nivel 213, y se utiliza el enlace entre el emplazamiento de producción 11 y el emplazamiento de nivel 213 como enlace de reserva.
No obstante, debido a que los datos en el emplazamiento de producción 11 cambian en gran medida, en el proceso de réplica asincrónica, si se lleva a cabo la réplica asincrónica mediante la utilización únicamente del primer enlace, el ancho de banda del primer enlace puede convertirse en un cuello de botella de un proceso de copia de seguridad de datos. En una aplicación real, si se utiliza un primer enlace con mayor ancho de banda para llevar a cabo una copia de seguridad, pueden aumentar los costes de un usuario. Para mejorar el ancho de banda para la copia de seguridad de datos sin aumentar los costes, en esta realización de la presente invención, cuando es necesario llevar a cabo una réplica asincrónica, el emplazamiento de producción 11 y el emplazamiento de nivel 112 pueden llevar a cabo de manera simultánea la replica asincrónica en el emplazamiento de nivel 213. De esta manera, en el proceso de réplica asincrónica, tanto el primer enlace como el segundo enlace están en un estado activo (Activo).
Debido a que esta realización de la presente invención conlleva fundamentalmente cómo replicar los datos del emplazamiento de producción 11 y el emplazamiento de nivel 112 al emplazamiento de nivel 2 13, para facilitar la descripción, en las siguientes realizaciones, un sistema de almacenamiento que incluye el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 130, que envían datos en un proceso de réplica, se denomina como primer sistema de almacenamiento 33, y un sistema de almacenamiento al cual pertenece el tercer dispositivo de almacenamiento 130, que recibe los datos, se denomina como segundo sistema de almacenamiento 44. Se puede entender que el primer sistema de almacenamiento 33 puede incluir además otro dispositivo de almacenamiento, y el segundo sistema de almacenamiento 44 también puede incluir además otro dispositivo de almacenamiento.
Una estructura del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130, mostrados en la figura 1, se pueden mostrar en la figura 2. La figura 2 es un diagrama estructural esquemático de un dispositivo de almacenamiento 20, de acuerdo con una realización de la presente invención. El dispositivo de almacenamiento 20 mostrado en la figura 2 es una matriz de almacenamiento. Tal como se muestra en la figura 2, el dispositivo de almacenamiento 20 puede incluir un controlador 200 y una matriz de discos 214, donde la matriz de discos 214 en la presente se configura de modo que proporcione un espacio de almacenamiento, y puede incluir una matriz redundante de discos independientes (matriz redundante de discos independientes, RAID) o un chasis de discos que incluye múltiples discos. Puede haber múltiples matrices de discos 214 y la matriz de discos 214 incluye múltiples discos 216. El disco 216 se configura de modo que almacene datos. La matriz de discos 216 está en una conexión comunicada con el controlador 200 mediante la utilización de un protocolo de comunicación, por ejemplo, el protocolo de pequeña interfaz del sistema informático (pequeña interfaz del sistema informático, SCSI), la cual no está limitada en la presente.
Se puede entender que la matriz de discos 214 es simplemente un ejemplo de un almacenamiento en el sistema de almacenamiento. En esta realización de la presente invención, los datos también se pueden almacenar utilizando un almacenamiento, por ejemplo, una biblioteca de cintas. Cabe destacar que el disco 216 también se simplemente un ejemplo de una memoria para formar la matriz de discos 214. En una aplicación real, puede haber una manera de implementación adicional, por ejemplo, para formar una matriz de discos entre armarios que incluyen múltiples discos. Por lo tanto, en esta realización de la presente invención, la matriz de discos 214 también puede incluir un almacenamiento que incluya un soporte de almacenamiento no volátil, tal como un disco de estado sólido (unidad de estado sólido, SSD), un armario que incluye múltiples discos o un servidor, lo cual no está limitado en la presente.
El controlador 200 es un "cerebro" del dispositivo de almacenamiento 20, e incluye fundamentalmente un procesador 202 (procesador), una caché 204 (caché), una memoria 206 (memoria), un bus de comunicaciones 210 (un bus para abreviar) y una interfaz de comunicaciones 212 (interfaz de comunicaciones). El procesador 202, la caché 204, la memoria 206 y la interfaz de comunicaciones 212 se comunican entre sí mediante la utilización del bus de comunicaciones 210. Cabe destacar que, en estas realizaciones de la presente invención, puede haber uno o más controladores 200 en el dispositivo de almacenamiento 20. Se puede entender que, cuando el dispositivo de almacenamiento 20 incluye al menos dos controladores 200, se puede mejorar la estabilidad del dispositivo de almacenamiento 20.
La interfaz de comunicaciones 212 se configura de modo que se comunique con el ordenador anfitrión 100, el disco 216 o con otro dispositivo de almacenamiento.
La memoria 206 se configura de modo que almacene un programa 208. La memoria 206 puede incluir una memoria RAM de alta velocidad, o puede incluir además una memoria no volátil (memoria no volátil), por ejemplo, al menos un almacenamiento en disco magnético. Se puede entender que la memoria 206 pueden ser varios medios legibles por máquina no transitorios (no transitorios), tal como una memoria de acceso aleatorio (memoria de acceso aleatorio, RAM), un disco magnético, una unidad de disco duro, un disco óptico, un disco de estado sólido (disco de estado sólido, SSD), o una memoria no volátil, que puedan almacenar el código de programa.
El programa 208 puede incluir un código de programa, y el código de programa incluye una instrucción de funcionamiento del ordenador.
La caché 204 (caché) es un almacenamiento entre el controlador y la unidad de disco duro, y tiene una capacidad menor que la de la unidad de disco duro pero una velocidad mayor que la de la unidad de disco duro. La caché 204 se configura de modo que almacene temporalmente los datos recibidos del ordenador anfitrión 100 o de otro dispositivo de almacenamiento, y almacene temporalmente los datos leídos del disco 216, de modo que se mejore el comportamiento y la fiabilidad de la matriz. La caché 204 pueden ser diversos medios legibles por máquina no transitorios (no transitorios), tal como una RAM, una ROM, una memoria flash (memoria flash) o un disco de estado sólido (disco de estado sólido, SSD), que pueden almacenar datos, lo cual no está limitado en la presente.
El procesador 202 puede ser una unidad central de procesamiento CPU o un circuito integrado de aplicación específica ASIC (circuito integrado de aplicación específica), o se configura como uno o más circuitos integrados que implementan esta realización de la presente invención. En el procesador 202 se instalan un sistema operativo y otros programas de software, y los distintos programas de software se pueden considerar como un módulo de procesamiento, y tienen distintas funciones, tales como procesar una demanda de entrada/salida (entrada/salida, I/O) del disco 216, llevar a cabo otro procesamiento de los datos en el disco 216 o modificar los metadatos guardados en el dispositivo de almacenamiento 20. Por lo tanto, el controlador 200 puede implementar diversas funciones de gestión de datos, tales como una operación de I/O, una captura, una creación de reflejo y una réplica. En esta realización de la presente invención, el procesador 202 se configura de modo que ejecute el programa 208, y de manera específica, puede llevar a cabo los pasos pertinentes en las siguientes realizaciones del método.
Se puede entender que, en esta realización de la presente invención, las estructuras de hardware del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130 pueden ser similares. No obstante, debido a que el primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130 asumen distintas funciones en un proceso de réplica de datos, un procesador 202 en el primer dispositivo de almacenamiento 110, un procesador 202 en el segundo dispositivo de almacenamiento 120 y un procesador 202 en el tercer dispositivo de almacenamiento 130 pueden ejecutar distintos programas 208. Lo que sigue a continuación describe con detalle cómo los dispositivos de almacenamiento en esta realización de la presente invención implementan de manera específica un método de réplica de datos.
La figura 3 es un diagrama de flujo de un método de réplica de datos, de acuerdo con una realización de la presente invención. El método se puede aplicar al escenario de aplicación mostrado en la figura 1. El método mostrado en la figura 3 se describe desde una perspectiva de un primer sistema de almacenamiento 33 que envía datos. El primer sistema de almacenamiento 33 puede incluir el primer dispositivo de almacenamiento 110 en el emplazamiento de producción 11, y el segundo dispositivo de almacenamiento 120 en el emplazamiento de nivel 112, que se muestran en la figura 1. Los datos almacenados en el primer dispositivo de almacenamiento 110 son los mismos que los datos almacenados en el segundo dispositivo de almacenamiento 120. Un segundo sistema de almacenamiento 44, que recibe los datos replicados, puede incluir un tercer dispositivo de almacenamiento 130. Las estructuras de hardware tanto del primer dispositivo de almacenamiento 110 como del segundo dispositivo de almacenamiento 120, en esta realización de la presente invención, se pueden mostrar ambas en la figura 2. De manera específica, el método de la figura 3 se puede llevar a cabo de manera conjunta por un procesador 202 del primer dispositivo de almacenamiento 110 y un procesador 202 del segundo dispositivo de almacenamiento 120. Lo que sigue a continuación describe el método de réplica de datos mostrado en la figura 3 haciendo referencia a la figura 1 y la figura 2. Tal como se muestra en la figura 3, el método puede incluir los siguientes pasos.
En el paso 300, el primer sistema de almacenamiento 33 determina la información de réplica de acuerdo con los datos almacenados, donde la información de réplica se utiliza para indicar los datos del primer sistema de almacenamiento 33 que es necesario replicar en el segundo sistema de almacenamiento 44 en una tarea de réplica en curso. La tarea de réplica (la cual también se puede denominar como tarea de réplica asincrónica remota) hace referencia a aquella en la que el primer sistema de almacenamiento 33 replica, a un volumen de datos en el segundo sistema de almacenamiento 44, los datos contenidos en una orden de escritura de datos que se recibe mediante un volumen de datos en el primer sistema de almacenamiento 33 en un período de tiempo. En una aplicación real, el primer sistema de almacenamiento 33 puede enviar todos los datos en el volumen de datos en el período de tiempo al segundo sistema de almacenamiento 44, o puede enviar datos diferenciales (que también se denominan como datos incrementales) relativos a la última tarea de réplica y que se reciben en el período de tiempo en el segundo sistema de almacenamiento 44, lo cual no está limitado en la presente.
Cabe destacar que, en una situación, debido a que el primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120 pueden tener múltiples volúmenes de datos, puede haber múltiples tareas de réplica al mismo tiempo. En esta realización de la presente invención, los identificadores de las tareas de réplica se pueden utilizar para distinguir las distintas tareas de réplica, donde el identificador de la tarea de réplica se puede determinar de acuerdo con un identificador de un volumen de datos de origen y un identificador de un volumen de datos de destino en un proceso de réplica en curso. Por ejemplo, el identificador de la tarea de réplica puede ser A LUN001 B LUN002, utilizado para representar que la tarea de réplica es replicar los datos de un LUN con un identificador 001 en un dispositivo de almacenamiento A en un LUN con un identificador de 002 en un dispositivo de almacenamiento B. Además, el identificador de la tarea de réplica también se puede representar mediante otro identificador, el cual no está limitado en la presente, siempre que los dispositivos de almacenamiento puedan identificar el volumen de datos de origen y el volumen de datos de destino que están en la tarea de réplica en curso.
Se pueden entender que, en esta realización de la presente invención, aunque el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 mantienen la coherencia de datos almacenados en un modo de réplica sincrónica, los identificadores de los volúmenes de datos, en el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, que almacenan los mismos datos no son necesariamente iguales. Por ejemplo, un ID de un LUN, en el primer dispositivo de almacenamiento 110, que almacena los datos A, puede ser LUN 1#, y un ID de un LUN, en el segundo dispositivo de almacenamiento 120, que almacena los datos A, puede ser LUN 2#. En una aplicación real, una relación de réplica entre los volúmenes de datos en el primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130, se puede configurar previamente, de modo que todos del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130 pueden determinar un volumen de datos de origen y un volumen de datos de destino correspondientes en la tarea de réplica en curso, de acuerdo con la relación de réplica. Dicho de otro modo, se puede implementar la copia de seguridad de datos entre volúmenes de datos que tienen una relación de réplica.
Un conjunto de relaciones de réplica puede incluir un identificador de una relación de réplica, o puede incluir identificadores de los LUN en el primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130. Por ejemplo, el identificador de una relación de réplica puede ser: A LUN001 B LUN002 C LUN003, utilizado para representar que hay una relación de réplica entre un l Un con un identificador de 001 en un dispositivo de almacenamiento A, un LUN con un identificador de 002 en un dispositivo de almacenamiento B y un LUN con un identificador 003 en un dispositivo de almacenamiento C. Sin duda, el identificador de una relación de réplica también se puede representar mediante otro identificador, y no se hace ninguna limitación en la presente, siempre que los dispositivos de almacenamiento puedan identificar la relación de réplica que conlleva la tarea de réplica en curso. En una aplicación real, la relación de réplica se puede guardar a priori en todos del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130.
En esta realización de la presente invención, la tarea de réplica es una tarea de réplica entre los LUN de distintos dispositivos de almacenamiento que se inicia de acuerdo con una relación de réplica preestablecida; en un cierto momento, puede haber solo una tarea de réplica para volúmenes de datos que tienen una relación de réplica. Esta realización de la presente invención conlleva fundamentalmente un proceso de una interacción entre dispositivos en una tarea de réplica. Por lo tanto, en esta realización de la presente invención, se puede representar una tarea de réplica mediante un identificador de una relación de réplica. Dicho de otro modo, en esta realización de la presente invención, el identificador de una tarea de réplica puede ser el mismo que el identificador de una relación de réplica. Sin duda, en una aplicación real, para distinguir múltiples tareas de réplica, que se producen en distintos períodos de tiempo, de volúmenes de datos que tienen una relación de réplica, el identificador de una tarea de réplica también puede ser distinto del identificador de una relación de réplica. Por ejemplo, se puede añadir un identificador temporal al identificador de una relación de réplica para formar el identificador de una tarea de réplica, y se utiliza para representar que la tarea de réplica es una tarea de réplica iniciada en un momento diferente, entre volúmenes de datos que tienen una relación de réplica.
Se puede entender que, en una situación, si se almacena únicamente un volumen de datos en un espacio de almacenamiento de cada uno del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130, la tarea de réplica en curso es una tarea de réplica iniciada en un momento dado para un único volumen de datos en cada dispositivo de almacenamiento. Por lo tanto, la relación de réplica entre los LUN en los dispositivos de almacenamiento también puede no estar preestablecida.
En esta realización de la presente invención, la información de réplica se puede determinar de acuerdo con información de datos diferenciales recibida por el primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120. La información de datos diferenciales hace referencia a la información sobre los datos escritos en un dispositivo de almacenamiento después de que comience una tarea de réplica previa a la tarea de réplica en curso y antes de que comience la tarea de réplica en curso. En una aplicación real, la información de datos diferenciales se puede registrar mediante la utilización de un mapa de bits diferencial. El primer dispositivo de almacenamiento 100 se utiliza a modo de ejemplo, y el primer dispositivo de almacenamiento 110 puede crear un mapa de bits diferencial para cada volumen de datos (por ejemplo, un LUN), con el fin de registrar la información sobre los datos escritos en el volumen de datos. La figura 3a muestra un ejemplo de un mapa de bits diferencial de acuerdo con una realización de la presente invención. Tal como se muestra en la figura 3a, cada cuadrícula en el mapa de bits diferencial se corresponde con una dirección en el LUN. En esta realización de la presente invención, un bit indicador "1" se utiliza para representar que se produce una escritura de datos. Debido a que una orden de escritura de datos enviada por un ordenador anfitrión 100 puede contener los datos que es necesario escribir y una dirección de los datos, después de recibir la orden de escritura de datos enviada por el ordenador anfitrión 100, el primer dispositivo de almacenamiento 100 puede fijar un bit indicador en una cuadrícula correspondiente en el mapa de bits diferencial a "1", de acuerdo con la dirección de los datos contenidos en la orden de escritura de datos. La información sobre los datos cambiados escrita en el LUN se puede registrar de manera que se lleve a cabo un registro utilizando un mapa de bits diferencial. Se puede entender que, para la misma duración de la réplica, si los datos de una misma dirección se cambian de manera continua, cuando se lleva a cabo el registro, un bit indicador en una cuadrícula correspondiente a la dirección de los datos se puede fijar siempre a "1". Se puede entender que, en otra situación, un bit indicador "0" también se puede utilizar para representar que se produce una escritura de datos. En otra situación adicional, como alternativa, se puede utilizar "1" para representar que se produce una escritura de datos, y "0" para representar que no se produce escritura de datos. Además, si se produce una escritura de datos también se puede representar mediante la utilización de otro bit indicador, y una forma específica del bit indicador no está limitada en la presente. En esta realización de la presente invención, el mapa de bits diferencial se puede guardar en una caché del primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120, o se puede guardar en un almacenamiento del primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120.
Se puede entender que, además de registrarse en una forma de mapa de bits diferencial, la información de datos diferenciales se puede registrar además en una estructura de árbol. Por ejemplo, la información de datos diferenciales se puede registrar mediante la utilización de un árbol binario diferencial, un árbol B+ diferencial u otro árbol. Cuando la información de datos diferenciales se registra mediante la utilización de la estructura de árbol, cada nodo hoja se puede corresponder con una dirección en un LUN. Cuando se produce una escritura de datos, se fija un bit indicador del nodo hoja a un identificador correspondiente, para representar que se produce una escritura de datos de una dirección correspondiente al nodo hoja. En otra situación adicional, la información de datos diferenciales también se puede registrar en una estructura de una lista enlazada o una entrada. Cuando la información de datos diferenciales se representa en forma de una lista enlazada, cada entrada en la lista se corresponde con una dirección en un LUN. Además, la información de datos diferenciales se puede registrar además en forma de un registro y similar, lo cual no está limitado en la presente. De manera similar al mapa de bits diferencial, la información de datos diferenciales anterior registrada en forma de estructura de árbol, de lista enlazada, de registro y similares se puede guardar en la caché del primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120, o se puede guardar en el almacenamiento del primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120.
Se puede entender que, cuando la información de datos diferenciales se registra en forma de mapa de bits diferencial, la información de réplica también se puede representar en forma de un mapa de bits de réplica. Cuando la información de datos diferenciales se registra en forma de un árbol diferencial, la información de réplica también se puede representar en forma de un árbol de réplica, y así sucesivamente, y esos detalles no se vuelven a describir en la presente.
En esta realización de la presente invención, para facilitar la descripción, se proporciona una descripción a continuación, a modo de ejemplo, mediante la utilización de un mapa de bits diferencial, y se utiliza un bit indicador "1" para representar que se produce una escritura de datos. Cuando en una situación se inicia una tarea de réplica, el primer dispositivo de almacenamiento 110 puede convertir un mapa de bits diferencial, cuando se inicia la tarea de réplica, a un mapa de bits de réplica para determinar la información de réplica y regenerar un mapa de bits vacío, con el fin de registrar los datos que se escriben en el LUN en el primer dispositivo de almacenamiento 110 después de que se inicie la tarea de réplica en curso. El mapa de bits de réplica se utiliza para representar los datos que es necesario replicar en el tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso. De esta manera, durante la réplica, los datos de una dirección correspondiente a una cuadrícula "1" en el mapa de bits de réplica se pueden replicar en el tercer dispositivo de almacenamiento 130. En otra situación, se pueden fijar un mapa de bits diferencial y un mapa de bits de réplica en el primer dispositivo de almacenamiento 110, y el mapa de bits diferencial se utiliza para registrar la información sobre los datos escritos en el primer dispositivo de almacenamiento después de que comience una tarea de réplica previa a la tarea de réplica en curso y antes de que comience la tarea de réplica en curso. Cuando comienza la tarea de réplica en curso, el mapa de bits diferencial se puede convertir en un mapa de bits de réplica en la tarea de réplica en curso, y un mapa de bits de réplica que se ha utilizado en la tarea de réplica previa se convierte en un nuevo mapa de bits diferencial para registrar información sobre los datos escritos después de que se inicie la tarea de réplica en curso. Cabe destacar que, cuando el mapa de bits de réplica que se ha utilizado en la tarea de réplica previa se convierte en el nuevo mapa de bits diferencial, es necesario limpiar los bits indicadores en el mapa de bits de réplica de la tarea de réplica previa y, a continuación, se utiliza un mapa de bits limpio como el nuevo mapa de bits diferencial. Dicho de otro modo, en esta situación, el mapa de bits diferencial y el mapa de bits de réplica se pueden utilizar de manera alternada, y se utilizan respectivamente para registrar la información de datos diferenciales y la información sobre los datos a replicar en el tercer dispositivo de almacenamiento 130. En la presente, no está limitada una manera para determinar de manera específica la información de réplica de acuerdo con la información de datos diferenciales.
Tal como se describe anteriormente, en el sistema de recuperación de catástrofes 3DC mostrado en la figura 1, debido a que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, que están en el primer sistema de almacenamiento 33, mantienen la coherencia de los datos almacenados utilizando una tecnología de réplica sincrónica, cuando se determina que es necesario iniciar una tarea de réplica entre el primer sistema de almacenamiento 33 y el segundo sistema de almacenamiento 44, y dicho de otro modo, cuando se determina que es necesario iniciar una réplica asincrónica en el tercer dispositivo de almacenamiento 130, el primer sistema de almacenamiento 33 necesita determinar la información de réplica para indicar los datos del primer sistema de almacenamiento 33 que es necesario replicar en el segundo sistema de almacenamiento 44 en la tarea de réplica en curso. Una situación, en la que el primer sistema de almacenamiento 33 determina la información de réplica, puede ser de manera específica: el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 pueden determinar de manera independiente la información de réplica de acuerdo con los datos almacenados. Debido a que los datos almacenados en el primer dispositivo de almacenamiento 110 son los mismos que los datos almacenados en el segundo dispositivo de almacenamiento 120, la información de réplica determinada mediante el primer dispositivo de almacenamiento 110, de acuerdo con los datos almacenados, es la misma que la información de réplica determinada mediante el segundo dispositivo de almacenamiento 120, de acuerdo con los datos almacenados. De manera específica, en esta realización de la presente invención, se proporciona una descripción utilizando un ejemplo en el que la tarea de réplica en curso es una tarea de réplica iniciada entre un primer volumen de datos de origen en el primer dispositivo de almacenamiento 110, un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 y un volumen de datos de destino en el tercer dispositivo de almacenamiento 130. Los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen. La figura 3b es un diagrama de flujo de un método de determinación de la información de réplica, de acuerdo con una realización de la presente invención. Tal como se muestra en la figura 3b, el método puede incluir los siguientes pasos.
En el paso 310, el primer dispositivo de almacenamiento 110 envía un mensaje de inicio de la tarea de réplica al segundo dispositivo de almacenamiento 120. El mensaje de comienzo de la tarea de réplica contiene un identificador del primer volumen de datos de origen en el primer dispositivo de almacenamiento 110 y un identificador del volumen de datos de destino en el tercer dispositivo de almacenamiento 130. El mensaje de inicio de la tarea de réplica se utiliza para notificar al segundo dispositivo de almacenamiento 120 que la tarea de réplica en curso es una tarea de réplica entre el primer volumen de datos de origen en el primer dispositivo de almacenamiento 110 y el volumen de datos de destino en el tercer dispositivo de almacenamiento 130.
El mensaje de inicio de la tarea de réplica puede tener un formato de mensaje definido previamente. Por ejemplo, un encabezamiento del mensaje de inicio de la tarea de réplica puede incluir un campo de tipo de mensaje (por ejemplo, opCode), un campo de ID del dispositivo de origen (por ejemplo, srcAppId) y un campo de ID del dispositivo de destino (por ejemplo, dstAppId). El campo de tipo de mensaje se utiliza para representar que un tipo del mensaje es información de inicio de la tarea de réplica. El campo de ID del dispositivo de origen se utiliza para identificar un iniciador del mensaje de progreso de réplica, y un campo de ID del dispositivo de destino se utiliza para identificar un receptor del mensaje de inicio de la tarea de réplica. Tanto el campo de ID del dispositivo de origen como el campo de ID del dispositivo de destino se pueden identificar utilizando una dirección IP. Un formato de una parte de contenido (por ejemplo, un campo de datos del mensaje de inicio de la tarea de réplica) del mensaje de inicio de la tarea de réplica se puede mostrar como sigue:
Figure imgf000015_0001
donde el ID LUN puede estar ubicado en los bytes del cero al cuarto, y se utiliza para representar un identificador de un volumen de datos de origen en la tarea de réplica en curso, donde el identificador de LUN es un identificador único; y
El id LUN de objeto de réplica puede estar situado en los bytes del cuarto al octavo, y se utiliza para representar un identificador de un volumen de datos de destino en un dispositivo de destino que recibe los datos en la tarea de réplica en curso, y puede ser, por ejemplo, un ID LUN del dispositivo de destino; dicho de otro modo, el campo se utiliza para representar un volumen de datos de destino en un dispositivo de almacenamiento de destino al cual apunta la tarea de réplica en curso.
Por ejemplo, en este paso, en el mensaje de inicio de la tarea de réplica enviado por el primer dispositivo de almacenamiento 110 al tercer dispositivo de almacenamiento 130, el campo "ID LUN" puede ser un ID, por ejemplo, LUN001, del primer volumen de datos de origen, en el primer dispositivo de almacenamiento 110, que almacena los datos a replicar, y el campo "id LUN de objeto de réplica" puede ser un ID, por ejemplo, LUN003 del volumen de datos de destino en el tercer dispositivo de almacenamiento 130, de modo que indique que la tarea de réplica en curso es una tarea de réplica entre un LUN con un identificador de 001, en el primer dispositivo de almacenamiento 110, y un LUN con un identificador de 003 en el tercer dispositivo de almacenamiento 130. En otra situación adicional, el campo "ID LUN" también puede ser un ID del segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120. En este caso, el primer dispositivo de almacenamiento 110 puede determinar un identificador del segundo volumen de datos de origen a priori, de acuerdo con una relación de réplica preestablecida, el identificador del primer volumen de datos de origen y con el identificador del volumen de datos de destino.
En el paso 312, el segundo dispositivo de almacenamiento 120 determina el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento, de acuerdo con el identificador del primer volumen de datos de origen, el identificador del volumen de datos de destino y con una relación de réplica preestablecida. La relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el segundo volumen de datos de origen y el volumen de datos de destino. Tal como se describe anteriormente, en esta realización de la presente invención, la relación de réplica entre los volúmenes de datos está preestablecida en cada uno del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130. Después de que el segundo dispositivo de almacenamiento 120 reciba el mensaje de inicio de la tarea de réplica del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 puede determinar el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120, de acuerdo con la relación de réplica preestablecida, y el identificador del primer volumen de datos de origen y el identificador del volumen de datos de destino que están contenidos en el mensaje de inicio de la tarea de réplica.
En el paso 314, el segundo dispositivo de almacenamiento 120 determina la información de réplica de acuerdo con los datos almacenados en el segundo volumen de datos de origen determinado. En el paso 316, el primer dispositivo de almacenamiento 110 determina la información de réplica de acuerdo con los datos almacenados en el primer volumen de datos de origen determinado. Por ejemplo, el segundo dispositivo de almacenamiento 120 puede generar un mapa de bits de réplica de acuerdo con un mapa de bits diferencial del segundo volumen de datos de origen, y el primer dispositivo de almacenamiento 110 puede generar un mapa de bits de réplica de acuerdo con un mapa de bits diferencial del primer volumen de datos. Para cómo el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 determinan de manera específica la información de réplica, de acuerdo con los datos almacenados en los volúmenes de datos, se puede hacer referencia a la descripción anterior, y esos detalles no se vuelven a describir en la presente. Debido a que los datos almacenados en el segundo volumen de datos de origen son los mismos que los datos almacenados en el primer volumen de datos de origen, la información de réplica determinada mediante el segundo dispositivo de almacenamiento 120, de acuerdo con el segundo volumen de datos de origen, es la misma que la información de réplica determinada, de acuerdo con el primer volumen de datos, y la información de réplica es la información de réplica determinada mediante el primer sistema de almacenamiento 33 en la tarea de réplica en curso, y se utiliza para indicar los datos del primer sistema de almacenamiento 33 que es necesario replicar en el segundo sistema de almacenamiento 44 en la tarea de réplica en curso.
Otra situación, en la que el primer sistema de almacenamiento 33 determina la información de réplica, también puede ser de manera específica: el primer dispositivo de almacenamiento 110 en el primer sistema de almacenamiento 33 determina la información de réplica de acuerdo con los datos almacenados en el primer dispositivo de almacenamiento 110, y a continuación envía la información de réplica determinada al segundo dispositivo de almacenamiento 120. De esta manera, cada uno del primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 puede tener la misma información de réplica. De manera específica, tal como se muestra en la figura 3c, la figura 3b es un diagrama de flujo de otro método de determinación de la información de réplica, de acuerdo con una realización de la presente invención. El método de determinación de la información de réplica mostrado en la figura 3c se describe utilizando un ejemplo en el que la tarea de réplica en curso es una tarea de réplica iniciada entre el primer volumen de datos de origen en el primer dispositivo de almacenamiento 110, el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 y el volumen de datos de destino en el tercer dispositivo de almacenamiento 130. Los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen. El método puede incluir los siguientes pasos.
En el paso 320, el primer dispositivo de almacenamiento 110 determina la información de réplica de acuerdo con los datos almacenados en el primer volumen de datos de origen. De manera específica, cuando es necesario comenzar la tarea de réplica, el primer dispositivo de almacenamiento 110 puede determinar que la información de réplica de acuerdo con un mapa de bits diferencial del primer volumen de datos de origen, donde la información de réplica se utiliza para indicar los datos que es necesario replicar del segundo sistema de almacenamiento 44 en la tarea de réplica en curso. Para una manera específica en la que el primer dispositivo de almacenamiento 110 determina la información de réplica, se puede hacer referencia a la descripción anterior, y esos detalles no se vuelven a describir en la presente.
En el paso 322, el primer dispositivo de almacenamiento 110 envía un mensaje de inicio de la tarea de réplica al segundo dispositivo de almacenamiento 120. El mensaje de inicio de la tarea de réplica puede contener un identificador del primer volumen de datos de origen, un identificador del volumen de datos de destino y la información de réplica. El mensaje de inicio de la tarea de réplica se utiliza para notificar al segundo dispositivo de almacenamiento 120 que la tarea de réplica en curso es una tarea de réplica entre el primer volumen de datos de origen en el primer dispositivo de almacenamiento 110 y el volumen de datos de destino en el tercer dispositivo de almacenamiento 130. Debido a que el primer dispositivo de almacenamiento 110 ya determina la información de réplica en la tarea de réplica en curso de acuerdo con el primer volumen de datos de origen en el paso 320, el primer dispositivo de almacenamiento 110 puede enviar la información de réplica al segundo dispositivo de almacenamiento 120 al mismo tiempo, cuando da instrucciones al segundo dispositivo de almacenamiento 120 de iniciar la tarea de réplica. Por lo tanto, el segundo dispositivo de almacenamiento 120 puede no determinar la información de réplica por sí mismo. Se puede entender que, en una situación en la que el segundo dispositivo de almacenamiento 120 no registra los datos diferenciales, el primer dispositivo de almacenamiento 110 también puede enviar la información de réplica en la tarea de réplica en curso al segundo dispositivo de almacenamiento 120. Se puede entender que, en una aplicación real, además de contener la información de réplica, el mensaje de inicio de la tarea de réplica puede contener además el identificador del primer volumen de datos de origen y el identificador del volumen de datos de destino, para indicar que la tarea de réplica en curso es réplica entre el primer volumen de datos de origen y el volumen de datos de destino. Para una descripción específica del mensaje de inicio de la tarea de réplica se puede hacer referencia a la descripción anterior, y de manera específica, la información de réplica puede estar contenida además en otro campo de la parte de datos del mensaje de inicio de la tarea de réplica anterior. Por ejemplo, la información de réplica (por ejemplo, la información de la dirección de los datos a replicar) puede estar contenida en un campo después del octavo byte, y esos detalles no se vuelven a describir en la presente.
En el paso 324, el segundo dispositivo de almacenamiento 120 determina, de acuerdo con el identificador del primer volumen de datos de origen, el identificador del volumen de datos de destino y una relación de réplica preestablecida, el segundo volumen de datos de origen correspondiente a la información de réplica. La relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el volumen de datos de destino y el segundo volumen de datos de origen. De manera específica, después de recibir el mensaje de inicio de la tarea de réplica del primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 puede determinar, de acuerdo con la relación de réplica preestablecida y el identificador del primer volumen de datos de origen y el identificador del volumen de datos de destino, que están contenidos en el mensaje de inicio de la tarea de réplica, el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120, que almacena los mismos datos que el primer volumen de datos de origen, de modo que se pueda determinar el segundo volumen de datos de origen correspondiente a la información de réplica.
La figura 3b y la figura 3c muestran dos maneras de implementación, en las que el primer sistema de almacenamiento 33 determina la información de réplica de acuerdo con esta realización de la presente invención. En una aplicación real, la información de réplica determinada mediante el primer sistema de almacenamiento 33 en la tarea de réplica en curso se puede determinar además de otra manera, de acuerdo con un despliegue específico de red, y una manera específica en la que el primer sistema de almacenamiento 33 determina la información de réplica no está limitada en la presente. Cabe destacar que, en esta realización de la presente invención, debido a que la tarea de réplica es una tarea de réplica ejecutada entre los volúmenes de datos, toda la información de réplica en esta realización de la presente invención hace referencia a la información de réplica de un volumen de datos en un dispositivo de almacenamiento. En general, un volumen de datos se corresponde con una pieza de información de réplica en una tarea de réplica.
En el paso 302, el primer sistema de almacenamiento 33 determina la primera información secundaria de réplica y la segunda información secundaria de réplica, de acuerdo con la información de réplica. La primera información secundaria de réplica se utiliza para indicar los datos del primer dispositivo de almacenamiento 110 que es necesario replicar en el tercer dispositivo de almacenamiento 130, y la segunda información secundaria de réplica se utiliza para indicar los datos del segundo dispositivo de almacenamiento 120 que es necesario replicar en el tercer dispositivo de almacenamiento 130. Cabe destacar que, cuando se determinan la primera información secundaria de réplica y la segunda información secundaria de réplica, es necesario determinar los rangos de datos indicados mediante la primera información secundaria de réplica y la segunda información secundaria de réplica, de modo que se evite que se repitan los datos replicados mediante el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120.
En una aplicación real, en una situación, la primera información secundaria de réplica y la segunda información secundaria de réplica se pueden determinar mediante el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 respectivamente, que están en el primer sistema de almacenamiento 33. De manera específica, el primer dispositivo de almacenamiento 110 puede determinar la primera información secundaria de réplica, de acuerdo con la información de réplica determinada en el paso 300 y una política de réplica preestablecida, y el segundo dispositivo de almacenamiento 120 puede determinar la segunda información de réplica, de acuerdo con la información de réplica determinada en el paso 300 y la política de réplica preestablecida. En una aplicación real, se puede establecer previamente una política de réplica en el primer dispositivo de almacenamiento 110, donde la política de réplica puede incluir una ratio de réplica, un rango de réplica y similares. Por ejemplo, en una situación, la política establecida puede ser: el primer dispositivo de almacenamiento 110 lleva a cabo la réplica en una dirección desde un encabezamiento de un mapa de bits de réplica hasta una cola, el segundo dispositivo de almacenamiento 120 lleva a cabo la réplica en una dirección desde la cola del mapa de bits de réplica hasta el encabezamiento, y la réplica finaliza cuando se superponen los rangos de réplica. En otra situación, la política establecida puede ser: el primer dispositivo de almacenamiento 110 replica un 60% de los datos diferenciales en una dirección desde un encabezamiento de un mapa de bits de réplica hasta una cola, y el segundo dispositivo de almacenamiento replica un 40% de los datos diferenciales en una dirección desde la cola del mapa de bits de réplica hasta el encabezamiento. En otra situación adicional, la política establecida puede ser además: el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 replican los datos diferenciales de manera independiente desde la mitad de un mapa de bits de réplica hasta los dos extremos. Además, la política establecida puede incluir además un rango de direcciones de los datos que es necesario replicar del primer dispositivo de almacenamiento 110, un rango de direcciones de los datos que es necesario replicar del segundo dispositivo de almacenamiento 120 y similares. En una aplicación real, la política de réplica se puede establecer de acuerdo con un caso específico, y la política de réplica específica no está limitada en la presente.
Cabe destacar que, debido a que en esta realización de la presente invención, cuando se inicia la réplica asincrónica, de una tarea de réplica en curso que es necesario que sea compartida por el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, es necesario que se establezca una misma política de réplica en el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, de modo que se evite que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 repliquen los mismos datos en el tercer dispositivo de almacenamiento 130.
En otra situación adicional, para facilitar que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 implementen un equilibrio de cargas en el proceso de réplica, el primer dispositivo de almacenamiento 110 puede negociar con el segundo dispositivo de almacenamiento 120 de acuerdo con la información de réplica, con el fin de determinar la primera información secundaria de réplica y la segunda información secundaria de réplica. De manera específica, tal como se muestra en la figura 1, en un proceso de negociación, el primer dispositivo de almacenamiento 110 puede recibir una demanda de negociación del segundo dispositivo de almacenamiento 120, donde la demanda de negociación incluye, al menos, la información del ancho de banda de un segundo enlace. El primer dispositivo de almacenamiento 110 puede determinar la primera información secundaria de réplica y la segunda información secundaria de réplica, de acuerdo con la información del ancho de banda del segundo enlace. Por ejemplo, si el ancho de banda del segundo enlace es mayor que el ancho de banda de un primer enlace, el primer dispositivo de almacenamiento 110 puede determinar que una cantidad de datos indicada por la primera información secundaria de réplica sea menor que una cantidad de datos indicada por la segunda información secundaria de réplica. Por ejemplo, los datos indicados por la primera información secundaria de réplica son un 30% de una cantidad total de datos que es necesario replicar, y los datos indicados por la segunda información secundaria de réplica son un 70% de la cantidad total de datos que es necesario replicar. Después de que el primer dispositivo de almacenamiento 110 determine la primera información secundaria de réplica y la segunda información secundaria de réplica, el primer dispositivo de almacenamiento 110 puede enviar la segunda información secundaria de réplica determinada al segundo dispositivo de almacenamiento 120. La segunda información secundaria de réplica se puede enviar al segundo dispositivo de almacenamiento 120 en forma de un mensaje de respuesta de negociación, y es necesario que el mensaje de respuesta de negociación contenga un rango de direcciones de los datos indicados por la segunda información secundaria de réplica. Cabe destacar que, en esta realización de la presente invención, tanto la primera información secundaria de réplica como la segunda información secundaria de réplica son una parte de la información de réplica. Como alternativa, dicho de otro modo, tanto los datos indicados mediante la primera información secundaria de réplica como los datos indicados por la segunda información secundaria de réplica son una parte de los datos indicados por la información de réplica. Se puede entender que, si el primer sistema de almacenamiento 33 incluye únicamente dos dispositivos de almacenamiento, la información de réplica puede estar compuesta por la primera información secundaria de réplica y la segunda información secundaria de réplica. En esta realización de la presente invención, cuando la información de réplica se representa a modo de un mapa de bits de réplica, no es necesario representar la primera información secundaria de réplica o la segunda información secundaria de réplica utilizando un mapa de bits de réplica independiente adicional, y se puede identificar un rango de la primera información secundaria de réplica o la segunda información secundaria de réplica en el mapa de bits de réplica. En esta realización de la presente invención, una forma específica de la primera información secundaria de réplica y la segunda información secundaria de réplica no está limitada, siempre que un rango de datos que es necesario replicar se pueda identificar mediante la primera información secundaria de réplica y la segunda información secundaria de réplica.
Se puede entender que esta realización de la presente invención se describe únicamente suponiendo que el primer sistema de almacenamiento 33 incluye dos dispositivos de almacenamiento. En una aplicación real, si el primer dispositivo de almacenamiento 33 incluye N dispositivos de almacenamiento, cuando se inicia la réplica asincrónica, la información de réplica en la tarea de réplica en curso se puede dividir en N partes. Dicho de otro modo, se pueden determinar N piezas de información secundaria de réplica de acuerdo con la información de réplica en la tarea de réplica en curso, y los N dispositivos llevan a cabo la réplica de manera simultánea en un tercer dispositivo de acuerdo con las N piezas de información secundaria de réplica respectivamente, donde N es un número natural mayor de 2. Cuando la información de réplica se representa a modo de un mapa de bits de réplica, la primera información secundaria de réplica y la segunda información secundaria de réplica también se pueden representar a modo de un mapa de bits de réplica.
En el paso 304, el primer dispositivo de almacenamiento 110 replica, en el tercer dispositivo de almacenamiento 130 de acuerdo con la primera información secundaria de réplica, los datos del primer dispositivo de almacenamiento 110 que es necesario replicar en el tercer dispositivo de almacenamiento 130. Por ejemplo, cuando la información de réplica se representa a modo de un mapa de bits de réplica, el primer dispositivo de almacenamiento 110 puede replicar en el volumen de datos de destino del tercer dispositivo de almacenamiento 130, de acuerdo con la primera información secundaria de réplica, los datos en el primer volumen de datos de origen correspondientes a una posición con un bit indicador de "1" en el mapa de bits de réplica. De manera específica, el primer dispositivo de almacenamiento 110 puede enviar, al volumen de datos de destino del tercer dispositivo de almacenamiento 130 utilizando una orden de escritura de datos o una orden de réplica, los datos del primer volumen de datos de origen en el primer dispositivo de almacenamiento 110 que es necesario replicar en el tercer dispositivo de almacenamiento 130.
Tal como se muestra en la figura 1, debido a que el primer dispositivo de almacenamiento 110 y el tercer dispositivo de almacenamiento 130 implementan la copia de seguridad de datos utilizando una tecnología de réplica asincrónica, comparada con los datos almacenados en el tercer dispositivo de almacenamiento 110, hay un retardo temporal particular para los datos almacenados en el tercer dispositivo de almacenamiento 130. En general, el primer dispositivo de almacenamiento 110 recibe múltiples órdenes de escritura de datos del ordenador anfitrión 100 en un período de tiempo, y cuando el primer dispositivo de almacenamiento 110 lleva a cabo una réplica asincrónica remota en el tercer dispositivo de almacenamiento 130, el ordenador anfitrión 100 aún puede enviar una orden de escritura de datos al primer dispositivo de almacenamiento 110. Por lo tanto, cuando se ejecuta la tarea de réplica en curso es necesario distinguir, de los nuevos datos recibidos en el primer dispositivo de almacenamiento 110, los datos del primer dispositivo de almacenamiento 110 que se envían al tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso.
En esta realización de la presente invención, se pueden distinguir utilizando una tecnología de captura los datos del primer dispositivo de almacenamiento 110 que se envían al tercer dispositivo de almacenamiento 130 en el proceso de réplica y los nuevos datos recibidos por el primer dispositivo de almacenamiento 110 en el proceso de réplica. Una captura es una copia totalmente utilizable de una colección de datos específica, donde la copia incluye una imagen de unos datos correspondientes en un instante temporal (un instante temporal en el que comienza la copia). La captura puede ser un duplicado de los datos representados por la captura, o una réplica de los datos. En esta realización de la presente invención, cuando se inicia la réplica, se puede crear una vista de estado para un volumen de datos en un momento de creación, únicamente los datos en el momento de creación del volumen de datos se pueden observar utilizando la vista, y la modificación (se escriben datos nuevos) del volumen de datos después del instante temporal no se refleja en la vista de captura. La réplica de datos se puede llevar a cabo utilizando la vista de captura. Para el primer dispositivo de almacenamiento 110, debido a que los datos de captura son "estáticos", el primer dispositivo de almacenamiento 110 puede replicar los datos de captura en el tercer dispositivo de almacenamiento 130 después de crear una captura de los datos en cada instante temporal. De esta manera, se puede completar la réplica de datos remota, y no se ve afectada por que el primer dispositivo de almacenamiento 110 continúe recibiendo las órdenes de escritura de datos enviadas por el ordenador anfitrión 100 durante la réplica. Por lo tanto, el primer dispositivo de almacenamiento 110 puede llevar a cabo un procesamiento de captura de los datos en el primer volumen de datos de origen en un momento de comienzo de la réplica para formar un duplicado de datos del primer volumen de datos de origen en el momento, y enviar el duplicado de los datos al volumen de datos de destino en el tercer dispositivo de almacenamiento 130. Cabe destacar que el duplicado de los datos son los datos a replicar en el tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso.
De manera opcional, en esta realización de la presente invención, el problema anterior también se puede resolver de modo que se añada un número de intervalo temporal a cada orden de escritura de datos recibida en el primer dispositivo de almacenamiento 110. Por ejemplo, el primer dispositivo de almacenamiento 110 puede incluir un gestor de números de intervalos temporales en curso, donde el gestor de números de intervalos temporales en curso guarda un número del intervalo temporal en curso. El número del intervalo temporal en curso se puede representar mediante un valor, tal como 0, 1 o 2; el número del intervalo temporal en curso también se puede representar mediante una letra, tal como a, b o c, lo cual no está limitado en la presente. Cuando el primer dispositivo de almacenamiento 110 recibe una orden de escritura de datos, se añade a los datos un primer número, asignado mediante el número de intervalo temporal en curso, y una dirección de los datos que están contenidos en la orden de escritura de datos. Cuando se activa una tarea de réplica asincrónica remota, los datos correspondientes al primer número se utilizan como datos a replicar en el tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso, y los datos correspondientes al primer número y la dirección de los datos se envían al tercer dispositivo de almacenamiento 130. El número del intervalo temporal en curso también se modifica, de modo que se identifique una orden de escritura de datos posterior. Además, en esta realización de la presente invención, los datos del primer dispositivo de almacenamiento 110 que es necesario enviar al tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso y los nuevos datos recibidos en el primer dispositivo de almacenamiento 110 se pueden distinguir de otra manera, la cual no está limitada en la presente.
En esta realización de la presente invención, se utiliza un ejemplo en el que un volumen de datos incluido en un espacio de almacenamiento del primer dispositivo de almacenamiento 110 es un LUN. Cuando se inicia una tarea de réplica, por ejemplo, cuando se determina la información de réplica, el primer dispositivo de almacenamiento 110 puede crear un duplicado de un primer LUN de origen en un momento en curso por medio de una captura. A continuación, en el paso 306, el primer dispositivo de almacenamiento 110 puede replicar datos, en el duplicado creado del primer LUN de origen, de una dirección correspondiente a una cuadrícula con un bit indicador de "1" en la primera información secundaria de réplica a un LUN de destino del tercer dispositivo de almacenamiento 130. Un experto en la técnica puede entender que, con esta manera de creación de duplicados de LUN, incluso si los nuevos datos se vuelven a escribir en el primer dispositivo de almacenamiento 110 en la misma dirección del primer LUN de origen en la tarea de réplica en curso, los datos que se necesitan replicar en la tarea de réplica en curso no se ven afectados.
En este paso se utiliza un ejemplo en el que el primer dispositivo de almacenamiento 110 replica los datos en el tercer dispositivo de almacenamiento 130 utilizando una orden de escritura de datos. Cuando el primer dispositivo de almacenamiento 110 replica los datos en el LUN de destino del tercer dispositivo de almacenamiento 130, de acuerdo con el duplicado creado del primer LUN de origen y la primera información secundaria de réplica, la orden de escritura de datos enviada por el primer dispositivo de almacenamiento 110 al tercer dispositivo de almacenamiento 130 es necesario que incluya un identificador del LUN de destino, los datos a escribir y una dirección de los datos a escribir que hay en la tarea de réplica en curso. El identificador del LUN de destino puede ser un ID LUN. La dirección de los datos a escribir puede ser una dirección LBA de los datos, para representar una dirección de destino de los datos. El tercer dispositivo de almacenamiento 130 puede escribir los datos contenidos en la orden de escritura de datos en el LUN de destino del tercer dispositivo de almacenamiento 130, de acuerdo con el identificador del LUN de destino y la dirección LBA de los datos a escribir. Se puede entender que, la orden de escritura de datos enviada por el primer dispositivo de almacenamiento 110 al tercer dispositivo de almacenamiento 130 puede contener además un ID del primer LUN de origen de los datos a escribir, para identificar que los datos son datos enviados desde el primer LUN de origen del primer dispositivo de almacenamiento 110.
En el paso 306, el segundo dispositivo de almacenamiento 120 replica, en el tercer dispositivo de almacenamiento 130, de acuerdo con la segunda información secundaria de réplica, los datos del segundo dispositivo de almacenamiento 120 que es necesario replicar en el tercer dispositivo de almacenamiento 130. Debido a que el paso 306 es similar al paso 304 se puede hacer referencia a la descripción pertinente del paso 304. Cabe destacar que, en esta realización de la presente invención, no hay secuencia para el paso 304 y el paso 306, y el proceso de réplica del primer dispositivo de almacenamiento 110 y el proceso de réplica del segundo dispositivo de almacenamiento 120 se pueden llevar a cabo al mismo tiempo.
En esta realización de la presente invención, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 mantienen la coherencia de los datos almacenados en un modo de réplica sincrónica, y la información de réplica en la tarea de réplica en curso se determina de acuerdo con la información de datos diferenciales escrita en un volumen de datos. Por ejemplo, la información de réplica en la tarea de réplica en curso se determina de acuerdo con la información de datos diferenciales escrita en el primer volumen de datos de origen del primer dispositivo de almacenamiento 110. Los datos almacenados en el primer volumen de datos de origen del primer dispositivo de almacenamiento 110 son los mismos que los datos almacenados en el segundo volumen de datos de origen del segundo dispositivo de almacenamiento 120, y la primera información secundaria de réplica y la segunda información secundaria de réplica se determinan de acuerdo con la misma información de réplica, donde el primer volumen de datos de origen también almacena los mismos datos que los datos indicados por la segunda información secundaria de réplica, y donde el segundo volumen de datos de origen también almacena los mismos datos que los datos indicados por la primera información secundaria de réplica.
En el método mostrado en la figura 3, debido a que un primer dispositivo de almacenamiento 110 y un segundo dispositivo de almacenamiento 120, que están en un primer sistema de almacenamiento 33, almacenan los mismos datos, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 pueden tener la misma información de réplica. En un proceso de réplica asincrónica, el primer sistema de almacenamiento 33 determina la primera información secundaria de réplica y la segunda información secundaria de réplica utilizando la información de réplica, donde el primer dispositivo de almacenamiento 110 replica los datos en un tercer dispositivo de almacenamiento 130, de acuerdo con la primera información secundaria de réplica, y donde el segundo dispositivo de almacenamiento 120 replica los datos en el tercer dispositivo de almacenamiento 130 de acuerdo con la segunda información secundaria de réplica. De acuerdo con el método proporcionado por esta realización de la presente invención, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, que están en el primer sistema de almacenamiento 33, pueden compartir una misma tarea de réplica del primer sistema de almacenamiento 33. Comparado con la técnica anterior en la que se utiliza un único enlace para la réplica, en el método mostrado en la figura 3, se puede mejorar el ancho de banda de un enlace de réplica entre el primer sistema de almacenamiento 33 y un segundo sistema de almacenamiento 44 sin aumentar los costes de producción, lo que mejora de ese modo la eficiencia de la réplica. Por ejemplo, si el ancho de banda tanto de un primer enlace como de un segundo enlace mostrados en la figura 1 es 10 M, de acuerdo con el método de esta realización de la presente invención, cuando los datos en un LUN del primer sistema de almacenamiento 33 se replican en el tercer dispositivo de almacenamiento 130, el ancho de banda de un enlace de réplica puede alcanzar 20 M. No obstante, de acuerdo con el método en la técnica anterior, en el que se utiliza únicamente un enlace para la réplica, el ancho de banda de un enlace de réplica es simplemente 10 M.
Además, comparado con la técnica anterior en la que se utiliza para réplica únicamente un dispositivo de almacenamiento en el primer sistema de almacenamiento 33, de acuerdo con el método de la realización mostrada en la figura 3, cuando se inicia una réplica asincrónica remota, se utilizan múltiples dispositivos de almacenamiento en el primer sistema de almacenamiento 33 al mismo tiempo, de modo que se pueda reducir el consumo de recursos para un dispositivo de almacenamiento individual en el primer sistema de almacenamiento 33.
La figura 4a y la figura 4b son diagramas de señalización de un método de réplica de datos, de acuerdo con una realización de la presente invención. En el método mostrado en la figura 4a y la figura 4b, se describe adicionalmente con detalle el método mostrado en la figura 3 desde las perspectivas de un primer sistema de almacenamiento 33 y un segundo sistema de almacenamiento 44. Se puede entender que las estructuras específicas de un primer dispositivo de almacenamiento 110, un segundo dispositivo de almacenamiento 120 y un tercer dispositivo de almacenamiento 130 en el método mostrado en la figura 4a y la figura 4b aún se muestran en la figura 2. De manera específica, el método mostrado en la figura 4a y la figura 4b se puede llevar a cabo de manera independiente mediante un procesador en el primer dispositivo de almacenamiento 110, un procesador en el segundo dispositivo de almacenamiento 120 y un procesador en el tercer dispositivo de almacenamiento 130. Para facilitar la descripción, en esta realización de la presente invención, la información de réplica se representa mediante un mapa de bits de réplica, y la información de datos diferenciales se representa mediante un mapa de bits diferencial. En esta realización de la presente invención, se proporciona una descripción utilizando aún un ejemplo en el que una tarea de réplica en curso es una tarea de réplica entre un primer volumen de datos de origen en el primer dispositivo de almacenamiento 110, un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 y un volumen de datos de destino en el tercer dispositivo de almacenamiento 130. Lo que sigue a continuación describe el método mostrado en la figura 4a y la figura 4b haciendo referencia a la figura 1 y la figura 3. De manera específica, tal como se muestra en la figura 4a y la figura 4b, el método incluye: En el paso 402, el primer dispositivo de almacenamiento 110 determina iniciar una tarea de réplica asincrónica. En una aplicación real, el primer dispositivo de almacenamiento 110 puede determinar, de acuerdo con un temporizador ajustado, si iniciar una tarea de réplica asincrónica; cuando el temporizador alcanza un instante de réplica asincrónica establecido, el primer dispositivo de almacenamiento 110 determina iniciar la tarea de réplica asincrónica. Se puede entender que, que el primer dispositivo de almacenamiento 110 inicie una réplica asincrónica mediante el ajuste de un temporizador es simplemente una manera de implementación. En una aplicación real, el primer dispositivo de almacenamiento 110 puede determinar además, de acuerdo con una cantidad de datos recibidos, si iniciar la tarea de réplica asincrónica. Cuando una cantidad de datos recibidos en el primer dispositivo de almacenamiento 110 es relativamente pequeña, el primer dispositivo de almacenamiento 110 puede determinar iniciar la tarea de réplica asincrónica.
En el paso 404, el primer dispositivo de almacenamiento 110 deja de recibir una orden de escritura de datos de un ordenador anfitrión 100 y procesa una orden de escritura de datos recibida. En una aplicación real, en la que el ordenador anfitrión 100 escribe los datos en el primer dispositivo de almacenamiento 110, o el ordenador anfitrión 100 lee los datos del primer dispositivo de almacenamiento 110, se implementa mediante el envío de una orden de entrada/salida (entrada/salida, I/O) al primer dispositivo de almacenamiento 110. En esta realización de la presente invención, cuando el primer dispositivo de almacenamiento 110 determina iniciar un proceso de réplica asincrónica al tercer dispositivo de almacenamiento, el primer dispositivo de almacenamiento puede dejar de recibir la orden de escritura de datos del ordenador anfitrión, de modo que el primer dispositivo de almacenamiento 110 pueda determinar, de acuerdo con los datos recibidos antes de que se detenga la recepción de la orden de escritura de datos del ordenador anfitrión 100, los datos que es necesario replicar del primer volumen de datos de origen en la tarea de réplica en curso.
En este paso, en un caso en el que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 mantienen una coherencia de datos por medio de una réplica sincrónica, el procesamiento de la orden de escritura de datos recibida incluye la escritura de los datos en el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, de acuerdo con la orden de escritura de datos recibida. De manera específica, después de recibir la orden de escritura de datos enviada por el ordenador anfitrión 100, el primer dispositivo de almacenamiento 110, en primer lugar, puede almacenar temporalmente los datos contenidos en la orden de escritura de datos, y a continuación escribir los datos en una caché a un volumen de datos, de acuerdo con una política de escritura establecida. Al mismo tiempo, tras aprender dicho cambio, un motor de sincronización de datos en el primer dispositivo de almacenamiento 110 puede enviar de manera inmediata un bloque de datos cambiado, desde la caché hasta una caché del segundo dispositivo de almacenamiento 120 directamente mediante la utilización de un conmutador SAN. Después de recibir el bloque de datos, el segundo dispositivo de almacenamiento 120 puede enviar una respuesta de éxito de escritura al primer dispositivo de almacenamiento 110. Después de recibir la respuesta del segundo dispositivo de almacenamiento 120, el primer dispositivo de almacenamiento 110 puede devolver una respuesta de éxito de escritura al ordenador anfitrión 100, para notificar al ordenador anfitrión 100 que se ha completado el procesamiento de los datos en la orden de escritura de datos. De esta manera, los datos que el ordenador anfitrión 100 escribe en el primer volumen de datos de origen del primer dispositivo de almacenamiento 110 se pueden escribir de manera sincrónica en el segundo volumen de datos de origen del segundo dispositivo de almacenamiento 120. De forma similar, los datos que el ordenador anfitrión 100 escribe en el segundo volumen de datos de origen del segundo dispositivo de almacenamiento 120 también se pueden escribir de manera sincrónica en el primer volumen de datos de origen del primer dispositivo de almacenamiento 110 de una manera similar. El primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 mantienen la coherencia de los datos almacenados en el modo de réplica sincrónica anterior.
En el paso 406, el primer dispositivo de almacenamiento 110 da instrucciones al segundo dispositivo de almacenamiento 120 para iniciar una réplica asincrónica. En esta realización de la presente invención, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 mantienen los datos almacenados en el primer dispositivo de almacenamiento 110 iguales a los datos almacenados en el segundo dispositivo de almacenamiento 120 en el modo de réplica sincrónica. Para utilizar totalmente el ancho de banda de un enlace entre el primer dispositivo de almacenamiento 110 y el tercer dispositivo de almacenamiento 130 y de un enlace entre el segundo dispositivo de almacenamiento 120 y el tercer dispositivo de almacenamiento 130, y mejorar la eficiencia de la réplica, en un proceso de réplica de esta realización de la presente invención, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 pueden completar conjuntamente una misma tarea de réplica. Por lo tanto, cuando el primer dispositivo de almacenamiento 110 determina iniciar una réplica asincrónica, se requiere dar instrucciones al segundo dispositivo de almacenamiento 120 para iniciar el proceso de réplica asincrónica.
En este paso, el primer dispositivo de almacenamiento 110 puede enviar un mensaje de inicio de la tarea de réplica al segundo dispositivo de almacenamiento 120. De manera específica, en una primera situación, el primer dispositivo de almacenamiento 110 puede notificar al segundo dispositivo de almacenamiento 120 una relación de réplica involucrada en la tarea de réplica en curso, de modo que el segundo dispositivo de almacenamiento 120 pueda determinar, de acuerdo con una relación de réplica preestablecida, un identificador del volumen de datos que está en el segundo dispositivo de almacenamiento 120 y que está involucrado en la tarea de réplica en curso. Por ejemplo, el primer dispositivo de almacenamiento 110 puede notificar al segundo dispositivo de almacenamiento 120 un identificador de la relación de réplica mediante la utilización del mensaje de inicio de la tarea de réplica. En una segunda situación, el primer dispositivo de almacenamiento 110 puede añadir un identificador del primer volumen de datos de origen y un identificador del volumen de datos de destino a un mensaje de inicio de la tarea de réplica, de modo que el segundo dispositivo de almacenamiento 120 pueda determinar, de acuerdo con una relación de réplica preestablecida, el identificador del primer volumen de datos de origen y el identificador del volumen de datos de destino, el segundo volumen de datos de origen que está en el segundo dispositivo de almacenamiento 120 y que está involucrado en la tarea de réplica en curso. En una tercera situación, después de determinar la tarea de réplica, el primer dispositivo de almacenamiento 110 puede determinar un identificador del segundo volumen de datos de origen, de acuerdo con una relación de réplica preestablecida en el primer dispositivo de almacenamiento 110, un identificador del primer volumen de datos de origen y un identificador del volumen de datos de destino, y añadir el identificador del segundo volumen de datos de origen a un mensaje de inicio de la tarea de réplica que se envía al segundo dispositivo de almacenamiento 120, de modo que el segundo dispositivo de almacenamiento 120 pueda determinar directamente el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120, de acuerdo con el mensaje de inicio de la tarea de réplica recibido. En una cuarta situación, el primer dispositivo de almacenamiento 110 puede añadir un identificador del primer volumen de datos de origen a un mensaje de inicio de la tarea de réplica, de modo que el segundo dispositivo de almacenamiento 120 pueda determinar, de acuerdo con el identificador del primer volumen de datos de origen y una relación de réplica preestablecida, el segundo volumen de datos de origen que está en el segundo dispositivo de almacenamiento 120 y que está involucrado en la tarea de réplica en curso. En una quinta situación, el primer dispositivo de almacenamiento 110 puede añadir además un identificador del volumen de datos de destino a un mensaje de inicio de la tarea de réplica, de modo que el segundo dispositivo de almacenamiento 120 pueda determinar, de acuerdo con el identificador del volumen de datos de destino y una relación de réplica preestablecida, el segundo volumen de datos de origen que está en el segundo dispositivo de almacenamiento 120 y que está involucrado en la tarea de réplica en curso. En esta realización de la presente invención, no está limitada una manera de cómo el segundo dispositivo de almacenamiento 120 determina de modo específico el segundo volumen de datos de origen, mediante la utilización del mensaje de inicio de la tarea de réplica, siempre que el segundo dispositivo de almacenamiento 120 pueda determinar el segundo volumen de datos de origen que almacena los mismos datos que el primer volumen de datos de origen. Para una descripción específica sobre el mensaje de inicio de la tarea de réplica, se puede hacer referencia a una descripción pertinente en la realización mostrada en la figura 3, y esos detalles no se vuelven a describir en la presente.
En el paso 408, el segundo dispositivo de almacenamiento 120 deja de recibir una orden de escritura de datos de un ordenador anfitrión 100 y procesa una orden de escritura de datos recibida. De manera específica, después de recibir una notificación, desde el primer dispositivo de almacenamiento 110, sobre el inicio de una réplica asincrónica, el segundo dispositivo de almacenamiento 120 puede dejar de recibir la orden de escritura de datos del ordenador anfitrión 100. Debido a que el paso 408 es similar al paso 404, para una descripción específica se puede hacer referencia al paso 404.
En el paso 410, el segundo dispositivo de almacenamiento 120 crea un duplicado del segundo volumen de datos de origen en ese momento. En una aplicación real, el segundo dispositivo de almacenamiento 120 puede crear el duplicado del segundo volumen de datos de origen en ese momento por medio de una captura. De esta manera, se pueden determinar los datos que es necesario replicar del segundo dispositivo de almacenamiento 120 en la tarea de réplica en curso, y los datos que es necesario replicar en la tarea de réplica en curso y los datos que se han recibido recientemente en el segundo dispositivo de almacenamiento 120 en la tarea de réplica en curso se pueden distinguir mediante la utilización del duplicado del segundo volumen de datos de origen. Para cómo crear de manera específica el duplicado del segundo volumen de datos de origen mediante la utilización de una tecnología de captura, se puede hacer referencia a la descripción anterior, y esos detalles no se vuelven a describir en la presente.
En el paso 412, el segundo dispositivo de almacenamiento 120 genera un segundo mapa de bits de réplica, de acuerdo con un mapa de bits diferencial del segundo volumen de datos de origen. En esta realización de la presente invención, después de recibir la orden de escritura de datos, que el ordenador anfitrión 100 envía para escribir los datos en el segundo volumen de datos de origen, el segundo dispositivo de almacenamiento 120 actualiza el mapa de bits diferencial del segundo volumen de datos de origen de acuerdo con una dirección de los datos contenida en la orden de escritura de datos. Por ejemplo, el segundo dispositivo de almacenamiento 120 puede fijar un bit indicador en una cuadrícula, correspondiente a la dirección de los datos, en el mapa de bits diferencial a "1", para identificar que se produce una escritura de datos en la dirección correspondiente a la cuadrícula. El mapa de bits diferencial del segundo dispositivo de almacenamiento 120 se utiliza para registrar la información sobre los datos escritos en el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120, después de que comience una tarea de réplica previa a la tarea de réplica en curso y antes de que comience la tarea de réplica en curso. Debido a que este paso es similar al paso 301, para cómo generar de manera específica el segundo mapa de bits de réplica de acuerdo con el mapa de bits diferencial del segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120, se puede hacer referencia a una descripción en el paso 301.
En el paso 414, el segundo dispositivo de almacenamiento 120 notifica al primer dispositivo de almacenamiento 110 que el segundo dispositivo de almacenamiento 120 está listo para la réplica asincrónica. En una aplicación real, con el fin de hacer que tanto el primer dispositivo de almacenamiento 110 como el segundo dispositivo de almacenamiento 120 estén listos para la réplica asincrónica cuando comience la réplica, por ejemplo, tanto el primer dispositivo de almacenamiento 110 como el segundo dispositivo de almacenamiento 120 tienen preparado un mapa de bits de réplica y un duplicado del volumen de datos, después de que el segundo dispositivo de almacenamiento 120 genere el segundo mapa de bits de réplica y cree el duplicado del segundo volumen de datos de origen requerido en la tarea de réplica en curso, el segundo dispositivo de almacenamiento 120 puede notificar al primer dispositivo de almacenamiento 110 que el segundo dispositivo de almacenamiento 120 está listo para la réplica asincrónica.
En el paso 416, el primer dispositivo de almacenamiento 110 crea un duplicado del primer volumen de datos de origen en ese momento. Después de que el primer dispositivo de almacenamiento 110 determine que el segundo dispositivo de almacenamiento 120 está listo para la réplica asincrónica, el primer dispositivo de almacenamiento 110 comienza a crear el duplicado del primer volumen de datos de origen en ese momento. Este paso es similar al paso 410, para más detalles se puede hacer referencia a una descripción en el paso 410, y esos detalles no se vuelven a describir en la presente.
En el paso 418, el primer dispositivo de almacenamiento 110 genera un primer mapa de bits de réplica, de acuerdo con un mapa de bits diferencial del primer volumen de datos de origen. Debido a que el paso 418 es similar al paso 412 se puede hacer referencia a una descripción del paso 412 para más detalles. Cabe destacar que, debido a que en esta realización de la presente invención el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 mantienen la coherencia de datos almacenados mediante la utilización de una tecnología de réplica sincrónica, y los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen, el primer mapa de bits de réplica del primer dispositivo de almacenamiento 110 es el mismo que el segundo mapa de bits de réplica del segundo dispositivo de almacenamiento 120.
En el paso 420, el primer dispositivo de almacenamiento 110 da instrucciones al segundo dispositivo de almacenamiento 120 para comenzar a recibir una orden de escritura de datos del ordenador anfitrión 100. Para sincronizar el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, después de determinar que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 ya están listos para la réplica en la tarea de réplica en curso, el primer dispositivo de almacenamiento 110 puede dar instrucciones al segundo dispositivo de almacenamiento 120 para comenzar a recibir la orden de escritura de datos del ordenador anfitrión 100. Esto se debe a que la orden de escritura de datos del ordenador anfitrión 100, recibida después de que los dispositivos estén listos para la réplica, no afecta a la ejecución de la tarea de réplica en curso.
En el paso 422, el primer dispositivo de almacenamiento 110 comienza a recibir una orden de escritura de datos del ordenador anfitrión 100. En el paso 424, el segundo dispositivo de almacenamiento 110 comienza a recibir una orden de escritura de datos del ordenador anfitrión 100. Se puede entender que, los datos escritos en el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, después de que se inicie la tarea de réplica en curso, serán replicados en el tercer dispositivo de almacenamiento 130 en una tarea de réplica posterior.
Cabe destacar que, en una aplicación real, el paso 404, el paso 408, el paso 410, el paso 416 y del paso 420 al paso 424 son opcionales. Por ejemplo, tal como se describe anteriormente, si los datos que es necesario replicar mediante un dispositivo de almacenamiento en la tarea de réplica en curso se determinan de modo que se añada un número de intervalo temporal, cuando se inicia la réplica asincrónica, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 pueden no dejar de recibir la orden de escritura de datos del ordenador anfitrión 100 o pueden no crear necesariamente un duplicado de un LUN.
En el paso 426, el primer dispositivo de almacenamiento 110 determina la primera información secundaria de réplica, de acuerdo con el primer mapa de bits de réplica y una política de réplica. En el paso 428, el segundo dispositivo de almacenamiento 120 determina la primera información secundaria de réplica, de acuerdo con el segundo mapa de bits de réplica y la política de réplica. En esta realización de la presente invención, debido a que el primer mapa de bits de réplica es el mismo que el segundo mapa de bits de réplica, y la política de réplica preestablecida es también la misma, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 pueden determinar de manera independiente un mapa de bits secundario de réplica. En la presente, el mapa de bits secundario de réplica puede incluir, de manera específica, un primer mapa de bits secundario de réplica, determinado por el primer dispositivo de almacenamiento 110, y un segundo mapa de bits secundario de réplica determinado por el segundo dispositivo de almacenamiento 120. El primer mapa de bits secundario de réplica se utiliza para identificar la información sobre los datos del primer dispositivo de almacenamiento 110 que es necesario replicar en el tercer dispositivo de almacenamiento 130, y el segundo mapa de bits secundario de réplica se utiliza para identificar la información sobre los datos del segundo dispositivo de almacenamiento 110 que es necesario replicar en el tercer dispositivo de almacenamiento 130. Se puede entender que, se puede especificar un rango de réplica específico para el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 en la política de réplica. Por lo tanto, puede que no se repitan los datos indicados por el primer mapa de bits secundario de réplica y los datos indicados por el segundo mapa de bits secundario de réplica. El paso 426 y el paso 428 son similares al paso 302, y se puede hacer referencia a una descripción pertinente del paso 302 para más detalles.
En el paso 430, el primer dispositivo de almacenamiento 110 replica una parte de los datos diferenciales en el tercer dispositivo de almacenamiento 130, de acuerdo con el primer mapa de bits secundario de réplica. De manera específica, durante la réplica, el primer dispositivo de almacenamiento 110 puede replicar una parte de los datos diferenciales de acuerdo con una norma de réplica del primer dispositivo de almacenamiento 110 en un proceso de réplica de la tarea de réplica en curso. Por ejemplo, se puede fijar una cantidad de LBA de bloques de datos duplicados una vez en la norma de réplica.
En el paso 432, el tercer dispositivo de almacenamiento 130 devuelve una respuesta de éxito de réplica individual al primer dispositivo de almacenamiento 110, con el fin de notificar al primer dispositivo de almacenamiento 110 que los datos replicados esta vez se han escrito con éxito en el tercer dispositivo de almacenamiento 130.
En el paso 434, el primer dispositivo de almacenamiento 110 actualiza el primer mapa de bits secundario de réplica de acuerdo con la respuesta de éxito de réplica devuelta por el tercer dispositivo de almacenamiento 130. De manera específica, cuando el primer mapa de bits secundario de réplica se actualiza, se puede marcar en una cuadrícula un identificador de finalización de réplica, en el primer mapa de bits secundario de réplica, correspondiente a una dirección de los datos que se han replicado, o se puede borrar un bit indicador en una cuadrícula, en el primer mapa de bits secundario de réplica, correspondiente a la dirección de los datos que se han replicado. Por ejemplo, se puede borrar un bit indicador "1" en una cuadrícula, en el primer mapa de bits secundario de réplica, correspondiente a la dirección de los datos que se han replicado. Se puede entender que, debido a que el primer mapa de bits secundario de réplica es una parte del primer mapa de bits de réplica, actualizar el primer mapa de bits secundario de réplica es actualizar el primer mapa de bits de réplica.
En el paso 436, el primer dispositivo de almacenamiento 110 envía la información de progreso de la réplica del primer dispositivo de almacenamiento 110 al segundo dispositivo de almacenamiento 120. En esta realización de la presente invención, cada vez que el primer dispositivo de almacenamiento 110 finaliza la réplica de los datos diferenciales, el primer dispositivo de almacenamiento 110 necesita enviar la información de progreso de la réplica del primer dispositivo de almacenamiento 110 al segundo dispositivo de almacenamiento 120, de modo que el segundo dispositivo de almacenamiento 120 pueda conocer el progreso de la réplica del primer dispositivo de almacenamiento 110. Si se produce un fallo en el primer dispositivo de almacenamiento 110 en el proceso de réplica, el segundo dispositivo de almacenamiento 120 puede hacerse cargo de la tarea de réplica del primer dispositivo de almacenamiento 110, de acuerdo con la información de progreso de la réplica del primer dispositivo de almacenamiento 110. Para distinguir la información de progreso de la réplica del primer dispositivo de almacenamiento 110 de la información de progreso de la réplica del segundo dispositivo de almacenamiento 120, en esta realización de la presente invención, la información de progreso de la réplica del primer dispositivo de almacenamiento 110 se denomina como primera información de progreso de la réplica, y la información de progreso de la réplica del segundo dispositivo de almacenamiento 120 se denomina como segunda información de progreso de la réplica.
En una aplicación real, el primer dispositivo de almacenamiento 110 puede enviar la primera información de progreso de la réplica al segundo dispositivo de almacenamiento 120 en forma de un mensaje de progreso de la réplica. Un formato del mensaje de progreso de la réplica puede ser similar a un formato del mensaje de inicio de la tarea de réplica anterior. También se pueden incluir un campo de tipo de mensaje (por ejemplo, opCode), un campo de ID del dispositivo de origen (por ejemplo, srcAppId) y un campo de ID del dispositivo de destino (por ejemplo, dstAppId) en una cabecera del mensaje de progreso de la réplica. El campo de tipo de mensaje se utiliza para representar que un tipo del mensaje es información de progreso de la réplica. Además de contener un volumen de datos de origen y un volumen de datos de destino en la tarea de réplica en curso, una parte del contenido (por ejemplo, un campo de datos del mensaje de progreso de réplica) del mensaje de progreso de la réplica es necesario que contenga la información de progreso de la réplica en curso. Por ejemplo, un formato de la parte del contenido del mensaje de progreso de la réplica se puede mostrar como sigue:
Figure imgf000025_0001
donde para una descripción del campo "ID LUN" y del campo "id LUN de objeto de réplica", se puede hacer referencia a la descripción anterior del mensaje de inicio de la tarea de réplica, y esos detalles no se vuelven a describir en la presente.
Dirección: el campo puede estar situado después del octavo byte, y se utiliza para contener la información de progreso de la réplica en curso. La información de progreso de la réplica puede ser una o más direcciones de unidad lógica (dirección de bloque lógico, LBA) o un mapa de bits de réplica actualizado, por ejemplo, puede ser un primer mapa de bits secundario de réplica actualizado. Cuando la información de progreso de la réplica es una LBA, la información de progreso de la réplica se puede representar mediante una LBA de una última pieza de datos que se ha replicado. Cuando la información de progreso de la réplica son múltiples LBA, la información de progreso de la réplica se puede representar mediante direcciones de todos los datos que se han replicado en ese momento. Una forma específica de la información de progreso de la réplica no está limitada en la presente, siempre que la información de progreso de la réplica pueda representar el progreso de la réplica.
Por ejemplo, en el primer mensaje de progreso de la réplica enviada por el primer dispositivo de almacenamiento 110 al segundo dispositivo de almacenamiento 120, en un encabezamiento del primer mensaje de progreso de la réplica, un campo "ID del dispositivo de origen" puede ser una dirección IP del primer dispositivo de almacenamiento 110, y un campo "ID del dispositivo de destino" puede ser una dirección IP del segundo dispositivo de almacenamiento 120. En una parte del contenido del primer mensaje de progreso de la réplica, un campo "ID LUN" puede ser un ID de los datos a replicar en el primer volumen de datos de origen en el primer dispositivo de almacenamiento 110 ; un campo "id LUN del objeto de réplica" puede ser un ID del volumen de datos de destino en el tercer dispositivo de almacenamiento 130; y un campo "Dirección" puede ser una LBA de la última pieza de datos que se ha replicado. Cabe destacar que, en esta realización de la presente invención, debido a que se establece una relación de réplica a priori entre el primer volumen de datos de origen en el primer dispositivo de almacenamiento 110, el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 y el volumen de datos de destino en el tercer dispositivo de almacenamiento 130, donde el segundo dispositivo de almacenamiento 120 puede determinar, de acuerdo con el campo id LUN en el primer mensaje de progreso de la réplica y la relación de réplica preestablecida, el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 correspondiente a la tarea de réplica en curso. Además, un ID de un LUN correspondiente al primer dispositivo de almacenamiento 110 y un ID de un LUN correspondiente al segundo dispositivo de almacenamiento 120 pueden ser iguales o pueden ser diferentes, siempre que se puedan determinar los volúmenes de datos que almacenan los mismos datos de acuerdo con la relación de réplica.
En el paso 438, el segundo dispositivo de almacenamiento 120 replica una parte de los datos diferenciales en el tercer dispositivo de almacenamiento 130, de acuerdo con el segundo mapa de bits secundario de réplica. En el paso 440, el tercer dispositivo de almacenamiento 130 devuelve una respuesta de un éxito de réplica individual al segundo dispositivo de almacenamiento 120, con el fin de notificar al segundo dispositivo de almacenamiento 120 que los datos replicados esta vez se han escrito con éxito en el tercer dispositivo de almacenamiento 130. En el paso 442, el segundo dispositivo de almacenamiento 120 actualiza el segundo mapa de bits secundario de réplica de acuerdo con la respuesta de éxito de réplica individual devuelta por el tercer dispositivo de almacenamiento 130. En el paso 444, el segundo dispositivo de almacenamiento 120 envía la información de progreso de la réplica del segundo dispositivo de almacenamiento 120 al primer dispositivo de almacenamiento 110.
Cabe destacar que, del paso 438 al paso 444 se describe un proceso de réplica del segundo dispositivo de almacenamiento 120 en la tarea de réplica en curso, y el proceso es similar a un proceso de réplica, descrito del paso 430 al paso 436, del primer dispositivo de almacenamiento 110 en la tarea de réplica en curso. Por lo tanto, para las descripciones del paso 438 al paso 444, se puede hacer referencia a las descripciones pertinentes del paso 430 al paso 436 respectivamente.
En el paso 446, cuando el primer dispositivo de almacenamiento 110 determina que se completa la réplica de acuerdo con el primer mapa de bits secundario de réplica, el primer dispositivo de almacenamiento 110 finaliza la tarea de réplica en curso. En el proceso de réplica, el primer dispositivo de almacenamiento 110 ejecuta de manera circular las acciones del paso 430 al paso 436, y el primer dispositivo de almacenamiento 110 puede finalizar esta tarea de réplica hasta que el primer dispositivo de almacenamiento 110 determina que los datos que es necesario replicar del primer dispositivo de almacenamiento 110 se han replicado de acuerdo con el primer mapa de bits secundario de réplica. Se puede entender que, si el primer mapa de bits secundario de réplica se determina de acuerdo con la política de réplica preestablecida, y se establece en la política de réplica preestablecida que el primer dispositivo de almacenamiento 110 lleva a cabo una réplica en un sentido desde una dirección de inicio de datos, indicada por el mapa de bits de réplica, hasta una dirección final, y que el primer dispositivo de almacenamiento 110 lleva a cabo una réplica en un sentido desde la dirección final de los datos, indicada por el mapa de bits de réplica, hasta la dirección de inicio, el primer dispositivo de almacenamiento 110 determina finalizar la tarea de réplica en curso cuando determina, de acuerdo con la información de progreso de la réplica del segundo dispositivo de almacenamiento 120, que hay una repetición entre los datos que es necesario replicar del primer dispositivo de almacenamiento 110 y los datos que se han replicado del segundo dispositivo de almacenamiento 120. Cabe destacar que, después de que finalice la tarea de réplica en curso, es necesario borrar el duplicado del primer volumen de datos de origen en el primer dispositivo de almacenamiento 110, creado por el primer dispositivo de almacenamiento 110 en el paso 416.
En el paso 448, cuando el segundo dispositivo de almacenamiento 120 determina que se completa la réplica de acuerdo con el segundo mapa de bits secundario de réplica, el segundo dispositivo de almacenamiento 120 finaliza la tarea de réplica en curso. En el proceso de réplica, el segundo dispositivo de almacenamiento 120 ejecuta de manera circular las acciones del paso 438 al paso 444, y el segundo dispositivo de almacenamiento 120 puede finalizar la tarea de réplica en curso hasta que el segundo dispositivo de almacenamiento 120 determina que los datos que es necesario replicar del segundo dispositivo de almacenamiento 120 se han replicado de acuerdo con el segundo mapa de bits secundario de réplica. Cabe destacar que, después de que finalice la tarea de réplica en curso, es necesario borrar el duplicado del segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120, creado por el segundo dispositivo de almacenamiento 120 en el paso 410.
Cabe destacar que, en el proceso de réplica, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 pueden ejecutar de manera independiente la tarea de réplica. En esta realización de la presente invención, no está limitada una secuencia en la que el primer dispositivo de almacenamiento 110 ejecuta del paso 430 al paso 436 y el segundo dispositivo de almacenamiento 120 ejecuta del paso 438 al paso 444.
En otra situación adicional, si se produce un fallo en el primer dispositivo de almacenamiento 110 en el proceso de réplica, después de que el segundo dispositivo de almacenamiento 120 determine que se produce un fallo en el primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 puede determinar, de acuerdo con el segundo mapa de bits de réplica y la información de progreso de la réplica del primer dispositivo de almacenamiento 110, que se recibe en último lugar antes de que se produzca el fallo en el primer dispositivo de almacenamiento 110, los datos que no se han replicado del primer dispositivo de almacenamiento 110, y replicar, del segundo volumen de datos de origen al volumen de datos de destino en el tercer dispositivo de almacenamiento 130, los datos que no se han replicado del primer dispositivo de almacenamiento 110.
En una aplicación real, el segundo dispositivo de almacenamiento 120 puede detectar, de acuerdo con un pulso entre el segundo dispositivo de almacenamiento 120 y el primer dispositivo de almacenamiento 110, si se produce un fallo en el primer dispositivo de almacenamiento 110. Por ejemplo, cuando el segundo dispositivo de almacenamiento 120 no recibe una señal de pulso del primer dispositivo de almacenamiento 110 dentro de un tiempo establecido, el segundo dispositivo de almacenamiento 120 puede determinar que se produce un fallo en el primer dispositivo de almacenamiento 110. Asimismo, para mejorar la precisión de detección, después de determinar, de acuerdo con el pulso, que se produce un fallo en el primer dispositivo de almacenamiento 110, el segundo dispositivo de almacenamiento 120 puede enviar una demanda de consulta al tercer dispositivo de almacenamiento 130, donde la demanda de consulta se utiliza para solicitar un estado de la comunicación entre el primer dispositivo de almacenamiento 110 y el tercer dispositivo de almacenamiento 130, y si una respuesta a la consulta devuelta por el tercer dispositivo de almacenamiento 130 del segundo dispositivo de almacenamiento 120 revela que la comunicación entre el primer dispositivo de almacenamiento 110 y el tercer dispositivo de almacenamiento 130 ya está interrumpida, el segundo dispositivo de almacenamiento 120 puede determinar que se produce un fallo en el primer dispositivo de almacenamiento 110. El segundo dispositivo de almacenamiento 120 puede hacerse cargo de la tarea de réplica del primer dispositivo de almacenamiento 110, y replicar, en el tercer dispositivo de almacenamiento 130, los datos que no se han replicado del primer dispositivo de almacenamiento 110 en el tercer dispositivo de almacenamiento 130.
En esta realización de la presente invención, debido a que el segundo dispositivo de almacenamiento 120 también puede notificar al primer dispositivo de almacenamiento 110 de la información de progreso de la réplica del segundo dispositivo de almacenamiento 120, si se produce un fallo en el segundo dispositivo de almacenamiento 120 en el proceso de réplica, el primer dispositivo de almacenamiento 110 también puede hacerse cargo de la tarea de réplica del segundo dispositivo de almacenamiento 120, de acuerdo con la información de progreso de la réplica del segundo dispositivo de almacenamiento 120 y del primer mapa de bits de réplica, y replicar, al tercer dispositivo de almacenamiento 130, los datos que no se han replicado del segundo dispositivo de almacenamiento 120 en el tercer dispositivo de almacenamiento 130. El proceso es similar al proceso anterior en el que el segundo dispositivo de almacenamiento 120 se hace cargo de la tarea de réplica del primer dispositivo de almacenamiento 110, se puede hacer referencia a la descripción anterior para más detalles, y esos detalles no se vuelven a describir en la presente.
El método mostrado en la figura 4a y la figura 4b se basa en el método mostrado en la figura 3. En un proceso de réplica, un primer dispositivo de almacenamiento 110 y un segundo dispositivo de almacenamiento 120 se notifican entre sí el progreso de la réplica. Por lo tanto, en el proceso de réplica, si se produce un fallo en el primer dispositivo de almacenamiento 110 o en el segundo dispositivo de almacenamiento 120, un dispositivo de almacenamiento en el que no se produzca fallo en un primer sistema de almacenamiento 33, puede continuar completando una tarea de réplica de un dispositivo de almacenamiento en el que se produce el fallo. Por lo tanto, aunque se produzca un fallo en uno de los dispositivos de almacenamiento, la tarea de réplica del primer sistema de almacenamiento 33 no se interrumpe, lo que mejora de ese modo aún más la estabilidad del sistema a la hora de mejorar la eficiencia de la réplica.
La figura 5 es un diagrama de flujo de otro método de réplica de datos adicional, de acuerdo con una realización de la presente invención. En el método mostrado en la figura 5, aún se utiliza a modo de ejemplo un sistema de recuperación de catástrofes 3DC que incluye tres dispositivos de almacenamiento. El método mostrado en la figura 5 se describe desde una perspectiva de un segundo sistema de almacenamiento 44 que recibe los datos, donde un primer sistema de almacenamiento 33 incluye un primer dispositivo de almacenamiento 110 y un segundo dispositivo de almacenamiento 120, y donde el segundo sistema de almacenamiento 44 puede incluir el tercer dispositivo de almacenamiento 130 en el emplazamiento de nivel 2 13 mostrado en la figura 1. En esta realización de la presente invención, se proporciona una descripción que aún utiliza un ejemplo en el que una tarea de réplica en curso es una tarea de réplica entre un primer volumen de datos de origen en el primer dispositivo de almacenamiento 110, un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 y un volumen de datos de destino en el tercer dispositivo de almacenamiento 130. Lo que sigue a continuación describe el método mostrado en la figura 5 haciendo referencia a la figura 1. Tal como se muestra en la figura 5:
En el paso 500, el tercer dispositivo de almacenamiento 130 recibe la información de réplica enviada por el primer sistema de almacenamiento 33, donde la información de réplica se utiliza para indicar los datos del primer sistema de almacenamiento 33 que es necesario replicar en el tercer dispositivo de almacenamiento 130. En una aplicación real, cuando se inicia una tarea de réplica asincrónica entre el primer sistema de almacenamiento 33 y el segundo sistema de almacenamiento 44, el primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120 en el primer dispositivo de almacenamiento 33 pueden enviar la información de réplica al tercer dispositivo de almacenamiento 130 en el segundo sistema de almacenamiento 44. A continuación, se utiliza un ejemplo en el que el primer dispositivo de almacenamiento 110 envía la información de réplica al tercer dispositivo de almacenamiento 130. De manera específica, el primer dispositivo de almacenamiento 110 en el primer sistema de almacenamiento 33 puede determinar la información de réplica de acuerdo con los datos almacenados en el primer volumen de datos de origen. La información de réplica se puede obtener de acuerdo con la información de datos diferenciales del primer volumen de datos de origen en el primer dispositivo de almacenamiento 110, cuando comienza la tarea de réplica en curso. Después de determinar la información de réplica en la tarea de réplica en curso, el primer dispositivo de almacenamiento 110 puede enviar la información de réplica determinada al tercer dispositivo de almacenamiento 130. La información de réplica se puede representar en forma de un mapa de bits de réplica, o se puede representar en otra forma estructural, tal como una estructura de árbol, lo cual no está limitado en la presente. Para una descripción relacionada sobre la información de réplica y la información de datos diferenciales, se puede hacer referencia a una descripción del paso 300 en la figura 3, y esos detalles no se vuelven a describir en la presente.
En una aplicación real, el primer dispositivo de almacenamiento 110 puede enviar la información de réplica al tercer dispositivo de almacenamiento 130 mediante el envío de un mensaje de inicio de la tarea de réplica al tercer dispositivo de almacenamiento 130. El mensaje de inicio de la tarea de réplica contiene un identificador del primer volumen de datos de origen y la información de réplica que se determina de acuerdo con los datos almacenados en el primer volumen de datos de origen. Para una descripción específica sobre el mensaje de inicio de la tarea de réplica, se puede hacer referencia a una descripción pertinente en la realización mostrada en la figura 3, o en la figura 4a y la figura 4b.
En el paso 502, el tercer dispositivo de almacenamiento 130 envía una primera demanda de adquisición al primer dispositivo de almacenamiento 110, de acuerdo con la información de réplica. La primera demanda de adquisición incluye información sobre los datos del primer dispositivo de almacenamiento 110 que es necesario que adquiera el tercer dispositivo de almacenamiento 130. La información sobre los datos incluidos en la primera demanda de adquisición incluye, al menos, un identificador de un volumen de datos, al cual pertenecen los datos que es necesario adquirir, y la información de la dirección de los datos. Por ejemplo, la información sobre los datos incluida en la primera demanda de adquisición incluye, al menos, el identificador del primer volumen de datos de origen y una dirección de los datos solicitados al utilizar la primera demanda de adquisición. El identificador del volumen de datos al cual pertenecen los datos que es necesario adquirir puede ser un identificador de un LUN, y la dirección de los datos puede ser una dirección LBA.
En una aplicación real, la primera demanda de adquisición puede tener un formato de orden, tal como una orden de lectura o una orden de réplica, lo cual no está limitado en la presente. Como alternativa, el tercer dispositivo de almacenamiento 130 puede preparar un espacio de almacenamiento de acuerdo con la información de réplica recibida y, a continuación, enviar la primera demanda de adquisición al primer dispositivo de almacenamiento 110, de modo que los datos que se envían del primer dispositivo de almacenamiento 110, de acuerdo con la primera demanda de adquisición, se pueden recibir y almacenar de una manera oportuna.
Cabe destacar que, en este paso, para el formato de orden de la primera demanda de adquisición, se puede hacer referencia al formato del mensaje de progreso de la réplica en el paso 436, y un tipo de mensaje en la primera demanda de adquisición es necesario que especifique que el mensaje es una demanda de adquisición. La información sobre los datos solicitados, que es necesario que contenga la primera demanda de adquisición, puede incluir: un identificador del primer volumen de datos de origen en el primer dispositivo de almacenamiento, en el que están ubicados los datos que es necesario adquirir en la tarea de réplica en curso, y una dirección de los datos.
En el paso 504, el tercer dispositivo de almacenamiento 130 envía una segunda demanda de adquisición al segundo dispositivo de almacenamiento 120 en el primer sistema de almacenamiento 33, de acuerdo con la información de réplica. La segunda demanda de adquisición incluye información sobre los datos del segundo dispositivo de almacenamiento 120 que es necesario que adquiera el tercer dispositivo de almacenamiento 130. De manera específica, después de recibir en mensaje de inicio de la tarea de réplica enviado por el primer dispositivo de almacenamiento 110, el tercer dispositivo de almacenamiento 130 puede determinar el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 y el volumen de datos de destino en el tercer dispositivo de almacenamiento 130, de acuerdo con el identificador preestablecido del primer volumen de datos de origen y una relación de réplica preestablecida. Los datos almacenados en el segundo volumen de datos de origen son los mismos que los datos almacenados en el primer volumen de datos de origen, y el volumen de datos de destino se configura de modo que almacene los datos recibidos por el tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso. Después de determinar el segundo volumen de datos de origen, el tercer dispositivo de almacenamiento 130 puede enviar la segunda demanda de adquisición al segundo dispositivo de almacenamiento 120, y la información sobre los datos solicitados, que se incluye en la segunda demanda de adquisición, incluye al menos un identificador del segundo volumen de datos de origen en el segundo dispositivo de almacenamiento y una dirección de los datos solicitados al utilizar la segunda demanda de adquisición. Para una descripción específica de la relación de réplica se puede hacer referencia a una descripción de la realización mostrada en la figura 3.
Se puede entender que, para evitar que se repitan los datos replicados del primer dispositivo de almacenamiento 110 y del segundo dispositivo de almacenamiento 120, la dirección de los datos en la segunda demanda de adquisición es diferente de la dirección de los datos en la primera demanda de adquisición. De esta manera, los datos solicitados al utilizar la segunda demanda de adquisición son diferentes de los datos solicitados al utilizar la primera demanda de adquisición. Debido a que el paso 504 es similar al paso 502, para una descripción pertinente de la segunda demanda de adquisición, se puede hacer referencia a una descripción del paso 502.
Cabe destacar que, en esta realización de la presente invención, no hay una secuencia para el paso 502 y el paso 504, y el tercer dispositivo de almacenamiento 130 puede enviar de manera simultánea una demanda independiente al primer dispositivo de almacenamiento 110 y al segundo dispositivo de almacenamiento 120, de modo que se adquieran los datos de manera independiente desde el primer dispositivo de almacenamiento 110 y desde el segundo dispositivo de almacenamiento 120.
Preferentemente, para facilitar que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 implementen un equilibrio de cargas en un proceso de réplica, en el paso 502, cuando el tercer dispositivo de almacenamiento 130 envía la primera demanda de adquisición al primer dispositivo de almacenamiento 110, el tercer almacenamiento 130 puede determinar, de acuerdo con el ancho de banda de un enlace entre el tercer almacenamiento 130 y el primer dispositivo de almacenamiento 110, una cantidad de datos a adquirir del primer dispositivo de almacenamiento 110. De manera específica, después de determinar, de acuerdo con la información de réplica recibida y el ancho de banda del enlace entre el tercer dispositivo de almacenamiento 130 y el primer dispositivo de almacenamiento 110, los datos que es necesario adquirir del primer dispositivo de almacenamiento 110, el tercer dispositivo de almacenamiento 130 puede enviar la primera demanda de adquisición al primer dispositivo de almacenamiento 110, de acuerdo con los datos determinados que es necesario adquirir del primer dispositivo de almacenamiento 110. De manera similar, en el paso 504, cuando el tercer dispositivo de almacenamiento 130 envía la segunda demanda de adquisición al segundo dispositivo de almacenamiento 120, el tercer almacenamiento 130 también puede determinar, de acuerdo con el ancho de banda de un enlace entre el tercer almacenamiento 130 y el segundo dispositivo de almacenamiento 120, una cantidad de datos solicitados del segundo dispositivo de almacenamiento 120. De manera específica, después de determinar, de acuerdo con la información de réplica recibida y el ancho de banda del enlace entre el tercer dispositivo de almacenamiento 130 y el segundo dispositivo de almacenamiento 120, los datos que es necesario adquirir del segundo dispositivo de almacenamiento 120, el tercer dispositivo de almacenamiento 130 puede enviar la segunda demanda de adquisición al segundo dispositivo de almacenamiento 120, de acuerdo con los datos determinados que es necesario adquirir del segundo dispositivo de almacenamiento 120.
En el paso 506, el tercer dispositivo de almacenamiento 130 recibe los datos que envía el primer dispositivo de almacenamiento 110 de acuerdo con la primera demanda de adquisición. De manera específica, el primer dispositivo de almacenamiento 110 puede enviar los datos correspondientes almacenados en el primer volumen de datos de origen al tercer dispositivo de almacenamiento 130, de acuerdo con la dirección de los datos que es necesario adquirir, contenidos en la primera demanda de adquisición, para replicar los datos en el volumen de datos de destino del tercer dispositivo de almacenamiento 130.
En el paso 508, el tercer dispositivo de almacenamiento 130 recibe los datos que envía el segundo dispositivo de almacenamiento 120 de acuerdo con la segunda demanda de adquisición. El segundo dispositivo de almacenamiento 120 también puede enviar los datos correspondientes almacenados en el segundo volumen de datos de origen al tercer dispositivo de almacenamiento 130, de acuerdo con la dirección de los datos que es necesario adquirir, contenidos en la segunda demanda de adquisición, para replicar los datos en el volumen de datos de destino del tercer dispositivo de almacenamiento 130.
En el método mostrado en la figura 5, debido a que el tercer dispositivo de almacenamiento 130 puede recibir una información de réplica, en una tarea de réplica en curso, enviada por un primer dispositivo de almacenamiento 110, el tercer dispositivo de almacenamiento 130 puede adquirir, de manera simultánea, los datos del primer dispositivo de almacenamiento 110 y de un segundo dispositivo de almacenamiento 120, lo que mejora de ese modo el ancho de banda del enlace de réplica y la eficiencia de la réplica. Asimismo, el tercer dispositivo de almacenamiento 130 puede seleccionar de manera autónoma los rangos de datos adquiridos del primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 después de preparar un espacio de almacenamiento, de modo que se refuerza la autonomía del tercer dispositivo de almacenamiento 130 y es más flexible el funcionamiento. Además, cuando se adquieren datos del primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, el tercer dispositivo de almacenamiento 130 puede determinar, de acuerdo con el ancho de banda del enlace, una cantidad de datos solicitados del primer dispositivo de almacenamiento 110 o del segundo dispositivo de almacenamiento 120, de modo que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 puedan implementar un equilibrio de cargas en la tarea de réplica en curso.
La figura 6a y la figura 6b son diagramas de señalización de otro método de réplica de datos adicional, de acuerdo con una realización de la presente invención. En el método, se describe cómo se replican los datos de un primer sistema de almacenamiento 33 a un segundo sistema de almacenamiento 44, mediante la utilización aún del sistema de recuperación de catástrofes 3DC que incluye los tres dispositivos de almacenamiento mostrados, a modo de ejemplo, en la figura 1. Para facilitar la descripción, en esta realización de la presente invención, la información de réplica se representa mediante un mapa de bits de réplica, y la información de datos diferenciales se representa mediante un mapa de bits diferencial con fines descriptivos. Lo que sigue a continuación describe la figura 6a y la figura 6b haciendo referencia a la figura 1. De manera específica, tal como se muestra en la figura 6a y la figura 6b, el método puede incluir los siguientes pasos.
En el paso 602, un primer dispositivo de almacenamiento 110 determina iniciar una tarea de réplica asincrónica. En el paso 604, el primer dispositivo de almacenamiento 110 deja de recibir una orden de escritura de datos de un ordenador anfitrión 100 y procesa una orden de escritura de datos recibida. En el paso 606, el primer dispositivo de almacenamiento 110 da instrucciones a un segundo dispositivo de almacenamiento 120 para iniciar una réplica asincrónica. En el paso 608, el segundo dispositivo de almacenamiento 120 deja de recibir una orden de escritura de datos del ordenador anfitrión y procesa una orden de escritura de datos recibida. En el paso 610, el segundo dispositivo de almacenamiento 120 crea un duplicado de un LUN en ese momento. En el paso 612, el segundo dispositivo de almacenamiento 120 notifica al primer dispositivo de almacenamiento 110 que el segundo dispositivo de almacenamiento 120 está listo para la réplica asincrónica. En el paso 614, el primer dispositivo de almacenamiento 110 crea un duplicado de un LUN en ese momento. En el paso 616, el primer dispositivo de almacenamiento 110 genera un mapa de bits de réplica de acuerdo con un mapa de bits diferencial.
Los pasos anteriores son similares a, del paso 402 al paso 410, y a, del paso 414 al paso 418, en la realización mostrada en la figura 4a y la figura 4b, y se puede hacer referencia a las descripciones de manera independiente en los pasos pertinentes de la figura 4a y la figura 4b para más detalles.
En el paso 618, el primer dispositivo de almacenamiento 110 envía el mapa de bits de réplica al tercer dispositivo de almacenamiento 130. De manera específica, cuando se envía el mapa de bits de réplica, el primer dispositivo de almacenamiento 110 puede enviar el mapa de bits de réplica al tercer dispositivo de almacenamiento 130 de manera que añada aún el mapa de bits de réplica a una parte de contenido de un mensaje de inicio de la tarea de réplica. Para una descripción específica sobre el mensaje de inicio de la tarea de réplica, se puede hacer referencia a una descripción pertinente en la realización mostrada en la figura 3, la figura 4a y la figura 4b, o la figura 5.
En el paso 620, el tercer dispositivo de almacenamiento 130 devuelve, al primer dispositivo de almacenamiento 110, una respuesta de recepción del mapa de bits de réplica. En el paso 622, el primer dispositivo de almacenamiento 110 borra un mapa de bits de réplica local. De manera específica, después de que el primer dispositivo de almacenamiento 110 envíe con éxito el mapa de bits de réplica al tercer dispositivo de almacenamiento 130, el primer dispositivo de almacenamiento 110 puede borrar el mapa de bits de réplica local para ahorrar recursos. Cabe destacar que, en la realización mostrada en la figura 6a y la figura 6b, el segundo dispositivo de almacenamiento 120 puede generar además un mapa de bits de réplica y, a continuación, enviar el mapa de bits de réplica al tercer dispositivo de almacenamiento 130, lo cual no está limitado en la presente. En la realización mostrada en la figura 6a y la figura 6b, no es necesario que tanto el primer dispositivo de almacenamiento 110 como el segundo dispositivo de almacenamiento 120 generen un mapa de bits de réplica, siempre que el primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120 genere un mapa de bits de réplica.
En el paso 624, el primer dispositivo de almacenamiento 110 da instrucciones al segundo dispositivo de almacenamiento 120 para comenzar a recibir una orden de escritura de datos del ordenador anfitrión. En el paso 626, el primer dispositivo de almacenamiento 110 comienza a recibir una orden de escritura de datos del ordenador anfitrión 100. En el paso 628, el segundo dispositivo de almacenamiento 120 comienza a recibir una orden de escritura de datos del ordenador anfitrión 100. Los pasos del 624 al 628 son similares a, del paso 420 al paso 424 respectivamente en la figura 4a y la figura 4b, y se puede hacer referencia a las descripciones pertinentes del paso 420 al paso 424 en la figura 4a y la figura 4b para más detalles.
En el paso 630, el tercer dispositivo de almacenamiento 130 envía una primera demanda de adquisición al primer dispositivo de almacenamiento 110, de acuerdo con el mapa de bits de réplica. La primera demanda de adquisición incluye la información de la dirección de los datos del primer dispositivo de almacenamiento 110 que es necesario que adquiera el tercer dispositivo de almacenamiento 130. El paso 630 es similar al paso 503 en la figura 5, y se puede hacer referencia a la descripción pertinente del paso 503 en la realización mostrada en la figura 5 para más detalles.
En el paso 632, el tercer dispositivo de almacenamiento 130 recibe los datos que envía el primer dispositivo de almacenamiento 110 de acuerdo con la primera demanda de adquisición. El paso 632 es similar al paso 506 en la figura 5, y se puede hacer referencia a la descripción pertinente del paso 506 en la realización mostrada en la figura 5 para más detalles.
En el paso 634, el tercer dispositivo de almacenamiento 130 actualiza el mapa de bits de réplica de acuerdo con los datos recibidos. De manera específica, el tercer dispositivo de almacenamiento 130 puede actualizar el mapa de bits de réplica de acuerdo con la información de la dirección de los datos recibidos. De manera específica, cuando el mapa de bits de réplica se actualiza, se puede marcar en una cuadrícula un identificador de finalización de réplica, en el mapa de bits de réplica, correspondiente a una dirección de los datos que se han replicado, o se puede borrar un bit indicador en una cuadrícula, en el mapa de bits de réplica, correspondiente a una dirección de los datos que se han replicado. Por ejemplo, se puede borrar un bit indicador "1" en una cuadrícula, en el mapa de bits de réplica, correspondiente a la dirección de los datos que se han replicado. En una aplicación real, el tercer dispositivo de almacenamiento 130 puede actualizar el mapa de bits de réplica cada vez que se reciben datos, lo cual no está limitado en la presente.
En el paso 636, el tercer dispositivo de almacenamiento 130 envía una segunda demanda de adquisición al segundo dispositivo de almacenamiento 120, de acuerdo con el mapa de bits de réplica. La segunda demanda de adquisición incluye información de la dirección de los datos del segundo dispositivo de almacenamiento 120 que es necesario que adquiera el tercer dispositivo de almacenamiento 130. Cabe destacar que, para evitar que se repitan los datos replicados del primer dispositivo de almacenamiento 110 y del segundo dispositivo de almacenamiento 120, los datos solicitados al utilizar la segunda demanda de adquisición son diferentes de los datos solicitados al utilizar la primera demanda de adquisición. Este paso es similar al paso 504, y se puede hacer referencia a una descripción pertinente del paso 504 para más detalles.
En el paso 638, el tercer dispositivo de almacenamiento 130 recibe los datos que se devuelven al segundo dispositivo de almacenamiento 120, de acuerdo con la segunda demanda de adquisición. En el paso 640, el tercer dispositivo de almacenamiento 130 actualiza el mapa de bits de réplica de acuerdo con los datos recibidos, enviados por el segundo dispositivo de almacenamiento 120. Los pasos del 638 al 640 son similares a, del paso 632 al paso 634, respectivamente, y se puede hacer referencia a las descripciones pertinentes del paso 632 al paso 634 para más detalles.
Cabe destacar que, en esta realización de la presente invención, no hay una secuencia del paso 630 al paso 634 y del paso 636 al paso 640, y el tercer dispositivo de almacenamiento 130 puede enviar de manera simultánea una demanda independiente al primer dispositivo de almacenamiento 110 y al segundo dispositivo de almacenamiento 120, de modo que se adquieran los datos de manera independiente desde el primer dispositivo de almacenamiento 110 y desde el segundo dispositivo de almacenamiento 120.
En el paso 642, si el tercer dispositivo de almacenamiento 130 determina, de acuerdo con un mapa de bits de réplica actualizado, que se ha completado la tarea de réplica en curso, el tercer dispositivo de almacenamiento 130 finaliza la tarea de réplica en curso. En una aplicación real, del paso 630 al paso 640 se puede realizar una ejecución en bucle, y cada vez que se deben adquirir datos, el tercer dispositivo de almacenamiento 130 puede enviar una demanda de adquisición al primer dispositivo de almacenamiento 110 o al segundo dispositivo de almacenamiento 120, y actualizar el mapa de bits de réplica de acuerdo con los datos recibidos. Cuando se determina, de acuerdo con el mapa de bits de réplica actualizado, que se han replicado todos los datos que es necesario replicar, el tercer dispositivo de almacenamiento 130 puede finalizar la tarea de réplica en curso, y no volver a enviar una demanda de adquisición al primer dispositivo de almacenamiento 110 o al segundo dispositivo de almacenamiento 120. Se puede entender que, después de que se complete la tarea de réplica en curso, el tercer dispositivo de almacenamiento 130 puede borrar el mapa de bits de réplica.
En otra situación adicional, si en un proceso de réplica, el tercer dispositivo de almacenamiento 130 determina que se produce un fallo en cualquiera del primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, el tercer dispositivo de almacenamiento 130 puede enviar una demanda de adquisición a un dispositivo de almacenamiento en el que no se produzca el fallo, para solicitar al dispositivo de almacenamiento, en el que no se produce el fallo, del primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120, que envíe al tercer dispositivo de almacenamiento 130, los datos que no se han replicado. Se puede entender que, el tercer dispositivo de almacenamiento 130 puede determinar, según si se recibe una señal de pulso del primer dispositivo de almacenamiento 110 o del segundo dispositivo de almacenamiento 120 dentro de un tiempo establecido, o si los datos enviados por el primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120 se reciben dentro de un tiempo establecido, si falla el primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120, y un método para cómo el tercer dispositivo de almacenamiento 130 determina si falla el primer dispositivo de almacenamiento 110 o el segundo dispositivo de almacenamiento 120 no está limitado en la presente.
En la realización mostrada en la figura 6a y la figura 6b, el tercer dispositivo de almacenamiento 130 puede adquirir de manera simultánea los datos a replicar del primer dispositivo de almacenamiento 110 y del segundo dispositivo de almacenamiento 120 en el primer sistema de almacenamiento 33. Por lo tanto, se mejora el ancho de banda del enlace de réplica. Además, cuando se produce un fallo en un dispositivo de almacenamiento en el primer sistema de almacenamiento 33, el tercer dispositivo de almacenamiento 130 puede continuar adquiriendo los datos desde un dispositivo de almacenamiento en el que no se produzca el fallo, de modo que, aunque se produzca un fallo en uno de los dispositivos de almacenamiento, la tarea de réplica del primer sistema de almacenamiento 33 puede no interrumpirse, lo que mejora de ese modo aún más la estabilidad del sistema a la hora de mejorar la eficiencia de la réplica.
Cabe destacar que, en las realizaciones anteriores, todas las descripciones se ofrecen utilizando un ejemplo en el que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 mantienen la coherencia de los datos utilizando una tecnología de réplica sincrónica. En una aplicación real, el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 también pueden mantener la coherencia de los datos almacenados por medio de una réplica asincrónica, siempre que se garantice que el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 en el primer sistema de almacenamiento 33 almacenan los mismos datos, cuando se inicia la tarea de réplica del primer sistema de almacenamiento 33 al segundo sistema de almacenamiento 44, lo cual no está limitado en la presente.
La figura 7 es un diagrama estructural esquemático de aún otro sistema de almacenamiento, de acuerdo con una realización de la presente invención. El sistema de almacenamiento mostrado en la figura 7 puede ser el tercer dispositivo de almacenamiento 130 en el emplazamiento de nivel 2 13 mostrado en la figura 1. Lo que sigue a continuación describe el sistema de almacenamiento mostrado en la figura 7 haciendo referencia aún a la figura 1. Tal como se muestra en la figura 7, el sistema de almacenamiento 70 puede incluir:
un módulo de recepción 702, configurado de modo que reciba la información de réplica enviada por un primer sistema de almacenamiento 33, donde la información de réplica se utiliza para indicar los datos del primer sistema de almacenamiento 33 que es necesario replicar en el tercer dispositivo de almacenamiento 130 en una tarea de réplica en curso, donde el primer sistema de almacenamiento 33 incluye, al menos, un primer dispositivo de almacenamiento 110 y un segundo dispositivo de almacenamiento 120, y donde el primer dispositivo de almacenamiento 110 y el segundo dispositivo de almacenamiento 120 almacenan los mismos datos; y
un módulo de envío 704, configurado de modo que envíe una primera demanda de adquisición al primer dispositivo de almacenamiento 110 de acuerdo con la información de réplica, donde la primera demanda de adquisición incluye información sobre los datos que el sistema de almacenamiento 70 es necesario que adquiera del primer dispositivo de almacenamiento 110 en la tarea de réplica en curso. Cabe destacar que, en un caso en el que el primer dispositivo de almacenamiento 110 incluya múltiples volúmenes de datos, la información sobre los datos solicitados, que está incluida en la primera demanda de adquisición, incluye al menos un identificador de un primer volumen de datos de origen en el primer dispositivo de almacenamiento y una dirección de los datos solicitados al utilizar la primera demanda de adquisición. El primer volumen de datos de origen almacena los datos del primer sistema de almacenamiento 33 que es necesario replicar en el tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso.
El módulo de envío 704 se configura además de modo que envíe una segunda demanda de adquisición al segundo dispositivo de almacenamiento 120 de acuerdo con la información de réplica, donde la segunda demanda de adquisición incluye información sobre los datos que el sistema de almacenamiento 70 es necesario que adquiera del segundo dispositivo de almacenamiento 120 en la tarea de réplica en curso, y los datos solicitados al utilizar la primera demanda de adquisición son diferentes de los datos solicitados al utilizar la segunda demanda de adquisición. Cabe destacar que, en un caso en el que el segundo dispositivo de almacenamiento 120 incluya múltiples volúmenes de datos, la información sobre los datos solicitados, que está incluida en la segunda demanda de adquisición, incluye al menos un identificador de un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento y una dirección de los datos solicitados al utilizar la primera demanda de adquisición. El segundo volumen de datos de origen almacena los datos del primer sistema de almacenamiento 33 que es necesario replicar en el tercer dispositivo de almacenamiento 130 en la tarea de réplica en curso. Los datos almacenados en el primer volumen de datos de origen son los mismos que los datos almacenados en el segundo volumen de datos de origen.
El módulo de recepción 702 se configura además de modo que reciba los datos que envía el primer dispositivo de almacenamiento de acuerdo con la primera demanda de adquisición, y reciba los datos que envía el segundo dispositivo de almacenamiento de acuerdo con la segunda demanda de adquisición.
Se puede entender que, la información de réplica puede ser un mapa de bits de réplica, donde el mapa de bits de réplica se puede obtener de acuerdo con un mapa de bits diferencial del primer sistema de almacenamiento 33, cuando comienza la tarea de réplica en curso, y el mapa de bits diferencial se utiliza para registrar la información sobre los datos escritos en el primer sistema de almacenamiento 33 después de que comience una tarea de réplica previa a la tarea de réplica en curso y antes de que comience la tarea de réplica en curso.
En otra situación adicional, cuando tanto el primer dispositivo de almacenamiento 110 como el segundo dispositivo de almacenamiento 120 incluyen múltiples volúmenes de datos, el módulo de recepción 702 se configura además de modo que reciba un mensaje de inicio de la tarea de réplica enviado por el primer sistema de almacenamiento 33, donde el mensaje de inicio de la tarea de réplica contiene el identificador del primer volumen de datos de origen y la información de réplica, que se determina de acuerdo con los datos almacenados en el primer volumen de datos de origen. El sistema de almacenamiento 70 puede incluir, además:
un módulo de procesamiento de mensajes 708, configurado de modo que determine el segundo volumen de datos de origen en el segundo dispositivo de almacenamiento 120 y un volumen de datos de destino en el tercer dispositivo de almacenamiento 130, de acuerdo con el identificador del primer volumen de datos de origen y una relación de réplica preestablecida. La relación de réplica incluye una correspondencia entre el primer volumen de datos de origen, el segundo volumen de datos de origen y el volumen de datos de destino, y el volumen de datos de destino se configura de modo que almacene los datos recibidos por el sistema de almacenamiento en la tarea de réplica en curso.
En otra situación adicional, el sistema de almacenamiento 70 puede incluir, además:
un módulo de determinación 706, configurado de modo que: determine, de acuerdo con la información de réplica y el ancho de banda de un enlace entre el sistema de almacenamiento 70 y el primer dispositivo de almacenamiento 110, los datos que es necesario adquirir del primer dispositivo de almacenamiento 110, y determine, de acuerdo con la información de réplica y el ancho de banda de un enlace entre el sistema de almacenamiento 70 y el segundo dispositivo de almacenamiento 120, los datos que es necesario adquirir del segundo dispositivo de almacenamiento 120.
El módulo de envío 704 se puede configurar de manera específica de modo que envíe la primera demanda de adquisición al primer dispositivo de almacenamiento de acuerdo con los datos que se determinan mediante el módulo de determinación 706 y que es necesario adquirir del primer dispositivo de almacenamiento, y envíe la segunda demanda de adquisición al segundo dispositivo de almacenamiento de acuerdo con los datos que se determinan mediante el módulo de determinación 706 y que es necesario adquirir del segundo dispositivo de almacenamiento.
En otra situación adicional, el sistema de almacenamiento 70 puede incluir, además:
un módulo de actualización 710, configurado de modo que: en un proceso de ejecución de la tarea de réplica en curso, actualice la información de réplica de acuerdo con los datos recibidos.
El sistema de almacenamiento 70 proporcionado por esta realización de la presente invención puede ejecutar los métodos de réplica de datos descritos en las realizaciones de la figura 5, y la figura 6a, y la figura 6b, para una descripción detallada de una función de cada unidad, se puede hacer referencia a las descripciones en las realizaciones del método, y esos detalles no se vuelven a describir en la presente.
Se puede entender que la realización mostrada en la figura 7 se ofrece simplemente a modo de ejemplo. Por ejemplo, la división en módulos es simplemente una división lógica de funciones y en una implementación real puede haber otra división. Por ejemplo, se puede combinar una pluralidad de módulos o componentes o integrar en otro dispositivo, o se pueden ignorar o no llevarse a cabo algunas características. Además, los acoplamientos o acoplamientos directos o conexiones de comunicación mutuos analizados o mostrados se pueden implementar utilizando algunas interfaces de comunicación. Los acoplamientos o conexiones de comunicación indirectos entre los módulos se pueden implementar de forma electrónica, mecánica o de otras formas.
Los módulos descritos como partes independientes pueden o no ser físicamente independientes, y las partes mostradas como módulos pueden o no ser unidades físicas, pueden estar situadas en una posición o pueden estar distribuidas en una pluralidad de unidades de red. Algunos o todos los módulos se pueden seleccionar de acuerdo con las necesidades reales para lograr los objetivos de las soluciones de las realizaciones.
Una realización de la presente invención proporciona además un producto de programa informático para el procesamiento de datos, que incluye un soporte de almacenamiento legible por ordenador que almacena el código de programa, donde una instrucción incluida en el código de programa se utiliza para llevar a cabo el método y proceso de cualquiera de las realizaciones anteriores del método. Un experto en la técnica puede entender que, el soporte de almacenamiento anterior incluye diversos medios legibles por máquina no transitorios (no transitorios) que pueden almacenar el código del programa, tal como una unidad de memoria USB, un disco duro extraíble, un disco magnético, un disco óptico, una memoria de acceso aleatorio (memoria de acceso aleatorio, RAM), un disco de estado sólido (disco de estado sólido, SSD) o una memoria no volátil (memoria no volátil).
Cabe destacar que las realizaciones proporcionadas en esta solicitud se ofrecen simplemente a modo de ejemplo. Un experto en la técnica puede entender con claridad que, con el fin de tener una descripción adecuada y breve, en las realizaciones anteriores, las descripciones de las realizaciones tienen sus enfoques respectivos. Para una parte que no se describe con detalle en una realización, se puede hacer referencia a descripciones relacionadas en otras realizaciones. Las características expuestas en las realizaciones, las reivindicaciones y los dibujos anexos de la presente invención pueden existir de manera independiente o existir de manera combinada. Las características que se describen en las realizaciones de la presente invención en forma de hardware se pueden ejecutar utilizando software, y viceversa, y no se limitan en la presente.

Claims (19)

REIVINDICACIONES
1. Un método llevado a cabo mediante un sistema de almacenamiento (44) para replicar datos de otro sistema de almacenamiento (33), incluyendo el otro sistema de almacenamiento (33) un primer dispositivo de almacenamiento (110) y un segundo dispositivo de almacenamiento (120), donde los datos almacenados en el primer dispositivo de almacenamiento y los datos almacenados en el segundo dispositivo de almacenamiento son los mismos, donde el método se caracteriza por que comprende:
enviar (502, 630) una primera demanda de adquisición al primer dispositivo de almacenamiento, donde la primera demanda de adquisición incluye información sobre los datos que es necesario adquirir del primer dispositivo de almacenamiento;
enviar (504, 636) una segunda demanda de adquisición al segundo dispositivo de almacenamiento, donde la segunda demanda de adquisición incluye información sobre los datos que es necesario adquirir del segundo dispositivo de almacenamiento, y donde los datos solicitados utilizando la primera demanda de adquisición son diferentes, al menos de manera parcial, de los datos solicitados utilizando la segunda demanda de adquisición;
recibir (506, 632) los datos enviados por el primer dispositivo de almacenamiento de acuerdo con la primera demanda de adquisición; y
recibir (508, 638) los datos enviados por el segundo dispositivo de almacenamiento de acuerdo con la segunda demanda de adquisición mientras se adquieren los datos enviados por el primer dispositivo de almacenamiento.
2. El método de acuerdo con la reivindicación 1, donde:
la información, incluida en la primera demanda de adquisición, sobre los datos solicitados comprende: un identificador de un primer volumen de datos de origen en el primer dispositivo de almacenamiento (110) y una dirección de los datos solicitados utilizando la primera demanda de adquisición; y
la información, incluida en la segunda demanda de adquisición, sobre los datos solicitados comprende: un identificador de un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento (120) y una dirección de los datos solicitados utilizando la segunda demanda de adquisición,
donde los datos almacenados en el primer volumen de datos de origen y los datos almacenados en el segundo volumen de datos de origen son los mismos.
3. El método de acuerdo con la reivindicación 1 o 2, que comprende, además:
determinar, de acuerdo con el ancho de banda de un primer enlace entre el sistema de almacenamiento (44) y el primer dispositivo de almacenamiento (110), los datos que es necesario adquirir del primer dispositivo de almacenamiento (110); y
determinar, de acuerdo con el ancho de banda de un segundo enlace entre el sistema de almacenamiento (44) y el segundo dispositivo de almacenamiento (120), los datos que es necesario adquirir del segundo dispositivo de almacenamiento (120);
donde el envío de la primera demanda de adquisición al primer dispositivo de almacenamiento (110) comprende enviar la primera demanda de adquisición al primer dispositivo de almacenamiento (110) de acuerdo con los datos determinados que es necesario adquirir del primer dispositivo de almacenamiento (110); y
donde el envío de la segunda demanda de adquisición al segundo dispositivo de almacenamiento (120) comprende enviar la segunda demanda de adquisición al segundo dispositivo de almacenamiento (120) de acuerdo con los datos determinados que es necesario adquirir del segundo dispositivo de almacenamiento (120).
4. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 3, donde:
el primer dispositivo de almacenamiento (110) y el segundo dispositivo de almacenamiento (120) tienen una relación de réplica sincrónica;
el primer dispositivo de almacenamiento (110) y el sistema de almacenamiento (44) tienen una primera relación de réplica asincrónica; y
el segundo dispositivo de almacenamiento (120) y el sistema de almacenamiento (44) tienen una segunda relación de réplica asincrónica.
5. El método de acuerdo con la reivindicación 4, donde tanto la primera relación de réplica asincrónica como la segunda relación de réplica asincrónica están en un estado activo.
6. Un sistema de almacenamiento (44), que comprende un controlador (200) y un almacenamiento (214), donde el almacenamiento (214) se configura de modo que almacene datos replicados de otro sistema de almacenamiento (33), incluyendo el otro sistema de almacenamiento (33) un primer dispositivo de almacenamiento (110) y un segundo dispositivo de almacenamiento (120);
estando el sistema de almacenamiento (44) caracterizado por que el controlador (200) se configura de modo que: envíe (502, 630) una primera demanda de adquisición al primer dispositivo de almacenamiento, donde la primera demanda de adquisición incluye información sobre los datos que es necesario adquirir del primer dispositivo de almacenamiento;
envíe (504, 636) una segunda demanda de adquisición al segundo dispositivo de almacenamiento, donde la segunda demanda de adquisición incluye información sobre los datos que es necesario adquirir del segundo dispositivo de almacenamiento, donde los datos almacenados en el primer dispositivo de almacenamiento y los datos almacenados en el segundo dispositivo de almacenamiento son los mismos, y donde los datos solicitados utilizando la primera demanda de adquisición son diferentes, al menos de manera parcial, de los datos solicitados utilizando la segunda demanda de adquisición;
reciba (506, 632) los datos enviados por el primer dispositivo de almacenamiento de acuerdo con la primera demanda de adquisición; y
reciba (508, 638) los datos enviados por el segundo dispositivo de almacenamiento de acuerdo con la segunda demanda de adquisición mientras se adquieren los datos enviados por el primer dispositivo de almacenamiento.
7. El sistema de almacenamiento (44) de acuerdo con la reivindicación 6, donde:
la información, incluida en la primera demanda de adquisición, sobre los datos solicitados comprende: un identificador de un primer volumen de datos de origen en el primer dispositivo de almacenamiento (110) y una dirección de los datos solicitados utilizando la primera demanda de adquisición; y
la información, incluida en la segunda demanda de adquisición, sobre los datos solicitados comprende: un identificador de un segundo volumen de datos de origen en el segundo dispositivo de almacenamiento (120) y una dirección de los datos solicitados utilizando la segunda demanda de adquisición,
donde los datos almacenados en el primer volumen de datos de origen y los datos almacenados en el segundo volumen de datos de origen son los mismos.
8. El sistema de almacenamiento (44) de acuerdo con la reivindicación 6 o 7, donde el controlador (200) se configura además de modo que:
determine, de acuerdo con el ancho de banda de un enlace entre el sistema de almacenamiento (44) y el primer dispositivo de almacenamiento (110), los datos que es necesario adquirir del primer dispositivo de almacenamiento (110); y
determine, de acuerdo con el ancho de banda de un enlace entre el sistema de almacenamiento (44) y el segundo dispositivo de almacenamiento (120), los datos que es necesario adquirir del segundo dispositivo de almacenamiento (120);
donde al configurarse para enviar la primera demanda de adquisición al primer dispositivo de almacenamiento (110), el controlador se configura de modo que:
envíe la primera demanda de adquisición al primer dispositivo de almacenamiento (110) de acuerdo con los datos determinados que es necesario adquirir del primer dispositivo de almacenamiento (110);
donde al configurarse para enviar la segunda demanda de adquisición al segundo dispositivo de almacenamiento (120), el controlador se configura de modo que:
envíe la segunda demanda de adquisición al segundo dispositivo de almacenamiento (120) de acuerdo con los datos determinados que es necesario adquirir del segundo dispositivo de almacenamiento (120).
9. El sistema de almacenamiento (44) de acuerdo con una cualquiera de las reivindicaciones 6 a 8, donde:
el primer dispositivo de almacenamiento (110) y el segundo dispositivo de almacenamiento (120) tienen una relación de réplica sincrónica;
el primer dispositivo de almacenamiento (110) y el sistema de almacenamiento (44) tienen una primera relación de réplica asincrónica; y
el segundo dispositivo de almacenamiento (120) y el sistema de almacenamiento (44) tienen una segunda relación de réplica asincrónica.
10. El sistema de almacenamiento (44) de acuerdo con la reivindicación 9, donde tanto la primera relación de réplica asincrónica como la segunda relación de réplica asincrónica están en un estado activo.
11. Un método de réplica de datos aplicado a un primer sistema de almacenamiento (33) que comprende un primer dispositivo de almacenamiento (110) y un segundo dispositivo de almacenamiento (120), donde el método está caracterizado por comprender:
determinar (302) los primeros datos y los segundos datos, donde los primeros datos son datos del primer dispositivo de almacenamiento (110) que es necesario replicar en un segundo sistema de almacenamiento (44), los segundos datos son datos del segundo dispositivo de almacenamiento (120) que es necesario replicar en el segundo sistema de almacenamiento (44), donde los primeros datos son, al menos de manera parcial, diferentes de los segundos datos, y donde el primer dispositivo de almacenamiento (110) y el segundo dispositivo de almacenamiento (120) almacenan los mismos datos;
replicar (304) los primeros datos, del primer dispositivo de almacenamiento (110), en el segundo sistema de almacenamiento (44); y
replicar (306) los segundos datos, del segundo dispositivo de almacenamiento (120), en el segundo sistema de almacenamiento (44) mientras el primer dispositivo de almacenamiento (110) replica los primeros datos en el segundo sistema de almacenamiento (44).
12. El método de réplica de datos de acuerdo con la reivindicación 11, donde la réplica (304) de los primeros datos, del primer dispositivo de almacenamiento (110), en el segundo sistema de almacenamiento (44) comprende:
replicar (304) los primeros datos en un primer volumen de datos de origen, del primer dispositivo de almacenamiento (110), en un volumen de datos de destino en el segundo sistema de almacenamiento (44);
donde la réplica (306) de los segundos datos, del segundo dispositivo de almacenamiento (120), en el segundo sistema de almacenamiento (44) comprende:
replicar (306) los segundos datos en un segundo volumen de datos de origen, del segundo dispositivo de almacenamiento (120), en el volumen de datos de destino en el segundo sistema de almacenamiento (44); y
donde los datos almacenados en el primer volumen de datos de origen y los datos almacenados en el segundo volumen de datos de origen son los mismos.
13. El método de réplica de datos de acuerdo con la reivindicación 11 o 12, donde la determinación de los primeros datos y los segundos datos comprende:
determinar los primeros datos, mediante el primer dispositivo de almacenamiento (110), de acuerdo con los datos del primer sistema de almacenamiento (33) que es necesario replicar en el segundo sistema de almacenamiento (44) en una tarea de réplica en curso y con una política de réplica preestablecida; y
determinar los segundos datos, mediante el segundo dispositivo de almacenamiento (120), de acuerdo con los datos del primer sistema de almacenamiento (33) que es necesario replicar en el segundo sistema de almacenamiento (44) en la tarea de réplica en curso y con la política de réplica preestablecida.
14. El método de réplica de datos de acuerdo con la reivindicación 11 o 12, donde la determinación de los primeros datos del primer dispositivo de almacenamiento (110) que es necesario replicar en un segundo sistema de almacenamiento (44) y los segundos datos del segundo dispositivo de almacenamiento (120) que es necesario replicar en el segundo sistema de almacenamiento (44) comprende:
recibir una demanda de negociación de réplica desde el segundo dispositivo de almacenamiento (120), mediante el primer dispositivo de almacenamiento (110), donde la demanda de negociación de réplica incluye información del ancho de banda de un enlace entre el segundo dispositivo de almacenamiento (120) y el segundo sistema de almacenamiento (44);
determinar los primeros datos y los segundos datos, mediante el primer dispositivo de almacenamiento (110), de acuerdo con la información del ancho de banda del enlace; y
enviar la información de los segundos datos, mediante el primer dispositivo de almacenamiento (110), al segundo dispositivo de almacenamiento (120).
15. Un producto de programa informático, que comprende un medio de almacenamiento legible por ordenador que almacena código de programa, donde las instrucciones comprendidas en el código de programa, cuando se ejecutan en un ordenador, hacen que el ordenador lleve a cabo el método de acuerdo con una cualquiera de las reivindicaciones 1 a 5.
16. Un sistema de almacenamiento (33) que comprende al menos un primer dispositivo de almacenamiento (110) y un segundo dispositivo de almacenamiento (120), donde
el primer dispositivo de almacenamiento (110) y el segundo dispositivo de almacenamiento (120) almacenan los mismos datos, estando caracterizados por que
el sistema de almacenamiento (33) se configura de modo que determine (302) los primeros datos y los segundos datos, donde los primeros datos son datos del primer dispositivo de almacenamiento que es necesario replicar en otro sistema de almacenamiento (44), los segundos datos son datos del segundo dispositivo de almacenamiento que es necesario replicar en el otro sistema de almacenamiento (44), donde los primeros datos son, al menos de manera parcial, diferentes de los segundos datos;
el primer dispositivo de almacenamiento (110) se configura de modo que replique (304) los primeros datos en el otro sistema de almacenamiento (44);
el segundo dispositivo de almacenamiento (120) se configura de modo que replique (306) los segundos datos en el otro sistema de almacenamiento (44) mientras el primer dispositivo de almacenamiento replica los primeros datos en el otro sistema de almacenamiento (44).
17. El sistema de almacenamiento de acuerdo con la reivindicación 16, donde el primer dispositivo de almacenamiento (110) se configura de modo que replique los primeros datos en un primer volumen de datos de origen en un volumen de datos de destino en el otro sistema de almacenamiento (44);
el segundo dispositivo de almacenamiento (120) se configura de modo que replique los segundos datos en un segundo volumen de datos de origen en un volumen de datos de destino en el otro dispositivo de almacenamiento (44); y donde los datos almacenados en el primer volumen de datos de origen y los datos almacenados en el segundo volumen de datos de origen son los mismos.
18. El sistema de almacenamiento de acuerdo con la reivindicación 16 o 17, donde:
el primer dispositivo de almacenamiento (110) se configura además de modo que determine los primeros datos de acuerdo con los datos del primer sistema de almacenamiento (33) que es necesario replicar en el otro sistema de almacenamiento (44) en una tarea de réplica en curso y con una política de réplica preestablecida;
el segundo dispositivo de almacenamiento (120) se configura además de modo que determine los segundos datos de acuerdo con los datos del primer sistema de almacenamiento (33) que es necesario replicar en el otro sistema de almacenamiento (44) en la tarea de réplica en curso y con la política de réplica preestablecida.
19. El sistema de almacenamiento de acuerdo con la reivindicación 16 o 17, donde el primer dispositivo de almacenamiento (110) se configura de modo que:
reciba una demanda de negociación de réplica del segundo dispositivo de almacenamiento (120), donde la demanda de negociación de réplica incluye información del ancho de banda de un enlace entre el segundo dispositivo de almacenamiento (120) y el otro sistema de almacenamiento (44);
determine los primeros datos y los segundos datos de acuerdo con la información del ancho de banda del enlace; y envíe la información de los segundos datos al segundo dispositivo de almacenamiento (120).
ES19188527T 2013-12-12 2013-12-12 Método de réplica de datos y sistema de almacenamiento Active ES2921209T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/CN2013/089176 WO2015085530A1 (zh) 2013-12-12 2013-12-12 数据复制方法及存储系统
EP19188527.6A EP3663922B1 (en) 2013-12-12 2013-12-12 Data replication method and storage system

Publications (1)

Publication Number Publication Date
ES2921209T3 true ES2921209T3 (es) 2022-08-19

Family

ID=50709724

Family Applications (2)

Application Number Title Priority Date Filing Date
ES19188527T Active ES2921209T3 (es) 2013-12-12 2013-12-12 Método de réplica de datos y sistema de almacenamiento
ES13899249.0T Active ES2669274T3 (es) 2013-12-12 2013-12-12 Método de réplica de datos y sistema de almacenamiento

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES13899249.0T Active ES2669274T3 (es) 2013-12-12 2013-12-12 Método de réplica de datos y sistema de almacenamiento

Country Status (7)

Country Link
US (3) US10545994B2 (es)
EP (4) EP3663922B1 (es)
CN (1) CN103814360B (es)
ES (2) ES2921209T3 (es)
HU (1) HUE036878T2 (es)
PL (1) PL3663922T3 (es)
WO (1) WO2015085530A1 (es)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE036878T2 (hu) 2013-12-12 2018-08-28 Huawei Tech Co Ltd Adatreplikálási eljárás és tárolórendszer
CN104331344A (zh) * 2014-11-11 2015-02-04 浪潮(北京)电子信息产业有限公司 一种数据备份的方法及装置
CN104391760B (zh) * 2014-11-24 2018-03-09 华为技术有限公司 一种数据备份的方法、服务器和系统
CN104462290B (zh) * 2014-11-27 2017-10-10 华为技术有限公司 文件系统复制方法及装置
CN105740091B (zh) * 2014-12-10 2019-04-26 华为技术有限公司 数据备份、恢复方法和设备
CN104461784A (zh) * 2014-12-11 2015-03-25 浪潮(北京)电子信息产业有限公司 一种基于单进度位图的克隆拷贝方法和系统
US11082321B1 (en) * 2015-06-15 2021-08-03 Amazon Technologies, Inc. Gossip-style database monitoring
US10372676B2 (en) 2015-07-30 2019-08-06 Netapp Inc. Stale data detection
US9755979B2 (en) * 2015-11-19 2017-09-05 Viasat, Inc. Enhancing capacity of a direct communication link
CN106855834B (zh) * 2015-12-08 2020-11-10 华为技术有限公司 一种数据备份方法、装置和系统
CN106919465B (zh) * 2015-12-24 2021-03-16 伊姆西Ip控股有限责任公司 用于存储系统中多重数据保护的方法和装置
US10397125B2 (en) * 2016-03-09 2019-08-27 Alibaba Group Holding Limited Method of cross-regional data transmission and system thereof
US10235088B1 (en) * 2016-03-30 2019-03-19 EMC IP Holding Company LLC Global replication policy for multi-copy replication
JP2018073231A (ja) * 2016-11-01 2018-05-10 富士通株式会社 ストレージシステムおよびストレージ装置
CN108733541A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于实时确定数据复制进度的方法和设备
CN107220145B (zh) * 2017-05-19 2021-06-01 北京计算机技术及应用研究所 一种闪存数据库数据恢复的方法
CN108363642A (zh) * 2018-01-10 2018-08-03 长沙开雅电子科技有限公司 一种分布式存储系统数据恢复实现方法
US10785656B2 (en) * 2018-01-22 2020-09-22 Qualcomm Incorporated Bandwidth part switch management
CN108733513A (zh) * 2018-05-07 2018-11-02 杭州宏杉科技股份有限公司 一种数据更新方法及装置
CN108762984B (zh) * 2018-05-23 2021-05-25 杭州宏杉科技股份有限公司 一种连续性数据备份的方法及装置
US10684782B2 (en) * 2018-08-02 2020-06-16 EMC IP Holding Company LLC Data protection decision based on device usage
CN109491832A (zh) * 2018-09-26 2019-03-19 华为技术有限公司 数据容灾方法与站点
US11144251B2 (en) * 2018-10-17 2021-10-12 International Business Machines Corporation Providing a global unique identifier for a storage volume
CN111125001A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 快照复制方法、电子设备和计算机程序产品
CN109597718A (zh) * 2018-12-10 2019-04-09 浪潮(北京)电子信息产业有限公司 一种容灾平台及一种容灾方法
CN109725855B (zh) * 2018-12-29 2023-09-01 杭州宏杉科技股份有限公司 一种连跳复制的方法及装置
CN109885428B (zh) * 2019-02-02 2021-02-26 杭州宏杉科技股份有限公司 一种连跳复制的方法及装置
CN110119329B (zh) * 2019-02-27 2024-02-23 咪咕音乐有限公司 数据复制容灾方法及容灾系统
CN109976952A (zh) * 2019-04-09 2019-07-05 苏州浪潮智能科技有限公司 云计算系统中跨域备份的方法和装置
CN110162153A (zh) * 2019-04-16 2019-08-23 上海马小修智能科技有限公司 一种数据容灾切换系统
US11068364B2 (en) * 2019-07-12 2021-07-20 Intelliflash By Ddn, Inc. Predictable synchronous data replication
CN112307013A (zh) * 2019-07-30 2021-02-02 伊姆西Ip控股有限责任公司 用于管理应用系统的方法、设备和计算机程序产品
JP7347157B2 (ja) 2019-11-22 2023-09-20 富士通株式会社 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置
US11144232B2 (en) * 2020-02-21 2021-10-12 EMC IP Holding Company LLC Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes
CN111367856B (zh) * 2020-02-28 2024-03-29 杭州宏杉科技股份有限公司 数据复制方法、装置、电子设备及机器可读存储介质
US20220156278A1 (en) * 2020-11-16 2022-05-19 Adp, Llc Database Data Replication Tool
US11500556B1 (en) * 2021-04-23 2022-11-15 EMC IP Holding Company LLC Storage system with passive witness node
US11960504B2 (en) 2021-09-02 2024-04-16 Bank Of America Corporation Data replication over low-latency network
CN113986128B (zh) * 2021-10-26 2024-05-28 杭州宏杉科技股份有限公司 Lun数据复制方法及装置
CN117312353A (zh) * 2022-06-22 2023-12-29 华为云计算技术有限公司 数据管理的方法、装置、系统及存储介质

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2086691C (en) * 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US7194590B2 (en) * 2001-02-28 2007-03-20 Hitachi, Ltd. Three data center adaptive remote copy
US7139885B2 (en) * 2001-12-27 2006-11-21 Hitachi, Ltd. Method and apparatus for managing storage based replication
US6981177B2 (en) * 2002-04-19 2005-12-27 Computer Associates Think, Inc. Method and system for disaster recovery
US7546364B2 (en) * 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
GB2409553B (en) * 2002-09-16 2007-04-04 Commvault Systems Inc System and method for optimizing storage operations
JP2006072635A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd データ処理システムおよびそのコピー処理方法
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US7606844B2 (en) * 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7603581B2 (en) 2006-03-17 2009-10-13 International Business Machines Corporation Remote copying of updates to primary and secondary storage locations subject to a copy relationship
US7480827B2 (en) * 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US7752404B2 (en) 2006-12-29 2010-07-06 Emc Corporation Toggling between concurrent and cascaded triangular asynchronous replication
US7734884B1 (en) * 2006-12-29 2010-06-08 Emc Corporation Simultaneous concurrent and cascaded triangular asynchronous replication
CN100454265C (zh) 2007-06-07 2009-01-21 华为技术有限公司 镜像恢复方法、存储设备及网络系统
US8073922B2 (en) * 2007-07-27 2011-12-06 Twinstrata, Inc System and method for remote asynchronous data replication
US8135930B1 (en) * 2008-07-14 2012-03-13 Vizioncore, Inc. Replication systems and methods for a virtual computing environment
CN101656624B (zh) * 2008-08-18 2011-12-07 中兴通讯股份有限公司 一种多节点应用级容灾系统及容灾方法
US8938549B2 (en) 2008-10-15 2015-01-20 Aster Risk Management Llc Reduction of peak-to-average traffic ratio in distributed streaming systems
JP2010176185A (ja) 2009-01-27 2010-08-12 Hitachi Ltd リモートコピーシステム及びパス設定支援方法
WO2010141460A1 (en) 2009-06-01 2010-12-09 Swarmcast, Inc. Data retrieval based on bandwidth cost and delay
JP2011128917A (ja) * 2009-12-18 2011-06-30 Fujitsu Ltd データ割当制御プログラム、データ割当制御方法、およびデータ割当制御装置
CN102236588A (zh) 2010-04-23 2011-11-09 阿里巴巴集团控股有限公司 数据远程备份方法、设备及系统
US8489656B2 (en) * 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US8271447B1 (en) * 2010-06-18 2012-09-18 Emc International Company Mirroring metadata in a continuous data protection environment
US8332687B1 (en) * 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
CN102306115B (zh) * 2011-05-20 2014-01-08 华为数字技术(成都)有限公司 异步远程复制方法、系统及设备
US8874863B2 (en) * 2011-08-01 2014-10-28 Actifio, Inc. Data replication system
CN102567145A (zh) 2011-12-28 2012-07-11 云海创想信息技术(无锡)有限公司 一种远程拷贝方法
US9430542B2 (en) * 2012-06-05 2016-08-30 International Business Machines Corporation User initiated replication in a synchronized object replication system
HUE036878T2 (hu) 2013-12-12 2018-08-28 Huawei Tech Co Ltd Adatreplikálási eljárás és tárolórendszer

Also Published As

Publication number Publication date
US10545994B2 (en) 2020-01-28
EP3062226B1 (en) 2018-02-21
CN103814360A (zh) 2014-05-21
EP3062226A1 (en) 2016-08-31
CN103814360B (zh) 2016-03-30
US20160292250A1 (en) 2016-10-06
EP3663922A1 (en) 2020-06-10
US20200293551A1 (en) 2020-09-17
EP3358466A1 (en) 2018-08-08
ES2669274T3 (es) 2018-05-24
EP3062226A4 (en) 2017-01-18
PL3663922T3 (pl) 2022-07-25
HUE036878T2 (hu) 2018-08-28
EP3358466B1 (en) 2019-11-13
WO2015085530A1 (zh) 2015-06-18
EP3663922B1 (en) 2022-04-06
US20200125583A1 (en) 2020-04-23
US11734306B2 (en) 2023-08-22
EP4089540A1 (en) 2022-11-16
US10706072B2 (en) 2020-07-07

Similar Documents

Publication Publication Date Title
ES2921209T3 (es) Método de réplica de datos y sistema de almacenamiento
CN106407040B (zh) 一种远程数据复制方法及系统
US9658798B2 (en) Grouping of tracks for copy source to target destage on global mirror secondary
ES2881606T3 (es) Sistema de ficheros geográficamente distribuido que usa replicación de espacio de nombres coordinada
JP6344798B2 (ja) データ送信方法、データ受信方法、及びストレージデバイス
JP6264666B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス
US11030056B2 (en) Data system for managing synchronized data protection operations at nodes of the data system, source node and destination node, and computer program product for use in such data system
US10353870B2 (en) Tracking structure for data replication synchronization
US20190370170A1 (en) Garbage collection implementing erasure coding
US11144252B2 (en) Optimizing write IO bandwidth and latency in an active-active clustered system based on a single storage node having ownership of a storage object
JP2016512633A (ja) データストレージシステムにおけるクローンオブジェクトのオブジェクトレベルでの複製
CN107729536B (zh) 一种数据存储方法和装置
US20230259425A1 (en) Storage system
US20110246731A1 (en) Backup system and backup method
TWI531901B (zh) 群組表資料沖除技術
CN106855834B (zh) 一种数据备份方法、装置和系统
US10521137B1 (en) Storage device array integration of dual-port NVMe device with DRAM cache and hostside portion of software stack system and method
CN105988901B (zh) 数据复制方法及存储系统
US20210026867A1 (en) Provenance-based replication in a storage system
US10503426B2 (en) Efficient space allocation in gathered-write backend change volumes
CN103842954A (zh) 一种存储系统中的数据处理方法、装置和系统
JP6376626B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス