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, qui présentent des qualités similaires aux disques persistants de zones, se distinguent de ces derniers par plusieurs caractéristiques :

  • Ils ne peuvent pas servir de disques de démarrage.
  • Ils permettent de forcer l'association à une autre instance de machine virtuelle (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 l'éventualité peu probable d'une défaillance de zone, votre charge de travail peut alors basculer vers une autre instance de machine virtuelle de la même zone ou d'une zone secondaire. Vous pouvez également forcer l'association du disque persistant régional à cette instance. Le processus d'association est estimé à moins d'une minute.

Il est recommandé de sauvegarder vos disques persistants à l'aide d'instantanés afin d'éviter toute perte de données inattendue.

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.

Chaque disque persistant que vous créez a une taille de bloc physique par défaut de 4 Ko. Si votre application de base de données nécessite une taille de bloc physique plus importante, vous pouvez sélectionner 16 Ko lors de la création de votre disque. Cette fonctionnalité n'est pas disponible pour les disques de démarrage. Si vous souhaitez modifier la taille du bloc physique d'un disque existant, vous devez réaliser un instantané du disque, puis créer un disque. Il n'est pas possible de modifier directement la taille de bloc physique d'un disque.

Avant de commencer

Limites

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

  • 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.
  • La taille minimale d'un disque persistant standard est de 200 Go.
  • Vous ne pouvez pas utiliser de disque persistant régional avec un type de machine à mémoire optimisée.

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. Vous avez la possibilité de sélectionner la taille du bloc physique (Ko). La taille de disque par défaut est de 4 Ko. Toutefois, vous pouvez augmenter la taille de bloc physique du disque en sélectionnant 16 Ko dans le menu déroulant. Cette fonctionnalité est disponible en version bêta.
  11. Sélectionnez le paramètre Chiffrement.
  12. 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. Utilisez la commande compute disks 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. Ajoutez éventuellement l'indicateur --physical-block-size pour définir la taille du bloc physique. Pour inclure cet indicateur, vous devez utiliser la commande beta compute disks create. Cette fonctionnalité est disponible en version bêta.

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

    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] et [ZONE2] correspondent aux zones de la région où se trouvent les instances dupliquées des deux disques.
      Vous devez sélectionner deux zones, (par exemple, europe-west1-a,europe-west1-b).
    • [BLOCK_SIZE] est 4096 (4 Ko) ou 16384 (16 Ko). 4 Ko est la taille de bloc physique par défaut. 16 Ko correspond à une taille de bloc physique augmentée. Exécutez la commande beta compute disks create avec cet indicateur. Cette fonctionnalité est disponible en version bêta.
  2. Après avoir créé le disque, associez-le à une instance en cours d'exécution ou arrêtée. Exécutez la commande compute instances attach-disk en ajoutant l'indicateur --disk.

    gcloud compute instances attach-disk [INSTANCE_NAME] \
        --disk [DISK_NAME]
    

    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.

    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.

  3. Utilisez la commande compute disks describe pour afficher une description de votre disque. La réponse inclut la taille de bloc physique du disque.

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é. Ajoutez éventuellement la propriété physicalBlockSizeBytes pour définir la taille du bloc physique. Utilisez la version bêta de la méthode d'API compute.regionDisks.insert pour cette propriété. Cette fonctionnalité est disponible en version bêta.

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

    où :

    • [PROJECT_ID] est l'ID de votre projet.
    • [DISK_NAME] est le nom du nouveau disque.

    • [BLOCK_SIZE] est 4096 (4 Ko) ou 16384 (16 Ko). 4 Ko est la taille de bloc physique par défaut. 16 Ko correspond à une taille de bloc physique augmentée. Utilisez la version bêta de la méthode d'API compute.regionDisks.insert pour cette propriété. Cette fonctionnalité est disponible en version bêta.

    • [ZONE1] et [ZONE2] correspondent aux zones où se trouvent les instances dupliquées 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/v1/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 l'emplacement de votre instance.
    • [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.

Si la zone dans laquelle votre instance de VM est exécutée devient indisponible, il se peut qu'il ne soit pas possible de dissocier un disque de l'instance, puisque celle-ci est inaccessible. L'association de force vous permet d'associer à une instance de VM un disque régional actuellement utilisé par une autre instance.

Une fois l'association de force réalisée, Compute Engine empêche la VM d'origine d'écrire sur le disque. Le recours à l'association de force vous permet d'accéder à nouveau à vos données et de récupérer votre service de manière sécurisé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 machines virtuelles.

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, 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 la liste déroulante.
  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 instances attach-disk pour associer le disque source à une instance de VM. Incluez l'indicateur --disk-scope et définissez-le sur regional.

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

où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance de VM dans la région.
  • [DISK_NAME] est le nom du disque.

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/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk?forceAttach=true

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

où :

  • [PROJECT_ID] est l'ID de votre projet.
  • [ZONE] est l'emplacement de votre instance.
  • [INSTANCE_NAME] correspond au nom de l'instance à laquelle vous ajoutez le disque persistant.
  • [REGION] est la région où se trouve le disque persistant régional.
  • [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 compute 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 compute disks resize [DISK_NAME] \
    --region [REGION]  \
    --size [DISK_SIZE]

où :

  • [DISK_NAME] est le nom du disque que vous redimensionnez.
  • [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/v1/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.

Partager un disque persistant entre plusieurs instances

Vous pouvez associer un disque persistant non amorçable à plusieurs instances de machine virtuelle en mode lecture seule, ce qui vous permet de partager des données statiques entre plusieurs instances. Le partage de données statiques entre plusieurs instances à partir d'un seul disque persistant est plus économique que de répliquer vos données sur des disques dédiés à chaque instance.

Si vous associez un disque persistant à plusieurs instances, toutes ces instances doivent définir une association au disque persistant en mode lecture seule. Il est impossible d'associer le disque persistant à plusieurs instances en mode lecture/écriture. Si vous devez partager un espace de stockage dynamique entre plusieurs instances, choisissez l'une des options suivantes :

Si vous avez un disque persistant avec des données que vous souhaitez partager entre plusieurs instances, dissociez-le des instances en mode lecture/écriture et associez-le à une ou plusieurs instances en mode lecture seule.

Console

  1. Accédez à la page Instances pour afficher la liste des instances de votre projet.

    Accéder à la page "Instances"

  2. Dans la colonne Nom, cliquez sur le nom de l'instance à laquelle vous souhaitez associer le disque. La page des détails de l'instance s'affiche.
  3. Cliquez sur Modifier en haut de la page des détails de l'instance.
  4. Dans la section Disques supplémentaires, cliquez sur Ajouter un élément pour ajouter un élément de disque à la liste des disques persistants non amorçables associés.
  5. Dans la colonne Nom, cliquez sur Sélectionner un disque, puis sur le nom du disque à associer. Si vous créez un disque non amorçable, configurez ses propriétés, puis cliquez sur Créer pour appliquer les modifications.
  6. Dans la colonne Mode, cliquez sur Lecture/Écriture et changez le mode en Lecture seule.
  7. En bas de la page des détails de l'instance, cliquez sur Enregistrer pour appliquer vos modifications à l'instance.
  8. Connectez-vous à l'instance et installez le disque.
  9. Répétez cette opération pour ajouter le disque à d'autres instances en mode lecture seule.

gcloud

Dans l'outil gcloud, utilisez la commande compute instances attach-disk et spécifiez l'indicateur --mode avec l'option ro.

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

où :

  • [INSTANCE_NAME] correspond au nom de l'instance à laquelle vous souhaitez associer le disque persistant.
  • [DISK_NAME] correspond au nom du disque que vous souhaitez associer.

Après avoir associé le disque, connectez-vous à l'instance et installez le disque.

Répétez cette commande pour chaque instance sur laquelle vous souhaitez ajouter ce disque en mode lecture seule.

API

Dans l'API, envoyez une requête POST à la méthode compute.instances.attachDisk. Dans le corps de la requête, définissez le paramètre mode en tant que READ_ONLY.

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

{
 "source": "regions/[REGION]/disks/[DISK_NAME]",
 "mode": "READ_ONLY"
}

où :

  • [PROJECT_ID] est l'ID de votre projet.
  • [ZONE] est la zone de l'instance.
  • [INSTANCE_NAME] correspond au nom de l'instance à laquelle vous souhaitez associer le disque persistant.
  • [REGION] est la région où se trouve le disque.
  • [DISK_NAME] est le nom du disque que vous associez.

Après avoir associé le disque, connectez-vous à l'instance et installez le disque.

Répétez cette requête pour chaque instance sur laquelle vous souhaitez ajouter ce disque en mode lecture seule.

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 compute disks snapshot, et spécifiez les indicateurs --zone et --snapshot-name.

gcloud compute disks snapshot [DISK_NAME] \
    --zone [ZONE] \
    --snapshot-name [SNAPSHOT_DISK_NAME]

où :

  • [DISK_NAME] est le nom du disque à partir duquel vous souhaitez créer un instantané.
  • [ZONE] est l'emplacement de votre disque zonal.
  • [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 zonal à l'aide de compute disks create. Spécifiez le nom du disque, ainsi que les indicateurs --region, --replica-zones et --source-snapshot.

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

où :

  • [DISK_NAME] correspond au nom du nouveau disque ;
  • [REGION] correspond à la région où se trouve le disque ;
  • [ZONE1] et [ZONE2] correspondent aux zones où se trouvent les instances dupliquées des nouveaux disques persistants régionaux ;
  • [SNAPSHOT_DISK_NAME] correspond au 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é de disque. Dans le corps de la requête, spécifiez la zone où se trouve le disque, le nom du disk à partir duquel vous créez un instantané et saisissez createSnapshot.

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

où :

  • [PROJECT_ID] correspond à l'ID de votre projet.
  • [ZONE] est la zone où se trouve le disque.
  • [DISK_NAME] est le nom du disque dont 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/v1/projects/[PROJECT_ID]/regions/[REGION]/disks

{
 "name": "[DISK_NAME]",
 "sourceSnapshot": "global/snapshots/[SNAPSHOT_NAME]",
 "replicaZones": [
 "projects/[PROJECT_ID]/zones/[ZONE1]",
 "projects/[PROJECT_ID]/zones/[ZONE2]"
 ],
}

où :

  • [PROJECT_ID] est l'ID de votre projet.
  • [REGION] est la région où se trouve le disque.
  • [DISK_NAME] est le nom du nouveau disque.
  • [SNAPSHOT_NAME] est le nom de l'instantané à restaurer.
  • [ZONE1] et [ZONE2] correspondent aux zones où se trouvent les instances dupliquées des nouveaux disques persistants régionaux. ## Étapes suivantes
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine