33
Alta Disponibilidade em Ambientes Linux Alta Disponibilidade em Ambientes Linux Felipe Buarque de Queiroz Jorge Fernando Matsudo Iwano {felipe.buarque, jorge.iwano}@gmail.com Fundação de Amparo a Pesquisa do Estado de Alagoas - FAPEAL Unidade Gestora de Tecnologia da Informação - UGTI Agosto de 2009 1 / 32

Alta Disponibilidade em Ambientes Linux

Embed Size (px)

DESCRIPTION

Apresentação no IV Debian Festival - Maceió/AL

Citation preview

Page 1: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Felipe Buarque de QueirozJorge Fernando Matsudo Iwano

{felipe.buarque, jorge.iwano}@gmail.com

Fundação de Amparo a Pesquisa do Estado de Alagoas - FAPEALUnidade Gestora de Tecnologia da Informação - UGTI

Agosto de 2009

1 / 32

Page 2: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Conteúdo I

1 IntroduçãoConceitosDefiniçãoProcessos Organizacionais

2 SPOFs

3 Soluções em HAFontes RedudantesLinks RedundantesMonitoração de NósReplicação de discosSistemas de ArquivosMonitoração de Serviços

4 Estudo de caso - FAPEAL

2 / 32

Page 3: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Conceitos

Tipos de disponibilidade

Disponibilidade Básica: encontrada em máquinas comuns,sem nenhum mecanismo especial em software ou hardware.Disponibilidade de 99% a 99, 9%

Alta Disponibilidade: adiciona-se mecanismos de detecção,recuperação e mascaramento de falhas. Disponibilidade de99, 99% a 99, 999%

Disponibilidade Contínua: cada vez mais próximo de 100%de disponibilidade. Tempo de inoperância desprezível. Todasas paradas são mascaradas.

3 / 32

Page 4: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Conceitos

Falha, Erro e Defeito

Falha: Ocorre no universo físico, nível mais baixo do hardware

Erro: Representação da falha no universo informacional

Defeito: Informação errônea não percebida e não tratada.Percebido no universo do usuário como travamento,mensagens de erro ou perda de dados

4 / 32

Page 5: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Conceitos

Failover e Failback

Failover: Processo no qual um recurso assume os serviços deoutro similar quando este último apresenta falha. Pode serautomático ou manual, sendo o primeiro desejado em umambiente de alta disponibilidade

Failback: Após a manutenção e correção, sendo recuperadodo estado de falha, o recurso é colocado em serviço, e entãose realiza o processo inverso ao de failover. Pode serautomático ou manual, sendo este segundo muitas vezesdesejado de forma a não haver nova interrupção nos serviços

5 / 32

Page 6: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Conceitos

Estatísticas

MTBF (Mean Time Between Failure): Tempo total deoperação / Número total de falhas

MTTR (Mean Time To Repair)

Disponibilidade: MTBF / (MTBF + MTTR)

6 / 32

Page 7: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Conceitos

Os “noves”

7 / 32

Page 8: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Definição

O que é Alta Disponibilidade (HA)?

HA

Projeto e desenho de todo o sistema e sua implementaçãocorrespondente, de modo a possuir um grau absoluto decontinuidade operacional durante um período determinado

NÃO é um produto ou aplicação, é uma característica dosistema

8 / 32

Page 9: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Definição

O que é Alta Disponibilidade (HA)?

HA

Projeto e desenho de todo o sistema e sua implementaçãocorrespondente, de modo a possuir um grau absoluto decontinuidade operacional durante um período determinado

NÃO é um produto ou aplicação, é uma característica dosistema

8 / 32

Page 10: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Processos Organizacionais

Processos Organizacionais

Identificar picos de demanda

Estabelecer metas de disponibilidade

Construir ambiente físico apropriado

Criar processos automatizados

Utilizar ambiente de desenvolvimento e testes

Manter estoque de peças sobressalentes

Contratar capacidade por demanda

9 / 32

Page 11: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Introdução

Processos Organizacionais

Processos Organizacionais

Definir um processo de escalonamento

Realizar um planejamento para desastres

Treinar a equipe para administração do sistema em HA

Realizar testes periodicamente

Documentar todo e qualquer detalhe

10 / 32

Page 12: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

SPOFs

Conteúdo I

1 IntroduçãoConceitosDefiniçãoProcessos Organizacionais

2 SPOFs

3 Soluções em HAFontes RedudantesLinks RedundantesMonitoração de NósReplicação de discosSistemas de ArquivosMonitoração de Serviços

4 Estudo de caso - FAPEAL

