È necessario masterizzare la RAM per hardware di classe server?


31

Considerando il fatto che molti sistemi di classe server sono dotati di RAM ECC , è necessario o utile masterizzare i DIMM di memoria prima della loro distribuzione?

Ho incontrato un ambiente in cui tutta la RAM del server è sottoposta a un lungo processo di burn-in / stress-tesing. Ciò ha ritardato le distribuzioni del sistema in alcune occasioni e ha un impatto sui tempi di consegna dell'hardware.

L'hardware del server è principalmente Supermicro , quindi la RAM proviene da una varietà di fornitori; non direttamente dal produttore come un Dell Poweredge o HP ProLiant .

È un esercizio utile? Nella mia esperienza passata, ho semplicemente usato la RAM del fornitore pronta all'uso. I test di memoria POST non dovrebbero catturare la memoria DOA? Ho risposto agli errori ECC molto prima che un DIMM non funzionasse, dato che le soglie ECC erano in genere l'innesco per il collocamento in garanzia.

  • Bruci la tua RAM?
  • In tal caso, quale metodo / i usi per eseguire i test?
  • Ha identificato problemi prima dell'implementazione?
  • Il processo di burn-in ha comportato un'ulteriore stabilità della piattaforma rispetto a non eseguire quel passaggio?
  • Cosa fai quando aggiungi RAM a un server in esecuzione esistente?

Risposte:


25

Ho trovato un documento di Kingston che illustra in dettaglio come funzionano con la memoria del server, credo che questo processo, normalmente, sarebbe lo stesso per i produttori più noti. I chip di memoria, così come tutti i dispositivi a semiconduttore, seguono un particolare modello di affidabilità / guasto noto come Bathtub Curve:

inserisci qui la descrizione dell'immagine

Il tempo è rappresentato sull'asse orizzontale, a partire dalla spedizione in fabbrica e proseguendo attraverso tre distinti periodi di tempo:

  • Fallimenti precoci: la maggior parte degli errori si verifica durante il periodo di utilizzo precoce. Tuttavia, col passare del tempo, il numero di guasti diminuisce rapidamente. Il periodo di fallimento precoce, mostrato in giallo, è di circa 3 mesi.

  • Vita utile: durante questo periodo, i guasti sono estremamente rari. Il periodo di vita utile è mostrato in blu ed è stimato in oltre 20 anni.

  • Guasti di fine vita: Alla fine, i prodotti a semiconduttore si consumano e si guastano. Il periodo di fine vita è mostrato in verde

