Apostila Implementando RAID + LVM + Migração (1).pdf

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

Transcript of Apostila Implementando RAID + LVM + Migração (1).pdf

Page 1: Apostila Implementando RAID + LVM + Migração (1).pdf

4452

Linux Network Servers

www.4linux.com.br

Page 2: Apostila Implementando RAID + LVM + Migração (1).pdf
Page 3: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 4: Apostila Implementando RAID + LVM + Migração (1).pdf
Page 5: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 6: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 7: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 8: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 9: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 10: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 11: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 12: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 13: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 14: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 15: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 16: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 17: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# 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 root@storage :~# 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

Page 18: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# aptitude install splitvt

2 root@storage :~# splitvt

Página 18 Linux Network Servers

Page 19: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# 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 root@storage :~# chmod u+x /root/testaraid.sh

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

3 root@storage :~# 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 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 Página 19

Page 20: Apostila Implementando RAID + LVM + Migração (1).pdf

16.3 Adicionar RAID 5 no Storage 4Linux – www.4linux.com.br

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

E adicione um novo disco:

1 root@storage :~# 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 root@storage :~# 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 root@storage :~# jobs -l

2 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 botão Configuraçõe para adi-cionar novos discos:

Página 20 Linux Network Servers

Page 21: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 22: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 23: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# 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 root@storage :~# aptitude install parted splitvt ; partprobe

2 root@storage :~# 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

Page 24: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# aptitude install mdadm

Em uma das telas do splitvt execute o comando para monitoração do RAID:

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

Na outra tela execute o comando para a criação do RAID-5:

1 root@storage :~# 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

Page 25: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Verifique se no arquivo existe alguma linha duplicada:

1 root@storage :~# 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 root@storage :~# mdadm --detail /dev/md1

Linux Network Servers Página 25

Page 26: Apostila Implementando RAID + LVM + Migração (1).pdf

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

Page 27: Apostila Implementando RAID + LVM + Migração (1).pdf

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM

1 root@storage :~# mkdir /mnt/raid

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

3 root@storage :~# 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 root@storage :~# df -Th | grep md1

2 /dev/md1 ext4 40G 176M 38G 1% /mnt/raid

3 root@storage :~# 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 root@storage :~# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdh /dev/sdi

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

3 root@storage :~# 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

Page 28: Apostila Implementando RAID + LVM + Migração (1).pdf

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br

1 root@storage :~# 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 root@storage :~# pvcreate /dev/md1

2 Physical volume "/dev/md1" successfully created

Vamos checar os PVs do sistema:

Página 28 Linux Network Servers

Page 29: Apostila Implementando RAID + LVM + Migração (1).pdf

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM

1 root@storage :~# 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 root@storage :~# vgcreate storage /dev/md1

2 Volume group "storage" successfully created

Vamos checar os VGs do sistema:

1 root@storage :~# 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

Page 30: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# lvcreate -L 5G -n home storage

2 Logical volume "home" created

Verifique o relatório do LV home:

1 root@storage :~# 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

Page 31: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# lvcreate -L 5G -n banco storage

2 Logical volume "banco" created

Verifique o relatório do LV banco:

1 root@storage :~# 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

Page 32: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# mkfs.ext4 /dev/storage/home

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

E finalize montando os novos dispositivos:

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

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

3 root@storage :~# 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 root@storage :~# 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

Page 33: Apostila Implementando RAID + LVM + Migração (1).pdf

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM

1 root@storage :~# 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 root@storage :~# umount /dev/storage/home

2 root@storage :~# 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 root@storage :~# 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 root@storage :~# mount /dev/storage/home /srv/storage/home

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

3 /dev/mapper/storage -banco

Linux Network Servers Página 33

Page 34: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# 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

Page 35: Apostila Implementando RAID + LVM + Migração (1).pdf

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM

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

2

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

4

5 root@storage :~# 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 root@storage :~# 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 root@storage :~# mount /dev/storage/home /srv/storage/home

2

3 root@storage :~# 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

Page 36: Apostila Implementando RAID + LVM + Migração (1).pdf

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 root@storage :~# du -sh /srv/storage/home

8 24M /srv/storage/home

Para remover a estrutura dos testes façamos os seguintes comandos:

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

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

3 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 gravação dos arquivos doSAMBA, vamos criar novos LVs da seguinte forma:

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

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

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

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

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

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

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

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

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

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

Aplique o sistema de arquivos EXT4 nos LVs criados:

Página 36 Linux Network Servers

Page 37: Apostila Implementando RAID + LVM + Migração (1).pdf

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM

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

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

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

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

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

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

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

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

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

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

E faça a montagem dos dispositivos:

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

/administrativo

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

logistica

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

comercial

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

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

suporte

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

publico

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

drivers

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

netlogon

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

profiles

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

lixeiras

Confirme a montagem através do comando mount:

Linux Network Servers Página 37

Page 38: Apostila Implementando RAID + LVM + Migração (1).pdf

16.4 Implementação Prática – LVM 4Linux – www.4linux.com.br

1 root@storage :~# 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 root@storage :~# lvcreate -L 500M -n intranet storage

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

Aplique o sistema de arquivos EXT4 nos LVs criados:

Página 38 Linux Network Servers

Page 39: Apostila Implementando RAID + LVM + Migração (1).pdf

4Linux – www.4linux.com.br 16.4 Implementação Prática – LVM

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

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

E faça a montagem dos dispositivos:

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

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

Confirme a montagem através do comando mount:

1 root@storage :~# 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 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:

1 root@storage :~# 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

Page 40: Apostila Implementando RAID + LVM + Migração (1).pdf

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