Configurer une réplication asynchrone sur disque persistant


Ce document explique comment configurer la réplication asynchrone sur disque persistant. La réplication asynchrone des disques persistants est utile pour la reprise après sinistre à faibles RPO et RTO.

Avant de pouvoir démarrer la réplication, vous devez configurer la réplication asynchrone sur disque persistant en configurant une paire de réplication sur disque. Une paire de réplication sur disque se compose d'un disque principal et d'un disque secondaire.

Après avoir créé une paire de réplication, vous devez démarrer la réplication pour commencer à répliquer les données entre le disque principal et le disque secondaire.

Limites

Les disques secondaires doivent être vides lors de leur création. Ils ne peuvent pas être créés à partir d'images, d'instantanés ou d'autres disques.

Avant de commencer

  • Choisissez une paire de régions.
  • Créez un groupe de cohérence (facultatif).
  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init

Configurer une paire de réplication sur disque

Pour pouvoir répliquer des données entre des disques, vous devez configurer la réplication en effectuant les tâches suivantes:

  1. Choisissez une paire de régions, ainsi que vos régions principale et secondaire.
  2. Facultatif: Si vous devez coordonner la réplication sur un groupe de disques, créez un groupe de cohérence dans la région principale. Vous devez ajouter des disques principaux à un groupe de cohérence avant de démarrer la réplication.
  3. Créez ou sélectionnez les disques principaux. Vous pouvez éventuellement ajouter ces disques au groupe de cohérence.
  4. Créez des disques secondaires vides.

Exigences de disque

Les disques doivent répondre aux exigences suivantes pour être utilisés comme disques principaux ou secondaires pour la réplication asynchrone de disques persistants:

Créer ou sélectionner un disque principal

Le disque principal est le disque de démarrage ou de données associé à la VM sur laquelle la charge de travail est exécutée. Vous pouvez utiliser n'importe quel disque préexistant qui répond aux exigences du disque en tant que disque principal, ou créer un disque. Si vous souhaitez utiliser un disque existant en tant que disque principal, aucune configuration supplémentaire n'est requise sur le disque. Vous pouvez créer un disque secondaire pour terminer la configuration de la réplication asynchrone des disques persistants.

Créer un disque principal

Créez un disque principal à l'aide des méthodes décrites dans l'un des documents suivants.

  • Créez un disque de démarrage principal lors de la création d'une VM. Vous pouvez éventuellement ajouter le disque à un groupe de cohérence en créant la VM à l'aide de la gcloud CLI ou de REST et en spécifiant l'un des éléments suivants :

    • Si vous créez la VM à l'aide de la gcloud CLI, spécifiez l'option --create-disk :

      --create-disk=disk-resource-policy=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
      
    • Si vous créez la VM à l'aide de REST, spécifiez la propriété resourcePolicies :

      "disks":
      {
      …
      "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME"
      }
      
  • Créez un disque de données principal lors de la création d'une VM. Vous pouvez éventuellement ajouter le disque à un groupe de cohérence en créant la VM à l'aide de la gcloud CLI ou de REST et en spécifiant l'un des éléments suivants :

    • Si vous créez la VM à l'aide de la gcloud CLI, spécifiez l'option --create-disk :

      --create-disk=disk-resource-policy=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
      
    • Si vous créez la VM à l'aide de REST, spécifiez la propriété resourcePolicies :

      "disks":
      {
      …
      "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME"
      }
      
  • Créez un disque de données principal sans créer de VM. Vous pouvez éventuellement ajouter le disque à un groupe de cohérence en créant la VM à l'aide de la console Google Cloud, de la gcloud CLI ou de REST et en spécifiant l'un des éléments suivants :

    • Si vous créez le disque à l'aide de la console Google Cloud, sélectionnez le groupe de cohérence dans la liste déroulante Groupe de cohérence.

    • Si vous créez le disque à l'aide de la gcloud CLI, spécifiez l'option --resource-policies :

      --resource-policies=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
      
    • Si vous créez le disque à l'aide de REST, spécifiez la propriété resourcePolicies :

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

    Remplacez les éléments suivants :

    • PROJECT: projet contenant le groupe de cohérence.
    • REGION: région dans laquelle se trouve le groupe de cohérence
    • CONSISTENCY_GROUP_NAME: nom du groupe de cohérence auquel ajouter le disque

