Raid software raid com SSDs

1

Nós movemos um aplicativo da web com um banco de dados Oracle para um novo servidor porque o antigo estava morrendo. O servidor antigo tinha dois discos rígidos espelhados, além de um SSD não espelhado separado para os arquivos de dados do Oracle (sem refazer e desfazer log). O novo servidor tem quase a mesma configuração, exceto que agora existem dois SSDs para serem espelhados também.

Infelizmente, o desempenho de gravação aleatória do software RAID-1 com SSDs foi muito ruim. Durante a noite, quando uma grande quantidade de dados é mesclada no banco de dados, o aplicativo da Web quase parou de funcionar, pois operações de inserção simples, como adicionar uma entrada de log, demoraram 20 segundos ou mais. O RAID-1 simplesmente não conseguia acompanhar as solicitações de gravação da Oracle causadas pelos trabalhos noturnos (acesso aleatório aos arquivos de dados).

Eu reverti a configuração para a antiga: sem RAID, mas apenas um único SSD para os arquivos de dados. Agora, os problemas de desempenho acabaram, o aplicativo da Web é ágil o tempo todo e os trabalhos noturnos são cerca de 10 vezes mais rápidos do que com o RAID (e quase o mesmo que no servidor antigo).

Como o software RAID pode ser pelo menos 10 vezes mais lento que a mesma unidade sem um RAID?

Hardware:

  • Intel Xeon E3-1245 V2 a 3.40GHz
  • 32 GB de RAM
  • 2 x Seagate Constellation ES.2 ST33000650NS
  • 2 x INTEL SSDSC2BW240A4

Comandos para configurar o RAID:

# mdadm –-create –-name=3 /dev/md/3 --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mkfs.ext4 /dev/md3

BTW: Eu não posso executar nenhum experimento no novo servidor, pois estávamos sob pressão para deixá-lo produtivo (o antigo estava morrendo).

    
por Codo 26.09.2013 / 14:32

3 respostas

1

Você tem dinheiro suficiente para pagar pelo Oracle, mas não tem dinheiro suficiente para um ambiente de teste?

Sem resposta (é um pouco longo para um comentário), mas algumas observações:

Os SSDs mentem sobre seu tamanho de bloco físico - este é, na verdade, o tamanho do bloco de apagamento - o que é enorme.

A maioria dos discos também mentem sobre sua geometria (para que você possa formatá-los no MS-DOS) - mas isso realmente prejudica o desempenho dos níveis de RAID de distribuição de dados (mas eu não esperava muito impacto no espelhamento).

Você não nos mostrou como eles foram particionados nem o diário que você configurou.

Você precisa informar sobre a configuração do RAID - embora, novamente, o IIRC seja mais um problema para a distribuição do que o espelhamento .

As operações de gravação em um espelho nunca serão mais rápidas (possivelmente até 2x mais lento, embora mais frequentemente na região de 20%) do que em um único disco.

O problema com SSDs é o desgaste por gravação. Em um espelho, é incomum que a fiação de discos de ferrugem, mesmo do mesmo lote, falhe ao mesmo tempo. OTOH sua massivley mais provável que 2 SSDs irão falhar ao mesmo tempo. Uma solução é deliberadamente escalonar a vida útil dos discos. Mas se eu estivesse configurando uma máquina com esse mix de hardware, eu teria usado o mdadm para configurar armazenamento híbrido - conjuntos de espelhos entre SSD e HD.

Eu suspeito que o problema esteja na camada do sistema de arquivos - se ele não estivesse em produção, sugiro dar acesso à Oracle para o dispositivo de espelho como um partição bruta e verificando o desempenho.

    
por 26.09.2013 / 15:49
1

Eu acho problemas no alinhamento de dados. Cada nível (partição, RAID, sistema de arquivos) tem que começar em um limite de super célula. Caso contrário, cada ciclo de apagamento (a pior parte da tecnologia de memória Flash) seria efetivamente duplicado.

Existe uma ferramenta on-line para calcular os alingments, descritos em the OCZ forum . Pode ajudar.

    
por 26.09.2013 / 16:19
0

Redhat não recomenda RAID 1 w / SSD e mdadm:

During the initialization stage of these RAID levels, some RAID management utilities (such as mdadm) write to all of the blocks on the storage device to ensure that checksums operate properly. This will cause the performance of the SSD to degrade quickly.

Capítulo 21. Diretrizes de implantação de disco de estado sólido

Preocupações semelhantes são expressas em outro lugar:

TRIM ( https://en.wikipedia.org/wiki/TRIM ) isn't supported with RAID on SSD today on hardware controllers and most distributions of linux don't support TRIM on RAID out of the box if you're doing software RAID, so you're going to see performance plummet like a rock after you do one pass of writes on the disk. In many RAID configurations, you're going to zero-write the entire disk when formatting it, so performance is going to suck from the get-go.

link

    
por 16.10.2014 / 18:54