SuperIT

RAID: O que é e como funciona no seu servidor ou storage

RAID - Artigo Completo - Array HP

Índice

O que é RAID

O RAID é uma forma de armazenar dados com mais segurança e desempenho. Mas o que é especificamente, e como ele funciona, quais seus tipos? Vamos descobrir!

RAID é a sigla para Redundant Array of Independent Disks, que em tradução livre significa Arranjo Redundante de Discos Independentes. O RAID foi criado em 1987 por um grupo de pesquisadores da Universidade da Califórnia em Berkeley, com o intuito de aumentar a confiabilidade e o desempenho dos sistemas de armazenamento de dados.

Esta concepção permite combinar vários discos rígidos (HDDs) ou unidades de estado sólido (SSDs) em uma única unidade pseudofísica de armazenamento (disco virtual ou VD), que pode disponibilizar uma ou mais unidades lógicas (Unidade C: e D:, por exemplo no Windows ou /dev/sda0 e /dev/sda1 no Linux e afins).

Principais benefícios

Existem vários benefícios para o armazenamento de dados, dependendo do tipo de configuração escolhido. Os dois principais benefícios são:

  • Maior segurança: O RAID permite criar cópias ou informações de recuperação por paridades nos dados entre os discos, garantindo que eles não sejam perdidos em caso de falha de um ou mais discos. Isso é chamado de redundância dos dados, que aumenta a disponibilidade e a integridade das informações.
  • Melhor desempenho: É possível distribuir os dados entre os discos, aumentando a velocidade de leitura e gravação dos dados. Junto com essa abordagem, muitas vezes é combinado o recurso de multiplexação ou paralelização, que realiza a leitura e/ou gravação física simultânea em todos os discos, que melhora a eficiência e a capacidade do sistema.

Como o RAID funciona

O funcionamento básico desse conceito consiste em criar uma camada de armazenamento físico com vários discos individuais, que são interpretados pela controladora como uma única unidade pseudofísica, ou virtual.

Para isso, existem três formas principais de organizar os dados entre os discos do RAID: striping (fatiamento), mirroring (espelhamento) e parity (paridade), que podem ser combinadas entre si.

  • Striping: O striping consiste em dividir os dados em blocos menores e distribuí-los sequencialmente entre os discos do RAID, com o objetivo de aumentar a capacidade e a performance. Por exemplo, se tivermos quatro discos no RAID e um arquivo de 16 blocos, cada disco receberá quatro blocos do arquivo. Este conceito aumenta o desempenho do sistema, pois permite que vários discos sejam acessados simultaneamente para ler ou gravar os dados.
  • Mirroring: O mirroring é o espelhamento dos dados entre dois ou mais discos do RAID. Por exemplo, se tivermos dois discos no RAID e um arquivo de 16 blocos, cada disco receberá uma cópia completa do arquivo. O mirroring aumenta a segurança do sistema, pois garante que os dados não sejam perdidos se um dos discos falhar.
  • Paridade: A paridade consiste em escrever um bloco extra a partir do cálculo feito com os dados dos discos do RAID previamente fatiados no processo de striping, usando uma operação matemática binária chamada XOR (ou exclusivo). Por exemplo, se tivermos três discos em RAID5 e um arquivo de 16 blocos, os discos receberão 16 blocos do arquivo e 8 blocos de paridade distribuídos por striping. A paridade aumenta a segurança do sistema, pois permite reconstruir os dados perdidos se um dos discos falhar. Porém, como é de se imaginar, ocorre o desperdício de espaço para armazenar a paridade e uma penalidade significativa de performance nas gravações de dados, pois envolve processamento matemático.

Quais são os tipos de RAID

Existem vários tipos de RAID, que variam a forma de distribuição dos dados entre os discos e o número de discos necessários. Cada tipo de RAID tem as suas características, vantagens e desvantagens, que devem ser consideradas na hora da escolha. Os principais tipos de RAID são:

