Redimensione uma partição raiz ext2/3/4 e XFS sem LVM
Este guia mostrará como estender ou redimensionar um sistema de arquivos ext2/3/4 e XFS sem LVM em tempo de execução. Esta poderia ser uma partição raiz configurada com sistema de arquivos ext2/3/4 ou XFS, mas sem nenhum LVM configurado. Em nosso tutorial anterior, vimos Como estender o sistema de arquivos raiz usando LVM no Linux.
Etapa 1: verifique a capacidade atual do disco raiz
Para esta demonstração, tenho uma VM CentOS 7 com esquema de partição abaixo.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
Como pode ser visto na saída, o sistema de arquivos raiz está na partição /dev/vda1 sem LVM.
Etapa 2: estender o disco raiz do sistema operacional após a extensão
Estenderei meu dispositivo de bloqueio raiz para 30 GB. Eu uso a tecnologia de virtualização KVM, então este guia funciona para mim:
- Como estender/aumentar o tamanho do disco da máquina virtual KVM (VM)
Para KVM posso verificar o caminho do disco virtual usando o comando abaixo:
$ sudo virsh domblklist centos7
Target Source
-------------------------------------------------
vda /var/lib/libvirt/images/centos7.qcow2
sda -
$ sudo fdisk -l /var/lib/libvirt/images/centos7.qcow2
Disk : 10 GiB, 10739318784 bytes, 20975232 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
$ sudo qemu-img resize /var/lib/libvirt/images/centos7.qcow2 +20G
Image resized.
Se você estiver em uma plataforma de virtualização diferente, consulte a documentação para saber como estender o disco virtual do sistema operacional.
Etapa 3: aumentar a partição da VM
Inicie sua VM e ssh como um usuário com privilégios sudo. A primeira coisa a fazer é confirmar o novo tamanho do disco.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 30G 0 disk
└─vda1 253:1 0 10G 0 part /
Podemos ver que o disco cresceu 20 GB, de 10GB para 30GB. A próxima ação é expandir a partição (Partição 1) em nosso exemplo, para o tamanho máximo que o disco fornece.
Instale o pacote de utilitários de nuvem
Para aqueles que são novos no growpart, é uma ferramenta de linha de comando do Linux usada para estender uma partição em uma tabela de partição para preencher o espaço disponível. Este comando é fornecido pelo pacote cloud utils.
No sistema Ubuntu/Debian, execute:
sudo apt -y install cloud-guest-utils gdisk
Para servidor CentOS/RHEL/Fedora, execute:
sudo yum -y install cloud-utils-growpart gdisk
A página de ajuda pode ser visualizada passando o argumento -h
$ growpart -h
growpart disk partition
rewrite partition table so that partition takes up all the space it can
options:
-h | --help print Usage and exit
--fudge F if part could be resized, but change would be
less than 'F' bytes, do not resize (default: 1048576)
-N | --dry-run only report what would be done, show new 'sfdisk -d'
-v | --verbose increase verbosity / debug
-u | --update R update the the kernel partition table info after growing
this requires kernel support and 'partx --update'
R is one of:
- 'auto' : [default] update partition if possible
- 'force' : try despite sanity checks (fail on failure)
- 'off' : do not attempt
- 'on' : fail if sanity checks indicate no support
Example:
- growpart /dev/sda 1
Resize partition 1 on /dev/sda
Agora use growpart para estender sua partição.
$ sudo growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=62912479,end=62914527
Isso redimensionará a partição 1 em /dev/vda.
Valide a mudança.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 30G 0 disk
└─vda1 253:1 0 30G 0 part /
Etapa 4: redimensione a partição /
para preencher todo o espaço
A última etapa é redimensionar o sistema de arquivos para crescer totalmente e preencher o espaço adicional
Para o sistema de arquivos ext4, use resize2fs
$ sudo resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/vda1 is now 7864059 blocks long.
Se o seu sistema de arquivos for XFS, ele poderá ser aumentado enquanto estiver montado usando o comando xfs_growfs:
sudo xfs_growfs /
Confirme o novo tamanho usando df -h
$ df -hT | grep /dev/vda
/dev/vda1 ext4 30G 1.2G 27G 5% /
Parabéns!, você redimensionou com sucesso uma partição raiz ext2/3/4 ou XFS no Linux sem LVM.
Materiais de aprendizagem recomendados para administração de sistemas Linux:
- Melhores livros sobre Linux para iniciantes e especialistas
- Melhores livros de programação do kernel Linux
- Melhores livros de script Linux Bash
Veja artigos relacionados abaixo.
- Estenda o disco de inicialização do EBS na AWS sem reinicializar a instância
- Como estender o sistema de arquivos raiz usando LVM no Linux
- Como estender/aumentar o tamanho do disco da máquina virtual KVM (VM)
- Trabalhando com qemu-img no Linux