Vous pouvez utiliser les volumes Google Cloud Hyperdisk et Persistent Disk comme disques de démarrage et disques de données pour les instances Compute Engine.
Ce document explique comment effectuer les tâches suivantes :
Convertissez un disque en un autre type de Persistent Disk ou Hyperdisk en créant un disque contenant les données du disque d'origine. En fonction du nouveau type de disque que vous choisissez, vous pouvez bénéficier des avantages suivants :
- Atteignez des niveaux de performances plus élevés si vous choisissez un type de disque plus rapide.
- Réduisez les coûts en choisissant un type de disque plus économique.
Configurez si Compute Engine supprime les disques de démarrage ou de données d'une instance de calcul lorsque vous supprimez l'instance. Vous êtes facturé pour un disque jusqu'à ce que vous le supprimiez, même s'il n'est associé à aucune instance. Vous pouvez réduire les coûts en activant la suppression automatique des disques dont vous n'aurez plus besoin une fois l'instance associée supprimée.
Mettez à jour le mode d'accès d'un volume Hyperdisk pour activer ou désactiver l'accès au volume à partir de plusieurs instances Compute Engine.
Pour modifier la taille d'un volume Hyperdisk ou Persistent Disk, consultez Modifier la taille ou les performances provisionnées d'un volume Hyperdisk et Modifier la taille d'un disque persistant, respectivement.
Modifier le type d'un volume Persistent Disk
Vous devez parfois modifier le type d'un volume de disque persistant spécifique pour répondre à vos exigences en termes de performances ou de prix. Par exemple, vous pouvez remplacer le disque de données d'une charge de travail par un disque persistant équilibré.
Vous ne pouvez pas modifier directement le type d'un volume de disque persistant existant. Vous devez créer un instantané du disque existant, puis utiliser cet instantané pour créer un disque du nouveau type.
Pour remplacer un volume Persistent Disk (le disque source) par un autre type de Persistent Disk (le nouveau disque), procédez comme suit :
Si le disque source est associé à une instance de calcul, arrêtez l'instance.
Créez un instantané du disque source.
Créez le nouveau disque à partir de l'instantané du disque source.
Pour commencer à utiliser le nouveau disque, dissociez le disque source de l'instance et associez le nouveau disque que vous venez de créer.
Si le disque source est un disque de démarrage :
Si le disque source n'est pas un disque de démarrage :
Vérifiez que le nouveau disque fonctionne comme prévu.
Après avoir testé le nouveau disque, vous pouvez supprimer l'instantané et supprimer le disque source. Des frais continuent de vous être facturés pour le disque source et l'instantané jusqu'à ce que vous les supprimiez.
Modifier le paramètre de suppression automatique d'un disque
Pour éviter toute perte de données accidentelle, vous pouvez contrôler si Compute Engine supprime automatiquement les volumes Google Cloud Hyperdisk ou Persistent Disk associés à une instance lorsque vous supprimez l'instance. Les disques SSD locaux sont toujours supprimés avec l'instance.
La propriété autoDelete de chaque volume Google Cloud Hyperdisk ou Persistent Disk associé à l'instance contrôle ce comportement.
Pour conserver un volume spécifique lorsque vous supprimez l'instance, définissez la propriété autoDelete du volume sur false. Inversement, pour supprimer un volume lorsque vous supprimez l'instance, définissez la propriété autoDelete sur true.
Vous ne pouvez pas supprimer automatiquement un disque s'il est associé à l'instance en mode lecture seule.
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Sélectionnez l'instance à laquelle les disques sont associés.
Cliquez sur le nom de l'instance. La page Informations sur l'instance de VM s'affiche.
Cliquez sur Modifier.
Pour modifier le paramètre de suppression automatique de vos disques, procédez comme suit dans la section Stockage :
- Pour le disque de démarrage, sous l'en-tête Disque de démarrage, sélectionnez la Règle de suppression du disque de démarrage.
- Pour chaque disque supplémentaire associé à l'instance, recherchez-le dans la section Disques supplémentaires, puis procédez comme suit :
- Cliquez sur Modifier le disque. Le volet Disque existant s'ouvre.
- Sous Mode de rattachement, définissez la Règle de suppression du disque. Pour enregistrer le paramètre du disque et fermer le volet, cliquez sur Enregistrer.
Pour enregistrer vos modifications, cliquez sur Enregistrer.
gcloud
Définissez l'état de suppression automatique d'un disque à l'aide de la commande gcloud compute instances set-disk-auto-delete.
Pour conserver le disque lorsque vous supprimez l'instance, spécifiez l'indicateur --no-auto-delete. Pour supprimer le disque, spécifiez le flag --auto-delete.
Si plusieurs disques sont associés à l'instance, vous devez exécuter la commande pour chacun d'eux.
gcloud compute instances set-disk-auto-delete INSTANCE_NAME \ AUTO_DELETE_SETTING \ --disk DISK_NAME
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance.AUTO_DELETE_SETTING: indique si le disque doit être supprimé automatiquement ou non. Spécifiez--no-auto-deletepour conserver le disque après la suppression de l'instance de calcul, et--auto-deletepour supprimer le disque en même temps que l'instance.DISK_NAME: nom du disque.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Go Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration Node.js décrites dans le guide de démarrage rapide de Compute Engine sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Node.js Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le Guide de démarrage rapide de Compute Engine à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python Compute Engine.
Pour vous authentifier auprès de Compute Engine, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Pour définir l'état de suppression automatique à l'aide de l'API, envoyez une requête POST à la méthode instances.setDiskAutoDelete. Utilisez le paramètre autoDelete pour indiquer si le disque doit être supprimé.
Si plusieurs disques sont associés à l'instance, vous devez envoyer une requête pour chacun d'eux.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setDiskAutoDelete?deviceName=DISK_NAME,autoDelete=AUTO_DELETE_OPTION
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.ZONE: zone dans laquelle se trouvent l'instance et le disque.INSTANCE_NAME: nom de l'instanceDISK_NAME: nom du disque associé à l'instance.AUTO_DELETE_OPTION: indique si le disque doit être supprimé automatiquement lorsque vous supprimez l'instance. Pour supprimer le disque, définissez-le surtrue. Définissez la valeur surfalsepour conserver le disque après la suppression de l'instance.
Mode d'accès pour les volumes Hyperdisk
Pour partager un volume Hyperdisk entre plusieurs instances et accorder à chacune d'elles un accès en lecture seule ou en lecture/écriture simultané au volume, vous devez définir le mode d'accès du volume sur lecture seule ou écriture simultanée, respectivement.
En revanche, pour effectuer certaines actions, comme créer une image, sur un volume Hyperdisk en mode lecture seule ou écriture simultanée, vous devez définir son mode d'accès sur écriture unique.
Cette section explique comment définir le mode d'accès d'un disque.
Pour en savoir plus sur le partage de disques, consultez Partager des disques entre des instances.
Limites concernant les modifications du mode d'accès
Vous ne pouvez pas définir le mode d'accès d'un disque, sauf si vous dissociez le disque de toutes les instances.
Les volumes Hyperdisk Throughput ne sont compatibles qu'avec le mode écriture unique. Vous ne pouvez pas définir le mode d'accès pour un volume Hyperdisk Throughput.
Pour les volumes Hyperdisk Balanced, Hyperdisk Extreme et Hyperdisk Balanced High Availability, vous ne pouvez qu'activer ou désactiver le mode multi-écrivains. Vous ne pouvez pas définir le mode d'accès sur lecture seule.
Pour les volumes Hyperdisk ML, vous ne pouvez définir le mode d'accès que sur "Lecture seule". Les volumes Hyperdisk ML ne prennent pas en charge le mode écriture simultanée.
Vous ne pouvez pas modifier le mode d'accès d'un volume Hyperdisk ML une fois que vous l'avez défini sur "Lecture seule".
Rôles et autorisations nécessaires
Pour obtenir l'autorisation nécessaire pour définir le mode d'accès d'un disque, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur le projet :
- Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1) -
Pour vous connecter à une VM pouvant s'exécuter en tant que compte de service : Utilisateur du compte de service (v1) (
roles/iam.serviceAccountUser)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation compute.disks.update, qui est nécessaire pour définir le mode d'accès d'un disque.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Définir le mode d'accès d'un volume Hyperdisk
Avant de définir le mode d'accès d'un disque, vous devez dissocier le disque de toutes les instances.
Vous pouvez définir le mode d'accès à l'aide de la console Google Cloud , de Google Cloud CLI ou de REST.
Console
Dans la console Google Cloud , accédez à la page Disques.
Dans la liste des disques de votre projet, cliquez sur le nom du volume Hyperdisk que vous souhaitez modifier.
Sur la page des informations du disque, cliquez sur Modifier.
Dans le champ Mode d'accès, sélectionnez le mode d'accès de votre choix :
- Pour activer le mode lecture seule, sélectionnez Plusieurs VM en lecture seule.
- Pour activer le mode écriture simultanée, sélectionnez Plusieurs VM en lecture/écriture.
- (Par défaut) Pour activer le mode écriture unique, sélectionnez Une seule VM en mode lecture/écriture.
Pour appliquer vos modifications, cliquez sur Enregistrer.
gcloud
Exécutez la commande disks update et spécifiez le mode d'accès à l'aide de l'option --access-mode.
gcloud compute disks update DISK_NAME \ --access-mode=DISK_ACCESS_MODE
Remplacez les éléments suivants :
- DISK_NAME : nom du volume Hyperdisk que vous modifiez.
- DISK_ACCESS_MODE : comment les instances peuvent accéder aux données du disque.
Les valeurs compatibles sont :
- .
READ_ONLY_MANYpour un accès en lecture seule à partir de plusieurs instances.READ_WRITE_MANYpour un accès en lecture/écriture à partir de plusieurs VM.- (Par défaut)
READ_WRITE_SINGLEpour un accès en lecture/écriture à partir d'une instance.
REST
Envoyez une requête PATCH à la méthode compute.disks.update.
Dans le corps de la requête, définissez le mode d'accès en incluant le paramètre accessMode.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update
{
"accessMode": "DISK_ACCESS_MODE"
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.ZONE: zone où se trouve votre volume Hyperdisk.DISK_NAME: nom du volume Hyperdisk à modifier.DISK_ACCESS_MODE: comment les instances peuvent accéder aux données du disque. Les valeurs compatibles sont :- .
READ_ONLY_MANYpour un accès en lecture seule à partir de plusieurs instances.READ_WRITE_MANYpour un accès en lecture/écriture à partir de plusieurs VM.READ_WRITE_SINGLEpour le mode à écriture unique, c'est-à-dire l'accès en lecture/écriture à partir d'une instance.
Dépannage
Pour connaître les méthodes de diagnostic et de résolution des problèmes liés aux disques saturés et au redimensionnement des disques, consultez la page Résoudre les problèmes liés aux disques saturés et au redimensionnement des disques.
Étape suivante
- Apprenez à sauvegarder régulièrement vos disques à l'aide d'instantanés afin d'éviter toute perte de données inattendue.
- Utilisez des disques persistants régionaux à des fins de réplication synchrone entre deux zones.
- Installez un disque RAM sur votre instance.