É necessário gravar RAM para hardware de classe de servidor?

31

Considerando o fato de que muitos sistemas de classe de servidor estão equipados com ECC RAM , é necessário ou útil gravar os DIMMs de memória antes de sua implantação?

Eu encontrei um ambiente em que toda a RAM do servidor é colocada através de um longo processo de queima / estresse. Isso atrasou a implantação do sistema ocasionalmente e afeta o tempo de execução do hardware.

O hardware do servidor é principalmente Supermicro ; portanto, a RAM é proveniente de uma variedade de fornecedores; não diretamente do fabricante, como um Dell Poweredge ou HP ProLiant .

Este exercício é útil? Na minha experiência anterior, simplesmente usei a RAM do fornecedor imediatamente. Os testes de memória do POST não devem capturar a memória DOA? Respondi a erros de ECC muito antes de um DIMM realmente falhar, pois os limites do ECC eram geralmente o gatilho para a colocação da garantia.

  • Você queima sua RAM?
  • Em caso afirmativo, quais métodos você usa para executar os testes?
  • Identificou algum problema antes da implantação?
  • O processo de gravação resultou em alguma estabilidade adicional da plataforma, em vez de não executar essa etapa?
  • O que você faz ao adicionar RAM a um servidor em execução existente?
ewwhite
fonte

Respostas:

25

Encontrei um documento da Kingston detalhando como eles funcionam com a Memória do servidor. Acredito que esse processo seria normalmente o mesmo para os fabricantes mais conhecidos. Os chips de memória, assim como todos os dispositivos semicondutores, seguem um padrão específico de confiabilidade / falha conhecido como Curva da Banheira:

insira a descrição da imagem aqui

O tempo é representado no eixo horizontal, começando com a remessa da fábrica e continuando por três períodos distintos:

  • Falhas no início da vida: A maioria das falhas ocorre durante o período de uso precoce. No entanto, com o passar do tempo, o número de falhas diminui rapidamente. O período de Falha no início da vida, mostrado em amarelo, é de aproximadamente 3 meses.

  • Vida útil: Durante esse período, as falhas são extremamente raras. O período de vida útil é mostrado em azul e é estimado em mais de 20 anos.

  • Falhas no fim da vida útil: Eventualmente, os produtos semicondutores se desgastam e falham. O período de final de vida é mostrado em verde

Agora, porque Kingston observou que altas taxas de falhas ocorreriam nos primeiros três meses (após esses três meses, a unidade é considerada boa até sua EOL cerca de 15 a 20 anos depois). Eles projetaram um teste usando uma unidade chamada KT2400, que testa brutalmente os módulos de memória do servidor por 24 horas a 100 graus Celsius em alta tensão, através do qual todas as células de cada chip DRAM são continuamente exercitadas; esse alto nível de teste de estresse causa o envelhecimento dos módulos por pelo menos três meses (conforme observado antes do período crítico em que a maioria dos módulos apresenta falhas).

Os resultados foram:

Em março de 2004, a Kingston iniciou um teste de seis meses em que 100% da memória do servidor foi testada no KT2400. Os resultados foram monitorados de perto para medir a mudança nas falhas. Em setembro de 2004, depois que todos os dados dos testes foram compilados e analisados, os resultados mostraram que as falhas foram reduzidas em 90%. Esses resultados superaram as expectativas e representam uma melhoria significativa para uma linha de produtos que já estava no topo de sua classe.

Então, por que a gravação na memória não é útil para a memória do servidor? Simplesmente, porque já foi feito pelo seu fabricante!