Créer un disque secondaire

Le disque secondaire est un disque de données situé dans une région distincte du disque principal, qui reçoit et écrit les données répliquées du disque principal. Lorsque vous configurez la réplication asynchrone des disques persistants, vous devez créer un disque secondaire vide qui référence le disque principal.

Pour créer un disque secondaire avec les mêmes propriétés que le disque principal, suivez les étapes décrites dans la section Créer un disque secondaire identique au disque principal. Le disque secondaire hérite des propriétés du disque principal, telles que sa configuration de démarrage et ses libellés.

Pour créer un disque secondaire différent du disque principal, consultez la section Créer un disque secondaire personnalisé.

Créer un disque secondaire identique au disque principal

Cette section explique comment créer un disque secondaire identique au disque principal.

Vous pouvez créer un disque secondaire à l'aide de la console Google Cloud, de gcloud CLI ou de REST.

Console

Créez un disque secondaire et démarrez la réplication en procédant comme suit:

  1. Dans la console Google Cloud, accédez à la page Disques.

    Accéder à la page Disques

  2. Cliquez sur le nom du disque principal. La page Gérer le disque s'affiche.

  3. Cliquez sur Créer un disque secondaire.

  4. Dans le champ Nom, saisissez un nom pour la connexion.

  5. Dans la section Emplacement, effectuez l'une des opérations suivantes:

  6. Cliquez sur Créer. Compute Engine crée le disque et lance la réplication.

gcloud

Créez un disque secondaire à l'aide de la commande 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

Pour créer un disque secondaire régional, spécifiez également l'option --replica-zones:

--replica-zones=ZONE_1,ZONE_2

Remplacez les éléments suivants :

  • SECONDARY_DISK_NAME: nom du disque secondaire.
  • SECONDARY_LOCATION_FLAG: option d'emplacement pour le disque secondaire. Pour créer un disque secondaire régional, utilisez --region. Pour créer un disque secondaire zonal, utilisez --zone.
  • SECONDARY_LOCATION: région ou zone du disque secondaire.
  • SIZE : la taille du nouveau disque, en Go. La taille doit être identique à celle du disque principal. Les tailles acceptées sont comprises entre 10 et 2 000 Go par incréments de 1 Go.
  • PRIMARY_DISK_NAME: le nom du disque principal à partir duquel le disque secondaire reçoit les données.
  • PRIMARY_LOCATION_FLAG: option d'emplacement pour le disque principal.
    • Pour un disque principal régional, utilisez --primary-disk-region.
    • Pour un disque principal zonal, utilisez --primary-disk-zone.
  • PRIMARY_LOCATION: région ou zone du disque principal.
    • Pour un disque régional, utilisez la région.
    • Pour les disques zonaux, utilisez la zone.
  • PRIMARY_PROJECT: projet contenant le disque principal.
  • ZONE_1: une des zones dans lesquelles le disque régional est répliqué. Doit être une zone dans la région spécifiée et doit être différente de ZONE_2.
  • ZONE_2: une des zones dans lesquelles le disque régional est répliqué. Doit être une zone de la région spécifiée et être différente de ZONE_1.

REST

Créez un disque secondaire zonal ou régional à l'aide de l'une des méthodes suivantes :

  • Pour créer un disque secondaire zonal, utilisez la méthode 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"
      }
    }
    
  • Pour créer un disque secondaire régional, utilisez la méthode 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"
      }
    }
    

