Comment augmenter la taille de mon volume Amazon EBS si je reçois un message d'erreur indiquant que l’espace est insuffisant sur mon système de fichiers ?

Lecture de 5 minute(s)
0

Je souhaite augmenter la taille de mon volume Amazon Elastic Block Store (Amazon EBS). Cependant, j'ai reçu un message d'erreur indiquant que l'espace est insuffisant sur mon système de fichiers.

Brève description

Lorsque vous essayez d'étendre la partition racine ou le système de fichiers racine de votre volume EBS, le message d'erreur Espace insuffisant sur le périphérique pourrait s'afficher. Pour éviter cette erreur, utilisez le système de fichiers temporaire (tmpfs) qui se trouve dans votre mémoire virtuelle. Montez le système de fichiers tmpfs sous le point de montage /tmp, puis étendez votre partition racine ou votre système de fichiers racine.

L'exemple suivant montre que le périphérique de stockage en mode bloc du volume EBS racine (/dev/nvme0n1) est de 9 Gio et que la partition racine (partition 1) est déjà de 8 Gio :

$ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0   9G  0 disk
├─nvme0n1p1   259:1    0   8G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part

Si vous essayez d'augmenter la partition racine (partition 1), vous recevrez l'un des messages d'erreur suivants :

$ sudo growpart /dev/nvme0n1 1/bin/growpart: line 248: /tmp/growpart.fklt5u/dump.out: No space left on device
FAILED: failed to dump sfdisk info for /dev/nvme0n1

-ou-

$ sudo growpart /dev/nvme0n1 1CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
FAILED: failed: sfdisk --list /dev/nvme0n1

Remarque : Avant de continuer, il est recommandé de créer une sauvegarde Amazon Machine Image (AMI) de l'instance. Vous pouvez également créer un instantané du volume EBS racine associé à votre instance. Une sauvegarde vous permet de récupérer vos données en cas de problèmes imprévus.

Résolution

  1. Connectez-vous à votre instance Linux Amazon Elastic Compute Cloud (Amazon EC2) via SSH.

  2. Utilisez la commande df -h pour vérifier que la partition racine montée sous / est pleine (100 %). Dans l'exemple suivant, la partition racine /dev/nvme0n1p1 utilise 100 % de son espace :

    $ df -hFilesystem      Size  Used Avail Use% Mounted on
    devtmpfs        460M     0  475M   0% /dev
    tmpfs           478M     0  492M   0% /dev/shm
    tmpfs           478M  432K  492M   1% /run
    tmpfs           478M     0  492M   0% /sys/fs/cgroup
    /dev/nvme0n1p1  8.0G  8.0G  664K 100% /
    tmpfs            96M     0   99M   0% /run/user/1000

    Pour recueillir des informations sur vos périphériques de stockage associés en mode bloc et sur le point de montage / racine, exécutez les commandes suivantes :

    $ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    nvme0n1       259:0    0   9G  0 disk
    ├─nvme0n1p1   259:1    0   8G  0 part /
    └─nvme0n1p128 259:2    0   1M  0 part
    
    $ lsblk -fNAME          FSTYPE LABEL           UUID                                 MOUNTPOINT
    nvme0n1
    ├─nvme0n1p1   xfs    /               afcf1342-1d40-41bd-bde9-e4ea5d87e3b6 /
    └─nvme0n1p128

    Dans cet exemple de résultat, le volume EBS racine dispose de 9 Gio d'espace total. Cependant, la partition racine (/dev/nvme0n1p1) ou la partition 1 ne fait que 8 Gio. Le type de système de fichiers est XFS.

  3. Pour éviter l'erreur Espace insuffisant sur le périphérique de stockage en mode bloc, montez le système de fichiers temporaire tmpfs sur le point de montage /tmp. Cela crée un tmpfs de 10M monté sur /tmp :

    $ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
  4. Pour augmenter la taille de la partition racine ou de la partition 1, exécutez la commande growpart. Remplacez /dev/nvme0n1 par votre partition racine :

    $ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
  5. Pour vérifier que vous avez étendu la partition 1 à 9 Gio, exécutez la commande lsblk :

    $ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    nvme0n1       259:0    0   9G  0 disk
    ├─nvme0n1p1   259:1    0   9G  0 part /
    └─nvme0n1p128 259:2    0   1M  0 part
  6. Étendez le système de fichiers. Référez-vous à l'étape 3 pour vérifier le système de fichiers de votre partition racine**/**. Dans l'exemple suivant, un système de fichiers de type XFS est étendu :

    $ sudo xfs_growfs -d /data blocks changed from 2096635 to 2358779
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    log      =internal               bsize=4096   blocks=2560, version=2
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
             =                       sunit=0      swidth=0 blks
    data     =                       bsize=4096   blocks=2096635, imaxpct=25
             =                       crc=1        finobt=1 spinodes=0
             =                       sectsz=512   attr=2, projid32bit=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    meta-data=/dev/nvme0n1p1         isize=512    agcount=4, agsize=524159 blks

    Dans l'exemple suivant, un système de fichiers EXT2/EXT3/EXT4 sur la partition 1 est étendu :

    $ sudo resize2fs /dev/nvme0n1p1
  7. Après avoir étendu le système de fichiers, utilisez la commande df -h pour vérifier que le système d'exploitation peut voir l'espace supplémentaire :

    $ df -hFilesystem      Size  Used Avail Use% Mounted on
    devtmpfs        960M     0  960M   0% /dev
    tmpfs           978M     0  978M   0% /dev/shm
    tmpfs           978M  392K  978M   1% /run
    tmpfs           978M     0  978M   0% /sys/fs/cgroup
    /dev/nvme0n1p1  9.0G  8.0G 1022M  89% /
    tmpfs           196M     0  196M   0% /run/user/1000
    tmpfs            10M     0   10M   0% /tmp
  8. Pour démonter le système de fichiers tmpfs, exécutez la commande unmount (démonter) :

    $ sudo umount /tmp
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois