Baixe o app para aproveitar ainda mais
Prévia do material em texto
Proteção de Dados: RAID APRESENTAÇÃO Com a velocidade que os computadores, smartphones, notebooks, tablets, etc., se expandem no mercado, é necessário o armazenamento de mais informações. Tais informações devem ser armazenadas com confiabilidade, redundância e segurança, e o acesso a elas deve ser rápido, localmente ou na nuvem. Essa demanda contribuiu para o desenvolvimento da tecnologia RAID. Nesta Unidade de Aprendizagem você estudará os conceitos de RAID e suas respectivas características. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Definir os tipos de RAID.• Identificar arquiteturas RAID.• Quantificar a performance de estruturas em RAID.• DESAFIO Acompanhe o caso abaixo e ajude Paulo a identificar a melhor solução para o problema enfrentado em sua residência. INFOGRÁFICO Acompanhe o infográfico e veja como funciona o processo RAID de proteção de dados. No final da década de 1980, a rápida adoção de computadores em processos empresariais estimu- lou o surgimento de novos aplicativos e bancos de dados, aumentando significativamente a deman- da por capacidade de armazenamento. Naquela época, os dados eram armazenados em um único drive de disco grande e caro, chamado Single Lar- ge Expensive Drive (SLED). O uso de discos únicos não poderia satisfazer os níveis de desempenho exigidos, devido às suas limitações inerentes (detalhadas no Capítulo 2, Seção 2.4, “Leis fundamentais que controlam o desempenho do disco”). HDDs estão sujeitos a falhas em virtude de desgastes mecânicos e outros fatores ambientais. Uma falha no HDD pode resultar em perda de dados. As soluções disponíveis durante a década de 1980 não conseguiam satisfazer as de- mandas dos aplicativos quanto a disponibilidade e desempenho. Um HDD tem uma expectativa de vida projetada antes que venha a falhar. O Mean Time Between Failures (MTBF) mede (em horas) a expectativa média de vida de um HDD. Atualmente, os data centers possuem milhares de HDDs nas suas infraestruturas de armazenamento. Quanto maior o número de HDDs em um storage array, maior a probabilidade de ele sofrer uma falha de disco. Por exem- plo, considere um storage array de 100 HDDs, cada um com um MTBF de 750.000 horas. O MTBF desse conjunto de HDDs, portanto, é de 750.000/100, ou 7.500 horas, ou seja, um HDD nesse storage array provavelmente falhará pelo menos uma vez em 7.500 horas. RAID é uma tecnologia que possibilita o uso de múltiplos discos como um conjunto, o qual fornece proteção aos dados contra falhas nos HDDs. De modo geral, implementações de RAID também melhoram o desempenho de I/O do sistema de armazenamento, já que os dados são guardados em múltiplos HDDs. Em 1987, Patterson, Gibson e Katz, na Universidade da Califórnia, em Berke- ley, publicaram um artigo chamado “A Case for Redundant Arrays of Inexpensi- ve Disks (RAID)”. Esse texto descrevia o uso de drives de disco baratos e de pe- Capítulo 3 Proteção de Dados: RAID CONCEITOS-CHAVE Hardware e software RAID Striping, espelhamento e paridade Penalidade de gravação RAID Hot spares Somasundaram_03.indd 73Somasundaram_03.indd 73 19-07-2010 09:1819-07-2010 09:18 74 Parte I Sistema de Armazenamento quena capacidade como alternativa a drives de grande capacidade comuns em mainframes. O termo RAID foi redefinido para discos independentes, para refletir os avanços na tecnologia de armazenamento. O armazenamento RAID agora passou de um conceito acadêmico para um padrão da indústria. Este capítulo detalha a tecnologia RAID, seus níveis, diferentes tipos de im- plementação e benefícios. 3.1 Implementação de RAID Há dois tipos de implementação de RAID: hardware e software. Ambas têm seus méritos e problemas e são discutidas nesta seção. 3.1.1 RAID por software RAID por software usa software baseado no host para fornecer funções de RAID. É implementado em nível de sistema operacional e não usa um controlador de hardware dedicado para gerenciar o array RAID. Implementações de RAID por software oferecem benefícios de custo e sim- plicidade quando comparadas com RAID por hardware. Entretanto, elas apre- sentam as seguintes limitações: ■ Desempenho: RAID por software afeta o desempenho geral do sistema. Isso acontece devido aos ciclos adicionais de CPU necessários para execu- tar os cálculos de RAID. O impacto sobre o desempenho é mais pronun- ciado em implementações complexas de RAID, conforme detalhado mais adiante neste capítulo. ■ Recursos suportados: RAID por software não suporta todos os níveis de RAID. ■ Compatibilidade com o sistema operacional: RAID por software está li- gado ao sistema operacional do host, de modo que atualizações no RAID por software ou no sistema operacional devem ter sua compatibilidade va- lidada. Isso leva à inflexibilidade no ambiente de processamento de dados. 3.1.2 RAID por hardware Em implementações de RAID por hardware, um controlador de hardware especia- lizado é implantado no host ou no array. Essas implementações variam na forma pela qual o storage array interage com o host. Um cartão controlador RAID é uma implementação de RAID por hardware baseada no host, em que um controlador RAID especializado é instalado no host e os HDDs são conectados a ele. O controlador RAID interage com os discos rígi- dos por meio de um barramento PCI. Os fabricantes também integram controla- dores RAID em placas-mãe. Essa integração reduz o custo geral do sistema, mas não fornece a flexibilidade necessária para sistemas de armazenamento high-end. O controlador RAID externo é um RAID por hardware baseado no array. Ele atua como interface entre o host e os discos e apresenta volumes de armazena- Somasundaram_03.indd 74Somasundaram_03.indd 74 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce Capítulo 3 Proteção de Dados: RAID 75 mento para o host, o qual gerencia os drives por meio do protocolo suportado. As funções-chave do controlador são: ■ Gerenciamento e controle de agregações de discos ■ Tradução de solicitações de I/O entre discos lógicos e físicos ■ Regeneração de dados no caso de falhas de disco 3.2 Componentes do array RAID Um array RAID é um invólucro com certo número de HDDs e suporte de hard- ware e software para implementar RAID. Os HDDs dentro de um array RAID geralmente ficam em subinvólucros. Esses subinvólucros, ou arrays físicos, con- têm um número fixo de HDDs e também podem incluir mais hardware de apoio, como para fornecimento de energia. Um subconjunto de discos dentro de um array RAID pode ser agrupado para formar associações lógicas chamadas de arrays lógicos, também conhecidas como um conjunto RAID ou um grupo RAID (veja a Figura 3-1). Arrays lógicos são compostos de volumes lógicos (LV). O sistema operacio- nal reconhece os LVs como se eles fossem HDDs físicos gerenciados pelo contro- lador RAID. O número de HDDs em um array lógico depende do nível de RAID usado. As configurações podem ter um array lógico com múltiplos arrays físicos ou um array físico com múltiplos array lógicos. Controlador RAID Host Array Físico Array Lógico Array RAID Discos Rígidos Figura 3-1 Componentes de um array RAID. Somasundaram_03.indd 75Somasundaram_03.indd 75 19-07-2010 09:1819-07-2010 09:18 musta Realce 76 Parte I Sistema de Armazenamento 3.3 Níveis de RAID Os níveis de RAID (veja a Tabela 3-1) são definidos com base em técnicas de striping, espelhamento e paridade. Essas técnicas determinam a disponibilidade dos dados e as características de desempenho de um array. Alguns arrays RAID usam uma técnica, enquanto outras dispõem de uma combinação de técnicas. Os requisitos de desempenho do aplicativo e de disponibilidade de dados determi- nam a seleção do nível de RAID. 3.3.1 Striping Um conjunto RAID é um grupo de discos. Dentro de cada disco, um número pre- determinado de blocos de discos endereçáveis contiguamente é definido como strips. O conjunto de strips alinhadosque se espalham por todos os discos dentro do conjunto RAID é chamado de stripe. A Figura 3-2 mostra as representações física e lógica de um conjunto RAID fracionado. Strip 1 Strip 2 Strip 3 Strips Stripe 1 Stripe 2 A1 B1 A2 B2 A3 B3 Stripe Stripe 1 Stripe 2 Eixos Stripe St ri p Figura 3-2 Conjunto RAID fracionado. Somasundaram_03.indd 76Somasundaram_03.indd 76 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce Capítulo 3 Proteção de Dados: RAID 77 O tamanho do strip (também chamado de profundidade do stripe) descreve o número de blocos de um strip e é a quantidade máxima de dados que podem ser gravados ou lidos de um único HDD do conjunto antes que o próximo seja acessado, supondo que os dados acessados comecem no início do strip. Observe que todos os strips em um stripe têm o mesmo número de blocos, e a diminuição do tamanho do strip significa que os dados são divididos em pedaços menores quando se espalham pelos discos. O tamanho do stripe é um múltiplo do tamanho do strip pelo número de HDDs no conjunto RAID. A largura do stripe se refere ao número de strips de da- dos em um stripe. RAIDs fracionados não protegem os dados a menos que seja usada parida- de ou espelhamento. Entretanto, o striping pode melhorar significativamente o desempenho do I/O. Dependendo do tipo de implementação de RAID, o con- trolador RAID pode ser configurado para acessar dados por múltiplos HDDs simultaneamente. 3.3.2 Espelhamento Espelhamento é uma técnica segundo a qual os dados são armazenados em dois HDDs diferentes, produzindo duas cópias dos dados. No caso de uma falha no HDD, os dados permanecem intactos no HDD bom (veja a Figura 3-3) e o contro- lador continua a atender às solicitações de dados do host a partir do disco bom de um par espelhado. A B C D E A B C D E A B C D E A B C D E Discos Espelhamento Figura 3-3 Discos espelhados em um array. Quando o disco que sofreu a falha é substituído por um novo, o controlador copia os dados do disco bom do par espelhado. Essa atividade é visível para o host. Somasundaram_03.indd 77Somasundaram_03.indd 77 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce musta Realce 78 Parte I Sistema de Armazenamento Além de fornecer redundância completa de dados, o espelhamento permite re- cuperação mais rápida depois de uma falha no disco. Não obstante, o espelhamento de disco só fornece proteção aos dados e não substitui a cópia de segurança dos dados. O espelhamento captura constantemente alterações nos dados, ao passo que uma cópia de segurança captura imagens dos dados em determinado momento. O espelhamento envolve a duplicação dos dados – a capacidade de arma- zenamento necessária é duas vezes a de dados sendo armazenados. Portanto, o espelhamento é considerado custoso e é preferido para aplicativos de missão crítica que não podem sofrer perda de dados. O espelhamento melhora o de- sempenho da leitura porque as solicitações de leitura podem ser atendidas por ambos os discos. Contudo, o desempenho da gravação se deteriora, já que cada solicitação de gravação gera duas gravações nos HDDs. Em outras palavras, o espelhamento não tem o mesmo grau de desempenho de gravação que um RAID fracionado. 3.3.3 Paridade Paridade é um método de proteção de dados fracionados contra falhas de HDD sem o custo do espelhamento. Um HDD extra é acrescentado à largura do stripe para armazenar a paridade, uma construção matemática que permite a recriação dos dados perdidos. A paridade é uma verificação de redundância que assegura proteção integral dos dados sem manter um conjunto inteiro de dados duplicados. Informações sobre paridade podem ser armazenadas em HDDs separados e dedicados ou ser distribuídas por todos os drives de um conjunto RAID. A Fi- gura 3-4 mostra um RAID de paridade. Os primeiro quatro discos, rotulados D, contêm o dados. O quinto disco, rotulado P, armazena as informações de parida- de, que neste caso são a soma dos elementos de cada linha. Agora, se um dos Ds falhar, o valor perdido poderá ser calculado subtraindo-se do valor de paridade a soma do resto dos elementos. 3 1 2 1 1 1 3 1 2 2 1 3 3 1 3 2 9 5 9 7 D D D D P Discos de Dados Disco de Paridade Figura 3-4 RAID de paridade. Somasundaram_03.indd 78Somasundaram_03.indd 78 19-07-2010 09:1819-07-2010 09:18 musta Realce Capítulo 3 Proteção de Dados: RAID 79 Na Figura 3-4, o cálculo da paridade é representado como uma simples ope- ração aritmética sobre os dados. Entretanto, esse cálculo é uma operação bitwise XOR. O cálculo da paridade é uma função do controlador RAID. Comparado com o espelhamento, a implementação de paridade reduz con- sideravelmente o custo associado à proteção dos dados. Considere uma confi- guração RAID com cinco discos. Quatro deles armazenam dados, e, o quinto, informações de paridade. A paridade requer 25% de espaço adicional em disco. Contudo, há algumas desvantagens no seu uso. Informações de paridade são geradas a partir de dados contidos nos discos. Portanto, a paridade é recalculada cada vez que há alteração nos dados. Esse novo cálculo consome tempo e afeta o desempenho do controlador RAID. Tabela 3-1 Níveis de RAID Níveis Descrição breve RAID 0 Array fracionado sem tolerância a falhas RAID 1 Espelhamento de disco RAID 3 Acesso paralelo com disco dedicado de paridade RAID 4 Array fracionado com discos independentes e disco dedicado de paridade RAID 5 Array fracionado com discos independentes e disco distribuído de paridade RAID 6 Array fracionado com discos independentes e disco dual de paridade Aninhado Combinações de níveis de RAID. Exemplo: RAID 1 + RAID 0 3.3.4 RAID 0 Em uma configuração RAID 0, os dados são distribuídos pelos HDDs de um con- junto RAID. Ela utiliza a capacidade integral de armazenamento distribuindo strips de dados por múltiplos HDDs de um conjunto RAID. Para ler os dados, todos os strips são juntados pelo controlador. O tamanho do stripe é especificado em um nível de host para RAID por software e é específico do fornecedor para RAID por hardware. A Figura 3-5 mostra RAID 0 em um storage array no qual os dados estão fracionados por cinco discos. Quando o número de drives no array aumenta, o de- sempenho melhora, porque mais dados podem ser lidos ou gravados simultanea- mente. RAID 0 é usado em aplicativos que precisam de altas taxas de transferência de I/O. Todavia, se esses aplicativos requererem alta disponibilidade, RAID 0 não fornecerá proteção e disponibilidade de dados no caso de falhas nos drives. 3.3.5 RAID 1 Em uma configuração RAID 1, os dados são espelhados para melhorar a tolerância a falhas (veja a Figura 3-6). Um grupo RAID 1 consiste em pelo menos dois HDDs. Conforme explicado no espelhamento, cada escrita é gravada em ambos os discos, o que é visível para o host em uma implementação de RAID por hardware. No caso de uma falha de disco, o impacto sobre a recuperação dos dados é o menor entre todas as implementações de RAID. Isso ocorre porque o controlador RAID usa o drive de espelho para recuperação de dados e operação contínua. RAID 1 é apropriado para aplicativos que requeiram alta disponibilidade. Somasundaram_03.indd 79Somasundaram_03.indd 79 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce 80 Parte I Sistema de Armazenamento A4 B4 C4 D4 E4 A5 B5 C5 D5 E5 A3 B3 C3 D3 E3 A2 B2 C2 D2 E2 A1 B1 C1 D1 E1 E D C B A Controlador RAID Dados do host Discos Figura 3-5 RAID 0. E D C B A J I H G F Controlador RAID Dados do host A B C D E A B C D E A B C D E F G H I J A B C D E F G H I J Discos Conjunto Espelho Conjunto Espelho Figura 3-6 RAID 1. Somasundaram_03.indd 80Somasundaram_03.indd 80 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce Capítulo 3 Proteção de Dados: RAID 81 3.3.6 RAID aninhado A maioria dos data centers requer desempenho e redundânciade dados dos seus arrays RAID. RAID 0+1 e RAID 1+0 combinam os benefícios de desem- penho de RAID 0 com os de redundância de RAID 1. Eles usam técnicas de distribuição e espelhamento e combinam seus benefícios. Esses tipos de RAID requerem um número ainda maior de discos, sendo no mínimo quatro (veja a Figura 3-7). RAID 1+0 também é conhecido como RAID 10 (dez) ou RAID 1/0. De forma semelhante, RAID 0+1 também é conhecido como RAID 01 ou RAID 0/1. RAID 1+0 tem bom desempenho com cargas de trabalho que usem I/O com grava- ções intensivas, aleatórias e pequenas. Entre os aplicativos que se beneficiam de RAID 1+0 estão: ■ Processamento de Transações Online (OLTP) com taxas altas de transações ■ Instalações com mensagens grandes ■ Aplicativos de banco de dados que requeiram alta taxa de I/O, acesso aleatório e alta disponibilidade Um equívoco comum é achar que RAID 1+0 e RAID 0+1 são a mesma coisa. Sob condições normais, os níveis RAID 1+0 e 0+1 oferecem vantages idênticas. Entretanto, as operações de reconstrução no caso de uma falha no disco se dife- rem entre os dois. RAID 1+0 também é chamado de striped mirror. O elemento básico de RAID 1+0 é um par espelhado, ou seja, os dados são primeiro espelhados e depois ambas as cópias são divididas em múltiplos HDDs de um conjunto de RAIDs. Quando um drive com falha substituído, apenas o espelho é recons- truído. Em outras palavras, o controlador do array de discos usa o drive bom do par espelhado para recuperar os dados e continuar a operação. Os dados do disco bom são copiados para o disco de substituição. RAID 0+1 também é conhecido por stripe espelhado. O elemento básico de RAID 0+1 é um stripe. Isso significa que a divisão dos dados em HDDs é exe- cutada inicialmente e depois o stripe inteiro é espelhado. Se um drive falhar, o stripe inteiro falhará. Uma operação de reconstrução reproduz o stripe inteiro, copiando dados de cada disco do stripe saudável para um disco equivalente no stripe que apresentou falha. Isso gera um aumento desnecessário na carga de I/O nos discos bons e deixa o conjunto RAID mais vulnerável a uma segunda falha de disco. 3.3.7 RAID 3 RAID 3 fraciona os dados para obter alto desempenho e usa paridade para me- lhorar a tolerância a falhas. Informações sobre paridade são armazenadas em um drive dedicado, de modo que os dados possam ser reconstruídos se um drive Somasundaram_03.indd 81Somasundaram_03.indd 81 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce musta Realce musta Realce musta Realce musta Sublinhado musta Sublinhado musta Realce musta Realce musta Riscado 82 Parte I Sistem a de Arm azenam ento Distribuição Distribuição Espelhamento A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 Espelhamento Espelhamento Distribuição Espelhamento A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 E D C B A E D C B A Dados do host Passo 1 Passo 2 Controlador Discos (a) RAID 1+0 (b) RAID 0+1 Discos Figu ra 3-7 R AID aninhado. S om asundaram _03.indd 82 S om asundaram _03.indd 82 19-07-2010 09:18 19-07-2010 09:18 musta Realce musta Realce musta Realce Capítulo 3 Proteção de Dados: RAID 83 falhar. Por exemplo, de cinco discos, quatro são usados para dados e um para paridade. Portanto, o espaço total de disco necessário é de 1,25 vez o tamanho dos discos de dados. RAID 3 sempre lê e grava stripes completos de dados por todos os discos, já que os drives operam em paralelo. Não há gravações parciais que atualizem um de muitos strips de um stripes. A Figura 3-8 ilustra a imple- mentação de RAID 3. RAID 3 fornece boa largura de banda para a transferência de grandes volu- mes de dados e é usado para aplicativos que envolvam grandes acessos sequen- ciais de dados, como em streaming de vídeo. 3.3.8 RAID 4 Semelhante a RAID 3, RAID 4 fraciona os dados para obter alto desempenho e usa paridade para melhorar a tolerância a falhas (veja a Figura 3-8). Os dados são fracionados por todos os discos, menos o disco de paridade do array. Infor- mações de paridade são armazenadas em um disco dedicado, de modo que os dados possam ser reconstruídos se um drive falhar. O striping é feito no nível de bloco. De modo distinto de RAID 3, os discos de dados em RAID 4 podem ser acessados independentemente, para que os elementos de dados específicos possam ser lidos ou gravados em um único disco sem ler ou gravar um stripe inteiro. RAID 4 fornece boa taxa de transferência de leitura e taxa razoável de gravação. A1 B1 C1 D1 E1 A2 B2 C2 D2 E2 A3 B3 C3 D3 E3 A4 B4 C4 D4 E4 Ap Bp Cp Dp Ep E D C B A Disco de Paridade Controlador RAID Dados do host Discos de Dados Figura 3-8 RAID 3. Somasundaram_03.indd 83Somasundaram_03.indd 83 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce musta Realce musta Realce musta Riscado musta Realce 84 Parte I Sistema de Armazenamento 3.3.9 RAID 5 RAID 5 é uma implementação muito versátil. É semelhante a RAID 4 porque usa striping e os drives (strips) são acessáveis independentemente. A diferença entre RAID 4 e RAID 5 é o local da paridade. Em RAID 4, a paridade é gravada em um drive dedicado, criando um gargalo de gravação para o disco de paridade. Em RAID 5, a paridade é distribuída por todos os discos. A distribuição de paridade em RAID 5 supera o gargalo de gravação. A Figura 3-9 ilustra a implementação RAID 5. A4 Bp C3 D3 E3 Ap B4 C4 D4 E4 A3 B3 Cp D2 E2 A2 B2 C2 Dp E1 A1 B1 C1 D1 Ep E D C B A Controlador RAID Dados do host Discos Figura 3-9 RAID 5. RAID 5 é preferido para mensagens, data mining e serviço de mídia de de- sempenho médio, além de implementações de sistemas de gerenciamento de bancos de dados relacionais (SGBDR) nas quais os administradores de banco de dados (DBAs) otimizam o acesso aos dados. 3.3.10 RAID 6 RAID 6 funciona da mesma forma que RAID 5, exceto pelo fato de que RAID 6 inclui um segundo elemento de paridade para permitir a sobrevivência em caso de falha de dois discos de um grupo RAID (veja a Figura 3-10). Portanto, uma Somasundaram_03.indd 84Somasundaram_03.indd 84 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce musta Realce musta Realce musta Realce musta Realce musta Realce musta Realce musta Realce musta Realce Capítulo 3 Proteção de Dados: RAID 85 implementação RAID 6 requer pelo menos quatro discos. RAID 6 distribui a pa- ridade por todos os discos. A penalidade de gravação em RAID 6 é maior que em RAID 5; por isso, RAID 5 tem melhor desempenho de gravação do que RAID 6. A operação de reconstrução em RAID 6 pode demorar mais do que a de RAID 5 devido à presença de dois conjuntos de paridade. Ap Bq C2 D2 E3 Aq B3 C3 D3 Ep A3 Bp Cq D1 E2 A2 B2 Cp Dq E1 A1 B1 C1 Dp Eq E D C B A Controlador RAID Dados do host Discos Figura 3-10 RAID 6. 3.4 Comparação RAID A Tabela 3-2 compara os diferentes tipos de RAID. 3.5 Influência de RAID sobre o desempenho do disco Ao escolher um tipo de RAID, é imperativo considerar o impacto no desempe- nho do disco e no IOPS do aplicativo. Tanto nas configurações RAID espelhadas quanto nas de paridade, cada operação de gravação é traduzida em mais sobrecarga de I/O para os discos, o que é chamado de penalidade de gravação. Em uma implementação RAID 1, cada operação de gravação deve ser executada em dois discos configurados como um par espelhado, ao passo que, em uma implementação RAID 5, uma operação de gravação pode se manifestar como quatro operações de I/O. Ao Somasundaram_03.indd 85Somasundaram_03.indd 85 19-07-2010 09:1819-07-2010 09:18 musta Realce musta Realce musta Realce musta Realce musta Realce musta Realce musta Realce 86 Parte I Sistem a de Arm azenam ento Tabela 3-2 Comparaçãode diferentes tipos de RAID RAID Mín. Discos Eficiência de armazenamento % Custo Desempenho de leitura Desempenho DE gravação Penalidade de gravação 0 2 100 Baixo Muito bom para leitura sequencial e aleatória. Muito bom Não 1 2 50 Alto Bom. Melhor que um disco único. Bom. Mais lento que um disco único, já que cada gravação deve ser confirmada em to- dos os discos. Moderada 3 3 (n-1)*100/n onde n = número de discos Moderado Bom para leituras aleatórias e muito bom para leituras sequenciais. Fraco a razoável para gravações pe- quenas aleatórias. Bom a para grava- ções sequenciais grandes. Alta 4 3 (n-1)*100/n onde n = número de discos Moderado Muito bom para leituras aleatórias. Bom a muito bom para gravações se- quenciais. Fraco a razoável para gravações aleatórias. Razoável a bom para grava- ções sequenciais. Alta (Continua) S om asundaram _03.indd 86 S om asundaram _03.indd 86 19-07-2010 09:18 19-07-2010 09:18 musta Realce musta Realce Capítulo 3 Proteção de D ados: R AID 87 Tabela 3-2 Comparação de diferentes tipos de RAID RAID Mín. Discos Eficiência de armazenamento % Custo Desempenho de leitura Desempenho de gravação Penalidade de gravação 5 3 (n-1)*100/n onde n = número de discos Moderado Muito bom para leituras aleatórias. Bom para leituras sequenciais. Razoável para gra- vações aleatórias. Mais lento devido à sobrecarga de pa- ridade. Razoável a bom para gravações sequenciais. Alta 6 4 (n-1)*100/n onde n = número de discos Moderado mas maior que RAID 5 Muito bom para leituras aleatórias. Bom para leituras sequenciais. Bom para grava- ções aleatórias pequenas (tem penalidade de gra- vação). Muito alta 1+0 e 0+1 4 50 Alto Muito bom Bom Moderada S om asundaram _03.indd 87 S om asundaram _03.indd 87 19-07-2010 09:18 19-07-2010 09:18 musta Realce musta Realce musta Realce 88 Parte I Sistema de Armazenamento executar I/Os pequenos em um disco configurado com RAID 5, o controlador tem de ler, calcular e gravar um segmento de paridade para cada operação de gravação de dados. A Figura 3-11 ilustra uma operação única de gravação em RAID 5 que con- tém um grupo de cinco discos. Quatro desses discos são usados para dados e um para paridade. A paridade (P) no controlador é calculada da seguinte maneira: Ep = E1 + E2 + E3 + E4 (operações XOR) Aqui, D1 a D4 são dados fracionados pelo grupo RAID de cinco discos. Sempre que o controlador executa um I/O de gravação, a paridade deve ser calculada lendo-se a paridade antiga (Ep old) e os dados antigos (E4 old) do disco, o que significa dois I/Os de leitura. A nova paridade (Ep new) é calculada da se- guinte forma: Ep new = Ep old – E4 old +E4 new (operações XOR) Ep new Ep old E4 old E4 new+-= Ep oldEp new E4 old E4 new Controlador RAID 2 XORs A1 B1 C1 D1 Ep A2 B2 C2 Dp E1 A3 B3 Cp D2 E2 A4 Bp C3 D3 E3 Ap B4 C4 D4 E4 Discos Figura 3-11 Penalidade de gravação em RAID 5. Depois de calcular a nova paridade, o controlador completa o I/O de grava- ção registrando os novos dados e a nova paridade nos discos, de forma a alcan- çar dois I/Os de gravação. Portanto, o controlador executa duas leituras e duas gravações em disco para cada operação de gravação, e a penalidade de gravação em implementações de RAID 5 é 4. Em RAID 6, que mantém paridade dual, uma gravação em disco requer três operações de leitura: para Ep1 old’, Ep2 old’ e E4 old. Após calcular Ep1 new e Ep2 new’, o Somasundaram_03.indd 88Somasundaram_03.indd 88 19-07-2010 09:1819-07-2010 09:18 Capítulo 3 Proteção de Dados: RAID 89 controlador executa três operações de I/O de gravação para Ep1 new’, Ep2 new e E4 new. Portanto, em uma implementação de RAID 6, o controlador executa seis opera- ções de I/O para cada I/O de gravação, e a penalidade de gravação é 6. 3.5.1 IOPS de aplicativo e configurações RAID Ao decidir a quantidade de discos necessária para um aplicativo, é importante considerar o impacto de RAID com base em IOPS gerado pelo aplicativo. A carga total do disco deve ser calculada analisando-se o tipo de configuração RAID e a taxa de leitura comparada para gravar a partir do host. O exemplo a seguir ilustra o método de cálculo da carga de disco em diferen- tes tipos de RAID. Considere um aplicativo que gere 5.200 IOPS, com 60% deles sendo leituras. A carga de disco em RAID 5 é calculada da seguinte maneira: Carga de disco RAID 5 = 0,6 × 5.200 + 4 + (0,4 × 5.200) [porque a penalidade de gravação para RAID 5 é 4] = 3.120 + 4 × 2.080 = 3.120 + 8.320 = 11.440 IOPS A carga de disco em RAID 1 é calculada da seguinte forma: Carga de disco RAID 1 = 0,6 × 5.200 + 2 × (0,4 + 5.200) [porque cada gravação se manifesta como duas gravações nos discos] = 3.120 + 2 × 2.080 = 3.120 + 4.160 = 7.280 IOPS A carga de disco calculada determina o número de discos requeridos para o aplicativo. Neste exemplo, se for preciso usar um HDD com uma especificação de um máximo de 180 IOPS para o aplicativo, o número de discos para satisfa- zer a carga de trabalho para a configuração RAID será o seguinte: ■ RAID 5: 11.440 / 180 = 64 discos ■ RAID 1: 7.280 / 180 = 42 discos (aproximado para o número par mais próximo) 3.6 Hot spares Hot spare array é um HDD reserva em um array RAID que substitui temporaria- mente um HDD que tenha falhado. Um dos seguintes métodos de recuperação é executado dependendo da implementação de RAID: ■ Se for usado RAID de paridade, os dados serão reconstruídos no hot spare a partir da paridade e dos dados nos HDDs bons no conjunto RAID. ■ Se for usado espelhamento, os dados do espelho bom serão usados para cópia. Somasundaram_03.indd 89Somasundaram_03.indd 89 19-07-2010 09:1819-07-2010 09:18 90 Parte I Sistema de Armazenamento Quando o HDD com falha é substituído por um novo, ocorre uma das se- guintes opções: ■ O hot spare substitui o novo HDD permanentemente. Isso significa que ele não é mais um hot spare e que um novo hot spare deve ser configurado no array. ■ Quando um HDD novo é acrescentado ao sistema, dados do hot spare são copiados para ele. O hot spare retorna para seu estado de espera, pronto para substituir o próximo drive que falhar. Um hot spare deve ser suficientemente grande para acomodar dados de um drive que tenha falhado. Alguns sistemas implementam vários hot spares para melhorar a disponibilidade de dados. Um hot spare pode ser configurado como automático ou inicializado pelo usuário, o que especifica como será usado no caso de uma falha de drive. Na configuração automática, quando a taxa de erros recuperáveis de um disco ultra- passa um limite predeterminado, o subsistema de disco tenta copiar automatica- mente os dados do disco que falhou para o hot spare. Se essa tarefa se completa antes que o disco danificado falhe, então o subsistema alterna para o hot spare e marca o disco que falhou como não utilizável. Caso contrário, usa paridade ou o disco espelhado para recuperar os dados. No caso de uma configuração inicializada pelo usuário, o administrador controla o processo de reconstrução. Por exemplo, a reconstrução poderia ocorrer durante a noite para evitar alguma degradação no desempenho do sistema. Entretanto, o sistema fica vulnerável a outra falha se um hot spare não estiver disponível. Resumo Discos individuais são propensos a falhas e representam ameaça de indisponi- bilidade de dados para os aplicativos. RAID aborda os requisitos de disponibili- dade de dados através de técnicas de espelhamento e paridade. Implementações RAID com distribuição melhoram o desempenho de I/O espalhando os dados por múltiplos HDDs, além dos benefícios da redundância. Este capítulo explicou os componentes fundamentais da distribuição, espe- lhamento e paridade, que formam a base para diversos níveis de RAID. A imple- mentação dos níveis de RAID depende dos requisitos de desempenho e proteção de dados dos aplicativos. RAID é a tecnologiade alicerce de diversos avanços no armazenamento. A próxima geração de sistemas de armazenamento é de sistemas inteligentes que implementam RAID junto com um ambiente operacional especializado que ofe- rece alto desempenho e disponibilidade. Sistemas de armazenamento inteligen- tes são detalhados no próximo capítulo. Somasundaram_03.indd 90Somasundaram_03.indd 90 19-07-2010 09:1819-07-2010 09:18 Capítulo 3 Proteção de Dados: RAID 91 EXERCÍCIOS 1. Por que RAID 1 não substitui uma cópia de segurança? 2. Por que RAID 0 não é uma opção para proteção e alta disponibilidade de dados? 3. Explique o processo de recuperação de dados no caso de falha de um drive em RAID 5. 4. Quais são os benefícios do uso de RAID 3 em um aplicativo de cópia de segurança? 5. Discuta o impacto de I/Os aleatórios e sequenciais em diferentes configurações RAID. 6. Um drive de 10.000 rpm é classificada como executando 130 IOPS, e um drive de 15.000 rpm, como executando 180 IOPS para um aplicativo. A taxa de leitura/gra- vação é de 3:1. Calcule os IOPS ajustados para RAID dos drives de 10.000 e 15.000 para RAID 1, RAID 5 e RAID 6. 7. Um aplicativo tem 1.000 usuários intensivos com um pico de 2 IOPS cada e 2.000 usuários típicos com um pico de 1 IOPS cada, com uma taxa de leitura/gravação de 2:1. É estimado que o aplicativo também tenha uma sobrecarga de 20% para outras cargas de trabalho. Calcule o requisito de IOPS de RAID 1, RAID3, RAID 5 e RAID 6. 8. Para a questão 7, determine o número de drives necessários para suportar o apli- cativo em diferentes ambientes RAID se fossem usados drives de 10.000 rpm com uma taxa de 130 IOPS por drive. Somasundaram_03.indd 91Somasundaram_03.indd 91 19-07-2010 09:1819-07-2010 09:18 Aplicativos essenciais aos negócios requerem altos níveis de desempenho, disponibilidade, segurança e capacidade de expansão. Um dri- ve de disco rígido é um elemento central de armazenamento que define o desempenho de qualquer sistema de armazenamento. Algu- mas das tecnologias de arrays de discos mais antigas não conseguiam superar restrições de desempenho devido às limitações de um dis- co rígido e de seus componentes mecânicos. A tecnologia RAID foi uma contribuição impor- tante para a melhoria no desempenho de ar- mazenamento e na confiabilidade, mas drives de disco rígido não conseguiriam satisfazer os requisitos dos aplicativos atuais, mesmo com uma implementação RAID. Com os avanços na tecnologia, um novo gênero de soluções de armazena- mento, conhecido como sistema de armazenamento inteligente, se desenvolveu. Tais recursos inteligentes detalhados neste capítulo são arrays RAID com muitos re- cursos que fornecem capacidades de processamento de I/O altamente otimiza- das. Esses arrays têm um ambiente operacional que controla o gerenciamento, alocação e utilização de recursos de armazenamento. Estes sistemas de armaze- namento são configurados com grandes volumes de memória chamada cache e usam algoritmos sofisticados para satisfazer aos requisitos de I/O para aplicati- vos sensíveis ao desempenho. Capítulo 4 Sistema de Armazenamento Inteligente CONCEITOS-CHAVE Sistema de armazenamento inteligente Enfileiramento de comandos de Front-End Espelhamento e Compartimentação de Cache Número de Unidade Lógica Máscara de LUN Sistemas de armazenamento high-end Sistema de Armazenamento midrange Somasundaram_04.indd 93Somasundaram_04.indd 93 16-07-2010 15:0816-07-2010 15:08 94 Parte I Sistema de Armazenamento 4.1 Componentes de um sistema de armazenamento inteligente Um sistema de armazenamento inteligente consiste em quatro componen- tes-chave: front-end, cache, back-end e discos físicos. Uma solicitação de I/O rece- bida do host na porta de front-end é processada através do cache e do back-end, para permitir o armazenamento e a recuperação de dados do disco físico. Uma solicitação de leitura pode ser servida diretamente do cache se os dados solicita- dos estiverem nele. Rede de Armazenamento Front-End Cache Back-End Discos Físicos Conectividade Host Sistema de Armazenamento Inteligente Controladores Porta Porta Figura 4-1 Componentes de um sistema de armazenamento inteligente. 4.1.1 Front-end O front-end fornece a interface entre o sistema de armazenamento e o host. Ele consiste em dois componentes: portas de front-end e controladores de front-end. As portas de front-end permitem que os hosts se conectem com o sistema de ar- mazenamento inteligente. Cada porta de front-end tem uma lógica de proces- samento que executa o protocolo de transporte apropriado, como SCSI, Fibre Channel ou iSCSI, para conexões com o armazenamento. Portas redundantes são fornecidas no front-end para obter alta disponibilidade. Os controladores de front-end roteiam os dados para e do cache através do barra- mento interno de dados. Quando o cache recebe dados de gravação, o controlador envia uma mensagem de reconhecimento de volta para o host. Os controladores oti- mizam o processamento de I/O usando algoritmos de enfileiramento de comandos. Enfileiramento de comandos de front-end O enfileiramento de comandos é uma técnica implementada em controladores de front-end. Ele determina a ordem de execução dos comandos recebidos e pode reduzir movimentos desnecessários de cabeçotes dos drives de disco e melhorar o desempenho delas. Quando um comando é recebido para execução, o algorit- Somasundaram_04.indd 94Somasundaram_04.indd 94 16-07-2010 15:0816-07-2010 15:08 Capítulo 4 Sistema de Armazenamento Inteligente 95 mo de enfileiramento de comandos atribui um rótulo que define uma sequência na qual os comandos devem ser executados. Com enfileiramento de comandos, múltiplos comandos podem ser executados simultaneamente, com base na orga- nização dos dados no disco, independentemente da ordem na qual são recebidos. Os algoritmos de enfileiramento mais usados são: ■ First In First Out (FIFO): Este é o algoritmo padrão, em que os comandos são executados na ordem na qual são recebidos (Figura 4-2 [a]). Não há reordenamento de solicitações por motivo de otimização; portanto, é ine- ficiente em termos de desempenho. ■ Otimização do Tempo de Busca: Os comandos são executados com base na otimização dos movimentos da cabeça de leitura/gravação. Sem a oti- mização do tempo de busca, os comandos são executados na ordem em que são recebidos. Por exemplo, conforme mostrado na Figura 4-2 (a), os comandos são executados na ordem A, B, C e D. O movimento radial re- querido pela cabeça para executar C imediatamente após A é menor do que o que seria necessário para executar B. Com otimização do tempo de busca, a sequência na execução dos comandos seria A, C, B e D, conforme mostrado na Figura 4-2 (b). D C B AD C B A A B C D Solicitações de I/O Ordem de Processamento de I/O Controlador de Front-End Cilindros (a) Sem Otimização (FIFO) D B C AD C B A A B C D Solicitações de I/O Ordem de Processamento de I/O Controlador de Front-End Cilindros (b) Com Otimização de Tempo de Busca Figura 4-2 Enfileiramento de comandos de front-end. Somasundaram_04.indd 95Somasundaram_04.indd 95 16-07-2010 15:0816-07-2010 15:08 96 Parte I Sistema de Armazenamento ■ Otimização do Tempo de Acesso: Os comandos são executados com base na combinação da otimização do tempo de busca e em uma análise da latência rotacional para obter desempenho ótimo. O enfileiramento de comandos também pode ser implementado em con- troladores de discos e isso pode suplementar ainda mais o enfileiramento de comandos implementado nos controladores de front-end. Alguns modelos de drives SCSI e Fibre Channel têm enfileiramento de comandos implementado em seus controladores. 4.1.2 Cache O cache é um componente importante que melhora o desempenho de I/O em um sistema de armazenamento inteligente. Trata-se de uma memória semicon- dutora na qual os dados são colocados temporariamente, de modo a reduzir o tempo necessário para servirsolicitações de I/O do host. O cache melhora o desempenho do sistema de armazenamento porque isola os hosts dos atrasos mecânicos associados aos discos físicos, que são os compo- nentes mais lentos de um sistema de armazenamento inteligente. Acessar dados de um disco físico geralmente demora alguns milissegundos devido aos tempos de busca e à latência rotacional. Se um disco precisa ser acessado pelo host a cada operação de I/O, as solicitações são enfileiradas, o que resulta em uma resposta retardada. Acessar os dados do cache demora menos de um milissegundo. Os dados para gravação são colocados no cache e em seguida gravados no disco. Depois que os dados estão seguros no cache, o host recebe o reconhecimento imediatamente. A estrutura do cache O cache é organizado em páginas ou posições, que são a menor unidade de alo- cação de cache. O tamanho de uma página de cache é configurado de acordo com o volume de I/O do aplicativo. O cache consiste em armazenamento de dados e memória TAG (tag RAM). A área de armazenamento guarda os dados, enquanto a memória TAG registra a localização deles nesse armazenamento (veja a Figura 4-3) e no disco. As entradas em uma memória TAG assinalam onde os dados se encontram no cache e onde devem ficar no disco. A memória TAG inclui um marcador bit sujo, que indica se o dado no cache já foi gravado no disco ou não. Também con- tém informações relacionadas a tempo, como o momento do último acesso, que é usado para identificar informações em cache que não tenham sido acessadas por um período longo e que possam ser liberadas. Operações de leitura com cache Quando um host envia uma solicitação de leitura, o controlador de front-end acessa a memória TAG para determinar se os dados solicitados estão disponí- veis em cache. Em caso positivo, isso é chamado de acerto de cache de leitura ou Somasundaram_04.indd 96Somasundaram_04.indd 96 16-07-2010 15:0816-07-2010 15:08 CONTEÚDO DO LIVRO A proteção de dados utilizando RAID é de extrema importância para ambientes corporativos, pois os dados devem estar disponíveis e, em caso de desastres, devem ser restaurados com total integridade. Acompanhe um trecho da obra Armazenamento e gerenciamento de informações , de G. Somasundaram e Alok Shrivastava, que aborda o estudo da proteção de dados RAID. Boa leitura! Conteúdo interativo disponível na plataforma de ensino! DICA DO PROFESSOR No vídeo desta unidade serão abordados os conceitos de RAID, seus respectivos níveis e dicas sobre sua usabilidade. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS 1) Entre os padrões RAID abaixo, qual o que trabalha com array fracionado, porém sem tolerância a falhas? A) a) RAID 9. B) b) RAID 10. C) c) RAID 0. D) d) RAID 5. E) e) RAID 1. 2) Quando é mais indicado trabalhar com RAID 1? A) a) Necessidade somente de performance. B) b) Aplicação necessita de alta disponibilidade. C) c) Paridade. D) d) Montar estrutura em 3 discos. E) e) Fracionar dados. 3) Entre os padrão abaixo, qual NÃO é um RAID válido? A) a) RAID 10. B) b) RAID 5. C) c) RAID 50. D) d) RAID 100. E) e) RAID 15 4) Entre os padrões RAID, qual o que permite 2 discos falharem simultaneamente? A) a) RAID 6. B) b) RAID 4. C) c) RAID 8. D) d) RAID 0. E) e) RAID 10. 5) Com relação à tecnologia RAID é CORRETO afirmar que: A) a) Todos os modelos de RAID propiciam alta performance . B) b) Modelos RAID necessitam de discos em números ímpares para seu funcionamento. C) c) Pode ser implementada por hardware e por software. D) d) Não pode ser expandida. E) e) Todos os modelos de RAID podem ser aninhados. NA PRÁTICA Veja na prática um exemplo de como é possível utilizar RAID para proteção de dados. Uma forma bem interessante de lidar com RAID é saber que ele também pode ser aplicado para servidores com SSD. SAIBA MAIS Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: RAID - Parte 1 Armazenamento com segurança, performance e baixo custo! Conteúdo interativo disponível na plataforma de ensino! Noções básicas sobre tipos de disco rígido, RAID e controladores RAID no Dell PowerEdge e chassis de servidores Blade Conteúdo interativo disponível na plataforma de ensino!
Compartilhar