Pamięć poza ECC z ZFS: głupi pomysł?

16

Mam nowy serwer i planuję uaktualnić marne 2 GB pamięci do maksymalnie 16 GB. (Teoretycznie 8 GB to limit, ale empirycznie 16 GB okazało się działać.) Niektóre przewodniki wskazują, że pamięć ECC nie jest tak ważna, ale nie jestem pewien, czy w to wierzę.

Zainstalowałem FreeNAS i planuję dodać woluminy ZFS, jak tylko pojawią się moje nowe dyski twarde. Czy głupotą byłoby oszczędzanie i uzyskiwanie pamięci spoza ECC dla NAS opartego na ZFS? Jeśli to konieczne, ugryzę pocisk, ale jeśli to tylko paranoja, prawdopodobnie go pominę.

Czy jest jakiś powód ZFS lub FeeeNAS specjalnie wymagałoby pamięć ECC, lub cierpią zwłaszcza podczas pracy w systemie przy użyciu pamięci bez ECC?

ikonoklasta
źródło
11
Mówiąc ogólnie, dla każdego rodzaju aplikacji produkcyjnej / serwerowej, którą chcesz zapłacić za pamięć RAM ECC. Przewodniki sugerujące, że pamięć ECC nie jest „tak ważna”, są co najwyżej podejrzane - zaryzykuję stwierdzenie, że zostały napisane przez kogoś, kto nigdy nie miał ani jednego bitu błędu, który niszczył system produkcyjny.
voretaq7,
1
Co byś zrobił z mikroserwerem, który potrzebuje 16 GB pamięci RAM?
tombull89
ZFS wymaga przede wszystkim pamięci RAM, i planuję zainstalować ESXi i dodatkowo uruchomić FreeNas. W ten sposób, gdy potrzebuję innego serwera, po prostu tworzę nową maszynę wirtualną, unikając mnóstwa pudeł i kabli. (Jeśli istnieje jakieś rozwiązanie automatyki domowej, które nie jest do kitu jak X-10, mam na to pudełko. Jeśli chcę używać Git Lab do prywatnych repozytoriów, mam na to pudełko. Itd.)
Iconoclast
2
Myślę, że jeśli usunie kontekst swojego mini-wieżowca, który może być trochę szalony podczas produkcji, naprawdę ważne jest pytanie, czy użyć pamięci ECC do instalacji ZFS, czy nie.
Kent Fredric,
1
Matt Ahrens, który współzałożyciel ZFS w 2001 roku, mówi :There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.
Janus Troelsen

Odpowiedzi:

7

Twierdziłbym, że uruchamianie FreeNAS z RAM bez ECC jest głupim pomysłem, podobnie jak uruchamianie go jako zwirtualizowanego gościa, gdy dane przechowywane na wolumenie ZFS są ważne.

Joshua Paetzel, jeden z programistów FreeNAS, dobrze napisał na ten temat: http://www.freenas.org/whats-new/2015/02/a-complete-guide-to-freenas-hardware-design -part-i-purpose-and-best-praktyk.html .

TL; DR

ZFS robi coś, czego nie robi żaden inny system plików, który masz do dyspozycji: sumuje twoje dane, sumuje metadane używane przez ZFS i sumuje sumy kontrolne. Jeśli twoje dane są uszkodzone w pamięci przed ich zapisaniem, ZFS z przyjemnością zapisuje (i suma kontrolna) uszkodzone dane. Ponadto ZFS nie ma narzędzia do sprawdzania spójności ani narzędzia do montowania przed instalacją, które może naprawić uszkodzenie systemu plików. [...] Jeśli moduł pamięci nie będący ECC wpadnie w szał, może spowodować nieodwracalne uszkodzenie puli ZFS, co może spowodować całkowitą utratę pamięci.

Ronald
źródło
Dzięki. Jestem przekonany. Właśnie to musiałem wiedzieć.
iconoclast
@iconoclast Mam nadzieję, że nie czekałeś 2 lata na tę odpowiedź.
ewwhite
13

ZFS chroni tylko twoją inwestycję w dane na dysku. Jeśli serwer ma być produkowany, chcesz mieć jak najwyższy czas bezawaryjnej pracy, a ECC pomaga w tym, pozwalając serwerowi tolerować JEDEN błąd BITU w przypadku awarii pamięci. Może to dać ci czas na zaplanowanie i wymianę uszkodzonej pamięci bez paniki.

