SAPOTI SERVIDORES DE APLICAÇÕES CONFIÁVEIS TCP/IP Autores: Egon Hilgenstieler – [email protected] Emerson F. F. Carara – [email protected] Roverli Pereira Ziwich – [email protected] Orientador: Prof. Elias Procópio Duarte Jr. Bacharelado em Ciência da Computação UFPR - 2002 Roteiro Diagnóstico & Protocolo SNMP A ferramenta SAPOTI Resultados Experimentais Conclusão Introdução As organizações dependem do bom funcionamento de suas redes Em muitos casos é necessário que a disponibilidade seja garantida Servidores de aplicações TCP/IP São componentes críticos para o bom funcionamento da rede Diagnóstico como infra-estrutura para a implementação de servidores de aplicações confiáveis Diagnóstico & Protocolo SNMP Diagnóstico em Nível de Sistema Componentes sem-falha do sistema determinem quais componentes estão falhos e quais estão sem-falha Diagnóstico Hierárquico Distribuído Os próprios nodos que realizam os testes fazem o diagnóstico do sistema Um algoritmo hierárquico adaptativos e distribuídos de diagnóstico em nível de sistema Hi-ADSD with Timestamps O Protocolo SNMP Padrão de gerência de redes da Internet Base de Informações Gerenciáveis (MIB) A Ferramenta SAPOTI Servidores de Aplicações cOnfiáveis Tcp/Ip Ferramenta que garante a alta disponibilidade de servidores TCP/IP Atua de forma distribuída em uma rede Em particular um servidor Web Rede monitorada pelo algoritmo Hi-ADSD with Timestamps Através das informações de diagnóstico geradas pelo algoritmo Esquema de prioridades – Identificadores Sequenciais A ferramenta disponibiliza o servidor Web na máquina sem-falha de maior prioridade da rede caso exista ao menos uma A Ferramenta SAPOTI A estratégia é executar o algoritmo como um daemon em cada máquina da rede O algoritmo verifica qual máquina está disponibilizando o servidor Web (Apache), inclusive ela própria É utilizado um endereço IP virtual associado ao servidor Web Todas as informações são obtidas através da MIB local A replicação do conteúdo disponibilizado pelo servidor Web É feita através do RSYNC Ferramenta SAPOTI Inicialização do servidor Web após a falha da máquina que disponibilizava o serviço. Interface Interface genérica para a infra estrutura de diagnóstico baseado no algoritmo Hi-ADSD with Timestamps A cada acesso as informações são obtidas da MIB Ponto de Gêrencia da Rede É possível alterar o testador do qual se lê a MIB a qualquer momento Interface Resultados Experimentais Realização de dois experimentos Período de observação de cerca de 12 horas Injeção de falhas No primeiro experimento No segundo experimento escalonamento de falhas “frequentes” ocasiona inclusive a falha simultânea de todas as máquinas algumas máquinas falham “frequentemente” havia a garantia de sempre uma máquina não estar falha Todas as máquinas estavam aptas a disponibilizar o servidor Web Apache Dados eram coletados de 5 em 5 segundos Primeiro Experimento Tempo, Injeção de Falhas Tempo de 12 horas e 23 minutos Puma - 01 5 minutos no ar 10 minutos fora do ar Kenny - 02 8 minutos no ar 9 minutos fora do ar Stan - 03 13 minutos no ar 7 minutos fora do ar- Kyle - 04 17 minutos no ar 6 minutos fora do ar Cartman - 05 21 minutos no ar 5 minutos fora do ar Lenoc - 06 25 minutos no ar 4 minutos fora do ar Primeiro Experimento Resultados Máquinas falharam 218 vezes Servidor Web trocou de máquina 177 vezes Número de Falhas das Máquinas no Experimento Puma 50 Kenny Máquinas 44 Stan 37 32 Kyle Cartman 29 Lenoc 26 0 10 20 30 40 Número de Falhas 50 60 Latência de Recuperação do Servidor Web 25 Número de Ocorrê ncias 20 Média ponderada recuperação de 16,4 segundos 15 12 8 10 5 3 4 8 9 10 11 15 16 17 21 27 28 29 33 34 51 52 53 1 1 2 4 2 2 4 2 1 1 1 2 2 0 6 7 Tempo de Recuperação em segundos Latência Acumulada de Recuperação do Servidor Web Número de Ocorrências Acumulada em % 20 120 97 100 88 90 92 93 94 100 76 80 68 71 65 54 56 57 60 49 60 44 40 17 20 0 6 7 8 9 10 11 15 16 17 21 27 28 29 33 34 51 52 53 Tempo de Recuperação em segundos Primeiro Experimento Resultados Disponibilidade de 97,35% - Indisponibilidade de 2,65% Das 12 horas e 23 minutos a indisponibilidade não passou de 20 minutos Disponibilidade em % do Servidor Web Número de Vezes que as Máquinas iniciaram o Servidor Web Quantidade 2,65 60 50 50 53 40 40 30 20 22 No Ar Fora do Ar 10 10 0 2 Puma Kenny Stan Kyle Cartman Lenoc 97,35 Máquinas Segundo Experimento Tempo, Injeção de Falhas Tempo de 12 horas e 40 minutos Puma - 01 20 minutos no ar 40 minutos fora do ar Kenny - 02 40 minutos no ar 20 minutos fora do ar Stan - 03 Sempre no ar Kyle - 04 Sempre no ar Cartman - 05 Sempre no ar Máquinas falharam 27 vezes Média ponderada recuperação de 14,0 segundos 8 7 6 5 4 3 2 1 0 7 2 2 7 8 1 1 1 17 18 27 29 Tempo de Recuperação em segundos Latência Acumulada de Recuperação do Servidor Web Número de Ocorrências Acumulada em % Número de Ocorrências Latência de Recuperação do Servidor Web 120 100 100 80 64 71 79 86 60 40 20 14 0 7 8 17 18 27 Tempo de Recuperação em segundos 29 Segundo Experimento Resultados Disponibilidade de 99,59% - Indisponibilidade de 0,41% Das 12 horas e 40 minutos a indisponibilidade não passou de 4 minutos Disponibilidade em % do Servidor Web Número de Vezes que as Máquinas iniciaram o Servidor Web Quantidade 15 14 14 0,41 13 10 No Ar 5 Fora do Ar 0 0 Kyle Cartman 0 Puma Kenny Stan Máquinas 99,58 Conclusão SAPOTI Atua em uma rede Uma estratégia distribuída Garante a alta disponibilidade de servidores Web Interface Web Visualizar as informações de diagnóstico da rede Resultados Primeiro experimento 12hs 23mins – Ocorreram 218 falhas – 6 máquinas Disponibilidade de 97,35% - Indisponibilidade não passou de 20 minutos Segundo Experimento Monitorada pelo algoritmo Hi-ADSD with Timestamps 12hs 40mins – Ocorreram 27 falhas – 5 máquinas Disponibilidade de 99,59% - Indisponibilidade não passou de 4 minutos Trabalhos Futuros A criação de um framework baseado em diagnóstico para a construção de aplicações distribuídas genéricas com alta disponibilidade