• Like
  • Save
Storage
Upcoming SlideShare
Loading in...5
×
 

Storage

on

  • 5,586 views

Tipos e arquitecturas de storage.

Tipos e arquitecturas de storage.

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

Statistics

Views

Total Views
5,586
Views on SlideShare
5,373
Embed Views
213

Actions

Likes
0
Downloads
136
Comments
0

3 Embeds 213

http://developers.blogs.sapo.pt 190
http://www.slideshare.net 22
http://blogs.sapo.pt 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Storage Storage Presentation Transcript

    • Storage
    • O DISCO
    • 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
    • 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.
    • Características Tam. 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 min MB/s io med 1qd diff % io med 128qd diff % IO/€ 500 5,4 185,1851852 80 180 -64 411 -17,8 1,779221 333,3333 7,3 136,9863014 83 131 -60,7 296 -11,2 1,617486 500 5,5 181,8181818 42 166 -66,8 416 -16,8 2,273224 333,3333 7,1 140,8450704 63 129 -61,3 262 -21,4 1,514451 240,3846 12,2 81,96721311 53 79 -67,136 158 -34,272 2,164384 240,3846 12,9 77,51937984 40 80 -66,72 158 -34,272 3,95 239,8082 14,2 70,42253521 33 69 -71,227 113 -52,879 1,686567 178,5714 15,9 62,89308176 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.
    • 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
    • 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.
    • 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
    • RAID – REDUNDANT ARRAY OF INEXPENSIVE DISKS
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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.
    • TOPOLOGIAS
    • DAS – Direct Attached Storage • Servidor com um array Aplicação ligado directamente • Baixo custo Filesystem • Baixa complexidade Driver SCSI/HBA • Sem layers intermédios Controladora RAID • Performance dedicada • Renascimento com o SAS Disco
    • SAN – Storage Area Network • Protocolo SCSI sobre Fibrechannel Aplicação • Storage Centralizado -> Recursos partilhados. Filesystem • Controladora avançada com grande capacidade de processamento e caching. • Flexibilidade de atribuição e gestão de Driver SCSI/HBA Storage. • Block Device. Switch Fibrechannel • Storage Partilhado com software de Clustering • Implementação e gestão complexa Controladora RAID especial • Desempenho variável • Oneroso Disco – HBAs, Switchs Fibrechannel, fibra optica, software de clustering • Também inclui o iSCSI. Mais barato, Permite routing. Tem o overhead do TCP/IP.
    • NAS – Network Attached Storage Aplicação • NFS, CIFS, etc… Cliente NAS (NFS, CIFS, etc…) • Storage Centralizado -> Recursos partilhados Stack TCP/IP • Storage Partilhado Placa de rede • Flexibilidade de atribuição de Storage Switch Rede • Utiliza recursos de rede Servidor NFS existentes e mais baratos Filesystem • Menor performance • NetApp, EMC, Servidor Controladora RAID Linux/Solaris Disco
    • CAS – Content Adressed Storage Aplicação • Acesso via API Cliente/API • Grande escalabilidade • Não limitado pelas limitações Stack TCP/IP dos filesystems Placa de rede • Solução de software • Custo mais baixo Switch Rede • Requer a adaptação das Serviço aplicações • Gestão da informação Filesystem Distribuido • Oportunidade para ser RAID (hardware/software) e/ou Replicação criativo no subsistema de discos. Disco • EMC Centera, MogilleFS, etc…
    • FILESYSTEMS
    • 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
    • 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
    • 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
    • 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.
    • 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.
    • SOLTAS…
    • Storage Tiers – Acessos Concorrenciais
    • Storage Tiers - Caching • Tier 1 - Memória – Dados Quentes. – IO praticamente ilimitado. Memcache, Squid – 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. CacheFS, Squid – Custo médio. – Escalável mediantes necessidades de IO. – Volátil • Tier 3 - Disco Arquivo – Totalidade dos dados. – IO limitado. – Capacidade de armazenamento total. NFS, – Custo limitado. Distributed/Paralell – Escalável em capacidade de armazenamento. FS, MogileFS – Alta disponibilidade. Seguro.
    • 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
    • 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
    • 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 
    • 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
    • CONCLUSÕES
    • 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