Вы находитесь на странице: 1из 40

4452

Linux Network Servers

www.4linux.com.br

Projetos na sua empresa


com a qualidade dos treinamentos

ence
Business Intelig lx8
F
u/
.m
va
http://

BPM
http://va.mu/EuiT

Servidor Java EE
http://va.mu/FlyB

PostgreSQL
http://va.mu/EuhV

Monitoramento
http://va.mu/EukN

Virtualizao
http://va.mu/Flxl

Groupware Yj
u/FN
http://va.m

Backup
http://va.mu/Flxr

Auditoria e Anlise
http://va.mu/Flxu

Segurana
http://va.mu/Flxy

Ensino Distncia
http://va.mu/Flxc

Integrao Continua
http://va.mu/FlyD

GED - ECM
http://va.mu/Flx3

Alta Disponibilidade
http://va.mu/FNbL

Infraestrutura Web
http://va.mu/Flxi

Implantao garantida
http://va.mu/GcFv

Contedo
16 Implementando RAID + LVM
16.1 Introduo Terica - RAID . . . . . . . . . . . . . . . . . . . . . . . . .

6
6

16.1.1 Combinaes de RAID . . . . . . . . . . . . . . . . . . . . . 11


16.1.2 Introduo Terica LVM . . . . . . . . . . . . . . . . . . . . 15
16.2 Gerenciando RAID 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
16.2.1 Testando o funcionamento . . . . . . . . . . . . . . . . . . . 18
16.3 Adicionar RAID 5 no Storage . . . . . . . . . . . . . . . . . . . . . . . . 20
16.3.1 Implementao Prtica RAID 5 . . . . . . . . . . . . . . . . 24
16.4 Implementao Prtica LVM . . . . . . . . . . . . . . . . . . . . . . . 27
16.4.1 Aumentando o tamanho do LV . . . . . . . . . . . . . . . . . 32
16.4.2 Diminuindo o tamanho do LV . . . . . . . . . . . . . . . . . . 34
16.4.3 Criar infraestrutura para arquivos do Samba . . . . . . . . . 36
16.4.4 Criar infraestrutura para arquivos do servidor WEB . . . . . . 38

Captulo 16
Implementando RAID + LVM

16.1 Introduo Terica - RAID


RAID, do ingls Redundant Array of Independent Disks, significa Conjunto Redundante de Discos Independentes. A ideia bsica por trs do RAID combinar
diversos discos e de baixo custo em um conjunto, a fim de atingir objetivos de desempenho ou redundncia inatingveis com um disco grande e de custo alto. Este
conjunto de discos aparece para o computador como uma nica unidade ou disco de
armazenamento lgico.
O conceito fundamental do RAID que os dados podem ser distribudos ao longo de
cada disco do conjunto de maneira consistente. Para fazer isso, primeiramente os
dados precisam ser quebrados em pedaos de tamanho consistente (geralmente de
32KB ou 64KB, apesar de poder usar tamanhos diferentes). Cada pedao ento
gravado em um disco rgido no RAID, conforme o nvel do RAID usado. Quando os
dados tiverem que ser acessados, o processo revertido, dando a impresso de que
os discos mltiplos so um disco grande.

[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/ch-raid-intro.html ]

4Linux www.4linux.com.br

16.1 Introduo Terica - RAID

Temos como principais vantagens do RAID:


Ganho de desempenho no acesso para leitura ou gravao;
Redundncia em caso de falha em um dos discos;
Uso mltiplo de vrias unidades de discos;
Facilidade em recuperao de contedo perdido.;
Impacto reduzido na falha de um disco.
Temos 2 formas de se montar um sistema em RAID:
Via Software: Feito por aplicativos e mdulos do sistema operacional. O RAID via
software s entra em funcionamento depois que o Kernel carregado na memria
do computador. A principal vantagem a facilidade de configurao e a flexibilidade,
j que podemos trabalhar com vrios discos diferentes. A principal desvantagem a
dependncia da correta configurao do sistema operacional.
Caractersticas mais importantes:
1.Processo threaded rebuild;
2.Portabilidade dos conjuntos entre mquinas Linux sem reconstruo;
3.Reconstruo do ARRAY no background, usando recursos ociosos do sistema;
4.Suporte ao disco hot-swappable (pode ser substitudo sem desligar a mquina);
5.Deteco automtica da CPU para aproveitar determinadas otimizaes.
Via Hardware: Feito por uma placa controladora que conecta um disco ao outro. A
principal vantagem o desempenho, j que um RAID via hardware mais rpido

Linux Network Servers

Pgina 7

16.1 Introduo Terica - RAID

4Linux www.4linux.com.br

e independente do sistema operacional. A principal desvantagem, que a placa


controladora se torna um SPOF - Single Point of Failure, ou seja, necessrio ter
uma controladora de discos igual ou compatvel com a que voc possui para o caso
de falhas neste hardware.

[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-raid-approaches.html ]

Tipos de RAID

Os principais nveis de RAID utilizados hoje no mercado so os nveis 0, 1, 5, 6 e


suas derivaes, como por exemplo, o RAID 10. Vamos entend-los:
RAID 0 (Stripping): Este o nico nvel de RAID que no implementa redundncia. Sua finalidade aumentar o desempenho de leitura e gravao, uma vez que ao
gravar, divide os dados em partes iguais e armazena cada fragmento em um disco
diferente simultaneamente. Por isto, com dois discos, a velocidade de leitura praticamente dobra. Com trs discos, triplica. E assim por diante. So necessrios
ao menos dois discos para implementar RAID 0 e eles podem ser de tamanhos
diferentes.

Ent o o RAID 0 garante redund ncia ?

No!!! Esta a desvantagem, pois se qualquer um dos discos falhar, o sistema


