Memória não-ECC com o ZFS: uma ideia estúpida?

14

Eu tenho um novo servidor e estou planejando atualizar os 2 GB de memória para o máximo de 16 GB. (Teoricamente, 8 GB é o limite, mas empiricamente 16 GB foi mostrado para funcionar.) Alguns guias recomendam que a memória do ECC não é tão importante, mas não tenho certeza se acredito nisso.

Instalei o FreeNAS e estou planejando adicionar volumes ZFS assim que meus novos discos rígidos chegarem. Seria estúpido poupar e obter memória não-ECC para um NAS baseado em ZFS? Se for necessário, então eu vou morder a bala, mas se for apenas paranoia, então provavelmente vou pulá-la.

Existe algum motivo pelo qual o ZFS ou o FeeeNAS especificamente precisem de memória ECC ou sofram especialmente quando executados em um sistema que usa memória não-ECC?

    
por iconoclast 03.12.2012 / 23:13

3 respostas

6

Eu diria que executar o FreeNAS com RAM não-ECC é uma ideia estúpida, assim como executá-lo como um convidado virtualizado, quando os dados armazenados no volume do ZFS são importantes.

Joshua Paetzel, um dos desenvolvedores do FreeNAS, escreveu um bom artigo sobre este assunto: link .

TL; DR

ZFS does something no other filesystem you’ll have available to you does: it checksums your data, and it checksums the metadata used by ZFS, and it checksums the checksums. If your data is corrupted in memory before it is written, ZFS will happily write (and checksum) the corrupted data. Additionally, ZFS has no pre-mount consistency checker or tool that can repair filesystem damage. [...] If a non-ECC memory module goes haywire, it can cause irreparable damage to your ZFS pool that can cause complete loss of the storage.

    
por 23.03.2015 / 22:36
13

O ZFS apenas protege seu investimento nos dados do disco. Se o servidor estiver em produção, você quer o maior tempo de atividade possível e o ECC ajuda, permitindo que o servidor tolere um erro ONE BIT em memória com falha. Isso pode lhe dar tempo para agendar e substituir a memória com falha sem pânico.

    
por 03.12.2012 / 23:17
12

ECC RAM é bom, mas vamos ver o contexto ...

Para o uso pretendido, um ProLiant Microserver é um ótimo servidor de baixo impacto com fator de forma pequeno. Faltam alguns dos atributos comumente associados a sistemas de qualidade de produção (apenas quatro compartimentos de unidade, fonte de alimentação única, CPU mais fraca). Então, eu acho que você vai ter problemas associados com essas deficiências muito mais cedo do que os efeitos de não ter RAM corrigindo erros. Os guias que você leu estão corretos ... O ECC RAM não será tão importante nesse sistema específico ...

Isso não se aplica a sistemas de qualidade de produção de alto nível.

Eu adicionarei: O Microserver é especificado com a RAM ECC . Por que você não usaria isso?

    
por 04.12.2012 / 01:34