Modifier la taille d'un disque persistant

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

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 :

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 :

  1. 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.
  2. Associez les deux disques à la même instance. Pour obtenir des instructions, consultez Associer un disque non amorçable à une VM.
  3. Formatez et installez le nouveau disque. Consultez les instructions pour les instances Linux et Windows.
  4. 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 rsync ou dd. Pour les instances Windows, vous pouvez utiliser robocopy.
  5. Vérifiez que le nouveau disque contient toutes les données et qu'il fonctionne comme prévu.
  6. Mettez à jour votre application ou votre OS pour utiliser le nouveau disque.
  7. Une fois la migration réussie, vous pouvez dissocier et supprimer le disque d'origine plus volumineux.
Le disque d'origine vous est facturé jusqu'à ce que vous le supprimiez.

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

  1. Dans la console Google Cloud , accédez à la page Disques.

    Accéder à la page Disques

  2. Dans la liste des disques de votre projet, cliquez sur le nom du disque à redimensionner.

  3. Sur la page des informations du disque, cliquez sur Modifier. Vous devrez peut-être cliquer sur le menu Autres actions, puis sur Modifier.

  4. 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.

  5. 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=REGION et 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.

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

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.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

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

  1. Dans la console Google Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Recherchez l'instance à laquelle le disque redimensionné est associé. Cliquez sur SSH. Le navigateur ouvre une connexion de terminal vers l'instance.

  3. Exécutez les commandes df et lsblk pour 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/nvme0n1p1 se 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/nvme0n2 ne 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 fichiers ext4 ou xfs.

  4. 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.

  5. 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.

  6. 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.

    1. Redimensionnez la partition racine à l'aide de parted. Par exemple, les commandes suivantes étendent la partition 1 de l'appareil à la taille maximale possible :

      1. Ouvrez parted sur l'appareil :

        sudo parted /dev/DEVICE_NAME
        

        Remplacez DEVICE_NAME par le nom de l'appareil pour le disque de démarrage, par exemple nvme0n1.

      2. Lorsque l'invite s'affiche, saisissez :

        (parted) resizepart
        
      3. Lorsque l'invite Partition number? s'affiche, saisissez :

        1
        
      4. Lorsque l'invite Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue? s'affiche, saisissez :

        Yes
        
      5. Lorsque l'invite End? s'affiche, saisissez :

        100%
        
      6. Lorsque l'invite (parted) s'affiche, saisissez :

        (parted) quit
        
    2. 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
      
    3. Étendez le système de fichiers :

      • Si vous utilisez ext4, exécutez la commande resize2fs :

        sudo resize2fs /dev/PARTITION_NAME
        

        Remplacez PARTITION_NAME par le nom de la partition du disque de démarrage, par exemple nvme0n1p1.

      • Si vous utilisez xfs, exécutez la commande xfs_growfs :

        sudo xfs_growfs -d /
        
      • Si vous utilisez btrfs, exécutez la commande btrfs :

        sudo btrfs filesystem resize max /
        
  7. Pour un disque de données non amorçable, redimensionnez le système de fichiers sur le disque.

    • Si vous utilisez ext4, utilisez la commande resize2fs pour étendre le système de fichiers :

      sudo resize2fs /dev/PARTITION_NAME
      

      Remplacez PARTITION_NAME par 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 commande xfs_growfs pour étendre le système de fichiers :

      sudo xfs_growfs MOUNT_DIR
      
    • Si vous utilisez btrfs, utilisez la commande btrfs pour é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 MOUNTPOINT de la sortie de la commande lsblk.

  8. Utilisez la commande df pour 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.

  1. Dans la console Google Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Recherchez l'instance contenant le disque redimensionné. Cliquez sur le bouton RDP correspondant à l'instance. Le navigateur ouvre une connexion RDP vers l'instance.

  3. 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.

    Sélectionner l'outil Gestion du disque de Windows dans le menu contextuel du bouton Démarrer de Windows.

  4. 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.

  5. 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.

    Cliquer sur le menu Action et sélectionner Actualiser pour mettre à jour les informations du disque dans l'outil Gestion du disque.

  6. Sur le disque que vous avez redimensionné, faites un clic droit sur la partition formatée et sélectionnez Extend Volume (Étendre le volume).

    Cliquer avec le bouton droit de la souris sur la partie formatée du disque et sélectionner l'option Étendre le volume.

  7. 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.

  8. 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.

    Afficher la liste des disques reconnus par Windows et vérifier que l'instance est en ligne et définie sur l'état "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.

Étapes suivantes