Como aumento o tamanho do volume do EBS ao receber um erro de que não há espaço disponível no meu sistema de arquivos?
Quero aumentar o tamanho do volume do Amazon Elastic Block Store (Amazon EBS). No entanto, recebi um erro informando que não há mais espaço no meu sistema de arquivos.
Breve descrição
Ao tentar expandir a partição raiz ou o sistema de arquivos raiz em seu volume do EBS, você pode receber um erro Sem espaço no dispositivo. Para evitar esse erro, use o sistema de arquivos temporário (tmpfs) que está na sua memória virtual. Monte o sistema de arquivos tmpfs no ponto de montagem /tmp e expanda sua partição raiz ou sistema de arquivos raiz.
O exemplo a seguir mostra que o dispositivo de bloco de volume raiz do EBS (/dev/nvme0n1) tem 9 GiB e a partição raiz (partição 1) já tem 8 GiB:
$ 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
Se você tentar aumentar a partição raiz (partição 1), receberá uma das seguintes saídas de erro:
$ 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
Observação: antes de continuar, é uma prática recomendada criar um backup Amazon Machine Image (AMI) da instância. Ou crie um instantâneo do volume raiz do EBS que está anexado à sua instância. Um backup permite recuperar dados de problemas imprevistos.
Resolução
-
Conecte-se à sua instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) com SSH.
-
Use o comando df -h para verificar se a partição raiz montada em / está cheia (100%). No exemplo a seguir, /dev/nvme0n1p1 usa 100% de seu espaço:
$ 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
Para obter detalhes sobre seus dispositivos de bloco conectados e o ponto raiz / de montagem, execute os seguintes comandos:
$ 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
Neste exemplo de saída, o volume raiz do EBS tem 9 GiB de espaço total. No entanto, a partição raiz (/dev/nvme0n1p1) ou partição 1 tem apenas 8 GiB. O tipo de sistema de arquivos é XFS.
-
Para evitar o erro Sem espaço restante no dispositivo de bloco, monte o sistema de arquivos temporários tmpfs no ponto de montagem /tmp. Isso cria um tmpfs de 10 M montado em /tmp:
$ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
-
Para aumentar o tamanho da partição raiz ou da partição 1, execute o comando growpart. Substitua /dev/nvme0n1 pela sua partição raiz:
$ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
-
Para verificar se você expandiu a partição de 1 Gib para 9 GiB, execute o comando 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
-
Expanda o sistema de arquivos. Consulte a Etapa 3 para verificar o sistema de arquivos da sua partição raiz /. No exemplo a seguir, um sistema de arquivos do tipo XFS é expandido:
$ 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
No exemplo a seguir, um sistema de arquivos EXT2/EXT3/EXT4 na partição 1 é expandido:
$ sudo resize2fs /dev/nvme0n1p1
-
Depois de expandir o sistema de arquivos, use o comando df -h para verificar se o sistema operacional pode ver o espaço adicional:
$ 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
-
Para desmontar o sistema de arquivos tmpfs, execute o comando unmount:
$ sudo umount /tmp
Conteúdo relevante
- AWS OFICIALAtualizada há 7 meses
- AWS OFICIALAtualizada há 10 meses
- AWS OFICIALAtualizada há 9 meses
- AWS OFICIALAtualizada há 5 anos