“Ambiente Tolerante a Falhas Utilizando Software Livre” Gerência de Suporte de Software 29/08/2003 Alessandro Luiz Petrocino Elaine Cristina Franchini dos Anjos Ementa da Palestra • Conceito de Ambiente Tolerante a Falhas • H.A. • Heartbeat • • IP Virtual (Floating Address) • Topologia 1 Load Balance e Linux Virtual Server (LVS) • • Espelhamento com DRBD (Block Device Redundancy) • • Topologia 3 Integração do DRBD com o Heartbeat • • Topologia 2 Topologia 4 Dúvidas Motivação -Ligada diretamente a nossa dependência aos computadores -Transtornos cada vez maiores causados pela eventual falha destes sistemas -Nossos clientes desejam um sistema operante a qualquer momento, com qualidade -Qual é a missão crítica ? A EFICIÊNCIA se torna um diferencial O que é “Alta Disponibilidade”? Disponibilidade = probabilidade de um sistema estar disponível (em perfeito funcionamento) Redundância do ambiente sistemático existente (equipamentos de rede, link, serviços, QoS) FUNCIONALIDADE  24x7 • Básica  Qualquer sistema que garanta 99% de disponibilidade • Alta  Sistemas especializados (acréscimos de 0,99%s – 99,99...%) • Contínua  Situação ideal (teórica) – Disponibilidade = 1 (Non-Stop-System) Teoria dos 0,99%s   Quanto mais 0,9s , mais qualidade e robustez o sistema garante. Mais 0,9s?  Mais ga$to! (Quanto se pode gastar ???) “A Alta Disponibilidade deve estar associada a real necessidade existente da empresa e em seus serviços.” Sistema X Ambiente Sistema  Servidores responsáveis pelos serviços existentes, que devem estar sempre disponíveis Ex: Web Servers, DB Servers, Application Servers, Mail Servers, etc Ambiente  TODOS os recursos responsáveis pela Alta Disponibilidade !!! Ex: Link, hubs e switches, computadores, placas de rede, roteadores, servidores, etc. Vantagens da HA   Manutenção programada Atualização de Software e Hardware (sempre tem uma redundância ao mexer em um sistema)  Satisfação do cliente (ele sempre consegue acesso aos serviços)  Não afeta o usuário final, pois o serviço se mantém no ar, com QUALIDADE Solução adotada Linux+Heartbeat+LVS+DRBD+Mon Software Livre •Baixo cu$to •Documentação ampla existente na Web •Conhecimento já existente •Filesystem dinâmico (ReiserFS ou EXT3) Heartbeat   Protocolo para monitoramento (UDP/694) Mensagens enviadas em intervalos regulares Se não recebida, o protocolo assume que a máquina falhou, tomando uma ação específica    Master   Slave Inicia e encerra serviços (http, mail, NFS, etc) IP Address Takeover (IPAT) (reconfigura a interface de rede)  alias Topologia 1 – Heartbeat 192.168.0.10 Public Network 192.168.0.11 Cluster System System A A WebServer Database 192.168.0.12 Ethernet Heartbeat connection Serial Heartbeat connection SCSI BUS Disk 1 Cluster System System B B Linux Virtual Server - LVS     É um Linux Director Box Layer 4 Switching (camada de transporte) Redirecionamentos por NAT e Directing Routing Permite escalabilidade Como funciona? – LVS •Redireciona os serviços dos clientes para os real-servers por reescrita de pacotes (NAT) ou por direct routing. •Algoritmo de decisão (WLC, Round Robin) •Vários serviços implementados (schedulers) (http, https, ftp, pop, imap, ldap) •Possibilidade de agregar novos serviços (none) (imaps, pops, etc) Topologia 2 – LVS LVS + Heartbeat LVS + Heartbeat DRBD Distributed Replicated Block Device   Espelha os dados diretamente em blocos (raw device), através da rede Funciona com um filesystem montado e o outro, desmontado. Topologia 3 – DRBD System A /export/database System B Ethernet Heartbeat connection DRBD Dedicated Channel Unmounted fylesystem Monitoramento – MON     Monitora vários serviços ao mesmo tempo Consome poucos recursos Notificação inteligente (mail, SMS, bip) Atitudes pré-definidas ou com intervenção do Administrador Mon - Exemplo Referências  High-Availability Linux Project http://www.linux-ha.org  H.A. Brasil http://ha.underlinux.com.br  Linux Virtual Server Project http://www.linuxvirtualserver.org  Ultra Monkey H.A. http://www.ultramonkey.org  DRBD Project http://www.complang.tuwien.ac.at/reisner/drbd/ Dúvidas Contato Suporte Unix – CCUEC [email protected]