RAID-0

O RAID-0 (zero) usa apenas o striping para distribuir os dados entre dois ou mais discos. Não há redundância dos dados, portanto, se um dos discos falhar, todos os dados serão perdidos. O RAID-0 oferece o melhor desempenho, mas não possui nenhuma segurança. O RAID-0 é indicado apenas para situações em que a velocidade é o único fator importante, como jogos, aplicações temporárias ou cache em disco.

 

RAID-1

O RAID-1 usa apenas o mirroring para espelhar os dados entre dois discos. Há redundância total dos dados, portanto, se um dos discos falhar, os dados podem ser recuperados do outro disco. O RAID-1 oferece um ótimo nível de segurança, mas seu desempenho equivale ao de um disco apenas e só é otimizado com controladoras que suportem multiplexação, atingindo a velocidade de 2 discos. O RAID-1 é indicado para situações em que a confiabilidade é mais importante que a velocidade e o volume de dados não é grande, como sistemas operacionais e bancos de dados pequenos.

 

RAID-5

O RAID-5 usa o striping e a paridade simples para distribuir os dados entre três ou mais discos. Há redundância parcial dos dados, portanto, se um dos discos falhar, os dados podem utilizados e serem reconstruídos a partir dos outros discos usando a paridade, e neste caso, com a performance degradada. O RAID-5 oferece um bom equilíbrio entre segurança e desempenho, como servidores de rede, arquivos e bancos de dados de baixo volume de gravações.

 

RAID-6

O RAID-6 usa o striping e duas paridades para distribuir os dados entre quatro ou mais discos. Há redundância parcial reforçada dos dados, portanto, se dois dos discos falharem, os dados podem ser reconstruídos a partir dos outros discos usando as paridades, e neste caso a performance é extremamente degradada. O RAID-6 oferece um nível de segurança maior que o RAID-5, mas com um espaço útil e um desempenho menor. O RAID-6 é indicado para situações em que se busca uma maior proteção contra falhas, como servidores de armazenamento de longo prazo, como backup de arquivos a quente e archiving.

 

RAID-10

O RAID-10 é uma combinação do RAID 1 e do RAID 0, que usa o mirroring e o striping para distribuir os dados entre quatro ou mais discos, sempre em pares. Há redundância total dos dados, portanto, se um ou dois dos discos falharem, os dados podem ser recuperados dos outros discos com pouca degradação na performance. O RAID-10 oferece um ótimo desempenho que aumenta com o número de discos envolvido, sem penalidade na velocidade de gravação e um ótimo nível de segurança. O RAID-10 é indicado para situações em que se busca a maior performance possível, como servidores de alto desempenho ou aplicações críticas.

 

RAID-50

O RAID 50 é uma combinação do RAID-5 e do RAID-0, que usa a paridade simples e o striping para distribuir os dados entre seis ou mais discos. Há redundância parcial dos dados, portanto, se um dos discos falharem por cada subgrupo RAID-5, os dados podem ser recuperados dos outros discos com degradação da performance. O RAID-50 oferece um bom desempenho e um ótimo nível de segurança. O RAID-50 é indicado para situações em que se busca o melhor de ambos os mundos, como alto desempenho e grandes volumes de armazenamento.

 

RAID-60

O RAID-60 é uma combinação do RAID-6 e do RAID-0, que usa a paridade dupla e o striping para distribuir os dados entre oito ou mais discos. Há redundância parcial reforçada dos dados, portanto, se dois dos discos falharem a cada subgrupo RAID-6, os dados podem ser recuperados dos outros discos com grande degradação de performance. O RAID-60 oferece um desempenho mediano e um nível de segurança excelente. O RAID-60 é indicado para situações em que se busca grande espaço de armazenamento de dados muito importantes e se tem maior tolerância a uma menor performance.

 

RAID 0+1

