Créer et gérer des disques régionaux


Disque persistant régional et Hyperdisk équilibré à haute disponibilité sont des options de stockage qui vous permettent d'implémenter des services à haute disponibilité dans Compute Engine. Les volumes Persistent Disk régionaux et les volumes Hyperdisk équilibrés à haute disponibilité répliquent les données de manière synchrone entre deux zones de la même région, et garantissent la haute disponibilité pour les données du disque en cas d'indisponibilité ne dépassant pas une défaillance de zone. Le disque régional peut être un disque de démarrage ou un disque non amorçable.

Ce document explique comment effectuer les tâches suivantes pour les disques régionaux:

Avant de commencer

  • Examinez les différences entre les différents types d'options de stockage sur disque.
  • Passez en revue les principes de base de la réplication synchrone des disques.
  • Consultez la page sur le basculement de disque régional.
  • 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 en sélectionnant l'une des options suivantes:

    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. Install the Google Cloud CLI, then initialize it by running the following command:

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

      Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Pour en savoir plus, consultez Set up authentication for a local development environment.

      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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Rôles et autorisations requis

Pour obtenir les autorisations nécessaires pour créer un disque régional, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet:

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer un disque régional. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un disque régional:

  • compute.disks.create
  • compute.instances.attachDisk
  • compute.disks.use
  • Créer un instantané d'un disque : compute.disks.createSnapshot
  • Afficher les détails d'un disque : compute.disks.get
  • Obtenir la liste des disques : compute.disks.list
  • Modifier la taille d'un disque : compute.disks.update

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Limites

  • Mexico, Montréal et Osaka comportent trois zones hébergées dans un ou deux centres de données physiques. Étant donné que les données stockées dans ces régions peuvent être perdues dans les rares cas de destruction des centres de données, vous pouvez envisager de sauvegarder les données critiques de votre entreprise dans une deuxième région afin d'améliorer leur protection.
  • Vous ne pouvez associer un disque persistant régional qu'aux VM qui utilisent les types de machines E2, N1, N2 et N2D.
  • Vous ne pouvez associer les disques Hyperdisk équilibrés à haute disponibilité Balanced qu'aux types de machines compatibles.
  • Vous ne pouvez pas créer de disque persistant régional à partir d'une image ou d'un disque créé à partir d'une image.
  • Lorsque vous utilisez le mode lecture seule, vous pouvez associer un disque persistant avec équilibrage à un maximum de 10 instances de VM.
  • La taille minimale d'un disque persistant standard régional est de 200 Gio.
  • Vous ne pouvez qu'augmenter la taille d'un volume de disque persistant régional ouHyperdisk équilibré à haute disponibilité ; vous ne pouvez pas la réduire.
  • Les volumes Persistent Disk régionaux et Hyperdisk équilibrés à haute disponibilité ont des caractéristiques de performances différentes de celles des disques zonaux correspondants. Pour en savoir plus, consultez la page Performances des options de stockage de blocs.
  • Vous ne pouvez pas utiliser un volume Hyperdisk équilibré à haute disponibilité en mode écriture simultanée comme disque de démarrage.
  • Si vous créez un disque répliqué en clonant un disque zonal, les deux instances dupliquées zonales ne sont pas entièrement synchronisées au moment de la création. Une fois créé, vous pouvez utiliser le clone de disque régional dans un délai moyen de trois minutes. Toutefois, vous devrez peut-être attendre quelques dizaines de minutes avant que le disque n'atteigne un état entièrement répliqué et que l'objectif de point de récupération (RPO, Recovery Point Objective) soit proche de zéro. Découvrez comment vérifier si votre disque répliqué est entièrement répliqué.

À propos de l'utilisation d'un disque régional comme disque de démarrage pour une instance

Vous pouvez associer un disque persistant régionalou un disque Hyperdisk équilibré à haute disponibilité en tant que disque de démarrage pour les charges de travail avec état provisionnées à l'avance, avant de provisionner une charge de travail de production. Les disques de démarrage régionaux ne sont pas conçus pour les systèmes de secours à chaud, car ils ne peuvent pas être associés simultanément à deux instances de calcul.

