RAID e Bancos de Dados

3

Eu uso o Postgresql 8.4 e queria saber que tipo de RAID é usado principalmente para bancos de dados. Eu li em todos os lugares que o RAID10 é o mais adequado e o RAID5 não é uma boa opção. ex: link

Meu servidor é um Dell Poweredge 2950. O suporte da Dell me disse que eles não têm muitos clientes usando o RAID10. Na maioria das vezes eles usam o cache RAID5 + RAID ON.

O que você acha disso? Que nível de RAID você usa para seus servidores de banco de dados?

Obrigado!

    
por Matthieu 17.08.2009 / 16:54

8 respostas

6

Pol,

Eu provavelmente usaria o RAID10 se você escrevesse muito para o seu banco de dados.

Aqui está um bom caso do mundo real a ser considerado ... substituindo um servidor de arquivos que tenha apenas um único HDD de 1TB com um novo servidor com quatro discos rígidos de 1TB. A decisão foi tomada para ir com o RAID5.

O desempenho foi NOTICIBLY mais lento na nova máquina. Foi descoberto mais tarde que o servidor lidou com muito mais gravações do que se pensava inicialmente. A penalidade de gravação do RAID5 foi muito ruim.

A decisão correta nisso foi usar o RAID10.

    
por 17.08.2009 / 18:12
3

A melhor resposta depende do perfil que seu banco de dados se encaixa mais de perto: OLTP ou OLAP. Para simplificar demais, seu banco de dados faz mais gravações ou mais leituras? Um banco de dados fazendo mais gravações do que as leituras normalmente terá um desempenho melhor em raid10 do que em raid5 (assumindo que o mesmo número de unidades seja usado). Como Karl mencionou, se o seu conjunto de dados (ou drives) for grande, fique longe do R5 e use R6 se o R10 não for sua seleção.

    
por 17.08.2009 / 18:13
3

É dependente da carga de trabalho e você deve comparar.

Em teoria, o RAID 5 é lento para pequenas gravações. Um cache grande pode mitigar isso tremendamente (ou até mesmo torná-lo idêntico em desempenho ao RAID 1 + 0 para uma determinada configuração).

Muitas vezes, o RAID 1 + 0 é politicamente difícil, pois o espaço extra é visto como desperdiçado. Tente explicar que ter espaço vazio em um RAID5 que poderia ser usado para ganhar desempenho é uma forma diferente de perder espaço.

Se você não pode comparar e você já tem o espaço em disco, sempre use o RAID 1 + 0. Se você não puder comparar e for forçado a ir para o RAID5 ou RAID6, certifique-se de declarar claramente por escrito que o RAID6 e o RAID5 têm o maior risco de desempenho para cargas que exigem muita gravação. Certifique-se de que a insistência em configurá-lo de uma maneira que crie o maior risco de desempenho sem testar primeiro é também feita por escrito.

Ao fazer benchmark, deixe claro para o grupo de aplicativos fazer o benchmarking como o RAID5 funciona, o fato de o controlador ter cache que pode atenuar a pequena penalidade de gravação e que o benchmark precisa estar em um conjunto de dados idêntico dimensionados para produção.

Faça tudo isso por escrito. Erros de configuração de armazenamento são o jogo de culpa mais comum em muitos ambientes. Basicamente, você não terá permissão para fazer benchmark e terá que adivinhar, então certifique-se de ter a evidência de que você fez um bom palpite, ou que lhe foi dito para fazer algo contrário às melhores práticas. / p>     

por 30.08.2009 / 22:31
2

Encontre aqui um relatório sobre desempenho e dimensionamento, sobre o HP Proliant DL380 G5.
os testes são baseados em vários sistemas de arquivos (jfs, xfs, reiserfs, ext2 e ext3).

    
por 17.08.2009 / 17:21
2
Honestamente, na minha experiência, não vejo diferença no RAID5 em relação ao RAID10 a partir de uma perspectiva de redundância de dados. No entanto, o RAID10 oferece um aumento de desempenho devido ao fato de que o RAID é distribuído. O RAID 10 é basicamente um RAID0 e RAID1. Dois conjuntos RAID0 são espelhados (RAID1). Nós usamos o RAID5 sobre o RAID10. Mas não exigimos o ganho de desempenho do RAID10. Depende apenas do seu ambiente e do que você está trabalhando. Eu recomendaria tentar um RAID5. Se parece que o desempenho é mais lento, mude para o RAID10 e veja se o ganho de desempenho ajuda. Se você tem cargas de trabalho pequenas e médias, o RAID5 deve resolver o problema.

    
por 17.08.2009 / 18:21
1

Para melhor desempenho, use SSDs, depois R10, depois 1 ou 0, depois 5 e, em seguida, 6.

    
por 17.08.2009 / 17:01
1

O RAID5 é usado porque é mais fácil de configurar e pensar do que o RAID10. Você não precisa de um número par de discos e mais pessoas estão familiarizadas com isso.

No passado, sempre fizemos o RAID5 (Dell PowerEdge 2650-2950), mas em nossa última máquina (executando o MS-SQL, não o PostgreSQL), testei o RAID10 e o RAID5. Descobri que, para nossa carga de trabalho, o RAID10 nos proporcionou um aumento moderado no desempenho (~ 10%).

Se você tiver tempo, sugiro configurar o servidor nos dois sentidos e executar tarefas normais de banco de dados (backups e restaurações, quaisquer tarefas ou relatórios que você possa fazer).

    
por 17.08.2009 / 17:05
1

Os SSDs nem sempre fornecem o melhor desempenho. Eles lêem os dados em blocos ordenados, o que pode não ser o que o banco de dados precisa.

Ao decidir qual RAID e sistema de arquivos usar para um banco de dados, as questões importantes são:

  • Qual é o tamanho do conjunto de dados / unidade?
  • Quanto dinheiro você tem?
  • A leitura é pesada ou pesada?

Se o conjunto de dados for grande, ou seja, > 10 TB, você vai querer evitar o RAID5. Você pode perder uma segunda unidade enquanto recria a matriz, resultando em uma perda total de dados. O RAID6 e o RAID10 são bons perfis, mas esteja ciente das restrições com o RAID10. Além disso: escolha um sistema de arquivos que não requer um fsck-ing regular; em outras palavras, evite ext3 e use algo como xfs ... ou melhor ainda, use Solaris e use zfs. Você tem alguma idéia quanto tempo leva para fsck um volume de 10 TB?

Se você tem mais dinheiro, pode comprar um gabinete externo e obter alguns aumentos de velocidade adicionais, já que a máquina não tentará fazer atividades do sistema (registro, etc.) durante a leitura do conjunto de dados. Você também pode obter um controlador RAID melhor com mais RAM e maior taxa de transferência ou discos mais rápidos. Basicamente, você recebe o que você paga.

Se os dados forem pesados para leitura, você pode se ater ao Raid10. Se seus dados são balanceados como leitura / gravação ou gravação pesada, é melhor você usar o raid6.

    
por 17.08.2009 / 17:50