Sobre o autor.

Cristiano Alves é Consultor em Linux, Analista de TI (Infraestrutura), Administrador de Redes, e Instrutor de treinamentos em Linux, com experiência em Linux como suporte, ministrando treinamentos, implantação e auditoria em data center desde 1997. Trabalhou, em 2005, na Season Consultoria e Treinamentos em Informática, onde era como monitor, ministrou, em 2006, treinamentos no DCTA (Departamento de Ciência e Tecnologia Aeroespacial - São José dos Campos, SP). Entre 2007 e 2008 participou como voluntário de obra cristã social denominada Escola Cristã, onde realizou uma inclusão digital com a filosofia do software livre. Até junho de 2015 atuou como Analista de Infraestrutura no UOL, junto ao time de Engenharia de Data center.


terça-feira, 13 de dezembro de 2011

LVM Linux - Slackware

O Slackware Linux passou a suportar LVM (Logical Volume Meneger) a partir da versão 12.0.
Mas qual a vantagem em usar o LVM?
A principal vantagem é aproveitar o máximo do sistema de arquivos através da criação de um grande disco virtual.

Este artigo abordará  criação de uma partição LVM no Slackware Linux 13.37 já instalado, e comparando com uma situação no Red Hat Enterprise Linux 6.0.


O cfdisk é um utilitário de particionamento modo texto, porém bem intuitivo, sua interface principal mostra de forma bem clara a tabela de particionamento, conforme mostra a figura abaixo:

Para ampliar, clique sobre a figura.

Conforme notamos acima, trata-se de uma instalação já realizada do Slackware, onde dentre as principais partições, temos, além da área de troca (swap), uma partição sda3 ext4 (444,17 Mb), alocada para o ponto de montagem /boot, uma sda5 ext4 (aproximadamente 15 Gb), alocada a raiz do sistema, e uma outra sda6 reiserfs (aproximadamente 200 Gb), destinada aos arquivos dos usuários (/home).
Apos a área de troca (sda7, swap), temos um espaço não alocado (Free Space), e é justamente ele que usaremos para esta abordagem aqui.

Criaremos, assim, a nossa partição LVM:

  1. Usando a tecla direcional para baixo, selecione o "Free Space", conforme mostra a figura acima;
  2. Usando a tecla direcional para direita, seleciona a opção "New", e pressione Enter;
  3. O cfdisk pedira para digitar-mos o tamanho da partição a ser utilizado. No meu caso, usarei todo o espaço não alocado (20968.85). Após digitar o tamanho, pressionar Enter.

Foi criada a partição Linux, conforme mostra a figura abaixo:

Para ampliar, clique sobre a figura.

Agora que criamos a nossa partição Linux, ainda não dizemos que ela será uma partição LVM, para isto, mantenha a partição selecionada conforme mostra a figura acima e siga os passos abaixo:

  1. Com a tecla direcional a direita, selecione a opção "Type" (ou simplesmente tecle a letra "T"), aparecerá uma tela com os tipos de partições e os seus códigos correspondentes;
  2. Agora o cfdisk pedirá para escolhermos o sistema de arquivos sob o qual a nossa partição irá trabalhar (Enter filesystem type: 82). No lugar do número 82, basta digitar 8E, conforme mostra a figura abaixo:

Para ampliar, clique sobre a figura.


... E pressionar Enter.
Agora sim, temos uma partição LVM.

Para ampliar, clique sobre a figura.

Ainda não é tudo, pois apenas criamos a partição, sendo que ela apenas está criada, mas ainda não funcional. Antes, precisamos salvar as alterações feitas na tabela de particionamento, conforme os passos a seguir:

  1. Com a tecla direcional a direita, selecione a opção "Write", e pressione Enter;
  2. O cfdisk perguntara se você está certo de que deseja escrever a tabela de particionamento para o disco rigido. - Are you sure you want to write the partition table to disk? (yes or no):
  3. Digite Yes, e tecle Enter.
  4. Pressionar a tecla "Q" para sair do cfdisk.
Obs.: Caso não proceda com estes últimos 4 passos, a adição da nossa partição LVM será em vão.


A seguir, tornaremos a nossa partição LVM realmente funcional.


O que isto significa?


