Memoria non ECC con ZFS: un'idea stupida?


16

Ho un nuovo server e sto pianificando di aggiornare i pochi 2 GB di memoria a un massimo di 16 GB. (Teoricamente 8 GB è il limite, ma empiricamente 16 GB hanno dimostrato di funzionare.) Alcune guide suggeriscono che la memoria ECC non è così importante, ma non sono così sicuro di crederci.

Ho installato FreeNAS e sto pianificando di aggiungere volumi ZFS non appena arrivano i miei nuovi dischi rigidi. Sarebbe stupido risparmiare e ottenere memoria non ECC per un NAS basato su ZFS? Se è necessario, allora morderò il proiettile, ma se è solo paranoia, probabilmente lo salterò.

C'è qualche motivo per cui ZFS o FeeeNAS richiederebbero specificamente la memoria ECC, o soffrire specialmente quando si esegue su un sistema che utilizza memoria non ECC?


11
In generale, per qualsiasi tipo di applicazione di produzione / server che si desidera pagare per la RAM ECC. Le guide che suggeriscono che la memoria ECC non è "così importante" sono sospette nella migliore delle ipotesi - mi permetto di dire che sono state scritte da qualcuno che non ha mai avuto un errore a bit singolo nel cestino di un sistema di produzione.
voretaq7,

1
Cosa faresti con un microserver che necessita di 16 GB di RAM?
tombull89

ZFS è un po 'affamato di RAM, e ho intenzione di installare ESXi ed eseguire FreeNas. In questo modo, quando ho bisogno di un altro server, creo solo una nuova macchina virtuale, evitando un'espansione di scatole e cavi. (Se c'è una soluzione di automazione domestica che non fa schifo come X-10, ho una scatola per questo. Se voglio usare Git Lab per i repository privati, ho una scatola per esso. Ecc.)
iconoclast

2
Penso che se rimuovesse il contesto del suo impianto mini-tower che potrebbe essere un po 'una folle build in produzione, la domanda su come utilizzare o meno la memoria ECC per un'installazione ZFS è davvero la parte importante.
Kent Fredric,

1
Matt Ahrens, che ha co-fondato ZFS nel 2001, afferma :There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.
Janus Troelsen,

Risposte:


7

Direi che eseguire FreeNAS con RAM non ECC è un'idea stupida, come lo sta eseguendo come guest virtualizzato, quando i dati memorizzati sul volume ZFS sono importanti.

Joshua Paetzel, uno degli sviluppatori di FreeNAS, ha una buona scrittura su questo argomento: http://www.freenas.org/whats-new/2015/02/a-complete-guide-to-freenas-hardware-design -part-i-purpose-and-best-practice.html .

TL; DR

ZFS fa qualcosa che nessun altro filesystem avrai a tua disposizione: fa il checksum dei tuoi dati e fa il checksum dei metadati usati da ZFS e fa il checksum dei checksum. Se i tuoi dati sono danneggiati in memoria prima che vengano scritti, ZFS scriverà felicemente (e checksum) i dati danneggiati. Inoltre, ZFS non ha alcun controllo o strumento di coerenza pre-mount in grado di riparare i danni al filesystem. [...] Se un modulo di memoria non ECC va in tilt, può causare danni irreparabili al pool ZFS che possono causare la perdita completa della memoria.


Grazie. Sono convinto. Questo è esattamente quello che dovevo sapere.
iconoclasta il

@iconoclast Spero che tu non abbia aspettato 2 anni per questa risposta.
ewwhite,

13

ZFS protegge solo il tuo investimento nei dati sul disco. Se il server deve essere in produzione, si desidera il massimo tempo di attività possibile ed ECC aiuta ciò consentendo al server di tollerare un errore ONE BIT in caso di errore della memoria. Questo può darti il ​​tempo di pianificare e sostituire la memoria difettosa senza panico.


@iconoclast Dipende da quale bit viene capovolto. Se capita che si tratti di dati crittografati o della chiave di crittografia, allora hai appena perso tutto ...
Michael Hampton

1
@MichaelHampton: quindi, in altre parole, la crittografia dei dati sul mio server aumenta effettivamente le possibilità che vadano persi a causa di un errore della memoria.
iconoclasta il

2
La crittografia @iconoclast non sostituisce i backup. Tuttavia, se si crittografano i dischi, è quasi certamente necessario crittografare anche i backup.
Michael Hampton

3
@ewwhite Avere un singolo alimentatore è un problema di disponibilità. La RAM non ECC potrebbe influire sia sulla disponibilità che sull'integrità . Non è difficile immaginare scenari in cui l'integrità sia più importante della disponibilità.
Skyhawk,

2
Come ho notato prima. Questo server viene fornito con RAM ECC. L'intero argomento è sciocco perché non c'è motivo di usare qualcosa di diverso dai kit RAM benedetti dal produttore .
ewwhite,

12

La RAM ECC è una buona cosa, ma diamo un'occhiata al contesto ...

Per l'uso previsto, un microserver ProLiant è un bel server a basso impatto con fattore di forma ridotto. Manca alcuni degli attributi comunemente associati ai sistemi di qualità di produzione (solo quattro alloggiamenti per unità, singolo alimentatore, CPU più debole). Quindi, penso che incontrerai problemi associati a tali carenze molto prima degli effetti del non avere RAM di correzione degli errori. Le guide che hai letto sono corrette ... La RAM ECC non sarà così importante in quel particolare sistema ...

Ciò non vale per i sistemi di qualità di produzione di fascia alta.

Aggiungerò: il microserver è dotato di RAM ECC . Perché non lo usi?


1
Presumo per "qualità della produzione" intendi la qualità aziendale ? Lo avrò in produzione (non per QA, UAT o sviluppo), solo su scala molto piccola. Ma i dati su di esso saranno reali , non dati di immondizia generati per lo sviluppo o clonati da un server di produzione. Saranno dati di produzione reali . (A proposito, grazie per la risposta molto utile per aiutare a mettere le cose nel contesto!)
iconoclast

1
@iconoclast no, la qualità della produzione è ancora la qualità della produzione. Il singolo PSU non è adatto a qualsiasi tipo di server che è importante mantenere, a meno che tu non voglia acquistare un PSU di riserva da tenere in giro - il che sarebbe stupido poiché potresti semplicemente collegare quel PSU di riserva e avere il doppio PSU bla bla bla. Stare al sicuro non è "impresa"
pauska il

3
@iconoclast Le persone generalmente pensano che un server di produzione sia 24/7 e altamente disponibile. Quest'ultima è certamente una scala di costi / benefici che vanno dal semplice avere due alimentatori fino alla ridondanza di livello dei data center. La tua configurazione, tuttavia, non ha nessuna di queste cose
Dan,

1
Questo discorso sulla PSU è spazzatura, con tutto il rispetto. La mia rete è ancorata su due server personalizzati. DNS, DHCP, Active Directory. Esecuzione di una scheda Micro-ATX in un caso corrispondente, 8 dischi SAS + 2 SSD, controller Raid, PSU SINGOLO. Non lo chiameresti HA? Bene, fallo - ho ancora una griglia HPC e di virtualizzazione sospesa di questo come punti di ancoraggio (cioè uno di essi DEVE essere attivo).
TomTom

2
Alcune aziende hanno server che spengono quando tornano a casa alla fine della giornata !. Non lo farei sulla mia rete domestica, ma alcune aziende non sembrano preoccuparsene della disponibilità di risorse interne.
Kent Fredric,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.