11 / 32

Page 13: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

SPOFs

Single Points of Failure - SPOFs

Recurso do sistema em que, caso falhe, provoca aindisponibilidade de todo o sistema

Reduzir os SPOFs exige custos e adiciona um considerávelgrau de complexidade na infra-estrutura

Um bom design de HA elimina pontos simples de falha

12 / 32

Page 14: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

SPOFs

SPOF - Exemplo

13 / 32

Page 15: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

SPOFs

Eliminando os SPOFs

Conexão LAN

Interface LAN

Discos do sistema (ROOT disk)

Discos dos dados

Fonte de energia

Interface com os discos

Sistema Operacional

Programas aplicativos

14 / 32

Page 16: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Conteúdo I

1 IntroduçãoConceitosDefiniçãoProcessos Organizacionais

2 SPOFs

3 Soluções em HAFontes RedudantesLinks RedundantesMonitoração de NósReplicação de discosSistemas de ArquivosMonitoração de Serviços

4 Estudo de caso - FAPEAL

15 / 32

Page 17: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Fontes Redudantes

Fontes Redudantes

Possibilidade de substituição “a quente”

Fases de energia distintas

Disponibilidade de gerador

16 / 32

Page 18: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Links Redundantes

Links Redundantes

Links de operadoras distintas

Autonomous Systems

Virtual Router Redundancy Protocol (VRRP)

17 / 32

Page 19: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Links Redundantes

Links Redundantes

18 / 32

Page 20: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Monitoração de Nós

Heartbeat

Núcleo do ambiente de HA

Monitoramento dos servidores em produção

Coordena as ações de failover e failback

19 / 32

Page 21: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Monitoração de Nós

KeepAlived

Adiciona facilidades ao LVS Project

Monitoramento dos servidores do pool LVS

Implementa o VRRP v2 para coordenar ações de failover

20 / 32

Page 22: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Replicação de discos

Redundant Array of Independent Drives - RAID

Subsistema de armazenamento composto de vários discosindividuais

2 objetivos básicos: desempenho e segurança

Implementação via hardware ou software

Técnicas:

RAID 0

RAID 1

RAID 2

RAID 3

RAID 4

RAID 5

RAID 6

RAID 10

RAID 50

RAID 100

21 / 32

Page 23: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Replicação de discos

RAID

Figura: Exemplo de RAID 10

22 / 32

Page 24: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Replicação de discos

Distributed Replicated Block Device - DRBD

Espelhamento de dados, entre servidores, em partições

Conhecido como RAID 1 via rede

23 / 32

Page 25: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Sistemas de Arquivos

Sistemas de Arquivos

Sistema de arquivo consistente

Compatível com o esquema de journaling - EXT3

Opções: ZFS, GFS...

24 / 32

Page 26: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Monitoração de Serviços

Mon

Responsável pelo monitoramento de serviços

Envia alertas ao administrador da rede sobre quedas de serviço

Permite customização de scripts de alertas

25 / 32

Page 27: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Soluções em HA

Monitoração de Serviços

HAProxy

Responsável por balancear a carga entre servidores de umcluster

Provê suporte a failover e controle de sessão

Provê relatórios do sistema na web

26 / 32

Page 28: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Estudo de caso - FAPEAL

Conteúdo I

1 IntroduçãoConceitosDefiniçãoProcessos Organizacionais

2 SPOFs

3 Soluções em HAFontes RedudantesLinks RedundantesMonitoração de NósReplicação de discosSistemas de ArquivosMonitoração de Serviços

4 Estudo de caso - FAPEAL

27 / 32

Page 29: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Estudo de caso - FAPEAL

Ambiente

2 servidores HP DL360 virtualizados - XEN

Máquinas virtuais rodando Debian 5.0 64bits

Disponibilidade de links redundantes: RNP / Embratel

Serviços essenciais: página da FAPEAL, webmail, BCCT

28 / 32

Page 30: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Estudo de caso - FAPEAL

Estado atual

Heartbeat + DRBD

29 / 32

Page 31: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Estudo de caso - FAPEAL

Planos futuros

HAProxy + KeepAlived + Heartbeat + DRBD + Mon

30 / 32

Page 32: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Estudo de caso - FAPEAL

Links Interessantes

Linux HA - http://www.linux-ha.org/

LVS Project - http://www.linuxvirtualserver.org/

31 / 32

Page 33: Alta Disponibilidade em Ambientes Linux

Alta Disponibilidade em Ambientes Linux

Estudo de caso - FAPEAL

Perguntas?

32 / 32