Significa que apenas a nossa partição LVM foi criada, mas não há nem os volumes físicos (Physical Volumes), nem os grupos de volumes (Volume Groups), e nem os volumes lógicos (Logical Volumes). Faremos isto conforme mostra a figura abaixo:


Para ampliar, clique sobre a figura.


Vamos aos procedimentos utilizados acima:

  1. Foi criado um volume físico com o comando pvcreate (Physical Volumes);
  2. Foi criado um grupo de volumes com o comando vgcreate (Volume Groups);
  3. Foram criados volumes lógicos com o comando lvcreate (Logical Volumes).
Nota: ¹ Ao criar um grupo de volume, "vg00" é justamente o nome do grupo; ² Ao criar um volume lógico, -L indica tamanho do volume (513M, 452M, 20G), e -n indica o nome do volume (swap, boot, vms).

 Obs.: Notem que ao tentar criar o volume lógico de 20 Gb, retornou a mensagem abaixo:

Volume group "vg00" has insufficient free space (4757 extents): 5120 required.

Ou seja, seria necessário que o grupo de volume "vg00" tivesse 5120 extensões para suportar os 20 Gb, mas o que ele têm (4757) só suporta 18 Gb.
É possível fazer com que ele suporte os 20 Gb, ou pelo menus os 19 Gb?
Guardem esta pergunta para mais adiante, antes prosseguiremos com a criação dos dispositivos (devices) referentes ao grupo de volumes, assim como a ativação dos volumes, conforme mostra a figura abaixo:

Para ampliar, clique sobre a figura.
Entendemos que cada grupo de volumes sejam como um servidor com vários discos físicos espetados nele, de forma que é necessário que o sistema operacional entenda assim, e que dentro de cada servidor (grupo de volumes) existam um, ou mais discos (volumes) dentro dele.
Isto foi feito através do comando vgscan. A opção --mknodes, não destina-se apenas para criar os arquivos especiais para LVM dentro do diretório /dev, mas também, faz uma checagem, e havendo alguns arquivos não usados, remove-os.
Em seguida foram ativados os volumes lógicos com o comando vgchange. A opção -ay destina-se em controlar a disponibilidade dos volumes lógicos dentro do grupo de volumes para input/output.
Finalmente, foram listadas as partições comuns, inclusive a Linux LVM, com o comando fdisk -l, e notamos que após a listagem das partições comuns, foram listados também os volumes lógicos dentro da nossa LVM. E ao listarmos os arquivos dentro de /dev/vg00/, notamos que estão lá os arquivos especiais relativos a cada volume lógico criado.

bash-4.1# ls /dev/vg00/ -l
total 0
lrwxrwxrwx 1 root root 7 Dec  5 20:53 boot -> ../dm-1
lrwxrwxrwx 1 root root 7 Dec  5 20:51 swap -> ../dm-0
lrwxrwxrwx 1 root root 7 Dec  5 20:54 vms -> ../dm-2



Algumas considerações sobre LVM no Red Hat Enterprise.

Para ampliar, clique sobre a figura.
Considerando uma instalação do RHEL 6.0 (Figura acima), feita sobre um outro laptop, qual uso para simular um servidor, vemos ali o sistema instalado já sobre volumes lógicos, o que não foi feito com o Slackware 13.37 aqui em questão. Mas qual a diferença em implementar o LVM no RHEL e no Slackware? É possível fazer a instalação do Slackware já sobre volumes lógicos, como no RHEL?

A diferença fica por conta da instalação. Onde temos um Red Hat que traz consigo uma ferramenta de particionamento própria, gráfica, amigável, e intuitiva para a implementação da LVM em tempo de instalação. Enquanto que, para fazer o mesmo no Slackware é necessário seguir todos os procedimentos descritos neste artigo. Qual a melhor opção? Isto depende de uma série de fatores. A aplicação da LVM, a escolha da distribuição por conta de cada empresa, dentre outros. Mas no momento de gerenciar uma solução LVM já implementada, certamente, o bom profissional "open source" recorrerá mais ao bom e velho modo-texto.

Na próxima postagem abordarei mais a parte de gerenciamento da LVM.

Tudo, até aqui. 

Saudações.


Referências:

LVM durante a instalação do Slackware 12.0 por Herbert Alexander Faleiros.

Nenhum comentário: