Czy konieczne jest wypalanie pamięci RAM dla sprzętu klasy serwerowej?

31

Biorąc pod uwagę fakt, że wiele systemów klasy serwerowej jest wyposażonych w pamięć ECC RAM , czy konieczne lub przydatne jest wypalenie modułów pamięci DIMM przed ich wdrożeniem?

Spotkałem środowisko, w którym cała pamięć RAM serwera jest poddawana długiemu procesowi wypalania / testowania stresu. Sporadycznie opóźnia to wdrażanie systemu i wpływa na czas realizacji sprzętu.

Sprzęt serwerowy to przede wszystkim Supermicro , więc pamięć RAM pochodzi od różnych dostawców; nie bezpośrednio od producenta, takiego jak Dell Poweredge lub HP ProLiant .

Czy to przydatne ćwiczenie? Z moich wcześniejszych doświadczeń korzystałem po prostu z pamięci RAM dostawcy. Czy testy pamięci POST nie powinny przechwytywać pamięci DOA? Odpowiedziałem na błędy ECC na długo przed faktycznym awarią modułu DIMM, ponieważ progi ECC były zwykle przyczyną uruchomienia gwarancji.

  • Czy wypalasz swoją pamięć RAM?
  • Jeśli tak, jakiej metody używasz do przeprowadzenia testów?
  • Czy wykrył jakieś problemy przed wdrożeniem?
  • Czy proces wypalania spowodował jakąkolwiek dodatkową stabilność platformy w porównaniu z niewykonaniem tego kroku?
  • Co robisz, dodając pamięć RAM do istniejącego działającego serwera?
ewwhite
źródło

Odpowiedzi:

25

Znalazłem dokument autorstwa Kingstona opisujący, w jaki sposób działają one z pamięcią serwera. Wierzę, że ten proces byłby zwykle taki sam dla większości znanych producentów. Układy pamięci, a także wszystkie urządzenia półprzewodnikowe, charakteryzują się określonym wzorem niezawodności / awarii, znanym jako Krzywa Wanny:

wprowadź opis zdjęcia tutaj

Czas jest reprezentowany na osi poziomej, poczynając od wysyłki do fabryki i kontynuując przez trzy różne okresy:

  • Wczesne awarie: Większość awarii występuje we wczesnym okresie użytkowania. Z biegiem czasu liczba awarii szybko maleje. Okres wczesnej awarii, pokazany na żółto, wynosi około 3 miesięcy.

  • Przydatne życie: w tym okresie awarie występują niezwykle rzadko. Okres użytkowania pokazany jest na niebiesko i szacowany jest na ponad 20 lat.

  • Awarie wycofane z eksploatacji: W końcu produkty półprzewodnikowe zużywają się i ulegają awarii. Okres wycofania z eksploatacji jest wyświetlany na zielono

Teraz, ponieważ Kingston zauważył, że wysokie wskaźniki awaryjności wystąpią w ciągu pierwszych trzech miesięcy (po tych trzech miesiącach urządzenie jest uważane za dobre, dopóki nie osiągnie wartości EOL około 15-20 lat później). Zaprojektowali test z wykorzystaniem jednostki o nazwie KT2400, która brutalnie testuje moduły pamięci serwera przez 24 godziny w 100 stopniach Celsjusza przy wysokim napięciu, dzięki czemu wszystkie komórki każdego układu DRAM są nieustannie ćwiczone; ten wysoki poziom testów warunków skrajnych powoduje starzenie modułów o co najmniej trzy miesiące (jak zauważono przed okresem krytycznym, w którym większość modułów wykazuje awarie).

Wyniki były następujące:

W marcu 2004 r. Kingston rozpoczął sześciomiesięczny okres próbny, w którym 100% pamięci serwera zostało przetestowane w KT2400. Wyniki były ściśle monitorowane w celu zmierzenia zmiany awarii. We wrześniu 2004 r., Po skompilowaniu i przeanalizowaniu wszystkich danych testowych, wyniki wykazały, że awarie zostały zmniejszone o 90 procent. Wyniki te przekroczyły oczekiwania i stanowią znaczną poprawę dla linii produktów, która była już na szczycie swojej klasy.

Dlaczego więc wypalanie w pamięci nie jest przydatne dla pamięci serwera? Po prostu, ponieważ jest to już zrobione przez twojego producenta!

