Configurar la replicación asíncrona de Persistent Disks


En este documento, se describe cómo configurar la replicación asíncrona de Persistent Disk (PD). La replicación asíncrona de PD es útil para la recuperación ante desastres con RPO y RTO bajos.

Antes de poder iniciar la replicación, debes configurar la replicación asíncrona de PD mediante la configuración de un par de replicación de disco. Un par de replicación de disco consta de un disco principal y uno secundario.

Después de crear un par de replicación de disco, debes iniciar la replicación para comenzar a replicar los datos entre el disco principal y el secundario.

Limitaciones

Los discos secundarios deben estar en blanco cuando se crean. No se pueden crear a partir de imágenes, instantáneas o de otros discos.

Antes de comenzar

  • Elige un par de regiones.
  • De manera opcional, crea un grupo de coherencia.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Configura un par de replicación de disco

Antes de que puedas replicar los datos entre los discos, debes configurar la replicación. Para ello, completa las siguientes tareas:

  1. Elige un par de regiones y tus regiones principal y secundaria.
  2. Opcional: Si necesitas coordinar la replicación entre un grupo de discos, crea un grupo de coherencia en la región principal. Debes agregar discos principales a un grupo de coherencia antes de comenzar la replicación.
  3. Crea o selecciona los discos principales. De manera opcional, puedes agregar estos discos al grupo de coherencia.
  4. Crea discos secundarios nuevos en blanco.

Requisitos del disco

Los discos deben cumplir con los siguientes requisitos a fin de usarse como discos principales o secundarios para la replicación asíncrona de PD:

Crea o selecciona un disco principal

El disco principal es el disco de arranque o de datos conectado a la VM en la que se ejecuta la carga de trabajo. Puedes usar cualquier disco preexistente que cumpla con los requisitos del disco como un disco principal o puedes crear un disco nuevo. Si quieres usar un disco existente como disco principal, no necesitas realizar ninguna configuración adicional en el disco. Continúa con la creación de un disco secundario para completar la configuración de la replicación asíncrona de PD.

Crea un disco principal

Crea un disco principal mediante los métodos descritos en uno de los siguientes documentos.

  • Crea un disco de arranque principal mientras creas una VM. De manera opcional, agrega el disco a un grupo de coherencia creando la VM con gcloud CLI o REST y especifica una de las siguientes opciones:

    • Si creas la VM con gcloud CLI, especifica la marca --create-disk:

      --create-disk=disk-resource-policy=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
      
    • Si creas la VM con REST, especifica la propiedad resourcePolicies:

      "disks":
      {
      …
      "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME"
      }
      
  • Crea un disco de datos principal mientras creas una VM. De manera opcional, agrega el disco a un grupo de coherencia creando la VM con gcloud CLI o REST y especifica una de las siguientes opciones:

    • Si creas la VM con gcloud CLI, especifica la marca --create-disk:

      --create-disk=disk-resource-policy=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
      
    • Si creas la VM con REST, especifica la propiedad resourcePolicies:

      "disks":
      {
      …
      "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME"
      }
      
  • Crea un disco de datos principal sin crear una VM. De manera opcional, agrega el disco a un grupo de coherencia creando la VM con la consola de Google Cloud, gcloud CLI o REST y especifica una de las siguientes opciones:

    • Si creas el disco con la consola de Google Cloud, selecciona el grupo de coherencia del menú desplegable Grupo de coherencia.

    • Si creas el disco con gcloud CLI, especifica la marca --resource-policies:

      --resource-policies=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
      
    • Si creas el disco con REST, especifica la propiedad resourcePolicies:

      "disks":
      {
      …
      "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME"
      }
      

    Reemplaza lo siguiente:

    • PROJECT: el proyecto que contiene el grupo de coherencia
    • REGION: la región en la que se encuentra el grupo de coherencia
    • CONSISTENCY_GROUP_NAME: el nombre del grupo de coherencia al que se agregará el disco.

Crea un disco secundario

