A partição root de uma instalação limpa do
Ubuntu 18.04.1 LTS exibia "0" de espaço disponível na coluna "Avail" e porcentagem de "Use%" de "100%" ao executar o comando "df -h" no Terminal (última linha da saída do comando abaixo). Neste ponto, é importante ressaltar que o nome do volume raiz (root) é "/dev/mapper/ubuntu-vg-ubuntu-lv", pois isso será usado em vários locais deste documento.
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 112K 1.9G 1% /dev/shm
tmpfs 1.9G 506M 1.4G 27% /run
/dev/loop252 154M 154M 0 100% /run/br_fu
/dev/loop253 38M 38M 0 100% /run/br_m
/dev/loop254 504M 504M 0 100% /run/br_sqfs
tmpfs 1.9G 1.2M 1.9G 1% /run/br_ram
aufs 1.9G 1.2M 1.9G 1% /
tmpfs 1.9G 168K 1.9G 1% /tmp
cgroup 12K 0 12K 0% /sys/fs/cgroup
cgmfs 100K 0 100K 0% /run/cgmanager/fs
/dev/mapper/ubuntu--vg-ubuntu--lv 3.9G 3.9G 0 100% /media/dm-0
Pesquisando na Internet, encontramos usuários no Ask Ubuntu que encontraram a mesma situação com a versão 18.04.1, 18.04.2 e 20.04 do Ubuntu LTS. [1]
Pode parecer um pouco complicado, mas se você entender que o LVM é dividido em três partes, será muito mais fácil [1] [2]:
- Physical Volume (PV): o espaço físico disponível em um disco (equivalente a todo o espaço livre (unidade de disco) no LVM).
- Volume Group (VG): uma quantidade abstrata de espaço na unidade que pode ser dividida entre várias unidades / dispositivos.
- Logical Volume (LV): o espaço que o Ubuntu "vê" (equivalente a partição no LVM).
Aparentemente, o Ubuntu realiza a instalação LVM utilizando o mínimo possível de espaço em disco e espera que o usuário realize o redimensionamento do Volume Lógico (LV) manualmente. [1]
Você precisará estender o VG para utilizar todo o espaço disponível no PV (ou estendê-lo para a quantidade de espaço que você desejar), e então expandir o LV para utilizar esse espaço. [1]
Como o LVM foi escolhido, as partições LVM podem ser redimensionadas on-line, portanto, não é necessário downtime. [3] Porém, você também pode realizar o redimensionamento offline através do
Parted Magic ou
Ikki Boot, ambos acompanham o GParted e, assim como o Parted Magic, o Ikki Boot suporta sistemas UEFI e Legacy BIOS.
A interface gráfica do Gparted tem suporte limitado ao LVM. Se você prefere utilizar a interface gráfica para realizar o redimensionamento, considere usar o "kvpm" e o "partitionmanager" para alterar sua partição offline. Entre os dois, você tem uma GUI totalmente funcional que suporta LVM, porém, ambos os utilitários não acompanham o Ubuntu por padrão e requerem a instalação manual através do comando "apt-get install". [2]
Para realizar o redimensionamento on-line ou offline através do Terminal [1] [3]:
1. Nós precisamos redimensionar o LV para usar todo o espaço existente do VG através da flag "-l +100%FREE" ou especificar o tamanho desejado através da flag "--size 23G":
# lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 4.00 GiB (1024 extents) to 464.26 GiB (118850 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
Aparentemente há o utilitário "lvresize" e "lvextend". A diferença é que o "lvextend" só pode aumentar o tamanho de um volume, enquanto o "lvresize" pode aumentá-lo ou reduzi-lo. [3]
Se sua partição estiver completamente cheia, você poderá obter um erro de falta de espaço (mensagem "No space left on device") ao tentar redimensionar o LV:
# lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
/etc/lvm/archive/.lvm_computer: write error failed: No space left on device
A maneira mais fácil de corrigir isso é limpando o cache do apt (ele será regenerado na próxima vez que você atualizar o apt), o que deverá fornecer espaço mais do que suficiente para concluir a operação:
# rm -rf /var/cache/apt/*
2. Agora, nós precisamos redimensionar o sistema de arquivos para usar o novo espaço disponível no LV:
# resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /media/dm-0; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 59
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 121702400 (4k) blocks long.
Após o reparticionamento, o disco exibe o tamanho disponível (Avail) de 435G ao executar o comando "df -h" (última linha da saida do comando abaixo):
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 112K 1.9G 1% /dev/shm
tmpfs 1.9G 506M 1.4G 27% /run
/dev/loop252 154M 154M 0 100% /run/br_fu
/dev/loop253 38M 38M 0 100% /run/br_m
/dev/loop254 504M 504M 0 100% /run/br_sqfs
tmpfs 1.9G 1.2M 1.9G 1% /run/br_ram
aufs 1.9G 1.2M 1.9G 1% /
tmpfs 1.9G 224K 1.9G 1% /tmp
cgroup 12K 0 12K 0% /sys/fs/cgroup
cgmfs 100K 0 100K 0% /run/cgmanager/fs
/dev/mapper/ubuntu--vg-ubuntu--lv 457G 3.9G 435G 1% /media/dm-0
Referências
1. Ubuntu Server 18.04 LVM out of space with improper default partitioning. Ask Ubuntu. Disponível em: <
https://askubuntu.com/questions/1106795/ubuntu-server-18-04-lvm-out-of-space-with-improper-default-partitioning>. Acesso em: 29 jun. 2020.
2. LVM Hard disk partitioning after Ubuntu installation. Ask Ubuntu. Disponível em: <
https://askubuntu.com/questions/1017945/lvm-hard-disk-partitioning-after-ubuntu-installation>. Acesso em: 29 jun. 2020.
3. How to resize an Ubuntu 18.04 LVM disk. Vander Host. Disponível em: <
https://vander.host/knowledgebase/operating-systems/how-to-resize-an-ubuntu-18-04-lvm-disk/>. Acesso em: 29 jun. 2020.