Lucas Kauffman
źródło
10
Producent chipów, a może nawet dostawca serwerów może przetestować niektóre chipy. Ale obecnie większość elementów jest testowana tylko w celu ograniczenia kosztów. Nawet jeśli raz przetestowano układy scalone lub całe moduły DIMM, nie oznacza to, że styki lub PCB zostały w jakiś sposób poprawione lub pomieszane podczas montażu lub wysyłki. Mieliśmy problemy z wypalaniem MemTEst86 z pamięcią z dwóch różnych serwerów, od razu po wyjęciu z pudełka od dwóch różnych dostawców serwerów „poziomu 1”. Gdyby dotarli do produkcji, ECC mogłaby nas uratować, ale skutkiem może być również ciche uszkodzenie bazy danych.
rmalayter
7
Ta krzywa wanny jest nie tylko dla półprzewodników.
Podąża
6
Jest to jeden z powodów, dla których nigdy nie kupuję rozszerzonych gwarancji na elektronikę. Urządzenie (lub komponent) ulegnie awarii w ciągu pierwszych kilku miesięcy lub przetrwa do końca swojego życia. To pokazuje również, dlaczego tak ważne jest wczesne usunięcie złych jabłek, abyś mógł jak najszybciej dostać się na płynne żeglowanie.
Atari911
@rmalayter Więc i tak popierałbyś spalanie pamięci RAM?
ewwhite
2
@ewwhite Tak, przetestowałbym. Uruchamianie memtest86 i sprawdzanie 384 GB pamięci RAM zajmuje tylko kilka godzin. Spalamy także we wszystkich podsystemach pamięci masowej, używając IOmeter z tego samego powodu. Czy kilka kontrolerów RAID lub dysków zginęło na nas podczas wypalania w ciągu ostatnich kilku lat, mimo że początkowo działały dobrze podczas instalacji systemu operacyjnego. Czasami było to złe oprogramowanie układowe, czasami wadliwa pamięć podręczna pamięci RAM kontrolera RAID, czasem „kto wie - RMA to!”
rmalayter
30

Nie.

Celem wypalania w sprzęcie jest podkreślenie go do tego stopnia, że ​​katalizuje awarię elementu.

Robienie tego z mechanicznymi dyskami twardymi przyniesie pewne rezultaty, ale po prostu nie zrobi wiele dla pamięci RAM. Charakter tego komponentu jest taki, że czynniki środowiskowe i wiek są o wiele bardziej prawdopodobne jako przyczyna awarii niż kiedykolwiek odczyt i zapis do pamięci RAM (nawet przy maksymalnej przepustowości przez kilka godzin lub dni).

Zakładając, że pamięć RAM ma wystarczająco wysoką jakość, aby lut nie stopił się przy pierwszym uruchomieniu, proces wypalenia nie pomoże w znalezieniu wad.

Shane Madden
źródło
15

Kupujemy ostrza i zazwyczaj kupujemy je w dość dużych blokach naraz, w związku z czym instalujemy je i instalujemy w ciągu DNI zanim nasze porty sieciowe będą gotowe / bezpieczne. Wykorzystujemy więc ten czas na używanie memtestu przez około 24 godziny, czasem dłużej, jeśli potrwa to przez weekend - po tym spryskujemy podstawowy ESXi, a IP jest gotowe do zastosowania profilu hosta po uruchomieniu sieci. Więc tak, testujemy to, bardziej z okazji niż z konieczności, ale wcześniej złapało kilka modułów DOA DIMM i nie robię tego fizycznie, więc nie zajmuje mi to żadnego wysiłku. Jestem za to.

Siekacz 3
źródło
3
„Test możliwości” ma sens - biorąc pod uwagę szansę, że to zrobię. Jeśli opóźni to wdrożenie, mogę zaryzykować zły moduł DIMM i lampkę ECC :-)
voretaq7,
2
Jeśli włączysz test do planu wdrożenia, kupiłeś sobie czas, jeśli po prostu robisz wszystko tak szybko, jak to możliwe, narażasz się na krytykę w późniejszym terminie. Zarządzanie silną ręką, kiedy tylko możesz :)
Chopper3
@ Chopper3 Więc jeśli tworzysz politykę, czy zawsze? , Zrób to nigdy? lub zrobić to, kiedy możesz? .
ewwhite
@ewwhite - Powiedziałbym to drugie, chociaż mamy tendencję do inżynierii tego w standardowym planie wdrażania, więc jest wysoce prawdopodobne za każdym razem.
Chopper3
11

Myślę, że to zależy dokładnie od tego, jakie są twoje procesy. ZAWSZE uruchamiam MemTest86 na pamięci, zanim włożę go do systemu (serwera lub innego). Po uruchomieniu systemu problemy z wadliwą pamięcią mogą być trudne do rozwiązania.

Co do faktycznie „testowania warunków skrajnych” pamięci; Nie wiem jeszcze, dlaczego byłoby to przydatne, chyba że testujesz w celu przetaktowania.

Atari911
źródło
Co mówi MemTest86? Czy znalazłeś problemy z pamięcią RAM przed zainstalowaniem jej na serwerze przy użyciu tej metody?
ewwhite
4
Znalazłem wiele błędów w MemTest86 +, których nie można znaleźć w diagnostyce pamięci BIOS i Windows. Gorąco polecam. Tak, ECC znajdzie te same błędy, ale memtest pomoże ci je znaleźć z wyprzedzeniem.
Owen Johnson
6
MemTest poinformuje cię, jeśli są jakieś wady w pamięci wewnętrznej. Odbywa się to poprzez zapisywanie wzorów bajtów, a także losowych zestawów bajtów w pamięci w celu wywołania błędu. Program może uruchomić „pass”, aby poinformować cię, czy pamięć jest dobra, ale generalnie uruchamiam wiele przejść w ciągu nocy, aby się upewnić. Zaletą MemTest jest to, że informuje mnie, czy pamięć jest zła przed wdrożeniem systemu. To wywołało RMA wiele razy i uratowało mi wiele bólów głowy. Po wdrożeniu maszyna powoduje ból w @ss, aby RMA pamięci.
Atari911
2
@OwenJohnson Generalnie, kiedy uruchamiasz MemTest86 (+), masz nadzieję, że wyzwolisz te błędy ECC przed uruchomieniem maszyny :-)
voretaq7,
6

