Você está na página 1de 41

Capítulo 9: Sistemas de

Armazenamento em Massa

Operating System Concepts Essentials – 2nd Edition Silberschatz, Galvin and Gagne ©2013
Chapter 9: Mass-Storage Systems
 Visão Geral da Estrutura de Armazenamento em Massa
 Estrutura do Disco
 Disk Attachment
 Agendamento de disco
 Gerenciamento de disco
 Gerenciamento de espaço de troca
 Estrutura RAID
 Implementação de Armazenamento Estável

Operating System Concepts Essentials – 2nd Edition 9.2 Silberschatz, Galvin and Gagne ©2013
Objetivos

 Descrever a estrutura física dos dispositivos de armazenamento


secundário e seus efeitos nos usos dos dispositivos
 Explicar as características de desempenho dos dispositivos de
armazenamento em massa
 Avaliar algoritmos de agendamento de disco
 Discutir os serviços do sistema operacional fornecidos para
armazenamento em massa, incluindo RAID

Operating System Concepts Essentials – 2nd Edition 9.3 Silberschatz, Galvin and Gagne ©2013
Visão geral da estrutura de
armazenamento em massa
 Discos magnéticos fornece grande parte do armazenamento secundário de
computadores modernos
 As unidades giram de 60 a 10.000 vezes por segundo
 Taxa de transferência é a taxa na qual o fluxo de dados entre a unidade e o
computador
 O tempo de posicionamento (tempo de acesso aleatório) é o tempo para
mover o braço do disco até o cilindro desejado (tempo de busca) e o tempo
para o setor desejado girar sob a cabeça do disco (latência rotacional)
 A queda da cabeça resulta da cabeça do disco fazendo contato com a
superfície do disco - Isso é ruim A
 Discos podem ser removíveis
 Drive conectado ao computador via barramento de E / S
 Barramentos variam, incluindo EIDE, ATA, SATA, USB, Fibre Channel, SCSI,
SAS, Firewire
 O controlador host no computador usa o barramento para falar com o
controlador de disco integrado na unidade ou na matriz de armazenamento

Operating System Concepts Essentials – 2nd Edition 9.4 Silberschatz, Galvin and Gagne ©2013
Mecanismo de disco de cabeça móvel

Operating System Concepts Essentials – 2nd Edition 9.5 Silberschatz, Galvin and Gagne ©2013
Discos Rígidos
 Platters variam de 0,85 "a 14"
(historicamente)
 Comumente 3,5 ”, 2,5” e 1,8”
 Faixa de 20 GB a 20 TB por unidade
 Desempenho
 Taxa de transferência - teórica - 6 Gb /
s
 Efetiva taxa de transferência – real –
1Gb/sec
 Tempo de espera de 3ms a 12ms -
9ms comuns para unidades de desktop
 Latência baseada na velocidade do
fuso
 1 / (RPM / 60) = 60 / RPM (do Wikipedia)
 Latência média = ½ latência

Operating System Concepts Essentials – 2nd Edition 9.6 Silberschatz, Galvin and Gagne ©2013
Desempenho do Disco Rígido
 Latência de Acesso = Tempo Médio de Acesso = tempo médio de
pesquisa + latência média
 Para disco mais rápido 3ms + 2ms = 5ms
 Para disco mais lento 9ms + 5.56ms = 14.56ms
 Tempo médio de E / S = tempo médio de acesso + (valor da
transferência / taxa de transferência) + sobrecarga do controlador
 Por exemplo, para transferir um bloco de 4KB em um disco de
7200 RPM com um tempo de busca médio de 5ms, taxa de
transferência de 1Gb / s com sobrecarga de controlador de .1ms
=5ms + 4.17ms + 0.1ms + transfer time =
 Tempo de transferência = 4KB / 1Gb/s * 8Gb / GB * 1GB /
10242KB = 32 / (10242) = 0.031 ms
 Tempo médio de E / S para o bloco de 4KB = 9.27ms +
.031ms = 9.301ms

Operating System Concepts Essentials – 2nd Edition 9.7 Silberschatz, Galvin and Gagne ©2013
O primeiro disco comercial

1956 O computador IBM


RAMDAC incluiu o sistema
de armazenamento em
disco IBM Model 350

5 M (7 bits) caracteres
Bandejas de 50 x 24 ”
Tempo de acesso = <1
segundo

Operating System Concepts Essentials – 2nd Edition 9.8 Silberschatz, Galvin and Gagne ©2013
Discos de estado sólido
 Memória não volátil usada como um disco rígido
 Muitas variações tecnológicas
 Pode ser mais confiável do que os HDDs
 Mais caro por MB
 Talvez tenha vida mais curta
 Menos capacidade
 Mas muito mais rápido
 Os barramentos podem ser muito lentos -> conectar-se
diretamente ao PCI, por exemplo
 Sem partes móveis, portanto, não há tempo de busca ou latência
rotacional

Operating System Concepts Essentials – 2nd Edition 9.9 Silberschatz, Galvin and Gagne ©2013
Fita Magnética
 Foi um meio de armazenamento secundário precoce
 Evoluiu de bobinas abertas para cartuchos
 Relativamente permanente e detém grandes quantidades de dados
 Tempo de Acesso Lento
 Acesso aleatório ~ 1000 vezes mais lento que o disco
 Usado principalmente para backup, armazenamento de dados pouco
usados, meio de transferência entre sistemas
 Mantido em carretel ou rebobinado passando a ler-e escrever através
da cabeça
 Uma vez que os dados sob a cabeça, as taxas de transferência são
comparáveis ​ao disco
 140MB/sec e maior
 200GB a 330TB de armazenamento
 Comuns tecnologias são LTO-{3,4,5} e T10000

Operating System Concepts Essentials – 2nd Edition 9.10 Silberschatz, Galvin and Gagne ©2013
Estrutura do disco
 Unidades de disco são endereçadas como grandes matrizes
unidimensionais de blocos lógicos, onde o bloco lógico é a
menor unidade de transferência
 A matriz unidimensional de blocos lógicos é mapeada
sequencialmente nos setores do disco
 Setor 0 é o primeiro setor da primeira pista no cilindro mais
externo
 O mapeamento procede em ordem através dessa trilha,
depois o restante das trilhas nesse cilindro e, depois, através
do restante dos cilindros, do mais externo até o mais interno
 Lógico para endereço físico deve ser fácil
 Exceto para bad sectors (setores defeituosos)
 Número não constante # de setores por faixa através de
velocidade angular constante

Operating System Concepts Essentials – 2nd Edition 9.11 Silberschatz, Galvin and Gagne ©2013
Matriz de Armazenamento
 Pode apenas anexar discos ou matrizes de discos
 Storage Array possui controlador (es), fornece recursos para
host (s) anexado (s)
 Portas para conectar hosts ao array
 Memória, software de controle (às vezes NVRAM, etc)
 Alguns para milhares de discos
 RAID, hot spares, hot swap (discutido mais tarde)
 Armazenamento compartilhado -> mais eficiente
 Recursos encontrados em alguns sistemas de arquivos
 Snaphots, clones, thin provisioning, replication,
deduplication, etc

Operating System Concepts Essentials – 2nd Edition 9.12 Silberschatz, Galvin and Gagne ©2013
Rede da área de armazenamento

 Comum em grandes ambientes de armazenamento


 Vários hosts conectados a vários arrays de armazenamento - flexível

Operating System Concepts Essentials – 2nd Edition 9.13 Silberschatz, Galvin and Gagne ©2013
Rede da área de armazenamento (Cont.)

 SAN é uma ou mais matrizes de armazenamento


 Conectado a um ou mais comutadores Fibre Channel
 Os hosts também se conectam aos switches
 Armazenamento disponibilizado via LUN Masking de matrizes
específicas para servidores específicos
 Fácil para adicionar ou remover armazenamento, adicionar
novo host e alocar armazenamento
 Over low-latency Fibre Channel fabric
 Sobre baixa-latência Fibre Channel fabric

Operating System Concepts Essentials – 2nd Edition 9.14 Silberschatz, Galvin and Gagne ©2013
Armazenamento conectado à rede
 Armazenamento conectado à rede (NAS) é o armazenamento
