Académique Documents
Professionnel Documents
Culture Documents
SÃO PAULO
2003
ENDERSON FERREIRA
Área de Concentração:Sistemas
Digitais
Orientador:
Prof. Dr. Jorge Rady de Almeida Jr.
SÃO PAULO
2003
Ferreira, Enderson
Análise de Confiabilidade de Sistemas Redundantes
de Armazenamento em Discos Magnéticos. São Paulo, 2003.
140 p.
Ao Prof. Dr. Jorge Rady de Almeida Jr. pela inestimável ajuda e orientação durante o
desenvolvimento deste trabalho.
À minha esposa Vanessa, pelo estímulo e paciência nos diversos momentos em que
nos privamos de horas de lazer.
Aos meus companheiros de trabalho, com menção especial ao Diretor de Tecnologia
da Agência Estado, Prof. Dr. Demi Getschko, pelo incentivo e reconhecimento
profissional.
Ao homem lá de cima, e a todos que, direta ou indiretamente, colaboraram na
execução deste trabalho.
RESUMO
Capítulo 1. Introdução.................................................................................................. 1
1.1. Justificativa ....................................................................................................... 1
1.2. Objetivos ........................................................................................................... 4
1.3. Organização do Trabalho .................................................................................. 5
Capítulo 2. Métricas e Métodos para Avaliação de Confiabilidade de Sistemas......... 8
2.1. Principais Conceitos.......................................................................................... 8
2.1.1. Confiabilidade ............................................................................................ 8
2.1.2. Disponibilidade .......................................................................................... 9
2.1.3. Segurança ................................................................................................... 9
2.1.4. Executabilidade ........................................................................................ 10
2.1.5. Manutenabilidade..................................................................................... 10
2.1.6. Falha, Erro e Disfunção ........................................................................... 10
2.2. Métodos Quantitativos para Análise de Confiabilidade de Sistemas.............. 11
2.2.1. Mean Time To Failure (MTTF) ............................................................... 13
2.2.2. Mean Time To Repair (MTTR) ............................................................... 14
2.2.3. Mean Time Between Failures (MTBF).................................................... 15
2.3. Modelos Combinatórios para Avaliação de Sistemas Redundantes ............... 15
2.3.1. Sistema Série............................................................................................ 16
2.3.2. Sistema Paralelo ....................................................................................... 17
2.4. Modelos de Markov ........................................................................................ 18
2.5. Métodos Qualitativos para Análise de Confiabilidade de Sistemas................ 21
2.5.1. Análise por Árvore de Falhas................................................................... 21
2.5.2. Redes de Petri........................................................................................... 25
Capítulo 3. Discos Magnéticos e Interfaces............................................................... 28
3.1. Os Discos Rígidos ........................................................................................... 29
3.1.1. Organização Lógica dos Discos Rígidos.................................................. 31
3.1.2. Parâmetros de Desempenho dos Discos Rígidos ..................................... 33
3.1.3. Detecção e Correção de Erro em Discos Rígidos .................................... 35
3.1.3.1. CRC................................................................................................... 36
3.1.3.2. S.M.A.R.T. ........................................................................................ 38
3.2. Interfaces ......................................................................................................... 40
3.2.1. SCSI ......................................................................................................... 40
3.2.2. IDE / ATA................................................................................................ 43
3.2.3. Outras Interfaces ...................................................................................... 46
Capítulo 4. RAID, Matrizes Redundantes de Discos Magnéticos ............................ 49
4.1. Os Níveis de RAID ......................................................................................... 54
4.1.1. Raid Nível 1 - Espelhamento ................................................................... 55
4.1.2. Raid Nível 2 - Correção de erro por Hamming........................................ 56
4.1.2.1. Código de Hamming ......................................................................... 57
4.1.3. RAIDs níveis 3, 4 e 5 - Paridade N+1...................................................... 62
4.2. RAID Derivados ............................................................................................. 68
4.2.1. RAID com dados e paridade não entrelaçados ........................................ 68
4.2.2. RAID com Matriz bi-dimensional de discos............................................ 70
4.2.3. RAID Ortogonal....................................................................................... 74
4.2.4. RAID com código não-binário................................................................. 75
4.2.5. RAID 0 – Sem redundância ..................................................................... 76
4.2.6. RAID em camadas ................................................................................... 77
4.2.6.1. RAID 0+1.......................................................................................... 77
4.2.6.2. RAID 0+3.......................................................................................... 79
4.2.6.3. RAID RM2........................................................................................ 80
4.3. Comparação de RAID por Software e RAID por Hardware........................... 81
Capítulo 5. Análise de Confiabilidade dos Sistemas RAID....................................... 86
5.1. Considerações Gerais ...................................................................................... 86
5.1.1. Principais Parâmetros............................................................................... 87
5.1.2. Caracterização do Processo de Reparo .................................................... 91
5.1.3. Falhas de Sistema..................................................................................... 94
5.2. Avaliação de Confiabilidade dos RAID 3, 4 e 5............................................. 97
5.2.1. Avaliação para Múltiplos Grupos de Paridade Simples......................... 100
5.2.2. Avaliação de Múltiplos Grupos de Paridade Simples Considerando Falhas
de Sistema ........................................................................................................ 101
5.2.3. Avaliação do RAID Ortogonal Considerando Falhas de Sistema ......... 102
5.3. Avaliação de Confiabilidade do RAID 1 ...................................................... 106
5.4. Avaliação de Confiabilidade do RAID RM2 ................................................ 107
5.5. Rede de Petri para Modelagem de Falhas em RAID .................................... 108
5.6. Resumo.......................................................................................................... 113
Capítulo 6 - Simulação............................................................................................. 115
6.1. O SimuRAID................................................................................................. 115
6.2. Aplicação do Simulador................................................................................ 118
Capítulo 7 - Conclusões ........................................................................................... 121
7.1. Contribuições ................................................................................................ 124
7.2. Trabalhos Futuros ......................................................................................... 127
Referências Bibliográficas ....................................................................................... 128
Anexo A – Apresentação do Simuraid..................................................................... 137
LISTA DE FIGURAS
ATA – AT Attachment
CDROM – Compact Disk Read Only Memory
CRC – Cyclic Redundancy Check
CR – Cadeia em Reparo
DR – Discos em Reparo
DP – Dados Perdidos
DVD – Digital Video Disk
E/S - Entrada e Saída
HiFD – High capacity Floppy Disk
IEEE - Institute of Electrical & Electronics Engineers
IDE – Integrated Device Electronics
MTTF – Mean Time To Failure
MTTR – Mean Time To Repair
MTBF – Mean Time Between Failures
MTTDL – Mean Time To Data Loss
MTTCD – Mean Time To Change Disk
NF – Nenhuma Falha
OLS – On Line Spare
RAID - Redundant Arrays of Inexpensive Disks
RAM – Random Access Memory
RPM – Rotações Por Minuto
RM2 – Redundancy Matrix 2
SCSI – Small Computer Systems Interface
S.M.A.R.T - Self-Monitoring Analysis and Reporting Technologies
TMR – Triple Module Redundancy
TD – Tamanho do Disco
TR – Taxa de Reconstrução
UCP – Unidade Central de Processamento
1
CAPÍTULO 1. INTRODUÇÃO
1.1. Justificativa
Quanto mais discos na matriz, maior o desempenho, uma vez que se obtêm um maior
número de instruções de E/S independentes. Porém, uma matriz de muitos discos
pode comprometer a confiabilidade do sistema uma vez que os dados estão
fragmentados ao longo de todos os discos da matriz, e para que haja uma E/S com
sucesso, é preciso que todos os fragmentos estejam íntegros em cada disco da matriz.
Para tolerar falhas, a técnica RAID aloca uma fração de sua capacidade para o
armazenamento de um código que permite a redundância. Esta informação
redundante permite que em caso de uma falha de disco, a informação de origem seja
recuperada a partir do conteúdo de discos que não falharam (Gibson, 1991).
1.2. Objetivos
Por fim, são apresentadas as Referências Bibliográficas utilizadas e nos anexos, são
apresentadas as telas do ambiente parametrizado, com os gráficos de confiabilidade
em função dos parâmetros envolvidos de um estudo de caso.
8
2.1.1. Confiabilidade
Por exemplo, um computador que falhe em média uma vez a cada 2000 horas tem
uma probabilidade de falhas de 1/2000 falhas/hora.
2.1.2. Disponibilidade
2.1.3. Segurança
2.1.4. Executabilidade
Em muitos casos, é possível projetar sistemas que podem continuar a executar suas
funções corretamente mesmo após a ocorrência de uma falha de hardware ou
software, ainda que o nível de desempenho diminua. É o caso de sistemas que
possuem tolerância à falhas; através da redundância dos módulos do sistema. Mesmo
que um módulo falhe, o outro pode suprir o sistema mantendo a execução de suas
funções corretamente.
2.1.5. Manutenabilidade
A manutenabilidade mede a facilidade com que um sistema pode ser reparado, após a
ocorrência de uma falha. A manutenabilidade M(t) é a probabilidade que um sistema
em estado de falha possa voltar a um estado de operação em um instante t (Johnson,
1989). O processo de restauração do sistema inclui a localização do problema, a
reparação física do sistema e a sua reinicialização em condições operacionais.
Dado um sistema, seja ele composto por hardware ou software, a presença de uma
anormalidade pode ser caracterizada em 3 tipos: falha, erro e disfunção
(CAMARGO, 2002). A interconexão desses conceitos é mostrada na figura 2.1.
A existência de uma falha de qualquer natureza pode gerar um erro no sistema, que
representa um módulo ou subsistema faltoso ou falho apresentando um
comportamento inadequado.
A presença de um erro dentro do sistema pode por sua vez gerar um erro externo que
caracteriza a disfunção do sistema. Uma disfunção no sistema existe quando este não
se comporta de forma adequada apresentando resultados fora dos limites aceitáveis,
ou ainda quando deixa de funcionar totalmente.
Taxa de
Falhas
Tempo
A curva mostra que durante o início da vida de um sistema composto por circuitos
eletrônicos, falhas ocorrem com mais freqüência pois os componentes estão sujeitos
a falhas de fabricação ou defeitos. Essa fase é conhecida como fase de mortalidade
infantil. No outro lado da curva, existe a fase pós-desgaste, ou seja, o sistema esteve
em operação por um longo tempo e está sujeito a falhas em decorrência do uso
excessivo dos componentes eletrônicos, falhas estas que podem ser ocasionadas por
desgaste físico ou mecânico. Na fase intermediária, a função de taxa de falhas é
aproximadamente uma constante e esta fase é chamada de vida útil do sistema. O
período onde a taxa de falhas é constante é a métrica relevante para mensurar o
sistema, e é simbolizada por λ , expressa por unidade de falhas por hora.
R(t ) = e − λt
sendo que λ é uma constante que representa a taxa de falhas observada na fase de
estabilidade da curva da banheira.
Assim como a taxa de falhas, o tempo médio estimado de falha MTTF (Mean Time
To Failure) é um parâmetro importante para especificar a qualidade de um sistema.
O MTTF é o tempo estimado em que um sistema ficará operacional até a ocorrência
de uma falha. Por exemplo, se existem N idênticos sistemas colocados em operação
em t=0, e mede-se o tempo que cada sistema opera antes de falhar, o tempo médio
dentre esses tempos medidos é o MTTF (Johnson, 1989). Se cada sistema i opera por
um tempo t, antes de encontrar a primeira falha, o MTTF é dado por:
∑t i
MTTF = i =1
N
∞ −λt
MTTF = ∫ e dt = 1
0 λ
R ( MTTF ) = R 1( λ)= e −λ 1 ( λ) −1
= e = 0,3678
ou seja, a confiabilidade do sistema quando seu tempo de vida atinge o MTTF é 0,36
ou probabilidade de 36% que o sistema falhe.
∑t i
MTTR = i =1
N
MTTR = 1
µ
Ass = µ = MTTF
(λ + µ ) ( MTTR + MTTF )
O Mean Time Between Failures (MTBF) ou tempo médio entre falhas, é a soma do
MTTR e o MTTF como mostra a figura 2.3, ou seja, é o tempo médio entre todas as
vezes em que o sistema entrou em funcionamento, falhou e entrou novamente em
funcionamento após um tempo de reparo (Johnson, 1989).
1o ciclo 2o ciclo
MTBF=MTTF+MTTR
Os sistemas série são sistemas que não possuem qualquer tipo de redundância. Uma
maneira de representar esses sistemas é utilizar um diagrama em bloco de
confiabilidade. Esse diagrama é representado como um diagrama de fluxo com uma
entrada e uma saída do sistema. Cada elemento do sistema é um bloco e no caso do
sistema série, os blocos são alocados de forma que as saídas de cada bloco são a
entrada do bloco subseqüente.
R Series
(t ) = P(C1w (t ) ∩ C 2 w (t ) ∩ ... ∩ C nw (t ))
R Series
(t ) = R1 (t ) R 2 (t )... R n (t )
ou
n
Rseries (t ) = ∏ Ri (t )
i =1
A diferença desses sistemas para os sistemas série é que é necessário que apenas um
dos N componentes idênticos em paralelo esteja funcionando para que todo o sistema
esteja funcionando corretamente. O diagrama de confiabilidade em blocos é
mostrado na figura 2.5 (SIEWIOREK, 1982).
R1(t)
R2(t)
≈ ≈
RN-1(t)
RN(t)
Como pode ser visto, existe mais de um caminho da entrada para saída do diagrama.
Se um dos caminhos estiver impossibilitado pela falha de um módulo, um outro
módulo em paralelo pode ser utilizado, não alterando os resultados da saída do
sistema como um todo.
A não-confiabilidade desse sistema pode ser calculada como a probabilidade que
todos os N elementos falhem. Suponha que Cif(t) seja o evento em que um módulo
falhou no tempo t, Qparalelo(t) seja a não-confiabilidade do sistema paralelo, e Qi(t)
18
Q Paralelo
(t ) = P (C1 f (t ) ∩ C 2 f (t ) ∩ ... ∩ C nf (t ))
ou
n
QParalelo (t ) = Q (t ) Q (t )... Q (t ) = ∏ Qi (t )
1 2 n
i =1
Muitos sistemas complexos são difíceis de serem modelados apenas com modelos
combinatórios, uma vez que os diagramas em bloco de confiabilidade podem ser
muito difíceis de serem construídos. As expressões de confiabilidade podem tornar-
se muito complexas e outro fator a ser considerado é que tais modelos não permitem
a modelagem com reparo. Nesses casos, pode-se utilizar para a modelagem os
Modelos de Markov (Johnson, 1989).
Dessa forma, os estados (000), (001), (100) e (010) representam estados em que o
sistema sofreu uma disfunção externa. Já o estado (111) significa que o sistema está
livre de erros (perfeito funcionamento) e os demais estados (110), (101) e (011) o
sistema apresenta erro interno.
Se assumir que cada módulo do sistema TMR obedece à lei de falha exponencial e
tem uma taxa constante de falhas λ , a probabilidade de um módulo falhar em um
período de tempo t+ ∆ t, dado que o módulo estava operacional no instante t, é a não-
confiabilidade do módulo, dado por:
Q (t ) = 1 − e − λ ∆t
20
1 − e − λ∆ t ≈ λ ∆ t
A figura 2.7 mostra o modelo de Markov para o sistema TMR de forma reduzida
(Johnson, 1989). O estado 3 representa os 3 módulos funcionalmente perfeitos e o
estado 2 um dos módulos falho, representando erro interno sem causar disfunção do
sistema. O estado de falha é representado pelo estado F, onde pelo menos 2 dentre os
3 módulos falharam, caracterizando disfunção do sistema.
1-2 λ∆ t 1- λ∆ t
110 λ∆ t 100
λ∆ t λ∆ t λ∆ t
1-3 λ∆ t λ∆ t 1- λ∆ t 1.0
1-2 λ∆ t
λ∆ t
111 101 001 000
λ∆ t λ∆ t
1-2 λ∆ t 1- λ∆ t
λ∆ t λ∆ t
011 010
λ∆ t
Disfunção no sistema
Fig. 2.6 – Modelo de Markov para o sistema TMR com as probabilidades de transições de estado
21
1- 1- 1.0
3 λ∆ t 2 λ∆ t
3 2 F
Árvores de Falhas são utilizadas para analisar as causas de riscos do sistema, mas
não para identificar os riscos. Trata-se de uma técnica de procura top-down, ou seja,
de cima para baixo. Uma vez que a árvore tenha sido projetada, pode-se escreve-la
como uma expressão booleana e simplificá-la para mostrar combinações específicas
de eventos básicos suficientes para causar eventos indesejáveis os quais são
colocados no topo da árvore.
22
A análise por árvore de falhas tem 4 passos básicos: definição do sistema, construção
da árvore de falhas, análise qualitativa e análise quantitativa (KECECIOGLU, 1991).
A análise quantitativa não será abordada neste trabalho.
a) Definição do Sistema
Nesse passo é definido o evento topo, condições iniciais, eventos existentes, e
eventos não permissíveis ao sistema.
O exemplo da figura 2.8 mostra uma árvore de falhas com a simbologia de eventos e
relações lógicas entre os eventos.
c) Análise qualitativa
Esta técnica tem como finalidade identificar os conjuntos de eventos básicos cuja
ocorrência leva ao evento topo indesejável ao sistema. Esse conjunto de eventos é
conhecido como cut sets ou atalhos. Através dos cut sets podem ser identificados os
pontos vulneráveis no sistema observando os eventos básicos e comparando-se os
diversos caminhos que possibilitam a ocorrência do evento topo.
G0
1 G1 2
3 4
A técnica para obter o algorítimo do cut set mínimo segue os procedimentos abaixo:
1) nomear cada gate;
2) numerar cada evento básico;
3) localizar o gate mais acima da árvore na primeira linha e coluna da matriz;
4) iniciar o cut set com o número do gate mais acima e fazer múltiplas substituições,
de cima para baixo trocando eventos que apareçam em retângulos por equivalentes
gates mais abaixo ou em caso de eventos básicos escrever o nome do próprio evento;
24
5) quando todos os gates tiverem sido substituídos por eventos básicos, obter os
mínimos cut sets removendo os supersets, que são os cut sets que incluem outros cut
sets.
G0 1 1
2 2
G1 3, 4
A tabela 2.1 relaciona da direita para a esquerda os gates e eventos a partir do evento
topo em direção aos eventos básicos. G0 é o gate mais acima, sendo que suas
entradas são os eventos básicos 1, 2 e o gate G1. A ocorrência de qualquer de suas
entradas implica na ocorrência do evento topo. O gate G1 possui como entradas os
eventos básicos 3 e 4, e nesse caso, G1 habilita G0 somente se ambos eventos
ocorrerem simultaneamente.
O conjunto C que contém os cut sets para a arvore de falhas é dado por:
C=({1}, {2},{3,4})
Conclui-se que os eventos básicos 1 e 2 são mais críticos que os eventos 3 e 4 pois a
ocorrência desses eventos está diretamente associado a ocorrência indesejável do
evento topo. Devido a simplicidade e conseqüentemente a obviedade das conclusões
do exemplo utilizado pode não parecer tão útil a utilização de Árvore de Falhas para
detectar pontos vulneráveis do sistema. Porém, em sistemas mais detalhados e
críticos, a utilização desse método ajuda a esclarecer os pontos vulneráveis muitas
vezes não claramente visíveis dentro do sistema, ajudando assim a tornar confiáveis
sistemas altamente complexos.
Identificando-se os pontos fracos do sistema pode-se prioriza-los no projeto quanto a
investimento de melhoria da confiabilidade aplicando-se redundância de módulos.
25
As Redes de Petri têm sido usadas para modelar e analisar sistemas bem como suas
propriedades como deadlocks, alcançabilidade, confiabilidade e tolerância a falhas
(LEVESON, 1987).
P1 Aproximação
o
t1
P5
t4 Cancela aberta
P9
t2
Cancela fechada
P7
P3
P10
Cruzando
t3 P8
t5
P4 Passou computador
mapeia uma transição ti para um pacote de locais O(ti). O local inicial da marca
(token) na rede é especificado por µ 0.
respectivamente a seguir:
P= {P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12}
T={t1, t2, t3, t4, t5, t6, t7}
µ 0 ={1,0,0,0,0,1,0,0,0,0,1,0}
I(t1)={P1} O(t1)={P2,P3}
I(t2)={P2} O(t2)={P3}
I(t3)={P3} O(t3)={P4,P8}
I(t4)={P5,P6} O(t4)={P7,P9}
I(t5)={P7,P8} O(t5)={P6,P10}
I(t6)={P10,P12} O(t6)={P11}
I(t7)={P9,P11} O(t7)={P12}
Para cada ocorrência dos eventos, os tokens mudam de locais após a ocorrência de
cada transição. Uma vez que todos os locais que alimentam uma transição possuem
um token, a transição subseqüente pode ocorrer passando por sua vez os tokens que
estão adiante a transição, até que o token atinge o local final.
Na rede de Petri se t2 for menor que t7, há um estado crítico. Portanto, para reduzir
os riscos, é necessário tomar cuidado no projeto para que t2 seja muito maior que t7,
e em nenhum momento os tokens estarão em P11 e P3 simultaneamente, reduzindo-
se assim os riscos do projeto.
As memórias do tipo óptico utilizam laser para ler e escrever dados e são
normalmente mais lentas do que as que utilizam o meio eletromagnético para
armazenamento. Os dispositivos de armazenamento óptico mais comuns são os
CDROMs e os DVDs e são a melhor alternativa em alta capacidade de
armazenamento em discos removíveis portáteis de baixo custo (LOBATO, 2000).
Um HDD (acrônimo para hard disk drive) ou drive de disco rígido é um dispositivo
mecânico, compacto, eletronicamente controlado. Sua operação muitas vezes é
comparada a uma vitrola (MCKENDRICK et al., 2000).
A figura 3.1 apresenta um esquema das partes mais importantes de um disco rígido.
Ele consiste em um ou mais pratos circulares (esses pratos são feitos de um material
rígido como o alumínio, o que dá ao disco rígido o seu nome), cada um com uma ou
ambas as faces cobertas por uma substância magnética usada para a gravação de
dados. Para cada face, há uma cabeça de leitura e gravação. As cabeças de leitura e
gravação movem-se radialmente sobre a superfície dos pratos através da ação de um
motor pivô (SIERRA, 1990). Os pratos giram em um eixo comum com velocidades
angulares superiores a 3600 rotações por minuto, sendo que discos de alto
desempenho atingem velocidades maiores, de até 15000 RPM (IBM, 2002). As
cabeças de leitura e gravação têm forma aerodinâmica e flutuam em um colchão de
ar gerado pela rotação dos pratos (TANEMBAUM, 1990), evitando assim, atrito da
cabeça com a superfície magnética.
Na composição dos pratos existem várias camadas sobre o material rígido, listadas a
seguir da mais interna a mais externa:
• Níquel e fósforo
30
• Cromo
• Camada magnética onde são efetivamente armazenados os dados, normalmente
um composto de cobalto;
• Camada de proteção a superfície magnética contra atritos da cabeça de
leitura/gravação, carbono;
• Lubrificante, para reduzir os danos a superfície caso haja fricção entre a cabeça
de leitura/gravação e o prato
Até 1991, a densidade de área magnética aumentava em uma taxa anual de 30% e no
período compreendendo os anos de 1992 e 1997, esta taxa de crescimento passou a
60%/ano, muito maior que a taxa de progresso observada para os semicondutores. Já
em 1999, a densidade de área cresceu 125%. Dados da IBM e Fugitsu (IBM, 1998;
FUGITSU, 1998 apud MCKENDRICK et. al, 2000) mostram que em 1982 a
densidade de alocação estava por volta de 10Mbits/polegada quadrada. Em 1997,
esta métrica passou a marca de 1Gbit/polegada quadrada.
Normalmente o número de setores é o mesmo para todas as trilhas, mas alguns discos
rígidos possuem um número maior de setores nas trilhas mais externas. Tipicamente
um setor comporta 512 bytes de dados, embora alguns sistemas específicos permitem
a alteração do tamanho dos setores. Os discos magnéticos não podem manipular
quantidades menores de dados que um setor. A organização lógica em discos
magnéticos é ilustrado na figura 3.2 (PATTERSON, 1996).
Pratos
Trilhas
Setores
Prato
Trilha
onde ela vai, e se a informação é para ser lida do disco ou se é para ser escrita
nele”(TANEMBAUM, 1990).
Nos discos em que as trilhas mais externas possuem mais setores que as mais
internas e conseqüentemente armazenam maior quantidade de dados, alguns
fabricantes empregam a técnica de zoneamento ou ZBR, acrônimo para Zone-Bit
Recording para aumentar o desempenho de certas aplicações, como vídeo sob
demanda.
O atraso rotacional ou latência de rotação é o tempo em que o setor correto passa sob
a cabeça de leitura/escrita uma vez que o conjunto de cabeças já está posicionado no
cilindro correto. O atraso rotacional é menor quanto maior for a velocidade angular
da unidade de disco magnético. Em média, a latência para alcançar o setor correto é a
metade do tempo em que o disco realiza uma volta completa. Se a velocidade angular
de um disco rígido é de 3600 RPM, o tempo médio de latência de rotação é portanto:
Para exemplificar, supõe-se um disco rígido cujo tempo médio de busca seja de 9 ms,
a taxa de transferência 4MB/s, a velocidade de rotação de 7200 RPM e o tempo de
controladora de 1ms e assume-se que o disco está ocioso e portanto não há atraso por
espera em fila. Para determinar o tempo médio estimado para ler ou escrever um
setor de 512 bytes, somam-se os tempos: médio de busca, média do atraso rotacional,
tempo de transferência e a sobretaxa de controladora.
0,5 0,5
9ms + + + 1ms = 14,3ms
7200 4.1024
60
Para evitar ou pelo menos minimizar tais erros, os discos magnéticos utilizam
códigos de detecção e correção de erro. Quando estes códigos são utilizados,
juntamente com os dados em cada setor são armazenados bits extras que possibilitam
detectar erros de inconsistência dos dados.
3.1.3.1. CRC
O polinômio CRC-CCITT, de grau 16, usa o polinômio gerador G(x) = x16 + x12 +x5
+1. Esse polinômio CRC-CCITT é capaz de detectar erros simples e duplos de bits,
todos erros com um número ímpar de bits, qualquer erro de bits consecutivos desde
que menor ou igual ao grau do polinômio, nesse caso 16 erros de bits consecutivos,
99,998 % de erros de bits consecutivos acima de 18 bits (TANEMBAUM, 1996).
A figura 3.3, adaptada de [], mostra um formato típico de gravação de uma trilha e a
seqüência de setores em um disco magnético, com as respectivas áreas reservadas a
gravação do código CRC.
38
1 2 1 1 2 1 512 2
3.1.3.2. S.M.A.R.T.
Existem dois tipos de falhas de discos rígidos: as previsíveis, que podem ser pré-
detectadas antes mesmo de haver alguma perda de dados, possibilitando uma
intervenção antes que ocorra a falha e as imprevisíveis.
As falhas previsíveis são falhas que a tecnologia S.M.A.R.T. tenta detectar com
predição. Estas falhas são normalmente resultado de uma degradação do desempenho
do dispositivo. As falhas mecânicas nos discos rígidos representam 60% do total de
falhas, e se a tecnologia S.M.A.R.T. conseguir detectar tal falha e houver uma
adequada intervenção, uma parcela muito próxima de 60% de casos de falhas de
discos podem ser antecipadas às perdas de dados.
3.2. Interfaces
3.2.1. SCSI
Controlador
de E/S
barramento PCI
canal 0
Controlador
SCSI
ID0 ID1 ID2 ID16
canal 1
Fig. 3.4. – Controlador SCSI como interface entre discos e o computador (adaptado de DELL, 1999 e
KRINGS, 1999)
O padrão SCSI-2 foi aprovado pela ANSI em 1990. Este novo padrão removeu
algumas das instruções do padrão SCSI-1 trocando-as por um conjunto avançado de
instruções e aprimoramentos em baixo nível. O conceito Wide SCSI bus (barramento
SCSI largo) foi introduzido permitindo 16 ou 32 bits no barramento de dados entre o
adaptador de host e a matriz de dispositivos de armazenamento que foi extendida,
passando a acoplar até 15 dispositivos por canal. Juntamente com o barramento
Wide, o Fast SCSI (SCSI Rápido) permitiu aumentar a velocidade do barramento em
até 20Mbytes/s usando os 32 bits de largura de barramento. A adição de terminações
ativas ao barramento permitiram uma melhor integridade no tráfego dos dados
(CARDENAS, 2000).
Como IDE é uma extensão lógica do barramento de E/S ISA presente nos
computadores de arquitetura PC seu uso fica restrito a essa arquitetura não sendo
encontrado em outras arquiteturas de computadores como Macintosh e estações
RISC. Como conseqüência dessa extensão, a largura do barramento de transferência
de dados de uma interface IDE / ATA fica limitada a largura do barramento de E/S
ISA, que é de 16 bits.
44
Canal ATA
Secundário
Mestre Escravo
Fig. 3.5 – Configuração ATA com dois periféricos por canal (adaptado de DELL, 1999)
A interface ATA tornou-se um padrão ANSI em 1994 e desde então sua taxa de
transferência de dados tem sido aprimorada. No barramento de 16 linhas de dados, o
barramento ATA pode fazer a transferência de dados em diversas velocidades usando
modos PIO (Programmed Input/Output), modos DMA (Direct Memory Access) e
modos Ultra DMA. A tabela 3.2 mostra os diversos modos e as respectivas taxas de
transferência, versão ATA, número de pinos por conector, e número de linhas de
condução por conector.
A especificação Fiber Channel pode ser melhor classificada como uma arquitetura do
que simplesmente uma interface, devido a sua robustês de topologia, sendo que
verdadeiras redes de comunicação fazem a interconexão dos dispositivos de
armazenamento a servidores de alto desempenho e capacidade. Sua grande diferença
para as demais interfaces é o meio físico, como o próprio nome diz, utiliza fibra
óptica ao invés de sinal elétrico para transferência de dados, o que garante altas taxas
de transferência podendo alcançar 2Gbits/s de dados mais controle, ou 200MBytes/s
efetivo. Em termos de topologia existem 3 tipos ilustradas na figura 3.6: ligação
ponto a ponto, loop arbitrário e comutação de malha (fabric switching).
Os cabos podem ser desde 30m (usando coaxial, que também é possível ser utilizado
apesar dessa tecnologia receber o nome “fibra”) até 10 Km por meio de fibras
ópticas. Os canais de fibra possibilitam até 126 dispositivos por porta que podem ser
hot-plugable e há compatibilidade para conexões de dispositivos SCSI (CLARK,
2002; HOWE, 1999).
48
Servidor
Servidor
Tx Rx
Discos
Tx
Rx Tx
Tx Rx
Rx Tx
a) Ponto a Ponto
b) Loop Arbitrário
Comutador
c) Comutação de Malha
de 1,3” (Seagate, 2002). Por outro lado, alta densidade exige maior desempenho em
operações de E/S, uma vez que mais informações são trafegadas nos barramentos.
Uma matriz de discos armazena os dados de forma ortogonal, ou seja, os dados são
divididos em N partes iguais e alocados em cada um dos N discos.
Fig. 4.1 - Discos físicos organizados em matriz são endereçados como um único disco lógico
Como mostra a figura 4.1 (Compaq, 1998), vários discos físicos são agrupados para
constituir um disco lógico. No exemplo existem sete discos magnéticos que podem
ser configurados e vistos pelo sistema como um único drive lógico quando conectado
a um controlador de matriz de discos. A capacidade total da matriz corresponde a
soma da capacidade de todos os discos subtraído do armazenamento redundante, que
no exemplo utilizado, corresponde a capacidade de um disco.
São elas: RAID 1, conhecida como técnica de espelhamento, RAID 2, que usa
código de Hamming para correção de erros, RAID 3 e RAID 4, que usam a técnica
de paridade entrelaçada, em nível de bit e de bloco respectivamente, e o RAID 5,
com a técnica de paridade distribuída em nível de bloco.
55
Neste método, os discos são organizados aos pares, e sendo N o número de discos da
matriz, N é maior que 1 e é sempre par.
for par. Na tabela verdade, os casos em que o bit de paridade não confere, indica a
detecção de erro em 1 dos 2 bits da palavra original.
Supondo que um bloco de dados ou uma palavra com m bits são armazenadas e a ela
são acrescentados r bits de redundância ou verificação, cuja principal finalidade é
permitir a detecção e/ou correção de erros. O tamanho total da palavra é igual a n
sendo n=m+r, e n é chamado de palavra de código ou codeword, como visto no
espelhamento.
(m + r + 1) <= 2 r
Utilizando um exemplo onde m=2, para satisfazer a inequação acima, r deve ser no
mínimo igual a 3, ou seja, sobretaxa de 150%, maior que no espelhamento. Para
60
m=4, r=3. Nesse caso, a sobretaxa é de 75%. Para valores de m maiores, menor a
sobretaxa, como mostra a tabela 4.3.
O processo para detecção de erro é feito arranjando os bits da mesma forma que na
codificação e determinando se os bits de verificação correspondem a paridade par de
seus respectivos círculos. Para determinar qual bit está codificado errado, e dessa
forma poder corrigi-lo, somam-se os índices dos bits de verificação inválidos.
Para exemplificar, supondo que tenha sido gravado em uma matriz de 7 discos, cada
disco armazenando um bit de cada palavra codificada, a palavra n do exemplo
anterior, 0110011, que codifica a palavra m 1011. Em um acesso posterior, leu-se a
palavra 0110111, e como percebe-se o bit 5 foi lido errado. Arranjando os bits lidos
no diagrama de Venn-Euler, nota-se que os bits de verificação b1 e b4 não
correspondem a paridade par de seus respectivos círculos conforme figura 4.7. Dessa
forma, somando-se os índices dos respectivos bits de paridade inválidos, 4 e 1,
obtêm-se o bit errado b5.
62
Fig. 4.7 – Verificação dos bits de paridade para detecção e correção de erro
P 0 − 5 = D 0 ⊗ D1 ⊗ D 2 ⊗ D 3 ⊗ D 4 ⊗ D 5
Fig. 4.8 - Xor dos bits do codeword para formar a paridade
1
Sobretaxa =
N −1
Observa-se que quanto mais discos na matriz, menor a sobretaxa, já que apenas 1 bit
ou um disco é necessário para armazenar a redundância de dados independentemente
do tamanho da palavra não redundante. A composição mínima de uma matriz de
paridade N+1, com 3 discos, possui uma sobretaxa de redundância de 50%. Já uma
matriz com 17 discos, por exemplo, possui uma sobretaxa de apenas 6,25%.
A perda total de um disco de uma matriz de paridade N+1 não compromete os dados
gravados, uma vez que a recomposição do disco defeituoso em um novo disco é
obtida pela paridade par dos demais discos da matriz.
A falha de 2 discos implica na perda total dos dados armazenados em uma matriz de
paridade N+1. Matrizes com muitos discos são mais susceptíveis a perda total dos
dados e conseqüentemente são pouco confiáveis, uma vez que a probabilidade de
falha de 2 discos entre N discos é maior que a falha de 2 discos entre N-1 discos
(Holland, 1993).
64
Na paridade N+1 os bits de uma palavra de código podem ser armazenados de forma
consecutiva, regularmente separados ou ainda arbitrariamente separados no espaço
de endereçamento do sistema de arquivos.
A diferença entre o RAID nível 5 (figura 4.13) e o RAID nível 4 (figura 4.12) se dá
na forma em que os blocos de paridade são armazenados. No RAID 4, os blocos de
paridade são armazenados em um disco dedicado enquanto que no RAID 5, os
blocos de paridade consecutivos são armazenados em discos distintos nas matrizes e
distribuído uniformemente em todos os discos.
Para sistemas com grandes requisições de leitura e escrita, ou seja, que acessam
blocos inteiros de dados em todos os discos, é importante para o desempenho que
exista uma sincronização das cabeças de leitura/escrita e o atuador (que movimenta
as cabeças) para todos os discos da matriz e também que seja utilizado o
68
Gray et al propuseram então um código de paridade N+1 que não entrelaça os dados
sobre os discos. A figura 4.14 mostra um exemplo utilizando 3 discos não
entrelaçados. Como no RAID 5, a paridade é distribuída e os dados são organizados
em blocos, porém o armazenamento de dados não é fragmentado através dos discos.
Diferente dos RAIDs apresentados anteriormente, essa técnica não agrupa vários
discos em um único disco lógico sendo que cada disco corresponde a um sistema de
arquivos individual e o armazenamento de blocos de paridade em áreas reservadas
em cada disco garante a tolerância a falhas do conjunto de discos.
No item 4.1.2.1 foi visto que utilizando código de Hamming é possível correção de
múltiplas falhas de discos, dependendo da distância Hamming utilizada. Quanto
maior a distância Hamming, mais discos são necessários para implementar o código
de redundância.
L+C
Sobretaxa % = .100 | L > 1 e C > 1
L.C
A disposição da matriz influi na sobretaxa. Por exemplo, uma matriz não redundante
de 12 discos, quando organizada em 6x2 usa um disco a mais para paridade que
quando organizado em 4x3. A sobretaxa no primeiro caso é de 66,66% e no segundo
caso é de 58,33%.
Além disso, falhas múltiplas incluindo mais que 2 discos em alguns casos são
reparáveis, não necessariamente se estarem na mesma linha ou coluna. Por exemplo,
na figura 4.15 se falharem os discos 0, 1, 5 e 2 simultâneamente, podem ser
recuperados pelos dados armazenados nos discos D, 6 e 3; E, 7 e 4; 3, 4 e B; F, 8 e 5
respectivamente. Note que foi respeitado uma ordem para recuperar os dados dos
discos 2 e 5. Para recuperar o disco 2, foi necessário antes recuperar o disco 5.
Essa falha passa a ser suportada se adicionado um disco a mais para armazenar a
paridade dos discos da linha M+1 ou da coluna N+1 (disco DM+1,N+1 pontilhado na
figura 4.16), com a penalidade de atualizar um terceiro disco a cada operação de
escrita. O desempenho é potencialmente afetado pois o disco adicionado passa a ser
o gargalo do sistema, pois esse disco deve ser atualizado em operações de escrita
envolvendo qualquer outro disco da matriz. O custo com sobretaxa é ligeiramente
afetado pois é adicionado mais um disco de redundância, mas é irrelevante quando
utilizado matrizes de muitos discos.
Sabe-se que uma falha de controlador de disco pode ocasionar falha simultânea de
todos os discos da cadeia controlada e se não for utilizado uma técnica que suporte
múltiplas falhas, todos os dados da matriz podem ser perdidos. Esse tipo de falha
recebe o nome de falha em modo comum, que é a falha de múltiplos componentes
simultâneamente em decorrência da falha de um outro componente no qual são
dependentes (JOHNSON, 1989).
O RAID Ortogonal pode ainda ser utilizado para implementar vários grupos de
paridade de correção simples de forma que a falha de um controlador não cause
falhas simultâneas em um mesmo grupo de paridade. Na figura 4.17, a opção 2 de
agrupamento utiliza um disco de cada controlador para compor o grupo de paridade,
mais confiável que se utilizar a opção 1, onde os discos de um mesmo controlador
fazem parte de um mesmo grupo de paridade de correção simples, totalmente
vulnerável a falha correlata de discos pela falha do controlador (Lobato, 2000).
Cada palavra de código no sistema de paridade binário é formado por cada bit dos N
discos da matriz mais o bit de paridade par dos N bits, como já visto. Uma palavra de
código não binário utiliza de cada disco um conjunto de bits que formam um
símbolo, como o equivalente decimal de um byte, e o dado de verificação é o
resultado de uma equação aplicada aos N símbolos (Gibson, 1991).
Cada grupo de paridade RAID é visto pelo sistema como um único sistema de
arquivos ou um único disco de grande capacidade, conforme já visto. Dessa forma, é
possível que seja utilizado um conjunto de RAIDs para formarem um outro RAID,
do mesmo ou de outro nível e número de discos, criando-se uma estrutura em
camadas, os chamados RAIDs em camadas. O uso de camadas pode oferecer
melhora de desempenho e disponibilidade.
O RAID 0+1 combina o alto índice de desempenho do RAID 0 para escrita e leituras
de vários blocos consecutivos ao alto índice de desempenho do RAID 1 em pequenas
e espacialmente aleatórias leituras, além de oferecer maior confiabilidade com a
tolerância a falhas do RAID 1 o que não existe quando utiliza-se apenas o RAID 0
(Jim, 2000).
Existem duas possibilidades de organização do RAID 0+1, conforme as figuras 4.19-
a e 4.19-b.
No primeiro caso 3 discos (D0, D1 e D2) são agrupados para formar uma matriz não
redundante RAID 0 e outros 3 discos (D3, D4 e D5) são também agrupados da
mesma forma. As duas matrizes, idênticas em tamanho, são então espelhadas. Essa
forma de organização é também conhecida como RAID 1+0 a considerar-se que o
nível de RAID 0 foi aplicado antes do nível de RAID 1.
Conclui-se portanto que o caso da figura 4.19-a é mais confiável que o da figura
4.19-b uma vez que a probabilidade de falha de 1 entre 3 discos é maior que a
probabilidade de falha de um disco isolado.
Para entender como esse esquema suporta uma dupla falha de disco, utiliza-se o
exemplo mais simples, o da figura 4.21-a.
Supõe-se que os discos D0 e D1 falhem. O dado D23 pode ser recuperado a partir de
P3 e D30 contidos nos discos que não falharam D3 e D2 respectivamente. D12 por
sua vez pode ser recuperado a partir de D23, recuperado no processo anterior, e P2.
81
RAID por software são implementados a nível de blocos dos dispositivos e por isso a
necessidade de fazerem parte do núcleo do sistema operacional. A grande vantagem
de implementar RAID por software é o baixo custo comparado às implementações
por hardware, uma vez que controladoras dedicadas e chassis de discos hot-plugable,
que são parte de hardware relativamente caros, não são requeridos. Outra grande
vantagem é a não dependência do tipo de controlador e do tipo de discos utilizado no
sistema, podendo ser implementado tanto com controladoras e discos SCSI quanto
ATA/IDE. Como desvantagens dessa implementação estão as limitações com relação
à portabilidade, uma vez que cada sistema operacional possui uma particular forma
de implementação das matrizes, e a exposição de uma tarefa delicada de sistema a
erros de algorítmos e quedas de sistema que reduzem a confiabilidade e integridade
das matrizes. Outra desvantagem é a redução de desempenho, ocasionado a carga
excessiva de UCP, pois como o cálculo de paridade das matrizes fica a cargo do
sistema operacional e conseqüentemente utiliza o processador para este fim, o
desempenho do subsistema de discos fica limitado a este componente (ADAPTEC,
2002; REDHAT, 2002; MENON, 1995).
Alguns dos níveis de RAID descritos nos itens 4.1 e 4.2 são possíveis de ser
implementados por software, conforme a disponibilização do fabricante do sistema
operacional. A distribuição da Red Hat do sistema operacional Linux para
plataformas Intel oferece os níveis de RAID 0, 1 e 5 implementados no núcleo do
sistema (RED HAT, 2002). A Microsoft também disponibiliza a opção de RAID 0, 1
e 5 em suas versões de sistemas operacionais de servidores, Windows NT e
Windows 2000 Server (MICROSOFT, 2003).
Nível de Hardware
Fig. 4.22 – RAID Híbrido em nível de Software e Hardware (adapatado de AKOM, 2002)
Barramento de Rede
1 2 3 ^ P1
1 2 3 P1
4 5 P2 6
Fig. 4.23 – Organização de um RAID por Software com múltiplos hosts (KIM, 1997)
85
A abstração dos sistemas para modelos de Markov e a resolução das equações para
determinar o tempo médio de perda de dados são extraídas do trabalho realizado por
Gibson (Gibson, 1991). Alguns modelos e considerações aqui desenvolvidos não são
apresentados no trabalho de Gibson. Esses modelos representam parte significativa
da contribuição desta dissertação e são úteis no ambiente parametrizado proposto no
Capítulo posterior.
A curva de bathub, visto no item 2.2, é utilizada para descrever o tempo de vida de
diversos sistemas e é adequada para caracterizar o tempo médio de vida dos discos
magnéticos. Uma aproximação muito comum feita para a distribuição do tempo de
vida dos discos é adotar uma taxa de falhas constante (MTTF), medida a partir do
período de estabilidade da curva, que exclui o período de mortalidade infantil e pós-
desgaste.
que um disco individual seja um sistema reparável, e nesse caso, o MTTR=0. Como
uma matriz de disco redundante é reparável uma vez que tolera falha de disco e o
MTTR é considerável, nesta dissertação é utilizado o parâmetro MTTF para o tempo
médio de falha de disco.
Até 1989, o MTTF dos discos era especificado pelos fabricantes ficando entre 20.000
e 40.000 horas. Após a segunda metade de 1989, esses números cresceram
radicalmente, estimados em 150.000 horas, e em alguns casos passavam das 200.000
horas (GIBSON, 1991). Atualmente, em 2002, a Seagate fabrica discos com MTTF
de 600.000 horas a 1.200.000 horas, parâmetros muito questionáveis e incondizentes
com a realidade prática (SEAGATE, 2002).
Antes de 1989 o MTBF dos discos era estimado a partir de testes práticos
submetendo-se os diversos componentes ao estresse. A partir de 1989 os fabricantes
passaram a estimar o MTBF pelos discos defeituosos retornados. Esse método tornou
os números mais otimistas visto que nem todos discos defeituosos retornavam ao
fabricante, já que os discos podem falhar após o prazo de garantia (GIBSON, 1991).
Outro importante fator a ser considerado é a freqüência em que os discos são ligados
e desligados. Quando um disco é desligado, as cabeças de leitura/escrita aterrissam
sobre a superfície de seus respectivos pratos. O problema mecânico mais freqüente
que ocorre com discos magnéticos é quando as cabeças de leitura/escrita não
conseguem flutuar sobre os pratos no processo de inicialização do sistema mecânico,
comprometendo a mídia magnética.
O critério para avaliação do MTTF de um disco é muito subjetivo e pode variar seus
resultados em função das metodologias e amostras utilizadas. Normalmente, os
fabricantes tentam utilizar métodos que tendem a obter resultados mais otimistas,
mas para análises de confiabilidade mais apuradas, técnicas mais condizentes com a
realidade devem ser utilizadas. Muitos fabricantes pararam de fornecer o MTTF nas
especificações técnicas dos discos passando a fornecer métricas mais específicas,
como taxa de erros de leitura recuperáveis (por CRC), taxa de erros de leitura
irrecuperáveis, erros de busca (seek errors) e tempo de serviço (service life). Esse
último parâmetro não é muito explícito e normalmente é vinculado ao prazo de
garantia dos discos.
Uma matriz não redundante RAID 0, descrito no item 4.2.5, apresenta menor
confiabilidade que um disco isolado uma vez que seu MTTF é dado pela expectativa
de vida de todo um conjunto de discos, sendo que a falha individual de um disco
provoca a perda total dos dados armazenados na matriz. Se todos os discos da matriz
possuem mesmo MTTF, o MTTF da matriz é dado por (Schulze, 1989):
90
MTTFdisco
MTTFmatriz =
Número Dis cos
A confiabilidade de uma matriz é maior quanto maior for a expectativa de vida dos
discos utilizados. Para uma avaliação mais simples de confiabilidade de uma matriz,
recomenda-se utilizar discos com a mesma expectativa de vida, não necessariamente
de mesmo modelo e fabricante, o que facilita os cálculos estimados. O texto
introdutório do Capítulo 4 descreve as vantagens de utilizar discos de mesmo
tamanho para compor uma matriz para evitar desperdícios do espaço armazenado e
também, dependendo da organização da matriz, a importância de utilizar discos de
mesma geometria para ganho de desempenho. Conclui-se que, teoricamente, utilizar
discos de mesmo fabricante, mesmo modelo e mesmo lote é o ideal, já que é
garantido que os discos possuem mesmo tamanho, mesma geometria e mesma
confiabilidade. Normalmente as empresas fazem contratos de reposição de discos
junto aos fabricantes ou mantêm discos em estoque, garantindo assim a substituição
de discos falhos por equivalentes, mesmo que tais modelos estejam obsoletos ou fora
de linha de produção.
Recomenda-se que uma matriz de discos de mesmo lote e modelo seja submetida a
um estresse inicial antes de entrar em produção para avaliar se o lote é confiável. As
especificações dos fabricantes não prevêem erros de projeto, e se um lote está
comprometido, vários discos podem falhar em um curto período de funcionamento,
reduzindo drasticamente a confiabilidade da matriz.
91
Para não confundir o MTTF individual de um disco com o MTTF de uma matriz
redundante, este trabalho referenciará o MTTF da matriz como MTTDL, que
significa tempo médio estimado para perda de dados (Mean Time to Data Loss).
Sendo assim, quanto menor o tempo de reparo, menor a probabilidade de perda total
dos dados pois minimiza a possibilidade de 2 falhas simultâneas de disco.
O tempo médio para troca do disco aqui denominado MTTCD, é o tempo médio
estimado para troca do disco após falha (Mean Time to Change Disk). O tempo de
reconstrução do disco é obtido por 2 parâmetros, o TD (tamanho do disco), dado em
Gigabytes dividido pelo TR (taxa de reconstrução), dado em Gigabytes/hora. O TR é
maior quanto maior o desempenho dos discos utilizados. Os acrônimos MTTCD, TD
e TR não são encontrados na literatura tendo sido incorporados exclusivamente nesta
dissertação.
TD
MTTR = MTTCD +
TR
O tempo para reconstrução dos dados do disco falho depende não só do tamanho do
disco e sua taxa de transferência mas também do mecanismo utilizado para fazer
redundância. Por exemplo, se foi utilizado espelhamento, o processo de reconstrução
não envolve processamento, mas sim uma cópia fiel do disco que não falhou. No
caso de utilização de paridade para correção simples, o processo envolve
reprocessamento da informação a partir da redundância contida nas palavras de
código dos demais discos.
O tempo para troca do disco pode ser minimizado a frações de segundo quando são
adicionados ao sistema discos isolados dedicados que assumem automaticamente o
lugar de um disco da matriz no caso de falha. Esses discos dedicados são chamados
Spares ou OLS (Online Spare) e a figura 5.1 ilustra a utilização de um disco OLS em
um par de discos espelhado RAID 1. Não existindo discos “reservas” no sistema, o
tempo de troca do disco fica totalmente dependente da intervenção humana.
Normalmente sistemas críticos são monitorados por softwares agentes que emitem
alarmes alertando a existência de falha no sistema ao seu administrador.
Muitos sistemas ainda permitem que um disco seja trocado sem a necessidade de
parar o equipamento., aumentando ainda mais a confiabilidade e a disponibilidade do
93
Para o tempo médio estimado de falha de 1 bit sendo de 31 dias, que é o resultado do
exemplo anterior utilizando discos de modelo ST380020A, se o reparo demandar 24
horas, a probabilidade de um código de paridade ficar inconsistente é a não
confiabilidade do processo:
−24
−
(1 − R(24)).100 = (1 − e 31.24
).100 = 3,174%
Exemplos deste tipo de falha são falta de tensão de alimentação, falha operacional
humana, falha de controladora de disco, falha no cabo de comunicação de dados
entre discos e controladora e qualquer falha de hardware que indisponibilize o acesso
aos discos. Tais falhas podem interromper operações de escrita, resultando em
estados onde o dado é atualizado e a paridade não, ou vice-versa. A inconsistência de
paridade pode resultar na impossibilidade de recuperação de um disco falho.
As falhas de sistema podem ser mais críticas que as falhas individuais de disco. Uma
falha de uma controladora pode resultar na falha de múltiplos discos e
conseqüentemente, dependendo da organização da matriz, a perda total dos dados de
um ou mais grupos de paridade.
95
Sistema
Indisponível
+2 discos sem
acesso Falha de
Falha de
Suprimento
de energia controlador
Sendo:
DN1 = 1o disco aleatório da matriz
DN2 = 2o disco aleatório da matriz
CN1 = cabo de comunicação do 1o disco
CN2 = cabo de comunicação do 2o disco
PS = Alimentação (Power Supply)
CS = controlador SCSI
97
Barramento de Rede
Servidor Servidor
A B
Canal de E/S
Controladora Controladora
A B
Neste item é feita a modelagem de um grupo de paridade simples que foi descrito no
item 4.1.3, os chamados níveis de RAID 3, 4 e 5. Para efeito de avaliação de
confiabilidade essas 3 técnicas se equivalem e portanto apresentam os mesmos níveis
de confiabilidade, diferenciando-se apenas no aspecto de desempenho e
98
Nesta primeira análise, não são consideradas falhas de sistema. Para representar uma
matriz redundante com simples correção de erro, uma matriz de paridade N+1 é
utilizado um modelo de Markov, técnica de modelagem descrita no item 2.4.
O modelo da figura 5.5 representa um grupo de paridade de N+1 discos, cujos discos
falham exponencialmente a uma taxa MTTFdisco = 1/λ (sendo λ a taxa de falhas) e
taxa de reparo exponencial MTTRdisco = 1/µ (sendo µ a taxa de reparo).
O estado 0 representa que todos N+1 discos da matriz estão operacionais, o estado 1
representa que o grupo de paridade opera com a falha de um disco (falha tolerada
sem perda de dados) e o estado 2 representa o estado indesejável, ou seja, quando
pelo menos 2 discos falham significando perda total de dados do grupo de paridade.
(N+1)λ
Nλ
0 1 2
µ
Fig. 5.5 - Modelo de Markov para sistema de discos redundantes com único grupo de paridade
99
1
E[tempo no estado i por visita ] =
∑ taxas de saída do estado i
O tempo médio para perda de dados (MTTDL) é o tempo estimado em que o sistema
atinge o estado 2, inicialmente no estado 0.
1 ( N + 1)λ
E[estado 0 para estado 2] = + .E[estado1 para estado 2]
( N + 1)λ ( N + 1)λ
1 µ
E[estado1 para estado 2] = + .E[estado 0 para estado 2]
µ + Nλ µ + N λ
Nλ
+ .E[estado 2 para estado 2]
µ + Nλ
E[estado 2 para estado 2] = 0
∞
(2 N + 1)λ + µ
MTTDL = ∫ R(t )dt =E[estado 0 para estado 2] =
t =0 N ( N + 1)λ2
100
(2 N + 1) 1
Em razão de (2 N + 1)λ = ser muito menor que µ = , uma vez
MTTFdisco MTTR
que MTTF é da ordem de centenas de milhares de horas e MTTR desejado da ordem
de unidade de horas, Gibson faz uma aproximação para simplificar o MTTDL:
µ MTTFdisco
2
MTTDL1 grupo de paridade simples = =
N ( N + 1)λ2
N ( N + 1) MTTRdisco
Na prática, uma matriz de discos pode ser composta por mais que um simples grupo
de paridade. Se cada grupo falha independentemente, o tempo estimado para que
dados sejam perdidos em uma matriz de discos contendo múltiplos grupos de
paridade é o tempo até que o primeiro grupo falhe. Dado que o tempo de vida de um
único grupo de paridade possa ser modelado exponencialmente, conforme descrito
no capítulo anterior, o tempo de vida de uma matriz de múltiplos grupos de paridade
tem a mesma distribuição que o grupo que possui a menor expectativa de vida.
2
MTTFdisco
MTTDLG Grupos Paridade Simples =
GN ( N + 1) MTTRdisco
101
− t / MTTDLindep
R grupo de paridade (t ) = e
Para minimizar a perda de dados causado pela falha de cadeia pode-se duplicar os
componentes envolvidos, como por exemplo o uso de fontes de alimentação e
ventilação redundantes e duplicação de controladoras de barramento, aumentando
assim o MTTFcadeia .
Outra solução para minimizar as perdas por falha de cadeia seria aumentar o número
de discos envolvidos dividindo-os em cadeias independentes, e formando as matrizes
de paridade utilizando um disco de cada cadeia, conforme a figura 5.6. Esse conceito
de implementação é conhecido por RAID Ortogonal, e foi descrito no item 4.2.3.
Fig. 5.7 – Modelo de Markov para RAID de paridade e suporte de hardware ortogonais
O segundo submodelo representa a perda de dados causado por uma segunda falha
durante o reparo de uma cadeia. NF representa o estado inicial sem falha de cadeia, o
estado CR representa que o reparo de uma cadeia que falhou está em andamento. DR
representa que os G discos da cadeia que falhou estão em processo de reconstrução
uma vez que a cadeia tenha sido reparada. DP representa a perda de dados.
105
MTTDLortogonal =
( MTTFdisco ) 2
GN ( N + 1) MTTRdisco
1+αF 1 + α F φ / G + (1 + α F / G )(α R / α RD + GNε ds + ( N + 1)φε ss )
+αF.
1 + (2 N + 1)ε dd + Nε ds (( N + 1) / MTTFcadeia + (2 N + 1)ε ss + GNε sd )ψ ( N + 1) + ψ ( N )
1 1 1 1
ψ ( g ) = α RD + GNε dd + gφε ds , φ = + + + ... +
1 2 3 G
106
( MTTFdisco ) 2
GN ( N + 1)( N + 2) MTTRdisco
MTTDLortogonal =
1 1 αF
2
φ 1
1 + α F 1 + + + +
α RD α R G α RD α R
2
MTTFdisco
MTTDLEspelhamento =
2MTTRdisco
2
MTTFdisco
MTTDLEspelhamento =
G.2.MTTRdisco
O RAID RM2 foi descrito no item 4.2.6.3 onde foi verificado que essa configuração
permite dupla falha de discos e nesse item é proposta sua avaliação de confiabilidade
utilizando modelo de Markov.
Dado que N discos compõe uma matriz com M partições RAID RM2, sendo M
inteiro e maior que 1 e N = 2M se M = 2 ou N = 2M+1 quaisquer M>2, a taxa de
falhas do primeiro disco é de N.λ, do segundo disco após a primeira falha é de (N-
1).λ e do terceiro disco após a dupla falha, ou seja, perda total dos dados, é de (N-
2).λ. A taxa de reparo quando um disco falhou é µ e a taxa de reparo quando há 2
discos falhos é de 2.µ.
Nλ (N-1)λ
(N-2)λ
0 1 2 3
µ 2µ
O estado 0 representa que a matriz não possui nenhum disco falho e os estados 1 e 2
representam 1 disco falho e 2 discos falhos respectivamente. O estado 3 representa a
ocorrência de 3 ou mais falhas, ou seja, condição em que não há a possibilidade de
recuperação dos dados.
MTTDL = E[0 → 3]
1 transição i → k
E[i → j ] = +∑ .E[k → j ]
∑ saída i k ≠i ∑ saída i
1 Nλ.E[1 → 3]
E[0 → 3] = +
Nλ Nλ
1 µ .E[0 → 3] ( N − 1)λ.E[2 → 3]
E[1 → 3] = + +
( N − 1)λ + µ ( N − 1)λ + µ ( N − 1)λ + µ
1 2 µ .E[1 → 3] ( N − 2)λ .E[3 → 3]
E[2 → 3] = + +
( N − 2)λ + 2 µ ( N − 2)λ + 2 µ Nλ + 2 µ
E[3 → 3] = 0
λ2 (3 N 2 − 6 N + 2) + µ (3Nλ + 2µ − 2λ )
MTTDL =
Nλ3 ( N 2 − 3N + 2)
µ (3Nλ + 2µ − 2λ )
MTTDL =
Nλ3 ( N 2 − 3N + 2)
µ (3Nλ + 2µ − 2λ )
MTTDL =
G.N .λ3 ( N 2 − 3 N + 2)
A descrição dos lugares e transições da Rede de Petri da figura 5.10 vem a seguir.
P1 = N+1 discos ok
P2 = 1 disco defeituoso
P3 = Troca ou chaveamento do disco defeituoso para um disco ok
P4 = Reconstruindo o espelhamento
P5 = Disco corrigido
P6 = Falhou um segundo disco (perda total dos dados)
T1 = Tempo de falha de 1 dos N+1 discos
T2 = Tempo de reparo (troca do disco defeituoso)
T3 = Tempo de falha de 1 disco dos N discos (falha do segundo disco)
T4 = Tempo para reconstrução do disco defeituoso (resincronização do RAID)
T5 = Retorno instantâneo a P1 após resincronização do RAID
T6 = Término da Rede quando P6 é alcançado
110
P1
o
T1
(N+1).λ
P2
P3
T2
T3 P4
N.λ
P6
T4
P5
T5
Fig. 5.10 – Rede de Petri para um grupo de paridade N+1 com falha de disco independente
A Rede inicia em P1 quando todos N+1 discos não apresentam falhas. O token é
passado para P2 e P3 através da transição T1 a uma taxa de (N+1)λ caso 1 dos N+1
discos falhe. Na sequência, o processo de reparo é realizado primeiro no lugar P3,
que representa a troca do disco falho a uma taxa θ, e depois em P4 representando a
reconstrução do disco a uma taxa α. Se durante o processo de reparo ocorrer a falha
de um segundo disco, simbolizado pela transição T3 que ocorre a uma taxa Nλ, P6
recebe o token finalizando a execução da Rede. Se o reparo ocorrer antes da falha de
um segundo disco, o token retorna ao lugar inicial P1.
111
O lugar indesejado é portanto P6, que representa a perda total dos dados. Um sistema
hipotético perfeito apresentaria T2+T4=0 e T3>0. Na prática, o sistema apresenta
maior confiabilidade quanto maior for T3 e menor for T2 e T4.
M0={1,0,0,0,0,0}
T1
M1={0,1,1,0,0,0}
T2
T3
M4={0,0,0,0,0,1} M2={0,1,0,1,0,0}
T3
T4
M3={0,1,0,0,1,0} M4
T5
M0
0 1 2
(N+1)λ θ
N.λ N.λ
MTTDL = E[0 → 3]
113
1 transição i → k
E[i → j ] = +∑ .E[k → j ]
∑ saída i k ≠ i ∑ saída i
1 ( N + 1)λ
E[0 → 3] = + .E[1 → 3]
( N + 1)λ ( N + 1)λ
1 θ N .λ
E[1 → 3] = + .E[2 → 3] + .E[3 → 3]
N .λ + θ N .λ + θ N .λ + θ
1 α N .λ
E[2 → 3] = + .E[0 → 3] + .E[3 → 3]
N .λ + α N .λ + α N .λ + θ
E[3 → 3] = 0
2 Nλ.( Nλ + α + λ / 2 + θ ) + α .(θ + λ ) + θλ
MTTDL =
Nλ2 .( N 2λ + Nθ + Nα + Nλ + θ + α )
5.6. Resumo
A tabela 5.2 apresenta o resultado do MTTDL das técnicas RAID avaliadas neste
Capítulo. Alguns destes resultados (RAIDs 1, 3, 4, 5 e RM2) serão utilizados no
ambiente parametrizado descrito no próximo Capítulo onde serão levantados os
gráficos da confiabilidade em função dos parâmetros que determinam o MTTDL.
Lembrando que a confiabilidade, independente da técnica avaliada é sempre:
−t
Técnica MTTDL
RAID
RAID 0 1 MTTFdisco
=
λ .N N
RAID 1
µ MTTFdisco
2
=
2λ2 2MTTRdisco
RAID 3,4,5
µ MTTFdisco
2
(Gibson) =
N ( N + 1)λ2
N ( N + 1) MTTRdisco
RAID 3,4,5 2 Nλ .( Nλ + α + λ / 2 + θ ) + α .(θ + λ ) + θλ
MTTDL =
(por Petri) Nλ2 .( N 2λ + Nθ + Nα + Nλ + θ + α )
RAID µ (3 Nλ + 2µ − 2λ )
MTTDL =
RM2 Nλ3 ( N 2 − 3N + 2)
RAID ( MTTFdisco ) 2
Ortogonal e GN ( N + 1) MTTRdisco
Cadeias 1 + αF
+
independentes 1 + (2 N + 1)ε dd + Nε ds
1 + α F φ / G + (1 + α F / G )(α R / α RD + GNε ds + ( N + 1)φε ss )
αF .
(( N + 1) / MTTFcadeia + (2 N + 1)ε ss + GNε sd )ψ ( N + 1) + ψ ( N )
CAPÍTULO 6 - SIMULAÇÃO
6.1. O SimuRAID
grupo de paridade fornecido pelo usuário, deve necessariamente ser igual a 1, e para
os demais RAIDs 3, 4 ou 5, N deve ser igual ou maior que 2.
Resultados do SimuRAID
RAID N+1 (1, 3, 4 e 5) RAID RM2
MTTDL 723.938,22 horas 260.748.486,62 horas
t1 t2 t3 t1 t2 t3
R(t) 0,94129 0,88603 0,78505 0,999832 0,999664 0,999328
5 5 6 5 5
MTTDLmin 4,16.10 h 8,31.10 h 1,66. 10 h 4,16.10 h 8,31.10 h 1,66. 106 h
MTTFmin 455.000 h 643.000 h 909.000 h 69.000 h 87.000 h 110.000 h
MTTCDmin 315 h 58 h -71 h 8.212 h 5.524 h 3.738 h
TDmax 210 GB 81 GB 16,5 GB 4.158 GB 2.814 GB 1.921 GB
TRmin 0,24 GB/h 0,62 GB/h 3,04 GB/h 0,013 GB/h 0,018 GB/h 0,027 GB/h
Nmax 19 13 9 123 97 77
Gmax 12 6 3 4390 2195 1097
Pelo fato do RAID RM2 suportar a correção de duas falhas simultâneas contra uma
da técnica RAID N+1, os resultados do RAID RM2 apresentam números mais
convidativos na tabela 6.2 demonstrando ser a melhor solução. É importante salientar
que esta técnica apresenta uma carga maior de redundância, e conseqüentemente um
maior custo, e também o processo de escrita com dupla paridade, utilizado nessa
arquitetura, afeta drasticamente o desempenho. Se há uma preocupação no projeto
com desempenho e a confiabilidade do RAID N+1 determinada pelos parâmetros do
sistema for adequado, recomenda-se não utilizar o RAID RM2.
O valor negativo do MTTCDmin para t3 representa que não há valores, mesmo que o
tempo médio de troca de disco seja o mais otimista, ou seja, nulo, para que a
confiabilidade do sistema após 20 anos fique em ou acima do informado Rmin.
Nesse caso, outros parâmetros devem ser ajustados em conjunto com o MTTCD para
adequar a confiabilidade.
CAPÍTULO 7 - CONCLUSÕES
Desempenho
Peq. Peq. Gdes. Gdes. Confiabilidade Custo / Sobretaxa
leituras escritas leituras escritas p/ N≈16
Técnica Class. Class. Class. Class. Class. Recup. Class. %
Falhas sobretaxa
o o o
s/ RAID 2o 1o 9o 9 8 0 1 0
0 2o 2o 1o 1o 9o 0 de N 1o 0
o o o o
1 1o 3o 3 3 3 1 de 2 9 100%
2 4o 4o 7o 4o 4o 1 de N 7o 31-50%
o o o o o o
3 4 4 7 8 4 1 de N 3 6,25%
o o o o o o
4 6 7 4 5 4 1 de N 3 6,25%
o o o o o o
5 6 6 2 2 4 1 de N 3 6,25%
o o o o o o
RM2 6 8 5 6 2 2 de N 6 14,29%
Bi-Dim. 6o 9o 6o 7o 1o 3 de N 8o 66,66%
A tabela 7.1 aponta o RAID 1 e o RAID 5 como sendo as técnicas de melhor relação
custo x desempenho x confiabilidade. O RAID 1 é mais indicado se o custo com
redundância 100% é tolerável no projeto, caso contrário, o RAID 5 é mais indicado.
7.1. Contribuições
L+C
Sobretaxa % = .100 | L > 1 e C > 1
L.C
2 Nλ.( Nλ + α + λ / 2 + θ ) + α .(θ + λ ) + θλ
MTTDL =
Nλ2 .( N 2λ + Nθ + Nα + Nλ + θ + α )
µ (3Nλ + 2µ − 2λ )
MTTDLRAID RM 2 =
Nλ3 ( N 2 − 3N + 2)
Este ambiente pode ainda ajudar na escolha da técnica mais apropriada de acordo
com a confiabilidade esperada; utilizar os RAIDs 1,3,4 e 5, que suportam
recuperação de 1 falha de disco, ou RM2, que suporta a recuperação de duas falhas
simultâneas de disco.
Outras arquiteturas RAID que não foram abordadas neste trabalho poderão ser
modeladas para avaliação de confiabilidade. Dentre as técnicas aqui apenas descritas
e não avaliadas, podem ser exploradas as arquiteturas RAID 2, que utiliza código de
Hamming, o RAID bi-dimensional, que suporta 3 ou mais falhas dependendo da
localização dos discos falhos na matriz e os RAIDs em camada, como os RAIDs 0+1
e o 0+3. Essas arquiteturas poderão ser previstas também no ambiente SimuRAID ou
seu predecessor.
REFERÊNCIAS BIBLIOGRÁFICAS
ARCO Data Protection Systems. The Impact of Data Loss. Hollywood, Florida.
2001. Disponível em <www.arcoide.com/products/pdf/datarecovery.pdf>. Acesso
em 12 fev 2002.
CHEN, Peter M., GIBSON, Garth, KATZ, Randy H., PATTERSON, David. An
Evaluation of Redundant Arrays of Disks Using an Amdahl 5890. Proceedings of
the 1990 ACM Sigmetrics Conference on Measurement and Modeling of Computer
Systems. Maio de 1990.
CHEN, Qiong. EIDE Disk Arrays and Its Implement. Turku, Finlândia: Turku
Center for Computer Science, ABO Akademi University, 2001. Disponível em
<http://www.tucs.fi/Publications/techreports/TR426.pdf>. Acesso em 14 maio 2002.
FENG, Dan; ZHOU, Xinrong; JIN, Hai; ZHANG, Jiangling. Utilization of Disk
Drives for RAID. IEEE Advances in Parallel and Distributed Computing, P. R.
China, 1997.
GIBSON, Garth, PATTERSON David. Designing Disk Arrays for High Data
Reliability. Carnegie Mellon University. 1992.
GILBERT, H. IDE and SCSI Disks. Das Boot, PC Lube and Tune, 1995.
Disponível em <http://www.yale.edu/pclt/BOOT/DISKDEV.HTM>. Acesso em 16
jan 2003.
HASSAN, Jeff e HUMMEL, Kristi. A Study of the RAID Architecture for Fault
Tolerance and Performance. Illinois University. Dezembro de 2001.
HWANG, Kai; JIN, Hai; HO, Roy. RAID-x: A New Distributed Disk Array for
I/O-Centric Cluster Computing. IEEE Proceedings of High-Performance
Distributed Computing. The 19th International Simposium, 2000.
HWANG, Kai; JIN, Hai; HO, Roy S. C. Orthogonal Striping and Mirroring in
Distributed RAID for I/O-Centric Cluster Computing. IEEE Transactions on
Parallel and Distributed Systems, Janeiro de 2002.
JAIN, Raj. The Art of Computer Systems Performance Analysis. Techniques for
Experimental Design, Measurement, Simulation, and Modeling. New York, EUA:
John Wiley & Sons, Inc., 1991. p.488-489.
JIN, Hai; HWANG, Kai; ZHANG, Jiangling. A RAID Reconfiguration Scheme for
Gracefully Degraded Operations. IEEE Proceedings of the 17th Parallel and
Distributed Processing, 1999.
132
LEE, Nam-Kyu et al. High Performance RAID system by using Dual Head Disk
Structure. IEEE High Performance Computing on the Information Super Highway,
MPC Asia, 1997.
KIM, Jong Hoon; NOH, Sam H.; WOH, Yoo-Hun. An Efficient Caching Scheme
for Software RAID File Systems in Workstation Clusters. IEEE High
Performance Computing on the Information Super Highway. HPC, Asia, 1997.
LEVESON, Nancy G. Safeware: System Safety and Computers. Pags. 287 a 393.
Addison-Wesley. 1995.
LLOYD, Owain D. Constant Transfer Rate RAID Striping for QoS. Goinville &
Caius College. 2002.
MASON, Harry. SCSI, the Industry Workhorse, Is Still Working Hard. SCSI
Trade Association. IEEE Standards, Dezembro de 2002.
MENON, Jai; RIEGEL, Jeff; WYLLIE, Jim. Algorithms for Software and Low-
cost Hardware RAIDs. IEEE Technologies for the Information Super Highway,
1995.
MIU, Danny K.; TAI, Yu-Chong. Silicon Microstructure and Microactuators for
Compact Computer Disk Drives. IEEE Fourteenth Symposium on Mass Storage
Systems, 1995.
MORE, Sachin Suresh. High Performance I/O Techniques for Parallel Object-
Relational Databases. Northwestern University. Dezembro de 2000.
PARK, Chen-lk. Efficient Placement of Parity and Data to Tolerate Two Disk
Failures in Disk Array Systems. IEEE Transactions on Parallel and Distributed
Systems, v.6, n.11. Novembro de 1995.
PARK, Chen-lk, CHOE, Tae-Young. Striping in Disk Array RM2 Enabling the
Tolerance of Double Disk Failures. Pohang, Korea: Department of Computer
Science and Engineering/PIRL. 1996.
REDHAT. Hardware RAID versus Software RAID. Manual Online do Red Hat
Linux, 2002. Disponível em <http://www.redhat.com/docs/manuals/linux/RHL-7.3-
Manual/custom-guide/s1-raid-approaches.html>. Acesso em 19 jan 2003.
135
RITTER, Terry. The Great CRC Mystery. Dr. Dobb’s Journal of Software Tools,
1986. Disponível em <http://www.ciphersbyritter.com/ARTS/CRCMYST.HTM>.
Acesso em 23 jul 2002.
TONG, Sheau-Ru et al. Study on Disk Zonning for Video Servers. IEEE
International Conference on Multimedia Computing and Systems, 1998. p. 86-95.
136
UMEA University. SCSI & IDE. Overview and Comparison. Umeå University,
Northern Sweden, 2002. Disponível em: <http://www.acc.umu.se/~sagge/scsi_ide/>.
Acesso em 10 nov 2002.
ZABBACK, Peter; MENON, Jain; RIEGEL, Jeff. The RAID Configuration Tool.
IEEE 3° International Conference on High Performance Computing, 1996.
137
SimuRAID
Entre com 3 instantes relevantes de operação do sistema
(em horas de funcionamento), t1<t2<t3
Rmin := 0.90
Mn é o MTTDL min. requerido para que o sistema atinja tn com confiabilidade Rmin
5 5 6
M1 = 4.16 × 10 M2 = 8.31 × 10 M3 = 1.66 × 10
0.9
0.8
0.7
R1 ( MTTDL ) 0.6
R2 ( MTTDL ) 0.5
R3 ( MTTDL ) 0.4
0.3
0.2
0.1
0
4.25 .10 8.39 .10 1.25 .10
4 4 5
1.67 .10 2.08 .10 2.5 .10
5 5 5
2.91 .10 3.33 .10 3.74 .10 4.16 .10
5 5 5 5
1000
MTTDL
138
RAID 1, 3, 4 e 5
MTTDL
MTTDL = 723938.22
Rn(MTTDL)
Rn(MTTDL) é a confiabilidade da matriz quando atingir tn
R(t)
0.9
0.8
0.7
0.6
R( t) 0.5
0.4
0.3
0.2
0.1
0
5 5 6 6 6 6 6 6 6 6
0 3.33 .10 6.67 .10 1 .10 1.33 .10 1.67 .10 2 .10 2.33 .10 2.67 .10 3 .10 3.33 .10
t
139
R(MTTF)
MTTFn é o MTTF requerido para que o sistema atinja tn com confiabilidade Rmin
MTTF1 = 454672.42
MTTF2 = 643003.9
MTTF3 = 909344.83
0.9
0.8
0.7
R1 ( MTTF ) 0.6
R2 ( MTTF ) 0.5
R3 ( MTTF ) 0.4
0.3
0.2
0.1
0
5 5 5 5 5 5 5 5 5 6
0 1 .10 2 .10 3 .10 4 .10 5 .10 6 .10 7 .10 8 .10 9 .10 1 .10
MTTF
R(MTTCD)
MTTCDn é o MTTCD maxrequerido para que o sistema atinja tn com confiabilidade Rmin
MTTCD1 = 315.46
MTTCD2 = 57.73
MTTCD3 = −71.13
0.9
0.8
0.7
R1 ( MTTCD ) 0.6
R2 ( MTTCD ) 0.5
R3 ( MTTCD )
0.4
0.3
0.2
0.1
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
MTTCD
140
R(TD)
TDn é o TD max. requerido para que o sistema atinja tn com confiabilidade Rmin
TD1 = 209.73
TD2 = 80.87
TD3 = 16.43
0.9
0.8
0.7
R1 ( TD ) 0.6
R2 ( TD ) 0.5
R3 ( TD )
0.4
0.3
0.2
0.1
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
TD
R(TR)
TRn é o TR min. requerido para que o sistema atinja tn com confiabilidade Rmin
TR1 = 0.24
TR2 = 0.62
TR3 = 3.04
0.9
0.8
0.7
R1 ( TR ) 0.6
R2 ( TR ) 0.5
R3 ( TR )
0.4
0.3
0.2
0.1
0
0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7 3
TR
141
R(N)
Nn é o N max. requerido para que o sistema atinja tn com confiabilidade Rmin
N1 = 19.95
N2 = 13.96
N3 = 9.73
0.9
0.8
0.7
R1( N) 0.6
R2( N) 0.5
R3( N)
0.4
0.3
0.2
0.1
0
0 20 40 60 80 100 120 140 160 180 200
N
R(G)
Gn é o G max. requerido para que o sistema atinja tn com confiabilidade Rmin
G1 = 12.19
G2 = 6.09
G3 = 3.05
0.9
0.8
0.7
R1 ( G) 0.6
R2 ( G) 0.5
R3 ( G)
0.4
0.3
0.2
0.1
0
0 20 40 60 80 100 120 140 160 180 200
G
142
RAID RM2
MTTDL
MTTDL = 260748486.62
Rn(MTTDL)
Rn(MTTDL) é a confiabilidade da matriz quando atingir tn
R(t)
0.9
0.8
0.7
0.6
R ( t) 0.5
0.4
0.3
0.2
0.1
0
8 8 8 8 8 8 8 8 9 9
0 1.2 .10 2.4 .10 3.6 .10 4.8 .10 6 .10 7.2 .10 8.41 .10 9.61 .10 1.08 .10 1.2 .10
t
143
R(MTTF)
0.9
0.8
0.7
R1( MTTF ) 0.6
0.3
0.2
0.1
0
4 5 5 5 5 5 5 5 5 5
0 5 .10 1 .10 1.5 .10 2 .10 2.5 .10 3 .10 3.5 .10 4 .10 4.5 .10 5 .10
MTTF
R(MTTCD)
0.9
0.8
0.7
R1 ( MTTCD ) 0.6
R2 ( MTTCD ) 0.5
R3 ( MTTCD )
0.4
0.3
0.2
0.1
0
4
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1 .10
MTTCD
144
R(TD)
1
0.9
0.8
0.7
R1( TD ) 0.6
R2( TD ) 0.5
R3( TD )
0.4
0.3
0.2
0.1
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
TD
R(TR)
0.9
0.8
0.7
R1( TR ) 0.6
R2( TR ) 0.5
R3( TR )
0.4
0.3
0.2
0.1
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
TR
145
R(N)
0.9
0.8
0.7
R1 ( N) 0.6
R2 ( N) 0.5
R3 ( N)
0.4
0.3
0.2
0.1
0
0 20 40 60 80 100 120 140 160 180 200
N
R(G)
1
0.9
0.8
0.7
R1 ( G) 0.6
R2 ( G) 0.5
R3 ( G)
0.4
0.3
0.2
0.1
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
G