Si votre instance de machine virtuelle (VM) Compute Engine a besoin d'espace de stockage supplémentaire ou de 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 Google Cloud et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la 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 nécessaire 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 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 redimensionner un disque persistant.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Réduire la taille d'un disque
Vous ne pouvez pas réduire la taille d'un disque persistant. Vous devez remplacer le disque par un nouveau disque plus petit. Pour ce faire, créez un disque vide de taille plus petite, 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.
- Une fois la migration réussie, vous pouvez dissocier et supprimer le disque d'origine plus volumineux.
Limites de taille pour les volumes Persistent Disk
La taille que vous spécifiez pour un volume de disque persistant 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 définissez l'option --size sur 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 les disques persistants zonaux, spécifiez la zone dans laquelle se trouve le disque.Pour les disques persistants régionaux, utilisez plutôt l'option
--region=REGIONet spécifiez la région où se trouve le disque régional.
Terraform
Choisissez l'une des options suivantes pour redimensionner les disques zonaux ou le disque persistant régional :
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 les paramètres 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 persistant 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 les paramètres 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 persistant régional 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 les disques persistants zonaux, zone dans laquelle se trouve le disque.REGION: pour les disques persistants régionaux, 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 partition. Les 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 redimensionné est associé. Cliquez sur SSH. Le navigateur ouvre une connexion de terminal vers l'instance.
Exécutez les commandes
dfetlsblkpour 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 partition, 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 à sa disposition. 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, consultez les informations concernant le 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 le système de fichiers et la partition racine 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 correspondant à l'instance. Le navigateur ouvre une connexion RDP vers l'instance.
Faites un clic droit sur le bouton "Démarrer" de Windows, puis sélectionnez Disk Management (Gestion du disque) pour ouvrir l'outil Gestion du disque.
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 du disque, cliquez sur Action et sélectionnez Actualiser.
Sur le disque que vous avez redimensionné, faites 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.