Todos os produtos
Search
Central de documentação

:Etapa 2: Expandir partições e sistemas de arquivos

Última atualização: Jun 26, 2026

Após expandir a capacidade de um disco, expanda também suas partições e sistemas de arquivos. Esse processo aloca a nova capacidade às partições e aos sistemas de arquivos existentes, o que permite ao sistema operacional utilizar o espaço adicional. Este tópico descreve como expandir as partições e os sistemas de arquivos de um disco em uma instância RDS Custom.

Pré-requisitos

  • A instância RDS Custom atende aos seguintes requisitos:

    • O status é Running.

    • O sistema operacional é Alibaba Cloud Linux 2/3, CentOS 7 ou posterior, Debian 11 ou posterior, ou Ubuntu 14 ou posterior.

  • O disco atende aos seguintes requisitos:

    • O status é In Use.

    • O uso do disco do sistema é inferior a 100%.

      Importante

      Para garantir uma expansão bem-sucedida, faça login na instância e execute o comando df -h para confirmar se o uso da partição raiz é inferior a 100%.

  • Você já expandiu a capacidade do disco, mas ainda não expandiu as partições e os sistemas de arquivos.

Precauções

Recomendamos fortemente que você crie um snapshot do disco para fazer backup dos dados antes de expandir o disco.

Nota

A expansão de partições e sistemas de arquivos não causa perda de dados. No entanto, para evitar perda de dados devido a operações acidentais, crie um snapshot para fazer backup dos dados do disco.

Procedimento

Etapa 1: Visualizar as informações do disco a ser expandido e confirmar as etapas de expansão

  1. Conecte-se à instância RDS Custom.

  2. Execute o seguinte comando para visualizar o nome do disco a ser expandido e suas informações de partição.

    sudo fdisk -lu

    image

    1. Verifique se o disco está particionado. Na figura anterior, a instância possui três discos: o disco do sistema /dev/nvme0n1 e dois discos de dados, /dev/nvme1n1 e /dev/nvme2n1. Os discos de dados são usados como exemplo:

      • O disco de dados /dev/nvme1n1 está particionado e possui a partição /dev/nvme1n1p1.

      • O disco de dados /dev/nvme2n1 não está particionado (é um dispositivo bruto).

    2. Determine o tipo de partição do disco. O campo Disklabel type indica o tipo de partição. O valor gpt indica GUID Partition Table (GPT), e o valor dos indica Master Boot Record (MBR). Neste exemplo, o disco usa o tipo de partição GPT.

  3. Execute o seguinte comando para obter as informações do sistema de arquivos do disco a ser expandido.

    • Para um disco não particionado

      sudo file -s /dev/raw_device_name
    • Para um disco particionado

      sudo file -s /dev/partition_name

    Tome a partição /dev/nvme1n1p1 como exemplo. Execute o seguinte comando.

    sudo file -s /dev/nvme1n1p1
    • Se o resultado a seguir for retornado, o sistema de arquivos da partição /dev/nvme1n1p1 é ext4.

      /dev/nvme1n1p1: Linux rev 1.0 ext4 filesystem data, UUID=342527ce-**** (needs journal recovery) (extents) (64bit) (large files) (huge files)
    • Se /dev/nvme1n1p1: data for retornado, a partição não possui um sistema de arquivos.

  4. Confirme as etapas de expansão a serem executadas.

Etapa 2: Expandir a partição

