Sprawdzanie poprawności konfiguracji serwera 40 TB


21

Mam 40 lat komputerów, ale nigdy nie musiałem budować takiego serwera, więc może to być pytanie n00b.

Mam klienta, który zaoferuje do pobrania pliki muzyczne w ultra wysokiej rozdzielczości. W tym przypadku oznacza to skompresowany FLAC 24/192 Khz = ~ 10 GB / album. (Nie, nie chcę omawiać celowości produktu, tylko konfiguracja serwera). Katalog będzie zawierał około 3000 albumów, zarówno z wersjami ultra-wysokiej, jak i niskiej rozdzielczości (chyba dla ich iPodów), co daje około Około 35–40 TB podstawowych danych.

Ponieważ jest to bardzo wyspecjalizowany produkt, wielkość rynku jest stosunkowo niewielka (pomyśl: ludzie, którzy wydają ponad 20 000 $ na swoje systemy audio), co oznacza, że ​​przez większość czasu serwer będzie w 100% bezczynny (lub blisko niego). Mam coś, co wygląda na dobrą ofertę kolokacji od ColocationAmerica z połączeniem 1 Gb / s i przepustowością około 20 USD / TB, więc teraz muszę tylko zbudować pudełko do dostarczania towarów.

Przypadkiem użycia dostępu do danych jest zapis jednokrotny / odczyt-wiele, więc myślę o użyciu oprogramowania RAID 1 dla par dysków. Pozwoliłoby to (jak sądzę ) na zmianę konfiguracji zapasowych dysków na awarie w locie, dzięki czemu mogłem rozpocząć przebudowę drugiego dysku, zanim jakiś sysadmin zauważy czerwone światło w systemie (wymieniają się za darmo). Byłoby wspaniale, gdybym mógł przełączyć większość dysków w tryb uśpienia / wyłączenia, jeśli nie są one potrzebne, co będzie przez większość czasu w przypadku większości dysków.

Nie potrzebuję wiele w zakresie mocy obliczeniowej - chodzi o to, by po prostu spychać tłuste obiekty w dół rury - więc procesor / płyta główna mogą być dość skromne, o ile mogą obsługiwać taką liczbę napędów.

Obecnie rozważam następującą konfigurację:

Chasis: Supermicro CSE-847E26-RJBOD1
Drives: 30 4TB SAS drives (Seagate ST4000NM0023 ?)
MB: SUPERMICRO MBD-X10SAE-O w/ 8GB
CPU: Xeon E3-1220V3 3.1GHz LGA 1150 80W Quad-Core Server

Więc czy zmierzam we właściwym kierunku, czy jest to całkowicie podejście do problemu z dinozaurami / dinozaurami?

Zaktualizuj, aby wyjaśnić kilka punktów:

  1. Nie mam doświadczenia z ZFS, ponieważ ostatni produkt Sun, który posiadałem, powrócił pod koniec lat 80-tych. Zrobię trochę RTFMing, aby zobaczyć, czy to będzie w porządku.
  2. Tak naprawdę nie potrzebuję systemu plików, aby zrobić coś spektakularnego, ponieważ nazwy plików będą prostymi identyfikatorami UUID, a obiekty będą zrównoważone na dyskach (coś w rodzaju dużego systemu buforowania). Naprawdę myślałem o nich jako o 40 osobnych systemach plików, co sprawiło, że RAID 1 brzmiał dobrze (ale przyznaję, że ignorancja tutaj).
  3. Ponieważ nasze obecne oczekiwania są takie, że prawdopodobnie nie będziemy pobierać więcej niż kilkudziesięciu plików naraz, a w większości przypadków będzie to dokładnie jedna osoba, która pobierze dany plik, nie wiem, czy potrzebujemy ton pamięci do buforów. Może 8 GB jest nieco lekkie, ale nie sądzę, że 128 GB zrobi coś więcej niż zużywa energię.
  4. Istnieją dwie odrębne maszyny, o których tu nie wspomniano: ich obecny sklep internetowy i prawie całkowicie oddzielony Download Master, który obsługuje wszystkie uwierzytelnianie, zarządzanie wprowadzaniem nowych produktów, egzekwowanie zasad (w końcu jest to plac zabaw dla RIAA), efemeryczne tworzenie adresów URL (i być może przekazywanie pobrań więcej niż jednej z tych bestii, jeśli ruch przekracza nasze oczekiwania), śledzenie użycia i generowanie raportów. Oznacza to, że maszynę można prawie zbudować za pomocą myszoskoczków na Quaaludes.

