Ajouter ou redimensionner des disques persistants régionaux

Cette page explique comment ajouter et gérer des ressources de stockage de type disque persistant régional. Lorsque vous redimensionnez ce type de disque, vous pouvez augmenter sa taille, mais pas la réduire. Les disques persistants régionaux ne peuvent pas servir de périphériques de démarrage. En cas de basculement, vous n'avez pas la possibilité de forcer l'association du disque à une autre instance de VM.

Les disques persistants régionaux, qui présentent des qualités similaires aux disques persistants de zones, se distinguent de ces derniers par plusieurs caractéristiques :

  • Ils doivent être installés en mode lecture/écriture (RW, Read/Write) et ne sont pas compatibles avec le mode lecture seule (RO, Read Only).
  • Ils ne peuvent pas servir de disques de démarrage.
  • Ils permettent de forcer l'association d'un disque répliqué à une autre instance de VM en cas de défaillance d'une zone.
  • Vous pouvez créer un disque persistant régional à partir d'un instantané, mais pas d'une image.
  • Il existe des différences de performances, qui sont décrites dans le document Options de stockage.

Le disque persistant régional permet une réplication synchrone des données entre deux zones d'une même région. Dans le cas peu probable d'une défaillance de zone, le trafic peut être dirigé vers une autre instance de VM, et vous pouvez forcer l'association du disque répliqué à une autre instance de VM située dans la même zone ou dans une zone secondaire. Le processus d'association prend moins d'une minute.

Les disques persistants régionaux sont une option à envisager lors de la conception de systèmes robustes et pour les services de bases de données avec état tels que MySQL et Postgres qui requièrent une haute disponibilité.

Consultez l'article relatif aux options de stockage Compute Engine pour comparer les ressources et leurs performances.

Avant de commencer

Limites

Les disques persistants régionaux présentent les limites suivantes :

  • Ils doivent être installés en mode lecture/écriture (RW, Read/Write) et ne sont pas compatibles avec le mode lecture seule (RO, Read Only).
  • Ils ne peuvent pas servir de disques de démarrage.
  • Vous pouvez créer un disque persistant régional à partir d'un instantané, mais pas d'une image.

Ajouter un disque persistant régional à une instance

Créez un disque persistant régional standard ou SSD, puis associez-le à une instance. Si vous ne disposez d'aucune instance, vous devez d'abord créer et démarrer une instance. Il convient de créer votre instance dans la même région que vos disques.

Console

Vous devez d'abord créer le disque persistant régional, puis l'associer à une instance existante. Vous ne pouvez pas créer de disques persistants régionaux en tant que disques de démarrage, car il est impossible de forcer l'association de ce type de disque lors d'un basculement.

Créez un disque persistant régional.

  1. Accédez à la page "Disques".

    Accéder à la page "Disques"

  2. Sélectionnez votre projet.
  3. Cliquez sur Créer un disque.
  4. Spécifiez le paramètre Nom pour le disque.
  5. Sélectionnez le paramètre Type pour le disque.
  6. Cochez la case Répliquer ce disque dans la région.
  7. Sélectionnez la région.

    Notez la région, car vous devrez sélectionner la même région lors de la création de l'instance.

  8. Sélectionnez deux zones de cette région, puis cliquez sur OK.

    Vous devez sélectionner deux zones, Notez les zones que vous sélectionnez, car vous devrez associer le disque à votre instance dans l'une de ces zones.

  9. Sélectionnez le paramètre Type de source.
  10. Sélectionnez le paramètre Chiffrement.
  11. Cliquez sur Créer pour finaliser la création du disque.

Après avoir créé le disque persistant régional, associez-le à votre instance.

Lors de l'association d'un disque à une instance existante, vous pouvez recevoir un message d'erreur si le disque est déjà associé à une autre instance. Vous devrez peut-être forcer l'association du disque à l'instance en cochant la case Forcer l'association dans le menu déroulant Disques supplémentaires.

Après avoir associé un disque à une instance, vous devez formater et installer le disque pour que le système d'exploitation puisse utiliser l'espace de stockage disponible.

gcloud

