Apostila Implementando RAID + LVM + Migração (1).pdf
-
Author
dimas-eliacim-aguiar-costa -
Category
Documents
-
view
49 -
download
2
Embed Size (px)
Transcript of Apostila Implementando RAID + LVM + Migração (1).pdf

4452
Linux Network Servers
www.4linux.com.br


Projetos na sua empresacom a qualidade dos treinamentos
http://va.mu/FlyBServidor Java EE
http://va.mu/Flx3
GED - ECM
http://va.mu/Flx8Business Inteligence
http://va.mu/EuiTBPM
http://va.mu/EuhVPostgreSQL
http://va.mu/FlyD
Integração Continuahttp://va.mu/FNbLAlta Disponibilidade
http://va.mu/EukN
Monitoramento
http://va.mu/Flxi
Infraestrutura Webhttp://va.mu/Flxr
Backup
http://va.mu/FNYjGroupware
http://va.mu/FlxlVirtualização
http://va.mu/Flxu
Auditoria e Análisehttp://va.mu/Flxy
Segurança
http://va.mu/GcFvImplantação garantida
http://va.mu/Flxc
Ensino à Distância


Conteúdo
16 Implementando RAID + LVM 616.1 Introdução Teórica - RAID . . . . . . . . . . . . . . . . . . . . . . . . . 6
16.1.1 Combinações de RAID . . . . . . . . . . . . . . . . . . . . . 1116.1.2 Introdução Teórica – LVM . . . . . . . . . . . . . . . . . . . . 15
16.2 Gerenciando RAID 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1716.2.1 Testando o funcionamento . . . . . . . . . . . . . . . . . . . 18
16.3 Adicionar RAID 5 no Storage . . . . . . . . . . . . . . . . . . . . . . . . 2016.3.1 Implementação Prática – RAID 5 . . . . . . . . . . . . . . . . 24
16.4 Implementação Prática – LVM . . . . . . . . . . . . . . . . . . . . . . . 2716.4.1 Aumentando o tamanho do LV . . . . . . . . . . . . . . . . . 3216.4.2 Diminuindo o tamanho do LV . . . . . . . . . . . . . . . . . . 3416.4.3 Criar infraestrutura para arquivos do Samba . . . . . . . . . 3616.4.4 Criar infraestrutura para arquivos do servidor WEB . . . . . . 38
5

Capítulo 16
Implementando RAID + LVM
16.1 Introdução Teórica - RAID
“RAID, do inglês Redundant Array of Independent Disks, significa Conjunto Re-dundante de Discos Independentes. A ideia básica por trás do RAID é combinardiversos discos e de baixo custo em um conjunto, a fim de atingir objetivos de de-sempenho ou redundância inatingíveis com um disco grande e de custo alto. Esteconjunto de discos aparece para o computador como uma única unidade ou disco dearmazenamento lógico.
O conceito fundamental do RAID é que os dados podem ser distribuídos ao longo decada disco do conjunto de maneira consistente. Para fazer isso, primeiramente osdados precisam ser quebrados em pedaços de tamanho consistente (geralmente de32KB ou 64KB, apesar de poder usar tamanhos diferentes). Cada pedaço é entãogravado em um disco rígido no RAID, conforme o nível do RAID usado. Quando osdados tiverem que ser acessados, o processo é revertido, dando a impressão de queos discos múltiplos são um disco grande. “
[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/ch-raid-intro.html ]
6

4Linux – www.4linux.com.br 16.1 Introdução Teórica - RAID
Temos como principais vantagens do RAID:
• Ganho de desempenho no acesso para leitura ou gravação;
• Redundância em caso de falha em um dos discos;
• Uso múltiplo de várias unidades de discos;
• Facilidade em recuperação de conteúdo perdido.;
• Impacto reduzido na falha de um disco.
“Temos 2 formas de se montar um sistema em RAID:
Via Software: Feito por aplicativos e módulos do sistema operacional. O “RAID” viasoftware só entra em funcionamento depois que o “Kernel” é carregado na memóriado computador. A principal vantagem é a facilidade de configuração e a flexibilidade,já que podemos trabalhar com vários discos diferentes. A principal desvantagem é adependência da correta configuração do sistema operacional.
Características mais importantes:
1.Processo threaded rebuild;
2.Portabilidade dos conjuntos entre máquinas Linux sem reconstrução;
3.Reconstrução do ARRAY no background, usando recursos ociosos do sistema;
4.Suporte ao disco hot-swappable (pode ser substituído sem desligar a máquina);
5.Detecção automática da CPU para aproveitar determinadas otimizações.
Via Hardware: Feito por uma placa controladora que conecta um disco ao outro. Aprincipal vantagem é o desempenho, já que um “RAID” via hardware é mais rápido
Linux Network Servers Página 7