ZFS? Gdzie jest korzyść?

OK, prześlizguję się przez wiele przewodników ZFS, FAQ itp. Wybacz mi, że brzmię głupio, ale naprawdę staram się zrozumieć korzyści płynące z używania ZFS w porównaniu z moim przedpotopowym pojęciem par N RAID1. Na tej stronie najlepszych praktyk (od 2006 r.) Sugerują nawet nie robienie 48 urządzeń ZFS, ale 24 mirrory z 2 urządzeniami - brzmi to trochę tak, jak mówiłem. Inne strony podają liczbę urządzeń, do których należy uzyskać dostęp, aby dostarczyć 1 (jeden) blok ZFS. Pamiętaj też, że przy 10 GB na obiekt i przy 80% wykorzystaniu dysku przechowuję w sumie 320 plików na dysk 4 TB . Mój czas przebudowy z N RAID 1, dla jakiejkolwiek awarii dysku, to 4 TB zapisu z jednego urządzenia na drugie.W jaki sposób ZFS to ulepsza?

Przyznaję się, że jestem dinozaurem, ale dysk jest tani, RAID 1 Rozumiem, moje potrzeby zarządzania plikami są trywialne, a ZFS na Linuksie (mój preferowany system operacyjny) jest wciąż trochę młody. Może jestem zbyt konserwatywny, ale kiedy patrzę na system produkcyjny, tak właśnie się toczę.

Dziękuję wszystkim za komentarze, które skłoniły mnie do zastanowienia się nad tym. Nadal nie jestem do końca zdecydowany i być może będę musiał wrócić i zadać więcej pytań n00b.


6
W przypadku takiej ilości pamięci nie rozważałbym nawet użycia mniej niż 128 GB pamięci RAM. Również mocno rozważ użycie systemu plików ZFS.
EEAA

3
Pary dysków w RAID1 brzmią ... okropnie. Osobiście wybrałbym serwer / półkę pamięci masowej, włożyłem do niej dyski SAS prawie w linii, wrzuciłem całość do RAID 10 lub 6, dodałem gorący zapas lub dwa i nazwałbym to dniem.
HopelessN00b

3
@etherfish - RAM nie jest potrzebny do celów obliczeniowych, ale jest zdecydowanie potrzebny do pamięci podręcznej systemu plików. Wydajność przy zaledwie 8 GB byłaby przerażająca. Tym bardziej, jeśli korzystam z ZFS, który jest tak naprawdę jedyną fs, którą poważnie rozważałem w tym rozmiarze. ZFS potrzebuje dużo pamięci RAM, aby dobrze funkcjonować. Na szczęście pamięć RAM jest stosunkowo tania.
EEAA

1
Wydajność byłaby zbyt wysoka, aby nasycić 1 Gb / s. Wydajność byłaby obniżona tylko w systemie plików, który musiałby ponownie czytać bloki z dysku, który został usunięty z bufora pamięci podręcznej i biorąc pod uwagę niewielkie lub żadne oczekiwanie lokalizacji czasowej, punkt malejących zwrotów dla dodatkowej pamięci RAM został osiągnięty na długo przed 128 GB. Biorąc pod uwagę rozmiar systemu plików i duże pliki, nawet metadane systemu plików zajmą niewielką ilość pamięci RAM. Oczekuje nawet, że użycie będzie na tyle rzadkie, że dyski będą mogły zostać uruchomione. „73s.
rybki eteryczne