disponibilizado através de uma rede, e não através de uma
conexão local (como um barramento)
 Anexando remotamente a sistemas de arquivos
 NFS e CIFS são protocolos comuns
 Implementado por meio de chamadas de procedimento remoto
(RPCs) entre o host e o armazenamento em geral por meio de
TCP ou UDP na rede IP

Operating System Concepts Essentials – 2nd Edition 9.15 Silberschatz, Galvin and Gagne ©2013
Agendamento de disco
 O sistema operacional é responsável pelo uso eficiente do
hardware - para as unidades de disco, isso significa ter um
tempo de acesso rápido e largura de banda de disco
 Minimize o tempo de busca (seek time)
 Seek time  seek distance
 Disk bandwidth é o número total de bytes transferidos,
dividido pelo tempo total entre a primeira solicitação de serviço
e a conclusão da última transferência

Operating System Concepts Essentials – 2nd Edition 9.16 Silberschatz, Galvin and Gagne ©2013
Agendamento de disco (Cont.)
 Existem muitas fontes de solicitação de E / S de disco
 Sistema Operacional
 Processos do Sistema
 Processos do Usuário
 Solicitação de E / S inclui modo de entrada ou saída, endereço de
disco, endereço de memória, número de setores a serem
transferidos
 SO mantém fila de pedidos, por disco ou dispositivo
 O disco ocioso pode funcionar imediatamente na solicitação de E /
S, disco ocupado significa que o trabalho deve enfileirar
 Algoritmos de otimização só fazem sentido quando existe uma
fila

Operating System Concepts Essentials – 2nd Edition 9.17 Silberschatz, Galvin and Gagne ©2013
Agendamento de disco(Cont.)
 Observe que os controladores de unidade têm buffers pequenos e
podem gerenciar uma fila de solicitações de E / S (de
"profundidade" variável)
 Vários algoritmos existem para agendar a manutenção de
solicitações de E / S de disco
 A análise é verdadeira para um ou vários pratos
 Ilustramos algoritmos de agendamento com uma fila de
solicitações (0-199)

98, 183, 37, 122, 14, 124, 65, 67


Ponteiro de cabeça 53

Operating System Concepts Essentials – 2nd Edition 9.18 Silberschatz, Galvin and Gagne ©2013
FCFS
Ilustração mostra movimento total da cabeça de 640 cilindros

Operating System Concepts Essentials – 2nd Edition 9.19 Silberschatz, Galvin and Gagne ©2013
SSTF
 Shortest Seek Time First seleciona a solicitação com o tempo
mínimo de busca da posição atual da cabeça
 Agendamento de SSTF é uma forma de agendamento SJF;
pode causar starvation de alguns pedidos
 Ilustração mostra movimento total da cabeça de 236 cilindros

Operating System Concepts Essentials – 2nd Edition 9.20 Silberschatz, Galvin and Gagne ©2013
SCAN

 O braço do disco inicia em uma extremidade do disco e se move


em direção à outra extremidade, atendendo a solicitações até
chegar à outra extremidade do disco, onde o movimento da
cabeça é invertido e a manutenção continua.
 Algoritmo SCAN às vezes chamado de algoritmo do elevador
(elevator algorithm)
 Ilustração mostra movimento total da cabeça de 208 cilindros
 Mas observe que se as solicitações forem uniformemente
densas, a maior densidade na outra extremidade do disco e as
solicitações esperarem mais tempo

Operating System Concepts Essentials – 2nd Edition 9.21 Silberschatz, Galvin and Gagne ©2013
SCAN (Cont.)

Operating System Concepts Essentials – 2nd Edition 9.22 Silberschatz, Galvin and Gagne ©2013
C-SCAN
 Fornece um tempo de espera mais uniforme do que o SCAN
 A cabeça se move de uma extremidade do disco para a outra,
atendendo as solicitações conforme ela passa
 Quando atinge a outra extremidade, no entanto, ele
imediatamente retorna ao início do disco, sem atender a
nenhum pedido na viagem de retorno
 Trata os cilindros como uma lista circular que envolve o último