Se o disco não estiver particionado, mas possuir um sistema de arquivos, não será necessário expandir a partição. Prossiga diretamente para a Etapa 3: Expandir o sistema de arquivos.

  1. Execute o seguinte comando para expandir a partição. Este exemplo usa a partição /dev/nvme1n1p1. /dev/nvme1n1 é o nome do disco, e 1 em p1 é o número da partição. É necessário incluir um espaço entre o nome do disco e o número da partição. Substitua o nome do disco e o número da partição no comando pelos seus valores reais.

    Alibaba Cloud Linux 2/3, CentOS 7 and later

    • Partição GPT (a ferramenta gdisk é necessária).

      type growpart || sudo yum install -y cloud-utils-growpart
      sudo yum update cloud-utils-growpart
      type sgdisk || sudo yum install -y gdisk
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1 
    • Partição MBR

      type growpart || sudo yum install -y cloud-utils-growpart
      sudo yum update cloud-utils-growpart
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1

    Debian 11 and later, Ubuntu 14 and later

    • Partição GPT (a ferramenta gdisk é necessária).

      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      type sgdisk || sudo apt-get install -y gdisk
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1
    • Partição MBR

      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1
    Importante
    • Para um disco NVMe, tome a partição /dev/nvme1n1p1 como exemplo. /dev/nvme1n1 é o nome do disco, e 1 em p1 é o número da partição. É necessário incluir um espaço entre o nome do disco e o número da partição. Para expandir a partição, execute o comando growpart /dev/nvme1n1 1.

    • Para um disco virtual, tome a partição /dev/vdb1 como exemplo. /dev/vdb é o nome do disco, e 1 é o número da partição. É necessário incluir um espaço entre o nome do disco e o número da partição. O comando de expansão é growpart /dev/vdb 1

    • LC_ALL=en_US.UTF-8 é uma configuração de variável de ambiente que garante compatibilidade com a codificação de caracteres de sistemas operacionais chineses.

    • Se um disco tiver várias partições consecutivas, apenas a última partição poderá ser expandida. Por exemplo, o disco de dados /dev/nvme3n1 possui três partições: /dev/nvme3n1p1, /dev/nvme3n1p2 e /dev/nvme3n1p3. Apenas a última partição /dev/nvme3n1p3 pode ser expandida. Para expandir a partição do disco de dados, execute o comando growpart /dev/nvme3n1 3.

    • Se a partição do disco que você deseja expandir for uma partição estendida em uma tabela de partições MBR (o número da partição geralmente é 5 ou superior), será necessário expandir a partição estendida antes de expandir a partição lógica. Por exemplo, se você tiver três partições, /dev/nvme1n1p1 (partição primária), /dev/nvme1n1p2 (partição estendida) e /dev/nvme1n1p5 (partição lógica), execute growpart /dev/nvme1n1 2 e depois growpart /dev/nvme1n1 5 para expandir as partições.

    Se uma mensagem contendo CHANGED for retornada, a partição foi expandida.

    CHANGED: partition=1 start=2048 old: size=41938944 end=41940991 new: size=52426719 end=52428766
  2. Execute o seguinte comando para verificar se a partição foi expandida.

    sudo fdisk -lu

    Tome a expansão da partição /dev/nvme1n1p1 como exemplo. Se a capacidade da partição /dev/nvme1n1p1 for igual à capacidade do disco /dev/nvme1n1, a partição foi expandida com sucesso.

    image

Etapa 3: Expandir o sistema de arquivos

  1. Execute o seguinte comando para obter o diretório de montagem do dispositivo a ser expandido.

    df -Th

    image

    O valor de Type é o tipo de sistema de arquivos. O valor de Mounted on é o diretório de montagem da partição. Por exemplo:

    • O sistema de arquivos do disco /dev/nvme2n1 é ext4, e o diretório de montagem é /tmp.

    • O sistema de arquivos da partição /dev/nvme1n1p1 é ext4, e o diretório de montagem é /mnt.

    Nota

    Se o valor de Filesystem for um nome de disco, como nvme2n1, o disco de destino não está particionado e é um dispositivo bruto. Se o valor for um nome de partição, como /dev/nvme1n1p1, o disco de destino está particionado.

  2. Execute o seguinte comando para expandir o sistema de arquivos.

    ext* (such as ext2, ext3, and ext4) file systems

    • Para um disco não particionado, como o disco /dev/nvme2n1.

      sudo resize2fs /dev/nvme2n1
    • Por exemplo, /dev/nvme1n1p1 é uma partição de disco.

      sudo resize2fs /dev/nvme1n1p1

    xfs file systems

    Tome a expansão de um sistema de arquivos xfs cujo diretório de montagem é /mnt como exemplo. Substitua o diretório de montagem no comando conforme necessário.

    • Alibaba Cloud Linux 2/3, CentOS 7 and later

      type xfs_growfs || sudo yum install -y xfsprogs
      sudo xfs_growfs /mnt
    • Debian 11 and later, Ubuntu 14 and later

      type xfs_growfs || sudo apt-get install -y xfsprogs
      sudo xfs_growfs /mnt

    btrfs file systems

    Tome a expansão de um sistema de arquivos btrfs cujo diretório de montagem é /mnt como exemplo. Substitua o diretório de montagem no comando conforme necessário.

    sudo btrfs filesystem resize max /mnt
  3. Execute o comando df -Th para verificar se a expansão foi bem-sucedida.

    Por exemplo, o disco que contém a partição /dev/nvme1n1p1 foi expandido para 25 GiB. Após a expansão do sistema de arquivos, sua capacidade também passa a ser 25 GiB.

    Nota

    Como um sistema de arquivos ocupa uma quantidade específica de espaço de armazenamento, o espaço livre do sistema de arquivos pode ser ligeiramente menor que a capacidade total do disco expandido.

FAQ