5
Tylko uwaga na temat obracania dysków - NIE ZRÓB TO! (Kliknij mnie, aby dowiedzieć się dlaczego) Spin-Up / Spin-Down powoduje duże zużycie ruchomych części tradycyjnego dysku twardego i powoduje przedwczesną awarię. Pieniądze zaoszczędzone na zasilaniu zostaną utracone podczas wymiany uszkodzonych dysków.
voretaq7

Odpowiedzi:


12

Na podstawie opisu problemu twój problem to nie tyle serwer, co pamięć.
Potrzebujesz niezawodnego, solidnego systemu plików, takiego jak ZFS , zaprojektowanego tak, aby dobrze obsługiwać dużą pojemność, i ma wbudowane funkcje zarządzania, aby ułatwić zarządzanie tym końcem systemu.

Jak wspomniano w komentarzach, wybrałbym ZFS dla puli pamięci (prawdopodobnie na FreeBSD, ponieważ jestem najbardziej zaznajomiony z tym systemem operacyjnym i ponieważ ma on długą, sprawdzoną historię solidnej wydajności w ZFS - mój drugi wybór System operacyjny to Illumos , ponownie ze względu na dobrze przetestowaną obsługę ZFS).


Jeśli chodzi o serwowanie plików, zgadzam się - nie potrzebujesz wiele sprzętu, aby wypchnąć dane z portu sieciowego. Podstawowym sterownikiem dla procesora / pamięci RAM będzie system plików (ZFS).
Ogólna zasada jest taka, że ​​ZFS potrzebuje 1 GB pamięci RAM plus 1 GB na każde 10 TB zarządzanego miejsca na dysku (więc w przypadku 40 TB potrzebujesz 5 GB pamięci RAM dla ZFS) - relacja nie jest jednak dość liniowa (jest mnóstwo dobre książki / tutoriale / dokumenty na temat ZFS, które mogą pomóc ci oszacować twoje środowisko).
Pamiętaj, że dodanie dzwonków i gwizdków ZFS, takich jak deduplikacja, będzie wymagało więcej pamięci RAM.

Oczywiście zaokrąglaj wymagania pamięci RAM w górę, a nie w dół i nie bądź skąpy: jeśli Twoja matematyka mówi, że potrzebujesz 5 GB pamięci RAM, nie ładuj serwera 8 GB - zwiększ do 16 GB.

Następnie możesz albo uruchomić serwer bezpośrednio na urządzeniu pamięci masowej (co oznacza, że ​​będziesz potrzebować jeszcze więcej pamięci RAM na tym urządzeniu, aby obsługiwać procesy serwera), lub możesz zdalnie zamontować pamięć na serwerach typu „front-end”, aby faktycznie obsługują żądania klientów.
(Ten pierwszy jest początkowo tańszy, drugi lepiej skaluje się w dłuższej perspektywie).


Poza tym radę najlepsze propozycje Mogę dać ci są już dobrze opisane w naszej zdolności planowania serii pytań - w zasadzie „obciążenie próbne, obciążenie próbne , obciążenie próbne ”.


Myśli, że twoja matematyka jest wyłączona. Zgodnie z twoją formułą potrzebowałby 41G.
EEAA

@EEAA Rzeczywiście, upuściłem zero :-) I zauważ, że to minimalna ilość pamięci RAM. ZFS chętnie skorzysta z 41G i pochłonie wszystko pamięcią podręczną :-)
voretaq7

@ voretaq7: Dziękujemy za link do planowania wydajności; jest następny na mojej liście po przeczytaniu o ZFS.
Peter Rowell,

Jeśli zdecydujesz się na ZFS, rozważ sprzęt ze strony ixsystems.com
sciurus,

