RAID Redundat Arrays of Inexpensive Disks - PDF
Download "RAID Redundat Arrays of Inexpensive Disks"
Felícia Sousa Escobar
1 RAID Redundat Arrays of Inexpensive Disks Criado em alternativa para os discos grandes e caros. Justificativa: Substituindo discos grandes por muitos discos pequenos, o desempenho melhoraria mais cabeças de leitura. Vantagens no custo, consumo e espaço ocupado. Necessidade de redundância, pois muitos mais discos menores tinham menor confiabilidade utilização de um array redundante. Espalhamento dos dados nos vários discos é chamado de striping. Ch8-1 RAID Redundat Arrays of Inexpensive Disks Ch8-2
2 RAID 0 Sem Redundância Um array de discos sem redundância (RAID 0) tem menor custo que outras organizações de RAID porque não emprega a redundância. Este esquema oferece um desempenho melhor, pois não necessita atualizar as informações redundantes. São utilizados em super-computadores onde o desempenho e a capacidade são as principais características. Os blocos sequenciais são escritos da seguinte maneira: O tamanho do bloco, conhecido como stripe width, varia com a implementação, mas tem, pelo menos, o tamanho de uma setor. Todos os discos podem ser lidos em paralelo. RAID 0 Nomenclatura errada, pois não há redundância. Ch8-3 RAID 0 Sem Redundância Os blocos sequenciais são escritos da seguinte maneira: Ch8-4
3 RAID 1 Espelhamento A solução chamada de espelhamento (ou shadowing ), usa duas vezes mais o número de discos usados em um sistema sem redundância. Um dado escrito em um disco é também escrito no disco redundante, tendo então, duas cópias de da informação. Quando uma leitura de um dado é necessária, o disco de menor fila, menor seek time e menor latência rotacional é escolhido. Se um disco falha, a outra cópia é usada. Espelhamento é frequentemente usado em aplicações de banco, onde a disponibilidade e o tempo de transação são mais importantes que a eficiência de armazenamento. Ch8-5 RAID 2 Código de Correção de Erros Sistemas de memória devem permitir a correção de falhas dos componentes, com menos custos que o espelhamento. O código de Hamming é utilizado para este tipo de correção O código de Hamming contém discos de paridade para distintas sobreposições de sub-conjuntos de componentes. Numa versão deste esquema, 4 discos necessitam 3 discos redundantes, uma a menos que o método de espelhamento. Como o número de discos redundantes é proporcional ao log do total de números de discos do sistema, a eficiência de armazenamento cresce quando o numero de discos de dados decresce. Por várias razões, uma delas que atualmente vários discos modernos contém seu próprio ECC ( Error Correction Codes ), RAID 2 não é utilizado. Ch8-6
4 RAID 3 Paridade Intercalada por BIT Em vez de ter uma cópia completa dos dados originais para cada disco, só necessitamos acrescentar informações redundantes suficientes para restaura a informação perdida em uma falha Um disco extra é usado para manter as informações de verificação. Usado em aplicações com grande conjunto de dados (p.ex. multimídia) Paridade esquema onde o disco redundante tem a soma dos dados dos outros discos. Quando subtrai todos os dados nos discos bons do disco de paridade, a informação restante deverá ser a informação que falta Ch8-7 RAID 3 Paridade Intercalada por BIT Exemplo: Suponha que temos 4 discos de dados e um disco de paridade com: Disk 0 Disk 1 Disk 2 Disk 3 Parity O bit de paridade é um XOR dos quatro bits de dados, que pode ser calculado como 0 se a soma é para e 1 se for ímpar. Aqui a soma é 3, então o bit de paridade é 1. Se tentarmos ler este dado e encontrarmos que o disco 2 deu um erro de leitura, podemos reconstruir o disco 2 com o XOR de todos os outros discos incluindo o de paridade. No exemplo, a soma do disco 0, 1, 3 e paridade é is 3, então o dado no disco 2 deve ser 1. Ch8-8
5 RAID 4 Paridade intercalado por blocos Usa a mesma razão de discos de dados e de verificação do RAID 3, mas acessam dados de forma diferente. A paridade é armazenada como blocos e associada a um conjunto de bloco de dados. Ch8-9 RAID 4 Paridade intercalado por blocos No RAID 3, cada acesso vai para todos os discos. Nos níveis 4 a 6, como a informação de detecção de erro em cada setor é verificada nos acessos, essas pequenas leituras a cada disco pode ocorrer de forma independente RAID 3 RAID 4 Ch8-10
6 RAID 5 Paridade distribuída em nível de bloco Paridade distribuída em nível e bloco elimina o gargalo do disco de paridade presente no RAID 4 pois distribui a paridade uniformemente para todos os discos. Ch8-11 RAID 5 Paridade distribuída em nível de bloco O método usado para distribuição da paridade pode afetar o desempenho do array de disco A figura abaixo ilustra a distribuição de paridade. Cada quadrado corresponde a uma unidade stripe. Cada coluna de quadrados é um disco. P0 calcula a paridade sobre as unidades de stripe 0,1,2 e 3; P1 sobre as unidades de stripe 4, 5, 6, e 7; e assim por diante. Vantegem desta distribuição é que o acesso unidades de stripe nunca é feito sequencialmente. Esta propriedade reduz os conflitos de discos em grandes acessos. Ch8-12
7 RAID 6 Redundância P + Q Os esquemas baseados em paridade protegem contra uma única falha auto-identificável. Quando uma correção de uma única falha não é suficiente, a paridade pode ser generalizada para ter um segundo cálculo sobre os dados e outro disco de verificação. Esse segundo bloco de verificação permite a recuperação de uma segunda falha. Portanto o overhead de armazenamento é o dobro do RAID 5. Um esquema, denominado redundância P+Q usa código Reed- Solomon para proteger contra mais de duas falhas em discos. Ch8-13 RAID 10 RAID 10 não foi mencioanado no artigo original de 1988 que definiu o RAID 1 até o RAID 5. O termo RAID 10 é usado para definir uma combinação do RAID 0 (striping) e do RAID 1 (mirroring). Discos são espelhados em pares para redundância para melhorando o desempenho. O dado é distribuído através dos múltiplos discos para maximizar o desempenho. Na figura abaixo, os discos 0 e 2 e os discos 1 e 3 são pares espelhados. Evidentemente, o RAID 10 usa mais espaços em discos para obter a redundância de dados, que o RAID 5, mas propicia maior desempenho. No RAID 5, cada leitura de um disco falho faz com que os outros discos sejam lidos. No RAID 10, uma falha em um disco é recuperada apenas pela leitura do espelho. Ch8-14
8 RAID Redundat Arrays of Inexpensive Disks Sistemas RAID necessitam de Tape Backups RAID não protege de múltiplas falhas, isto significa que o array de discos não é totalmente redundante. Backups regulares permitem recuperação de dados perdidos, que não está relacionado com falhas (erros de hardware, software e manware ). Ch8-15