Problemas relacionados ao growpart

  • Pergunta 1: Ao executar o comando growpart para expandir uma partição, a mensagem de erro unexpected output in sfdisk --version [sfdisk, from util-linux 2.23.2] é relatada.

    Causa: O sistema operacional chinês usa um tipo de codificação de caracteres diferente de en_US.UTF-8.

    Soluções:

    • Execute o comando locale para verificar o tipo de codificação de caracteres da instância RDS Custom e altere qualquer tipo de codificação de caracteres diferente de en_US.UTF-8 para en_US.UTF-8.

      • Execute o seguinte comando para alterar o tipo de codificação de caracteres.

        export LANG=en_US.UTF-8
      • Se o problema persistir, execute o seguinte comando para alterar o tipo de codificação de caracteres.

        export LC_ALL=en_US.UTF-8
    • Se o problema persistir, tente reiniciar a instância RDS Custom.

    Importante

    Após alterar a codificação de caracteres e expandir a partição com sucesso, recomendamos restaurar o tipo de codificação de caracteres original conforme necessário.

  • Pergunta 2: Ao executar o comando growpart para expandir uma partição, a mensagem de erro unexpected output in sfdisk --version [sfdisk (util-linux-ng 2.17.2)] é relatada.

    Causa: A versão do fdisk não é compatível com a versão do growpart.

    Solução: Tente fazer downgrade da versão do growpart para 0,27. Se o problema persistir, consulte Expandir partições e sistemas de arquivos para um disco de dados Linux para expandir a partição.

  • Pergunta 3: Ao executar o comando growpart para expandir uma partição, a mensagem de erro FAILED: unable to determine partition type é relatada.

    Causa: Seu disco é um dispositivo bruto e não está particionado. Não é necessário expandir a partição para um dispositivo bruto. Expanda diretamente o sistema de arquivos.

    Solução: Execute diretamente a Etapa 3: Expandir o sistema de arquivos.

  • Pergunta 4: Ao executar o comando growpart para expandir uma partição, a mensagem de erro WARNING: MBR/dos partitioned disk is larger than 2TB. Additional space will go unused. é relatada.

    Causa: O tipo de partição MBR não suporta discos maiores que 2 TiB.

    Solução: Converta o tipo de partição de MBR para GPT e, em seguida, expanda a partição. Para obter mais informações, consulte Converter uma partição MBR em uma partição GPT.

  • Pergunta 5: Ao executar o comando growpart para expandir uma partição, a mensagem de erro mkdir: cannot create directory ... No space left on device é relatada.

    Causa: O comando growpart falha ao criar uma pasta temporária porque o espaço em disco é insuficiente.

    Solução: Expanda a capacidade do disco.

  • Pergunta 7: Uma partição cujo nome de dispositivo começa com /dev/mapper falha ao ser expandida.

    Causa: Um nome de dispositivo que começa com /dev/mapper indica que a partição do disco é gerenciada pelo Logical Volume Manager (LVM).

    Solução: É necessário usar o LVM para expandir o volume lógico e, em seguida, expandir o sistema de arquivos. Para obter mais informações, consulte Usar LVM para expandir um volume lógico.

  • Pergunta 8: Ao executar o comando growpart para expandir uma partição, a mensagem de erro NOCHANGE: partition 1 could only be grown by 2015 [fudge=2048] é relatada.

    Causa: Não há espaço livre disponível para expansão da partição. Esse problema geralmente ocorre quando, após expandir o disco offline no console, a instância não é reiniciada no console ou via OpenAPI. Como resultado, a expansão do disco não entra em vigor.

    Solução: Após expandir o disco offline, reinicie a instância para que a expansão do disco entre em vigor. Para obter mais informações, consulte Reiniciar uma instância.

Problemas relacionados ao resize2fs

  • Pergunta 1: Ao executar o comando resize2fs para expandir um sistema de arquivos, a mensagem de erro Couldn't find valid filesystem superblock. ou open: Is a directory while opening /mnt é relatada.

    Causa: Ao expandir um sistema de arquivos usando resize2fs, especifique o nome da partição do disco, não o nome do dispositivo de disco ou o diretório de montagem.

    Solução: Ao expandir um sistema de arquivos, especifique o nome correto da partição.

  • Pergunta 2: Ao executar o comando resize2fs para expandir um sistema de arquivos, a mensagem de erro The filesystem is already ... blocks long. Nothing to do! é relatada.

    Causa: O sistema de arquivos não tem espaço para expansão. Isso pode ocorrer porque a partição não foi expandida ou a expansão não entrou em vigor.

    Soluções:

    • Verifique se você executou com sucesso a etapa de uso do growpart para expandir a partição. Caso contrário, execute o comando growpart para expandir a partição.

    • Se você executou o comando growpart e a mensagem CHANGED foi retornada, mas o erro persiste ao executar o comando resize2fs, a causa pode ser uma versão antiga do sistema operacional que não atualiza a tabela de partições do sistema online. Nesse caso, execute o comando reboot para reiniciar a instância e, em seguida, execute o comando resize2fs novamente.

  • Pergunta 3: Ao executar o comando resize2fs para expandir um sistema de arquivos, a mensagem de erro resize2fs: Permission denied to resize filesystem é relatada.

    Causa: A expansão do sistema de arquivos pode falhar devido a inconsistências no sistema de arquivos.

    Soluções:

    • Execute o comando dmesg -T | grep fs. Se uma mensagem como There are errors in the filesystem for retornada, o sistema de arquivos está inconsistente.

    • Faça backup dos dados do disco. Para obter mais informações, consulte Criar um snapshot.

    • Tente usar o comando e2fsck para reparar o sistema de arquivos. Para obter informações sobre como usar o comando e2fsck, consulte seu manual.

Referências

ApsaraDB RDS Custom