Apostila Implementando RAID + LVM + Migração (1).pdf
Short Description
Download Apostila Implementando RAID + LVM + Migração (1).pdf...
Description
4452 Linux Network Servers
www.4linux.com.br
Conteúdo 16 Implementando RAID + LVM 16.1 Introdução Teórica - RAID . . . . . . . . . . . . . . . . . . . . 16.1.1 Combinações de RAID . . . . . . . . . . . . . . . . 16.1.2 Introdução Teórica – LVM . . . . . . . . . . . . . . . 16.2 Gerenciando RAID 1 . . . . . . . . . . . . . . . . . . . . . . . 16.2.1 Testando o funcionamento . . . . . . . . . . . . . . 16.3 Adicionar RAID 5 no Storage . . . . . . . . . . . . . . . . . . . 16.3.1 Implementação Prática – RAID 5 . . . . . . . . . . . 16.4 Implementação Prática – LVM . . . . . . . . . . . . . . . . . . 16.4.1 Aumentando o tamanho do LV . . . . . . . . . . . . 16.4.2 Diminuindo o tamanho do LV . . . . . . . . . . . . . 16.4.3 Criar infraestrutura para arquivos do Samba . . . . 16.4.4 Criar infraestrutura para arquivos do servidor WEB .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
6 6 11 15 17 18 20 24 27 32 34 36 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 Redundante de Discos Independentes. A ideia básica por trás do RAID é combinar diversos discos e de baixo custo em um conjunto, a fim de atingir objetivos de desempenho ou redundância inatingíveis com um disco grande e de custo alto. Este conjunto de discos aparece para o computador como uma única unidade ou disco de armazenamento lógico. O conceito fundamental do RAID é que os dados podem ser distribuídos ao longo de cada disco do conjunto de maneira consistente. Para fazer isso, primeiramente os dados precisam ser quebrados em pedaços de tamanho consistente (geralmente de 32KB ou 64KB, apesar de poder usar tamanhos diferentes). Cada pedaço é então gravado em um disco rígido no RAID, conforme o nível do RAID usado. Quando os dados tiverem que ser acessados, o processo é revertido, dando a impressão de que os 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” via software só entra em funcionamento depois que o “Kernel” é carregado na memória do computador. A principal vantagem é a facilidade de configuração e a flexibilidade, já que podemos trabalhar com vários discos diferentes. A principal desvantagem é a dependê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. A principal 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 placa controladora se torna um SPOF - Single Point of Failure, ou seja, é necessário ter uma controladora de discos igual ou compatível 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 níveis de “RAID” utilizados hoje no mercado são os níveis 0, 1, 5, 6 e suas 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ância. Sua finalidade é aumentar o desempenho de leitura e gravação, 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 três discos, triplica. E assim por diante. São necessários ao menos dois discos para implementar “RAID 0” e eles podem ser de tamanhos diferentes.
1 E nt ã o o R AI D g a ra n te r e du n d â n ci a ?
Não!!! Esta é a desvantagem, pois se qualquer um dos discos falhar, o sistema operacional para de funcionar, além de ocasionar perda dos dados. Portanto, é um método que requer cuidados.
1 C a ra c te r í s t ic a s d o R AI D : 2 3 * E x ce l en t e g r av a ç ã o e l e it u ra ; 4
Página 8
Linux Network Servers
4Linux – www.4linux.com.br
16.1 Introdução Teórica - RAID
5 * A p ro v ei t am e n to t o ta l d e e sp a ç o ; 6 7 * N e nh u ma r e du n d â n ci a !
RAID 1 (Mirroring): O nível mais utilizado. Sua principal finalidade é prover redundância dos dados. Esta é garantida pela duplicação dos dados que são gravados em cada par de discos, logo, se um deles falhar, o outro continuará operando e mantendo 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 partes iguais e simultaneamente de todos os discos. A desvantagem desse nível é que só 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 R A ID 1 é b a ck u p ? N ã o ! ! !! ! É a p en as r e du nd â n c ia .
DICA DE SEGURANÇA: “RAID 1” espelhado não é backup. Se você apagar um arquivo acidentalmente, esse arquivo vai ser apagado em todos os discos. Sempre tenha uma CÓPIA dos dados.
1 C a ra c te r í s t ic a s d o R AI D 1 : 2 3 * R ed un d â nc ia : se u m d os d is co s f al ha r , o s is te ma c on ti nu a funcionando;
4 5 * Vo cê va i p re ci sa r de 2 HDs , m as s ó v ai u sa r a á rea ú til de 1; 6 7 * R ed uz um p ou co o d es em pe nh o da e sc ri ta , p oi s o m es mo d ad o é g ra va do n os d is co s q ue e st iv er em e m " R AI D 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 no sistema é o comando “rsync”. Outros comandos que nos mostra alguns detalhes importantes são “hdparm” e “sdparm”.
RAID 5: Neste nível de “RAID” teremos um balanço das vantagens e desvantagens do níveis anteriores, ou seja, “RAID 5” provê um ganho de desempenho e tolerância 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 composição, mais rápida será a leitura, uma vez que a gravação é distribuída em blocos de tamanhos iguais por todos os discos.
RAID 6: É um padrão relativamente novo, suportado por apenas algumas controladoras. 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. Ao usar 7 HDs de 500 GB em RAID 6, por exemplo, teríamos 2.5 TB para dados mais 1 TB de códigos de paridade. A percentagem de espaço sacrificado decai conforme são 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 espaç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 o processo de substituição e reconstrução dos dados do primeiro. Tanto no caso do RAID 5, quanto no RAID 6, o servidor continua funcionando normalmente durante todo o processo de substituição do disco, embora a performance decaia, sobretudo logo depois da substituição do drive defeituoso, quando o sistema precisa regravar os dados lendo as informações armazenadas em todos os outros discos 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. Fornece segurança efetuando espelhamento de todos os dados num conjunto secundário de discos enquanto utiliza listagem em cada conjunto de discos para acelerar as transferências de dados. O RAID 10 permite no máximo 2 discos avariados de 2 pares diferentes.
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 dados e outras aplicações com base em transações que requerem eficiência de armazenamento e proteção de dados críticos. Em artigos que comparam os níveis 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 comparação. Veja o gráfico abaixo:
RAID 0+1: É uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os dados são divididos entre os discos para melhorar o rendimento, mas também utilizam outros discos para duplicar as informações. Assim, é possível utilizar o bom rendimento do nível 0 com a redundância do nível 1. No entanto, é necessário pelo menos 4 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, o sistema 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 performance.
• 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 da versã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). Ele adiciona alguns complicadores adicionais na configuração, mas, em compensação oferece um conjunto de vantagens bastante interessantes. Imagine que no LVM o sistema não vê HDs e partições, mas sim um ou mais volumes lógicos. Cada volume se comporta como se fosse uma partição, que é formatada e montada da forma usual. Estes volumes são agrupados em um grupo de volumes ló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ários HDs e ser modificado conforme necessário, incorporando mais HDs. Os volumes lógicos dentro dele também podem ser redimensionados livremente conforme for necessário. Se você precisa de mais espaço dentro do volume referente à pasta /home, por exemplo, você poderia reduzir o tamanho de um dos outros volumes do sistema (que estivesse 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 de mais 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ê pode expandir o grupo de volumes lógicos, de forma que ele incorpore o espaço referente ao novo HD. A partir daí, você pode expandir os volumes lógicos, usando o espaço livre. 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 necessá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 sistema acessa os discos, ele não é um substituto para o RAID. No LVM você pode agrupar vários HDs em um único grupo de volumes lógicos, 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 espaço para ter uma camada de redundância.
O grupo de volumes lógicos criado pelo instalador é visto pelo sistema como "/dev/vg01"e os 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 criar a 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 caso de falhar um dos discos, continuamos com a leitura/gravação nos demais. Em relação ao usuário, o mesmo nem saberá que tem toda esta estrutura por trás da manipulaçã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 diversas opções em linha de comando. Antes de criar um novo dispositivo de RAID, vamos testar 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 m d : a c ti v e r ai d 1 s da 1 [ ] s db 1 [ 1] 4 8 2 9 8 8 8 b l oc k s s u pe r 1 .2 [ 2/ 2 ] [ U U
Para verificar os detalhes do RAID use a opção –detail do comando mdadm: 1 root@storage:~# mdadm --detail /dev/md 2 /dev/md: V e rs i on : 1 .2 3 4 C re at io n Ti me : M on D ec 5 1 5: 46 :1 2 11 5 R ai d L ev el : r ai d1 A rr ay Si ze : 8 29 8 8 8 (7 9. 7 Gi B 8 4. 9 GB ) 6 7 U se d D ev S iz e : 8 29 8 8 8 ( 7 9 . 7 G i B 8 4. 9 G B) 8 R ai d D ev ic es : 2 T ot al D ev ic es : 2 9 10 P e rs i st e nc e : S u pe r bl o ck is pe r si s te n t 11 U pd at e T im e : T ue Sep 4 16 : 8: 32 2 12 12 13 S t at e : c le a n 14 A ct iv e D e vi ce s : 2 15 W or ki ng D ev ic es : 2 16 F ai le d D e vi ce s : 17 S pa re D ev ic es : 18 N am e : d a ta c en t er : 19
Linux Network Servers
Página 17
16.2 Gerenciando RAID 1 20 21 22 23 24 25
4Linux – www.4linux.com.br
UUID : a5b2f3bd:f76188d1: c7d262e:93bcc849 E ve nt s : 7 Number
Major
Minor
RaidDevice State
8
1
active sync
/ dev / sda1
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, facilitando 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
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:
1 2 3 4 5 6
root@storage:~# vim /root/testaraid.sh #!/bin/bash w hi le t ru e ; d o d at e > > / d a d os . t x t s l e ep 1 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 r o ot @ st o ra g e : ~ # t ai l - f / d a do s . t xt
Na tela do splitvt acompanhe o que acontece com cada comando executado. Vamos inicialmente simular uma falha no disco sdb Digite:
1 r o ot @ st o ra g e : ~ # m da dm / d ev / m d - - fa il / d ev / s d b1
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 root@storage:~# mdadm /dev/md --remove / dev/sdb1
E adicione um novo disco: 1 r o ot @ st o ra g e : ~ # m da dm / d ev / m d - - ad d / d ev / s d b1
Ao adicionar um novo disco, o RAID 1 executa um recovery atualizando os dados do disco /dev/sda. Acompanhe no terminal através do comando watch: 1 root@storage:~# watch cat /proc/mdstat 2 P e rs o na l it i es : [ r a id 1 ] [ r a id 6 ] [ r a id 5 ] [ r a id 4 ] 3 m d : a c ti v e r ai d 1 s db 1 [ 1] s da 1 [ ] 8 2 9 8 8 8 b l oc k s s u pe r 1 .2 [ 2/ 1 ] [ U _ ] 4 5 [ = > . . . .. . .. . .. . .. . .. . .] r e co v er y = 6 .9 % ( 5 7 82 7 8 4/ 8 29 8 8 8 ) finish=9.2min speed=139393K/sec
Feitos os teste, cancele o script e desmonte o /mnt/raid para configurarmos o RAID 5 no Storage. 1 r o ot @ st o ra g e : ~ # j ob s - l 2 root@storage:~# kill -9
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 adicionar 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 ícone Adicionar Disco Rígido para criar um novo disco
Durante o assistente clique no botão Próximo (N) > para aceitar o tipo VDI como disco 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 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.
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 root@storage:~# cat /proc/partitions
CASO não apareça as partições, instale o pacote parted e execute o utilitário partprobe, verificando posteriormente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
r o ot @ st o ra g e : ~ # a p ti t ud e i n st a ll p a rt e d s p li t vt ; p a rt p ro b e root@storage:~# cat /proc/partitions cat / proc/partitions m aj or mi no r
# b lo ck s
n am e
8
838868 sda
8
1
8299184 sda1
8
2
1 sda2
8
5
973824 sda5
8
16
838868 sdb
8
17
8299184 sdb1
8
18
1 sdb2
8
21
973824 sdb5
8
32
148576 sdc
8
48
148576 sdd
Linux Network Servers
Página 23
16.3 Adicionar RAID 5 no Storage 16 17 18 19 20 21 22 23
8
64
148576 sde
8
8
148576 sdf
8
96
148576 sdg
9
829888 md
253
9764864 dm -
253
1
4882432 dm -1
253
2
974848 dm -2
253
3
1949696 dm -3
4Linux – www.4linux.com.br
16.3.1 Implementação Prática – RAID 5 Com os discos preparados, vamos iniciar a instalação e os procedimentos nestes discos. Lembramos que, como JÁ EXISTE um RAID 1 com 2 discos na máquina, 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 instalação:
1 root@storage:~# aptitude install mdadm
Em uma das telas do splitvt execute o comando para monitoração do RAID:
1 r o ot @ st o ra g e : ~ # w at ch - n c at / p r oc / m d s ta t
Na outra tela execute o comando para a criação do RAID-5:
1 r o ot @ st o ra g e : ~ # m da dm - - c re a te / d ev / m d 1 - - le v el = 5 - - ra id - d e vi c es = 5 / d ev / s d c / d ev / s dd / d ev / s de / d ev / s d f / d ev / s dg
2 m d ad m : D e fa u lt i ng t o v e rs i on 1 .2 m e ta d at a 3 m d ad m : a r ra y / d ev / m d1 s t ar t ed .
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 P e rs o na l it i es : [ r a id 1 ] [ r a id 6 ] [ r a id 5 ] [ r a id 4 ] 2 m d1 : a c ti v e ( a ut o - r ea d - o n ly ) r ai d 5 s dg [ 5 ]( S ) s df [ 3 ] s de [ 2 ] s dd [ 1 ] sdc[]
3
4 19 36 89 6 b lo ck s su pe r 1. 2 le ve l 5 , 51 2 k c hu nk , a l go ri th m 2 [5/4] [UUUU_]
4 5 m d : a c ti v e r ai d 1 s da 1 [ ] s db 1 [ 1] 8 2 9 8 8 8 b l oc k s s u pe r 1 .2 [ 2/ 2 ] [ U U 6
Bom, agora que o RAID está criado e ajustado para gravação, vamos configurar o 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 2 3 4 5
root@storage:~# vim / etc/mdadm/mdadm.conf ... # d e fi n it i on s o f e x is t in g M D a r ra ys ARRAY /dev/md/ metadata=1.2 UUID=a5b2f3bd:f76188d1:c7d262e:93 bcc849 name=datacenter:
6 ARRAY /dev/md/1 metadata=1.2 UUID=119e815:73fa19a:6e419d55: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
16.3 Adicionar RAID 5 no Storage
4Linux – www.4linux.com.br
2 /dev/md1: 3 V e rs i on : 1 .2 4 C re at io n Ti me : T ue S ep 4 1 6: 18 :1 1 2 12 R ai d L ev el : r ai d5 5 6 A rr ay Si ze : 4 19 36 89 6 (3 9. 99 Gi B 4 2. 94 GB ) 7 U se d D ev S iz e : 1 4 84 22 4 ( 1 . G i B 1 . 74 G B) R ai d D ev ic es : 5 8 T ot al D ev ic es : 5 9 10 P e rs i st e nc e : S u pe r bl o ck is pe r si s te n t 11 U pd at e T im e : T ue Sep 4 16 :1 8: 11 2 12 12 13 S t at e : c le an , d e gr a de d 14 A ct iv e D e vi ce s : 4 15 W or ki ng D ev ic es : 5 16 F ai le d D e vi ce s : 17 S pa re D ev ic es : 1 18 19 Layout : left- symmetric 20 C hu nk S iz e : 5 12 K 21 22 N am e : s to ra ge : 1 ( l oc al t o h os t s to ra ge ) 23 UUID : 119e815:73fa19a:6e419d55:7b885513 E ve nt s : 24 25 26 Number Major Minor RaidDevice State 8 32 active sync / dev / sdc 27 1 8 48 1 active sync / dev / sdd 28 29 2 8 64 2 active sync / dev / sde 3 8 8 3 active sync / dev / sdf 30 4 4 removed 31 32 5 8 96 spare / dev / sdg 33
Vamos criar um diretório, aplicar o sistema de arquivos e efetuar a montagem para testar o RAID:
Página 26
Linux Network Servers
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 verificação desmonte o diretório /mnt/raid:
1 r o ot @ st o ra g e : ~ # d f - Th | g re p m d1 2 / dev / md1 ext4 4 G 176 M 3 root@storage:~# umount /mnt/raid
38 G
1% / mnt / raid
Se você precisar adicionar um novo conjunto de discos ao RAID, use a opção --readwrite"para atualizar o RAID. Exemplo:
1 r oo t@ st or ag e : ~# m da dm - C / d ev / m d1 - l 1 - n 2 / d ev / s dh / d ev / s di 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 volumes utilizando LVM.
16.4 Implementação Prática – LVM Como efetuamos a instalação do servidor Debian GNU/Linux em cima de um volume RAID+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 root@storage:~# aptitude install lvm2
Os comandos utilizados para os testes com o LVM são:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
P V ( P h is i ca l V o lu m e ) p vs - s a í da r e su m id a p v sc an
- s aí da s im pl es
p v di s pl a y - s a í da d e ta l ha d a V G ( V o l um e G ro up ) v gs - s a í da r e su m id a v g sc an
- s aí da s im pl es
v g di s pl a y - s a í da d e ta l ha d a L V ( L o gi c al V o lu m e ) l vs - s a í da r e su m id a l v sc an
- s aí da s im pl es
l v di s pl a y - s a í da d e ta l ha d a
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 Datacenter. Neste RAID com LVM também serão armazenados os arquivos dos sites intranet e internet da DEXTER, que estão armazenados na maquina DMZ. Primeiro devemos adicionar um PV, sendo neste caso o volume md1 criado anteriormente:
1 root@storage:~# pvcreate /dev/md1 Physical volume "/dev/md1" successfully created 2
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 root@storage:~# pvdisplay 2 .... " / de v / md 1 " i s a n ew p hy si ca l v ol um e o f " 39 , 99 G iB " 3 4 - -- NE W P hy s ic a l v ol u me - - 5 PV Name / dev / md1 V G N am e 6 7 PV Size 39 ,99 GiB 8 Allocatable NO PE Size 9 10 Total PE 11 Free PE Allocated PE 12 PV UUID BxRMIE - A1rS -XKnp -z5Rg -SnFY -Lcb - Ta47VW 13
Perceba que o sistema nos informa de que o /dev/md1 é um novo volume físico e que não faz parte de nenhum VG! Sendo assim, vamos criar um novo VG com este PV (/dev/md1):
1 root@storage:~# vgcreate storage /dev/md1 2 V ol u me g r ou p " s t o ra g e " s u c ce s sf u ll y c r ea t ed
Vamos checar os VGs do sistema:
1 root@storage:~# vgdisplay -v storage 2 U s in g v o lu m e g ro u p ( s) o n c o mm a nd l i n e F i nd i ng v o lu me g r ou p " s t o ra g e " 3 4 - -- Vo l um e gr ou p -- 5 VG Name storage System ID 6 Format lvm2 7 8 Metadata Areas 1 M et ad at a S eq ue nc e No 1 9 VG Access read / write 10
Linux Network Servers
Página 29
16.4 Implementação Prática – LVM 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
VG Status
resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
1
Act PV
1
VG Size
39 ,99 GiB
PE Size
4 , MiB
Total PE
1238
Alloc PE / Size
/
Free
1238 / 39 ,99 GiB
PE / Size
VG UUID
4Linux – www.4linux.com.br
RkKG3y - DwIX -2 GDk -6 JB -Vrls -Hzx - h4PnuY
- -- P hy s ic a l vo l um e s -- PV Name
/ dev / md1
PV UUID
BxRMIE - A1rS -XKnp -z5Rg -SnFY -Lcb - Ta47VW
PV Status
allocatable
Total PE / Free PE
1238 / 1238
Na sequencia vamos criar um volume lógico de nome home dentro do VG storage para armazenar as homes dos usuários da maquina Datacenter
1 r o ot @ st o ra g e : ~ # l v cr e at e - L 5 G - n h om e s t or a ge 2 L o gi c al v o l um e " h om e " c re a te d
Verifique o relatório do LV home:
1 root@storage:~# lvdisplay -v /dev/storage/home U si ng l og i ca l vo l um e ( s ) o n c o mm a nd li ne 2 - -- Lo g ic a l vo l um e -- 3 4 LV Name / dev / storage / home VG Name storage 5 LV UUID hehfFo -3 IJb -1 UcU - OMU -lQFN -3 P5o -oebZBP 6
Página 30
Linux Network Servers
4Linux – www.4linux.com.br 7 LV Write Access 8 LV Status 9 # open LV Size 10 11 Current LE 12 Segments Allocation 13 Read ahead sectors 14 15 - currently set to Block device 16
16.4 Implementação Prática – LVM read / write available 5 , GiB 128 1 inherit auto 8192 253:4
Também sera criado um volume lógico de nome banco dentro do VG storage para armazenar o banco de dados MySQL da maquina Datacenter
1 r o ot @ st o ra g e : ~ # l v cr e at e - L 5 G - n b a nc o s t or a ge L o gi c al v o l um e " b an c o " cr e at e d 2
Verifique o relatório do LV banco:
1 root@storage:~# lvdisplay -v / dev/storage/banco U si ng l og i ca l vo l um e ( s ) o n c o mm a nd li ne 2 3 - -- Lo g ic a l vo l um e -- 4 LV Name / dev / storage / banco VG Name storage 5 6 LV UUID iYRa7L -MjIe -Mc4d -JGAo -evr7 -Ez8r -AZiQJa 7 LV Write Access read / write LV Status available 8 9 # open 10 LV Size 5 , GiB Current LE 128 11 Segments 1 12 13 Allocation inherit Read ahead sectors auto 14 - currently set to 8192 15
Linux Network Servers
Página 31
16.4 Implementação Prática – LVM 16
Block device
4Linux – www.4linux.com.br
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 2 3 4
root@storage:~# mount /dev/storage/home /srv/storage/home root@storage:~# mount /dev/storage/banco /srv/storage/banco r oo t@ st or ag e : ~# d f - hT | t ai l - n4 / dev /mapper /storage - home
ext4
5 , G
138 M
4 ,6 G
3% / srv /
ext4
5 , G
138 M
4 ,6 G
3% / srv /
storage/home
5 / dev /mapper / storage - banco 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 r o ot @ st o ra g e : ~ # c p - rv / b o ot / * / s rv / s t o ra g e / h om e ; c p - rv / s b in / * / 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 necessidades 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 r o ot @ st o ra g e : ~ # l v ex t en d - L + 2 g / d ev / s t o ra g e / ho me 2 E x te n di n g l o gi c al v o l u me h o m e t o 7 , G iB Logical volume home successfully resized 3
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 lógico foi estendido, porém o sistema em si ainda não sabe da mudança. Para isto devemos executar os comandos abaixo, sendo o primeiro para checar a integridade do volume e o segundo para redimensionar o tamanho:
1 2 3 4 5 6 7 8 9
root@storage:~# umount /dev/storage/home r o o t @s t or a ge : ~ # e 2 f sc k - f
/ d ev / s t o ra g e / ho me
e2fsck 1.41.12 (17-May -21) P as s 1 : C h ec k in g i no de s , b lo ck s , a nd s iz e s P as s 2 : C h ec k in g d i re c to r y s t ru c tu r e P as s 3 : C h ec k in g d i re c to r y c o nn e ct i vi t y P as s 4 : C h ec k in g r e fe r en c e c o un ts P as s 5 : C h ec k in g g r ou p s u mm a ry i n fo r ma t io n /dev/storage/home: 394/32768 files (.3% non- contiguous), 61916/13172 blocks
10 11 12 13 14
root@storage:~# resize2fs /dev/storage/home resize2fs 1.41.12 (17-May -21) R e si z in g t he f i le s ys t em o n / d ev / s t o ra g e / ho me t o 1 8 35 8 ( 4 k) b l oc ks . T he f i le s ys t em o n / d ev / s t o ra g e / h om e i s n ow 1 8 35 8 b l oc k s l on g .
Pronto! Agora monte a partição e veja o tamanho e o total dos dados que nela estavam:
1 root@storage:~# mount /dev/storage/home /srv/storage/home 2 r oo t@ st or ag e : ~# d f - Th | t ai l - n4 3 /dev/ mapper/storage -banco
Linux Network Servers
Página 33
16.4 Implementação Prática – LVM ext4 5 ,G 4 5 /dev/ mapper/storage -home 6 ext4 6 ,9G
4Linux – www.4linux.com.br 138 M
4 ,6G
3% / srv /storage /banco
163 M
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 - -- Lo g ic a l vo l um e -- 3 LV Name / dev / storage / home 4 5 VG Name storage 6 LV UUID hehfFo -3 IJb -1 UcU - OMU -lQFN -3 P5o -oebZBP read / write 7 LV Write Access 8 LV Status available 9 # open 1 LV Size 7 , GiB 10 11 Current LE 1792 12 Segments 2 Allocation inherit 13 Read ahead sectors auto 14 15 - currently set to 8192 Block device 253:4 16
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 isto devemos nos atentar para alguns detalhes sobre os passos a serem feitos. Vamos lá, primeiro passo é desmontar a partição. Depois devemos checar a integridade da partição para finalmente executar o comando que fará o “resizing”.
Página 34
Linux Network Servers
4Linux – www.4linux.com.br
1 2 3 4 5 6 7 8 9
16.4 Implementação Prática – LVM
root@storage:~# umount /dev/storage/home root@storage:~# e2fsck -f /dev/storage/home r o ot @ st o ra g e : ~ # r e si z e2 f s - p / d ev / s t o ra g e / h om e 5 g resize2fs 1.41.12 (17-May -21) R e si z in g t he f i le s ys t em o n / d ev / s t o ra g e / ho me t o 1 3 1 7 2 ( 4 k) b l oc ks . B eg in p as s 3 ( ma x = 5 6) Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 T he f i le s ys t em o n / d ev / s t o ra g e / h om e i s n ow 1 3 1 7 2 b l oc k s l on g .
Neste exemplo temos uma partição de 7GB e eu desejo reduzir apenas 5GB. Então, para não quebrar a partição 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 partição: 1 root@storage:~# lvreduce -L -2G /dev/storage/home 2 W A RN I NG : R e du c in g a c t i ve l o gi c al v o lu m e t o 5 , G i B T HI S M A Y D E ST R OY Y OU R D A TA ( f i l e sy s te m e t c . ) 3 4 D o y o u r ea ll y w an t t o r ed uc e h om e ? [ y / n ]: y 5 R e du c in g l o g ic a l v o lu m e h om e t o 5 , G i B Logical volume home successfully resized 6
Os comando acima reduziram de forma lógica o tamanho da partição para que depois possamos reduzir de forma física. Agora é só montar e checar os dados! 1 root@storage:~# mount /dev/storage/home /srv/storage/home 2 3 r oo t@ st or ag e : ~# d f - Th | t ai l - n4 ext4 5 , G 138 M 4 ,6 G 3% / srv / 4 / dev /mapper / storage - banco storage/banco
Linux Network Servers
Página 35
16.4 Implementação Prática – LVM 5 / dev /mapper /storage - home
4Linux – www.4linux.com.br ext4
5 ,G
162 M
4 ,6G
4% / srv /
storage/home
6 7 root@storage:~# du -sh /srv/storage/home 8 2 4 M / s rv / s t o ra g e / h om e
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 do SAMBA, vamos criar novos LVs da seguinte forma:
1 2 3 4 5 6 7 8 9 10
r o ot @ st o ra g e : ~ # l v cr e at e - L 2 G - n a d mi n is t ra t i vo s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 2 G - n l o gi s ti c a s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 2 G - n c o me r ci a l s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 2 G - n r h s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 2 G - n s u po r te s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 2 G - n p u bl i co s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 1 G - n d r iv e rs s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 1 G - n n e tl o go n s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 5 G - n p r of i le s s t or a ge r o ot @ st o ra g e : ~ # l v cr e at e - L 5 G - n l i xe i ra s s t or a ge
Aplique o sistema de arquivos EXT4 nos LVs criados:
Página 36
Linux Network Servers
4Linux – www.4linux.com.br 1 2 3 4 5 6 7 8 9 10
16.4 Implementação Prática – 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 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
16.4 Implementação Prática – LVM
4Linux – www.4linux.com.br
1 r o ot @ st o ra g e : ~ # m ou nt | g re p s a mb a 2 /dev/mapper/storage -administrativo on /srv/storage/samba/ a d mi n is t ra t iv o t yp e e xt 4 ( r w )
3 /dev/mapper/storage -logistica on /srv/storage/samba/logistica type e xt 4 ( r w )
4 /dev/mapper/storage -comercial on /srv/storage/samba/comercial type e xt 4 ( r w )
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 e xt 4 ( r w )
10 /dev/mapper/storage -profiles on /srv/storage/samba/profiles type e xt 4 ( r w )
11 /dev/mapper/storage -lixeiras on /srv/storage/samba/lixeiras type e xt 4 ( r w )
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:
1 r o ot @ st o ra g e : ~ # l v cr e at e - L 5 M - n i n tr a ne t s t or a ge 2 r o ot @ st o ra g e : ~ # l v cr e at e - L 5 M - n i n te r ne t s t or a ge
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 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 r o ot @ st o ra g e : ~ # m ou nt | g re p i nt 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 montagem. Use os comandos blkid e awk para filtrar os UUID dos LVs que estão no grupo storage, enviando este resultado para o final do arquivo /etc/fstab:
1 r o ot @ st o ra g e : ~ # b lk id | g re p / d ev / m a p pe r / s t or a ge | a wk - F " " ’{ p r in t $2 , $ 1 } ’ > > / e tc / f s ta b
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 c6c7b9dbbb /srv/ storage/home e xt 4 d ef au lt s 2
4 UUID=1f5315- cd8-4f2b-8c4 -7f1cb93375fd /srv/storage/banco e xt 4 d ef au lt s 2
Linux Network Servers
Página 39
View more...
Comments