Em algum dado momento da sua vida de administrador de servidores Linux você já se deparou com essa situação (redimensionar uma LVM) e não soube o que fazer? Aqui você aprenderá passo a passo de como estender a sua LVM e aumentar uma ou mais partições.
O que é LVM ?
O LVM ou Logical Volume Manager, é um recurso muito utilizado nos sistemas opercionais open source e é divido em 3 camadas :
- PV ( Phisical Volume ) – Que correponde a todo o hardware de armazenamento que será utilizado no seu servidor.
- VG (Volume Group) – São os grupos de volumes físicos que constituem o LVM.
- LV (Logical Volume) – São os volumes lógicos que serão utilizados, ou comumente chamado de partições.
As principais vantagens de se utilizar a LVM na instalação do seu Linux são:
- Melhor utilização do espaço em disco.
- Redimensionamento dinâmico das partições do sistema operacional, ou seja, aumentar ou diminuir, de acordo com a disponibilidade de espaço em outras partições, ou do espaço livre no próprio LVM.
- Permite a adição de mais discos rígidos caso seja necessário.
- Permite que sejam criados snapshots dos volumes.
Preciso aumentar uma partição, como fazer?
Antes de mais nada, precisamos identificar qual o dispositivo que está sendo utilizado na máquina no momento, como ponto de partida, para que possamos iniciar o processo de resizing do servidor.
Para listar os dispositivos de disco utilizamos o comando “fdisk -l”:
Imagem 01 – Listando os discos rígidos
Podemos verificar na Imagem 01 que o dispositivo /dev/sda é o HD principal do nosso servidor Linux, possui 20GB de espaço, e está formatado com a partição LVM.
O exemplo de redimensionamento será realizado a partir da inserção de um novo HD.
Após adicionar o hardware fisicamente e executar o comando para listar os dispositivos de armazenamento disponíveis, podemos ver que agora temos não somente o dispositivo /dev/sda, mas também o HD /dev/sdb adicionado ao servidor:
Imagem 02 – Listagem dos dispositivos de armazenamento, após a inserção do novo HD.
O novo dispositivo de armazenamento, como podemos ver na Imagem 02, não possui uma tabela de partição válida, portanto, deveremos formatar o dispositivo para LVM.
Para iniciar a formatação executaremos o comando “fdisk /dev/sdb”:
Imagem 03 – Iniciando formatação do dispositivo de armazenamento
Ao digitar o comando acima descrito, inserindo a letra “m”, a tabela de ajuda a seguir poderá ser visualizada.
Imagem 04 – Menu de ajuda
– Para criar uma nova partição digitaremos a letra “n”
– Selecionaremos a opção “p” de Primary Partition
– Opção “1” para selecionar o número da partição
– Nas demais opções poderá apertar a tecla “Enter” para selecionar os valores default e utilizar todo o disco no primeiro setor.
Imagem 05 – Criando nova partição
O próximo passo é definir qual o tipo de partição que será utilizada:
– Escolha a opção “t” “change partition’s system id”.
– Para verificar os tipos disponíveis, digite a letra “L”, e será listado todos os tipos de partições disponíveis.
– A opção que utilizaremos será a “8e” que se refere à LVM.
– Após selecionar o tipo de partição, digitaremos a opção “w”, para gravar as alterações conforme a imagem a seguir:
Imagem 06 – Selecionando os tipos de partições.
Ao listar novamente os dispositivos de armazenamento com o comando “fdisk -l” conseguimos visualizar que agora o dispositivo /dev/sdb possui uma partição LVM e está pronto para ser utilizado:
Imagem 07 – Listando dispositivos de armazenamento após a formatação.
Agora que já foi criada a partição /dev/sdb1, podemos criar um novo PV (Phisical Volume) com o comando a seguir:
Imagem 08 – Criando um Phisical Volume
Para listar os PV disponíveis é utilizado o comando “pvscan”. Como podemos ver, o PV /dev/sdb1 de 15GB foi adicionado com sucesso:
Imagem 09 – Listando Phisical Volumes
Depois de criar o PV, será utilizado o comando “vgextend” para adicionar o PV /dev/sdb1 no Volume Group “VolGroup00”:
Imagem 10 – Adicionando o PV /dev/sdb1 no VG VolGroup00
Para se certificar que o seu VG foi estendido, utilize o comando “vgdisplay” para que as propriedades do seu Volume Group apareçam. Em Free PE/Size, veremos que temos disponível neste VG 15GB que acabamos de adicionar.
Imagem 11 – Listando propriedades do VG.
No próximo passo, identificaremos os LV (Logical Volume) que deverão ser modificados, de acordo com a nossa necessidade. No meu caso, aumentarei o espaço disponível da partição /resize, que atualmente está com 5GB, e o seu LV é /dev/mapper/VolGroup-LogVol00. Lembrando que podemos utilizar o espaço disponível no Volume Group para estender uma ou mais partições.
Imagem 12 – Listando os FileSystems
Para estender o LV, utilizaremos o comando “lvextend”, que possui as seguintes opções:
-L: Estende LV de acordo com a unidade selecionada, M, G, T, P e E (Ex: lvextend -L 30G ou lvextend -L +10G /dev/mapper/VolGroup-LogVol00).
-l: Aumenta LV em porcentagem (Ex: lvextend -l 70%VG /dev/mapper/VolGroup-LogVol00).
– Estendo a partição /resize:
Imagem 13 – Estendendo um LV
– Com o comando “lvscan” podemos verificar se o espaço foi adicionado ao LV:
Imagem 14 – Listando Logical Volumes
– Por último, teremos que estender o File System com o comando “resize2fs”, conforme a seguir:
Imagem 15 – Resize File System.
Vale salientar que somente nas versões do Kernel 2.6.17 ou superiores o comando acima pode ser executado com a partição de formato ext3 online, caso contrário, a partição deverá ser desmontada para que o procedimento seja executado.
A tecnologia LVM foi criada para facilitar a vida do administrador de sistemas das plataformas open source, quando utilizada da forma correta, pode se tornar uma grande aliada no dia a dia.