El disco secundario es un disco de datos ubicado en una región independiente del disco principal, que recibe y escribe los datos replicados del disco principal. Cuando configuras la replicación asíncrona de PD, debes crear un disco secundario nuevo en blanco que haga referencia al disco principal.

Para crear un disco secundario con las mismas propiedades que el disco principal, sigue los pasos de Crea un disco secundario idéntico al disco principal. El disco secundario hereda las propiedades del disco principal, como la configuración de inicio y las etiquetas.

Para crear un disco secundario que difiera del disco principal, consulta Crea un disco secundario personalizado.

Crea un disco secundario idéntico al disco principal

En esta sección, se describe cómo crear un disco secundario idéntico al disco principal.

Puedes crear un disco secundario con la consola de Google Cloud, la CLI de gcloud o REST.

Console

Para crear un disco secundario e iniciar la replicación, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Discos.

    Ir a Discos

  2. Haz clic en el nombre del disco principal. Se abrirá la página Administrar disco.

  3. Haz clic en Crear disco secundario.

  4. En el campo Nombre, ingresa un nombre para el disco.

  5. En la sección Ubicación, realiza una de las siguientes acciones:

  6. Haz clic en Crear. Compute Engine crea el disco y, luego, inicia la replicación.

gcloud

Crea un disco secundario con el comando gcloud compute disks create:

gcloud compute disks create SECONDARY_DISK_NAME \
    --SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \
    --size=SIZE \
    --primary-disk=PRIMARY_DISK_NAME \
    --PRIMARY_DISK_LOCATION_FLAG=PRIMARY_LOCATION \
    --primary-disk-project=PRIMARY_DISK_PROJECT

Para crear un disco secundario regional, también debes especificar la marca --replica-zones:

--replica-zones=ZONE_1,ZONE_2

Reemplaza lo siguiente:

  • SECONDARY_DISK_NAME: el nombre del disco secundario.
  • SECONDARY_LOCATION_FLAG: la marca de ubicación para el disco secundario. Para crear un disco secundario regional, usa --region. Para crear un disco secundario zonal, usa --zone.
  • SECONDARY_LOCATION: la región o la zona para el disco secundario.
  • SIZE Es el tamaño del disco nuevo, expresado en GB. El tamaño debe ser el mismo que el del disco principal. Rangos de tamaño aceptables, en incrementos de 1 GB, de 10 GB a 2,000 GB.
  • PRIMARY_DISK_NAME: el nombre del disco principal del que el disco secundario recibe datos.
  • PRIMARY_LOCATION_FLAG: la marca de ubicación para el disco principal.
    • Para un disco principal regional, usa --primary-disk-region.
    • Para un disco principal zonal, usa --primary-disk-zone.
  • PRIMARY_LOCATION: la región o la zona del disco principal.
    • Para un disco regional, usa la región.
    • Para los discos zonales, usa la zona.
  • PRIMARY_PROJECT: el proyecto que contiene el disco principal.
  • ZONE_1: una de las zonas a las que se replica el disco regional. Debe ser una zona dentro de la región especificada y debe ser diferente de ZONE_2.
  • ZONE_2: una de las zonas a las que se replica el disco regional. Debe ser una zona dentro de la región especificada y debe ser diferente de ZONE_1.

REST

Crea un disco secundario zonal o regional mediante uno de los siguientes métodos:

  • Para crear un disco secundario zonal, usa el método disks.insert:

    POST https://compute.googleapis.com/compute/v1/projects/SECONDARY_DISK_LOCATION/zones/SECONDARY_DISK_ZONE/disks
    
    {
    "name": "SECONDARY_DISK_NAME",
    "sizeGb": "DISK_SIZE",
    "type": "DISK_TYPE"
    "asyncPrimaryDisk": {
      "disk": "projects/PRIMARY_DISK_PROJECT/PRIMARY_DISK_LOCATION_PARAMETER/PRIMARY_DISK_LOCATION/disks/PRIMARY_DISK_NAME"
      }
    }
    
  • Para crear un disco secundario regional, usa el método regionDisks.insert:

    POST https://compute.googleapis.com/compute/v1/projects/SECONDARY_DISK_PROJECT/regions/SECONDARY_DISK_LOCATION/disks
    
    {
    "name": "SECONDARY_DISK_NAME",
    "sizeGb": "DISK_SIZE",
    "type": "DISK_TYPE"
    "asyncPrimaryDisk": {
      "disk": "projects/PRIMARY_DISK_PROJECT/PRIMARY_DISK_LOCATION_PARAMETER/PRIMARY_DISK_LOCATION/disks/PRIMARY_DISK_NAME"
      }
    }
    

