SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
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)
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
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.
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
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.
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.
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.
Compartilhamento de Dados em Storage de Alta Disponibilidade
Introdução (Justificativa)
 Cotação: Storage HP (aprox. 12 TBytes)
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.
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)
Compartilhamento de Dados em Storage de Alta Disponibilidade
Direct Attached Storage (DAS)
 Tradicionalmente (DAS):
Compartilhamento de Dados em Storage de Alta Disponibilidade
Direct Attached Storage (DAS)
 Tradicionalmente (DAS):
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
Compartilhamento de Dados em Storage de Alta Disponibilidade
Network Attached Storage (NAS)
 Datacenter:
LAN
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
Compartilhamento de Dados em Storage de Alta Disponibilidade
Storage Area Network (SAN)
Compartilhamento de Dados em Storage de Alta Disponibilidade
Storage Area Network (SAN)
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
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
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)
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
Compartilhamento de Dados em Storage de Alta Disponibilidade
SANs - Protocolos
Compartilhamento de Dados em Storage de Alta Disponibilidade
Alta Disponibilidade / Performance
 RAID0
 RAID1
 RAID5
 Performance
 Espelhamento
 Paridade
 Outras vantagens:
 Striping
 Hot Spare
Compartilhamento de Dados em Storage de Alta Disponibilidade
Alta Disponibilidade
 LVM
 Vantagens
 Flexibilidade
 Escalabilidade
 Performance
 Gerenciamento
 Uso adequado do espaço
Compartilhamento de Dados em Storage de Alta Disponibilidade
Trabalhos Relacionados (FreeNAS)
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.
Compartilhamento de Dados em Storage de Alta Disponibilidade
Trabalhos Relacionados (OpenFiler)
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.
Compartilhamento de Dados em Storage de Alta Disponibilidade
Trabalhos Relacionados (GoogleFS)
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.
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
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)
Compartilhamento de Dados em Storage de Alta Disponibilidade
Solução Proposta (Topologia Geral)
Compartilhamento de Dados em Storage de Alta Disponibilidade
Solução Proposta (Targets)
 Arquitetura dos Targets
Compartilhamento de Dados em Storage de Alta Disponibilidade
Solução Proposta (Gateway)
 Arquitetura do Gateway
Compartilhamento de Dados em Storage de Alta Disponibilidade
Solução Proposta (Clientes)
 Interface aos Clientes
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.
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
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.
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
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.”
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.”
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.
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.
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.
Compartilhamento de Dados em Storage de Alta Disponibilidade
Obrigado!

Mais conteúdo relacionado

Mais procurados

WRNP2015_Lamina_Stand_16
WRNP2015_Lamina_Stand_16WRNP2015_Lamina_Stand_16
WRNP2015_Lamina_Stand_16Celio Hernandez
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Frederico Madeira
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos DistribuídosFrederico Madeira
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6Felipe Schimith Batista
 
Aula 02 redes de computadores e a internet
Aula 02   redes de computadores e a internetAula 02   redes de computadores e a internet
Aula 02 redes de computadores e a internetssuser75b0ac
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area NetworkFernando Palma
 
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...josekarvalho
 

Mais procurados (14)

Core Network e MPLS
Core Network e MPLSCore Network e MPLS
Core Network e MPLS
 
WRNP2015_Lamina_Stand_16
WRNP2015_Lamina_Stand_16WRNP2015_Lamina_Stand_16
WRNP2015_Lamina_Stand_16
 
Data Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na práticaData Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na prática
 
Hadoop
HadoopHadoop
Hadoop
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos Distribuídos
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6
 
Aula 02 redes de computadores e a internet
Aula 02   redes de computadores e a internetAula 02   redes de computadores e a internet
Aula 02 redes de computadores e a internet
 
Rede de Transporte
Rede de TransporteRede de Transporte
Rede de Transporte
 
Aula 1
Aula 1Aula 1
Aula 1
 
No sql std
No sql stdNo sql std
No sql std
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area Network
 
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
Interoperabilidade, Normas, Diretrizes e Qualidade dos Repositórios - José ca...
 

Semelhante a High Availability Data Sharing Solution Using AoE

Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidadeelliando dias
 
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRAvaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRJulio Viegas
 
Alta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxAlta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxMario Bittencourt
 
Modernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data FabricModernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data FabricDenodo
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceFelipe RENZ - MBA TI / Big
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisDuFelix02
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big DataDeep Tech Brasil
 
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...Lucas A. Romão
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados DistribuidosAndré Fachin
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados DistribuidosAndré Fachin
 
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de DadosAlta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de DadosAlex Camargo
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Alessandro Binhara
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com HadoopAmbiente Livre
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisguest830f1
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisCindy Dalfovo
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaAlexandre Duarte
 

Semelhante a High Availability Data Sharing Solution Using AoE (20)

Arquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhasArquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhas
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
 
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRAvaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
 
Alta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxAlta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/Linux
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
Modernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data FabricModernizando o papel do Data Lake em uma arquitetura de Data Fabric
Modernizando o papel do Data Lake em uma arquitetura de Data Fabric
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open source
 
Hadoop
HadoopHadoop
Hadoop
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
Microsoft Azure Storage - Tudo o que você precisa saber sobre armazenamento d...
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de DadosAlta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
Alta Disponibilidade e Tolerância a Falhas: uma abordagem em Banco de Dados
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!!
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com Hadoop
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
 

High Availability Data Sharing Solution Using AoE

  • 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. 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. 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. 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. 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. 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. 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Introdução (Justificativa)  Cotação: Storage HP (aprox. 12 TBytes)
  • 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. 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Direct Attached Storage (DAS)  Tradicionalmente (DAS):
  • 12. Compartilhamento de Dados em Storage de Alta Disponibilidade Direct Attached Storage (DAS)  Tradicionalmente (DAS):
  • 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Network Attached Storage (NAS)  Datacenter: LAN
  • 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Storage Area Network (SAN)
  • 17. Compartilhamento de Dados em Storage de Alta Disponibilidade Storage Area Network (SAN)
  • 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. 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. 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. 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. Compartilhamento de Dados em Storage de Alta Disponibilidade SANs - Protocolos
  • 23. Compartilhamento de Dados em Storage de Alta Disponibilidade Alta Disponibilidade / Performance  RAID0  RAID1  RAID5  Performance  Espelhamento  Paridade  Outras vantagens:  Striping  Hot Spare
  • 24. Compartilhamento de Dados em Storage de Alta Disponibilidade Alta Disponibilidade  LVM  Vantagens  Flexibilidade  Escalabilidade  Performance  Gerenciamento  Uso adequado do espaço
  • 25. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (FreeNAS)
  • 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (OpenFiler)
  • 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Trabalhos Relacionados (GoogleFS)
  • 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. 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. 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Topologia Geral)
  • 34. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Targets)  Arquitetura dos Targets
  • 35. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Gateway)  Arquitetura do Gateway
  • 36. Compartilhamento de Dados em Storage de Alta Disponibilidade Solução Proposta (Clientes)  Interface aos Clientes
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Compartilhamento de Dados em Storage de Alta Disponibilidade Obrigado!