1
@PeterRowell Główną zaletą ZFS jest to, że jest zaprojektowany do obsługi systemów plików o skali wielu terabajtów - został wykuty w tyglu Sun Microsystems i zbudowany jako system plików XXI wieku dla rozmiarów danych XXI wieku (tego, o którym mówisz) . Pytanie o zalety / wady ZFS w porównaniu z <innym systemem plików> byłoby dobrym tematem dla innego osobnego pytania, ale upuszczę ten samorodek: Nie ma czegoś takiego jak czekanie, fsckjeśli używasz ZFS i komputera ulega awarii Miałem fsckterabajty systemów plików. To jest okropne.
voretaq7

2

Używam ZFS do serwera z wieloma TB i był bardzo solidny. Na początku użyłem OpenIndiana, a teraz przeniosłem się do FreeNAS, ponieważ robi to, czego potrzebuję.

Polecam użycie karty LSI HBA (9211-8i to dobra karta podstawowa) z ekspanderami SAS (obudowy SuperMicro można zamówić ze zintegrowanymi ekspanderami SAS opartymi na chipsetach LSI). Oprogramowanie układowe LSI jest obsługiwane we FreeNAS i FreeBSD. Sprawdź, czy są odpowiednie wersje (V16 działa dobrze na FreeBSD 9.x).

Biorąc pod uwagę, że kiedyś przeczytałem wiele informacji o twoim systemie, użyłbym topologii ZFS Z2 (unikaj RAID-5 i Z1 z dyskami tego rozmiaru). Biorąc pod uwagę, że używasz dysków 4 TB, czas przebudowy (resilver) dla dużej pojedynczej tablicy vDev byłby długi, gdyby pula była pełna. Aby uniknąć długich czasów przebudowy, ułóż vDevs w grupach po 6 lub 10 osób, aby utworzyć pulę (zalecenia z dokumentacji FreeNAS). Pula utworzona z trzech 6 dysków vDev (przy założeniu 4 TB) ma użyteczną pojemność ~ 48 TB i oferuje dobry poziom odporności na uszkodzenia (pamiętaj, że nadal musisz wykonać kopię zapasową, ponieważ RAID nie zastępuje kopii zapasowych :)).

Aby przyspieszyć działanie często używanych plików, możesz wrzucić kilka dysków SSD dla L2ARC (prawdopodobnie nie są potrzebne do twojej aplikacji, ale są dość tanie dla dysków SSD 120 GB).

Jak już wspomniano, używaj dużej ilości pamięci RAM. 64 GB nie jest zbyt drogie, biorąc pod uwagę inny sprzęt w systemie. Niestety mniejszy XEON nie może użyć więcej niż 32 GB. Możesz spróbować, ale więcej pamięci RAM byłoby lepsze zgodnie z literaturą ZFS (używam XEON, o którym wspomniałeś z ram 32 GB i macierzą Z2 o pojemności 24 TB i działa dobrze).

Kolejną zaletą ZFS jest to, że możesz konfigurować okresowe migawki. W ten sposób możesz łatwo przywrócić poprzednie wersje, a migawki zajmują mało miejsca. Ponadto można replikować dowolną migawkę do innego zestawu danych (lokalnego lub zdalnego), a dla bezpieczeństwa można to zrobić przez SSH.

Naprawdę podoba mi się niezawodność systemu ZFS. Podoba mi się również to, że jest niezależny sprzętowo !! Każdy system, który widzi dyski, może zaimportować pulę. Żadnych zależności oprogramowania układowego itp., Które mogłyby się zdarzyć podczas rajdu sprzętowego (nie jest to problem z lepszymi kartami, ale są one droższe niż karty HBA i wymagają sterowników itp. - były już takie w przeszłości).

Biorąc pod uwagę, że ten post jest starszy, prawdopodobnie masz rozwiązanie. Jeśli tak, możesz powiedzieć nam, co zbudowałeś?

Twoje zdrowie,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.