Organização e Arquitetura de Computadores Material de apoio Conceitos e modos de operação da tecnologia RAID: Níveis 0, 1, 5 e 0+1 Cap.18 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores da disciplina irão focar alguns dos tópicos da bibliografia assim como poderão adicionar alguns detalhes não presentes na bibliografia, com base em suas experiências profissionais. O conteúdo de slides com o título “Comentário” seguido de um texto, se refere a comentários adicionais ao slide cujo texto indica e tem por objetivo incluir alguma informação adicional aos conteúdo do slide correspondente. Bibliografia básica: PATTERSON, A.D.E.; HENNESSY, L.J.. Organização e projetos de computadores: a interface hardware/software. São Paulo: Campus, 2005.; MONTEIRO, Mário A.. Introdução à organização de computadores. 5.ed. Rio de Janeiro: LTC, 2007. STALLINGS, William. Arquitetura e organização de computadores : projeto para o desempenho. São Paulo: Pearson Education, 2005. 3 Conceitos de RAID Trata-se de uma tecnologia e emprego de múltiplos discos rígidos e de paralelismo cujo propósito básico é usar redundância para aumento de confiabilidade e do desempenho de sistemas que operam grandes volumes de dados e exigem baixos tempos de transeferência. Tema Original = Redundant Array of Independant Disks Atualmente = Redundant Array of Inexpensive Disks (Conjunto (Conjunto Redundante de Discos Independentes) Redundante de Discos Econômicos) 4 Conceitos de RAID Podemos usar a tecnologia RAID para se alcançar 2 (dois) objetivos: Combinar vários discos a se constituírem em uma única unidade lógica, onde os mesmos dados podem ser armazenados em todos eles, o que caracteriza redundância. Dividir o armazenamento em um grande volume de dados em mais de um disco, reduzindo o tempo de transferência, por usar múltlipos discos em paralelo, com se fosse um só. 5 Conceitos de RAID Apesar do RAID oferecer segurança e confiabilidade na adição de redundância com o objetivo de evitar falhas dos discos, o RAID não protege contra falhas de energia ou erros de operação. Falhas de energia, código errado de kernel ou erros operacionais podem danificar os dados de forma irrecuperável. Definições básicas: Array – É um agrupamento de discos ou “conjunto”, ou seja, ao se configurar dois ou mais discos, eles passam a formar um “conjunto” de discos, comumente chamado de apenas “ARRAY”. Hot-Swap – Ou “troca a quente”, é a possibilidade de adicionar ou remover um dispositivo sem a necessidade de desligar o computador. É o que acontece com pen drive, iPod, câmeras fotográficas, etc. Paridade é o método mais simples de verificar se um dado foi transmitido ou não corretamente. Consiste em adicionar um bit adicional para cada grupo de bits. É um método matemático para a recriação de dados perdidos de um único disco, o que aumenta a tolerância a falhas. 6 Níveis de RAID A tecnologia RAID tem possibilidade de ser implementada em várias condições e combinações diferentes, as quais já foram definidas como padrão, sendo denominadas por sete níveis diferentes, numerados de 0 (zero) a 6 (seis). Este níveis não implicam em uma relação hierárquica, mas designam diferentes arquiteturas de projeto e compartilham 3 características comuns: O agrupamento de unidades de discos físicos, visto pelo sistema operacional como uma única unidade de disco lógico. Os dados são distribuídos pelas unidades de discos físicos do agrupamento. A capacidade de armazenamento redundante é utilizada para armazenar informação de paridade, garantindo a recuperação dos dados em caso de falha em algum disco. 7 Níveis de RAID Trataremos neste tópico os 3 níveis mais importantes e utilizados atualmente. RAID Nível 0 (Zero) RAID Nível 1 (Um) RAID Nível 5 (Cinco) RAID 0 + 1 (Combinação do Nível 0 com o Nível 1) 8 Níveis de RAID - Nível 0 (Striping) O RAID nível 0 não constitui de fato um membro da família RAID, uma vez que não inclui Redundância para melhora do desempenho, contudo, ele é utilizado em poucas aplicações, nos quais o desempenho e capacidade constituem requisitos primordiais e o baixo custo é mais importante do que a maior confiabilidade. Consiste no uso de múltiplos Discos Físicos para a formação de um único Disco lógico. Esta técnica de armazenamento por dois ou mais discos chama-se STRIPING (que pode significar fracionamento). 9 Níveis de RAID - Nível 0 (Striping) Deve ser observado que este nível de RAID não aplica o conceito de redundância, pois não está colocando a mesma parte do arquivo em “mais de um disco”, mas partes diferentes. No striping, os dados do usuário e de sistema são distribuídos em todos os discos do agrupamento, ou seja, fragamenta-o ou fraciona-o em várias partes e cada uma é armazenada em um disco diferente, sendo todos eles acionados simultaneamente em uma transferência. DF 1 DF 2 DF 3 DL 1 DF 4 DF 5 DF = Disco Rígido Físico DL = Disco Lógico 10 Níveis de RAID - Nível 0 (Striping) Vantagens: Acesso rápido às informações (até 50% mais rápido). Custo baixo para expansão de memória de massa. Desvantagens: Caso algum dos setores de algum dos HD’s venha a apresentar perda de informações, o mesmo arquivo que está dividido entre os mesmos setores dos demais HD’s não terão mais sentido existir, pois uma parte do arquivo foi corrompida, ou seja, caso algum disco falhe, não tem como recuperar. Não é usado paridade. 11 Níveis de RAID - Nível 0 (Striping) Aplicações: É ideal para aplicações com intensa transferência de dados Que necessitam de uma grande quantidade de dados a ser processada em um intervalo de tempo pré-definido Streaming Media Video on demand, Digital Cable, Transmissões ao vivo A taxa de dados fixa é critica, Transmissões múltiplas não devem degradar a qualidade “QoS” = Quality of Service Stream contínuo de dados – sem espaço para o reenvio Processamento de Imagem, manipulação e Renderização 12 Níveis de RAID - Nível 0 (Striping) Resumo: Todos os discos estão disponíveis para dados A capacidade é a soma do número de discos no “array” Deve ser utilizado para armazenamento temporário de dados Não proporciona proteção contra falhas de hardware, somente performance. Inseguro, pois qualquer disco que falhar causa a perda dos dados Dados DL 1 DF 1 DF 2 DF 3 DF 4 DF 5 Um único disco falhou TODOS OS DADOS FORAM PERDIDOS DF 6 13 Níveis de RAID – Nível 1 (mirroring) É o nível de RAID que consiste na implementação de outro objetivo da tecnolgia RAID, a REDUNDÂNCIA, a qual é utilizada através de duplicação, triplicação ou mais de um determinado volume de dados por vários discos. Esta técnica é denomiada de Mirroring ou ESPELHAMENTO de disco, sendo que para esta implementação são necessários no mínimo dois discos. No funcionamento deste nível de RAID cada transação de gravação de dados de um disco é realizada também no outro ou outros definidos no espelhamento, ou seja, todos os dados são gravados em dois discos diferentes; se um disco falhar ou for removido, os dados preservados no outro disco permitem a não descontinuidade da operação do sistema. 14 Níveis de RAID – Nível 1 (mirroring) Vantagens: Caso algum setor de um dos discos venha a falhar, basta recuperar o setor defeituoso copiando os arquivos contidos do segundo disco. Segurança nos dados (com relação a possíveis defeitos que possam ocorrer no HD). Desvantagens: O custo é sua principal desvantagem Ocorre aumento no tempo de escrita, pois o que é gravado em um disco, esta mesma gravação é feita no outro disco espelho 15 Níveis de RAID – Nível 1 (mirroring) Aplicações: É um sistema dedicado a aumentar a disponibilidade Recomendado para uso em sistema de banco de dados NÃO substitui os backups, pois protege apenas contra falhas mecânicas dos discos Não proporciona ganho de desempenho, portanto deve ser utilizado em aplicações que a performance não seja item fundamental Aumentar a confiabilidade e o uptime de servidores de rede, já que o servidor continua funcionando como se nada tivesse acontecido 16 Níveis de RAID – Nível 1 (mirroring) Resumo: Somente 50% dos Discos estão disponíveis para dados Utilizados para informações importantes Alto nível de tolerância a falhas como servidores de arquivos ou banco de dados. Qualquer disco pode falhar, e os dados permanecem salvos Não protege contra vírus digital ou acidentes/delete intencional, já que 100% do disco está sincronizado com o outro Dados = Cópia (Primário) (Espelho) Um dos discos falhou DF 1 Os dados são mantidos no outro disco (espelho) DF 2 17 Níveis de RAID – Nível 5 Utilizam a técnica de acesso independente (cada disco opera independentemente), permitindo que requisições e E/S distintas possam ser atendidas em paralelo e com paridade. A paridade se destina a toda matriz de discos e não apenas a um só disco onde todos os dados são gravados em dois discos diferentes, caso um disco falhar ou for removido, os dados preservados no outro disco permitem a não descontinuidade da operação do sistema. É necessário no mínimo 3 discos para se obter um agrupamento RAID 5. 18 Níveis de RAID – Nível 5 A informação sobre paridade é distribuída por todos os discos; perdendo-se um, reduz-se a disponibilidade de ambos os dados e a paridade, até à recuperação do disco que falhou. Isto causa degradação do desempenho de leitura e de escrita. Bloco 0 Bloco 1 Bloco 2 P 0-2 Bloco 3 Bloco 4 P 3-5 Bloco 5 Bloco 6 P 6-8 Bloco 7 Bloco 8 P 9-11 Bloco 9 Bloco 10 Bloco 11 Dados (com paridade) 19 Níveis de RAID – Nível 5 Vantagens: Maior rapidez com tratamento de erros Leitura rápida (porém escrita não tão rápida) devido à paridade Altamente Seguro Desvantagens: Sistema complexo de controle dos HD's Implementação de Alto Custo Não protege contra vírus digital ou acidentes/delete intencional 20 Níveis de RAID – Nível 5 Aplicações: Aplicações com alto índice de solicitações de informação Utilizado para aplicações de alto uso de multitasking, alta taxa de retorno de informação OLTP = On Line Transaction Processing (aplicações típicas) Validação de cartão de crédito, Reservas, Ecommerce, etc. Gerenciamento de estoque on-line Banco dados e aplicações baseadas em Web Demanda de alto número de transações randômicas como institições financeiras 21 Níveis de RAID – Nível 5 Resumo: Todos menos um disco está disponível para dados Utilizado como Armazenamento Primário Geralmente utilizado em ambientes OLTP Alta Segurança. Caso um Disco falhe ”OK”, O segundo Disco ocasiona a perda total dos dados ! Paridade Dados Um dos discos falhou Os dados permanecem Salvos Hot Spare Substituição On-line Um segundo disco falhou !!! TODOS OS DADOS SÃO PERDIDOS 22 Níveis de RAID – Nível 0 + 1 O RAID 0 + 1 é uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os dados são divididos entre os discos para melhorar o rendimento, mas também utilizam outros discos para duplicar as informações. Dados RAID 0 DF 1 DF 2 RAID 0 RAID 1 DF 6 DL 1 DF 7 DF 3 DF 8 DF 4 DF 9 DF = Disco Rígido Físico DL 2 DL 3 DL = Disco Lógico 23 Níveis de RAID – Nível 0 + 1 Através da utilização da combinação de RAID 0 + 1 é possível utilizar o bom rendimento do nível 0 com a redundância do nível 1. É necessário no mínimo 4 (quatro) discos para ser possível montar um RAID desse com esta combinação. Tais características fazem do RAID 0 + 1 uma das combinações mais rápidas e seguras, porém em contrapartida tem um custo elevado para permitir sua implantação. 24 Níveis de RAID – Nível 0 + 1 Vantagens: Segurança contra perda de dados. Pode falhar metade dos HD's ao mesmo tempo, porém deixando de ser RAID 0 + 1 Desvantagens: Alto custo de expansão de hardware (custo mínimo = 2 x N HD's). Os drives devem ficar em sincronismo de velocidade para obter a máxima performance. 25 Níveis de RAID – Nível 0 + 1 Resumo: 50% dos discos estão disponíveis para dados Usado para dados primários e críticos Altíssimo nível de segurança e disponibilidade dos dados Extremamente rápido No RAID 0+1, se um dos discos vier a falhar, o sistema vira um RAID 0. Dados Grupo #2 Espelho (Cópia) Grupo #1 Dados Críticos Um dos discos falhou Os dados permanecem Salvos Se um disco falhar em cada grupo Todos os dados são perdidos 26 Arquiteturas RAID Uma tecnologia RAID pode ser implementado tanto através de software quanto através de hardware. Arquitetura via software Na implementação via software, o sistema operacional gerencia o RAID através da controladora de discos, sem a necessidade de um controlador de RAIDs, tornando-a seu custo menor. Nesse tipo de implementação, todo o processamento necessário para o gerenciamento do RAID é feito pela CPU. Toda movimentação de dados (leitura e escrita) é feita por uma camada de software que faz a abstração entre a operação lógica (RAID) e os discos físicos, e é controlada pelo sistema operacional. A configuração do RAID via software é feita pelo sistema operacional, que precisa ter implementado no próprio kernel a utilização de RAIDs via software. 27 Arquiteturas RAID Arquitetura via hardware Controladoras RAID em hardwdare usam layouts de disco proprietários (e diferentes). Por isso, normalmente não é possível misturar controladoras de fabricantes diferentes. Eles não utilizam recursos do processador. A BIOS pode iniciar (dar boot) por ela, e um integração maior com o driver de dispositivo pode oferecer um melhor tratamento de erros. A maioria das implementações em hardware também suporta o "hot-swapping", permitindo que discos com falha sejam substituídos enquanto o sistema está sendo executado 28 Arquiteturas RAID Arquitetura via hardware Um implementação de RAID em hardware requer pelo menos uma controladora especialmente dedicada para isso. Implementações em hardware provêem performance garantida, não sobrecarregam o processador e podem suportar vários sistemas operacionais, já que a controladora apresentará ao sistema operacional um disco simples. Controla RAID 29 Arquiteturas RAID Fake RAID A implementação via software geralmente não é tão fácil de se configurar e em contrapartida implementação via hardware as controladoras tem um preço muito elevado. Para balancear este dois fatores, foi criada uma "controladora barata" que em vez de um chip controlador RAID utiliza-se uma combinação de funções especias na BIOS de uma placa mãe e drivers instalados no sistema operacional, permitindo-se implamentar RAID. 30 JBOD (Just a Bunch Of Disks) Descrição do JBOD JBOD é simplesmente um grupo de discos. O conjunto de discos (Disk Array) pode ser configurado para ser visto pelo servidor como um grupo de discos independentes. Na maioria das vezes não oferece um uso eficiente para aplicações de Array. Não é um sistema RAID, já que não aumenta o desempenho ou confiabilidade do sistema de discos. É usado para juntar dois discos rígidos com capacidades diferentes como se eles fossem um único disco. Uma vantagem de se utilizar o JBOD é a possibilidade de se criar um um disco virtual em vários, entretanto é uma técnica pouco utilizada atualmente. Falha durante a Operação Caso um disco falhe, terá o mesmo efeito que se um disco individual falhasse em uma configuração padrão. Os dados são perdidos e o disco torna-se indisponível. 31 Triângulo Custo x Performance x Disponibilidade RAID 0+1 Custo Performance RAID 0 JBOD RAID 5 RAID 1 Disponbilidade Alto índice de tolerância a Falhas 32 Os sistemas RAID foram desenvolvidos para alta disponibilidade e NÃO para backup Detalhes relevantes: O objetivo de um sistema RAID é proteger os dados, sistemas e arquivos contra falhas de Hardware. Um sistema RAID não protege os dados contra falhas de Software. Não possui mídia removível RAID NÃO é Backup Não oferece estabilidade na recuperação de dados. Exemplo: Uma vez que os dados foram deletados ou contaminados por vírus digital os dados estarão corrompidos e não há como reverter sem backup