Upload
rooney-nascimento
View
163
Download
0
Embed Size (px)
Citation preview
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])
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
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
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).
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.
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).
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:
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).
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).
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).
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
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.
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
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.
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.
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.
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
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 >.
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.
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.