RAID – Qual escolher?

Galera,

Um dos recursos mais importantes em um servidor de banco de dados é a estrutura de discos utilizada, pois isto tem relação direta com a performance e com a disponibilidade das informações armazenadas nos mesmos.

Quando falamos de armazenamento de dados, existem dois desafios que devem ser resolvidos:

  • Como realizar operações de I/O da forma mais rápida possível?
  • Como proteger as informações armazenadas de uma possível falha de disco?

Para resolver estes desafios, atualmente utilizamos uma arquitetura de discos chamada RAID (Redundant Arrays of Inexpensive Disks).

Com a utilização do RAID, é possível combinar mais de um disco rígido para aumentar a performance e/ou aumentar a confiabilidade nos processos de I/O executados em um servidor de banco de dados.

A maneira como os discos rígidos são combinados é chamada de nível de RAID, e os diferentes níveis de RAID possuem performance e confiabilidade específicas.

O RAID pode ser implementado através de soluções de hardware e de software, porém para um servidor de banco de dados é recomendada a utilização de uma solução de RAID implementada através de hardware.

Os principais níveis de RAID utilizados atualmente são:

  • RAID 1
  • RAID 0
  • RAID 5
  • RAID 10

Para decidir qual o melhor nível de RAID para seu ambiente, vamos conhecer um pouco mais sobre cada um deles.

RAID 1

O nível de RAID 1 armazena a mesma informação em dois (ou mais) discos ao mesmo tempo.

Quando o sistema operacional realiza uma operação de escrita, a controladora de discos executa a escrita dessa informação nos dois grupos de discos rígidos ao mesmo tempo, conforme ilustrado na Figura 1.

raid1
Figura 1 – RAID 1

A desvantagem na utilização do RAID 1 é seu custo, pois será necessário dobrar a quantidade de discos utilizados para o armazenamento da informação já que o sistema grava uma cópia da informação em cada disco.

RAID 0

O nível de RAID 0 realiza o processo de espalhamento da sua informação nos discos utilizados no array.

Quando o sistema operacional realiza uma operação de escrita, a controladora de discos dividirá a informação ao meio e gravará uma parte em cada um dos grupos de discos utilizados na estrutura de RAID, conforme ilustrado na Figura 2.

raid0
Figura 2 – RAID 0

A penalidade na utilização deste nível de RAID é a total ausência de redundância da informação armazenada, ou seja, caso um dos discos utilizados no RAID tenha uma falha, todo o grupo de discos ficará indisponível.

O RAID 0 não é recomendado para um ambiente de banco de dados devido à essa falta de redundância.

RAID 5

O nível de RAID 5 é bem parecido com o RAID 0, pois cada um dos grupos de discos utilizados possui uma parte da informação armazenada.

Para evitar a perda da informação caso um dos discos tenha problema, um dos discos do grupo será utilizado como disco de paridade, conforme ilustrado na Figura 3.

raid5
Figura 3 – RAID 5

Uma das grandes desvantagens na utilização deste nível de RAID é que o calculo do disco de paridade exige uma alta utilização de processamento.

Estas operações de cálculo podem diminuir drasticamente a eficiência nas operações de escrita neste nível de RAID.

RAID 10

Para conseguir a mais alta performance possível, o nível de RAID 10 armazena duas cópias idênticas da informação em dois grupos de discos diferentes, conforme ilustrado na Figura 4.

raid10
Figura 4 – RAID

O benefício principal da RAID 10 é que ela combina os benefícios de RAID 0 RAID 1 desempenho e tolerância a falhas.

Quando um disco rígido falha, todos os dados estarão imediatamente disponíveis no outro disco sem nenhum impacto à integridade desses dados.

No caso de falha de um dos discos, o sistema permanece plenamente operacional, garantindo produtividade máxima. A tolerância a falha de dados pode ser restaurada substituindo-se a unidade com problema.

Novamente temos o custo como a principal desvantagem na utilização de um nível RAID 10, pois serão necessários ao menos 4 discos para configuração do mesmo.

A Tabela 1 ilustra as vantagens e desvantagens de cada um dos níveis de RAID disponíveis.

  RAID 0 RAID 1 RAID 5 RAID 10
Nº mínimo de unidades 2 2 3 4
As vantagens Taxas mais altas de transferência 100% de redundância de dados. Um disco pode falhar, mas os dados continuarão acessíveis. É recomendada uma nova montagem em um novo disco para manter a redundância dos dados. Porcentagem mais alta de capacidade utilizável e alto desempenho, leitura e tolerância a falhas. Combina o desempenho de leitura da RAID 0 com a tolerância a falhas da RAID 1.
Tolerância a falhas Nenhuma – se um disco falhar todos os dados serão perdidos Excelente – o espelhamento de disco significa que todos os dados em um disco são duplicados no outro. Excelente – as informações de paridade permitem a reconstrução dos dados após a substituição de uma unidade de disco falha por uma nova. Excelente – o espelhamento de disco significa que todos os dados em um disco são duplicados no outro.

Qual a melhor configuração para um banco de dados SQL Server?

De acordo com documento de boas práticas, publicado pela Microsoft, a recomendação é de que todos os arquivos de transaction log sejam armazenados em um nível de RAID 10 (ou pelo menos RAID 1) ao invés do nível de RAID 5.

Um arquivo de transaction log é responsável por uma grande quantidade de escritas sequenciais, por um longo período de tempo, e um nível de RAID 10 fornece a melhor performance para este tipo de processamento.

Para a escolha do nível de RAID utilizado em um determinado banco de dados, devemos levar em consideração quantos discos rígidos estão à disposições para este servidor.

Os servidores que utilizam uma Storage Area Network (SAN) possuem uma grande quantidade de discos rígidos disponíveis, aumentando o número de possibilidades na configuração dos níveis de RAID.

Caso tenham interesse em conhecer detalhadamente as recomendações da Microsoft, basta acessar o documento através do link http://technet.microsoft.com/en-us/library/cc966534.aspx.

Espero que tenham gostado e não deixem de inscrever-se no blog para receber todas as atualizações em primeira mão.

Grande abraço.

Anúncios
  1. Amaury Jr
    31/07/2014 às 16:11

    Excelente Vitor!!! Ainda mais com essa referência da Microsoft que todos os chefes querem ver..kkk

    Abraço
    Amaury

  2. 15/10/2014 às 10:22

    Eu já havia estudado e lido no site da Microsoft que RAID 5 não era recomendado (nessas palavras) para uso com SQL SERVER.

    Alguém conhece e sabe onde está esse link?

    Lembro que iniciava com http://www.microsoft.com, mesmo.. não foi em Technet.
    Obrigado!

  3. Rener
    22/09/2015 às 10:29

    amigo estou com um duvida de melhor aproveitar os discos tenho 4 hds sata 500 G o que é mais recomendável os 4 hds em raid 10 (sistema operacional e banco de dados apenas particionando o hd ) ou raid1 pro sistema e raid1 pro banco ? o que daria melhor desempenho?

  4. rafael ferreira
    13/10/2016 às 18:16

    chefia, muito bom, tira uma duvida por favor, raid10, tenho dois discos sas de 300gb e dois discos sas de 1.2tb, consigo raid10 nessa configuracao ou tem que ser 4 discos de tamanhos iguais?

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: