slides

291 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
291
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

slides

  1. 1. Compartilhamento de Dados em Storage de Alta Disponibilidade Compartilhamento de Dados em Storage de Alta Disponibilidade Leonardo Antônio dos Santos¹ Orientadora Prof. Esp. Sabrina Vitório Oliveira Sencioles¹ Co-orientador M.Sc. Pedro Eugênio Rocha² ¹Faculdades Integradas do Brasil (UNIBRASIL) ²Universidade Federal do Paraná (UFPR)
  2. 2. Compartilhamento de Dados em Storage de Alta Disponibilidade Sumário  Introdução  Contexto / Problema / Objetivos / Justificativa  Metodologia da Pesquisa  Estado da Arte  Trabalhos Relacionados  Solução Tecnológica  Testes / Validação  Conclusão
  3. 3. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução  OBJETO DE ESTUDO:  Protocolos de Rede e Sistemas Distribuídos (Área 2).  CONTEXTO:  Compartilhamento de dados em Storage de alta disponibilidade para a infraestrutura de TI da UniBrasil (alunos/professores) via Intranet/Internet através da junção de tecnologias código aberto.  O QUE SE DISCUTE?  Uma solução tecnológica que utilize ferramentas de código livre para disponibilização de espaço de armazenamento distribuído, com alta performance e disponibilidade para fins de ensino e pesquisa.
  4. 4. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução (Problema de Pesquisa)  Dificuldade de se compartilhar dados  Inexistência de uma área de armazenamento de dados e a compartilhada entre o corpo docente e discente da UniBrasil para grandes volumes com alta disponibilidade.  Alto custo de tecnologias de armazenamento  Despejo de hardware no meio ambiente
  5. 5. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução (Objetivos)  Objetivo Geral  Integrar/Implantar tecnologias de código livre de modo que permitam compartilhar dados com alta disponibilidade na Intranet da UniBrasil e na Internet.
  6. 6. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução (Objetivos)  Objetivos Específicos  Estudar sobre protocolos/tecnologias de armazenamento, alta disponibilidade, escalabilidade e análise de performance.  Avaliar as tecnologias existentes para o fim proposto e, com as mais adequadas, aplicá-las na solução do problema apresentado.  Implantar uma solução tecnológica que, por meio das tecnologias avaliadas, possibilite o compartilhamento de dados de forma distribuída e altamente disponível.
  7. 7. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução (Justificativa)  O compartilhamento de dados torna-se custoso para a implantação de grandes áreas e necessitam de soluções especializadas (e caras!) para este fim.  Já estão disponíveis protocolos de armazenamento e ferramentas de alta disponibilidade abertas que podem suprir esta demanda.  Seria possível um reaproveitamento de hardware e um maior cuidado com o meio ambiente.
  8. 8. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução (Justificativa)  Cotação: Storage HP (aprox. 12 TBytes)
  9. 9. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução (Metodologia da Pesquisa)  Natureza da Pesquisa  Redes de Computadores e Sistemas Distribuídos (Protocolos de Comunicação, Arquitetura de Clusters e Servidores, Sistemas Distribuídos, Alta Disponibilidade)  Tipo de Pesquisa  Aplicada e Bibliográfica.  Estudo sistematizado de ferramentas e soluções existentes seguido da aplicação das mais adequadas com a validação e avaliação final do conjunto estudado apresentando seus resuldados.
  10. 10. Compartilhamento de Dados em Storage de Alta Disponibilidade Estado da Arte  Compartilhamento de Dados  DAS / NAS / SAN  Protocolos de Compartilhamento de Disco  ATA over Ethernet (AoE)  iSCSI  Fibre Channel  Alta Disponibilidade / Escalabilidade / Performance  Redundant Array of Independent Disks (RAID)  Logical Volume Manager (LVM)
  11. 11. Compartilhamento de Dados em Storage de Alta Disponibilidade Direct Attached Storage (DAS)  Tradicionalmente (DAS):
  12. 12. Compartilhamento de Dados em Storage de Alta Disponibilidade Direct Attached Storage (DAS)  Tradicionalmente (DAS):
  13. 13. Compartilhamento de Dados em Storage de Alta Disponibilidade Direct Attached Storage (DAS)  Tradicionalmente (DAS):  RAID  Volume Managers (LVM)  Distância máx. 15m  Máx. 16 discos / servidor  Um servidor / disco  Expansão exige desligamento
  14. 14. Compartilhamento de Dados em Storage de Alta Disponibilidade Network Attached Storage (NAS)  Datacenter: LAN
  15. 15. Compartilhamento de Dados em Storage de Alta Disponibilidade Network Attached Storage (NAS)  Gerenciamento  Backups  Flexibilidade  Compartilhamento Problemas:  Datacenter: LAN  Compartilha arquivos  Tudo na mesma rede  Fácil cascateamento
  16. 16. Compartilhamento de Dados em Storage de Alta Disponibilidade Storage Area Network (SAN)
  17. 17. Compartilhamento de Dados em Storage de Alta Disponibilidade Storage Area Network (SAN)
  18. 18. Compartilhamento de Dados em Storage de Alta Disponibilidade Storage Area Network (SAN)  Protocolos:  Fibre Channel  iSCSI  AoE  Vantagens:  Longas distâncias  Flexibilidade  Gerenciamento centralizado  Rede de dados separada
  19. 19. Compartilhamento de Dados em Storage de Alta Disponibilidade SANs - Protocolos  Fibre Channel  Encapsula comandos SCSI  Implementação própria das camadas de rede  FC{0,1,2,3,4}  Hardware especializado e dedicado (e caro!)  Switches  Cabeamento  Host Bus Adapters (HBAs)  ↑ Custo  ↑ Complexidade  4 ou 8 Gbps
  20. 20. Compartilhamento de Dados em Storage de Alta Disponibilidade SANs - Protocolos  iSCSI  Encapsula comandos SCSI em pacotes IP  Vantagens por utilizar rede IP  Interoperabilidade  Roteamento  Criptografia  VLANs  ↓ Custo  ↓ Complexidade  ↑ Overhead (IP)
  21. 21. Compartilhamento de Dados em Storage de Alta Disponibilidade SANs - Protocolos  AoE (ATA over Ethernet)  Encapsula comandos ATA sobre Ethernet (layer 2)  Simplicidade  ↓ Custo  ↓ Complexidade  ↓ Overhead (layer 2)  ↓ Funcionalidade  Ethernet 1 / 10 / 40 Gbps
  22. 22. Compartilhamento de Dados em Storage de Alta Disponibilidade SANs - Protocolos
  23. 23. Compartilhamento de Dados em Storage de Alta Disponibilidade Alta Disponibilidade / Performance  RAID0  RAID1  RAID5  Performance  Espelhamento  Paridade  Outras vantagens:  Striping  Hot Spare
  24. 24. Compartilhamento de Dados em Storage de Alta Disponibilidade Alta Disponibilidade  LVM  Vantagens  Flexibilidade  Escalabilidade  Performance  Gerenciamento  Uso adequado do espaço
  25. 25. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (FreeNAS)
  26. 26. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (FreeNAS)  Características  Appliance baseado em Web para compartilhamento NAS entre usuários finais;  Funciona em SAN somente através do iSCSI (export);  Necessita de uma instância em cada host que se deseja compartilhar o DAS;  Apresenta soluções de compartilhamento nativas (NFS, SMB/CIFS, FTP, RSYNC), diferindo do objetivo fim deste trabalho.
  27. 27. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (OpenFiler)
  28. 28. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (OpenFiler)  Características  É também um Appliance baseado em Web, mas tanto para NAS quanto SAN;  Em SAN, funciona apenas com iSCSI (mount/export);  Possui soluções de compartilhamento nativas (NFS, SMB/CIFS, Web-DAV e FTP), diferindo do objetivo fim deste trabalho.  Tem suporte a LVM e RAID.
  29. 29. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (GoogleFS)
  30. 30. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (GoogleFS)  Características  Tem a finalidade de resolver as suas altas demandas de acesso a dados dos mais diversos tipos com o rigor que cada tipo de dados merece;  Provê tolerância a falhas e alta disponibilidade em hardware comum e de baixo custo, juntamente com uma alta performance agregada para grandes quantidades de usuários.
  31. 31. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados FreeNASFreeNAS OpenFilerOpenFiler CDSADUCDSADU Baseado em software livreBaseado em software livre SimSim SimSim SimSim É uma SAN completaÉ uma SAN completa NãoNão SimSim SimSim Evita overhead TCPEvita overhead TCP NãoNão NãoNão SimSim Alta disponibilidade em RAIDAlta disponibilidade em RAID SimSim SimSim SimSim Dinamicamente expansível com LVMDinamicamente expansível com LVM NãoNão SimSim SimSim Baixo consumo de memóriaBaixo consumo de memória NãoNão NãoNão SimSim  Quadro Compartativo
  32. 32. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta  Ferramentas Utilizadas  Protocolos  ATA over Ethernet  Ferramentas  AoE Tools  vBlade  Linux Debian Squeeze 6  LVM2  MDADM  Shell Script (Bash)
  33. 33. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Topologia Geral)
  34. 34. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Targets)  Arquitetura dos Targets
  35. 35. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Gateway)  Arquitetura do Gateway
  36. 36. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Clientes)  Interface aos Clientes
  37. 37. Compartilhamento de Dados em Storage de Alta Disponibilidade Avaliação da Solução  Metodologia adotada nos testes  Macrobenchmarks:  Workloads sintéticos.  Simulam comportamento de sistemas reais. → Variando entre acesso local nos targets e acesso remoto a partir do gateway. → Medindo vazão de disco, utilização de CPU e rede.
  38. 38. Compartilhamento de Dados em Storage de Alta Disponibilidade Ambiente de Testes  2 TARGETs  Processador: AMD Duron 900 MHz  Memória RAM: 512 MB de memória RAM  Discos: 4 / 7.500 rpm IDE / 400 GB / RAID nível 5  Rede: 1 interface Ethernet 100Mbps  1 TARGET  Processador: AMD Duron 900 MHz  Memória RAM: 512 MB  Discos: 4 / 7.500 rpm IDE / 40 GB / RAID nível 5  Rede: 1 interface Ethernet 100Mbps
  39. 39. Compartilhamento de Dados em Storage de Alta Disponibilidade Ambiente de Testes  1 TARGET  Processador: Intel Pentium E2140 1.6 GHz  Memória RAM: 1 GB  Discos: 2 / 7.500 rpm IDE / 400 GB; 1 / 7.500 rpm IDE / 40 GB; 1 / 7.500 rpm SATA / 80 G; todos em RAID nível 5  Rede: 1 interface Ethernet 100Mbps  GATEWAY  Processador: Intel Pentium E2140 1.6 GHz  Memória RAM: 1 GB  Discos: 2 / 7.500 rpm IDE / 400 GB; 1 / 7.500 rpm IDE / 40 GB; 1 / 7.500 rpm SATA / 80 G; todos em RAID nível 5  Rede: 3 interfaces Ethernet 100Mbps; 1 para uplink e 2 agregadas para tráfego exclusivo SAN.
  40. 40. Compartilhamento de Dados em Storage de Alta Disponibilidade Resultados  Fileserver  Vazão aumenta conforme aumenta-se o núm. de targets  Webserver e Varmail  Consumo de memória e processamento conduzem à queda de IO.  Oltp  Grande parte das operações são feitas em O_DIRECT, o que evita a variação.  Vazão
  41. 41. Compartilhamento de Dados em Storage de Alta Disponibilidade Resultados  Local  Consumo local é maior que remoto em todos os workloads;  Apresenta uma linha de base dos targets;  Inversão de resultados depende do perfil do workload.  Remoto  Estabilidade nos workloads que usam memória devido a caches (gateway) e buffers (targets);  Oltp consome por pouco usar memória.  Utilização de CPU ”A existência de memória RAM suficiente faz com que o consumo de CPU não seja determinante na maioria dos workloads.”
  42. 42. Compartilhamento de Dados em Storage de Alta Disponibilidade Resultados  Observações  Fileserver teve consumo inverso ao resultado da vazão (ideal!);  Webserver é parecido com Fileserver, mas com um aumento global. Operações de leitura exigem um acesso. Pouco beneficia-se do write-back;  Varmail apresenta pouco uso e pouca variação, pois realiza muitas das operações pequenas e aleatórias em memória;  Oltp tem aumento proporcional aos parâmetros.  Utilização de Rede ”Quanto maior o uso de memória distribuída no cluster, menor é o impacto da solução na utilização de rede.”
  43. 43. Compartilhamento de Dados em Storage de Alta Disponibilidade Resultados  Resumo:  Workloads típicos de armazenamento e compartilhamento de dados apresentam o resultado esperado para a solução proposta.  O consumo de memória é determinante na utilização dos recursos, confirmando uma boa escolha no protocolo SAN escolhido.  A distribuição da carga apresenta ganhos de performance de IO na maioria dos casos.
  44. 44. Compartilhamento de Dados em Storage de Alta Disponibilidade Conclusão  Este trabalho apresentou uma solução tecnológica para armazenamento SAN em alta disponibilidade que possibilita o compartilhamento de dados na Unibrasil com software livre e hardware baixo custo.  Foi realizado um conjunto de experimentos baseados em macrobenchmarks.  Os resultados mostram o aumento da performance na distribuição da carga com excelentes resultados no workload ao qual se destina o trabalho (Fileserver).  A alta disponibilidade é garantida no caso de perda de algum dos discos do cluster.  O trabalho contribui para um seguro compartilhamento de dados entre alunos e professores na Unibrasil.
  45. 45. Compartilhamento de Dados em Storage de Alta Disponibilidade Conclusão  Outras soluções que necessitem de espaços de armazenamento poderão se beneficiar da solução: repositório de TCCs, sistemas de controle de versão, vídeos de aula, apostilas, e-books, pacotes de sistemas, etc.  O que não é:  Interfaceamento entre o usuário e o storage.  Trabalhos Futuros:  Mais casos de testes com mais targets, interfaces de rede Gigabit Ethernet.  Alterações no protocolo AoE para gateway distribuído.  Monitoramento e correção automática de erros.  Incremento de tecnologias como Deduplication e Thin provisioning.
  46. 46. Compartilhamento de Dados em Storage de Alta Disponibilidade Obrigado!

×