16.1 Introdução Teórica - RAID 4Linux – www.4linux.com.br
e independente do sistema operacional. A principal desvantagem, é que a placacontroladora se torna um SPOF - Single Point of Failure, ou seja, é necessário teruma controladora de discos igual ou compatível com a que você possui para o casode falhas neste hardware. “
[ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-raid-approaches.html ]
Tipos de RAID
Os principais níveis de “RAID” utilizados hoje no mercado são os níveis 0, 1, 5, 6 esuas derivações, como por exemplo, o RAID 10. Vamos entendê-los:
RAID 0 (Stripping): Este é o único nível de “RAID” que não implementa redundân-cia. Sua finalidade é aumentar o desempenho de leitura e gravação, uma vez que aogravar, divide os dados em partes iguais e armazena cada fragmento em um discodiferente simultaneamente. Por isto, com dois discos, a velocidade de leitura pra-ticamente dobra. Com três discos, triplica. E assim por diante. São necessáriosao menos dois discos para implementar “RAID 0” e eles podem ser de tamanhosdiferentes.
1 Então o RAID 0 garante redundância?
Não!!! Esta é a desvantagem, pois se qualquer um dos discos falhar, o sistemaoperacional para de funcionar, além de ocasionar perda dos dados. Portanto, é ummétodo que requer cuidados.
1 Características do RAID 0:
2
3 * Excelente gravação e leitura;
4
Página 8 Linux Network Servers

4Linux – www.4linux.com.br 16.1 Introdução Teórica - RAID
5 * Aproveitamento total de espaço;
6
7 * Nenhuma redundância!
RAID 1 (Mirroring): O nível mais utilizado. Sua principal finalidade é prover redun-dância dos dados. Esta é garantida pela duplicação dos dados que são gravadosem cada par de discos, logo, se um deles falhar, o outro continuará operando e man-tendo a informação disponível, até que a substituição do disco defeituoso seja feita.O ganho de desempenho está na leitura, uma vez que os dados são lidos em par-tes iguais e simultaneamente de todos os discos. A desvantagem desse nível é quesó metade do volume total de armazenamento nos discos utilizados ficará disponí-vel para o sistema operacional. É preciso no mínimo dois discos para implementar“RAID 1”, sempre em pares.
1 RAID1 é backup? Não!!!!! É apenas redundância.
DICA DE SEGURANÇA: “RAID 1” espelhado não é backup. Se você apa-gar um arquivo acidentalmente, esse arquivo vai ser apagado em todos os discos.Sempre tenha uma CÓPIA dos dados.
1 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 Página 9

16.1 Introdução Teórica - RAID 4Linux – www.4linux.com.br
Fique atento, a prova do LPI irá cobrar a utilização e conceitos de “RAID”.Um comando que podemos utilizar para fazer backup e manutenção de arquivos nosistema é o comando “rsync”. Outros comandos que nos mostra alguns detalhesimportantes são “hdparm” e “sdparm”.
RAID 5: Neste nível de “RAID” teremos um balanço das vantagens e desvantagensdo níveis anteriores, ou seja, “RAID 5” provê um ganho de desempenho e tolerânciaa falhas a custos menores que “RAID 0” ou “RAID 1” individualmente. O ganho dedesempenho está mais uma vez na leitura. Quanto mais discos forem adicionadosa composição, mais rápida será a leitura, uma vez que a gravação é distribuída emblocos de tamanhos iguais por todos os discos.
RAID 6: É um padrão relativamente novo, suportado por apenas algumas con-troladoras. Ele é semelhante ao RAID 5, porém usa o dobro de bits de paridade,garantindo a integridade dos dados caso até 2 dos HDs falhem ao mesmo tempo. Aousar 7 HDs de 500 GB em RAID 6, por exemplo, teríamos 2.5 TB para dados mais 1TB de códigos de paridade.
A percentagem de espaço sacrificado decai conforme são acrescentados mais dis-cos, 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 es-paço equivalente a apenas dois discos, ou seja, menos de 5% do espaço total. Em
Página 10 Linux Network Servers

