3. 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
4. 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.
5. 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.
6. 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
7. 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.
8. 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
12. 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
13. 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
15. 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
16. 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
17. 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.
19. 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
20. 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.
21. 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
22. 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…
24. 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
25. 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
26. 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
27. 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.
28. 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.
31. 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.
32. 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
33. 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
34. 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
35. 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
37. 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