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%.
ImportantePara garantir uma expansão bem-sucedida, faça login na instância e execute o comando
df -hpara 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.
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
-
Execute o seguinte comando para visualizar o nome do disco a ser expandido e suas informações de partição.
sudo fdisk -lu
-
Verifique se o disco está particionado. Na figura anterior, a instância possui três discos: o disco do sistema
/dev/nvme0n1e dois discos de dados, /dev/nvme1n1 e /dev/nvme2n1. Os discos de dados são usados como exemplo:O disco de dados
/dev/nvme1n1está particionado e possui a partição /dev/nvme1n1p1.O disco de dados
/dev/nvme2n1não está particionado (é um dispositivo bruto).
Determine o tipo de partição do disco. O campo
Disklabel typeindica o tipo de partição. O valorgptindica GUID Partition Table (GPT), e o valordosindica Master Boot Record (MBR). Neste exemplo, o disco usa o tipo de partição GPT.
-
-
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/nvme1n1p1como 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.
-
-
Confirme as etapas de expansão a serem executadas.
-
O disco está particionado e possui um sistema de arquivos: Primeiro, execute a Etapa 2: Expandir a partição. Em seguida, execute a Etapa 3: Expandir o sistema de arquivos.
NotaO formato de partição MBR não suporta discos maiores que 2 TiB. Se o seu disco usar o tipo de partição MBR e você quiser expandi-lo para mais de 2 TiB, será necessário primeiro converter a partição MBR para uma partição GPT e depois expandir a partição e o sistema de arquivos.
O disco está particionado, mas não possui um sistema de arquivos: Execute apenas a Etapa 2: Expandir a partição.
O disco não está particionado, mas possui um sistema de arquivos: Execute apenas a Etapa 3: Expandir o sistema de arquivos.
O disco não está particionado e não possui um sistema de arquivos: Não é necessário executar as operações deste tópico.
-
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.
-
Execute o seguinte comando para expandir a partição. Este exemplo usa a partição
/dev/nvme1n1p1./dev/nvme1n1é o nome do disco, e1emp1é 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
ImportantePara um disco NVMe, tome a partição
/dev/nvme1n1p1como exemplo./dev/nvme1n1é o nome do disco, e1emp1é 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 comandogrowpart /dev/nvme1n1 1.Para um disco virtual, tome a partição
/dev/vdb1como exemplo./dev/vdbé o nome do disco, e1é 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 1LC_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/nvme3n1possui três partições:/dev/nvme3n1p1,/dev/nvme3n1p2e/dev/nvme3n1p3. Apenas a última partição/dev/nvme3n1p3pode ser expandida. Para expandir a partição do disco de dados, execute o comandogrowpart /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), executegrowpart /dev/nvme1n1 2e depoisgrowpart /dev/nvme1n1 5para expandir as partições.
Se uma mensagem contendo
CHANGEDfor retornada, a partição foi expandida.CHANGED: partition=1 start=2048 old: size=41938944 end=41940991 new: size=52426719 end=52428766 -
-
Execute o seguinte comando para verificar se a partição foi expandida.
sudo fdisk -luTome a expansão da partição
/dev/nvme1n1p1como exemplo. Se a capacidade da partição/dev/nvme1n1p1for igual à capacidade do disco /dev/nvme1n1, a partição foi expandida com sucesso.
Etapa 3: Expandir o sistema de arquivos
-
Execute o seguinte comando para obter o diretório de montagem do dispositivo a ser expandido.
df -Th
O valor de
Typeé o tipo de sistema de arquivos. O valor deMounted 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.
NotaSe 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.
-
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 -
-
Execute o comando
df -Thpara verificar se a expansão foi bem-sucedida.Por exemplo, o disco que contém a partição
/dev/nvme1n1p1foi expandido para 25 GiB. Após a expansão do sistema de arquivos, sua capacidade também passa a ser 25 GiB.NotaComo 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.