20
LVM, LOGICAL VOLUME MANAGER: UMA SOLUÇÃO DINÂMICA PARA GERENCIAMENTO DE DISCOS AS PLATAFORMAS UNIX E LINUX Ailton dos Santos Brazilino Júnior 1 Christiane Zim Zapelini 2 Resumo Este artigo propõe apresentar os conceitos teóricos do Logical Volume Manager, LVM, evidenciando como ele pode facilitar o gerenciamento de espaço em disco nos servidores. Considerando suas particularidades, procurou-se identificar dentre os sistemas operacionais pesquisados Linux (Slackware Linux, SUSE Linux e Red Hat Linux) e Unix (IBM AIX, HP- UX e Solaris), os pontos positivos e negativos de cada um. Palavras chave: desempenho, remanejamento, dinâmico, disco, armazenamento, administração. Abstract This article aims to present the theoretical concepts of the Logical Volume Manager LVM, showing how it can facilitate the management of disk space on servers. Considering its characteristics, we tried to identify among those surveyed Linux operating systems (Slackware Linux, SUSE Linux and Red Hat Linux) and Unix (IBM AIX, HP-UX and Solaris), the positives and negatives of each. Keywords: performance, replacement, dynamic, disk, storage, administration. Introdução Hoje em dia, é corriqueiro encontrarmos situações de emergência relacionadas ao crescimento excessivo de arquivos em disco. Isso em decorrência da produtividade do servidor e do planejamento feito durante a instalação dos servidores e discos. Este artigo trata da administração de servidores voltada para gerenciamento de espaço em disco. O trabalho propõe apresentar os conceitos teóricos do Logical Volume Manager, LVM, evidenciando como ele pode facilitar o gerenciamento de espaço em disco nos servidores, usando os sistemas operacionais Unix (IBM AIX, HP-UX e Sun Solaris) e Linux (Slackware Linux, SUSE Linux e Red Hat Linux). Ele é destinado aos profissionais de TI que atuam na área de administração de servidores. Quando um servidor é instalado, é complexo definir como será feito o particionamento do(s) disco(s), pois é difícil prever quanto de espaço será necessário disponibilizar para usuários, sistemas e banco de dados. Por mais que se conheça o ambiente, é comum que uma das partições acabe enchendo e em outras sobrem espaço, exigindo, assim, remanejar o espaço entre elas. Diante desse cenário, este artigo buscou responder a seguinte questão: como resolver esse problema sem causar indisponibilidade aos usuários, sistemas ou banco de dados? O objetivo geral dessa pesquisa foi propor a utilização do LVM, que é uma solução dinâmica para resolver problemas no gerenciamento de discos nas plataformas Unix e Linux. 1 Bacharel em Sistemas de Informação, Faculdades Network Nova Odessa-SP Brasil. ([email protected] ) 2 Professora e orientadora das Faculdades Network.([email protected] )

LVM

Embed Size (px)

Citation preview

Page 1: LVM

LVM, LOGICAL VOLUME MANAGER: UMA SOLUÇÃO DINÂMICA

PARA GERENCIAMENTO DE DISCOS AS PLATAFORMAS UNIX E

LINUX

Ailton dos Santos Brazilino Júnior 1

Christiane Zim Zapelini2

Resumo

Este artigo propõe apresentar os conceitos teóricos do Logical Volume Manager, LVM,

evidenciando como ele pode facilitar o gerenciamento de espaço em disco nos servidores.

Considerando suas particularidades, procurou-se identificar dentre os sistemas operacionais

pesquisados Linux (Slackware Linux, SUSE Linux e Red Hat Linux) e Unix (IBM AIX, HP-

UX e Solaris), os pontos positivos e negativos de cada um.

Palavras chave: desempenho, remanejamento, dinâmico, disco, armazenamento,

administração.

Abstract

This article aims to present the theoretical concepts of the Logical Volume Manager LVM,

showing how it can facilitate the management of disk space on servers. Considering its

characteristics, we tried to identify among those surveyed Linux operating systems

(Slackware Linux, SUSE Linux and Red Hat Linux) and Unix (IBM AIX, HP-UX and Solaris),

the positives and negatives of each.

Keywords: performance, replacement, dynamic, disk, storage, administration.

Introdução

Hoje em dia, é corriqueiro encontrarmos situações de emergência relacionadas ao

crescimento excessivo de arquivos em disco. Isso em decorrência da produtividade do

servidor e do planejamento feito durante a instalação dos servidores e discos. Este artigo trata

da administração de servidores voltada para gerenciamento de espaço em disco. O trabalho

propõe apresentar os conceitos teóricos do Logical Volume Manager, LVM, evidenciando

como ele pode facilitar o gerenciamento de espaço em disco nos servidores, usando os

sistemas operacionais Unix (IBM AIX, HP-UX e Sun Solaris) e Linux (Slackware Linux,

SUSE Linux e Red Hat Linux). Ele é destinado aos profissionais de TI que atuam na área de

administração de servidores.

Quando um servidor é instalado, é complexo definir como será feito o particionamento

do(s) disco(s), pois é difícil prever quanto de espaço será necessário disponibilizar para

usuários, sistemas e banco de dados. Por mais que se conheça o ambiente, é comum que uma

das partições acabe enchendo e em outras sobrem espaço, exigindo, assim, remanejar o

espaço entre elas. Diante desse cenário, este artigo buscou responder a seguinte questão: como

resolver esse problema sem causar indisponibilidade aos usuários, sistemas ou banco de

dados?

O objetivo geral dessa pesquisa foi propor a utilização do LVM, que é uma solução

dinâmica para resolver problemas no gerenciamento de discos nas plataformas Unix e Linux.

1 Bacharel em Sistemas de Informação, Faculdades Network – Nova Odessa-SP – Brasil.

([email protected]) 2 Professora e orientadora das Faculdades Network.([email protected])

Page 2: LVM

Ele foi fundamentado através das documentações oficiais de cada sistema e distribuição e

manuais referente a utilização do LVM. Entre os principais autores, vale destacar Vanel,

Knaap, Foreman, Matsubara e Steel (2000); Tanenbaum (1999); Robbins (2001);

