Eu tive que mexer na partição LVM no meu servidor. Dessa vez ache mais fácil
copiar um tutorial do site:
http://www.gazetadolinux.com/pr/lg/issue84/vinayak.htmldepois do artigo vou colocar mais referencias que achei.
O Problema
Um dos maiores problemas enfrentados por usuários Linux é a estimativa e alocação de espaço suficientes para as partições quando se esta ajustando uma caixa linux. Isto não seria muito problema se ele fosse um administrador de sistema enxergando depois a administração de um servidor ou um usuário com conhecimento intermediario de linux que percebeu que calculou errado o espaço do disco. Parece familiar não parece? Então comece a se esforçar para superar o problema. Aha, o usuário tem uma brilhante idéia e o problema esta resolvido (depois de noites sem dormir) usando alguns métodos não muito elegante (leia-se golpes sujos) como transpor partições symlinks ou usando alguma ferramenta de redimensionamento de partições como o parted. Mas estas são geralmente soluções temporárias e nós estaremos diante dos mesmos problemas de novo.
Como você deseja que este problema pudesse ser resolvido!! O hacker em você deseja que você tivesse um sistema no qual pudesse experimentar livremente sem preocupar-se com espaço de disco e você conseguisse adicionar ou apagar espaço como e quando solicitado. Se você é um administrador de sistema de um sítio com um número de servidores a qual estão sempre conectados a Internet os riscos são todos mais altos. Cada minuto de ociosidade causa perdas. Até o perigo de clientes cairem fora de seu sítio. Você pode se permitir a desgraça de reiniciar o servidor depois que fizer as mudanças na tabela de partição toda vez que surgir esta situação. LVM pode ser um salva-vidas em situações semelhantes.
Introdução ao LVM
O LVM Linux pode facilitar um pouco sua vida. LVM emprega um elevado nivel de visão de armazenamento de espaço se comparado com aquelas partições e discos rigidos. Leia para descobrir como. LVM foi introduzido dentro da árvore principal do código fonte do kernel das séries 2.4.x para frente. Antes de passarmos para o LVM, vamos dar uma olhada em alguns dos conceitos e terminologias que serão usados.
-
Volume Físico (Physical Volume)
Volume Fisico generalmente refere-se as partições dos discos rigidos ou um dispositivo que aparente (logicalmente) a uma partição de disco rigido como um dispositivo RAID. -
Volume Lógico (Logical Volume)
Um ou muitos volumes fisicos fazem um Volume Lógico . No LVM, um volume lógico é parecido com uma partição em sistemas não LVM. O volume lógico pode conter um sistema de arquivo (filesystem) ex. /home ou /usr. -
Grupos de Volume (Volume Groups)
Um ou muitos volumes lógicos fazem um Volume Group . Para um LVM , um grupo de volume é parecido com um disco rigido fisico em um sistema não LVM. O grupo de volume trás junto muitos volumes lógicos para formar uma unidade administrativa.
Como o LVM funciona
Agora que conseguimos compreender a terminologia do LVM, vamos ver como ele atualmente funciona. Cada volume fisico é dividido entre um número de unidades basicas chamadas Extensões Fisicas (EF) . O tamanho de uma extensão fisica é variavel mesmo para volumes fisicos pertencentes a um grupo de volume. Dentro de um volume fisico, cada EF tem um único número. A EF é a menor unidade que pode ser endereçada pelo LVM em um armazenamento fisico.
De novo cada volume lógico é dividido em um número de unidades básicas endereçaveis chamadas Extensões Logicas (EL) . No mesmo grupo de volume o tamanho da extensão lógica é igual aquela da extensão fisica. Obviamente, o tamanho das ELs será o mesmo para todos os volumes lógicos de um grupo de volume.
Cada EF tem um número único no volume fisico mas não necessariamente para um volume lógico. Isto porque um volume lógico pode ser feito de vários volumes fisicos neste caso a exclusividade de IDs EF não será possivel. Portanto os IDs EL são usados para identificar o EL bem como uma particular EF associada com ela. Como foi notado anteriormente existe um mapeamento 1:1 entre as ELs e as EFs. Cada vez que a área de armazenagem é acessada o endereço ou os IDs do EL são usadas para realmente gravar os dados sobre o armazenamento fisico.
Você deve estar querendo saber, onde todos os meta-data sobre o volume lógico e os grupos de volume estão armazenados. Como uma analogia, os dados sobre as partições estão armazenadas na tabela de partição em sistemas não-LVM. O Area de descrição de Grupo de Volume (VGDA) funções similares para a tabela de partição LVM. Ele é armazenado no inicio de cada volume fisico.
O VGDA consiste das seguintes informações :-
- um descritor PV
- um descritor VG
- os descritores LV
- muitos descritores EF.
Quando o sistema inicializa os LVs e os VGs são ativados então o VGDA é carregado na memoria. O VGDA ajuda a identificar onde os LVs estão atualmente armazenados. Quando o sistema quizer acessar o dispositivo de armazenagem, o mecanismo de mapeamento (construido com ajuda do VGDA) é usado para acessar a localização fisica atual para executar a operação de I/O.
Entendendo abaixo para funcionar
Vamos agora ver como usar o LVM :-
Passo 1 - Configurar o kernel
Antes de começarmos a instalar o LVM existem alguns pré-requisitos:-
seu kernel deverá ter o módulo LVM configurado.
Isto pode ser feito assim:- # cd /usr/src/linux # make menuconfig abaixo o Submenu:- Multi-device Support (RAID and LVM) --> habilite as duas opções abaixo:- [*] Multiple devices driver support (RAID and LVM) e <*> Logical volume manager (LVM) Support.
Passo 2 - Verifique a quantidade de espaço livre no seu disco
Isto pode ser feito usando o seguinte comando:-
# df -h Filesystem Size Used Avail Use% Mounted on /dev/hda1 3.1G 2.7G 398M 87% / /dev/hda2 4.0G 3.2G 806M 80% /home /dev/hda5 2.1G 1.0G 1.1G 48% /var
Passo 3 - Criação das partições LVM no seu disco rigido
Use o fdisk ou qualquer outro utilitário particionador para criar as partições LVM. O tipo de partição do LVM linux é 8e.
# fdisk /dev/hda press p (to print the partition table) and n (to create a new partition)Depois da criação da partição LVM Linux. Imprima a tabela de partição. Será apresentado alguma coisa como esta:-
Device Boot Start End Blocks Id System /dev/hda1 * 1 506 4064413+ 83 Linux /dev/hda2 507 523 136552+ 5 Extended /dev/hda5 507 523 136521 82 Linux swap /dev/hda6 524 778 2048256 8e Linux LVM /dev/hda7 779 1033 2048256 8e Linux LVM
Passo 4 - Criação de Volumes fisicos
# pvcreate /dev/hda6 pvcreate -- -physical volume "/dev/hda6" successfully created # pvcreate /dev/hda7 pvcreate- -- physical volume "/dev/hda7" successfully createdO comando acima cria um descritor de grupo de volume no começo da partição.
Passo 5 - Criação dos Grupos de Volume
Criar um novo grupo de volume e adicionar os dois volumes fisicos nele da seguinte maneira.
# vgcreate test_lvm /dev/hda6 /dev/hda7 vgcreate- -- INFO: using default physical extent size 4 MB vgcreate- -- INFO: maximum logical volume size is 255.99 Gigabyte vgcreate- -- doing automatic backup of volume group "test_lvm" vgcreate- -- volume group "test_lvm" successfully created and activatedIsto criará um grupo de volume chamado test_lvm contendo os volumes fisicos /dev/hda6 e /dev/hda7. Podemos também especificar a extensão de tamanho com este comando se a extensão de tamanho de 4MB não estiver adequada para nosso propósito.
Ativar os grupos de volumes usando o comando
# vgchange -ay test_lvm
O comando "vgdisplay" é usado para ver detalhes com respeito a grupos de volumes criados no seu sistema.
# vgdisplay --- Volume group --- VG Name test_lvm VG Access read/write VG Status available/resizable VG # 0 MAX LV 256 Cur LV 1 Open LV 0 MAX LV Size 255.99 GB Max PV 256 Cur PV 2 Act PV 2 VG Size 3.91 GB PE Size 4 MB Total PE 1000 Alloc PE / Size 256 / 1 GB Free PE / Size 744 / 2.91 GB VG UUID T34zIt-HDPs-uo6r-cBDT-UjEq-EEPB-GF435E
Passo 6 - Criar Volumes Lógicos
O comando lvcreate é usado para criar volumes lógicos nos grupos de volume.# lvcreate -L2G -nlogvol1 test_lvm
Passo 7 - Criar um Sistema de Arquivo (filesystem)
Agora será necessário construir um sistema de arquivo neste volume lógico. Vamos escolher o reiserfs journalling filesystem no volume lógico.
# mkreiserfs /dev/test_lvm/logvol1Monte o sistema de arquivo criado há pouco usando o comando mount.
# mount -t reiserfs /dev/test_lvm/logvol1 /mnt/lv1
Passo 8 - Adicione entradas para o /etc/fstab e /etc/lilo.conf
Adicione a seguinte entrada no /etc/fstab para que o sistema de arquivo seja montado na inicialização.
/dev/test_lvm/logvol1 /mnt/lv1 reiserfs defaults 1 1copie o kernel recompilado se você não trocou seu kernel original com ele, ainda que você tenha a opção de usar ou não o LVM.
image = /boot/lvm_kernel_image label = linux-lvm root = /dev/hda1 initrd = /boot/init_image ramdisk = 8192Depois de adicionar as linhas acima reinstale o lilo usando
# /sbin/lilo
Passo 9 - Redimensionando os volumes lógicos
Volumes Logicos podem ser redimensionados facilmente usando o comando lvextend.# lvextend -L+1G /dev/test_lvm/logvol1 lvextend -- extending logical volume "/dev/test_lvm/logvol1" to 3GB lvextend -- doing automatic backup of volume group "test_lvm" lvextend -- logical volume "/dev/test_lvm/logvol1" successfully extendedSimilarmente volumes lógicos podem ser reduzidos usando-se o seguinte comando
# lvreduce -L-1G /dev/test_lvm/lv1 lvreduce -- -Warning: reducing active logical volume to 2GB lvreduce- -- This may destroy your data (filesystem etc.) lvreduce -- -do you really want to reduce "/dev/test_lvm/lv1"? [y/n]: y lvreduce- -- doing automatic backup of volume group "test_lvm" lvreduce- -- logical volume "/dev/test_lvm/lv1" successfully reduced
Conclusão
Como você pode ver na discussão acima o LVM é totalmente extensível e claramente mais elegante usá-lo. Depois que os grupos de volume estejam configurados. É muito mais fácil redimensionar os volumes lógicos conforme suas necessidades.
Fontes
Outras referencias
http://www.vivaolinux.com.br/artigo/Entendendo-e-configurando-o-LVM-manualmente?pagina=1
http://www.vivaolinux.com.br/artigo/LVM-completo-e-sem-misterios?pagina=1
http://docs.redhat.com/docs/pt-BR/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/index.html