Remplacez les éléments suivants :

  • SECONDARY_DISK_PROJECT: projet du disque secondaire.
  • SECONDARY_DISK_LOCATION: région ou zone du disque secondaire.
    • Pour un disque régional, utilisez la région.
    • Pour un disque zonal, utilisez la zone.
  • SECONDARY_DISK_NAME: nom du disque secondaire.
  • DISK_SIZE : taille du disque secondaire. Cette taille doit être identique à la taille du disque principal.
  • SECONDARY_DISK_TYPE: type de disque Doit être défini sur pd-ssd ou pd-balanced.
  • PRIMARY_DISK_PROJECT: projet contenant le disque principal.
  • PRIMARY_DISK_LOCATION_PARAMETER: paramètre d'emplacement du disque principal.
    • Pour un disque principal régional, utilisez regions.
    • Pour un disque principal zonal, utilisez zones.
  • PRIMARY_DISK_LOCATION: région ou zone du disque principal. Pour les disques régionaux, utilisez la région. Pour les disques zonaux, utilisez la zone.
  • PRIMARY_DISK_NAME: le nom du disque principal à partir duquel le disque secondaire reçoit les données.

Créer un disque secondaire personnalisé

Cette section explique comment créer un disque secondaire personnalisé, c'est-à-dire un disque secondaire dont les propriétés diffèrent de celles du disque principal.

Si le disque principal est un disque de démarrage, vous ne pouvez pas modifier ni supprimer les fonctionnalités de l'OS invité du disque principal. Vous pouvez uniquement ajouter d'autres fonctionnalités de l'OS invité. Pour en savoir plus, consultez la section Personnalisation du disque secondaire.

Vous pouvez créer un disque secondaire personnalisé à l'aide de gcloud CLI ou de REST. Vous ne pouvez pas personnaliser le disque secondaire à partir de la console Google Cloud.

gcloud

Pour créer un disque secondaire personnalisé, exécutez la commande gcloud compute disks create, comme décrit dans la section Créer un disque secondaire identique au disque principal. Utilisez des options supplémentaires pour personnaliser les propriétés du disque secondaire.

Vous trouverez ci-dessous des exemples de personnalisation du disque secondaire :

  • Pour spécifier des fonctionnalités d'OS invité supplémentaires, utilisez le paramètre --guest-os-features. Vous n'avez pas besoin d'inclure les fonctionnalités d'OS invité du disque principal, car le disque secondaire va en hériter automatiquement.

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

  • Pour attribuer des libellés supplémentaires au disque secondaire, utilisez le paramètre --labels. Vous n'avez pas besoin d'inclure les libellés du disque principal, car le disque secondaire va en hériter automatiquement.
      --labels=secondary-disk-for-replication=yes
      

REST

Pour créer un disque secondaire personnalisé, utilisez la même méthode que celle décrite dans la section Créer un disque secondaire identique au disque principal. Spécifiez des champs supplémentaires pour personnaliser les propriétés du disque secondaire.

Vous trouverez ci-dessous des exemples de personnalisation du disque secondaire :

  • Pour spécifier des fonctionnalités d'OS invité supplémentaires, utilisez le champ guestOsFeatures. Vous n'avez pas besoin d'inclure les fonctionnalités d'OS invité du disque principal, car le disque secondaire va en hériter automatiquement.
    "guestOsFeatures": [
      {
        "type": "NEW_FEATURE_ID_1"
      },
      {
        "type": "NEW_FEATURE_ID_1"
      }
    ]
    
  • Pour attribuer des libellés supplémentaires au disque secondaire, utilisez le champ labels. Vous n'avez pas besoin d'inclure les libellés du disque principal, car le disque secondaire va en hériter automatiquement.
      "labels": [
        {
          "key": "value"
        },
      ]
    

Démarrer la réplication

Après avoir créé un disque principal et un disque secondaire, vous devez démarrer la réplication pour commencer à répliquer les données depuis le disque principal vers le disque secondaire.

Étapes suivantes