Mauelshagen (2002); Poniatowski (2003); Hasenstein (2001) e Hicks (2005).

1 Gerenciamento de espaço em disco e LVM

Antes de explicar o que é o LVM, é preciso entender os conceitos de dois itens muito

importantes: partição e sistema de arquivos ou file system.

1.1 Partição

Os discos rígidos, conhecidos também como HD’s do inglês Hard Disk, quando são

fabricados, não estão preparados para receber dados. Para isso, eles precisam ser formatados.

Esta formatação é aplicada em uma partição, que representa uma determinada área física do

disco designada para ser utilizada. É necessário que o disco seja particionado antes da

formatação. Existem dois tipos de formatação: física ou de baixo nível, em que são criadas as

trilhas e setores do disco; e lógica ou de alto nível, em que é criado o sistema de arquivos, file

system, que será melhor detalhado no próximo item (FERREIRA, 2003).

Existem três tipos possíveis de partições: primária, estendida e lógica.

As partições primárias permitem o armazenamento de arquivos e diretórios. Em um

disco, deve haver no mínimo uma e no máximo quatro partições primárias. Se existirem

quatro, nenhuma outra partição poderá existir neste disco e nem de outro tipo. Uma dessas

partições deve, necessariamente, estar marcada como ativa e inicializável para que a BIOS,

Basic Input/Output System, possa iniciar o sistema por ela (TORRES, 2004).

Só pode haver uma partição estendida em cada disco. Esta partição é um tipo especial

de partição primária utilizada para a criação de outras partições dentro dela, chamadas lógicas.

Se existir uma partição estendida, ela toma o lugar de uma das partições primárias. Desta

forma, havendo uma partição estendida no disco, poderá haver, no máximo, outras três

partições primárias.

A partição estendida pode comportar até 64 partições lógicas. Desta forma, um mesmo

disco rígido pode armazenar mais de 64 partições independentes uma das outras.

A seguir, veremos o segundo conceito para entendimento do LVM, que é o sistema de

arquivos.

1.2 Sistema de Arquivos

Pode-se definir o conceito de um sistema de arquivos através do trecho do artigo

Sistema de Arquivos, publicado pelo autor Morimoto:

Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que

permitem ao sistema operacional controlar o acesso ao disco rígido. Sistema de

arquivos diz respeito à estrutura de dados criada no disco rígido que permite a

criação, a remoção e a cópia de arquivos, dentre outras funcionalidades.

Morimoto ainda diz que, “conforme cresce a capacidade dos discos e aumenta o

volume de arquivos e acessos, esta tarefa torna-se mais e mais complicada, exigindo o uso de

sistemas de arquivos cada vez mais complexos e robustos”.

Existem diversos sistemas de arquivos diferentes, que vão desde sistemas simples

como o FAT16, File Allocation Table 16-bits, que é utilizado em cartões de memória, até

sistemas como o NTFS, New Technology File System, EXT3, Third Extended File System e

Page 3: LVM

ReiserFS, Reiser File System, cujo nome vem do criador Hans Reiser, que incorporam

recursos muito mais avançados.

Diferentes sistemas operacionais usam diversos sistemas de arquivos. No mundo

Windows, tem-se apenas três sistemas de arquivos: FAT16, FAT32 e NTFS. O primeiro é o

mais antigo, usado desde os tempos do MS-DOS, enquanto o NTFS é o mais complexo e

atual. Apesar disso, tem-se uma variedade muito grande de sistemas de arquivos diferentes no

Linux e outros sistemas Unix, que incluem o EXT2, EXT3, ReiserFS, XFS (Sistema de

arquivos inicialmente desenvolvido pela Silicon Graphics, Inc. para o seu sistema operacional

IRIX), JFS (Journaling File System, desenvolvido pela IBM) e muitos outros (MORIMOTO).

1.3 LVM

O LVM traz uma nova filosofia no que se refere ao gerenciamento de discos e

sistemas de arquivos, trata-se de uma forma transparente para usuários e aplicativos de dividir

e alocar espaço de armazenamento nos discos de forma online, ou seja, sem a interrupção do

sistema.

Este método cria uma camada de abstração do sistema de armazenamento para as

aplicações, diferente da visão tradicional de discos e partições nos quais os discos são

divididos em partições contínuas de tamanho fixo. Este armazenamento em volumes lógicos

disponibiliza um meio, invisível para usuários e aplicativos, de dividir e alocar o espaço dos

discos que pode ser feita dinamicamente (HASENSTEIN, 2001, p. 3).

Quando se usa o LVM, os discos físicos são divididos em unidades de

armazenamento. Essas unidades, de diversos discos, podem ser agrupadas em um volume

lógico, que podem ser dividido em partições. A qualquer momento, novas unidades de

armazenamento podem ser adicionadas ou removidas das partições.

Conforme pesquisa bibliográfica:

O LVM foi desenvolvido originalmente pela IBM e aprovado pela OSF, antiga

Open Software Foundation e atual Open Group. A versão OSF foi usada como base

para implementação do LVM nos sistemas operacionais HP-UX e Digital UNIX. A implementação do Linux é similar à implementação de LVM do HP-UX. O projeto

LVM começou em fevereiro de 1997 e a versão 0.1 foi disponibilizada em julho de

1997. A versão 1.0 foi lançada em agosto do mesmo ano. (MAUELSHAGEN, 2002,

p. 56).

O LVM trabalha com diversas camadas que precisam ser entendidas para que não haja

problemas em utilizá-lo. Nos próximos sub-seções, são apresentadas as terminologias

utilizadas pelo LVM.

1.3.1 Volume físico

Para que possa ser utilizado pelo sistema operacional, o espaço disponível em disco

deve passar por um processo de configuração, o qual prepara o disco para o trabalho com o

LVM. Todo disco rígido ou partição precisa se tornar um volume físico, Physical Volume, ou

simplesmente PV. Dispositivos que tradicionalmente são vistos pelo sistema operacional

Page 4: LVM

como discos físicos, como por exemplo, os sistemas RAID3, Redundant Array of Independent

Disks, ou partições de disco IDE4, Integrated Drive Eletronics, também são considerados PV.