mdpc
źródło
@iconoclast Zależy, który bit zostanie odwrócony. Jeśli zdarzy się, że są to zaszyfrowane dane lub klucz szyfrujący, to po prostu straciłeś wszystko ...
Michael Hampton
1
@MichaelHampton: innymi słowy, szyfrowanie danych na moim serwerze faktycznie zwiększa ryzyko ich utraty z powodu awarii pamięci.
iconoclast
2
Szyfrowanie @iconoclast nie zastępuje kopii zapasowych. Chociaż jeśli szyfrujesz dyski, prawie na pewno musisz także szyfrować kopie zapasowe.
Michael Hampton
3
@ewwhite Posiadanie jednego zasilacza to problem z dostępnością. Pamięć RAM inna niż ECC może mieć wpływ zarówno na dostępność, jak i na integralność . Nietrudno wyobrazić sobie scenariusze, w których integralność jest ważniejsza niż dostępność.
Skyhawk
2
Jak zauważyłem wcześniej. Ten serwer jest dostarczany z pamięcią ECC RAM. Cały ten argument jest głupi, ponieważ nie ma powodu, aby używać z nim innych niż pobłogosławione przez producenta zestawy RAM .
ewwhite
12

Pamięć ECC RAM jest dobra, ale spójrzmy na kontekst ...

Dla twojego zamierzonego zastosowania, ProLiant Microserver to niezły, niewielki serwer o niewielkich rozmiarach. Brakuje niektórych atrybutów powszechnie kojarzonych z systemami jakości produkcyjnej (tylko cztery wnęki na napęd, pojedynczy zasilacz, słabszy procesor). Myślę więc, że problemy związane z tymi brakami pojawią się znacznie wcześniej niż skutki braku pamięci RAM z korekcją błędów. Przewodniki, które przeczytałeś są poprawne ... Pamięć RAM ECC nie będzie tak ważna w tym konkretnym systemie ...

Nie dotyczy to systemów wyższej jakości produkcji.

Dodam: Microserver jest wyposażony w ECC RAM . Dlaczego tego nie używałbyś?

ewwhite
źródło
1
Zakładam, że przez „jakość produkcji” masz na myśli jakość przedsiębiorstwa ? Będę miał to w produkcji (nie dotyczy to QA, UAT ani rozwoju), tylko na bardzo bardzo małą skalę. Ale dane na nim będą prawdziwe , a nie śmieciowe dane generowane do programowania lub klonowane z serwera produkcyjnego. To będą prawdziwe dane produkcyjne . (Nawiasem mówiąc, dzięki za bardzo przydatną odpowiedź, która pomaga umieścić kontekst w kontekście!)
iconoclast
1
@iconoclast nie, jakość produkcji jest nadal jakością produkcji. Pojedynczy zasilacz nie nadaje się do żadnego rodzaju serwera, który powinien nadążyć, chyba że chcesz kupić zapasowy zasilacz, aby go utrzymać - co byłoby głupie, ponieważ możesz po prostu podłączyć zapasowy zasilacz i mieć podwójne bla bla bla PSU.
Zachowanie
3
@iconoclast Ludzie ogólnie myślą, że serwer produkcyjny jest dostępny 24 godziny na dobę przez 7 dni w tygodniu. Ta ostatnia jest z pewnością skalą kosztów / korzyści, od posiadania dwóch zasilaczy po redundancję klasy centrum danych. Jednak twoja konfiguracja nie zawiera żadnej z tych rzeczy
Dan
1
Ta rozmowa o PSU to śmiecie, z całym szacunkiem. Moja sieć jest zakotwiczona na dwóch serwerach o niestandardowej kompilacji. DNS, DHCP, Active Directory. Uruchomienie karty Micro-ATX w odpowiedniej obudowie, 8 dysków SAS + 2 dyski SSD, kontroler RAID, POJEDYNCZY PSU. Nazwałbyś to nie HA? Cóż, zrób to - wciąż mam zawieszoną siatkę HPC i wirtualizacji jako punkty kontrolne (tzn. Jeden z nich MUSI być włączony).
TomTom
2
Niektóre firmy mają serwery, które wyłączają, gdy wracają do domu pod koniec dnia! Nie zrobiłbym tego w mojej sieci domowej, ale niektóre firmy tak naprawdę nie dbają o to, że / / o dostępność wewnętrznych zasobów.
Kent Fredric