Vous ne pouvez créer des volumes de disque persistant régional ou Hyperdisk équilibré à haute disponibilité qu'à partir d'instantanés. Il n'est pas possible de créer un disque régional à partir d'une image.

Pour utiliser un disque régional comme disque de démarrage d'une instance, utilisez l'une des méthodes suivantes:

  1. Créez une instance avec un disque de démarrage régional.
  2. Créez un disque de démarrage régional, puis associez-le à une instance :
    1. Créez un disque régional à partir d'un instantané d'un disque de démarrage.
    2. Associez un disque de démarrage régional à une instance.

Si vous devez basculer un disque de démarrage régional vers une instance de secours en cours d'exécution dans la zone de réplication, suivez la procédure décrite dans la section Associer un disque de démarrage régional à une instance.

Créer un disque régional

Créez un volumePersistent Disk régional ou Hyperdisk équilibré à haute disponibilité. Le disque doit se trouver dans la même région que l'instance de calcul à laquelle vous prévoyez de l'associer.

Si vous créez un volume Hyperdisk équilibré à haute disponibilité, vous pouvez également autoriser différentes instances à accéder simultanément au disque en définissant le mode d'accès au disque. Pour en savoir plus, consultez la section Partager un disque entre plusieurs instances.

Pour les volumes Persistent Disk régionaux, si vous créez un disque dans la console Google Cloud, le type de disque par défaut est pd-balanced. Si vous créez un disque à l'aide de gcloud CLI ou de REST, le type de disque par défaut est pd-standard.

Console

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

    Accéder à la page Disques

  2. Sélectionnez le projet requis.

  3. Cliquez sur Créer un disque.

  4. Spécifiez le paramètre Nom pour le disque.

  5. Dans le champ Emplacement, sélectionnez Régional.

  6. Sélectionnez une région et une zone. Vous devez sélectionner la même région lorsque vous créez votre instance.

  7. Sélectionnez la zone de l'instance dupliquée dans la même région. Assurez-vous d'en noter les noms, car vous devrez associer le disque à votre instance dans l'une de ces zones.

  8. Sélectionnez le type de source du disque.

  9. Sélectionnez le type de disque et la taille.

  10. Cliquez sur Créer pour finaliser la création du disque.

gcloud

Créez un disque régional à l'aide de la commande compute disks create.

Si vous avez besoin d'un disque persistant SSD régional pour obtenir un débit ou un taux d'IOPS plus important, incluez l'option --type et spécifiez pd-ssd.

gcloud compute disks create DISK_NAME \
   --size=DISK_SIZE \
   --type=DISK_TYPE \
   --region=REGION \
   --replica-zones=ZONE1,ZONE2
   --access-mode=DISK_ACCESS_MODE

Remplacez les éléments suivants :

  • DISK_NAME : le nom du nouveau disque.
  • DISK_SIZE : la taille du nouveau disque, en Gio.
  • DISK_TYPE : Pour le disque persistant régional, il s'agit du type du disque régional. La valeur par défaut est pd-standard. Pour les volumes Hyperdisk, spécifiez la valeur hyperdisk-balanced-high-availability.
  • REGION : la région dans laquelle se trouve le disque régional (par exemple, europe-west1).
  • ZONE1 et ZONE2 : les zones de la région où se trouvent les instances dupliquées des deux disques (par exemple, europe-west1-b,europe-west1-c).
  • DISK_ACCESS_MODE: facultatif : comment les instances peuvent accéder aux données du disque. Les valeurs compatibles sont :

    • READ_WRITE_SINGLE, pour un accès en lecture/écriture à partir d'une instance. Il s'agit de la valeur par défaut.
    • READ_WRITE_MANY, pour un accès en lecture/écriture à partir de plusieurs instances.

    Vous ne pouvez définir le mode d'accès que pour les disques Hyperdisk équilibré à haute disponibilité.

Terraform

Pour créer unvolume Persistent Disk régional ou un volume Hyperdisk équilibré à haute disponibilité, vous pouvez utiliser la ressource google_compute_region_disk.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

REST

Pour créer unvolume Persistent Disk régional ou un volume Hyperdisk équilibré à haute disponibilité, envoyez une requête POST à la méthode compute.regionDisks.insert.