Ora, poiché Kingston ha notato che si verificherebbero alti tassi di fallimento nei primi tre mesi (dopo questi tre mesi l'unità è considerata buona fino a quando non è EOL circa 15-20 anni dopo). Hanno progettato un test utilizzando un'unità chiamata KT2400 che verifica brutalmente i moduli di memoria del server per 24 ore a 100 ° C ad alta tensione, mediante la quale vengono continuamente esercitate tutte le celle di ogni chip DRAM; questo elevato livello di stress test ha l'effetto di invecchiare i moduli di almeno tre mesi (come notato prima del periodo critico in cui la maggior parte dei moduli mostra guasti).

I risultati furono:

Nel marzo 2004, Kingston ha iniziato una prova di sei mesi in cui il KT2400 ha testato il 100 percento della sua memoria del server. I risultati sono stati attentamente monitorati per misurare la variazione dei guasti. Nel settembre 2004, dopo che tutti i dati dei test sono stati compilati e analizzati, i risultati hanno mostrato che i guasti sono stati ridotti del 90 percento. Questi risultati hanno superato le aspettative e rappresentano un miglioramento significativo per una linea di prodotti che era già ai vertici della sua categoria.

Quindi perché la masterizzazione in memoria non è utile per la memoria del server? Semplicemente perché è già stato fatto dal tuo produttore!


10
Il produttore del chip e forse anche il fornitore del server potrebbero testare alcuni chip. Ma i componenti mst sono testati a campione in questi giorni per ridurre i costi. Anche se i tuoi chip o interi DIMM sono stati testati una volta, ciò non ti dice se i contatti o il PCB sono stati in qualche modo modificati o incasinati durante l'assemblaggio o la spedizione. Abbiamo avuto un burn-in MemTEst86 che ha riscontrato problemi con la memoria di due server diversi, pronti all'uso da parte di due diversi fornitori di server "tier 1". Se fossero arrivati ​​alla produzione, ECC avrebbe potuto salvarci, ma il risultato sarebbe stato anche la corruzione silenziosa del database.
rmalayter,

7
Questa curva della vasca non è solo per i semiconduttori. La maggior parte dei componenti costruiti con qualsiasi grado di controllo di qualità lo seguono: hard disk, SSD, alimentatori (principalmente a causa di condensatori), ventole, ecc.
voretaq7

6
Questo è uno dei motivi per cui non ho mai acquistato garanzie estese sull'elettronica. Il dispositivo (o componente) non funzionerà nei primi mesi o durerà il resto della sua vita. Ciò dimostra anche perché è così importante eliminare presto le mele cattive in modo da poter arrivare alla navigazione regolare il più presto possibile.
Atari911,

@rmalayter Quindi dovresti sostenere la masterizzazione della RAM comunque?
ewwhite,

2
@ewwhite Sì, vorrei testare. Ci vogliono solo poche ore per avviare memtest86 e lasciarlo controllare 384 GB di RAM. Bruciamo in tutti i sottosistemi di archiviazione e utilizziamo IOmeter per lo stesso motivo. Ci sono stati diversi controller o unità RAID morti durante il burn-in negli ultimi anni, anche se inizialmente hanno funzionato bene durante l'installazione del sistema operativo. A volte è stata una brutta cosa del firmware, a volte RAM cache difettosa sul controller RAID, a volte era "chissà - RMA!"
rmalayter,

30

No.

L'obiettivo della masterizzazione nell'hardware è di stressarlo fino a catalizzare un guasto in un componente.

In questo modo con hard disk meccanici otterrà alcuni risultati, ma non farà molto per la RAM. La natura del componente è tale che i fattori ambientali e l'età sono molto più probabili essere la causa dei guasti rispetto alla lettura e alla scrittura nella RAM (anche alla sua massima larghezza di banda per alcune ore o giorni).

Supponendo che la tua RAM sia sufficientemente alta da non far sciogliere la saldatura la prima volta che inizi davvero a usarla, un processo di burn-in non ti aiuterà a trovare i difetti.


15

Acquistiamo blade e generalmente li acquistiamo in blocchi ragionevolmente grandi alla volta, pertanto li inseriamo e li installiamo in GIORNI prima che le nostre porte di rete siano pronte / sicure. Quindi usiamo quel tempo per usare il memtest per circa 24 ore, a volte più a lungo se passa un fine settimana - una volta fatto, spruzziamo ESXi di base e IP è pronto per l'applicazione del suo profilo host una volta che la rete è attiva. Quindi sì, lo testiamo, più per opportunità che per necessità, ma prima abbiamo catturato alcuni DIMM DOA, e non sono io a farlo fisicamente, quindi non mi sforzo. Sono per questo.


3
Un "Test of Opportunity" ha senso, vista la possibilità che lo farei. Se ritarderà le implementazioni, potrò rischiare un DIMM difettoso e una luce ECC :-)
voretaq7

2
Se si inserisce il test nel piano di implementazione, allora ci si è guadagnati il ​​tempo, se si fa tutto il più velocemente possibile, ci si prepara a criticare in un secondo momento. Gestione del braccio forte ogni volta che puoi :)
Chopper3

@ Chopper3 Quindi se stavi stabilendo una politica, fallo sempre? , non lo fai mai? o farlo quando puoi? .
ewwhite,

@ewwhite - Direi quest'ultimo, anche se tendiamo a progettarlo nel piano di implementazione standard, quindi è altamente probabile ogni volta.
Chopper3,

11

Beh, immagino che dipenda esattamente dai tuoi processi. Eseguo SEMPRE MemTest86 in memoria prima di inserirlo in un sistema (server o altro). Dopo aver installato e avviato un sistema, i problemi causati da memoria difettosa possono essere difficili da risolvere.

Per quanto riguarda effettivamente lo "stress test" della memoria; Devo ancora vedere perché questo sarebbe utile a meno che tu non stia testando per scopi di overclocking.


Cosa ti dice MemTest86? Hai riscontrato problemi di RAM prima di installarlo in un server utilizzando questo metodo?
ewwhite,

4
Ho trovato molti errori con MemTest86 + che il BIOS e la diagnostica della memoria di Windows non troveranno. Lo consiglio vivamente. Sì, ECC troverà gli stessi errori, ma un memtest ti aiuterà a trovarli tutti in anticipo.
Owen Johnson,

