Memória não ECC com ZFS: uma idéia estúpida?

16

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 foi demonstrado que 16 GB funcionam.) Alguns guias aconselham que a memória ECC não é tão importante, mas não tenho tanta certeza se acredito nisso.

Instalei o FreeNAS e planejo adicionar volumes ZFS assim que meus novos discos rígidos chegarem. Seria estúpido economizar e obter memória não-ECC para um NAS baseado em ZFS? Se for necessário, morderei a bala, mas se for apenas paranóia, provavelmente ignorarei.

Existe algum motivo para o ZFS ou o FeeeNAS exigirem especificamente memória ECC ou sofrerem especialmente quando executados em um sistema que usa memória não ECC?

iconoclasta
fonte
11
De um modo geral, para qualquer tipo de aplicativo de produção / servidor que você queira pagar pela RAM do ECC. Os guias que sugerem que a memória ECC "não é tão importante" são suspeitos na melhor das hipóteses - eu me atreveria a dizer que eles foram escritos por alguém que nunca teve um erro de bit único no lixo de um sistema de produção.
precisa saber é o seguinte
11
O que você faria com um microsservidor que precisa de 16 GB de RAM?
precisa saber é o seguinte
O ZFS tem muita memória RAM, e planejo instalar o ESXi e executar o FreeNas em cima disso. Dessa forma, quando eu preciso de outro servidor, eu apenas crio uma nova VM, evitando uma expansão de caixas e cabos. (Se houver alguma solução de automação residencial que não seja ruim como o X-10, eu tenho uma caixa para ela. Se eu quero usar o Git Lab para repositórios particulares, eu tenho uma caixa para ela. Etc.)
iconoclast
2
Eu acho que se ele removeu o contexto sobre seu equipamento de mini-torre, que pode ser um pouco insano na produção, a questão de saber se deve ou não usar a memória ECC para uma instalação do ZFS é realmente a parte importante.
Kent Fredric
11
Matt Ahrens, que ZFS co-fundada em 2001, diz :There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.
Janus Troelsen

Respostas:

7

Eu diria que a execução do FreeNAS com RAM não-ECC é uma idéia estúpida, assim como a execução como um convidado virtualizado, quando os dados armazenados no volume ZFS são importantes.

Joshua Paetzel, um dos desenvolvedores do FreeNAS, tem um bom artigo sobre este tópico: http://www.freenas.org/whats-new/2015/02/a-complete-guide-to-freenas-hardware-design -part-i-purpose-and-best-practice.html .

TL; DR

O ZFS faz algo que nenhum outro sistema de arquivos que você terá disponível: soma os seus dados e soma os metadados usados ​​pelo ZFS e soma as somas de verificação. Se seus dados estiverem corrompidos na memória antes de serem gravados, o ZFS gravará com alegria (e soma de verificação) os dados corrompidos. Além disso, o ZFS não possui um verificador de consistência pré-montado ou ferramenta que possa reparar danos ao sistema de arquivos. [...] Se um módulo de memória não-ECC ficar inoperante, poderá causar danos irreparáveis ​​ao seu pool ZFS, o que pode causar a perda completa do armazenamento.

Ronald
fonte
Obrigado. Estou convencido. Isso é exatamente o que eu precisava saber.
Iconoclast
@iconoclast Espero que você não tenha esperado 2 anos por esta resposta.
ewwhite
13

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

mdpc
fonte
@iconoclast Depende de qual bit é invertido. Se, por acaso, são dados criptografados ou a chave de criptografia, você acabou de perder tudo ...
Michael Hampton
11
@ MichaelHampton: então, em outras palavras, criptografar os dados no meu servidor aumenta as chances de serem perdidos por uma falha de memória.
Iconoclast
2
A criptografia @iconoclast não substitui os backups. Embora se você criptografar seus discos, quase certamente precisará criptografar seus backups.
Michael Hampton
3
@ewwhite Ter uma única fonte de alimentação é um problema de disponibilidade. RAM não-ECC pode afetar a disponibilidade e a integridade . Não é difícil imaginar cenários em que a integridade é mais importante que a disponibilidade.
Skyhawk
2
Como observei anteriormente. Este servidor vem com ECC RAM. Todo esse argumento é bobo, porque não há razão para usar outra coisa senão os kits de RAM abençoados pelo fabricante .
ewwhite
12

A RAM do ECC é uma coisa boa, mas vamos ver o contexto ...

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

Isso não se aplica aos sistemas de qualidade de produção de última geração.

Vou acrescentar: O Microserver é especificado com ECC RAM . Por que você não o usaria?

ewwhite
fonte
11
Presumo que por "qualidade de produção" você quer dizer qualidade da empresa ? Terei isso em produção (não é para controle de qualidade, UAT ou desenvolvimento), apenas em uma escala muito pequena. Mas os dados serão reais , não os dados de lixo gerados para desenvolvimento ou clonados de um servidor de produção. Serão dados de produção reais . (A propósito, obrigado pela resposta muito útil para ajudar a colocar as coisas em contexto!)
iconoclasta
11
@iconoclast não, a qualidade da produção ainda é a qualidade da produção. A PSU única não é adequada para nenhum tipo de servidor importante para acompanhar, a menos que você queira comprar uma PSU sobressalente para mantê-la por perto - o que seria estúpido, pois você pode simplesmente conectar essa PSU sobressalente e ter duas unidades de PSU bla bla bla. Estar em segurança não é "empresa"
pauska
3
@iconoclast As pessoas geralmente pensam em um servidor de produção como 24/7 e altamente disponível. Essa última é certamente uma escala de custo / benefício que varia de simplesmente ter dois PSUs até redundância de grau de datacenter. Sua configuração, no entanto, não tem nada disso
Dan
11
Essa conversa da PSU é lixo, com todo respeito. Minha rede está ancorada em dois servidores que são personalizados. DNS, DHCP, Active Directory. Execute uma placa Micro-ATX no caso correspondente, 8 discos SAS + 2 SSD, controlador Raid, PSU ÚNICA. Você chamaria isso de não HA? Bem, faça - eu ainda tenho uma grade de HPC e Virtualização pendurada como pontos de ancoragem (ou seja, um deles DEVE estar ligado).
TomTom
2
Algumas empresas têm servidores que desativam quando voltam para casa no final do dia !. Eu não faria isso na minha rede doméstica, mas algumas empresas realmente não parecem se importar / muito / com a disponibilidade de recursos internos.
Kent Fredric