Pour créer un disque vide, ne spécifiez pas de source d'instantané.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks
{
  "name": "DISK_NAME",
  "region": "projects/PROJECT_ID/regions/REGION",
  "replicaZones": [
    "projects/PROJECT_ID/zones/ZONE1",
    "projects/PROJECT_ID/zones/ZONE2"
  ],
  "sizeGb": "DISK_SIZE",
  "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE",
  "accessMode": "DISK_ACCESS_MODE"
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : la région dans laquelle se trouve le disque régional (par exemple, europe-west1).
  • DISK_NAME : le nom du nouveau disque.
  • ZONE1 et ZONE2 : les zones où se trouvent les instances dupliquées du nouveau disque.
  • DISK_SIZE : la taille du nouveau disque, en Gio.
  • DISK_TYPE : Pour les volumes Persistent Disk régionaux, il s'agit du type de volume Persistent Disk. Pour les volumes Hyperdisk, spécifiez la valeur hyperdisk-balanced-high-availability.
  • DISK_ACCESS_MODE: comment les instances peuvent accéder aux données du disque. Les valeurs compatibles sont :

    • READ_WRITE_SINGLE, pour un accès en lecture/écriture à partir d'une instance. Il s'agit de la valeur par défaut.
    • READ_WRITE_MANY, pour un accès en lecture/écriture à partir de plusieurs instances.

    Vous ne pouvez définir le mode d'accès que pour les disques Hyperdisk équilibré à haute disponibilité.

Associer un disque régional à votre instance

Pour les disques qui ne sont pas des disques de démarrage, après avoir créé undisque persistant régional ou un volume Hyperdisk équilibré à haute disponibilité, vous pouvez l'associer à une instance. L'instance doit se trouver dans la même région que le disque.

Pour associer un disque de démarrage régional à une instance, consultez la section Associer un disque de démarrage régional à une instance.

Pour associer un disque à plusieurs instances, répétez la procédure de cette section pour chaque instance.

Console

  1. Pour associer un disque à une instance, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Dans la colonne Nom, cliquez sur le nom de l'instance.

  3. Cliquez sur Modifier .

  4. Cliquez sur Associer un disque existant.

  5. Choisissez le disque régional créé précédemment à ajouter à votre instance.

  6. Si un avertissement indique que le disque sélectionné est déjà associé à une autre instance, cochez la case Forcer l'association du disque pour forcer l'association du disque à l'instance que vous êtes en train de modifier.

    Consultez les cas d'utilisation de l'association forcée de disques régionaux dans la section Basculement de disque régional.

  7. Cliquez sur Enregistrer.

  8. Sur la page Modifier la VM, cliquez sur Enregistrer.

gcloud

Pour associer un disque régional à une instance en cours d'exécution ou arrêtée, exécutez la commande compute instances attach-disk en spécifiant l'option --disk-scope sur regional.

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --disk-scope=regional

Remplacez les éléments suivants :

  • INSTANCE_NAME: nom de l'instance à laquelle vous ajoutez le disque régional.
  • DISK_NAME: nom du nouveau disque que vous associez à l'instance.

Terraform

Pour associer un volumede disque persistant régional ou google_compute_attached_disk Hyperdisk équilibré à haute disponibilité à une instance, vous pouvez utiliser la ressource google_compute_attached_disk.

resource "google_compute_instance" "test_node" {
  name         = "test-node"
  machine_type = "f1-micro"
  zone         = "us-west1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  attached_disk {
    source      = google_compute_disk.default.id
    device_name = google_compute_disk.default.name
  }

  network_interface {
    network = "default"
    access_config {
      # Ephemeral IP
    }
  }

  # Ignore changes for persistent disk attachments
  lifecycle {
    ignore_changes = [attached_disk]
  }


}

REST

Pour associer un disque régional à une instance en cours d'exécution ou arrêtée, envoyez une requête POST à la méthode compute.instances.attachDisk et incluez l'URL du disque régional que vous avez créé.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
  "source": "/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME"
}

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID de votre projet.
  • ZONE : l'emplacement de votre instance.
  • INSTANCE_NAME: nom de l'instance à laquelle vous ajoutez le nouveau disque régional.
  • REGION : région où se trouve le disque régional
  • DISK_NAME: nom du disque régional