cilindro até o primeiro cilindro
 Número total de cilindros?

Operating System Concepts Essentials – 2nd Edition 9.23 Silberschatz, Galvin and Gagne ©2013
C-SCAN (Cont.)

Operating System Concepts Essentials – 2nd Edition 9.24 Silberschatz, Galvin and Gagne ©2013
C-LOOK
 LOOK uma versão do SCAN, C-LOOK uma versão do C-
SCAN
 O braço só vai até o último pedido em cada direção, então
inverte a direção imediatamente, sem primeiro ir até o final
do disco
 Número total de cilindros?

Operating System Concepts Essentials – 2nd Edition 9.25 Silberschatz, Galvin and Gagne ©2013
C-LOOK (Cont.)

Operating System Concepts Essentials – 2nd Edition 9.26 Silberschatz, Galvin and Gagne ©2013
Selecionando um Algoritmo de
Agendamento de Disco
 O SSTF é comum e tem um apelo natural
 SCAN e C-SCAN executam melhor para sistemas que colocam uma
carga pesada no disco
 Menor starvation
 Desempenho depende do número e tipos de requisições
 Solicitações de serviço de disco podem ser influenciadas pelo método
de alocação de arquivos
 E layout de metadados
 O algoritmo de agendamento de disco deve ser escrito como um módulo
separado do sistema operacional, permitindo que ele seja substituído
por um algoritmo diferente, se necessário
 SSTF ou LOOK é uma opção razoável para o algoritmo padrão
 E quanto a latência rotacional?
 Difícil para o sistema operacional calcular

Operating System Concepts Essentials – 2nd Edition 9.27 Silberschatz, Galvin and Gagne ©2013
Gerenciamento de Disco
 Low-level formatting, ou physical formatting — Dividindo um disco em
setores que o controlador de disco pode ler e gravar
 Cada setor pode conter informações de cabeçalho, além de dados,
além do código de correção de erros (ECC)
 Geralmente 512 bytes de dados, mas podem ser selecionáveis
 Para usar um disco para armazenar arquivos, o sistema operacional ainda
precisa gravar suas próprias estruturas de dados no disco.
 Partition (partição) do disco em um ou mais grupos de cilindros, cada
um tratado como um disco lógico
 Formatação lógica ou “criação de um sistema de arquivos”
 Para aumentar a eficiência, a maioria dos grupos de sistemas de
arquivos bloqueia em clusters
 E / S de disco em blocos
 E / S de arquivo feito em clusters

Operating System Concepts Essentials – 2nd Edition 9.28 Silberschatz, Galvin and Gagne ©2013
Gerenciamento de Disco(Cont.)

 Acesso ao disco rígido para aplicativos que desejam fazer seu


próprio gerenciamento de blocos, manter o sistema operacional
fora do caminho (bancos de dados, por exemplo)
 Bloco de inicialização inicializa o sistema
 O bootstrap é armazenado na ROM
 Bootstrap loader programa armazenado em blocos de
inicialização da partição de inicialização
 Métodos como o sector sparing usado para manipular blocos
ruins

Operating System Concepts Essentials – 2nd Edition 9.29 Silberschatz, Galvin and Gagne ©2013
Booting
de um disco no Windows

Operating System Concepts Essentials – 2nd Edition 9.30 Silberschatz, Galvin and Gagne ©2013
Gerenciamento de Swap-Space

 Swap-space (espaço de troca) — Memória virtual usa espaço em disco como uma
extensão da memória principal
 Menos comum agora devido aos aumentos de capacidade de memória
 Swap-space pode ser extraído do sistema de arquivos normal ou, mais
comumente, pode estar em uma partição de disco separada (raw)
 E se um sistema ficar sem espaço de troca?
 Alguns sistemas permitem vários espaços de troca

Operating System Concepts Essentials – 2nd Edition 9.31 Silberschatz, Galvin and Gagne ©2013
Estruturas de Dados para Troca em Sistemas Linux

Operating System Concepts Essentials – 2nd Edition 9.32 Silberschatz, Galvin and Gagne ©2013
Estrutura RAID
 RAID - matriz redundante de discos baratos
 várias unidades de disco fornecem confiabilidade por meio de
