O documento discute a implementação de uma solução de compartilhamento de dados em storage de alta disponibilidade utilizando tecnologias de código aberto. A solução proposta utiliza o protocolo AoE sobre uma topologia com gateways e targets para fornecer armazenamento compartilhado para a instituição de ensino UniBrasil de forma escalável e altamente disponível. Testes com diferentes workloads demonstraram que a solução atende aos objetivos de disponibilidade e desempenho.
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
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
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
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.
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.
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)
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.