Lucas Kauffman
fonte
10
O fabricante do chip e talvez o fornecedor do servidor possam testar alguns chips. Atualmente, porém, os componentes mst são testados apenas em amostras para reduzir custos. Mesmo que seus chips ou DIMMs inteiros tenham sido testados uma vez, isso não informa se os contatos ou PCB foram de algum modo aprimorados ou alterados durante a montagem ou o envio. Tivemos um burn-in do MemTEst86 para encontrar problemas com a memória de dois servidores diferentes, prontos para uso de dois fornecedores diferentes de servidores de "camada 1". Se eles tivessem chegado à produção, o ECC poderia ter nos salvo, mas a corrupção silenciosa do banco de dados também poderia ter sido o resultado.
rmalayter
7
Essa curva da banheira não é apenas para semicondutores. A maioria dos componentes construídos com algum grau de controle de qualidade segui-lo: discos rígidos, os SSDs, fontes de alimentação (principalmente por causa de capacitores), ventiladores, etc.
voretaq7
6
Essa é uma das razões pelas quais nunca compro garantias estendidas sobre produtos eletrônicos. O dispositivo (ou componente) falhará nos primeiros meses ou durará o resto de sua vida útil. Isso também demonstra por que é tão importante eliminar as maçãs podres cedo, para que você possa começar a navegar o mais rápido possível.
Atari911 27/06
@ rmalayter Então você defenderia a queima da RAM, afinal?
ewwhite
2
@whwhite Sim, eu testaria. Demora apenas algumas horas para inicializar o memtest86 e permitir que ele verifique 384 GB de RAM. Também gravamos em todos os subsistemas de armazenamento usando o IOmeter pelo mesmo motivo. Vários controladores ou unidades RAID morreram durante a queima nos últimos anos, apesar de terem funcionado bem durante a instalação do sistema operacional. Às vezes, era um problema de firmware ruim, às vezes RAM com cache defeituoso no controlador RAID, às vezes era "quem sabe - RMA isso!"
Rmalayter
30

Não.

O objetivo da gravação no hardware é enfatizá-lo a ponto de catalisar uma falha em um componente.

Fazer isso com discos rígidos mecânicos obterá alguns resultados, mas isso não fará muito pela RAM. A natureza do componente é tal que fatores e idade ambientais são muito mais propensos a ser a causa de falhas do que a leitura e gravação na RAM (mesmo em sua largura de banda máxima por algumas horas ou dias).

Supondo que sua RAM tenha qualidade alta o suficiente para que a solda não derreta na primeira vez em que você realmente começar a usá-la, um processo de gravação não ajudará a encontrar defeitos.

Shane Madden
fonte
15

Compramos lâminas e geralmente compramos um bloco razoavelmente grande de cada vez; portanto, as colocamos e instalamos durante DAYS antes que nossas portas de rede estejam prontas / seguras. Portanto, usamos esse tempo para usar o memtest por cerca de 24 horas, às vezes mais se passar um fim de semana - depois disso, pulverizamos o ESXi básico e o IP está pronto para que o perfil do host seja aplicado quando a rede estiver ativa. Então, sim, nós o testamos, mais por oportunidade do que por necessidade, mas capturou alguns DIMMs de DOA até agora, e não sou eu que faço isso fisicamente, então não me esforço. Eu sou a favor.

Chopper3
fonte
3
Um "Teste de oportunidade" faz sentido - dada a chance de eu fazer isso. Se ele vai para implementações de atraso posso arriscar uma má DIMM e uma luz ECC :-)
voretaq7
2
Se você incorporar o teste no plano de implantação, adquiriu o tempo necessário; se fizer tudo o mais rápido possível, estará se preparando para receber críticas posteriormente. Gerenciamento de braço forte sempre que possível :) #
Chopper3
@ Chopper3 Então, se você estava estabelecendo uma política, sempre? , Fazê-lo nunca mais? ou quando você pode? .
ewwhite
@whwhite - eu diria o último, embora tendamos a projetar isso no plano de implantação padrão, por isso é altamente provável a cada vez.
Chopper3
11

Bem, acho que depende exatamente de quais são seus processos. SEMPRE executo o MemTest86 na memória antes de colocá-lo em um sistema (servidor ou não). Depois de ter um sistema instalado e funcionando, os problemas causados ​​pela memória defeituosa podem ser difíceis de solucionar.

Quanto a realmente "testar o estresse" da memória; Ainda não entendi por que isso seria útil, a menos que você esteja testando para fins de overclock.

Atari911
fonte
O que o MemTest86 lhe diz? Você encontrou problemas de RAM antes de instalá-lo em um servidor usando este método?
ewwhite
4
Encontrei muitos erros com o MemTest86 + que o diagnóstico de memória do BIOS e do Windows não encontrou. Eu recomendo. Sim, o ECC encontrará os mesmos erros, mas um teste de memória ajudará você a encontrá-los com antecedência.
Owen Johnson
6
O MemTest informará se há alguma falha nas partes internas da memória. Isso é feito armazenando padrões de bytes e conjuntos aleatórios de bytes na memória, na tentativa de acionar um erro. O programa pode executar um "passe" para informar se a memória está boa, mas geralmente executo vários passes durante a noite apenas para garantir. O bom do MemTest é que ele me diz se a memória está ruim antes de implantar o sistema. Ele provocou uma RMA muitas vezes e me salvou de muitas dores de cabeça. Depois que a máquina é implantada, é uma dor no @ss para RMA a memória.
Atari911
2
@OwenJohnson Geralmente quando você executar MemTest86 (+) você está esperando para desencadear esses erros ECC antes de colocar a máquina em produção :-)
voretaq7
6