Os PV’s são as partições que serão usadas para compor um disco no formato LVM,

eles servem para dar o UUID5, Universally Unique Identifier, número de identificação de cada

disco. Ao criar um PV, é definida, no início do disco físico, a tabela de descrição do grupo de

volumes, VGDA, Volume Group Descriptor Area. Nela há todos os dados do Volume Group

ou VG. É dividida em quatro partes básicas: descritor de PV, descritor de VG, descritor de

Logical Volumes ou LV e vários descritores de Physical Extensions ou PE e Logical

Extensions ou LE, que vem a seguir.

1.3.2 Grupo de volume

Os PV’s são agrupados em conjuntos chamados grupos de volumes, Volume Groups

ou VG’s. Cada VG pode ser formado por uma ou mais partições de tamanhos variados, mas é

visto pelo sistema como se fosse um único disco físico. Assim, é possível adicionar ou

remover volumes físicos aos VG’s sem necessidade de parar o sistema. A Figura 1.1 permite

visualizar o conceito de VG:

Figura 1.1 – Exemplo de VG

Fonte: Red Hat Enterprise Linux 4: System Administration Guide.

Nessa figura, 3 discos físicos de 9.1 GB são configurados como PV’s e esses, por sua

vez, unem-se para formar o VG.

3 Redudant array of inexpensive disks, uma categoria de drives de disco que emprega dois ou mais drives em