Procédez comme suit pour créer et associer un disque persistant régional avec l'outil gcloud :

  1. Exécutez la commande create pour créer des disques persistants régionaux. Si vous avez besoin d'un disque persistant régional SSD pour obtenir un débit ou un taux d'IOPS plus élevés, incluez l'indicateur --type et spécifiez pd-ssd.

    gcloud beta compute disks create [DISK_NAME] --size [DISK_SIZE] --type [DISK_TYPE] --region [REGION] --replica-zones [ZONE1,ZONE2]
    

    où :

    • [DISK_NAME] est le nom du nouveau disque.
    • [DISK_SIZE] correspond à la taille du nouveau disque en Go.
    • [DISK_TYPE] correspond au type du disque persistant (pd-standard ou pd-ssd).
    • [REGION] est la région où se trouvera le disque régional, (par exemple, europe-west1).
    • [ZONE1,ZONE2] correspond aux zones de la région où se trouvent les deux disques.
      Vous devez sélectionner deux zones, (par exemple, europe-west1-a,europe-west1-b).
  2. Après avoir créé le disque, associez-le à une instance en cours d'exécution ou arrêtée. Exécutez la commande gcloud beta compute instances attach-disk et incluez l'indicateur --disk-scope regional pour spécifier que le disque est régional :

    gcloud beta compute instances attach-disk [INSTANCE_NAME] --disk [DISK_NAME] --disk-scope regional
    

    où :

    • [INSTANCE_NAME] est le nom de l'instance à laquelle vous ajoutez les nouveaux disques persistants régionaux.
    • [DISK_NAME] correspond au nom du nouveau disque que vous associez à l'instance.
    • L'indicateur --disk-scope est défini sur regional.

    Après avoir créé et associé un disque à une instance, vous devez formater et installer le disque pour que le système d'exploitation puisse utiliser l'espace de stockage disponible.

API

  1. Dans l'API, envoyez une requête POST pour créer un disque persistant régional. Dans le corps de la requête compute.regionDisks.insert, initialisez un nouveau disque avec les propriétés name et replicaZones. Pour créer un disque vierge, ne spécifiez aucune source d'image ou d'instantané.

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]
    
    {
     "name": "[DISK_NAME]",
     "replicaZones": "projects/[PROJECT_ID]/zones/[ZONE1]",
                     "projects/[PROJECT_ID]/zones/[ZONE2]"
    }
    

    où :

    • [PROJECT_ID] correspond à l'ID de votre projet.
    • [ZONE1] est la zone où se trouve le nouveau disque. Elle correspond à la zone où vous allez associer le disque à une instance.
    • [ZONE2] correspond à l'emplacement du disque source.
    • [DISK_NAME] est le nom du nouveau disque.
  2. Dans l'API, envoyez une requête POST à la méthode compute.instances.attachDisk et incluez l'URL du disque persistant que vous venez de créer :

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

    où :

    • [PROJECT_ID] est l'ID de votre projet.
    • [ZONE] est la zone dans laquelle se trouvent la nouvelle instance et le nouveau disque.
    • [INSTANCE_NAME] correspond au nom de l'instance à laquelle vous ajoutez le disque persistant.
    • [DISK_NAME] est le nom du nouveau disque.

Après avoir créé et associé un disque à une instance, vous devez formater et installer le disque pour que le système d'exploitation puisse utiliser l'espace de stockage disponible.

Accéder à un disque persistant régional lors d'une défaillance de zone

Dans le cas peu probable d'une défaillance de zone, votre disque persistant régional peut être basculé sur une instance de VM d'une autre zone via la commande d'association forcée.

Une opération d'écriture n'est exécutée sur une VM que si les données sont conservées de façon durable dans les deux instances dupliquées. Si l'une des instances dupliquées n'est pas disponible, Compute Engine n'écrit que sur celle qui est saine. Lorsque Compute Engine détermine que l'instance dupliquée défaillante est de nouveau opérationnelle, elle est synchronisée de manière transparente avec l'instance dupliquée saine, et le mode de fonctionnement synchrone est rétabli. Cette opération est transparente pour les VM. Rien n'indique sur les disques persistants régionaux que des données ont été perdues ou rétablies.

Dans de très rares cas, si les deux instances dupliquées deviennent indisponibles en même temps ou si l'instance dupliquée saine devient indisponible alors qu’une autre est en cours de synchronisation, le disque correspondant devient indisponible.

