A importância da memória ECC

11

É importante ter módulos de memória ECC em um servidor não crítico?

Eu estava pensando em conseguir um servidor dedicado para muitas coisas aleatórias e não críticas. Reinicializações esporádicas não são grande coisa. Estou procurando um fornecedor, mas os preços são incrivelmente baratos. Seu hardware soa como uma piada para qualquer caixa séria de servidor: processadores de desktop, RAM não ECC, chassi sem nome, disco rígido SATA com hotswap etc. (bem, o preço justifica, eu acho).

Eu considero a memória ECC como garantida em qualquer servidor "sério", por isso estou me perguntando se é um grande problema ou não para dispositivos "de brinquedo".

PJK
fonte
3
Você questiona a memória ECC, mas parece feliz em usar unidades SATA. Muito estranho.
John Gardeniers
3
@JohnGardeniers Veja bem, mesmo que isso signifique um disco rígido morto uma vez por ano, não me importo com poucas horas de inatividade e recuperação de ataques. Mas ter problemas diários / semanais seria irritante. Sim, eu estou realmente mais preocupado com meu lazer que o meu tempo de atividade neste caso ...
PJK
6
@JohnGardeniers: drives SATA não são mais confiáveis do que SCSI / SAS HDDs: usenix.org/event/fast07/tech/schroeder/schroeder.pdf
Hubert Kario

Respostas:

11

Os dados publicados pela equipe de TI do CERN ( Data Integrity ) sugerem que a quantidade de erros provenientes da RAM é bastante baixa. Você ainda precisa ponderar seus dados e o custo do hardware.

Você pode ler um pouco mais sobre isso no StorageMojo .

Hubert Kario
fonte
10

A RAM do ECC basicamente ajuda a evitar erros que ocorrem ao ler e gravar na RAM. A chance de realmente haver um erro é muito pequena, mas diferente de zero. Eu diria que, se você não estiver fazendo tarefas críticas, poderá fugir sem a RAM do ECC - como eu disse, as chances de encontrar um erro que o ECC impediria são muito, muito pequenas.

BenGC
fonte
6

O que é um servidor não crítico? Um que pode falhar?

A RAM do ECC é fundamental quando a confiabilidade da memória é fundamental.

Duas coisas crescem com o aumento do tamanho da memória:

  • a dependência do software na memória, esp. software de servidor (por exemplo, armazenamento em cache)
  • a probabilidade de erro de memória (p = num_bits * p_bit_failure)

Esta apresentação da intel no ECC relata os seguintes fatos:

  • A taxa média de erro de memória para um servidor com 4 GB de memória executando 24x7 é 150 vezes por ano
  • ~ 4000 erros corrigíveis por módulo de memória por ano
  • O overclock e a idade do sistema aumentam bastante as taxas de falha
  • Falhas recorrentes são comuns e ocorrem rapidamente (97% ocorrem 10 dias após a primeira falha) => efeito avalanche
  • Para um servidor ECC com vida útil de 3 a 5 anos, a chance de erro incorreto de memória na falha do sistema é menor que 0,001%

Outra pesquisa recente do WISC mostra que o ECC é essencial para esses sistemas ZFS:

O ZFS não tem precauções para corrupção de memória: blocos de dados incorretos são retornados ao usuário ou gravados em disco, as operações do sistema de arquivos falham e muitas vezes o sistema inteiro trava.

É importante observar que outros sistemas de arquivos são tão sensíveis a essa forma de corrupção de dados quanto o ZFS.

O ECC é o que evita que você se depare com esses problemas, quando possível e, em casos desastrosos, o que avisa sobre isso antes que seja tarde demais.

michele
fonte
1

Simplesmente não é tão importante. Se você precisasse de 99,999% de tempo de atividade, se preocuparia. Fora isso, você reiniciará com mais frequência do que erros de memória.

Jim B
fonte
1

Este estudo realizado pelo Google em 2009 encontrou uma taxa de erro entre 25000 e 70000 erros por bilhão de horas de dispositivo por megabit. Isso significa que, para 8GiB de RAM (usada), ocorreram aproximadamente 1,7 a 4,8 erros por hora.

Bitflips são algo que existe e não deve ser ignorado assim que a integridade dos dados for importante.

No seu caso (coisas aleatórias e não críticas), provavelmente seria um exagero.

bl4x1
fonte