Si votre instance de machine virtuelle (VM) Compute Engine nécessite un espace de stockage supplémentaire ou des limites de performances plus élevées, vous pouvez augmenter la taille de votre disque persistant. Vous pouvez augmenter la taille du disque à tout moment, qu'il soit ou non associé à une VM en cours d'exécution.
Cette page explique comment modifier la taille d'un disque persistant. Pour augmenter la taille d'un volume Google Cloud Hyperdisk, consultez Modifier la taille et les performances provisionnées d'un volume Hyperdisk.
Lorsque vous créez une image Linux personnalisée, une image Windows personnalisée ou une image Fedora CoreOS, vous devez augmenter manuellement la taille des disques de démarrage et non amorçables. Si vous utilisez une image publique (à l'exception des images Fedora CoreOS), Compute Engine redimensionne automatiquement les disques de démarrage.
L'augmentation de la taille d'un disque n'entraîne aucune suppression ou modification des données du disque, mais il est recommandé de sauvegarder le disque en créant un instantané avant de modifier le système de fichiers ou les partitions.
Compute Engine gère le matériel derrière les disques persistants, ce qui vous permet d'ajouter et de redimensionner vos disques sans vous préoccuper des questions de répartition ou de redondance.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet 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 :
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
-
Installez la Google Cloud CLI. Une fois l'installation terminée, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Rôles et autorisations nécessaires
Pour obtenir l'autorisation dont vous avez besoin pour redimensionner un disque persistant, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
- Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1) -
Pour se 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 requise pour redimensionner un disque persistant.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Déplacer des données vers un disque plus petit
Vous ne pouvez pas réduire directement la taille d'un disque persistant. Si la taille provisionnée d'un volume de disque persistant est trop importante, vous devez remplacer le disque par un nouveau disque plus petit. Pour ce faire, créez un disque vide de taille inférieure, puis copiez le contenu du disque d'origine sur le nouveau disque. Vous pouvez ensuite utiliser le nouveau disque à la place de l'original.
Pour remplacer un disque par un disque plus petit, procédez comme suit :
- Créez un disque persistant vide et spécifiez la taille souhaitée. Assurez-vous que le nouveau disque est suffisamment grand pour contenir les données du disque source.
- Associez les deux disques à la même instance. Pour obtenir des instructions, consultez Associer un disque non amorçable à une VM.
- Formatez et installez le nouveau disque. Consultez les instructions pour les instances Linux et Windows.
- Copiez les données du disque d'origine vers le nouveau disque à l'aide des utilitaires disponibles pour votre système d'exploitation. Par exemple, sous Linux, vous pouvez utiliser
rsyncoudd. Pour les instances Windows, vous pouvez utiliserrobocopy. - Vérifiez que le nouveau disque contient toutes les données et qu'il fonctionne comme prévu.
- Mettez à jour votre application ou votre OS pour utiliser le nouveau disque.
- Après avoir vérifié que la migration a réussi, vous pouvez dissocier et supprimer le disque d'origine, plus volumineux.
Limites de taille des volumes Persistent Disk
La taille que vous spécifiez pour un volume Persistent Disk doit être comprise dans les plages indiquées dans le tableau suivant.
| Type de disque | Taille minimale | Taille maximale | Taille par défaut |
|---|---|---|---|
| Disque persistant avec équilibrage | Zonal : 10 Gio Régional : 10 Gio |
64 Tio | 100 Gio |
| Performance (SSD) Persistent Disk | Zonal : 10 Gio Régional : 10 Gio |
64 Tio | 100 Gio |
| Disque persistant standard | Zonal : 10 Gio Régional : 200 Gio |
64 Tio | 500 Gio |
| Disque persistant extrême | 500 Gio | 64 Tio | 1 Tio |
Augmenter la taille d'un volume Persistent Disk
Pour augmenter la taille d'un disque de démarrage ou non amorçable, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Disques.
Dans la liste des disques de votre projet, cliquez sur le nom du disque à redimensionner.
Sur la page des informations du disque, cliquez sur Modifier. Vous devrez peut-être cliquer sur le menu Autres actions, puis sur Modifier.
Dans le champ Taille, indiquez la nouvelle taille de votre disque. Le redimensionnement des disques dotés de tables de partition MBR est limité à 2 To.
Cliquez sur Enregistrer pour appliquer vos modifications au disque.
La nouvelle taille de disque s'affiche dans la liste des disques.
gcloud
Exécutez la commande gcloud compute disks resize et spécifiez l'option --size avec la nouvelle taille de disque, en gibioctets (Gio).
gcloud compute disks resize DISK_NAME \
--size DISK_SIZE \
--zone=ZONE
Remplacez les éléments suivants :
DISK_NAME: le nom du disque que vous redimensionnez.DISK_SIZE: la nouvelle taille du disque, en gibioctets (Gio). Le redimensionnement des disques dotés de tables de partition MBR est limité à 2 To.ZONE: pour un disque persistant zonal, spécifiez la zone où se trouve le disque.Pour un disque persistant régional, utilisez plutôt l'option
--region=REGIONet spécifiez la région dans laquelle se trouve le disque régional.
Terraform
Choisissez l'une des options suivantes pour redimensionner des disques zonaux ou des disques persistants régionaux :
Disque zonal
Pour modifier la taille d'un disque persistant, vous pouvez utiliser la ressource google_compute_disk et le paramètre size.
Si vous incluez le paramètre size avec le paramètre image ou snapshot, la valeur size doit être supérieure ou égale à la taille de l'image ou de l'instantané.
Si vous omettez les paramètres image et snapshot, vous pouvez définir le paramètre size sur une valeur inférieure à la taille du disque existant. Dans ce cas, Terraform détruit le disque et crée un disque Persistent Disk vide.
Disques persistants régionaux
Pour modifier la taille d'un disque persistant régional, vous pouvez utiliser la ressource google_compute_region_disk et le paramètre size.
Si vous incluez le paramètre size avec le paramètre image ou snapshot, la valeur size doit être supérieure ou égale à la taille de l'image ou de l'instantané.
Si vous omettez les paramètres image et snapshot, vous pouvez définir le paramètre size sur une valeur inférieure à la taille du disque existant. Dans ce cas, Terraform détruit le disque et crée un disque RegionalPersistentDisk vide.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
REST
Pour redimensionner un disque persistant, envoyez une requête POST à la méthode compute.disks.resize.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/resize
{
"sizeGb": "DISK_SIZE"
}
Pour redimensionner un disque persistant régional, envoyez une requête POST à la méthode compute.regionDisks.resize.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize
{
"sizeGb": "DISK_SIZE"
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.ZONE: pour un disque persistant zonal, zone où se trouve le disque.REGION: pour un disque persistant régional, région où se trouve le disque.DISK_NAME: le nom du disque à redimensionner.DISK_SIZE: la nouvelle taille du disque, en gibioctets (Gio). Le redimensionnement des disques dotés de tables de partition MBR est limité à 2 To.
Redimensionner le système de fichiers et les partitions
Après avoir augmenté la taille d'un disque, vous devrez peut-être redimensionner le système de fichiers et les partitions. Vous trouverez ci-dessous des informations supplémentaires sur les disques de démarrage et non amorçables :
Disques de démarrage : si vous utilisez une image Linux personnalisée, une image Windows personnalisée ou une image Fedora CoreOS, vous devez redimensionner manuellement la partition racine et le système de fichiers. Pour les instances dotées d'images publiques (à l'exception des images Fedora CoreOS), Compute Engine redimensionne automatiquement la partition racine et le système de fichiers après l'augmentation de la taille du disque de démarrage. Vous n'avez pas besoin de redémarrer l'instance.
Disques non amorçables : après avoir augmenté la taille du disque, vous devez étendre le système de fichiers sur le disque pour utiliser l'espace supplémentaire.
L'exemple suivant montre comment redimensionner manuellement la partition racine et le système de fichiers d'un disque de démarrage, et comment redimensionner manuellement le système de fichiers d'un disque de données non amorçable sans table de partitionnement. Ces deux exemples partent du principe que les disques associés ont déjà été formatés et installés.
Instances Linux
Dans la console Google Cloud , accédez à la page Instances de VM.
Recherchez l'instance à laquelle le disque que vous avez redimensionné est associé. Cliquez sur SSH. Le navigateur ouvre une connexion de terminal vers l'instance.
Exécutez la commande
dfet la commandelsblkpour répertorier la taille du système de fichiers et trouver les noms d'appareils de vos disques.$ sudo df -Th Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 3.9G 0 3.9G 0% /dev /dev/nvme0n1p1 ext4 9.7G 2.0G 7.2G 22% / /dev/nvme0n1p15 vfat 124M 12M 113M 10% /boot/efi /dev/nvme0n2 ext4 98G 24K 98G 1% /mnt/disks/data
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 20G 0 disk ├─nvme0n1p1 259:5 0 9.9G 0 part / ├─nvme0n1p14 259:6 0 3M 0 part └─nvme0n1p15 259:7 0 124M 0 part /boot/efi nvme0n2 259:4 0 100G 0 disk /mnt/disks/data
Cet exemple inclut les disques suivants :
- Disque de démarrage : la partition
/dev/nvme0n1p1se trouve sur un disque de démarrage redimensionné à 20 Go. La table de partition et le système de fichiers ne fournissent que 9,9 Go au système d'exploitation. - Disque de données non amorçable : le disque de données non amorçable
/dev/nvme0n2ne possède pas de table de partitionnement, mais le système de fichiers de ce disque fournit 100 Go au système d'exploitation. Le répertoire d'installation de ce disque est/mnt/disks/data.
Notez la colonne Type dans le résultat de la commande
df, qui indique si votre disque utilise un système de fichiersext4ouxfs.- Disque de démarrage : la partition
Vérifiez le type de partition :
sudo parted -l
La première fois que vous exécutez cette commande après avoir redimensionné un disque, un message semblable à celui-ci peut s'afficher :
Warning: Not all of the space available to /dev/nvme0n1 appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current setting? Fix/Ignore?
Si vous saisissez
Fix, l'OS repartitionne automatiquement le disque pour mettre l'espace supplémentaire à la disposition de l'OS. Passez à la dernière étape si vous n'avez pas d'autres disques à modifier.Si vous choisissez de ne pas utiliser l'option de correction automatique ou si elle n'est pas disponible, affichez les informations du disque que vous souhaitez repartitionner :
sudo parted -l /dev/DEVICE_NAME
Recherchez le champ Table de partition : si la valeur est
msdos, le disque possède un type de partition MBR. Cela signifie que la taille maximale de ce disque est de 2 To.Pour un disque de démarrage, redimensionnez la partition racine et le système de fichiers sur le disque. Cet exemple part du principe que l'image de VM n'est pas compatible avec le partitionnement racine automatique et le redimensionnement des systèmes de fichiers.
Redimensionnez la partition racine à l'aide de
parted. Par exemple, les commandes suivantes étendent la partition 1 de l'appareil à la taille maximale possible :Ouvrez
partedsur l'appareil :sudo parted /dev/DEVICE_NAME
Remplacez
DEVICE_NAMEpar le nom de l'appareil pour le disque de démarrage, par exemplenvme0n1.Lorsque l'invite s'affiche, saisissez :
(parted) resizepartLorsque l'invite
Partition number?s'affiche, saisissez :1
Lorsque l'invite
Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue?s'affiche, saisissez :Yes
Lorsque l'invite
End?s'affiche, saisissez :100%
Lorsque l'invite
(parted)s'affiche, saisissez :(parted) quit
Affichez la nouvelle table de partition à l'aide de
parted -l.sudo parted -l /dev/DEVICE_NAME Model: nvme_card-pd (nvme) Disk /dev/DEVICE_NAME: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 14 1049kB 4194kB 3146kB bios_grub 15 4194kB 134MB 130MB fat16 boot, esp 1 134MB 21.5GB 21.3GB ext4Étendez le système de fichiers :
Si vous utilisez
ext4, exécutez la commanderesize2fs:sudo resize2fs /dev/PARTITION_NAME
Remplacez
PARTITION_NAMEpar le nom de la partition du disque de démarrage, par exemplenvme0n1p1.Si vous utilisez
xfs, exécutez la commandexfs_growfs:sudo xfs_growfs -d /
Si vous utilisez btrfs, exécutez la commande
btrfs:sudo btrfs filesystem resize max /
Pour un disque de données non amorçable, redimensionnez le système de fichiers sur le disque.
Si vous utilisez
ext4, utilisez la commanderesize2fspour étendre le système de fichiers :sudo resize2fs /dev/PARTITION_NAME
Remplacez
PARTITION_NAMEpar le nom de la partition du disque de données. Dans cet exemple, le nom de la partition est/dev/nvme0n2p1.Si vous utilisez
xfs, utilisez la commandexfs_growfspour étendre le système de fichiers :sudo xfs_growfs MOUNT_DIR
Si vous utilisez btrfs, utilisez la commande
btrfspour étendre le système de fichiers :sudo btrfs filesystem resize max MOUNT_DIR
Remplacez MOUNT_DIR par le point d'installation de l'appareil. Le point d'installation est indiqué dans la colonne
MOUNTPOINTde la sortie de la commandelsblk.
Utilisez la commande
dfpour vérifier que le système de fichiers est bien étendu. Exemple :df -h /dev/PARTITION_NAME Filesystem Size Used Avail Use% Mounted on /dev/nvme0n2p1 118G 70M 118G 1% /mnt/disks/data
VM Windows
Utilisez l'utilitaire Gestion du disque de Windows pour redimensionner des partitions sur une instance Windows.
Dans la console Google Cloud , accédez à la page Instances de VM.
Recherchez l'instance contenant le disque redimensionné. Cliquez sur le bouton RDP de l'instance. Le navigateur ouvre une connexion RDP vers l'instance.
Effectuez un clic droit sur le bouton "Démarrer" de Windows, puis sélectionnez Disk Management (Gestion du disque) pour ouvrir l'outil Disk Management.
Affichez le type de partition des disques en exécutant la commande suivante dans Powershell :
Get-Disk
Dans la colonne Style de partition, si la valeur est MBR, le disque possède un type de partition MBR. Cela signifie que la taille maximale d'un tel disque serait de 2 To.
Actualisez l'outil Gestion du disque afin qu'il reconnaisse l'espace supplémentaire sur le disque. En haut de la fenêtre Gestion des disques, cliquez sur Action et sélectionnez Actualiser.
Sur le disque que vous avez redimensionné, effectuez un clic droit sur la partition formatée et sélectionnez Extend Volume (Étendre le volume).
Suivez les instructions de l'Assistant Extension du volume pour étendre votre partition existante afin d'inclure l'espace disque supplémentaire. Si la partition existante est formatée en NTFS, la taille de partition maximale est limitée par ses paramètres de taille de cluster.
Une fois que vous avez achevé les étapes de l'assistant d'extension de volume et que le formatage du volume est terminé, vérifiez dans la colonne État de la liste des disques associés que l'état du nouveau disque est défini sur Sain.
Vous n'avez pas besoin de redémarrer votre instance après avoir terminé ce processus. Vous pouvez commencer à utiliser l'espace disque supplémentaire.