Vous avez également la possibilité d'arrêter manuellement l'instance après avoir effectué l'étape d'association forcée.

Défaillance au sein d'une zone

Il est également possible de forcer l'association du disque persistant régional à une instance de VM dans la même zone. Cette option de basculement au sein d'une zone est disponible pour gérer les défaillances provoquées par une configuration inappropriée de la VM, une mise à niveau incorrecte du système d'exploitation ou d'autres modes de dysfonctionnement.

Console

Créez une instance de VM de secours et forcez l'association d'un disque à une instance.

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Sélectionnez votre projet.
  3. Spécifiez le paramètre Nom pour l'instance.
  4. Sélectionnez la région où se trouve le disque persistant régional.
  5. Sélectionnez la zone secondaire de l'instance de VM d'origine où votre disque a été associé.

    Vos disques sont répertoriés sur la page Disques.

  6. Cliquez sur Gestion, disques, réseau et clés SSH.
  7. Cliquez sur Disques.
  8. Sous Disques supplémentaires, cliquez sur + Associer un disque existant.
  9. Sélectionnez le disque persistant régional dans le menu déroulant.
  10. Cochez la case permettant de forcer l'association du disque.
  11. Cliquez sur OK.
  12. Cliquez sur Créer pour finaliser la création de cette instance.

    La nouvelle instance de VM s'affiche sur la page "Instances de VM".
    Effectuez les mêmes étapes pour forcer l'association d'un disque à l'instance d'origine une fois que la zone défaillante a été rétablie.

gcloud

Dans l'outil gcloud, exécutez la commande attach-disk pour associer le disque source à une instance de VM. Incluez l'indicateur --force-attach et définissez-le sur True.

gcloud beta compute instances attach-disk [INSTANCE_NAME]
    --disk [DISK_NAME] --disk-scope [REGIONAL] --force-attach [TRUE]

où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance de VM dans la région.
  • [DISK_NAME] est le nom du disque.
  • L'indicateur --disk-scope est défini sur regional.

Après avoir forcé l'association du disque, vous pouvez, si nécessaire, y installer les systèmes de fichiers. L'instance peut utiliser ce disque pour continuer les opérations de lecture et d'écriture.

API

Envoyez une requête POST à la méthode compute.instances.attachDisk et incluez l'URL du disque persistant que vous venez de créer. Le paramètre de requête forceAttach=true est requis pour associer le disque à la nouvelle instance de VM même si celui-ci est toujours présent dans l'instance principale.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk?forceAttach=true

{
 "source": "projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]"
}

où :

  • [PROJECT_ID] correspond à l'ID de votre projet.
  • [REGION] est la région où se trouvent l'instance et le nouveau disque.
  • [INSTANCE_NAME] correspond au nom de l'instance à laquelle vous ajoutez le disque persistant.
  • [DISK_NAME] est le nom du nouveau disque.

Après avoir associé le disque source, installez les systèmes de fichiers sur les disques si nécessaire. L'instance peut utiliser le disque source pour poursuivre des opérations de lecture et d'écriture.

Redimensionner un disque persistant régional

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

La commande de redimensionnement d'un disque persistant régional est identique à celle employée pour un disque persistant standard. Toutefois, elle utilise un indicateur supplémentaire pour la région.

Console

Pour redimensionner un disque persistant régional, procédez comme suit :

  1. Accédez à la page "Disques".

    Accéder à la page "Disques"

  2. Sélectionnez le disque que vous souhaitez redimensionner.
  3. Cliquez sur Modifier en haut de la page.
  4. Saisissez la taille en Go pour le disque.

    Vous pouvez augmenter la taille du disque, mais pas la réduire.

  5. Cliquez sur Enregistrer.
  6. Après avoir redimensionné le disque, vous devez redimensionner le système de fichiers pour que le système d'exploitation puisse accéder à l'espace supplémentaire.

    La nouvelle taille de disque s'affiche dans la liste des disques.

gcloud

Dans l'outil gcloud, exécutez la commande disks resize. Spécifiez l'indicateur --size avec la taille de disque souhaitée en Go et l'indicateur --region avec la région où se trouve le disque.

