Znaczenie pamięci ECC

11

Czy moduły pamięci ECC są ważne na niekrytycznym serwerze?

Myślałam o tym, aby stać się serwerem dedykowanym do zabawek dla wielu przypadkowych, niekrytycznych rzeczy. Sporadyczne restarty nie są niczym wielkim. Patrzę na jednego dostawcę, ale ceny są niesamowicie tanie. Ich sprzęt brzmi jak żart dla każdego poważnego serwera: procesory do komputerów stacjonarnych, pamięć RAM bez ECC, obudowa bez nazwy, brak dysku twardego SATA HDD itp. (Cóż, cena uzasadnia, jak sądzę).

Biorę pamięć ECC za pewnik na jakimkolwiek „poważnym” serwerze, więc zastanawiam się, czy to wielka sprawa, czy nie dla „zabawkowych” urządzeń.

PJK
źródło
3
Kwestionujesz pamięć ECC, ale wydajesz się zadowolony z używania dysków SATA. Bardzo dziwny.
John Gardeniers,
3
@JohnGardeniers Widzisz, nawet jeśli to oznacza martwy dysk twardy raz w roku, nie przeszkadza mi kilka godzin przestoju i odzyskiwania po nalotach. Ale codzienne / cotygodniowe problemy byłyby irytujące. Tak, tak naprawdę bardziej martwię się o mój wolny czas niż o czas bezczynności w tym przypadku ...
PJK
6
@JohnGardeniers: Dyski SATA nie są bardziej niezawodne niż dyski twarde SCSI / SAS: usenix.org/event/fast07/tech/schroeder/schroeder.pdf
Hubert Kario

Odpowiedzi:

11

Dane opublikowane przez pracowników IT CERN ( integralność danych ) sugerują, że liczba błędów pochodzących z pamięci RAM jest dość niska. Nadal musisz zważyć swoje dane i koszt sprzętu.

Możesz przeczytać więcej na ten temat w StorageMojo .

Hubert Kario
źródło
10

Pamięć ECC RAM zasadniczo pomaga zapobiegać błędom występującym podczas odczytu i zapisu z pamięci RAM. Prawdopodobieństwo wystąpienia błędu jest dość małe, ale niezerowe. Powiedziałbym, że jeśli nie robisz rzeczy o kluczowym znaczeniu dla misji, możesz uciec bez pamięci RAM ECC - tak jak powiedziałem, szanse na napotkanie błędu, któremu ECC by zapobiec, są naprawdę bardzo małe.

BenGC
źródło
6

Co to jest niekrytyczny serwer? Który może zawieść?

Pamięć ECC RAM ma fundamentalne znaczenie, gdy niezawodność pamięci ma fundamentalne znaczenie.

Wraz ze wzrostem wielkości pamięci rosną dwie rzeczy:

  • zależność oprogramowania od pamięci, zwłaszcza oprogramowanie serwera (np. buforowanie)
  • prawdopodobieństwo błędu pamięci (p = num_bits * p_bit_failure)

Ta prezentacja wywiadu na temat ECC podaje następujące fakty:

  • Średnia częstość błędów pamięci dla serwera z pamięcią 4 GB działającą 24x7 wynosi 150 razy w roku
  • ~ 4000 możliwych do naprawienia błędów na moduł pamięci rocznie
  • Przetaktowywanie i wiek systemu znacznie zwiększają awaryjność
  • Nawracające awarie są powszechne i zdarzają się szybko (97% występuje w ciągu 10 dni od pierwszej awarii) => efekt lawinowy
  • W przypadku serwera ECC o żywotności od 3 do 5 lat szansa na awarię systemu błąd pamięci nie do naprawienia jest mniejszy niż 0,001%

Inne ostatnie badania przeprowadzone przez WISC pokazują, że ECC jest niezbędne dla tych systemów ZFS:

ZFS nie ma środków ostrożności w przypadku uszkodzenia pamięci: błędne bloki danych są zwracane użytkownikowi lub zapisywane na dysk, operacje systemu plików kończą się niepowodzeniem i wiele razy cały system ulega awarii.

Należy zauważyć, że inne systemy plików są tak samo wrażliwe na tę formę uszkodzenia danych, jak ZFS.

ECC jest tym, co ratuje cię od napotkania tych problemów, gdy jest to możliwe, aw katastrofalnych przypadkach, co ostrzega cię przed tym, zanim będzie za późno.

michele
źródło
1

To po prostu nie jest takie ważne. Gdybyś potrzebował 99,999% czasu sprawności, martwiłbyś się tym. Poza tym będziesz restartować częściej niż błędy pamięci.

Jim B.
źródło
1

To badanie przeprowadzone przez Google z 2009 znalezionych poziom błędu między 25000 a 70000 błędów na miliard godzin urządzeń za megabit. Oznacza to, że dla 8GiB (używanej) pamięci RAM występowało około 1,7 do 4,8 błędów na godzinę.

Bitflipy to coś, co istnieje i nie powinno być ignorowane, gdy tylko ważna jest integralność danych.

W twoim przypadku (losowe, niekrytyczne rzeczy) byłoby to prawdopodobnie przesada.

bl4x1
źródło