Pour les disques non amorçables, après avoir créé et associé un disque régional vide à une instance, vous devez formater et installer le disque pour que le système d'exploitation puisse utiliser l'espace de stockage disponible.

Convertir un disque zonal en disque régional

Pour convertir un volume Persistent Disk zonal existant en volume Persistent Disk régional, créez un disque en clonant un disque zonal existant. Pour plus d'informations, consultez la page Créer un clone de disque régional à partir d'un disque zonal.

Pour convertir un disque Hyperdisk en disque régional, créez un disque Hyperdisk équilibré à haute disponibilité à partir d'un instantané du disque existant, comme décrit dans la section Convertir un disque zonal en disque Hyperdisk équilibré à haute disponibilité.

Créer une instance avec des disques régionaux

Lors de la création d'une instance, vous pouvez également inclure des volumes de disques persistants régionauxou Hyperdisk équilibré à haute disponibilitéen tant que disques supplémentaires.

Pour créer et associer un volumePersistent Disk régional ouHyperdisk équilibré à haute disponibilité à une instance lors de sa création, consultez l'une des pages suivantes:

Créer une instance avec un disque de démarrage régional

Lorsque vous configurez une instance de calcul à disponibilité élevée, vous pouvez créer l'instance principale avec un disque de démarrage régional. En cas de panne de zone, vous pouvez redémarrer l'instance dans la zone secondaire au lieu de créer une instance.

Dans une configuration à haute disponibilité, où l'appareil de démarrage est un disque régional, Google vous recommande de ne pas créer ni démarrer l'instance de secours. Au lieu de cela, associez le disque régional existant au moment du basculement en utilisant l'option forceAttach lorsque vous créez l'instance de secours.

Pour créer une instance avec un disque de démarrage qui est un disque régional, utilisez l'une des méthodes suivantes:

gcloud

Utilisez la commande gcloud compute instances create pour créer une instance et l'option --create-disk pour spécifier le disque régional.

gcloud compute instances create PRIMARY_INSTANCE_NAME  \
 --zone=ZONE  \
 --create-disk=^:^name=REGIONAL_DISK_NAME:scope=regional:boot=true:type=DISK_TYPE:source-snapshot=SNAPSHOT_NAME:replica-zones=ZONE,REMOTE_ZONE

Lorsque vous spécifiez les paramètres du disque, les caractères ^:^ indiquent que le caractère de séparation entre les paramètres est le signe deux-points (:). Cela vous permet d'utiliser une virgule (,) lors de la spécification du paramètre "replica-zones".

Remplacez les éléments suivants :

  • PRIMARY_INSTANCE_NAME: nom de l'instance
  • ZONE: nom de la zone dans laquelle vous souhaitez créer l'instance
  • REGIONAL_DISK_NAME: nom du disque régional.
  • DISK_TYPE: type de disque à créer (par exemple, hyperdisk-balanced-high-availability, ou pd-balanced)
  • SNAPSHOT_NAME : nom de l'instantané que vous avez créé pour le disque de démarrage.
  • REMOTE_ZONE: zone de remplacement du disque régional.

REST

Envoyez une requête POST à la méthode instances.insert et spécifiez les propriétés boot: 'true' et replicaZones. Par exemple :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
 "name": "INSTANCE_NAME",
 "disks": [{
    "boot": true,
    "initializeParams": {
       "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
       "replicaZones": [
           "projects/PROJECT_ID/zones/ZONE",
           "projects/PROJECT_ID/zones/REMOTE_ZONE"
       ],
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE"
    }
  }],
 "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ]
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • ZONE: nom de la zone dans laquelle vous souhaitez créer l'instance
  • INSTANCE_NAME: nom de l'instance
  • BOOT_SNAPSHOT_NAME : nom de l'instantané de disque de démarrage.
  • REMOTE_ZONE: zone distante pour le disque régional
  • DISK_TYPE: type de disque à créer (par exemple, hyperdisk-balanced-high-availability, ou pd-balanced)

Associer un disque de démarrage régional à une instance

Suivez la procédure ci-après afin de :

  • Remplacez le disque de démarrage d'une instance existante par un disque de démarrage régional.
  • Basculez un disque de démarrage régional vers une instance de secours à chaud en cours d'exécution dans la zone de sauvegarde. Pour ce faire, associez le disque régional à l'instance en tant que disque de démarrage.