4Linux – www.4linux.com.br 16.1 Introdução Teórica - RAID
troca, ganha-se proteção contra a possibilidade de um segundo HD falhar durante oprocesso de substituição e reconstrução dos dados do primeiro.
Tanto no caso do RAID 5, quanto no RAID 6, o servidor continua funcionando nor-malmente durante todo o processo de substituição do disco, embora a performancedecaia, sobretudo logo depois da substituição do drive defeituoso, quando o sistemaprecisa regravar os dados lendo as informações armazenadas em todos os outrosdiscos e fazendo os cálculos de paridade.
[ http://www.hardware.com.br/termos/raid-6 ]
16.1.1 Combinações de RAID
RAID 10: Combina as vantagens do RAID 0 e RAID 1 num único sistema. Fornecesegurança efetuando espelhamento de todos os dados num conjunto secundário dediscos enquanto utiliza listagem em cada conjunto de discos para acelerar as trans-ferências de dados. O RAID 10 permite no máximo 2 discos avariados de 2 paresdiferentes.
Linux Network Servers Página 11

16.1 Introdução Teórica - RAID 4Linux – www.4linux.com.br
O volume de disco RAID 10 é ideal para organizações que executam bases de dadose outras aplicações com base em transações que requerem eficiência de armazena-mento e proteção de dados críticos.
Em artigos que comparam os níveis RAID 5 e RAID 10, as respostas do RAID 10foram melhores, apesar do teste ter sido feito utilizando RAID por hardware, masvale a pena a comparação. Veja o gráfico abaixo:
RAID 0+1: É uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os da-dos são divididos entre os discos para melhorar o rendimento, mas também utilizamoutros discos para duplicar as informações. Assim, é possível utilizar o bom rendi-mento do nível 0 com a redundância do nível 1. No entanto, é necessário pelo menos4 discos para montar um RAID desse tipo. Tais características fazem do RAID 0 + 1
Página 12 Linux Network Servers

4Linux – www.4linux.com.br 16.1 Introdução Teórica - RAID
o mais rápido e seguro, porém o mais caro de ser implantado. Falhando 1 disco, osistema vira um RAID 0.
Vantagens:
• Segurança contra perda de dados;
• Pode falhar 1 dos HD’s, ou os dois HD’s do mesmo DiskGroup.
Desvantagens:
• Alto custo de expansão de hardware (custo mínimo = 4xHDs).
• Os drives devem ficar em sincronismo de velocidade para obter a máxima per-formance.
• RAID 50
Linux Network Servers Página 13

16.1 Introdução Teórica - RAID 4Linux – www.4linux.com.br
• RAID 60
• RAID 100
A prova LPI pode cobrar conhecimentos do aluno sobre os níveis de “RAID”citados. Não esqueça que “RAID” não é Backup. Tenha sempre Backup.
Página 14 Linux Network Servers

4Linux – www.4linux.com.br 16.1 Introdução Teórica - RAID
16.1.2 Introdução Teórica – LVM
"O LVM (Logical Volume Manager) é um recurso incluído no Kernel Linux a partir daversão 2.4 que cria uma camada de abstração entre o sistema operacional e os HDs(ou outras unidades de armazenamento utilizadas, como o RAID por exemplo). Eleadiciona alguns complicadores adicionais na configuração, mas, em compensaçãooferece um conjunto de vantagens bastante interessantes.
Imagine que no LVM o sistema não vê HDs e partições, mas sim um ou mais volumeslógicos. Cada volume se comporta como se fosse uma partição, que é formatada emontada da forma usual. Estes volumes são agrupados em um grupo de volumeslógicos (logical volume group) que se comporta de forma similar a um HD.
O pulo do gato é que o grupo de volumes lógicos pode combinar o espaço de váriosHDs e ser modificado conforme necessário, incorporando mais HDs. Os volumeslógicos dentro dele também podem ser redimensionados livremente conforme fornecessário.
Se você precisa de mais espaço dentro do volume referente à pasta /home, porexemplo, você poderia reduzir o tamanho de um dos outros volumes do sistema (queestivesse com espaço 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 demais espaço. Ao instalar um novo HD, você começaria criando um volume físico,englobando todo o espaço do HD. Uma vez que o volume físico é criado, você podeexpandir o grupo de volumes lógicos, de forma que ele incorpore o espaço referenteao novo HD. A partir daí, você pode expandir os volumes lógicos, usando o espaçolivre.
Caso seja utilizada uma controladora SCSI ou SAS com suporte a hot-swaping, épossível até mesmo adicionar, remover ou substituir HDs, fazendo as alterações ne-cessárias nos volumes lógicos, com o servidor ligado!
Linux Network Servers Página 15

16.1 Introdução Teórica - RAID 4Linux – www.4linux.com.br
É importante enfatizar que o LVM é apenas uma mudança na forma como o sistemaacessa os discos, ele não é um substituto para o RAID. No LVM você pode agruparvários HDs em um único grupo de volumes lógicos, mas se um dos HDs apresentardefeito, o servidor ficará inoperante e você perderá os dados armazenados no discoafetado, diferente do RAID, onde você pode sacrificar parte do espaço para ter umacamada de redundância.
O grupo de volumes lógicos criado pelo instalador é visto pelo sistema como "/dev/vg01"eos volumes lógicos dentro dele são vistos como "/dev/vg01/lv01", "/dev/vg01/lv02",etc. Os nomes podem ser alterados da maneira que quiser. Naturalmente, é possí-vel também deixar de usar o LVM, voltando ao sistema normal de particionamento.Nesse caso, você só precisa deletar os volumes e o grupo de volumes lógicos e criara partições desejadas usando o espaço disponível.
http://www.hardware.com.br/dicas/entendendo-lvm.html
Uma implementação melhor do LVM é em conjunto com volumes RAID, pois no casode falhar um dos discos, continuamos com a leitura/gravação nos demais. Em re-lação ao usuário, o mesmo nem saberá que tem toda esta estrutura por trás damanipulação dos dados!
Página 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 através de diversasopções em linha de comando. Antes de criar um novo dispositivo de RAID, vamostestar comandos que são essenciais para o gerenciamento no dia-a-dia.
Antes de trabalhar com RAID identifique o dispositivo no arquivo /proc/mdstat
1 [email protected] :~# cat /proc/mdstat
2
3 md0 : active raid1 sda1 [0] sdb1 [1]
4 82908088 blocks super 1.2 [2/2] [UU
Para verificar os detalhes do RAID use a opção –detail do comando mdadm:
1 [email protected] :~# mdadm --detail /dev/md0
2 /dev/md0:
3 Version : 1.2
4 Creation Time : Mon Dec 5 15:46:10 2011
5 Raid Level : raid1
6 Array Size : 82908088 (79.07 GiB 84.90 GB)
7 Used Dev Size : 82908088 (79.07 GiB 84.90 GB)
8 Raid Devices : 2
9 Total Devices : 2
10 Persistence : Superblock is persistent
11
12 Update Time : Tue Sep 4 16:08:32 2012
13 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 Página 17

16.2 Gerenciando RAID 1 4Linux – www.4linux.com.br
20 UUID : a5b2f3bd:f76188d1:c7d0262e :93 bcc849
21 Events : 70
22
23 Number Major Minor RaidDevice State
24 0 8 1 0 active sync /dev/sda1
25 1 8 17 1 active sync /dev/sdb1
16.2.1 Testando o funcionamento
Vamos fazer uso do utilitário splitvt, que faz uma divisão na tela do terminal, facili-tando a execução dos comando e verificação de logs. Para usar esta combinação,instale o utilitário e digite no terminal splitvt:
1 [email protected] :~# aptitude install splitvt
2 [email protected] :~# splitvt
Página 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 segundosdentro do arquivo /dados.txt:
1 [email protected] :~# vim /root/testaraid.sh
2 #!/bin/bash
3 while true ; do
4 date >> /dados.txt
5 sleep 1
6 done
Ajuste as permissões, execute e verifique o resultado:
1 [email protected] :~# chmod u+x /root/testaraid.sh
2 [email protected] :~# /root/testaraid.sh&
3 [email protected] :~# tail -f /dados.txt
Na tela do splitvt acompanhe o que acontece com cada comando executado. Vamosinicialmente simular uma falha no disco sdb Digite:
1 [email protected] :~# mdadm /dev/md0 --fail /dev/sdb1
Verifique que o script continua em andamento!
Agora temos que remover o disco defeituoso:
Linux Network Servers Página 19

16.3 Adicionar RAID 5 no Storage 4Linux – www.4linux.com.br
1 [email protected] :~# mdadm /dev/md0 --remove /dev/sdb1
E adicione um novo disco:
1 [email protected] :~# mdadm /dev/md0 --add /dev/sdb1
Ao adicionar um novo disco, o RAID 1 executa um recovery atualizando os dados dodisco /dev/sda. Acompanhe no terminal através do comando watch:
1 [email protected] :~# watch cat /proc/mdstat
2 Personalities : [raid1] [raid6] [raid5] [raid4]
3 md0 : active raid1 sdb1 [1] sda1 [0]
4 82908088 blocks super 1.2 [2/1] [U_]
5 [= >...................] recovery = 6.9% (5782784/82908088)
finish =9.2 min speed =139393K/sec
Feitos os teste, cancele o script e desmonte o /mnt/raid para configurarmos o RAID5 no Storage.
1 [email protected] :~# jobs -l
2 [email protected] :~# 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 botão Configuraçõe para adi-cionar novos discos:
Página 20 Linux Network Servers

4Linux – www.4linux.com.br 16.3 Adicionar RAID 5 no Storage
Clique na opção Armazenamento ao lado esquerdo da tela, e selecione o íconeAdicionar Disco Rígido para criar um novo disco
Durante o assistente clique no botão Próximo (N) > para aceitar o tipo VDI comodisco virtual.
Na próxima etapa aceite o tipo Dinamicamente alocado e clique no botão Próximo
Linux Network Servers Página 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 digitandoo 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.
Página 22 Linux Network Servers

4Linux – www.4linux.com.br 16.3 Adicionar RAID 5 no Storage
Ligue a maquina virtual e verifique se as partições estão disponíveis:
1 [email protected] :~# cat /proc/partitions
CASO não apareça as partições, instale o pacote parted e execute o utilitário part-probe, verificando posteriormente:
1 [email protected] :~# aptitude install parted splitvt ; partprobe
2 [email protected] :~# cat /proc/partitions
3 cat /proc/partitions
4 major minor #blocks name
5
6 8 0 83886080 sda
7 8 1 82909184 sda1
8 8 2 1 sda2
9 8 5 973824 sda5
10 8 16 83886080 sdb
11 8 17 82909184 sdb1
12 8 18 1 sdb2
13 8 21 973824 sdb5
14 8 32 10485760 sdc
15 8 48 10485760 sdd
Linux Network Servers Página 23

16.3 Adicionar RAID 5 no Storage 4Linux – www.4linux.com.br
16 8 64 10485760 sde
17 8 80 10485760 sdf
18 8 96 10485760 sdg
19 9 0 82908088 md0
20 253 0 9764864 dm -0
21 253 1 4882432 dm -1
22 253 2 974848 dm -2
23 253 3 1949696 dm -3
16.3.1 Implementação Prática – RAID 5
Com os discos preparados, vamos iniciar a instalação e os procedimentos nestes dis-cos. Lembramos que, como JÁ EXISTE um RAID 1 com 2 discos na máquina, iremosusar novos dispositivos: /dev/sdc1, /dev/sdd1, /dev/sde1, /dev/sdf1 e /dev/sdg1.
Se for instalar num servidor sem RAID, terá que fazer a instalação:
1 [email protected] :~# aptitude install mdadm
Em uma das telas do splitvt execute o comando para monitoração do RAID:
1 [email protected] :~# watch -n0 cat /proc/mdstat
Na outra tela execute o comando para a criação do RAID-5:
1 [email protected] :~# mdadm --create /dev/md1 --level=5 --raid -devices =5 /
dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg
2 mdadm: Defaulting to version 1.2 metadata
3 mdadm: array /dev/md1 started.
Página 24 Linux Network Servers

4Linux – www.4linux.com.br 16.3 Adicionar RAID 5 no Storage
Acompanhe a saída em uma das telas do splitvt:
1 Personalities : [raid1] [raid6] [raid5] [raid4]
2 md1 : active (auto -read -only) raid5 sdg [5](S) sdf[3] sde[2] sdd[1]
sdc[0]
3 41936896 blocks super 1.2 level 5, 512k chunk , algorithm 2
[5/4] [UUUU_]
4
5 md0 : active raid1 sda1 [0] sdb1 [1]
6 82908088 blocks super 1.2 [2/2] [UU
Bom, agora que o RAID está criado e ajustado para gravação, vamos configuraro arquivo /etc/mdadm/mdadm.conf através da detecção automática da configura-ção:
1 [email protected] :~# mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Verifique se no arquivo existe alguma linha duplicada:
1 [email protected] :~# vim /etc/mdadm/mdadm.conf
2 ...
3
4 # definitions of existing MD arrays
5 ARRAY /dev/md/0 metadata =1.2 UUID=a5b2f3bd:f76188d1:c7d0262e :93
bcc849 name=datacenter :0
6 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
1 [email protected] :~# mdadm --detail /dev/md1
Linux Network Servers Página 25

16.3 Adicionar RAID 5 no Storage 4Linux – www.4linux.com.br
2 /dev/md1:
3 Version : 1.2
4 Creation Time : Tue Sep 4 16:18:11 2012
5 Raid Level : raid5
6 Array Size : 41936896 (39.99 GiB 42.94 GB)
7 Used Dev Size : 10484224 (10.00 GiB 10.74 GB)
8 Raid Devices : 5
9 Total Devices : 5
10 Persistence : Superblock is persistent
11
12 Update Time : Tue Sep 4 16:18:11 2012
13 State : clean , degraded
14 Active Devices : 4
15 Working Devices : 5
16 Failed Devices : 0
17 Spare Devices : 1
18
19 Layout : left -symmetric
20 Chunk Size : 512K
21
22 Name : storage :1 (local to host storage)
23 UUID : 119 e8015 :73 fa19a0 :6 e419d55 :7 b885513
24 Events : 0
25
26 Number Major Minor RaidDevice State
27 0 8 32 0 active sync /dev/sdc
28 1 8 48 1 active sync /dev/sdd
29 2 8 64 2 active sync /dev/sde
30 3 8 80 3 active sync /dev/sdf
31 4 0 0 4 removed
32
33 5 8 96 - spare /dev/sdg
Vamos criar um diretório, aplicar o sistema de arquivos e efetuar a montagem paratestar o RAID:
Página 26 Linux Network Servers

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM
1 [email protected] :~# mkdir /mnt/raid
2 [email protected] :~# mkfs.ext4 /dev/md1
3 [email protected] :~# mount /dev/md1 /mnt/raid
Faça a montagem para verificar o tamanho de 40GB (5-1) do RAID 5. Feito a verifi-cação desmonte o diretório /mnt/raid:
1 [email protected] :~# df -Th | grep md1
2 /dev/md1 ext4 40G 176M 38G 1% /mnt/raid
3 [email protected] :~# umount /mnt/raid
Se você precisar adicionar um novo conjunto de discos ao RAID, use a opção--readwrite"para atualizar o RAID. Exemplo:
1 [email protected] :~# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdh /dev/sdi
2 [email protected] :~# cat /proc/mdstat
3 [email protected] :~# mdadm --readwrite /dev/md1
A proxima etapa sera aplicar o sistema de arquivos EXT4 e montar os volumesutilizando LVM.
16.4 Implementação Prática – LVM
Como efetuamos a instalação do servidor Debian GNU/Linux em cima de um volumeRAID+LVM, o pacote já está instalado! SE for instalar, digite:
Linux Network Servers Página 27

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br
1 [email protected] :~# aptitude install lvm2
Os comandos utilizados para os testes com o LVM são:
1 PV (Phisical Volume)
2 pvs - saída resumida
3 pvscan - saída simples
4 pvdisplay - saída detalhada
5
6 VG (Volume Group)
7 vgs - saída resumida
8 vgscan - saída simples
9 vgdisplay - saída detalhada
10
11 LV (Logical Volume)
12 lvs - saída resumida
13 lvscan - saída simples
14 lvdisplay - saída detalhada
Passemos para a criação de um novo VG para se armazenar homes de usuários,banco de dados e arquivos do Samba, que estão armazenados na maquina Data-center. Neste RAID com LVM também serão armazenados os arquivos dos sitesintranet e internet da DEXTER, que estão armazenados na maquina DMZ.
Primeiro devemos adicionar um PV, sendo neste caso o volume md1 criado anterior-mente:
1 [email protected] :~# pvcreate /dev/md1
2 Physical volume "/dev/md1" successfully created
Vamos checar os PVs do sistema:
Página 28 Linux Network Servers

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM
1 [email protected] :~# pvdisplay
2 ....
3 "/dev/md1" is a new physical volume of "39,99 GiB"
4 --- NEW Physical volume ---
5 PV Name /dev/md1
6 VG Name
7 PV Size 39,99 GiB
8 Allocatable NO
9 PE Size 0
10 Total PE 0
11 Free PE 0
12 Allocated PE 0
13 PV UUID BxRMIE -A1rS -XKnp -z5Rg -SnFY -Lcb0 -Ta47VW
Perceba que o sistema nos informa de que o /dev/md1 é um novo volume físico eque não faz parte de nenhum VG! Sendo assim, vamos criar um novo VG com estePV (/dev/md1):
1 [email protected] :~# vgcreate storage /dev/md1
2 Volume group "storage" successfully created
Vamos checar os VGs do sistema:
1 [email protected] :~# vgdisplay -v storage
2 Using volume group(s) on command line
3 Finding volume group "storage"
4 --- Volume group ---
5 VG Name storage
6 System ID
7 Format lvm2
8 Metadata Areas 1
9 Metadata Sequence No 1
10 VG Access read/write
Linux Network Servers Página 29

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br
11 VG Status resizable
12 MAX LV 0
13 Cur LV 0
14 Open LV 0
15 Max PV 0
16 Cur PV 1
17 Act PV 1
18 VG Size 39,99 GiB
19 PE Size 4,00 MiB
20 Total PE 10238
21 Alloc PE / Size 0 / 0
22 Free PE / Size 10238 / 39,99 GiB
23 VG UUID RkKG3y -DwIX -2GDk -06JB-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 lógico de nome home dentro do VG storagepara armazenar as homes dos usuários da maquina Datacenter
1 [email protected] :~# lvcreate -L 5G -n home storage
2 Logical volume "home" created
Verifique o relatório do LV home:
1 [email protected] :~# lvdisplay -v /dev/storage/home
2 Using logical volume(s) on command line
3 --- Logical volume ---
4 LV Name /dev/storage/home
5 VG Name storage
6 LV UUID hehfFo -3IJb -1UcU -0OMU -lQFN -3P5o -oebZBP
Página 30 Linux Network Servers

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM
7 LV Write Access read/write
8 LV Status available
9 # open 0
10 LV Size 5,00 GiB
11 Current LE 1280
12 Segments 1
13 Allocation inherit
14 Read ahead sectors auto
15 - currently set to 8192
16 Block device 253:4
Também sera criado um volume lógico de nome banco dentro do VG storage paraarmazenar o banco de dados MySQL da maquina Datacenter
1 [email protected] :~# lvcreate -L 5G -n banco storage
2 Logical volume "banco" created
Verifique o relatório do LV banco:
1 [email protected] :~# lvdisplay -v /dev/storage/banco
2 Using logical volume(s) on command line
3 --- Logical volume ---
4 LV Name /dev/storage/banco
5 VG Name storage
6 LV UUID iYRa7L -MjIe -Mc4d -JGAo -evr7 -Ez8r -AZiQJa
7 LV Write Access read/write
8 LV Status available
9 # open 0
10 LV Size 5,00 GiB
11 Current LE 1280
12 Segments 1
13 Allocation inherit
14 Read ahead sectors auto
15 - currently set to 8192
Linux Network Servers Página 31

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br
16 Block device 253:5
Agora que temos 2 volumes lógicos criados aplique o sistema de arquivos EXT4:
1 [email protected] :~# mkfs.ext4 /dev/storage/home
2 [email protected] :~# mkfs.ext4 /dev/storage/banco
E finalize montando os novos dispositivos:
1 [email protected] :~# mount /dev/storage/home /srv/storage/home
2 [email protected] :~# mount /dev/storage/banco /srv/storage/banco
3 [email protected] :~# df -hT | tail -n4
4 /dev/mapper/storage -home ext4 5,0G 138M 4,6G 3% /srv/
storage/home
5 /dev/mapper/storage -banco ext4 5,0G 138M 4,6G 3% /srv/
storage/banco
Após estes procedimentos, teremos uma unidade lógica mapeada e pronta para uso!Vamos gravar alguns dados na LV home para realizarmos alguns testes com LVM.
1 root@storage :~# cp -rv /boot/* /srv/storage/home ; cp -rv /sbin/* /
srv/storage/home
2 [email protected] :~# du -sh /srv/storage/home
3 24M /srv/storage/home
16.4.1 Aumentando o tamanho do LV
Vamos supor que o espaço alocado para a unidade lógica não irá atender às neces-sidades da empresa! Neste caso teremos que aumentar o espaço da unidade lógica,sem a necessidade de movermos dados do local:
Página 32 Linux Network Servers

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM
1 [email protected] :~# lvextend -L +2g /dev/storage/home
2 Extending logical volume home to 7,00 GiB
3 Logical volume home successfully resized
O comando acima diz para aumentar em mais 2GB o LV /dev/storage/home. Comovemos, o volume total ficou em 7GB. Mas o que fizemos foi informar apenas aoLVM que o volume lógico foi estendido, porém o sistema em si ainda não sabe damudança. Para isto devemos executar os comandos abaixo, sendo o primeiro parachecar a integridade do volume e o segundo para redimensionar o tamanho:
1 [email protected] :~# umount /dev/storage/home
2 [email protected] :~# e2fsck -f /dev/storage/home
3 e2fsck 1.41.12 (17-May -2010)
4 Pass 1: Checking inodes , blocks , and sizes
5 Pass 2: Checking directory structure
6 Pass 3: Checking directory connectivity
7 Pass 4: Checking reference counts
8 Pass 5: Checking group summary information
9 /dev/storage/home: 394/327680 files (0.3% non -contiguous),
61916/1310720 blocks
10
11 [email protected] :~# resize2fs /dev/storage/home
12 resize2fs 1.41.12 (17-May -2010)
13 Resizing the filesystem on /dev/storage/home to 1835008 (4k) blocks.
14 The filesystem on /dev/storage/home is now 1835008 blocks long.
Pronto! Agora monte a partição e veja o tamanho e o total dos dados que nelaestavam:
1 [email protected] :~# mount /dev/storage/home /srv/storage/home
2 [email protected] :~# df -Th | tail -n4
3 /dev/mapper/storage -banco
Linux Network Servers Página 33

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br
4 ext4 5,0G 138M 4,6G 3% /srv/storage/banco
5 /dev/mapper/storage -home
6 ext4 6,9G 163M 6,4G 3% /srv/storage/home
Observe os detalhes da partição redimensionada:
1 [email protected] :~# lvdisplay /dev/storage/home
2 lvdisplay /dev/storage/home
3 --- Logical volume ---
4 LV Name /dev/storage/home
5 VG Name storage
6 LV UUID hehfFo -3IJb -1UcU -0OMU -lQFN -3P5o -oebZBP
7 LV Write Access read/write
8 LV Status available
9 # open 1
10 LV Size 7,00 GiB
11 Current LE 1792
12 Segments 2
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 espaço do LV.Como proceder? Será que irei perder meus dados? E agora? Calma! Para istodevemos nos atentar para alguns detalhes sobre os passos a serem feitos.
Vamos lá, primeiro passo é desmontar a partição. Depois devemos checar a integri-dade da partição para finalmente executar o comando que fará o “resizing”.
Página 34 Linux Network Servers

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM
1 [email protected] :~# umount /dev/storage/home
2
3 [email protected] :~# e2fsck -f /dev/storage/home
4
5 [email protected] :~# resize2fs -p /dev/storage/home 5g
6 resize2fs 1.41.12 (17-May -2010)
7 Resizing the filesystem on /dev/storage/home to 1310720 (4k) blocks.
8 Begin pass 3 (max = 56)
9 Scanning inode table
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 The filesystem on /dev/storage/home is now 1310720 blocks long.
Neste exemplo temos uma partição de 7GB e eu desejo reduzir apenas 5GB. En-tão, para não quebrar a partição em cima dos dados, daremos uma folga de algunsgigabytes e efetuamos o comando de “resizing”.
Agora vamos executar o comando LVM que reduzirá de fato o tamanho da partição:
1 [email protected] :~# lvreduce -L -2G /dev/storage/home
2 WARNING: Reducing active logical volume to 5,00 GiB
3 THIS MAY DESTROY YOUR DATA (filesystem etc.)
4 Do you really want to reduce home? [y/n]: y
5 Reducing logical volume home to 5,00 GiB
6 Logical volume home successfully resized
Os comando acima reduziram de forma lógica o tamanho da partição para que depoispossamos reduzir de forma física. Agora é só montar e checar os dados!
1 [email protected] :~# mount /dev/storage/home /srv/storage/home
2
3 [email protected] :~# df -Th | tail -n4
4 /dev/mapper/storage -banco ext4 5,0G 138M 4,6G 3% /srv/
storage/banco
Linux Network Servers Página 35

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br
5 /dev/mapper/storage -home ext4 5,0G 162M 4,6G 4% /srv/
storage/home
6
7 [email protected] :~# du -sh /srv/storage/home
8 24M /srv/storage/home
Para remover a estrutura dos testes façamos os seguintes comandos:
1 [email protected] :~# umount /dev/storage/banco
2 [email protected] :~# mkfs.ext4 /dev/storage/banco
3 [email protected] :~# 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 gravação dos arquivos doSAMBA, vamos criar novos LVs da seguinte forma:
1 [email protected] :~# lvcreate -L 2G -n administrativo storage
2 [email protected] :~# lvcreate -L 2G -n logistica storage
3 [email protected] :~# lvcreate -L 2G -n comercial storage
4 [email protected] :~# lvcreate -L 2G -n rh storage
5 [email protected] :~# lvcreate -L 2G -n suporte storage
6 [email protected] :~# lvcreate -L 2G -n publico storage
7 [email protected] :~# lvcreate -L 1G -n drivers storage
8 [email protected] :~# lvcreate -L 1G -n netlogon storage
9 [email protected] :~# lvcreate -L 5G -n profiles storage
10 [email protected] :~# lvcreate -L 5G -n lixeiras storage
Aplique o sistema de arquivos EXT4 nos LVs criados:
Página 36 Linux Network Servers

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM
1 [email protected] :~# mkfs.ext4 /dev/storage/administrativo
2 [email protected] :~# mkfs.ext4 /dev/storage/logistica
3 [email protected] :~# mkfs.ext4 /dev/storage/comercial
4 [email protected] :~# mkfs.ext4 /dev/storage/rh
5 [email protected] :~# mkfs.ext4 /dev/storage/suporte
6 [email protected] :~# mkfs.ext4 /dev/storage/publico
7 [email protected] :~# mkfs.ext4 /dev/storage/drivers
8 [email protected] :~# mkfs.ext4 /dev/storage/netlogon
9 [email protected] :~# mkfs.ext4 /dev/storage/profiles
10 [email protected] :~# mkfs.ext4 /dev/storage/lixeiras
E faça a montagem dos dispositivos:
1 [email protected] :~# mount /dev/storage/administrativo /srv/storage/samba
/administrativo
2 r[email protected] :~# mount /dev/storage/logistica /srv/storage/samba/
logistica
3 r[email protected] :~# mount /dev/storage/comercial /srv/storage/samba/
comercial
4 [email protected] :~# mount /dev/storage/rh /srv/storage/samba/rh
5 [email protected] :~# mount /dev/storage/suporte /srv/storage/samba/
suporte
6 [email protected] :~# mount /dev/storage/publico /srv/storage/samba/
publico
7 [email protected] :~# mount /dev/storage/drivers /srv/storage/samba/
drivers
8 [email protected] :~# mount /dev/storage/netlogon /srv/storage/samba/
netlogon
9 [email protected] :~# mount /dev/storage/profiles /srv/storage/samba/
profiles
10 [email protected] :~# mount /dev/storage/lixeiras /srv/storage/samba/
lixeiras
Confirme a montagem através do comando mount:
Linux Network Servers Página 37

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br
1 [email protected] :~# mount | grep samba
2 /dev/mapper/storage -administrativo on /srv/storage/samba/
administrativo type ext4 (rw)
3 /dev/mapper/storage -logistica on /srv/storage/samba/logistica type
ext4 (rw)
4 /dev/mapper/storage -comercial on /srv/storage/samba/comercial type
ext4 (rw)
5 /dev/mapper/storage -rh on /srv/storage/samba/rh type ext4 (rw)
6 /dev/mapper/storage -suporte on /srv/storage/samba/suporte type ext4
(rw)
7 /dev/mapper/storage -publico on /srv/storage/samba/publico type ext4
(rw)
8 /dev/mapper/storage -drivers on /srv/storage/samba/drivers type ext4
(rw)
9 /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 eInternet da empresa DEXTER, vamos criar novos LVs da seguinte forma:
1 [email protected] :~# lvcreate -L 500M -n intranet storage
2 [email protected] :~# lvcreate -L 500M -n internet storage
Aplique o sistema de arquivos EXT4 nos LVs criados:
Página 38 Linux Network Servers

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM
1 [email protected] :~# mkfs.ext4 /dev/storage/intranet
2 [email protected] :~# mkfs.ext4 /dev/storage/internet
E faça a montagem dos dispositivos:
1 ro[email protected] :~# mount /dev/storage/intranet /srv/storage/intranet
2 ro[email protected] :~# mount /dev/storage/internet /srv/storage/internet
Confirme a montagem através do comando mount:
1 [email protected] :~# mount | grep int
2 /dev/mapper/storage -intranet on /srv/storage/intranet type ext4 (rw)
3 /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 mon-tagem. Use os comandos blkid e awk para filtrar os UUID dos LVs que estão nogrupo storage, enviando este resultado para o final do arquivo /etc/fstab:
1 [email protected] :~# 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:
1 [email protected] :~# vim /etc/fstab
2 ...
3 UUID=b5fbcee3 -caba -4ef5 -8a37 -7 c06c7b9dbbb /srv/storage/home
ext4 defaults 0 2
4 UUID =10f50315 -c0d8 -4f2b -8c04 -7 f1cb93375fd /srv/storage/banco
ext4 defaults 0 2
Linux Network Servers Página 39

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br
5 UUID=eede784d -7e2e -4d9e -acd2 -03 fdb24972d7 /srv/storage/samba/
administrativo ext4 defaults 0 2
6 UUID=dbf0688e -d936 -4a12 -a12e -9 dba1d37e8bd /srv/storage/samba/
logistica ext4 defaults 0 2
7 UUID=ca10b3a0 -36a4 -4e87 -b61f -5 d18aacf6c3f /srv/storage/samba/
comercial ext4 defaults 0 2
8 UUID=bcdcb1a0 -1bb0 -4b3c -8125- df252957b4bf /srv/storage/samba/rh
ext4 defaults 0 2
9 UUID =884 d2400 -ba00 -4e3a -817d-b343bfb1055c /srv/storage/samba/suporte
ext4 defaults 0 2
10 UUID=8d2e391b -2896 -4ba8 -ba37 -f3b84006521b /srv/storage/samba/publico
ext4 defaults 0 2
11 UUID=4b24690b -66c3 -4882-bbdc -51 b76665b4e1 /srv/storage/samba/drivers
ext4 defaults 0 2
12 UUID =60c6ebb1 -eadc -4251 -97c7 -1 bc7ae9d680c /srv/storage/samba/
netlogon ext4 defaults 0 2
13 UUID =61fe2fe5 -580b-48f1 -945e-bac193b6e3fc /srv/storage/samba/
profiles ext4 defaults 0 2
14 UUID=f6f24187 -f4d9 -41e2-bd6f -fa469a349b29 /srv/storage/samba/
lixeiras ext4 defaults 0 2
15 UUID=7dbd83a6 -ee53 -4c4d -bd60 -a21307b9b587 /srv/storage/intranet
ext4 defaults 0 2
16 UUID=c2a03819 -d0ee -4222-a7ff -f79531d171ee /srv/storage/internet
ext4 defaults 0 2
Página 40 Linux Network Servers