Reemplaza lo siguiente:

  • SECONDARY_DISK_PROJECT: el proyecto del disco secundario.
  • SECONDARY_DISK_LOCATION: la región o la zona para el disco secundario.
    • Para un disco regional, usa la región.
    • Para un disco zonal, usa la zona.
  • SECONDARY_DISK_NAME: el nombre del disco secundario.
  • DISK_SIZE: el tamaño del disco secundario. Debe ser del mismo tamaño que el disco principal.
  • SECONDARY_DISK_TYPE: el tipo de disco. Debe ser pd-ssd o pd-balanced.
  • PRIMARY_DISK_PROJECT: el proyecto que contiene el disco principal.
  • PRIMARY_DISK_LOCATION_PARAMETER: el parámetro de ubicación para el disco principal.
    • Para un disco principal regional, usa regions.
    • Para un disco principal zonal, usa zones.
  • PRIMARY_DISK_LOCATION: la región o la zona del disco principal. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.
  • PRIMARY_DISK_NAME: el nombre del disco principal del que el disco secundario recibe datos.

Crea un disco secundario personalizado

En esta sección, se explica cómo crear un disco secundario personalizado, es decir, un disco secundario cuyas propiedades difieren del disco principal.

Si el disco principal es un disco de arranque, no puedes cambiar ni quitar ninguna de las funciones del SO invitado del disco principal. Solo puedes agregar más funciones del SO invitado. Para obtener más información, consulta Personalización del disco secundario.

Puedes crear un disco secundario personalizado con la CLI de gcloud o REST. No puedes personalizar el disco secundario desde la consola de Google Cloud.

gcloud

Para crear un disco secundario personalizado, usa el comando gcloud compute disks create como se describe en Crea un disco secundario idéntico al disco principal. Usa marcas adicionales para personalizar las propiedades del disco secundario.

A continuación, se muestran ejemplos de cómo personalizar el disco secundario:

  • Para especificar las funciones adicionales del SO invitado, usa el parámetro --guest-os-features. No es necesario que incluyas las funciones del SO invitado del disco principal. El disco secundario hereda automáticamente las características del SO invitado del disco principal.

     --guest-os-features=UEFI_COMPATIBLE,GVNIC,MULTI_IP_SUBNET
     

  • Para asignar etiquetas adicionales al disco secundario, usa el parámetro --labels. No es necesario que incluyas las etiquetas del disco principal. El disco secundario hereda automáticamente las etiquetas del disco principal.
      --labels=secondary-disk-for-replication=yes
      

REST

Para crear un disco secundario personalizado, usa el mismo método que se describe en Crea un disco secundario idéntico al disco principal. Especifica campos adicionales para personalizar las propiedades del disco secundario.

A continuación, se muestran ejemplos de cómo personalizar el disco secundario:

  • Para especificar las funciones adicionales del SO invitado, usa el campo guestOsFeatures. No debes incluir las funciones del SO invitado del disco principal. El disco secundario hereda automáticamente las características del SO invitado del disco principal.
    "guestOsFeatures": [
      {
        "type": "NEW_FEATURE_ID_1"
      },
      {
        "type": "NEW_FEATURE_ID_1"
      }
    ]
    
  • Para asignar etiquetas adicionales al disco secundario, usa el campo labels. No es necesario que incluyas las etiquetas del disco principal. El disco secundario hereda automáticamente las etiquetas del disco principal.
      "labels": [
        {
          "key": "value"
        },
      ]
    

Iniciar la replicación

Después de crear un disco principal y uno secundario, debes iniciar la replicación para comenzar a replicar los datos del disco principal al secundario.

¿Qué sigue?