Não, mas já vi pessoas que o fazem. Eu nunca os vi ganhar nada com isso, acho que pode ser uma ressaca ou superstição, talvez.

Pessoalmente, sou como você porque as taxas de erro do ECC são mais úteis para mim - supondo que a RAM não seja DOA, mas você saberia disso de qualquer maneira.

Sirex
fonte
6

Para ram não-ECC, executar 30 minutos no memtest86 + é útil, pois geralmente não existe um método confiável para detectar erros de bit quando o sistema está em execução.
A triagem azul não é considerada um método confiável ...
E a RAM levemente esquisita geralmente não aparece imediatamente, somente depois que o sistema vê uma carga de memória cheia e somente se os dados nessa RAM eram um código usado e então caiu. A corrupção de dados pode passar despercebida por longos períodos de tempo.

Para a ram ECC, ele não fará nada que o próprio controlador de memória não fará, por isso realmente não faz sentido. É apenas uma perda de tempo.

Na minha experiência, as pessoas que insistem em se interessar geralmente são caras velhos que sempre fizeram isso e continuam fazendo isso por hábito, sem realmente pensar nas coisas verdadeiras.
Ou são rapazes jovens, seguindo o procedimento prescrito escrito por esses homens velhos.

Tonny
fonte
Conhecimento ruim, transmitido por gerações?
ewwhite
@whwhite Sim, até onde eu sei. E eu tenho um Bsc. em tecnologia de hardware de computador, então eu tenho que saber o que eu estou falando :-)
Tonny
exceto todos os incidentes de pessoas que realmente encontraram erros, conforme mostrado no encadeamento. Além disso, se não for óbvio, há uma diferença em trocar as peças antes de colocar um servidor em produção ou substituir a ram em um servidor DB que é executado em 24x7. A menos que finja que é um "erro de crescimento" e todo mundo está apenas velho e fazendo coisas de cultos de carga, mas ainda fará com que as perdas tenham um servidor de produção offline.
Florian Heigl
11
@FlorianHeigl Eu não defendo a gravação de RAM por causa disso, mas nunca aprovarei colocar um servidor em produção, sem que ele seja submetido a um teste de estresse por pelo menos 24 horas. RAM geralmente não é o problema. HDs esquisitos, controladores RAID, placas IPMI, fontes de alimentação, CPU's, VRM's ... Eu já vi tudo. (E muitas vezes o servidor sobrevive a instalação inicial muito bem É a carga e / ou de saúde que faz quando tem que realmente trabalho..)
Tonny
3

Depende.

Se você está implantando 50.000 novas RAMs e sabe que esse hardware específico tem uma taxa de falhas de 0,01% após operar menos de um dia, estatisticamente falando, existem várias delas que falharão no primeiro dia. Queimar é para entender isso. Com implantações nessa escala, espera-se falha, não uma situação excepcional.

No entanto, se você estiver implantando apenas algumas centenas de itens, as estatísticas provavelmente ficarão do seu lado, pois você deverá ter muita sorte para obter as peças com falha.

Lie Ryan
fonte
Você tem razão. Mas vamos ser sinceros, a maioria de nós nunca fará implantações tão grandes. (A menos que você esteja construindo um novo data center do Google.) A maioria de nós geralmente implementa no máximo 5 a 10 servidores ao mesmo tempo. O maior que eu pessoalmente fiz foi 16 nós ESX (4x clusters de 4 nós), cada um com 8 DIMMs. Isso foi há 3 anos e, desde então, 1 DIMM falhou (2 meses atrás). Teve que substituir 5 fontes de alimentação nessas mesmas máquinas. Primeiro 1 depois de uma semana já. Mas como esses são HP Proliants, esperávamos isso. (HP e power-suprimentos .. Não me fale ...)
Tonny