solução de drive de RAM failsafe [closed]

2

Estou procurando uma solução de produção para criar uma unidade de RAM que seja sincronizada com segurança com o HDD.

Eu tenho um software personalizado com carga pesada de E / S (isso é algum tipo de DB proprietário orientado a documentos), e preciso acelerar drasticamente. Eu não posso modificar ou me livrar do software em si, então tenho que fazer escalonamento horizontal ou vertical. O software não suporta scout horizontal da caixa, então eu estou olhando para o dimensionamento vertical primeiro.

A idéia principal é simples - compramos muita RAM (96GB) e colocamos tudo em uma unidade RAM. Mas precisa ser à prova de falhas, perder todos os dados na reinicialização do servidor não é uma opção. Então, estou procurando uma solução que mantenha a sincronização transparente entre a unidade de RAM e o HDD.

Solução suja como copiar arquivos através do script bash não é uma opção, precisa de algo mais confiável.

Em teoria, como eu vejo, algum tipo de FS distribuído, como descrito aqui pode ser usado de uma maneira estranha - para sincronizar duas partições na mesma máquina. Mas duvido que isso funcione na prática, e nunca tentei isso.

Então, alguma idéia sobre solução pronta para uma unidade RAM com sincronização transparente para HDD?


dados UPD:

  1. A quantidade estimada de dados que precisarei armazenar na RAM é de cerca de 50 GB.
  2. Os servidores são dedicados HP DL320, 8 CPU, 16 GB de RAM (até 96 GB).
  3. O perfil de E / S é semelhante a um aplicativo de banco de dados - muitas leituras de acesso aleatório, menos gravações.
por user1450663 01.11.2012 / 14:36

3 respostas

4

Eu perguntei sobre o hardware disponível para você porque é possível obter dispositivos de baixa latência e IOPS altos para superar as limitações de seus discos.

No entanto, você não forneceu uma estimativa do tamanho do seu conjunto de dados de trabalho. Isso faz uma diferença enorme. Nós não temos informações suficientes no momento. Qual é o perfil de I / O da aplicação? Escrita tendenciosa? Lidar com leitura? Qual é a configuração atual de armazenamento?

Uma sugestão genérica seria usar uma matriz de unidades SSD. Outra seria usar um acelerador PCIe como o drive FusioIO .

Talvez até considere o DRBD no modo assíncrono ...

Uma solução mais esotérica seria usar o armazenamento compartilhado com algum grau de hierarquização que pode manter dados usados com freqüência na RAM ou em SSDs. O sistema de arquivos ZFS e seu uso de ZIL e o cache de leitura L2ARC é um bom exemplo.

E uma solução ainda mais esotérica é uma abordagem de cache baseada em software, como o Disco de Ram Eventualmente Persistente (PERD) . Isso cria um disco de RAM com backup em disco em um sistema de arquivos FUSE e pode ser uma boa opção para acelerar a E / S do seu aplicativo. Isso pode ser o que você quer ...

Nos documentos de configuração:

You can however also create a ramdisk that will have it's
changes flushed to disk every N seconds and instead of keeping
everything in ram it only allocated 512M for caching.

./eprd_setup -f /data/saverimg -s 10G -m 3 -c -p512M

In this example the data is flushed to disk every 3 seconds.

Editar:

Se estes são sistemas HP ProLiant DL320 , presumo que sejam Modelos G6. Você tem um controlador Smart Array P410 e uma bateria backup ou cache em flash instalado? Se não, esse é o primeiro passo que você deve dar antes de ir com uma configuração de disco RAM. Faz diferença!

    
por 01.11.2012 / 15:12
9

Você não quer ter um disco RAM real que sincronize com um disco rígido - o que você quer é uma placa PCIe baseada em RAM com backup de bateria e cache NV. Basicamente, uma placa FusionIO.

    
por 01.11.2012 / 14:43
3

Você não pode fazer isso hoje, você quer 'à prova de falhas', mas quer usar RAM que não seja inerentemente insegura, é por isso que NVRAM é feita - mas custa. Eu uso FusionIO e é claro que não é barato, mas esse segmento do mercado de armazenamento está mudando rapidamente e os preços estão caindo, veja alguns dos outros fornecedores que vendem flash baseado em PCIe e você encontrará produtos menos maduros, mas a preços muito mais baratos.

Ah, e nenhuma quantidade de sincronização de ramdrive inteligente funcionará perfeitamente, você irá obter corrupção em algum momento.

    
por 01.11.2012 / 16:14