redundância
 Cresce o mean time to failure (tempo médio para falha)
 Mean time to repair (tempo médio para reparar) – tempo de
exposição quando outra falha pode causar perda de dados
 Mean time to data loss (Tempo médio para perda de dados) com
base nos fatores acima
 Se os discos espelhados falharem independentemente, considere
disco com 100.000 tempo médio de falha e 10 horas de tempo
médio para reparar
 Tempo médio para perda de dados é 100, 0002 / (2 ∗ 10) = 500
∗ 106 horas, ou 57,000 anos!
 Várias melhorias nas técnicas de uso de disco envolvem o uso de
múltiplos discos trabalhando cooperativamente

Operating System Concepts Essentials – 2nd Edition 9.33 Silberschatz, Galvin and Gagne ©2013
RAID (Cont.)
 Disk striping (distribuição de disco) usa um grupo de discos como
uma unidade de armazenamento
 RAID é organizado em seis níveis diferentes

 Os esquemas RAID melhoram o desempenho e melhoram a


confiabilidade do sistema de armazenamento, armazenando dados
redundantes
 Mirroring ou shadowing (RAID 1) mantém duplicação de cada
disco
 Striped mirrors (RAID 1+0) ou mirrored stripes (RAID 0+1) fornece
alto desempenho e alta confiabilidade
 Block interleaved parity (RAID 4, 5, 6) usa muito menos
redundância
 RAID dentro de uma matriz de armazenamento ainda pode falhar se a
matriz falhar, portanto, a replicação automática dos dados entre as
matrizes é comum
 Freqüentemente, um pequeno número de discos hot-spare é deixado
não alocado, substituindo automaticamente um disco com falha e tendo
os dados recriados neles.

Operating System Concepts Essentials – 2nd Edition 9.34 Silberschatz, Galvin and Gagne ©2013
RAID Níveis

Operating System Concepts Essentials – 2nd Edition 9.35 Silberschatz, Galvin and Gagne ©2013
RAID (0 + 1) e (1 + 0)

Operating System Concepts Essentials – 2nd Edition 9.36 Silberschatz, Galvin and Gagne ©2013
Outras características
 Independentemente de onde o RAID foi implementado, outros
recursos úteis podem ser adicionados
 Snapshot é uma visão do sistema de arquivos antes que um
conjunto de alterações ocorra (ou seja, em um determinado
momento)
 Mais no Capítulo 12
 A replicação é a duplicação automática de gravações entre sites
separados
 Para redundância e recuperação de desastres
 Pode ser synchronous ou asynchronous
 O disco hot spare não é usado, usado automaticamente pela
produção de RAID, se um disco não conseguir substituir o disco
com falha e reconstruir o conjunto de RAID, se possível
 Diminui o tempo médio de reparo

Operating System Concepts Essentials – 2nd Edition 9.37 Silberschatz, Galvin and Gagne ©2013
Extensões
 O RAID sozinho não impede ou detecta corrupção de dados ou
outros erros, apenas falhas de disco
 Solaris ZFS adiciona checksums (somas de verificação) de
todos os dados e metadados
 Checksums mantido com o ponteiro para o objeto, para
detectar se o objeto é o correto e se ele mudou
 Pode detectar e corrigir dados e corrupção de metadados
 O ZFS também remove volumes, partições
 Discos alocados em pools
 Sistemas de arquivos com um pool que compartilham,
usam e liberam espaço como malloc () e free () alocam /
liberam chamadas

Operating System Concepts Essentials – 2nd Edition 9.38 Silberschatz, Galvin and Gagne ©2013
ZFS Checksums
Todos os metadados e dados

Operating System Concepts Essentials – 2nd Edition 9.39 Silberschatz, Galvin and Gagne ©2013
Armazenamento tradicional e em pool

Operating System Concepts Essentials – 2nd Edition 9.40 Silberschatz, Galvin and Gagne ©2013
Fim do Capítulo 9

Operating System Concepts Essentials – 2nd Edition Silberschatz, Galvin and Gagne ©2013

Você também pode gostar