Você pode utilizar a RAM do servidor para o cache NAS?

3

Eu tenho um sistema de 4GB 16GB RAM com uma placa Areca 1230 RAID e 6 HDs em uma configuração RAID 0 + 1 com 1 hot spare.

O sistema tem 2 onboard 1Gpbs nics

Eu quero transformar o sistema em um NAS.

Parece que 16 GB de RAM para um NAS é um desperdício.

Existe alguma maneira de possivelmente transformar uma boa parte dessa RAM extra em cache, ou talvez algum tipo de RAMDRIVEs para algum espaço de troca extra rápido?

O controlador host usa o Ubuntu.

Qual método é mais confiável e relativamente simples de configurar?

Eu verei uma melhora notável no desempenho se eu tivesse algum tipo de cache utilizando a RAM do sistema para o NAS?

    
por JonathanLIVE 20.05.2009 / 00:02

2 respostas

4

Isso depende de qual serviço está fornecendo a funcionalidade do NAS. Samba? NFS Tudo acima? Na sua base, o Linux usará toda a memória não alocada disponível para servir como o cache de arquivos. Essa quantidade de memória será usada por padrão através dos mecanismos de cache normais do Linux. Especialmente se for usado um kernel de 64 bits.

16GB é bastante memória RAM para esse problema. E, no entanto, pode ser o ideal para o que você precisa. Tudo depende de quanto de seus dados está em uso ativo a qualquer momento. Se o seu 'conjunto de trabalho' de arquivos ativos / abertos for superior a 12 GB, então 16 GB de RAM serão perfeitos. O ideal é que você tenha todos os arquivos abertos capazes de caber no cache do servidor para fornecer desempenho máximo. Em que nível isso depende do seu ambiente para que não haja respostas definidas.

É bom que todos os dados se encaixem na RAM por vários motivos, mas um deles é para gravações. Ele permite que o servidor faça a reordenação de E / S para minimizar a latência do HD, algo que a placa RAID também fará.

    
por 20.05.2009 / 00:10
2

O Linux usará sua RAM não alocada como um cache por padrão ... mas seu cenário levanta duas questões imediatamente em minha mente:

  • A rede provavelmente será um gargalo
  • O que acontece com seu cache quando o servidor é reinicializado? inesperado? como as gravações são confirmadas no disco?

Você certamente poderia configurar o ramfs para estar disponível na rede, mas você realmente precisa ter certeza de liberá-lo para um armazenamento mais permanente também. Se seu conjunto de dados for somente leitura (ou apenas gravações ocasionais), isso pode funcionar perfeitamente. Mas para dados de usuários ou compartilhamentos de arquivos em geral - sim!

Não sei qual é o seu ambiente específico, mas talvez seja melhor virtualizar esse servidor se ele tiver excesso de capacidade. Outra jogada / prova / teste é geralmente bem-vinda.

    
por 20.05.2009 / 01:16