Trabalho sobre Estrutura de Armazenamento em massa, abordando apenas parte desse conteúdo. Feito por alunos da Universidade Federal de Goiás(UFG) do curso de Engenharia de Software.
1. Estrutura de Armazenamento em Massa
Parte II
Grupo Cytherian
Bruno César Ribeiro e Silva
Bruno Pereira Maia
Carlos Alberto de Oliveira Júnior
Ciro Anacleto Dias Júnior
Danilo Guimarães Justino Lemes
Gustavo Santana Leite
2. Roteiro
Estrutura RAID
Conceitos
Melhoria de Confiabilidade via Redundância
Melhoria de Desempenho via Paralelismo
Níveis
Problemas com RAID
Armazenamento estável
Armazenamento terciário
Dispositivos de armazenamento
Suporte por parte do SO
Aspectos de desempenho
3. RAID - Redundant Arrays of Inexpensive Disks
Melhoria no Desempenho
Amplia a taxa em que os dados podem ser lidos/escritos se os discos
forem operados em paralelo.
Melhoria na Confiabilidade
Amplia a confiabilidade do armazenamento de dados, já que podemos
armazenar informações redundantes em vários discos
4. RAID - Redundant Arrays of Inexpensive Disks
redução no preço de
discos mais robustos
RAID - Redundant Arrays of Independent Disks
5. RAID - Estrutura
Discos conectados diretamente aos seus barramentos
RAID implementado pelo sistema operacional ou software do sistema
Controlador de host inteligente
Controlador de host controla vários discos e implementa o RAID
Array de Armazenamento (Array RAID)
Unidade isolada, com seu próprio controlador, cache e discos. É
conectado ao host por meio de um ou mais controladores SCSI ATA
padrão ou FC. Permite que qualquer sistema operacional e software
tenham discos protegidos por RAID.
6. Melhorias
Melhoria de Confiabilidade - via redundância
Melhoria de Desempenho - via paralelismo
7. Confiabilidade
A chance de algum disco falhar dentre um conjunto de N discos é muito
maior do que a chance de um único disco falhar.
Supondo: mttf1 = 100.000 horas
Array de 100 discos:
mttf1 = 100.000 horas / 100 = 1.000 horas = 41,66 dias
mttf = mean time to failure
8. Redundância
Armazenar informações extras que podem ser usadas no caso de
falha de algum disco para reconstruir informações perdidas.
Espelhamento (Mirroring)
1 Disco Lógico = 2 Discos Físicos
cada escrita é executada nos dois discos.
Considerando a mesma situação anterior:
Array 100 discos com redundância
mttf1 = 57.000 anos
9. Paralelismo
Com o espelhamento de disco, as requisições de leitura podem ser
enviadas a qualquer disco. Logo, a quantidade de leituras por unidade
de tempo dobra.
Espalhamento em nível de bit
distribui os bits de cada byte por vários discos
Espalhamento em nível de bloco
os blocos de um arquivo são espalhados por vários discos
10. Estrutura RAID - Níveis
RAID Nível 0: implementa um conjunto de discos independentes
(striping), os dados são quebrados em blocos e cada bloco é escrito
em um disco separado. A escrita e a leitura possuem alto desepenho
por utilizarem vários canais e discos. Por outro lado não há
segurança, pois se parte da informação armazenada em um disco
corromper-se, a informação é perdida por completa.Não há calculo de
paridade. Implementação fácil.
RAID Nível 1: refere-se ao espelhamento do disco com redundancia
(mirror). Tudo que é gravado no disco, é regravado nos demais discos
do conjunto. É utilizado como forma de backup.
A desvantagem se dá ao tempo de escrita, que fica maior.
11. Estrutura RAID - Níveis
RAID Nível 2: refere-se ao uso do sistema de detecção de erros
ECC. Porém o RAID 2 tornou-se obsoleto pelas novas tecnologias de
disco já possuírem este tipo de correção internamente.
RAID Nível 3: refere-se a um modelo melhorado do RAID nível 2,
uma vez que usa menos discos para bits de correção de erros. Uma
desvantagem é que o nivel 3 torna as escritas mais lentras, e uma
vantagem, principalmente sobre o nível 1 é que, pois o
armazenamento adicional é reduzido visto que um disco de paridade
é necessário para vários discos normais, enquanto no nivel 1 é
necessário um disco espelhado para cada disco normal.
12. Estrutura RAID - Níveis
RAID Nível 4: refere-se ao modelo com organização com paridade
intercalada por blocos, utiliza o espalhamento no nível de bloco, como
no RAID 0, e também mantém um bloco de paridade em um disco
separado. Se um disco falhar, o bloco de paridade pode ser usado
com os blocos correspondentes a partir dos outros discos para
restaurar do disco que falhou.
13. Estrutura RAID - Níveis
RAID Nível 5: refere-se ao modelo com paridade distribuida
intercalada por blocos. Difere do nível 4 por espalhar os dados e a
paridade entre todos os N+1 discos, em vez de armazenar dados em
N discos e paridade em um disco.
RAID Nível 6: refere-se ao esquema de redundância P+Q, que é
muito semelhante ao nível 5. A diferença é que este armazena
informações reduntantes extras para proteger contra múltiplas falhas
no disco. Ao invés de usar a paridade, são usados códigos mais
sofisticados de correção de erro, como os códigos Reed-Solomon.
14. Estrutura RAID - Níveis
RAID 0 + 1: refere-se a uma combinação de níveis RAID 0 e 1.
O RAID 0 provê desempenho, e o RAID 1 provê confiabilidade.
Um conjunto de discos é espalhado, e em seguida, tudo isso é
espelhado para um outro conjunto de discos equivalentes.
Esse modelo é muito semelhante ao...
RAID 1 + 0: refere-se a uma combinação de níveis RAID 0 e 1,
porém, os discos são primeiro espelhado em pares, e depois
os pares de espelhos são espalhados.
15.
16.
17. Escolha de um nível RAID
Na escolha de um nível de RAID deve -se analisar as
vantagens e desvantagens de cada nível de modo a determinar
qual nível melhor se adapta à necessidade do usuário do
sistema.
As soluções RAID eleitas são geralmente o RAID de nível 1 e
RAID de nível 5.
18. Escolha de um nível de
RAID
A escolha de uma solução RAID está ligada a três critérios :
A segurança : RAID 1 e 5 oferecem ambos um nível de
segurança elevado, contudo o método de reconstrução dos
discos varia entre as duas soluções. No caso de avaria do
sistema, RAID 5 reconstrói o disco que falta a partir das
informações armazenadas nos outros discos, enquanto
RAID 1 opera com uma cópia disco a disco.
Os desempenhos : RAID 1 oferece melhores desempenhos
que RAID 5 em leitura, mas sofre no que diz respeito às
operações de escrita.
19. Escolha de um nível de
RAID
O custo: o custo está diretamente ligado à capacidade de
armazenamento que se deseja para obter uma certa
capacidade efetiva.A solução RAID 5 oferece um volume
útil que representa 80 a 90% do volume atribuído (o resto
serve evidentemente para o controle de erro). A solução
RAID 1 oferece em contrapartida apenas um volume
disponível, que representa 50% do volume total (já que as
informações são duplicadas).
21. Estrutura RAID - Problemas
Não impede que os discos falhem.
Altos custos.
Protege contra erros físicos da mídia, mas não outros erros de
hardware ou software.
RAID implementado via software não apresenta um rendimento
razoável.
RAID implementado via hardware é econômico, porém não é
flexível.
22. Armazenamento estável
- Por definição: informações nunca são perdidas.
- Implementação: replicar informações necessárias em diversos
dispositivos de armazenamento, discos, com modos de falha
independentes.
- coordenar a escrita das atualizações para que uma falha não
danifique todas as cópias e que, quando estiver se recuperando de
uma falha, poderá forçar todas as cópias para um valor coerente e
correto mesmo se houver outra falha durante a recuperação.
23. Armazenamento estável
Escrita em disco:
- Término bem-sucedido: dados foram escritos corretamente no
disco.
- Falha parcial: falha na mídia de trasferencia, somente alguns
dos setores foram escritos com os novos dados, e o setor sendo
escrito durante a falha pode ter sido adulterado.
- Falha total: falha ocorre antes da escrita em disco ser iniciada,
de modo que os dados anteriores no disco permanecessem intactos.
24. Armazenamento estável
- Sistema precisa manter dois blocos lógicos para que sempre que
ocorrer uma falha durante a escrita de um bloco, o sistema possa
detectar essa falha e chamar um procedimento de recuperação para
restaurar o bloco a um estado coerente, da seguinte maneira:
- escrevendo as informações no primeiro bloco físico.
- quando a primeira escrita terminar com sucesso, escrever essa
mesma informação no segundo bloco físico.
- Após segunda escrita ser completada com sucesso, declara a
operação completa.
25. Armazenamento estável
- Para que a escrita no armazenamento estável tenha sucesso
completo ou resulte em nenhuma mudança é necessário um
procedimento de recuperação. Durante a recuperação de uma falha,
cada par de de blocos físicos são examinados e se ambos forem iguais
e se detectar erro nenhuma outra ação será necessária, caso tenha
erro substitui-se seu conteúdo pelo valor do outro bloco. Se o bloco
não houver erro mas os blocos diferirem em conteúdo, substitui o
conteúdo do primeiro bloco pelo valor do segundo.
- Os dados do armazenamento estável têm garantia de segurança, a
menos que uma falha destrua todas as cópias.
26. Armazenamento estável
- Como a espera até que as escritas em disco se completem são
demoradas, muitos arrays de armazenamento acrescentam uma
NVRAM (tipo de memória que não perde seus dados mesmo sem a
alimentação de energia) como cache.
- Como a memória não é volátil, pode-se confiar que ela armazenará
os dados em rotina ao seu modo nos discos, assim ela é considerada
parte do armazenamento estável.
28. Armazenamento terciário
Discos removíveis:
É o tipo mais amplo de dispositivo de armazenamento terciário.
Disquetes são exemplos, compostos de um fino disco flexível,
coberto por um material magnético e envolvido em uma capa
protetora. Não ultrapassam 1,5 megabytes de armazenamento.
O disco óptico-magnético é um tipo semelhante aos disquetes, mas
se difere na forma de gravação dos dados. A agulha de gravação
"voa" mais longe da superfície de gravação e o material magnético é
envolto com plástico ou vidro, garantindo maior resistência física
contra colisões.
29. Armazenamento terciário
Discos removíveis:
O disco óptico não usa magnetismo, mas sim um material que pode
ter seu estado alterado com uma luz laser. Um exemplo de tecnologia
que usa disco óptico é o disco de mudança de fase, que é coberto
com um material que pode ter seu estado alterado, de cristalino para
amorgo. O estado cristalino é mais transparente e um feixe de luz
claro passa pelo material e atinge a camada relfexiva. A unidade de
mudança de fase utiliza 3 potencias diferentes de laser, sendo a mais
baixa pra ler os dados, a mediana para apagar o disco fundindo e
congelando a mídia de gravação novamente para o estado cristalino e
a potência mais alta para fundir a mídia para o estado amorfo, a fim
de escrever no disco. Exemplos comuns são os discos CD-Rw e
DVD-Rw.
30. Armazenamento terciário
Discos removíveis:
Os tipos de discos descritos anteriormente, podem ser utilizados
indefinidamente (porém, há um limite, imposto por cada fabricante).
Diferentemente, os discos WORM (Write once, read many times)
podem ser escritos apenas uma vez.
Discos somente leitura, como CD-ROM e DVD-ROM, vêm de fábrica
com os dados já gravados, como aúdio, programas e jogos.
A maioria dos discos removíveis é mais lenta do que os não-
removíveis. O processo de escrita é mais lento, assim como o de
rotação, e as vezes, o tempo de busca também.
31. Armazenamento terciário
Fitas:
A fita magnética é outro tipo de mídia removível. A fita mantém mais
dados do que um disco óptico. Possuem taxas de transferência
similares, no entanto, o acesso aleatório à fita é muito mais lento do
que uma busca em disco.
Embora a unidade de fita seja mais cara do que um drive de CD/DVD,
por exemplo, um cartucho de fita é mais barato do que vários discos,
equivalentes em capacidade. Com isso, a fita é um meio mais
economico para armazenar dados que nao exigem acesso aleatorio e
constante. Atividades como o back-up e o armazenamento massivo
de dados utilizados em pesquisas cientificas e por grandes empresas
comerciais são exemplos de boa utilização das fitas magnéticas.
32. Armazenamento terciário
Suporte por parte do SO:
"Vimos" que, para os discos rígidos, o sistema operacional provê duas
abstrações. Uma é o dispositivo bruto e a outra é o sistema de
arquivos. Para um sistema de arquivos, o sistema operacaional
enfileira e escalona as requisições intercaladas vindas de várias
aplicações. E como o sistema operacional trabalha quando a mídia é
removível?
33. Armazenamento terciário
Suporte por parte do SO - Interface da aplicação:
Na maioria dos SO's, quando um disco removível vazio é inserido, ele
precisa ser formatado, e depois um sistema de arquivos (semelhante
ao dos discos rígidos) é gerado no disco.
As fitas são tratadas de forma diferente: o SO enxerga a fita como um
mídia de armazenamento bruta. Uma aplicação nunca abre um
arquivo na fita, e sim a unidade de fita inteira. Com isso, o SO não
provê serviços de sistema de arquivos e a fita não deve ser acessada
por mais de uma aplicação, pois um único acesso pode durar
segundos, quem dirá vários acessos vindo de muitos programas...
34. Armazenamento terciário
Suporte por parte do SO - Nomes de arquivos:
Outro problema para o SO é o de tratar com nomes de arquivos em
dispositivos removíveis. Para um disco rígido com Windows, o nome
do arquivo é iniciado com a letra da unidade + caminho + nome do
arquivo + extensão. No UNIX, o arquivo não contém letra da unidade,
mas a tabela de montagem permite o SO descobrir em que unidade
física o arquivo está contido. Já para discos removíveis, em especial
as fitas, reconhecer uma unidade que continha um cartucho em
algum momento do passado não significa saber como encontrar o
arquivo (a unidade é a mesma, mas o cartucho foi trocado). Se cada
cartucho tivesse um número de série, seriam necéssarios no mínimo
12 dígitos. Que empresa decoraria 12 dígitos para cada cartucho de
fita?
35. Armazenamento terciário
Suporte do SO: Gerenciamento de Armazenamento Hierárquico
Encontrado em instalações que possuem enormes volumes de dados que são
acessados raramente;
36. Armazenamento terciário
Aspectos de Desempenho: Velocidade
Aspectos: latência e largura de banda;
Com o uso de JukeBox, o que causa o gargalo são os cartuchos;
Devido a velocidade menor, é mais bem dedicada a dados acessados com pouca
frequência;
Em todos os casos, sistemas utilizando fitas são mais lentos;
37. Armazenamento terciário
Aspectos de Desempenho: Confiabilidade
Bom desempenho não é necessariamente grande velocidade;
Discos magnéticos removíveis (fita, disquete) são menos confiáveis;
Discos ópticos são mais confiáveis;
A confiabialidade das fitas depende do tipo de unidade;
Mesmo assim, por a cabeça "esfregar" na fita, seu desgaste ainda é grande;
Unidade de disco fixo será mais confiável do que as móveis;
38. Armazenamento terciário
Aspectos de Desempenho: Custos
Fita é o mais barato, largamente utilizado para BKPs;
Os preços, como para qualquer outro produto na economia, varia de acordo com a
saturação do mercado, como também por avanço tecnológico;
39. Armazenamento terciário
Aspectos de Desempenho: Custos
Preço por megabyte da DRAM, de 1981 a 2004
40. Armazenamento terciário
Aspectos de Desempenho: Custos
Preço por megabyte do disco rígico magnético, de 1981 a 2004
41. Armazenamento terciário
Aspectos de Desempenho: Custos
Preço por megabyte de uma unidade de fita, de 1984 a 2004