Cette procédure suppose que le disque et l'instance régionaux existent déjà.

gcloud

  1. Arrêtez l'instance.
    gcloud compute instances stop INSTANCE_NAME  --zone=ZONE
    
  2. Dissociez le disque de démarrage actuel de l'instance.
    gcloud compute instances detach-disk INSTANCE_NAME \
     --zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME
    
  3. Associez le disque de démarrage régional à l'instance.
    gcloud compute instances attach-disk INSTANCE_NAME  \
     --zone=ZONE  \
     --disk=REGIONAL_DISK_NAME  \
     --disk-scope=regional --force-attach \
     --boot
    
  4. Redémarrez l'instance.

    gcloud compute instances start INSTANCE_NAME
    

Remplacez les variables des commandes précédentes par les éléments suivants :

  • INSTANCE_NAME: nom de l'instance à laquelle vous souhaitez associer le disque de démarrage régional.
  • ZONE: zone dans laquelle se trouve l'instance
  • CURRENT_BOOT_DEVICE_NAME: nom du disque de démarrage utilisé par l'instance. Il est généralement identique au nom de l'instance.
  • REGIONAL_DISK_NAME: nom du disque régional que vous souhaitez associer à l'instance en tant que disque de démarrage.

(Facultatif) Si vous ne parvenez pas à dissocier le disque de démarrage régional de l'instance principale en raison d'une panne ou d'un échec, incluez l'option --force-attach.

REST

  1. Arrêtez l'instance.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    
  2. Dissociez le disque de démarrage actuel de l'instance.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
    
  3. Associez le disque de démarrage régional à l'instance.

    Envoyez une requête POST à la méthode compute.instances.attachDisk et incluez l'URL du disque de démarrage régional:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
    {
    "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REGIONAL_DISK_NAME",
    "boot": true
    }
  4. Redémarrez l'instance.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
    

Remplacez les variables des commandes précédentes par les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • INSTANCE_NAME: nom de l'instance à laquelle vous souhaitez associer le disque régional.
  • ZONE: zone dans laquelle se trouve l'instance
  • CURRENT_BOOT_DEVICE_NAME: nom du disque de démarrage utilisé par l'instance. Il s'agit généralement du même nom que celui de l'instance.
  • REGION: région dans laquelle se trouve le disque régional
  • REGIONAL_DISK_NAME: nom du disque régional que vous souhaitez associer à l'instance en tant que disque de démarrage.

(Facultatif) Si vous ne parvenez pas à dissocier correctement le disque de démarrage régional de l'instance à laquelle il a été initialement associé en raison d'une panne ou d'un échec, incluez "forceAttach": true dans le corps de la requête.

Répertorier et décrire vos disques régionaux

Vous pouvez afficher la liste de tous vos disques régionaux configurés et des informations sur leurs propriétés, y compris les éléments suivants:

  • ID du disque
  • Nom du disque
  • Taille
  • Type de disque
  • Région
  • Instances répliquées zonales

Pour afficher des informations détaillées sur vos disques régionaux, utilisez les éléments suivants:

Redimensionner un disque régional

Si des instances dotées de disques régionaux requièrent davantage d'espace de stockage, vous pouvez redimensionner les disques. Vous pouvez redimensionner les disques à tout moment, qu'ils soient ou non associés à une instance en cours d'exécution. Si vous devez séparer vos données en les stockant sur des volumes uniques, créez plusieurs disques secondaires pour l'instance. Pour un volume Hyperdisk équilibré à haute disponibilité, vous pouvez également augmenter les limites d'IOPS et de débit du disque.

La commande de redimensionnement d'un disque régional est très semblable à celle de redimensionnement d'un disque zonal. Toutefois, vous devez spécifier une région au lieu d'une zone pour l'emplacement du disque.

Vous pouvez augmenter la taille du disque, et non la réduire. Pour réduire la taille du disque, vous devez créer un disque de taille inférieure. Les deux disques vous sont facturés jusqu'à ce que vous supprimiez le disque d'origine plus volumineux.

Pour savoir comment modifier un disque régional, consultez les instructions suivantes :

Étape suivante