Para fins de curiosidade, o RAID 0+1 é uma combinação do RAID-0 e do RAID-1 com uma construção contrária ao RAID-10. Este conceito usa o mirroring em cima do striping para distribuir os dados entre quatro ou mais discos. O RAID 0+1 oferece um ótimo desempenho semelhante ao RAID-10 mas com um nível de segurança questionável porque caso falhe um disco em cada grupo de RAID-0, ocorre a parada do array. Este modo de operação não é muito utilizado por este motivo.

Como escolher o melhor tipo de RAID

A escolha do melhor tipo de arranjo para o seu servidor ou storage depende de vários fatores, como os seus objetivos, necessidades e recursos financeiros.

Não existe um tipo ideal para todas as situações, mas sim um tipo de RAID mais adequado para cada caso. Por isso, é importante considerar alguns aspectos na hora da escolha, como:

  • A quantidade de armazenamento necessárias e o tamanho dos discos: Cada tipo de RAID requer um número mínimo e máximo de discos para funcionar corretamente. Além disso, conforme o tipo de arranjo pode ser utilizada uma parte da capacidade total dos discos para armazenar os dados e a outra parte para criar a redundância ou a tolerância a falhas. Por exemplo, no RAID-0, toda a capacidade dos discos é usada para armazenar os dados, mas não há redundância. No RAID-1 e no RAID-10, metade da capacidade dos discos é usada para armazenar os dados e a outra metade é usada para criar a cópia dos dados. No RAID-5, toda a capacidade de um disco do grupo é usada para armazenar a paridade dos dados e o restante é usado para armazenar os dados. Já no RAID-6, toda a capacidade de dois discos do grupo é usada para armazenar a paridade dos dados e o restante é usado para armazenar os dados. Portanto, é preciso levar em conta quantos discos você tem disponíveis e qual é o tamanho de cada disco na hora de escolher o tipo de RAID para gerar todo o espaço necessário.
  • A importância dos dados: Cada configuração oferece um nível diferente de segurança para os seus dados, dependendo da forma como eles são distribuídos entre os discos e da quantidade de redundância que eles possuem. Por exemplo, no RAID-0, não há segurança nenhuma, pois se um disco falhar todos os dados serão perdidos. No RAID-1 e no RAID-10, há segurança máxima, pois se um disco falhar os dados podem ser recuperados do outro disco. No RAID 5 e no RAID 6, há segurança média, pois se um ou dois discos falharem os dados podem ser reconstruídos a partir dos outros discos usando a paridade. Logo, é preciso considerar qual é o grau de importância dos seus dados na hora de escolher o tipo de RAID.
  • Frequência de leitura e gravação: Para cada configuração de array, existe um nível diferente de desempenho para os seus dados tanto em leitura quanto em escrita, dependendo da forma como eles são distribuídos entre os discos e da quantidade de dados de tolerância a falhas que eles possuem. Por exemplo, no RAID-0, há desempenho máximo de leitura e gravação, pois os dados são acessados de forma rápida e simultânea entre os discos, somando-se a velocidade deles. No RAID-1, há desempenho de apenas um disco, e não há penalidade de gravação. No RAID-10, se obtém a metade do desempenho que poderia ser alcançado no RAID-0, tanto em leitura quanto em gravação. Já nos RAID-5 e RAID-6, há desempenho médio, pois os dados são acessados de forma alternada entre os discos, porém em ambos casos existem altas penalidades de performance na gravação dos dados para o cálculo das paridades. Portanto, é preciso levar em conta qual é a perfil de leitura e gravação dos seus dados na hora de escolher o tipo de RAID.
  • A disponibilidade de backup: Cada tipo de RAID oferece um nível diferente de proteção para os seus dados, mas nenhum tipo de RAID substitui a necessidade de fazer backups regulares dos seus dados. O backup é uma cópia dos seus dados que é armazenada em um local diferente do seu servidor ou storage, como um servidor em outro local, um disco externo, nuvem ou uma fita. O backup serve para garantir que os seus dados possam ser restaurados em caso de perda total ou parcial dos seus dados, seja por falha dos discos, problemas elétricos, infecções por vírus, ramsonware ou erros humanos. Portanto, é preciso levar em conta se você tem um plano de backup adequado na hora de escolher o tipo de RAID.