operacional para de funcionar, alm de ocasionar perda dos dados. Portanto, um
mtodo que requer cuidados.

Caracter sticas do RAID 0:

2
3

* Excelente grava o e leitura ;

Pgina 8

Linux Network Servers

4Linux www.4linux.com.br

16.1 Introduo Terica - RAID

* Aproveitamento total de espa o ;

6
7

* Nenhuma redund ncia !

RAID 1 (Mirroring): O nvel mais utilizado. Sua principal finalidade prover redundncia dos dados. Esta garantida pela duplicao dos dados que so gravados
em cada par de discos, logo, se um deles falhar, o outro continuar operando e mantendo a informao disponvel, at que a substituio do disco defeituoso seja feita.
O ganho de desempenho est na leitura, uma vez que os dados so lidos em partes iguais e simultaneamente de todos os discos. A desvantagem desse nvel que
s metade do volume total de armazenamento nos discos utilizados ficar disponvel para o sistema operacional. preciso no mnimo dois discos para implementar
RAID 1, sempre em pares.

RAID1 backup ? N o !!!!! apenas redund ncia .

DICA DE SEGURANA: RAID 1 espelhado no backup. Se voc apagar um arquivo acidentalmente, esse arquivo vai ser apagado em todos os discos.
Sempre tenha uma CPIA dos dados.

Caracter sticas do RAID 1:

2
3

* Redund ncia : se um dos discos falhar , o sistema continua


funcionando ;

4
5

* Voc vai precisar de 2 HDs , mas s vai usar a rea til de 1;

6
7

* Reduz um pouco o desempenho da escrita , pois o mesmo dado


gravado nos discos que estiverem em " RAID 1 " .

Linux Network Servers

Pgina 9

16.1 Introduo Terica - RAID

4Linux www.4linux.com.br

Fique atento, a prova do LPI ir cobrar a utilizao e conceitos de RAID.


Um comando que podemos utilizar para fazer backup e manuteno de arquivos no
sistema o comando rsync. Outros comandos que nos mostra alguns detalhes
importantes so hdparm e sdparm.

RAID 5: Neste nvel de RAID teremos um balano das vantagens e desvantagens


do nveis anteriores, ou seja, RAID 5 prov um ganho de desempenho e tolerncia
a falhas a custos menores que RAID 0 ou RAID 1 individualmente. O ganho de
desempenho est mais uma vez na leitura. Quanto mais discos forem adicionados
a composio, mais rpida ser a leitura, uma vez que a gravao distribuda em
blocos de tamanhos iguais por todos os discos.

RAID 6: um padro relativamente novo, suportado por apenas algumas controladoras. Ele semelhante ao RAID 5, porm usa o dobro de bits de paridade,
garantindo a integridade dos dados caso at 2 dos HDs falhem ao mesmo tempo. Ao
usar 7 HDs de 500 GB em RAID 6, por exemplo, teramos 2.5 TB para dados mais 1
TB de cdigos de paridade.
A percentagem de espao sacrificado decai conforme so acrescentados mais discos, de forma que o uso do RAID 6 vai tornado-se progressivamente mais atrativo.
No caso de um grande servidor, com 41 HDs, por exemplo, seria sacrificado o espao equivalente a apenas dois discos, ou seja, menos de 5% do espao total. Em

Pgina 10

Linux Network Servers

4Linux www.4linux.com.br

16.1 Introduo Terica - RAID

troca, ganha-se proteo contra a possibilidade de um segundo HD falhar durante o


processo de substituio e reconstruo dos dados do primeiro.

Tanto no caso do RAID 5, quanto no RAID 6, o servidor continua funcionando normalmente durante todo o processo de substituio do disco, embora a performance
decaia, sobretudo logo depois da substituio do drive defeituoso, quando o sistema
precisa regravar os dados lendo as informaes armazenadas em todos os outros
discos e fazendo os clculos de paridade.

