Sintomas
Um disco de nuvem formatado com partição GPT pode apresentar erro ao usar o utilitário growpart para estender uma partição, como /dev/vdb1, após a expansão do disco. A mensagem de erro retornada é semelhante à seguinte. Nesse cenário, a capacidade do disco de nuvem aumenta, mas o espaço disponível na partição e no sistema de arquivos permanece inalterado. Este tópico usa a partição /dev/vdb1 como exemplo.
[root@ixxx ~]# growpart /dev/vdb 1
failed [pt_update:1] pt_update /dev/vdb 1
partx: /dev/vdb: error updating partition 1
FAILED: disk=/dev/vdb partition=1: failed to repartition
***** WARNING: Resize failed, attempting to revert ******
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
***** Appears to have gone OK ****
Causa
Esse problema ocorre quando o disco de dados, como /dev/vdb, não possui o alinhamento de partição recomendado. Especificamente, o comando mkpart primary 1 100% não foi executado para definir as posições inicial e final da partição.
Execute os comandos a seguir para verificar se a partição está alinhada:
fdisk -l: Verifique o valor deStart. Se o valor for diferente de2048, a partição não está alinhada.-
parted -l: Verifique o valor deStart. Se o valor for diferente de1049 kB, conforme o exemplo de saída a seguir, a partição não está alinhada.[root@izxxx ~]# parted -l Model: Virtio Block Device (virtblk) Disk /dev/vda: 42.9GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 101MB 99.6MB fat16 EFI System Partition boot 2 101MB 20.1GB 20.0GB ext4 Model: Virtio Block Device (virtblk) Disk /dev/vdb: 3221GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 1074GB 1074GB ext4 primary
Solução
Para resolver esse problema, reparticione o disco e estenda a partição. Siga estas etapas:
-
Conecte-se remotamente à instância ECS.
Para mais informações, consulte Visão geral dos métodos de conexão.
-
Execute o comando a seguir para visualizar as informações da partição /dev/vdb1 no arquivo /etc/fstab.
cat /etc/fstabPor exemplo, as informações da partição /dev/vdb1 aparecem da seguinte forma:
[root@iZxxx ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Fri Mar 18 11:23:53 2022 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=1ecad39c-b7f6-4d5f-bfe1-2ffec1877a1d / ext4 defaults 1 1 UUID=B483-4E9C /boot/efi vfat umask=0077,shortname=winnt 0 0 UUID=f315122e-2d1d-4705-aaaa-1ad62ae66096 /mnt ext4 defaults 0 0 -
Execute o comando a seguir para edite o arquivo etc/fstab e exclua manualmente as informações da partição /dev/vdb1.
vim /etc/fstab -
Execute o comando a seguir para desmontar a partição /dev/vdb1.
umount /dev/vdb1[root@xxx ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 31G 0 31G 0% /dev tmpfs 31G 0 31G 0% /dev/shm tmpfs 31G 33M 31G 1% /run tmpfs 31G 0 31G 0% /sys/fs/cgroup /dev/vda2 19G 3.5G 14G 21% / /dev/vda1 95M 12M 84M 12% /boot/efi tmpfs 6.2G 0 6.2G 0% /run/user/0 /dev/vdb1 985G 77M 935G 1% /mnt [root@xxx ~]# umount /dev/vdb1 [root@xxx ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 31G 0 31G 0% /dev tmpfs 31G 0 31G 0% /dev/shm tmpfs 31G 33M 31G 1% /run tmpfs 31G 0 31G 0% /sys/fs/cgroup /dev/vda2 19G 3.5G 14G 21% / /dev/vda1 95M 12M 84M 12% /boot/efi tmpfs 6.2G 0 6.2G 0% /run/user/0 -
Reparticione o disco e monte o sistema de arquivos.
ImportanteO reparticionamento do disco exclui todos os dados da partição original. Antes de prosseguir, crie um snapshot para fazer backup de todos os dados no disco de nuvem. Após reparticionar o disco e montar o novo sistema de arquivos, use os dados de backup para restaurar os dados originais. Para mais informações sobre como criar um snapshot, consulte Criar um snapshot para um disco.
Para mais informações, consulte Inicializar um disco de dados em uma instância Linux.
Estenda a partição e o sistema de arquivos novamente. Para obter instruções, consulte Estender partições e sistemas de arquivos (Linux).