Nie wiem, ale widziałem ludzi, którzy to robią. Nigdy nie widziałem, żeby coś z tego zyskiwały, myślę, że może to być kac lub przesąd.

Osobiście jestem podobny do ciebie pod tym względem, że wskaźniki błędów ECC są dla mnie bardziej przydatne - zakładając, że RAM nie jest DOA, ale i tak byś to wiedział.

Sirex
źródło
6

W przypadku pamięci RAM innej niż ECC uruchomienie 30 minut na memtest86 + jest przydatne, ponieważ zwykle nie ma niezawodnej metody wykrywania błędów bitów podczas działania systemu.
Niebieskie ekranowanie nie jest uważane za niezawodną metodę ...
I lekko niestabilna pamięć RAM często nie wyświetla się natychmiast, dopiero po tym, jak system zobaczył pełne obciążenie pamięci, a następnie tylko wtedy, gdy dane w tej pamięci RAM były kodem, który został wykorzystany i następnie rozbił się. Korupcja danych może pozostać niezauważona przez długi czas.

W przypadku RAM ECC nic nie zrobi sam kontroler pamięci, więc to naprawdę nie ma sensu. To tylko strata czasu.

Z mojego doświadczenia wynika, że ​​ludzie, którzy nalegają na podpalenie, to zwykle starzy faceci, którzy zawsze robili to w ten sposób i nadal robią to z przyzwyczajenia, nie myśląc naprawdę.
Lub są młodymi chłopcami, postępując zgodnie z zaleconą procedurą napisaną przez tych starych facetów.

Tonny
źródło
Zła wiedza przekazywana z pokolenia na pokolenie?
ewwhite
@ewwhite Tak, o ile mi wiadomo. I mam Bsc. w technologii sprzętu komputerowego, więc powinienem wiedzieć, o czym mówię :-)
Tonny
z wyjątkiem wszystkich incydentów osób, które faktycznie znalazły błędy, jak pokazano w wątku. Ponadto, jeśli nie jest to oczywiste, istnieje różnica w zamienianiu części przed uruchomieniem serwera do produkcji lub wymianą pamięci RAM na serwerze DB działającym w trybie 24x7. Chyba że udajesz, że jest to „rosnący błąd”, a wszyscy inni są po prostu starzy i robią kultowe rzeczy, ale nadal spowoduje straty w trybie offline serwera prod.
Florian Heigl
1
@FlorianHeigl Ze względu na to nie opowiadam się za spalaniem pamięci RAM, ale nigdy nie będę popierał uruchamiania serwera bez testowania warunków skrajnych przez co najmniej 24 godziny. RAM zwykle nie stanowi problemu. Flaky HDD, kontrolery RAID, karty IPMI, zasilacze, procesory, VRM ... Widziałem to wszystko. (I często serwer przetrwa pierwszą instalację w porządku. To obciążenie i / lub wrzosowisko to robi, kiedy naprawdę musi działać.)
Tonny,
3

To zależy.

Jeśli wdrażasz 50 000 nowych pamięci RAM i wiesz, że ten konkretny sprzęt ma wskaźnik awarii 0,01% po działaniu krócej niż dzień, statystycznie rzecz biorąc, musi być kilka takich, które zawiodą pierwszego dnia. Wypalanie ma to uchwycić. W przypadku wdrożeń na taką skalę spodziewana jest awaria, a nie wyjątkowa sytuacja.

Jeśli jednak wdrażasz tylko kilkaset przedmiotów, statystyki są najprawdopodobniej po twojej stronie, ponieważ musisz mieć pecha, aby zdobyć nieudane części.

Lie Ryan
źródło
Masz punkt. Btu spójrzmy prawdzie w oczy, większość z nas nigdy nie wykona tak dużych wdrożeń. (Chyba że budujesz nowe centrum danych Google). Większość z nas zazwyczaj wdraża jednocześnie od 5 do 10 serwerów. Największy, jaki osobiście zrobiłem, to 16 węzłów ESX (4x klastry 4-węzłowe), z których każdy zabrał 8 modułów DIMM. To było 3 lata temu i od tego czasu 1 moduł DIMM zawiódł (2 miesiące temu). Musiałem wymienić 5 zasilaczy na tych samych maszynach. Pierwszy 1 już po tygodniu. Ale ponieważ są to HP Proliants, tego się trochę spodziewaliśmy. (HP i zasilacze .. Nie zaczynaj mnie ...)
Tonny