Dicas práticas para a configuração ideal

Para facilitar a sua decisão sobre qual é o melhor tipo de arranjo para o seu servidor, aqui vão algumas dicas práticas que podem te ajudar:

  • Consulte especialistas: Se você não tem certeza sobre qual é o tipo de RAID mais adequado para o seu servidor, procure a ajuda de profissionais qualificados que possam te orientar sobre as melhores opções e soluções para o seu caso. A SuperIT conta com uma equipe de especialistas em servidores e storages com experiência em grandes fabricantes como Dell, HP, IBM e Lenovo e que podem te ajudar.
  • Faça testes e simulações: Se você tem a possibilidade de testar e simular diferentes tipos de RAID antes de implementá-los no seu servidor, aproveite essa oportunidade para verificar qual é o tipo de RAID que oferece o melhor resultado para o seu caso antes de uma implementação final. Você pode usar ferramentas online ou softwares específicos que permitem saber como fica a performance. Um bom exemplo é o Wmarow´s IOPS calculator.
  • Avalie o custo-benefício: Se você tem um orçamento limitado para investir no seu servidor, procure avaliar qual é o RAID que oferece o melhor custo-benefício para o seu caso. Você deve comparar os custos e os benefícios de cada opção em termos de segurança, desempenho, capacidade e manutenção.

Configuração e gerenciamento

Depois de escolher o melhor tipo de RAID para o seu servidor, você precisa configurar e gerenciar o seu array corretamente, desde a instalação dos discos até a manutenção periódica. Para isso, existem três modos principais de configuração do RAID: hardware, software e híbrido.

  • Hardware: O modo hardware consiste em usar uma controladora específica para criar e gerenciar o seu RAID. A controladora pode ser uma placa interna ou externa que se conecta aos discos do seu servidor. O RAID via hardware oferece o melhor desempenho e compatibilidade do sistema, pois a controladora assume toda a responsabilidade pelo funcionamento do RAID, sem depender do sistema operacional ou do processador do seu servidor. No entanto, o modo hardware também tem algumas desvantagens, como o custo mais alto, a dificuldade de instalação e configuração e a dependência do fabricante do controlador e em algumas vezes o acesso físico para realizar a configuração.
  • Software: O modo software utiliza um software específico para criar e gerenciar o seu RAID. O software pode ser integrado ao sistema operacional (mais comum) ou instalado separadamente no servidor. O modo software oferece um baixo custo e uma fácil instalação e configuração do sistema, pois não requer nenhum hardware adicional para funcionar. No entanto, o modo software também tem algumas desvantagens, como o desempenho mais baixo, a compatibilidade limitada do sistema e a sobrecarga do processador do servidor.
  • Híbrido: O modo híbrido consiste em usar uma combinação do modo hardware através de uma placa controladora integrada por software para gerenciar o RAID. O modo híbrido oferece um certo equilíbrio entre custo, desempenho e compatibilidade do sistema, pois usa uma controladora mais simples e um programa complementar para funcionar. No entanto, o modo híbrido também tem algumas desvantagens, como a complexidade de instalação e configuração e a dependência do fabricante da controladora e do programa/driver.

Ferramentas para monitorar e otimizar o RAID

