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?

5 minuto de leitura
0

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

  1. Conecte-se à sua instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) com SSH.

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

  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. Para desmontar o sistema de arquivos tmpfs, execute o comando unmount:

    $ sudo umount /tmp
AWS OFICIAL
AWS OFICIALAtualizada há 8 meses