6
MemTest ti farà sapere se ci sono difetti negli interni della memoria. Lo fa memorizzando modelli di byte e set casuali di byte nella memoria nel tentativo di innescare un errore. Il programma può eseguire un "passaggio" per farti sapere se la memoria è buona, ma generalmente eseguo più passaggi durante la notte solo per essere sicuro. La cosa bella di MemTest è che mi dice se la memoria è danneggiata prima di distribuire il sistema. Ha innescato un RMA molte volte e mi ha risparmiato un sacco di mal di testa. Una volta che la macchina è stata installata, è un problema in @ss to RMA la memoria.
Atari911,

2
@OwenJohnson Generalmente quando si esegue MemTest86 (+) si spera di innescare quegli errori ECC prima di mettere in produzione la macchina :-)
voretaq7

6

Non lo so, ma ho visto persone che lo fanno. Non li ho mai visti guadagnare nulla, penso che potrebbe essere una sbronza o una superstizione forse.

Personalmente, sono come te per il fatto che i tassi di errore ECC mi sono più utili, supponendo che la RAM non sia DOA, ma lo sapresti comunque.


6

Per ram non ECC è utile eseguire 30 minuti su memtest86 + poiché di solito non esiste un metodo affidabile per rilevare errori di bit quando il sistema è in esecuzione.
Lo screening blu non è considerato un metodo affidabile ...
E la RAM leggermente sfaldata spesso non viene visualizzata immediatamente, solo dopo che il sistema ha visto un carico di memoria piena e solo se i dati in quella RAM erano codice utilizzato e poi si è schiantato. La corruzione dei dati può passare inosservata per lunghi periodi di tempo.

Per ram ECC non farà nulla che il controller di memoria stesso non farà, quindi non ha davvero senso. È solo una perdita di tempo.

Nella mia esperienza le persone che insistono nel bruciare sono di solito vecchi che lo hanno sempre fatto in questo modo e che continuano a farlo per abitudine senza pensare davvero alle cose vere.
Oppure sono giovani ragazzi che seguono la procedura prescritta scritta da quei vecchi.


Cattiva conoscenza, tramandata tra generazioni?
ewwhite,

@ewwhite Sì, per quanto ne so. E ho un Bsc. nella tecnologia hardware del computer, quindi dovrei sapere di cosa sto parlando :-)
Tonny,

ad eccezione di tutti gli incidenti di persone che hanno effettivamente riscontrato errori, come mostrato nella discussione. Inoltre, se non è ovvio, c'è una differenza nel far scambiare le parti prima di mettere in produzione un server o sostituire ram su un server DB che gira in 24x7. A meno che non pretenda che si tratti di un "errore sviluppato" e tutti gli altri sono solo vecchi e fanno cose di culto del carico, ma causerà comunque perdite per avere un server di prodotti offline.
Florian Heigl,

1
@FlorianHeigl Non sostengo la masterizzazione nella RAM per il gusto di farlo, ma non appoggerò mai la messa in produzione di un server, senza essere sottoposto a stress test per almeno 24 ore. La RAM di solito non è il problema. HDD instabili, controller RAID, schede IPMI, alimentatori, CPU, VRM ... Ho visto tutto. (E spesso il server sopravvive bene all'installazione iniziale. È il carico e / o la salute che lo fa quando deve funzionare davvero.)
Tonny

3

Dipende.

Se stai distribuendo 50.000 nuove RAM e sai che questo particolare hardware ha un tasso di errore dello 0,01% dopo aver funzionato meno di un giorno, statisticamente parlando ce ne saranno diversi che falliranno il primo giorno. Bruciare è destinato a catturarlo. Con distribuzioni su tale scala, si prevede un fallimento, non una situazione eccezionale.

Se stai distribuendo solo un paio di centinaia di articoli, le statistiche sono molto probabilmente dalla tua parte poiché devi essere abbastanza sfortunato per ottenere parti guaste.


Hai ragione. Ma ammettiamolo, la maggior parte di noi non farà mai implementazioni così grandi. (A meno che non si stia costruendo un nuovo data center di Google.) La maggior parte di noi generalmente distribuisce al massimo da 5 a 10 server contemporaneamente. Il più grande che io abbia mai fatto personalmente è stato di 16 nodi ESX (4x cluster a 4 nodi) che hanno preso ciascuno 8 DIMM. Questo è successo 3 anni fa e da allora 1 DIMM ha fallito (2 mesi fa). Ho dovuto sostituire 5 alimentatori su quelle stesse macchine. Primo 1 già dopo una settimana. Ma dato che si tratta di HP Proliants, ce lo aspettavamo. (HP e alimentatori .. Non farmi iniziare ...)
Tonny il
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.