Para garantir que o seu array funcione corretamente e ofereça os benefícios esperados, é preciso monitorar o seu funcionamento periodicamente de forma proativa ou ter atenção aos alertas. Para isso, existem algumas ferramentas e procedimentos que podem ajudar:

  • Verificar o status dos discos: É importante verificar o status dos discos do RAID regularmente, para identificar possíveis problemas ou falhas nos discos. Você pode usar ferramentas de diagnóstico que mostram informações sobre a saúde, a temperatura, o desgaste e o desempenho dos discos. Alguns exemplos de ferramentas de diagnóstico são os dados S.M.A.R.T. e as informações da própria controladora.
  • Fazer verificações de integridade: Regularmente é possível checar o array, para verificar se os dados estão consistentes e corretos entre os discos. Você pode usar ferramentas de verificação que fazem uma análise dos dados e da paridade do seu RAID, detectando e corrigindo possíveis erros ou inconsistências.
  • Substituir discos defeituosos: É importante substituir discos defeituosos imediatamente, para evitar a perda de dados ou a degradação de performance do sistema. Você pode trocar os discos a quente, sem desligar o servidor, em alguns casos e sem afetar o funcionamento do seu RAID. Alguns exemplos de funcionalidades que garantem isso são o Hot Swap, o Hot Spare e o Hot Plug.

Como recuperar dados perdidos

Apesar de oferecer um bom nível de segurança para os seus dados, o RAID não é infalível e pode sofrer perdas de dados em algumas situações. Por exemplo, se mais discos falharem do que a redundância suporta, se houver problemas elétricos ou mecânicos no sistema, se houver infecções por vírus ou malware no sistema ou se houver erros humanos na manipulação dos dados. Nesses casos, é preciso recorrer a soluções para recuperar os dados perdidos em um RAID, mas isso não é uma tarefa fácil. Algumas soluções são:

  • Softwares específicos: Existem aplicativos que permitem recuperar dados perdidos em um RAID, analisando os discos e reconstruindo os dados a partir das informações disponíveis. Esses softwares podem ser usados em casos de perdas parciais ou totais dos dados, dependendo da gravidade da situação.
  • Recorrer a serviços profissionais: Existem empresas que oferecem recuperação de dados perdidos em um RAID, usando equipamentos e técnicas avançadas para recuperar os dados a partir dos discos danificados ou inacessíveis. Esses serviços podem ser usados em casos de perdas graves ou complexas dos dados, que requerem uma intervenção especializada.
  • Restaurar a partir de backups: A forma mais prática de recuperar dados perdidos em um RAID é restaurar os arquivos ou sistemas a partir de backups feitos anteriormente. Os backups são cópias dos seus dados que são armazenadas em um local diferente do seu servidor, como um disco externo, nuvem ou uma fita. Os backups permitem restaurar os seus dados de forma mais fácil e rápida do que tentar restaurar os discos, em caso de perda total ou parcial dos seus dados. Por isso, é essencial fazer backups regulares dos seus dados usando ferramentas adequadas. De qualquer forma, ainda haverá alguma janela de dados que será perdida desde o último backup. Este tempo é o RPO – Recovery Point Objective.

Vale a pena usar SSDs em um RAID?

Uma forma de melhorar ainda mais a sua performance é usar SSDs (solid state drives) em vez de HDDs (hard disk drives) para armazenar os seus dados. Os SSDs são unidades de armazenamento que usam memória não volátil, como flash memory, para armazenar os dados, sem partes móveis ou mecânicas. Os SSDs oferecem várias vantagens em relação aos HDDs, como:

  • Velocidade: Os SSDs são muito mais rápidos que os HDDs, pois não precisam girar ou mover cabeças de leitura e gravação para acessar os dados. Os SSDs podem reduzir o tempo de inicialização, carregamento e transferência dos dados, especialmente os não sequenciais (randômicos), aumentando o desempenho do seu RAID, especialmente nos tipos que usam striping ou parity.
  • Durabilidade: Os SSDs são mais duráveis que os HDDs, pois não sofrem desgaste físico ou mecânico com o uso. Os SSDs podem resistir a choques, vibrações, temperaturas extremas e campos magnéticos, reduzindo o risco de falhas e perdas de dados no RAID.
  • Consumo de energia: Os SSDs consomem menos energia que os HDDs, pois não precisam girar ou mover partes para funcionar. Os SSDs podem economizar energia e gerar menos calor no seu servidor, aumentando a eficiência e a vida útil dos componentes, especialmente nos tipos que usam vários discos.