gcloud beta compute disks resize [DISK_NAME] --region [DISK REGION]--size [DISK_SIZE]

où :

  • [DISK_NAME] est le nom du disque que vous redimensionnez.
  • [DISK REGION] est la région où se trouve le disque.
  • [DISK_SIZE] est la nouvelle taille du disque en Go.

Après avoir redimensionné le disque, vous devez redimensionner le système de fichiers pour que le système d'exploitation puisse accéder à l'espace supplémentaire.

API

Dans l'API, envoyez une requête POST à la méthode compute.regionDisks.resize. Dans le corps de la requête, spécifiez le paramètre sizeGb et définissez-le sur la taille de disque souhaitée en Go.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/resize

{
 "sizeGb": "[DISK_SIZE]"
}

où :

  • [PROJECT_ID] correspond à l'ID de votre projet.
  • [REGION] est la région où se trouve le disque.
  • [DISK_NAME] est le nom du disque que vous redimensionnez.
  • [DISK_SIZE] est la nouvelle taille du disque en Go.

Après avoir redimensionné le disque, vous devez redimensionner le système de fichiers pour que le système d'exploitation puisse accéder à l'espace supplémentaire.

Migrer un disque persistant de zones vers un disque persistant régional

Pour convertir un disque persistant de zones en disque persistant régional, commencez par créer un instantané du disque existant. Ensuite, créez un disque persistant régional à partir de l'instantané.

gcloud

Dans l'outil gcloud, exécutez la commande disks snapshot, et spécifiez les indicateurs --zone et --snapshot-name.

gcloud compute disks snapshot [DISK_NAME] --zone [DISK_ZONE]
--snapshot-name [SNAPSHOT_DISK_NAME]

où :

  • [DISK_NAME] est le nom du disque à partir duquel vous souhaitez créer un instantané.
  • [DISK_ZONE] est la zone où se trouve le disque.
  • [SNAPSHOT_DISK_NAME] est le nom de l'instantané du disque que vous venez de créer.

Créez un disque régional à partir d'un instantané du disque de zones à l'aide de gcloud beta compute disks create. Spécifiez le nom du disque, ainsi que les indicateurs --region, --replica-zones et --source-snapshot.

gcloud beta compute disks create [DISK_NAME] --region [DISK_REGION]
--replica-zones [ZONE1,ZONE2] --source-snapshot [SNAPSHOT_DISK_NAME]

où :

  • [DISK_NAME] est le nom du nouveau disque.
  • [DISK_REGION] est la région où sera placé le disque.
  • [ZONE1,ZONE2] indique les zones où vont être placés les disques répliqués.
  • [SNAPSHOT_DISK_NAME] est le nom de l'instantané source.

Vous pouvez utiliser la même méthode pour migrer des disques régionaux vers des disques de zones.

API

Dans l'API, envoyez une requête POST à la méthode compute.disk.createSnapshot pour créer un instantané d'un disque. Dans le corps de la requête, spécifiez la zone (zone) où se trouve le disque, le nom du disque (disk) à partir duquel vous créez un instantané et saisissez createSnapshot.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK]/createSnapshot

où :

  • [PROJECT_ID] est l'ID de votre projet.
  • [ZONE] est la zone où se trouve le disque.
  • [DISK] est le nom du disque à partir duquel vous créez un instantané.

Dans l'API, envoyez une requête POST pour créer un disque persistant régional. Dans le corps de la requête compute.regionDisks.insert, initialisez un nouveau disque, et spécifiez son nom ainsi que les propriétés de zones des instances dupliquées. Comme il s'agit d'un disque de données, n'incluez pas la propriété sourceImage, qui crée un disque vierge :

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]

{
 "name": "[DISK_NAME]",
 "replicaZones": "projects/[PROJECT_NAME]/zones/[ZONE1]",
                 "projects/[PROJECT_NAME]/zones/[ZONE2]"
}

où :

  • [PROJECT_ID] correspond à l'ID de votre projet.
  • [ZONE1] est la zone où se trouvent l'instance et le nouveau disque.
  • [ZONE2] est l'emplacement du disque répliqué.
  • [DISK_NAME] est le nom du nouveau disque.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine