37
Storage

Storage

Embed Size (px)

DESCRIPTION

Tipos e arquitecturas de storage. Como escolher, dimensionar e arquitecturar storage para serviços com grandes requisitos.

Citation preview

Page 1: Storage

Storage

Page 2: Storage

O DISCO

Page 3: Storage

Desempenho de um disco – IO –Acessos Concorrenciais

• Velocidade de actuação das cabeças– Numero cabeças– Motores

• Precisão do posicionamento– Lógica de Controlo– Tamanho da cabeça– Distância ao prato– Largura das pistas– Qualidade de construção

• Velocidade de Rotação– 5,4k, 7,2k, 10k, 15k

• Lógica de reordenamento de comandos

• Tempo Transferência– PATA, SCSI, SATA, SAS, FC

• Cache

Page 4: Storage

Desempenho de um disco -Throughput

• Interface– SATA, SAS, PATA, SCSI, FC

• Velocidade de Rotação– 15k, 10k, 7.2k, 5.4k

• Densidade do prato

• Quase não há diferenças– A interface tem pouca influencia

– A perca de velocidade de rotação é compensada pelo aumento de densidade do prato.

Page 5: Storage

CaracterísticasTam. T Capacidade V.R. Euros HP dolars ms r/w ms MB/s min MTBF AFR % BER nonrecoverable after TB power operating

2,5' e 72-146GB 15k 231 579 2 122 0,55 1/10^16 1136,87 "6-7"

2,5' e 72-300GB 10k 183 319 3 129 0,55 1/10^16 1136,9 6,15-6,3

3,5' e 146-450GB 15k 183 359 2 110 1,6M 0,55 1/10^16 1136,87 15-17

3,5' e 300-600GB 10k 173 3 150 1,6M 0,55 1/10^16 1136,9 10,07-9,3

3,5' e 250-1000GB 7,2k 73 549 4,16 8,5/9,5 116 1,2M 0,73 1/10^15 113,69 12,5

3,5' d 160-1500GB 7,2k 40 4,16 8,5/10 0,75M 0,34 1/10^14 11,369

2,5' p 160-500GB 7,2k 67 4,17 0,5M 0,48 1/10^14 11,369 1,5

2,5' p 120-500GB 5,2k 62 109 5,6 0,5M 0,48 1/10^14 11,369 2,85

io teorico io read ms io teorico med

500 5,4 185,1851852

333,3333 7,3 136,9863014

500 5,5 181,8181818

333,3333 7,1 140,8450704

240,3846 12,2 81,96721311

240,3846 12,9 77,51937984

239,8082 14,2 70,42253521

178,5714 15,9 62,89308176

min MB/s io med 1qd diff % io med 128qd diff % IO/€

80 180 -64 411 -17,8 1,779221

83 131 -60,7 296 -11,2 1,617486

42 166 -66,8 416 -16,8 2,273224

63 129 -61,3 262 -21,4 1,514451

53 79 -67,136 158 -34,272 2,164384

40 80 -66,72 158 -34,272 3,95

33 69 -71,227 113 -52,879 1,686567

24 62 -65,28 93 -47,92 1,5

http://www.storagereview.com/Papers da CMU e Google mostram que o AFR ronda os 3-4% e que o MTBF é muito mais baixo e similar entre os vários tipos de drives.

Page 6: Storage

Características

• Capacidade– SATA – Sem qualquer discussão

• Throughput– SATA – Porque é mais barato

• Acessos Concorrenciais – IO– SAS - 1/3 dos discos necessários

• Menor consumo• Mais fiável (menos discos, melhor AFR, melhor BER, melhor

MTBF)• Menos espaço ocupado• Menos enclosures/servidores

Page 7: Storage

As interfaces• SATA – Serial ATA

– Sucessora do PATA– Recebeu algumas funcionalidades do SCSI.

• Reordenamento de comandos.

– Point-to-point – Single Path– Baixo custo

• SAS – Serial Attached SCSI– Sucessora do SCSI– Recebeu funcionalidades de FC

• Dual Path

– Point-to-point – Dual Path– Custo intermédio

• FC – Fibrechannel– Loop – Dual Path– Custo elevado– Utilizado equipamentos de storage centralizado– Robusto e com desempenho elevado.

Page 8: Storage

Utilizações

• Discos SAS – Quando o IO importa– Acessos concorrenciais

– Bases de dados OLTP

– Caching

• Discos SATA – Grandes volumes de dados– Acessos sequenciais não concorrenciais

• Edição e processamentos de video

• Aplicações científicas

– Arquivo

Page 9: Storage

RAID – REDUNDANT ARRAY OF INEXPENSIVE DISKS

Page 10: Storage

RAID 0

• Exemplo N=2• Escritas – 1 IO < stripe

unit• 0 IO leitura• 1IO escrita (1-2 discos)• N/2 a N escritas em

simultâneo

• Leituras – 1 IO < stripe• 1 IO (1-2 discos)• N/2 a N IO em

simultâneo• AFR_T=N x AFR

Page 11: Storage

RAID 1

• Duplicação dados

• Escritas – 1 IO < stripe

• 0 IO leitura

• 1 IO escrita (2 discos)

• Leituras – 1 IO < stripe

• 1 IO (1 disco)

• 2 IO em simultâneo

• AFR_T=AFR*AFR

Page 12: Storage

RAID 0+1

• Duplicação dados• Escritas – 1 IO < stripe unit

• 0 IO leitura• 1 IO escrita (1-2 discos)• N/4 a N/2 IOs simultâneos

• Leituras – 1 IO < stripe unit• 1 IO (1-2 discos)• N/2 a N IO simultâneos

• Pode falhar no máximo 1 disco. Ou N/2 se forem no mesmo grupo. • Probabilidade elevada de o

segundo disco avariado ser do outro grupo.

• Reconstrução de N/2 discos

Page 13: Storage

RAID 1+0

• Duplicação dados• Escritas – 1 IO < stripe

• 0 IO leitura• 1 IO escrita (1-2 discos)• N/4 a N/2 IOs simultâneos

• Leituras – 1 IO < stripe• 1 IO/disco (1-2 discos)

• Pode falhar 1 disco. N/2 se forem sempre pares diferentes. • Probabilidade de segundo

disco avariado ser do mesmo grupo pequena.

• Reconstrução de 1 disco

Page 14: Storage

RAID 4

• N-1 discos úteis• Escritas – 1 IO < stripe

• 1 IO leitura (2-3 discos)• 1 IO escrita (2-3 discos)• 1 escrita em simultâneo

• Leituras – 1 IO < stripe• 1 IO leitura (1-2 discos)• (N/2-1) a N-1 IOs

simultâneos• Cálculo Paridade• Cache de escrita• Pode falhar no máximo 1

disco

Page 15: Storage

RAID 5

• N-1 discos úteis• Escritas – 1 IO < stripe unit

• 1 IO leitura (2-3 discos)• 1 IO escrita (2-3 discos)• N/4 a N/2 escritas em

simultâneo

• Leituras – 1 IO < stripe unit• 1 IO (1-2 discos)• N/2 a N IOs simultâneos

• Cálculo Paridade• Cache de escrita com bateria• Pode falhar no máximo 1

disco

Page 16: Storage

RAID 6

• N-2 discos úteis• Escritas – 1 IO < stripe

• 1 IO leitura (3-4 discos)• 1 IO escrita (3-4 discos)

• Leituras – 1 IO < stripe• 1-2 IO (1-2 discos)• N/2-2 a N-2 IO

simultâneos (no caso do RAID 6 implementado na figura)

• Cálculo Paridade• Cache de escrita com bateria• Pode falhar no máximo 2

discos

Page 17: Storage

A controladora RAID

• Interfaces com os discos– SATA, SAS, FC

• Processador– Para calculo paridade, algoritmos de cache e virtualização do storage.

• Memória– 128MB-512MB (placas PCI)– 512MB-1024MB (Array de discos)– 1024MB-128GB (Storage Centralizado)

• Bateria para a memória– Acelera o tempo de resposta das escritas– Permite escrever full stripes em RAID4-6– Garantia de consistencia do filesystem.

• Raid por Software– Nunca em RAID4/5/6 sem NVRAM. RAID0/1 é ok.

Page 18: Storage

TOPOLOGIAS

Page 19: Storage

DAS – Direct Attached Storage

• Servidor com um arrayligado directamente

• Baixo custo

• Baixa complexidade

• Sem layers intermédios

• Performance dedicada

• Renascimento com o SAS Disco

Controladora RAID

Driver SCSI/HBA

Filesystem

Aplicação

Page 20: Storage

SAN – Storage Area Network

• Protocolo SCSI sobre Fibrechannel• Storage Centralizado -> Recursos

partilhados.• Controladora avançada com grande

capacidade de processamento e caching.• Flexibilidade de atribuição e gestão de

Storage.• Block Device.• Storage Partilhado com software de

Clustering• Implementação e gestão complexa• Desempenho variável• Oneroso

– HBAs, Switchs Fibrechannel, fibra optica, software de clustering

• Também inclui o iSCSI. Mais barato, Permite routing. Tem o overhead do TCP/IP.

Disco

Controladora RAID especial

Switch Fibrechannel

Driver SCSI/HBA

Filesystem

Aplicação

Page 21: Storage

NAS – Network Attached Storage

• NFS, CIFS, etc…• Storage Centralizado ->

Recursos partilhados• Storage Partilhado• Flexibilidade de atribuição de

Storage• Utiliza recursos de rede

existentes e mais baratos• Menor performance• NetApp, EMC, Servidor

Linux/Solaris

Disco

Controladora RAID

Filesystem

Servidor NFS

Switch Rede

Placa de rede

Stack TCP/IP

Cliente NAS (NFS, CIFS, etc…)

Aplicação

Page 22: Storage

CAS – Content Adressed Storage

• Acesso via API• Grande escalabilidade• Não limitado pelas limitações

dos filesystems• Solução de software• Custo mais baixo• Requer a adaptação das

aplicações• Gestão da informação• Oportunidade para ser

criativo no subsistema de discos.

• EMC Centera, MogilleFS, etc…Disco

RAID (hardware/software) e/ou Replicação

Filesystem Distribuido

Serviço

Switch Rede

Placa de rede

Stack TCP/IP

Cliente/API

Aplicação

Page 23: Storage

FILESYSTEMS

Page 24: Storage

Tradicionais• Ext3

– Fiável– Journaling

• Configurável

– Problemas de performance• Ficheiros grandes• Muitos ficheiros

• XFS– Rápido

• Tanto com ficheiros grandes como com muitos ficheiros

– Journaling• Menos robusto que Ext3

– Muitas histórias de corrupção de filesystems em determinadas situações

• Acesso Local• Omnipresentes

– Excepto RedHat que só suporta EXT3

Page 25: Storage

ZFS, WAFL

• Combina RAID com Filesystem– Não é um simples volume manager + FS

• Escalável• Fiável

– CRC checking

• Problemas de performance– Situações de utilização intensiva da metada– Requisitos de Cache no SO muito elevadas

• É necessário um especial cuidado quando utilizado com bases de dados

• Solaris• Acesso Local

Page 26: Storage

Cluster Filesystems

• RedHat GFS, PolyServe, etc…– Filesystem Partilhado

• Permite partilhar o mesmo filesystem por vários servidores

– Block device.– Baseado em SAN.– Servidores de Lock e Metadata.

• Botleneck de performance para muitos acessos random com IO de pequenas dimensões

– Storage Central• Infra-estrutura onerosa

– Requer Drivers

Page 27: Storage

Paralell Filesystems

• Lustre– Escalável– Grande performance para acessos sequenciais– Servidor de Lock e Metadata

• Bottleneck• Má performance para acessos aleatórios de IO com tamanho

reduzido.• Requer capacidade armazenamento para metadata de grande

performance e alta disponibilidade.

– Storage nodes podem ser servidores normais– Sem alta disponibilidade

• Não efectua replicação ou cálculo de paridade dos dados.• Requer alta disponibilidade no storage.

– Requer drivers.

Page 28: Storage

Distributed Filesystems

• EMC “Mahui”, GoogleFS, Isilon, HadoopFS, etc…• Servidores de Metadata e Locking

– Bottleneck para muitos acessos aleatórios de pequenas dimensões– Algumas implementações distribuem a metadata.

• Latência de rede Ethernet– Infiniband é demasiado caro

• Replicação de Dados– Síncrona

• Lento

– Assíncrona• Possível perca de dados

– 3 X ou mais• Localização dos dados aleatória. Os dados de um discos podem estar replicados em qualquer disco.

Perder um disco implica riscos muito grandes se não houver uma replicação de 3X.• Desnecessário com RAID -> Menos performance.• Desnecessário se houver uma relação directa entre discos.

• Reed–Solomon– Solução para evitar replicação.– Pesado computacionalmente.

Page 29: Storage

SOLTAS…

Page 30: Storage

Storage Tiers – Acessos Concorrenciais

Page 31: Storage

Storage Tiers - Caching• Tier 1 - Memória

– Dados Quentes.– IO praticamente ilimitado.– Capacidade armazenamento limitada aos dados quentes.– Custo muito elevado– Volátil

• Tier 2 - Disco Local rápido sem RAID– Dados Mornos.– IO elevado.– Capacidade armazenamento suficiente para os dados mornos.– Custo médio.– Escalável mediantes necessidades de IO.– Volátil

• Tier 3 - Disco Arquivo– Totalidade dos dados.– IO limitado.– Capacidade de armazenamento total.– Custo limitado.– Escalável em capacidade de armazenamento.– Alta disponibilidade. Seguro.

NFS, Distributed/Paralell

FS, MogileFS

CacheFS, Squid

Memcache, Squid

Page 32: Storage

Squid

• Só funciona para pedidos HTTP– E quando é possível cachear os objectos.

• Dois Tiers de Cache– Memória– Disco local

• Servidores individuais ou configurados em conjunto como uma única cache

• Utilização eficiente do disco local– Pool de discos sem RAID– Balanceamento de IO– Filesystem sem preocupações de fiabilidade

• Tunning na utilização da memória– Tempo de vida– Tamanho dos ficheiros– Oportunidade para melhorar e piorar o desempenho

• Capacidade de IO facilmente escalável

Page 33: Storage

Google FS e afins• Triplicar

– 100TB são aproximadamente 120 discos. X3 são 360.– AFR ~3% (CMU), em 120 discos temos em média 3-4 discos avariados por ano.– Informação espalhada por todos os discos

• Duplicar não chega porque se avariarem 2 discos ao mesmo tempo (ou alguém trocar o disco errado) perdem-se dados.

• Custos– Servidores e discos (mais barato)

• Motherboard, 2 discos e 1 fonte: 500 euros

– Espaço Datacenter (mais caro)• 4 discos em 1U

– Energia (mais caro)• Triplicado• 1 CPU por cada 2 discos• Datacenters tradicionais pouco eficientes

– Infra-estrutura de rede (mais caro) – O google esforça-se ao máximo para manter datacenters com o mínimo de custos possível.

• Gestão– Troubleshooting mais complexo– Mão-de-obra– Datacenter especializado

Page 34: Storage

O SAPO

• NAS– 120TB (2 clusters)

• Discos FC• Discos SATA

• SAN– Discos FC– Clusters de Bases de dados

• DAS– Discos locais

• SCSI, SAS, SATA (backups)• 10k, 15k• 3,5’ e 2,5’

– SEMPRE COM BATERIA NAS CONTROLADORAS RAID• 3-5% do valor do servidor.

• Memória

Page 35: Storage

O futuro

• Storage sempre foi o patinho feio no que toca ao crescimento da performance

• Solid State Disk– Muito caro. Ainda…– Desempenho brutal em IO de leitura– Desempenho banal em escrita random

• Escreve sempre em blocos > 512k• MLC, SLC• Em desenvolvimento activo• Novos algoritmos• Wear leveling

Page 36: Storage

CONCLUSÕES

Page 37: Storage

Errrr…

• Massive brute force aproach, a la google…– Custom made software e hardware– Datacenters muito eficientes

• …Ou:– Storage Tiers

• Caching• Mobilidade dos dados• Ferramenta certa para o trabalho em vista.

– Estatísticas de utilização dos dados• Envelhecimentos dos dados• Dados quentes e frios