[ http://www.hardware.com.br/termos/raid-6 ]

16.1.1 Combinaes de RAID

RAID 10: Combina as vantagens do RAID 0 e RAID 1 num nico sistema. Fornece
segurana efetuando espelhamento de todos os dados num conjunto secundrio de
discos enquanto utiliza listagem em cada conjunto de discos para acelerar as transferncias de dados. O RAID 10 permite no mximo 2 discos avariados de 2 pares
diferentes.

Linux Network Servers

Pgina 11

16.1 Introduo Terica - RAID

4Linux www.4linux.com.br

O volume de disco RAID 10 ideal para organizaes que executam bases de dados
e outras aplicaes com base em transaes que requerem eficincia de armazenamento e proteo de dados crticos.
Em artigos que comparam os nveis RAID 5 e RAID 10, as respostas do RAID 10
foram melhores, apesar do teste ter sido feito utilizando RAID por hardware, mas
vale a pena a comparao. Veja o grfico abaixo:

RAID 0+1: uma combinao dos nveis 0 (Striping) e 1 (Mirroring), onde os dados so divididos entre os discos para melhorar o rendimento, mas tambm utilizam
outros discos para duplicar as informaes. Assim, possvel utilizar o bom rendimento do nvel 0 com a redundncia do nvel 1. No entanto, necessrio pelo menos
4 discos para montar um RAID desse tipo. Tais caractersticas fazem do RAID 0 + 1

Pgina 12

Linux Network Servers

4Linux www.4linux.com.br

16.1 Introduo Terica - RAID

o mais rpido e seguro, porm o mais caro de ser implantado. Falhando 1 disco, o
sistema vira um RAID 0.

Vantagens:

Segurana contra perda de dados;

Pode falhar 1 dos HDs, ou os dois HDs do mesmo DiskGroup.

Desvantagens:

Alto custo de expanso de hardware (custo mnimo = 4xHDs).

Os drives devem ficar em sincronismo de velocidade para obter a mxima performance.

RAID 50

Linux Network Servers

Pgina 13

16.1 Introduo Terica - RAID

4Linux www.4linux.com.br

RAID 60

RAID 100

A prova LPI pode cobrar conhecimentos do aluno sobre os nveis de RAID


citados. No esquea que RAID no Backup. Tenha sempre Backup.

Pgina 14

Linux Network Servers

4Linux www.4linux.com.br

16.1 Introduo Terica - RAID

16.1.2 Introduo Terica LVM

"O LVM (Logical Volume Manager) um recurso includo no Kernel Linux a partir da
verso 2.4 que cria uma camada de abstrao entre o sistema operacional e os HDs
(ou outras unidades de armazenamento utilizadas, como o RAID por exemplo). Ele
adiciona alguns complicadores adicionais na configurao, mas, em compensao
oferece um conjunto de vantagens bastante interessantes.

Imagine que no LVM o sistema no v HDs e parties, mas sim um ou mais volumes
lgicos. Cada volume se comporta como se fosse uma partio, que formatada e
montada da forma usual. Estes volumes so agrupados em um grupo de volumes
lgicos (logical volume group) que se comporta de forma similar a um HD.

O pulo do gato que o grupo de volumes lgicos pode combinar o espao de vrios
HDs e ser modificado conforme necessrio, incorporando mais HDs. Os volumes
lgicos dentro dele tambm podem ser redimensionados livremente conforme for
necessrio.

Se voc precisa de mais espao dentro do volume referente pasta /home, por
exemplo, voc poderia reduzir o tamanho de um dos outros volumes do sistema (que
estivesse com espao vago) e aumentar o tamanho do volume referente ao /home,
tudo isso com o servidor operante.

Outra possibilidade ir adicionando novos HDs ao servidor conforme precisar de


mais espao. Ao instalar um novo HD, voc comearia criando um volume fsico,
englobando todo o espao do HD. Uma vez que o volume fsico criado, voc pode
expandir o grupo de volumes lgicos, de forma que ele incorpore o espao referente
ao novo HD. A partir da, voc pode expandir os volumes lgicos, usando o espao
livre.

Caso seja utilizada uma controladora SCSI ou SAS com suporte a hot-swaping,
possvel at mesmo adicionar, remover ou substituir HDs, fazendo as alteraes necessrias nos volumes lgicos, com o servidor ligado!

Linux Network Servers

Pgina 15

16.1 Introduo Terica - RAID

4Linux www.4linux.com.br

importante enfatizar que o LVM apenas uma mudana na forma como o sistema
acessa os discos, ele no um substituto para o RAID. No LVM voc pode agrupar
vrios HDs em um nico grupo de volumes lgicos, mas se um dos HDs apresentar
defeito, o servidor ficar inoperante e voc perder os dados armazenados no disco
afetado, diferente do RAID, onde voc pode sacrificar parte do espao para ter uma
camada de redundncia.

O grupo de volumes lgicos criado pelo instalador visto pelo sistema como "/dev/vg01"e
os volumes lgicos dentro dele so vistos como "/dev/vg01/lv01", "/dev/vg01/lv02",
etc. Os nomes podem ser alterados da maneira que quiser. Naturalmente, possvel tambm deixar de usar o LVM, voltando ao sistema normal de particionamento.
Nesse caso, voc s precisa deletar os volumes e o grupo de volumes lgicos e criar
a parties desejadas usando o espao disponvel.

http://www.hardware.com.br/dicas/entendendo-lvm.html

Uma implementao melhor do LVM em conjunto com volumes RAID, pois no caso
de falhar um dos discos, continuamos com a leitura/gravao nos demais. Em relao ao usurio, o mesmo nem saber que tem toda esta estrutura por trs da
manipulao dos dados!

Pgina 16

Linux Network Servers

4Linux www.4linux.com.br

16.2 Gerenciando RAID 1

16.2 Gerenciando RAID 1


O pacote mdadm utilizado para gerenciar dispositivos de RAID atravs de diversas
opes em linha de comando. Antes de criar um novo dispositivo de RAID, vamos
testar comandos que so essenciais para o gerenciamento no dia-a-dia.
Antes de trabalhar com RAID identifique o dispositivo no arquivo /proc/mdstat

root@storage :~ # cat / proc / mdstat

2
3
4

md0 : active raid1 sda1 [0] sdb1 [1]


82908088 blocks super 1.2 [2/2] [ UU

Para verificar os detalhes do RAID use a opo detail do comando mdadm:

1
2
3
4

root@storage :~ # mdadm -- detail / dev / md0


/ dev / md0 :
Version : 1.2
Creation Time : Mon Dec

5 15:46:10 2011

Raid Level : raid1

Array Size : 82908088 (79.07 GiB 84.90 GB )

Used Dev Size : 82908088 (79.07 GiB 84.90 GB )

Raid Devices : 2

Total Devices : 2

10

Persistence : Superblock is persistent

11
12
13

Update Time : Tue Sep

4 16:08:32 2012

State : clean

14

Active Devices : 2

15

Working Devices : 2

16

Failed Devices : 0

17

Spare Devices : 0

18
19

Name : datacenter :0

Linux Network Servers

Pgina 17

16.2 Gerenciando RAID 1

4Linux www.4linux.com.br

UUID : a5b2f3bd : f76188d1 : c7d0262e :93 bcc849

20

Events : 70

21
22

Number

Major

24

active sync

/ dev / sda1

25

17

active sync

/ dev / sdb1

23

Minor

RaidDevice State

16.2.1 Testando o funcionamento

Vamos fazer uso do utilitrio splitvt, que faz uma diviso na tela do terminal, facilitando a execuo dos comando e verificao de logs. Para usar esta combinao,
instale o utilitrio e digite no terminal splitvt:

root@storage :~ # aptitude install splitvt

root@storage :~ # splitvt

Pgina 18

Linux Network Servers

4Linux www.4linux.com.br

16.2 Gerenciando RAID 1

Use as teclas Ctrl + w para alternar entre os terminais.

Para testar o RAID, iremos criar um "script"que escrever a data de 3 em 3 segundos


dentro do arquivo /dados.txt:

root@storage :~ # vim / root / testaraid . sh

# !/ bin / bash

while true ; do

date >> / dados . txt

sleep 1

done

Ajuste as permisses, execute e verifique o resultado:

root@storage :~ # chmod u + x / root / testaraid . sh

root@storage :~ # / root / testaraid . sh &

root@storage :~ # tail -f / dados . txt

Na tela do splitvt acompanhe o que acontece com cada comando executado. Vamos
inicialmente simular uma falha no disco sdb Digite:

root@storage :~ # mdadm / dev / md0 -- fail / dev / sdb1

Verifique que o script continua em andamento!

Agora temos que remover o disco defeituoso:

Linux Network Servers

Pgina 19

16.3 Adicionar RAID 5 no Storage

4Linux www.4linux.com.br

root@storage :~ # mdadm / dev / md0 -- remove / dev / sdb1

E adicione um novo disco:

root@storage :~ # mdadm / dev / md0 -- add / dev / sdb1

Ao adicionar um novo disco, o RAID 1 executa um recovery atualizando os dados do


disco /dev/sda. Acompanhe no terminal atravs do comando watch:

root@storage :~ # watch cat / proc / mdstat

Personalities : [ raid1 ] [ raid6 ] [ raid5 ] [ raid4 ]

md0 : active raid1 sdb1 [1] sda1 [0]

82908088 blocks super 1.2 [2/1] [ U_ ]

[= >...................]

recovery =

6.9% (5782784/82908088)

finish =9.2 min speed =139393 K / sec

Feitos os teste, cancele o script e desmonte o /mnt/raid para configurarmos o RAID


5 no Storage.

root@storage :~ # jobs -l

root@storage :~ # kill -9 < PID_do_testaraid . sh >

16.3 Adicionar RAID 5 no Storage


Vamos adicionar 5 discos de 10GB no servidor Storage para implementar RAID 5.
Desligue a maquina virtual 4452-Storage e clique no boto Configurae para adicionar novos discos:

Pgina 20

Linux Network Servers

4Linux www.4linux.com.br

16.3 Adicionar RAID 5 no Storage

Clique na opo Armazenamento ao lado esquerdo da tela, e selecione o cone


Adicionar Disco Rgido para criar um novo disco

Durante o assistente clique no boto Prximo (N) > para aceitar o tipo VDI como
disco virtual.

Na prxima etapa aceite o tipo Dinamicamente alocado e clique no boto Prximo

Linux Network Servers

Pgina 21

16.3 Adicionar RAID 5 no Storage

4Linux www.4linux.com.br

(N) > para continuar.

Na etapa do nome e tamanho do disco, siga o exemplo da imagem abaixo digitando


o nome Raid5-Disk1 e o tamanho de 10,00 GB

Repita os mesmos passos para criar + 4 discos com tamanho de 10,00 GB cada.

Pgina 22

Linux Network Servers

4Linux www.4linux.com.br

16.3 Adicionar RAID 5 no Storage

Ligue a maquina virtual e verifique se as parties esto disponveis:

root@storage :~ # cat / proc / partitions

CASO no aparea as parties, instale o pacote parted e execute o utilitrio partprobe, verificando posteriormente:

root@storage :~ # aptitude install parted splitvt ; partprobe

root@storage :~ # cat / proc / partitions

cat / proc / partitions

major minor

# blocks

name

5
6

83886080 sda

82909184 sda1

1 sda2

973824 sda5

10

16

83886080 sdb

11

17

82909184 sdb1

12

18

1 sdb2

13

21

973824 sdb5

14

32

10485760 sdc

15

48

10485760 sdd

Linux Network Servers

Pgina 23

16.3 Adicionar RAID 5 no Storage

16

64

10485760 sde

17

80

10485760 sdf

18

96

10485760 sdg

19

82908088 md0

20

253

9764864 dm -0

21

253

4882432 dm -1

22

253

974848 dm -2

23

253

1949696 dm -3

4Linux www.4linux.com.br

16.3.1 Implementao Prtica RAID 5


Com os discos preparados, vamos iniciar a instalao e os procedimentos nestes discos. Lembramos que, como J EXISTE um RAID 1 com 2 discos na mquina, iremos
usar novos dispositivos: /dev/sdc1, /dev/sdd1, /dev/sde1, /dev/sdf1 e /dev/sdg1.
Se for instalar num servidor sem RAID, ter que fazer a instalao:

root@storage :~ # aptitude install mdadm

Em uma das telas do splitvt execute o comando para monitorao do RAID:

root@storage :~ # watch - n0 cat / proc / mdstat

Na outra tela execute o comando para a criao do RAID-5:

root@storage :~ # mdadm -- create / dev / md1 -- level =5 -- raid - devices =5 /


dev / sdc / dev / sdd / dev / sde / dev / sdf / dev / sdg

mdadm : Defaulting to version 1.2 metadata

mdadm : array / dev / md1 started .

Pgina 24

Linux Network Servers

4Linux www.4linux.com.br

16.3 Adicionar RAID 5 no Storage

Acompanhe a sada em uma das telas do splitvt:

Personalities : [ raid1 ] [ raid6 ] [ raid5 ] [ raid4 ]

md1 : active ( auto - read - only ) raid5 sdg [5]( S ) sdf [3] sde [2] sdd [1]
sdc [0]
41936896 blocks super 1.2 level 5 , 512 k chunk , algorithm 2

[5/4] [ UUUU_ ]
4
5

md0 : active raid1 sda1 [0] sdb1 [1]


82908088 blocks super 1.2 [2/2] [ UU

Bom, agora que o RAID est criado e ajustado para gravao, vamos configurar
o arquivo /etc/mdadm/mdadm.conf atravs da deteco automtica da configurao:

root@storage :~ # mdadm -- examine -- scan >> / etc / mdadm / mdadm . conf

Verifique se no arquivo existe alguma linha duplicada:

root@storage :~ # vim / etc / mdadm / mdadm . conf

...

3
4

# definitions of existing MD arrays

ARRAY / dev / md /0 metadata =1.2 UUID = a5b2f3bd : f76188d1 : c7d0262e :93


bcc849 name = datacenter :0

ARRAY / dev / md /1 metadata =1.2 UUID =119 e8015 :73 fa19a0 :6 e419d55 :7
b885513 name = storage :1

E verifique os detalhes do RAID 5

root@storage :~ # mdadm -- detail / dev / md1

Linux Network Servers

Pgina 25

16.3 Adicionar RAID 5 no Storage

/ dev / md1 :
Version : 1.2

3
4

4Linux www.4linux.com.br

Creation Time : Tue Sep

4 16:18:11 2012

Raid Level : raid5

Array Size : 41936896 (39.99 GiB 42.94 GB )

Used Dev Size : 10484224 (10.00 GiB 10.74 GB )

Raid Devices : 5

Total Devices : 5

10

Persistence : Superblock is persistent

11
12

Update Time : Tue Sep

4 16:18:11 2012

State : clean , degraded

13
14

Active Devices : 4

15

Working Devices : 5

16

Failed Devices : 0

17

Spare Devices : 1

18

Layout : left - symmetric

19
20

Chunk Size : 512 K

21
22

Name : storage :1

( local to host storage )

23

UUID : 119 e8015 :73 fa19a0 :6 e419d55 :7 b885513


Events : 0

24
25

Number

Major

Minor

27

32

active sync

/ dev / sdc

28

48

active sync

/ dev / sdd

29

64

active sync

/ dev / sde

30

80

active sync

/ dev / sdf

31

removed

96

spare

26

RaidDevice State

32
33

/ dev / sdg

Vamos criar um diretrio, aplicar o sistema de arquivos e efetuar a montagem para


testar o RAID:

Pgina 26

Linux Network Servers

4Linux www.4linux.com.br

16.4 Implementao Prtica LVM

root@storage :~ # mkdir / mnt / raid

root@storage :~ # mkfs . ext4 / dev / md1

root@storage :~ # mount / dev / md1 / mnt / raid

Faa a montagem para verificar o tamanho de 40GB (5-1) do RAID 5. Feito a verificao desmonte o diretrio /mnt/raid:

root@storage :~ # df - Th | grep md1

/ dev / md1

root@storage :~ # umount / mnt / raid

ext4

40 G

176 M

38 G

1% / mnt / raid

Se voc precisar adicionar um novo conjunto de discos ao RAID, use a opo


--readwrite"para atualizar o RAID. Exemplo:

root@storage :~ # mdadm -C / dev / md1 -l 1 -n 2 / dev / sdh / dev / sdi

root@storage :~ # cat / proc / mdstat

root@storage :~ # mdadm -- readwrite / dev / md1

A proxima etapa sera aplicar o sistema de arquivos EXT4 e montar os volumes


utilizando LVM.

16.4 Implementao Prtica LVM


Como efetuamos a instalao do servidor Debian GNU/Linux em cima de um volume
RAID+LVM, o pacote j est instalado! SE for instalar, digite:

Linux Network Servers

Pgina 27

16.4 Implementao Prtica LVM

4Linux www.4linux.com.br

root@storage :~ # aptitude install lvm2

Os comandos utilizados para os testes com o LVM so:

PV ( Phisical Volume )

pvs - sa da resumida

pvscan

pvdisplay - sa da detalhada

- sa da simples

5
6

VG ( Volume Group )

vgs - sa da resumida

vgscan

vgdisplay - sa da detalhada

- sa da simples

10
11

LV ( Logical Volume )

12

lvs - sa da resumida

13

lvscan

14

lvdisplay - sa da detalhada

- sa da simples

Passemos para a criao de um novo VG para se armazenar homes de usurios,


banco de dados e arquivos do Samba, que esto armazenados na maquina Datacenter. Neste RAID com LVM tambm sero armazenados os arquivos dos sites
intranet e internet da DEXTER, que esto armazenados na maquina DMZ.
Primeiro devemos adicionar um PV, sendo neste caso o volume md1 criado anteriormente:

1
2

root@storage :~ # pvcreate / dev / md1


Physical volume " / dev / md1 " successfully created

Vamos checar os PVs do sistema:

Pgina 28

Linux Network Servers

4Linux www.4linux.com.br

16.4 Implementao Prtica LVM

root@storage :~ # pvdisplay

....

"/ dev / md1 " is a new physical volume of " 39 ,99 GiB "

--- NEW Physical volume ---

PV Name

VG Name

PV Size

39 ,99 GiB

Allocatable

NO

PE Size

10

Total PE

11

Free PE

12

Allocated PE

13

PV UUID

BxRMIE - A1rS - XKnp - z5Rg - SnFY - Lcb0 - Ta47VW

/ dev / md1

Perceba que o sistema nos informa de que o /dev/md1 um novo volume fsico e
que no faz parte de nenhum VG! Sendo assim, vamos criar um novo VG com este
PV (/dev/md1):

1
2

root@storage :~ # vgcreate storage / dev / md1


Volume group " storage " successfully created

Vamos checar os VGs do sistema:

1
2
3

root@storage :~ # vgdisplay -v storage


Using volume group ( s ) on command line
Finding volume group " storage "

--- Volume group ---

VG Name

System ID

Format

lvm2

Metadata Areas

Metadata Sequence No

VG Access

read / write

10

Linux Network Servers

storage

Pgina 29

16.4 Implementao Prtica LVM

11

VG Status

resizable

12

MAX LV

13

Cur LV

14

Open LV

15

Max PV

16

Cur PV

17

Act PV

18

VG Size

39 ,99 GiB

19

PE Size

4 ,00 MiB

20

Total PE

10238

21

Alloc PE / Size

0 / 0

22

Free

10238 / 39 ,99 GiB

23

VG UUID

PE / Size

4Linux www.4linux.com.br

RkKG3y - DwIX -2 GDk -06 JB - Vrls - Hzx0 - h4PnuY

24
25

--- Physical volumes ---

26

PV Name

/ dev / md1

27

PV UUID

BxRMIE - A1rS - XKnp - z5Rg - SnFY - Lcb0 - Ta47VW

28

PV Status

allocatable

29

Total PE / Free PE

10238 / 10238

Na sequencia vamos criar um volume lgico de nome home dentro do VG storage


para armazenar as homes dos usurios da maquina Datacenter

1
2

root@storage :~ # lvcreate -L 5 G -n home storage


Logical volume " home " created

Verifique o relatrio do LV home:

1
2

root@storage :~ # lvdisplay -v / dev / storage / home


Using logical volume ( s ) on command line

--- Logical volume ---

LV Name

/ dev / storage / home

VG Name

storage

LV UUID

hehfFo -3 IJb -1 UcU -0 OMU - lQFN -3 P5o - oebZBP

Pgina 30

Linux Network Servers

4Linux www.4linux.com.br

16.4 Implementao Prtica LVM

LV Write Access

read / write

LV Status

available

# open

10

LV Size

5 ,00 GiB

11

Current LE

1280

12

Segments

13

Allocation

inherit

14

Read ahead sectors

auto

15

- currently set to

8192

16

Block device

253:4

Tambm sera criado um volume lgico de nome banco dentro do VG storage para
armazenar o banco de dados MySQL da maquina Datacenter

1
2

root@storage :~ # lvcreate -L 5 G -n banco storage


Logical volume " banco " created

Verifique o relatrio do LV banco:

root@storage :~ # lvdisplay -v / dev / storage / banco

Using logical volume ( s ) on command line

--- Logical volume ---

LV Name

/ dev / storage / banco

VG Name

storage

LV UUID

iYRa7L - MjIe - Mc4d - JGAo - evr7 - Ez8r - AZiQJa

LV Write Access

read / write

LV Status

available

# open

10

LV Size

5 ,00 GiB

11

Current LE

1280

12

Segments

13

Allocation

inherit

14

Read ahead sectors

auto

15

- currently set to

8192

Linux Network Servers

Pgina 31

16.4 Implementao Prtica LVM

16

Block device

4Linux www.4linux.com.br

253:5

Agora que temos 2 volumes lgicos criados aplique o sistema de arquivos EXT4:

root@storage :~ # mkfs . ext4 / dev / storage / home

root@storage :~ # mkfs . ext4 / dev / storage / banco

E finalize montando os novos dispositivos:

root@storage :~ # mount / dev / storage / home / srv / storage / home

root@storage :~ # mount / dev / storage / banco / srv / storage / banco

root@storage :~ # df - hT | tail - n4

/ dev / mapper / storage - home

ext4

5 ,0 G

138 M

4 ,6 G

3% / srv /

ext4

5 ,0 G

138 M

4 ,6 G

3% / srv /

storage / home
5

/ dev / mapper / storage - banco


storage / banco

Aps estes procedimentos, teremos uma unidade lgica mapeada e pronta para uso!
Vamos gravar alguns dados na LV home para realizarmos alguns testes com LVM.

root@storage :~ # cp - rv / boot /* / srv / storage / home ; cp - rv / sbin /* /


srv / storage / home

2
3

root@storage :~ # du - sh / srv / storage / home


24 M / srv / storage / home

16.4.1 Aumentando o tamanho do LV


Vamos supor que o espao alocado para a unidade lgica no ir atender s necessidades da empresa! Neste caso teremos que aumentar o espao da unidade lgica,
sem a necessidade de movermos dados do local:

Pgina 32

Linux Network Servers

4Linux www.4linux.com.br

16.4 Implementao Prtica LVM

root@storage :~ # lvextend -L +2 g / dev / storage / home

Extending logical volume home to 7 ,00 GiB

Logical volume home successfully resized

O comando acima diz para aumentar em mais 2GB o LV /dev/storage/home. Como


vemos, o volume total ficou em 7GB. Mas o que fizemos foi informar apenas ao
LVM que o volume lgico foi estendido, porm o sistema em si ainda no sabe da
mudana. Para isto devemos executar os comandos abaixo, sendo o primeiro para
checar a integridade do volume e o segundo para redimensionar o tamanho:

root@storage :~ # umount / dev / storage / home

root@storage :~ # e2fsck -f

e2fsck 1.41.12 (17 - May -2010)

Pass 1: Checking inodes , blocks , and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/ dev / storage / home : 394/327680 files (0.3% non - contiguous ) ,

/ dev / storage / home

61916/1310720 blocks
10
11

root@storage :~ # resize2fs / dev / storage / home

12

resize2fs 1.41.12 (17 - May -2010)

13

Resizing the filesystem on / dev / storage / home to 1835008 (4 k ) blocks .

14

The filesystem on / dev / storage / home is now 1835008 blocks long .

Pronto! Agora monte a partio e veja o tamanho e o total dos dados que nela
estavam:

root@storage :~ # mount / dev / storage / home / srv / storage / home

root@storage :~ # df - Th | tail - n4

/ dev / mapper / storage - banco

Linux Network Servers

Pgina 33

16.4 Implementao Prtica LVM

ext4

4
5

5 ,0 G

4Linux www.4linux.com.br

138 M

4 ,6 G

3% / srv / storage / banco

163 M

6 ,4 G

3% / srv / storage / home

/ dev / mapper / storage - home


ext4

6 ,9 G

Observe os detalhes da partio redimensionada:

root@storage :~ # lvdisplay / dev / storage / home

lvdisplay / dev / storage / home

--- Logical volume ---

LV Name

/ dev / storage / home

VG Name

storage

LV UUID

hehfFo -3 IJb -1 UcU -0 OMU - lQFN -3 P5o - oebZBP

LV Write Access

read / write

LV Status

available

# open

10

LV Size

7 ,00 GiB

11

Current LE

1792

12

Segments

13

Allocation

inherit

14

Read ahead sectors

auto

15

- currently set to

8192

16

Block device

253:4

16.4.2 Diminuindo o tamanho do LV


Agora suponha que, seja l qual for o motivo, voc precise reduzir o espao do LV.
Como proceder? Ser que irei perder meus dados? E agora? Calma! Para isto
devemos nos atentar para alguns detalhes sobre os passos a serem feitos.
Vamos l, primeiro passo desmontar a partio. Depois devemos checar a integridade da partio para finalmente executar o comando que far o resizing.

Pgina 34

Linux Network Servers

4Linux www.4linux.com.br

16.4 Implementao Prtica LVM

root@storage :~ # umount / dev / storage / home

2
3

root@storage :~ # e2fsck -f / dev / storage / home

4
5

root@storage :~ # resize2fs -p / dev / storage / home 5 g

resize2fs 1.41.12 (17 - May -2010)

Resizing the filesystem on / dev / storage / home to 1310720 (4 k ) blocks .

Begin pass 3 ( max = 56)

Scanning inode table


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

10

The filesystem on / dev / storage / home is now 1310720 blocks long .

Neste exemplo temos uma partio de 7GB e eu desejo reduzir apenas 5GB. Ento, para no quebrar a partio em cima dos dados, daremos uma folga de alguns
gigabytes e efetuamos o comando de resizing.
Agora vamos executar o comando LVM que reduzir de fato o tamanho da partio:

root@storage :~ # lvreduce -L -2 G / dev / storage / home

WARNING : Reducing active logical volume to 5 ,00 GiB

THIS MAY DESTROY YOUR DATA ( filesystem etc .)

Do you really want to reduce home ? [ y / n ]: y

Reducing logical volume home to 5 ,00 GiB

Logical volume home successfully resized

Os comando acima reduziram de forma lgica o tamanho da partio para que depois
possamos reduzir de forma fsica. Agora s montar e checar os dados!

root@storage :~ # mount / dev / storage / home / srv / storage / home

2
3

root@storage :~ # df - Th | tail - n4

/ dev / mapper / storage - banco

ext4

5 ,0 G

138 M

4 ,6 G

3% / srv /

storage / banco

Linux Network Servers

Pgina 35

16.4 Implementao Prtica LVM

/ dev / mapper / storage - home

4Linux www.4linux.com.br

ext4

5 ,0 G

162 M

4 ,6 G

4% / srv /

storage / home
6
7
8

root@storage :~ # du - sh / srv / storage / home


24 M

/ srv / storage / home

Para remover a estrutura dos testes faamos os seguintes comandos:

root@storage :~ # umount / dev / storage / banco

root@storage :~ # mkfs . ext4 / dev / storage / banco

root@storage :~ # mount / dev / storage / home / srv / storage / home

16.4.3 Criar infraestrutura para arquivos do Samba


A fim de deixarmos nosso ambiente estruturado para a gravao dos arquivos do
SAMBA, vamos criar novos LVs da seguinte forma:

root@storage :~ # lvcreate -L 2 G -n administrativo storage

root@storage :~ # lvcreate -L 2 G -n logistica storage

root@storage :~ # lvcreate -L 2 G -n comercial storage

root@storage :~ # lvcreate -L 2 G -n rh storage

root@storage :~ # lvcreate -L 2 G -n suporte storage

root@storage :~ # lvcreate -L 2 G -n publico storage

root@storage :~ # lvcreate -L 1 G -n drivers storage

root@storage :~ # lvcreate -L 1 G -n netlogon storage

root@storage :~ # lvcreate -L 5 G -n profiles storage

10

root@storage :~ # lvcreate -L 5 G -n lixeiras storage

Aplique o sistema de arquivos EXT4 nos LVs criados:

Pgina 36

Linux Network Servers

4Linux www.4linux.com.br

16.4 Implementao Prtica LVM

root@storage :~ # mkfs . ext4 / dev / storage / administrativo

root@storage :~ # mkfs . ext4 / dev / storage / logistica

root@storage :~ # mkfs . ext4 / dev / storage / comercial

root@storage :~ # mkfs . ext4 / dev / storage / rh

root@storage :~ # mkfs . ext4 / dev / storage / suporte

root@storage :~ # mkfs . ext4 / dev / storage / publico

root@storage :~ # mkfs . ext4 / dev / storage / drivers

root@storage :~ # mkfs . ext4 / dev / storage / netlogon

root@storage :~ # mkfs . ext4 / dev / storage / profiles

10

root@storage :~ # mkfs . ext4 / dev / storage / lixeiras

E faa a montagem dos dispositivos:

root@storage :~ # mount / dev / storage / administrativo / srv / storage / samba


/ administrativo

root@storage :~ # mount / dev / storage / logistica / srv / storage / samba /


logistica

root@storage :~ # mount / dev / storage / comercial / srv / storage / samba /


comercial

root@storage :~ # mount / dev / storage / rh / srv / storage / samba / rh

root@storage :~ # mount / dev / storage / suporte / srv / storage / samba /


suporte

root@storage :~ # mount / dev / storage / publico / srv / storage / samba /


publico

root@storage :~ # mount / dev / storage / drivers / srv / storage / samba /


drivers

root@storage :~ # mount / dev / storage / netlogon / srv / storage / samba /


netlogon

root@storage :~ # mount / dev / storage / profiles / srv / storage / samba /


profiles

10

root@storage :~ # mount / dev / storage / lixeiras / srv / storage / samba /


lixeiras

Confirme a montagem atravs do comando mount:

Linux Network Servers

Pgina 37

16.4 Implementao Prtica LVM

4Linux www.4linux.com.br

root@storage :~ # mount | grep samba

/ dev / mapper / storage - administrativo on / srv / storage / samba /


administrativo type ext4 ( rw )

/ dev / mapper / storage - logistica on / srv / storage / samba / logistica type


ext4 ( rw )

/ dev / mapper / storage - comercial on / srv / storage / samba / comercial type


ext4 ( rw )

/ dev / mapper / storage - rh on / srv / storage / samba / rh type ext4 ( rw )

/ dev / mapper / storage - suporte on / srv / storage / samba / suporte type ext4
( rw )

/ dev / mapper / storage - publico on / srv / storage / samba / publico type ext4
( rw )

/ dev / mapper / storage - drivers on / srv / storage / samba / drivers type ext4
( rw )

/ dev / mapper / storage - netlogon on / srv / storage / samba / netlogon type


ext4 ( rw )

10

/ dev / mapper / storage - profiles on / srv / storage / samba / profiles type


ext4 ( rw )

11

/ dev / mapper / storage - lixeiras on / srv / storage / samba / lixeiras type


ext4 ( rw )

16.4.4 Criar infraestrutura para arquivos do servidor WEB


A fim de deixarmos nosso ambiente estruturado para armazenar paginas Intranet e
Internet da empresa DEXTER, vamos criar novos LVs da seguinte forma:

root@storage :~ # lvcreate -L 500 M -n intranet storage

root@storage :~ # lvcreate -L 500 M -n internet storage

Aplique o sistema de arquivos EXT4 nos LVs criados:

Pgina 38

Linux Network Servers

4Linux www.4linux.com.br

16.4 Implementao Prtica LVM

root@storage :~ # mkfs . ext4 / dev / storage / intranet

root@storage :~ # mkfs . ext4 / dev / storage / internet

E faa a montagem dos dispositivos:

root@storage :~ # mount / dev / storage / intranet / srv / storage / intranet

root@storage :~ # mount / dev / storage / internet / srv / storage / internet

Confirme a montagem atravs do comando mount:

root@storage :~ # mount | grep int

/ dev / mapper / storage - intranet on / srv / storage / intranet type ext4 ( rw )

/ dev / mapper / storage - internet on / srv / storage / internet type ext4 ( rw )

Agora vamos editar o /etc/fstab e incluir no final do arquivo os novos pontos de montagem. Use os comandos blkid e awk para filtrar os UUID dos LVs que esto no
grupo storage, enviando este resultado para o final do arquivo /etc/fstab:

root@storage :~ # blkid | grep / dev / mapper / storage | awk -F " " { print
$2 , $1 } >> / etc / fstab

O resultado final do arquivo /etc/fstab deve ficar conforme o exemplo abaixo:

root@storage :~ # vim / etc / fstab

...

UUID = b5fbcee3 - caba -4 ef5 -8 a37 -7 c06c7b9dbbb / srv / storage / home


ext4 defaults 0 2

UUID =10 f50315 - c0d8 -4 f2b -8 c04 -7 f1cb93375fd / srv / storage / banco
ext4 defaults 0 2

Linux Network Servers

Pgina 39

16.4 Implementao Prtica LVM

UUID = eede784d -7 e2e -4 d9e - acd2 -03 fdb24972d7 / srv / storage / samba /
administrativo

ext4 defaults 0 2

UUID = ca10b3a0 -36 a4 -4 e87 - b61f -5 d18aacf6c3f / srv / storage / samba /


comercial

ext4 defaults 0 2

UUID = dbf0688e - d936 -4 a12 - a12e -9 dba1d37e8bd / srv / storage / samba /


logistica

4Linux www.4linux.com.br

ext4 defaults 0 2

UUID = bcdcb1a0 -1 bb0 -4 b3c -8125 - df252957b4bf / srv / storage / samba / rh


ext4 defaults 0 2

UUID =884 d2400 - ba00 -4 e3a -817 d - b343bfb1055c / srv / storage / samba / suporte
ext4 defaults 0 2

10

UUID =8 d2e391b -2896 -4 ba8 - ba37 - f3b84006521b / srv / storage / samba / publico
ext4 defaults 0 2

11

UUID =4 b24690b -66 c3 -4882 - bbdc -51 b76665b4e1 / srv / storage / samba / drivers
ext4 defaults 0 2

12

UUID =60 c6ebb1 - eadc -4251 -97 c7 -1 bc7ae9d680c / srv / storage / samba /
netlogon

13

UUID =61 fe2fe5 -580 b -48 f1 -945 e - bac193b6e3fc / srv / storage / samba /
profiles

14

ext4 defaults 0 2

UUID = f6f24187 - f4d9 -41 e2 - bd6f - fa469a349b29 / srv / storage / samba /


lixeiras

15

ext4 defaults 0 2

ext4 defaults 0 2

UUID =7 dbd83a6 - ee53 -4 c4d - bd60 - a21307b9b587 / srv / storage / intranet


ext4 defaults 0 2

16

UUID = c2a03819 - d0ee -4222 - a7ff - f79531d171ee / srv / storage / internet


ext4 defaults 0 2

Pgina 40

Linux Network Servers

Вам также может понравиться