combinação para tolerância a falhas e perfomance. Drives RAID são usados frequentemente sobre servidores mas não são necessários para computadores pessoais. (Dígitro Tecnologia. Glossário Tecnológico. Disponível

em: <http://www.digitro.com/glossario_digitro.php>. Acesso em: 14 dez. 2009). 4 Integrated Drive Electronics é uma interface para dispositivos de armazenamento de massa, no qual o

controlador é integrado ao disco ou drive de CD-ROM. (Dígitro Tecnologia. Glossário Tecnológico. Disponível

em: <http://www.digitro.com/glossario_digitro.php>. Acesso em: 14 dez. 2009). 5 UUID, Universally Unique Identifier, é um longo número em notação hexadecimal, documentado pelas normas

ISO/IEC 11578:1996, ITU-T Rec. X.667, ISO/IEC 9834-8:2005 e RFC 4122 que serve como identificador

padrão universal. (ENGELSCHALL, R. S. Universally Unique Identifier - UUID. Disponível em:

<http://www.ossp.org/pkg/lib/uuid/>. Acesso em: 15 mai. 2009).

Page 5: LVM

1.3.3 Extensão física

Extesões físicas, Physical Extensions ou PE's são pequenos pedaços de um VG, que é

dividido em vários PE's. Ao adicionar um PV a um VG, o PV é dividido em partes contínuas

e de tamanhos idênticos, chamadas de PE’s. A PE é a menor unidade que pode ser endereçada

pelo LVM nos dispositivos físicos. Segundo Hasenstein (2001, p. 6), em cada PV, o número

de identificação de cada PE é único e numerado de 0 (zero) até o número de PE’s (tamanho

do disco dividido pelo tamanho de cada PE).

A Figura 1.2 ilustra os conceitos de PV, VG e PE:

Figura 1.2 – Exemplo de PV, VG e PE

Fonte: Elaborada com os dados da própria pesquisa

Como é possível observar, o VG é dividido em vários PE’s do mesmo tamanho.

1.3.4 Volume lógico

O volume lógico, Logical Volume ou LV, é uma partição lógica de um VG. São as

partes que podem ser acessadas pelos usuários e que serão associadas a um ponto de

montagem específico. Um exemplo seria dizer que o PV01 será montado no diretório /home.

Segundo Robbins (2001), “não é possível criar ou montar sistemas de arquivos

diretamente nos VG’s. Para isto, é necessário criar um ou mais volumes lógicos, LV’s, em

cada VG. Cada LV é considerado uma partição para o sistema”.

A Figura 1.3, conforme Mauelshagen (2001, p. 5), retrata o conceito de LV e mostra

como os volumes lógicos podem ser definidos em um VG. Ela mostra a concatenação dos

discos físicos SDA e SDB, de 18 GB cada, para formar o VG identificado por VG1, de 36

GB. Neste VG, são criados 3 volumes lógicos: LV1, LV2 e LV3. São nesses LV’s que os

sistemas de arquivos são montados.

Page 6: LVM

Figura 1.3 – Exemplo de LV’s em concatenação

Fonte: (MAUELSHAGEN, 2001, p. 5)

Os LV’s podem ser criados de duas formas: por concatenação de PV’s, ou por

striping6, como pode ser visto na figura 1.4. Um striping é formado, distribuindo-se os dados

em vários discos. A vantagem do mapeamento dos dados em striping é o melhor desempenho,

devido ao paralelismo de acesso aos dados. Em compensação, a utilização de stripes sem

medidas adicionais aumenta as chances de falhas, pois, se houver falha em um disco, todo o

LV irá falhar junto. Se os dados forem concatenados, apenas uma parte do sistema de

arquivos será perdida (MAUELSHAGEN, 2001, p. 5).

Figura 1.4 – Exemplo de LV por Striping e Concatenação

Fonte: (MAUELSHAGEN, 2001, p. 5)

6 No Striping, os dados são subdivididos em segmentos consecutivos (stripes, ou faixas), que são escritos

sequencialmente através de cada um dos discos de um array, ou conjunto. Cada segmento tem um tamanho

definido em blocos. A distribuição, ou striping, oferece melhor desempenho comparado a discos individuais, se

o tamanho de cada segmento for ajustado de acordo com a aplicação que utilizará o conjunto, ou array.

(techFAQ. What is Striping? Disponível em: <http://www.tech-faq.com/striping.shtml>. Acesso em: 14 dez.

2009).

Page 7: LVM

1.3.5 Extensão lógica

Com base no autor Mauelshagen (2001, p. 6), cada LV está dividido em extensões

lógicas, Logical Extensions ou simplesmente LE’s. As LE’s são do mesmo tamanho que as

PE’s. Cada LE é mapeada para exatamente uma PE no VG. O número que identifica cada LE

é único por VG, da mesma forma que o identificador de cada PE é único por PV, como

mostra a Figura 1.5.

Quando uma aplicação acessa um disco usando LVM, o endereço do LE no LV é

utilizado para determinar a posição física no disco, através da tabela de mapeamento, VGDA.

Figura 1.5 – Mapeamento entre LE e PE

Fonte: (MAUELSHAGEN, 2001, p. 6)

Observando a Figura 1.5, verifica-se que o disco físico 1 (PV1) contém os 700 LE’s

do LV1, parte de LV2 e aproximadamente metade de LV3.

1.4 Vantagens do LVM

Ao utilizar o LVM, o remanejamento de espaço entre partições, que passam a ser

LV’s, fica fácil e pode ser feita sem reinicialização do equipamento, de forma transparente

para as aplicações e usuários. Uma boa opção, com o LVM, é alocar apenas o espaço

necessário para cada partição e deixar espaço livre nos VGs, expandindo os LVs à medida que

for necessário (MAUELSHAGEN, 2001, p.4).

Com o uso do LVM, as aplicações passam a usar discos virtuais, não precisando mais

se preocupar com a localização física dos dados, em que tipo ou qual lugar do disco eles

estão. Separando a gerência dos dispositivos físicos da de armazenamento, que é feita via

software, é possível fazer mudanças de hardware sem que as aplicações sejam afetadas,

mesmo sem pará-las. Sendo assim, a utilização do LVM tende a reduzir o tempo de

indisponibilidade do sistema, ao evitar que mudanças na configuração do sistema de

armazenamento requeiram paradas do servidor.

Além disso, a adição de novos discos torna-se uma tarefa fácil, pois basta adicionar

discos a VG’s preexistentes e aumentar os LV’s, sem necessidade de migrar dados ou parar o

sistema. Esta facilidade é particularmente útil quando os equipamentos usados permitem que a

adição ou remoção de discos físicos seja feita sem a necessidade de interromper o sistema,

sistema hot-swap7.

7 Hot-swap ou Hot swapping, a tradução literal é troca quente, é a capacidade de retirar e de substituir

componentes de um computador enquanto opera, ou seja, não é necessário desligar ou reiniciar o computador.

(BOOTH, J. SearchStorage.com. Hot Swap and Hot Plug. Disponível em:

Page 8: LVM

A movimentação de dados entre discos também pode ser efetuada usando o LVM. É

possível mover todo um LV de um disco para outro, sem afetar a disponibilidade das

aplicações.

Outra vantagem é na definição de volumes virtuais, VG’s, e volumes lógicos LV’s, a

possibilidade de usar nomes significativos, como fiscal, pessoal, contabilidade, teste, em vez

dos nomes de discos e partições físicas, como sda e sda1. Nas organizações, com grande

quantidade de discos, esta facilidade torna o gerenciamento do sistema de armazenamento

menos complexo.

A utilização de snapshots, que será explicado a seguir, é outro recurso que o LVM

possui que serve para realização de backups, é extremamente útil em servidores de arquivos,

pois pode-se manter o snapshot das últimas 24 horas ou mais, permitindo a recuperação

rápida de arquivos removidos ou alterados por engano (MAUELSHAGEN, 2001, p. 4).

1.5 Desvantagens do LVM

Segundo escreveu o autor Mauelshagen (2001, p. 8):

a camada LVM no kernel mantém um mapeamento entre as localizações lógicas e

físicas dos discos. Assim, para cada leitura ou escrita em disco, é necessário que o

LVM encontre a posição física da área desejada em uma tabela. Desta forma, há um

gasto de processamento extra, porém considerado muito pequeno, visto que a busca em uma tabela de mapeamento é uma das operações mais rápidas e básicas efetuadas

pelo computador.

A Figura 1.6 ilustra a citação do autor.

Figura 1.6 – Mapeamento lógico e físico dos discos

Fonte: (MAUELSHAGEN, 2001, p. 8)

Devido à sofisticação do LVM, é necessário tempo para aprender a usá-lo, além de ser

necessário maior esforço de manutenção. Antes de usar o LVM, é necessário conhecer bem

como ele funciona e todos os conceitos envolvidos.

Alguns cuidados são necessários como manter sempre uma cópia de segurança

atualizada das configurações do LVM, de forma a evitar a perda de dados no caso das

informações de configuração serem corrompidas após um problema. Além disto, se forem

usados LV’s com dados em mais de um volume físico, ou seja, através de striping, a perda de

um disco acarretará na perda de todo o LV (MORIMOTO).

<http://searchstorage.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid5_cid403082,00.html>. Acesso

em: 14 dez. 2009).

Page 9: LVM

2 LVM no Linux

No Linux, o LVM possui duas versões, o LVM1 e o LVM2, sendo que a diferença

entre elas está no kernel8 que as suporta. A primeira versão é suportada pelo kernel 2.4, não

possui suporte a mapeamento de dispositivos, dentre outras funções, que posteriormente

foram implementadas no LVM versão 2 que, por sua vez, utiliza o kernel 2.6 (LEWIS, 2006,

p. 2).

Como originalmente o LVM é um produto nativo do AIX, o Unix da IBM, no Linux,

ele pode ser instalado como um pacote adicional ao sistema operacional e, atualmente, a

maioria das distribuições Linux já o inclui como opção durante a instalação do sistema. O

LVM pode ser baixado através do site ftp://sources.redhat.com/pub/lvm2/, cuja tecnologia

está presente em todas as versões de Linux que utilizam o kernel na versão 2.6; como a Red

Hat é a mantenedora oficial do padrão, a publicação fica em seu site oficial.

Foram estudadas 3 distribuições distintas de Linux, no qual se mostrou o uso do LVM

nas mesmas. Sobre as distribuições escolhidas para este artigo, apresentamos o LVM:

no Slackware, distribuição não comercial, é o mais antigo Linux ainda em atividade

hoje e também muito apreciado por usuários mais experientes pelo fato de não usar

ferramentas automatizadas para configurar o sistema;

no SuSE, distribuição comercial hoje voltada para o mercado corporativo, tem como

característica o YaST, um aplicativo de gerenciamento que traz a possibilidade de

configurar de forma gráfica diversos elementos do sistema operacional, incluindo o

LVM; e

por fim, no Red Hat, distribuição comercial e que foi criada com o objetivo de tornar o

Linux mais fácil de usar. O Red Hat trouxe um novo conceito de gerenciamento de

pacotes que facilita na instalação e remoção de aplicativos e também na atualização do

próprio sistema operacional, o RPM, Red Hat Package Manager, hoje, RPM Package

Manager. Criado pela empresa Red Hat, Inc., hoje o produto é voltado para ambientes

corporativos e segundo site institucional é líder mundial no mercado de software Open

Source (http://www.br.redhat.com/about/corporate/).

2.1 LVM no Slackware

Segundo Hameleers (2007, http://alien.slackbook.org/dokuwiki/doku.php), um dos

autores do Slackbook, no Slackware, o instalador nunca ofereceu suporte para ter o sistema

instalado sobre LVM, mas usuários mais experientes costumavam encontrar uma maneira de

criar os volumes lógicos e instalar ou migrar o seu sistema nesses volumes. Até a versão 12.0

do sistema, era praticamente impossível ter o Slackware totalmente instalado sobre LVM.

Essa versão incorporou melhorias no suporte ao LVM no instalador, o que tornou possível

realizar tal atividade (Slackware Release Announcement, 2007).

No Slackware, toda configuração e utilização do LVM é feita através de comandos, o

que o torna mais complicado de usar para quem não tem conhecimento sobre o assunto.

Entretanto, esse modo obriga os usuários a estudarem mais sobre o sistema para poder usá-lo

e saber realmente o que estão fazendo.

Mesmo na versão 13.0, atual versão estável da distribuição (Slackware Release

Announcement, 29 de agosto de 2009), ao se instalar o LVM, as configurações do sistema são

feitas diretamente nos arquivos de configurações, modo preferido entre os usuários mais

experientes.

8 Coração de um sistema operacional é a parte que gerencia a memória, os arquivos e os dispositivos periféricos,

mantém a data e a hora, ativa aplicações e aloca os recursos do sistema. (Dígitro Tecnologia. Glossário

Tecnológico. Disponível em: <http://www.digitro.com/glossario_digitro.php>. Acesso em: 14 dez. 2009).

Page 10: LVM

A seguir, algumas ilustrações do LVM sendo utilizado no Slackware Linux conforme

demonstração na pesquisa.

Figura 2.1 – Comandos LVM no Slackware

Fonte: Elaborada com os dados da própria pesquisa

Como já citado, a principal caraterística do sistema é a não utilização de ferramentas

automatizadas para realizar as tarefas, sendo necessário experiência para poder usá-lo através

de vários comandos existentes.

2.2 LVM no SuSE

O LVM no SuSE Linux surgiu a partir da versão 6.3, que foi lançada em dezembro de

1999 (HASENSTEIN, 2001, p. 1). Segundo Smart (2009), em uma de suas publicações no

site distrowatch.com, “o SuSE possui um dos instaladores mais bonitos e avançados do

mercado”. Ao contrário do Slackware, o SuSE traz uma interface gráfica e amigável como

tentativa de deixar o sistema mais interativo e atrativo para o usuário.

Esse sistema operacional possui um excelente gerenciador gráfico, o YaST, um

acrônimo de "Yes, another Setup Tools", uma ferramenta que permite fazer desde a instalação

do sistema operacional, até configurações avançadas como o LVM (MELO, 2007. p. 18).

De acordo com o YaST History, página do site do SuSE Linux, o desenvolvimento do

YaST começou em janeiro de 1995. Ele foi escrito em C++ com um ncurses9 GUI, biblioteca

do sistema, por Thoamas Fehr, um dos fundadores do SuSE, e Michael Andres. YaST é a

ferramenta de instalação e configuração para OpenSuSE, SuSE Linux Enterprise e o antigo

9 Ncurses é uma biblioteca que provê uma API para o desenvolvimento de interfaces em modo texto. Garante

também uma otimização quanto às mudanças de telas, reduzindo a latência quando se utiliza acesso remoto via

shells. (DICKEY, T.E. NCURSES - New Curses. Disponível em: <http://invisible-

island.net/ncurses/ncurses.html>. Acesso em: 14 dez. 2009).

Page 11: LVM

SuSE Linux. Possui uma interface gráfica capaz de personalizar o sistema durante e após a

instalação, conforme imagens a seguir, podendo também ser utilizado em modo texto.

Figura 2.2 – Particionamento de discos utilizando o YaST na versão 9.2 do SUSE

Fonte: Elaborada com os dados da própria pesquisa

Ao invés de linhas de comando, desde a instalação do sistema operacional, o YaST

permite ao usuário fazer as configurações do LVM através de botões e ainda permite toda a

configuração de forma automática utilizando uma sugestão de particionamento dada pelo

sistema.

Figura 2.3 – YaST: Sugestão de particionamento usando LVM

Fonte: Elaborada com os dados da própria pesquisa

Durante a configuração do LVM, o particionador apresenta todas as opções

disponíveis em uma coluna à esquerda chamada visão do sistema. Uma de suas seções são

discos rígidos, que listam as partições físicas do disco, e gerenciamento de volumes, que cuida

Page 12: LVM

do sistema LVM. O lado direito exibe as opções de configurações disponíveis para a seção

que o usuário escolheu à esquerda.

Conforme escreveu Smart (2009), uma vez realizada as configurações necessárias para

implementar o LVM, o SUSE vai gerenciar as configurações do sistema e definir seus

dispositivos LVM quando necessário. Ele também ressalta que o particionador do SuSE é

muito poderoso, mas pode ser meio confuso de usar, apesar de sua interface amigável, é

necessário prática para poder se adaptar e aprimorar o uso desse sistema.

2.3 LVM no Red Hat

Segundo a documentação oficial do Red Hat, o LVM pode ser configurado durante o

processo de instalação do sistema operacional ou durante uma instalação do kickstart10

. Se

escolhida a instalação pelo modo texto, não é possível realizar toda a configuração do LVM

durante a instalação do sistema. No modo gráfico, é possível usar os utilitários do pacote de

instalação para criar a configuração do LVM, mas estas instruções focam no uso do Disk

Druid11

durante a instalação para completar esta tarefa, Figura 2.4.

Figura 2.4 – Configuração do disco no Red Hat

Fonte: Elaborada com os dados da própria pesquisa

A implementação do LVM no Red Hat segue o mesmo padrão do Slackware e também

do SUSE Linux e, a seguir, traz uma interface amigável e interativa, permitindo ao usuário

maior interação com o linux, característica desta distribuição. Ainda durante a instalação do

10 Para iniciar uma instalação kickstart, deve-se inicializar o sistema a partir da mídia de inicialização que se

criou ou a partir do CD-ROM 1 do Red Hat Enterprise Linux e, então, fornecer um comando de inicialização

especial no prompt de inicialização. O programa de instalação procura por um arquivo de kickstart se o comando

ks for passado para o kernel. Guia de Instalação do Red Hat Enterprise Linux. 11 O Disk Druid é um programa interativo para edição de partições de disco. Os usuários o executarão somente

com o sistema de instalação do Fedora Core. O Disk Druid suporta RAID e LVM para fornecer armazenamento

de dados mais extensível e confiável. Guia de Instalação do Red Hat Enterprise Linux.

Page 13: LVM

sistema operacional é possível preparar o LVM, criando os VG’s, LV’s e adicionando as

partições desejadas, conforme Figura 2.5.

Figura 2.5 - Criando um Volume Físico no Red Hat

Fonte: Elaborada com os dados da própria pesquisa

Mesmo com as facilidades de uso, devido ao sistema operacional permitir uma

configuração através de interface gráfica, os conceitos de LVM também se aplicam através de

comandos e toda sua configuração pode ser realizada dessa forma se o usuário desejar.

3 LVM no Unix

O Unix é um sistema operacional portável, multitarefa e multiusuário originalmente

criado por Ken Thompson, que trabalhava nos Laboratórios Bell (Bell Labs) da AT&T. A

marca UNIX é uma propriedade da The Open Group, um consórcio formado por empresas de

informática.

Nesta seção é apresentado o LVM em 3 sistemas operacionais Unix que trabalham em

diferentes arquiteturas:

IBM AIX: Utiliza arquitetura R.I.S.C., Reduced Instruction Set Computer ou

Computador com um Conjunto Reduzido de Instruções, é uma linha de arquitetura

de computadores que favorece um conjunto simples e pequeno de instruções que

levam aproximadamente o mesmo tempo para serem executadas.

HP-UX: Utiliza arquitetura P.A-R.I.S.C., de desenvolvida pela Hewlett-Packard,

HP. É uma implementação usando o projeto do R.I.S.C., sendo que "P.A" significa

Precision Architecture, do inglês, arquitetura precisa.

Sun Solaris: Utiliza arquitetura S.P.A.R.C., que é um acrônimo para Scalable

Processor ARChitecture e significa Arquitetura de Processadores Escaláveis,

desenvolvida pela SUN Microsystems em 1985, baseada na arquitetura R.I.S.C. A

empresa desenvolveu a sua própria implementação e também a licenciou para

outros fabricantes, como a Fujitsu, para que produzissem processadores

Page 14: LVM

compatíveis. A arquitetura SPARC é inspirada na máquina RISC I de Berkeley12

, e

o seu conjunto de instruções e organização de registros são fortemente baseados no

modelo RISC.

A seguir é apresentado o LVM atuando nesses 3 sistemas.

3.1 LVM no IBM AIX

O sistema operacional AIX, o Unix da IBM, já possui suporte nativo ao LVM, e sua

implementação pode ser realizada, bastando que a opção do mesmo seja selecionada no

momento da instalação do sistema operacional.

O LVM no AIX é a primeira das implementações de LVM existentes, sendo a base

para todas as demais implementações de LVM que surgiram, incluindo a implementação

presente nas distribuições Linux.

O LVM é um conjunto de comandos do sistema operacional AIX, bibliotecas de

subrotinas e outras ferramentas que permitem criar e controlar volumes lógicos. Esse sistema

traz uma nova filosofia no que se refere ao gerenciamento de discos e sistemas de arquivos,

trata-se de um método transparente para usuários e aplicativos de dividir e alocar espaço de

armazenamento nos discos do sistema online sem a interrupção do sistema, conforme

mostrado na Figura 3.1.

Figura 3.1 – Estrutura do LVM

Fonte: Elaborada com os dados da própria pesquisa

A estrutura do LVM é composta por três camadas: física, lógica e de aplicação. A

física refere-se aos discos, a lógica aos volumes que serão criados e a de aplicação trata os

volumes lógicos como sistemas de arquivos que poderão ser utilizados pelo sistema

operacional, aplicações, bancos de dados e até mesmo pelos usuários.

No AIX, há um utilitário chamado SMIT, System Management Interface Tool, um

centro de administração do sistema operacional podendo ser usado em modo texto ou gráfico,

semelhante ao YaST do SuSE Linux. Com ele, é possível fazer o gerenciamento de todo o

sistema operacional e também do LVM de forma mais fácil, sem a necessidade de se

preocupar com comandos, porém, em determinadas situações, é necessário ter o

12 A Universidade de Berkeley (UC Berkeley), foi fundada em 1868, é uma extensão da Universidade da

Califórnia (UC), em Berkeley, situada no estado da Califórnia, nos Estados Unidos. Os modelos RISC I e II

foram criados entre 1980 – 1983/84, por esta Universidade.

Page 15: LVM

conhecimento também de como utilizar o sistema através de comandos. A seguir, algumas

funções usando o SMIT para gerenciamento de volumes lógicos.

Figura 3.2 – Criando um VG usando o SMIT

Fonte: Elaborada com os dados da própria pesquisa

Dentre as facilidades do gerenciamento de volumes no AIX, é possível fazer o

redimensionamento (aumentar e diminuir) filesystems, conforme demonstrado na Figura 3.3.

Figura 33 – Aumentando um filesystem usando o SMIT

Fonte: Elaborada com os dados da própria pesquisa

É possível também configurar um sistema de backup, espelhamento (criar uma cópia

do filesystem para outro volume), tudo isso de forma online e sem gerar indisponibilidade do

sistema.

Page 16: LVM

3.2 LVM no HP-UX

Segundo documentação da HP (HP-UX System Administrator's Guide: Logical

Volume Management HP-UX 11i Version 3), o LVM é um sistema de gerenciamento de

volumes que lhe permite alocar e gerenciar o espaço em disco para sistemas de arquivos ou

dados.

Historicamente, os discos físicos eram configurados individualmente, possuíam

tamanho fixo de partições e cada disco ou partição formava um sistema de arquivos, o espaço

de swap13

, área de boot14

, ou área de dados. Com o LVM, não é preciso atribuir um disco fixo

ou definir uma partição para um único propósito, em vez disso, o autor compara os discos

como uma piscina, ou volume de armazenamento de dados, cuja extensão é o tamanho da

soma de todos os discos. As extensões são divididas em dispositivos de armazenamento

virtual, que são chamados de volumes lógicos e que podem ser tratados como discos. As

funcionalidades do LVM no HP-UX podem ser configuradas através de linha de comando ou

pela ferramenta HP SMH, HP System Management Homepage, conforme ilustrado na Figura

3.4.

Figura 3.4 – Tela do HP SMH, HP System Management Homepage

Fonte: Elaborada com os dados da própria pesquisa

O HP SMH traz o mesmo conceito do SMIT do AIX, que, através de uma interface

gráfica, permite que seja realizada toda a parte de administração do sistema operacional,

incluindo o LVM, conforme destacado na imagem.

13 O sistema operacional utiliza o disco como extensão da memória RAM, fazendo com que o tamanho de

memória disponível cresça consideravelmente. A parte do disco que é usada como memória virtual é chamada

área de troca ou área de swap. 14 Boot é um termo em inglês para o processo de iniciação do computador que carrega o sistema operacional

quando a máquina é ligada.

Page 17: LVM

Para uso dos recursos do LVM online, ou seja, sem causar indisponibilidade do

sistema, o HP-UX depende do uso de um software chamado HP OnlineJFS. Este produto não

está incluso no sistema operacional e, para adquiri-lo, é necessário comprá-lo, pois ele não é

gratuito. Como também foi exibido nos demais sistemas, a seguir estão ilustradas algumas

funções do LVM no HP-UX:

Figura 3.5 – Comando para verificar se o sistema possui o software OnlineJFS

Fonte: Elaborada com os dados da própria pesquisa

Figura 3.6 – Redimensionando o filesystem /teste1

Fonte: Elaborada com os dados da própria pesquisa

Outra dependência que o HP-UX possui é o software HP MirrorDisk/UX, necessário

para que se possar criar espelhamentos. Ele é um produto opcional, porém imprescindível

para quem faz uso dessa funcionalidade e pode ser encontrado no site do fabricante. O mesmo

também tem custo e licença de uso.

Desde que se tenham os recursos necessários, como, por exemplo, adquirir o software

OnlineJFS e o HP MirrorDisk/UX, o LVM no HP-UX é bastante funcional e provê todos os

recursos oferecidos para gerenciar volumes lógicos.

3.3 LVM no Sun Solaris

No Solaris, o Unix da Sun Microsystems, assim como nos demais Unix, o AIX e o

HP-UX, também possui um sistema de gerenciamento de volumes lógicos, LVM.

O Solaris Volume Manager é um software que permite gerenciar um grande número

de discos e de dados nesses discos. Embora existam muitas formas de usá-lo, a maioria das

atividades visa facilitar no gerenciamento de discos e de dados, permitindo ao administrador

fazê-lo conforme a necessidade do redimensionamento de volumes, aumentando, assim, a

Page 18: LVM

disponibilidade de dados. Em alguns casos, o Solaris Volume Manager também pode

melhorar o desempenho de I/O15

(Solaris Volume Manager Administration Guide,

Introduction to Solaris Volume Manager, p. 35).

O LVM no Solaris utiliza discos virtuais para gerenciar os discos físicos e seus dados

associados. Nele, um disco virtual é chamado de volume e por razões históricas, alguns

comandos tratam o volume como metadevice16

.

Os volumes lógicos são construídos a partir de partes do disco físico ou de outros

volumes. Para criar a estrutura de LVM no Solaris, existe uma série de comandos, assim

como no AIX e no HP-UX, que são utilizados, porém existe um gerenciador que propõe

facilitar ao administrador essa atividade, o Solaris Management Console.

O Solaris Management Console, conforme Figura 18, possui uma interface gráfica que

apresenta uma visão de todos os volumes existentes e, através dele, é possível fazer o

gerenciamento de discos e volumes lógicos de forma mais interativa com o sistema.

Figura 17 – Interface do Solaris Management Console Fonte: Solaris Vol. Manager Administration Guide, How to Administer Solaris Volume Manager, p. 37

Entre as funcionalidades do Solaris Volume Manager, algumas que merecem destaque

estão na tabela a seguir.

Tabela 3.1 - Resumo das Características do Solaris Volume Manager

15 É uma sigla para Input/Output, em português E/S ou Entrada/Saída. Este termo é utilizado quase que

exclusivamente no ramo da computação, indicando entrada (inserção) de dados por meio de algum código ou

programa, para algum outro programa ou hardware, bem como a sua saída (obtenção de dados) ou retorno de

dados, como resultado de alguma operação de algum programa, consequentemente resultado de algum input. 16 Metadevice é um nome dado para um grupo de fatias físicas, pedaços do disco, que aparecem no sistema como

um único dispositivo lógico. Metadispositivos são, na verdade, pseudo, ou virtual, em termos de dispositivos

padrão do UNIX. Fonte: < http://docs.sun.com >.

Page 19: LVM

Resumo de funcionalidades do Solaris Volume Manager

Funcionalidade Definição Proposta

Volumes com RAID 0

(concatenação de dados), RAID 1

(espelhamento) e RAID 5

Um grupo de partes físicas (conjuntos de

discos) que aparecem no sistema como um

único dispositivo lógico

Aumentar a capacidade de

armazenamento, desempenho e

disponibilidade de dados

Partições Soft Uma subdivição dos volumes lógicos para

fornecer menores, porém mais flexíveis

(manejáveis) unidades de armazenamento

Melhorar o gerenciamento de

grandes volumes de

armazenamento

Banco de dados de estado e réplica

do banco de dados de estado

Um banco de dados que contém a

configuração, status e informações sobre

todos os volumes, hot spares e conjuntos de

discos. O Solaris Volume Manager não pode

funcionar até que tenha sido criado as

réplicas do banco de dados de estado

Armazenar informações sobre o

estado dos volumes e as

configurações do Solaris

Volume Manager

Hot Spare Pool Conjunto de discos ou volumes

sobressalentes que ficam reservados para o

sistema para que sejam usados caso algum

disco ou volume falhe

Aumentar a disponibilidade de

dados para uso nos volumes em

RAID 1 e RAID 5

Disk Set Unidades de disco compartilhados em um

espaço separado que contém volumes e hot

spares que podem ser usados porém não

simultaneamente por vários hosts

Fornecer redundância e

disponibilidade de dados e

proporcionar um espaço

reservado para facilitar na

adminitração.

Fonte: Solaris Volume Manager Administration Guide, Overview of Solaris Volume Manager Components, p. 39

Este artigo foi escrito com base no Trabalho de Conclusão de Curso do ex-aluno

Ailton dos Santos Brazilino Júnior, que foi orientado pela professora Christiane Zim Zapelini

e pode ser encontrado na biblioteca das Faculdades Network.

REFERÊNCIAS

FERREIRA, R. E. Linux: guia do administrador do sistema. Novatec, 2003.

FREITAS, D. S. Utilização do LVM como facilitador de gerência de partições no linux.

Lavras, MG: UFLA, 2005.

HASENSTEIN, M. The Logical Volume Manager (LVM). SuSE Inc. 2001.

Disponível em: <http://www.sistina.com/lvm/>. Acesso em: 29 mar. 2009.

HICKS, A. Slackware linux essentials. 2. ed. Slackware Linux, Inc., 1164 Claremont Drive,

Brentwood, CA. Mai. 2005.

HP-UX LVM Supported Limits. Setembro, 2008. Disponível em:

<http://www.docs.hp.com/en/oshpux11iv3#LVM%20Volume%20Manager>. Acesso em: 16

aug. 2009.

HP-UX Reference Release 11.0. Miscellaneous, Device Files, and Glossary. Sections 5, 7, 9

and Index. 1. Ed. Palo Alto, California, 1997. HEWLETT-PACKARD COMPANY.

HP-UX System Administrator's Guide: Logical Volume Management HP-UX 11i Version 3.

3. Ed. Set. 2008.

LEWIS, A. J. LVM HOWTO. 2006. Disponível em:

< http://www.tldp.org/HOWTO/LVM−HOWTO.html>. Acesso em: 21 fev. 2009.

Page 20: LVM

LISSOT, A. Linux Partition HOWTO. Versão 3.5, novembro 2005. Disponível em:

<http://www.lissot.net/partition/Partition.html>. Acesso em: 17 abr. 2009.

MAUELSHAGEN, H. LVM: Enterprise computing with the Linux Logical Volume Manager.

16. ed. Linux Magazine, 2002. Disponível em:

<http://www.linuxmagazine.com/issue/16/LogicalVolumeManager.pdf>. Acesso em: 28 mar.

2009.

MELO. E. P. Os sistemas GNU/Linux. 2007. Disponível em:

<http://www.scribd.com/doc/259365/Guia-do-Linux-Desktop-01-Os-Sistemas-

GNULinux?autodown=pdf>. Acesso em: 16 dez. 2009.

MORIMOTO, C. E. Linux Guia Prático. GDH Press e Sul Editores. 2009.

MORIMOTO, C. E. Sistemas de Arquivos. Disponível em:

<http://www.guiadohardware.net/termos/sistema-de-arquivos>. Acesso em: 17 abr. 2009.

PONIATOWSKI, M. HP-UX 11i System Administration Handbook and Toolkit. 2 Ed.

Nova Jersey: Hewlett Packard Books, 2003.

Red Hat Enterprise Linux 5.0.0: Guia de Instalação do Red Hat Enterprise Linux. Red Hat,

Inc. 11 mai. 2007. Seção 18. Particionando seu Sistema.

ROBBINS, D. Common threads: Learning Linux LVM, Part 1. 2001. Disponível em:

<http://www.ibm.com/developerworks/linux/library/l-lvm/>. Acesso em: 11 mai. 2009.

ROCHA, M.C. Apostila introdução ao linux. Disponível em: <http://www.tux-

ce.org/ftp/apostila_linux.pdf>. Acesso em: 14 dez. 2009.

SALUS. P. H. The Daemon, the GNU & the Penguin. 2008. Disponível em:

<http://www.groklaw.net/article.php?story=20051031235811490>. Acesso em: 16 dez. 2009.

SOLARIS Volume Manager Administration Guide. Sun Microsystems, Inc. Mai. 2006.

SHIEH, J. AIX Logical Volume Manager and Veritas Volume Manager. IBM Corp. Jul.

2001.

SLACKWARE Release Announcement. 2007. Disponível em:

<http://www.slackware.com/announce/12.0.php>. Acesso em: 14 dez. 2009.

SMART, C. Installing linux with logical volume management. Disponível em:

<http://distrowatch.com/weekly.php?issue=20090316#feature>. Acesso em: 16 dez. 2009.

TANENBAUM, A. Sistemas operacionais modernos. Rio de Janeiro: LTC. 1999.

TORRES, B. Particionamento de disco. Abril de 2004. Disponível em:

<http://www.brunotorres.net/gnulinux/particionamento-disco>. Acesso em: 17 abr. 2009.

VANEL, L; KNAAP, R.V.D; FOREMAN, D; MATSUBARA, K; STEEL, A. AIX Logical

volume manager from A to Z: introduction and concepts. 1. ed. Austin, Texas. 2000. IBM

Redbooks.

YAST History. Disponível em: <http://en.opensuse.org/YaST/History>. Acesso em: 16 dez.

2009.