Configuração RAID do PostgreSQL

2

Eu estou preso como melhor configurar o array de disco. Temos uma matriz de disco Hp P2000 G3 com 24 discos físicos SAS de 300Gb cada . Precisamos configurar este array com 2 cópias do PostgreSQL 9.2 porque dois sistemas diferentes. Como sabemos, é recomendável armazenar arquivos de banco de dados e logs de transações (pg_xlog) em discos separados.

Portanto, devemos configurar 4 discos lógicos:

2 for transaction logs with RAID 1
2 for database with RAID 10

Este esquema correto de distribuição? Ou pode ser melhor apenas fazer um grande RAID 10 com 4 discos lógicos?

    
por Eldar 30.11.2012 / 10:21

1 resposta

4

O conselho para separar xlogs e o heap / índices principal é reduzir o impacto de liberações de disco.

Isso não deve ser necessário para configurações finais mais altas. Se você se preocupa com o desempenho, deve usar um controlador RAID com um cache de write-back persistente (com bateria, flash ou híbrido), no modo de cache de write-back. Isso eliminará quase totalmente o custo de liberação para sincronização e permitirá que você otimize somente o throughput.

Esta matriz de disco HP P2000 G3 parece vir com 2 GB de cache de leitura / gravação. Certifique-se de que esteja no modo write-back.

Em geral, para controladores RAID e matrizes de disco, certifique-se de comprar o módulo de cache write-back e usá-lo. Não importa quanto custa, aumentará de forma massiva o desempenho de gravação do seu array que você simplesmente não acreditará.

Quanto ao layout da matriz, a melhor maneira de tomar essas decisões é fazer o benchmark para a taxa de transferência. Use o PgBench (de preferência ajustado para simular sua carga de trabalho) e os benchmarks de E / S de disco bruto. Veja quais arranjos de matriz oferecem a melhor taxa de transferência e menores latências de sincronização.

Lembre-se de considerar várias falhas de disco. Uma matriz de discos 2x8 em RAID10 (8 discos distribuídos, espelhados uma vez) é muito grande o suficiente para que falhas duplas de disco sejam totalmente prováveis. Você pode pagar o tempo de inatividade? Você estará executando uma réplica de streaming somente leitura ou escravo PITR para não perder dados se perder sua matriz? Calcule as probabilidades de falha e lembre-se de que há 50% de chance de qualquer falha de disco duplo eliminar toda a matriz.

    
por 30.11.2012 / 10:44