Tendências e novidades

O RAID é uma tecnologia que está em constante evolução e aprimoramento, acompanhando as demandas e as inovações do mercado de armazenamento de dados. Por isso, é importante estar atento às tendências e novidades que podem trazer novas soluções. Algumas tendências e novidades sobre o RAID são:

  • RAID-Z: O RAID-Z é uma variação do RAID-5 que usa um sistema de arquivos chamado ZFS (Zettabyte File System). O ZFS é um sistema de arquivos avançado, projetado pela Sun Microsystems, que oferece recursos como compressão, criptografia, desduplicação, snapshots e clones dos dados. O ZFS também permite criar e gerenciar arranjos de discos com diferentes níveis de RAID, como o RAID-Z, o RAID-Z2 e o RAID-Z3. O RAID-Z oferece um nível de segurança maior que o RAID-5, pois evita o problema da perda de paridade, que pode ocorrer quando um disco falha durante a reconstrução dos dados. O RAID-Z também oferece um melhor desempenho e uma melhor capacidade de armazenamento que o RAID-5, pois usa um algoritmo dinâmico para distribuir os dados e a paridade entre os discos, embora sejam uma implementação de software.
  • RAID-5E e RAID-6E: O RAID-5E e o RAID-6E são variações do RAID-5 e do RAID-6 tradicionais, mas que usam um disco extra para armazenar dados. O disco extra é chamado de hot spare. O hot spare é um disco que fica em espera, pronto para substituir um disco que falhar no arranjo, porém no RAID-5E e RAID-6E, este hotspare é virtual, pois todos os discos estão rodando e “reservando” este espaço extra. O RAID 5E e o RAID 6E oferecem um nível de segurança maior que o RAID 5 e o RAID 6, pois reduzem o tempo de reconstrução dos dados em caso de falha de um disco. O RAID 5E e o RAID 6E também oferecem um melhor desempenho que o RAID-5 e o RAID-6 tradicionais, pois usam um algoritmo otimizado para distribuir os dados e a paridade entre os discos e tê-los todos em funcionamento. Mais discos é igual a mais performance.

Os desafios do armazenamento

O futuro do RAID reserva muitos desafios e oportunidades para o armazenamento de dados, que devem ser acompanhados e aproveitados pelos profissionais da área de armazenamento. Veja só:

  • Crescente demanda por armazenamento: A demanda por armazenamento de dados está crescendo vertiginosamente, devido ao aumento da quantidade e da variedade de dados gerados e consumidos pelos usuários, principalmente os dados não estruturados. Isso implica em um maior desafio para o RAID, que deve oferecer soluções capazes de armazenar grandes volumes de dados e manter a segurança e o desempenho.
  • Diversidade de dispositivos: Com a oferta de dispositivos de armazenamento de diversos fabricantes, isso implica em um maior desafio para o gerenciamento de um parque de storages heterogêneo. O mercado deve oferecer soluções compatíveis e adaptáveis com arranjos híbridos ou distribuídos de discos cada vez mais contando com abstração e virtualização de armazenamento.
  • Segurança da informação: Esta é uma preocupação cada vez maior para os usuários, empresas, governos e organizações que lidam com dados sensíveis ou confidenciais. Isso implica em uma necessidade de priorizar soluções capazes de proteger os dados contra ataques externos ou internos, como invasões, roubos, sabotagens, etc.

Resumindo

Nós vimos o que é o RAID, como ele funciona no servidor e quais são os benefícios para você. Apresentamos os principais tipos de arranjo existentes, como escolher o melhor tipo de RAID para o seu servidor ou storage, como configurar e gerenciar seu array, algumas formas de como recuperar dados perdidos, além do uso de SSDs em um RAID e quais são as tendências e novidades desse campo.

Sair da versão mobile