W przypadku L2ARC i ZIL: czy lepiej mieć jeden duży dysk SSD dla obu, czy dwa mniejsze dyski SSD?

22

Główne referencje

ZFS L2ARC (Brendan Gregg) (2008-07-22) oraz ZFS i Hybrid Storage Concept (blog Anatola Studlera) ( 11.11.2008 ) zawierają następujący schemat:

widok piramidy ZFS ARC, L2ARC, ZIL i puli pamięci dyskowej

Pytanie

Czy powinienem interpretować pionową białą linię - na warstwie dysków SSD - jako preferowanie używania oddzielnych dysków SSD -

  • wolisz nie mieszać L2ARC i ZIL na jednym dysku?

Kontekst (odpowiedź na komentarze)

Osobiście w domu raczej nie używam L2ARC ani ZIL na żadnym dostępnym dla mnie komputerze. (Mój codzienny komputer to MacBookPro5,2 z 8 GB pamięci i hybrydowym Seagate ST750LX003-1AC154. Nie planuję zastąpienia napędu optycznego dyskiem SSD.)

Gdzie indziej: w pracy nastąpi zmiana przeznaczenia zestawu, ale nie mam daty ani pełnych szczegółów. (Xserve RAID x2 w miksie… w tej chwili nie wyobrażam sobie, aby przekazywać je ZFS, ale mam otwarty umysł.)

Moja ciekawość najlepszych praktyk SSD zarówno dla L2ARC, jak i ZIL zaczęła się podczas dyskusji na temat wydajności w obszarze ZEVO - w szczególności w temacie wymienionym poniżej, w którym użytkownik ma zarówno L2ARC, jak i ZIL na jednym dysku.

Inne referencje i dyskusje

Zrzuty ekranu L2ARC (Brendan Gregg) (30.01.2009)

Zrzuty ekranu SLOG (Brendan Gregg) (26.06.2009)

[zfs-dyskusji] Kopia zapasowa katalogu głównego ZFS / odzyskiwanie po awarii i przenoszenie puli głównej (2011-01-10) odradza połączenie trzech rzeczy (pula root, ZIL i L2ARC) na jednym dysku -

… Nie warte bólu głowy, który może wystąpić podczas próby zarządzania wszystkimi 3 na tym samym dysku. Na przykład, jeśli zdecydujesz się ponownie zainstalować i przypadkowo zablokować zawartość ZIL dla swojej puli danych. Nie udostępniaj dysków dla składników puli lub między pulami, aby uprościć zarządzanie i odzyskiwanie. …

- Bardziej interesuje mnie to, czy nie zaleca się mieszania dwóch z tych rzeczy na jednym dysku.

/superuser//a/238744/84988 (2011-01-28) wspomina o „pamięci podręcznej (pamięć podręczna L2ARC) i zapisuje dziennik (ZIL) na dysku SSD” ( liczba pojedyncza ). Jednak, ponieważ dotyczy FUSE i Windows, nie traktuję tej odpowiedzi jako szczególnie istotnej dla bardziej powszechnych i nastawionych na wydajność zastosowań ZFS.

@ChrisS wspomniał ZIL i L2ARC w The Comms Room 16.08.2011 .

http://forums.macrumors.com/showpost.php?p=14248388 (31.01.2012) omawia wiele dysków SSD:

Coś, co musisz zrozumieć o ZFS: Ma dwa różne rodzaje buforowania, odczytu i zapisu (L2ARC i ZIL), które są zwykle przechowywane na dyskach SSD. ZIL to pamięć podręczna zapisu. Prawdopodobnie stąd bierze się to nieporozumienie. ZIL jest młotkowany (przy założeniu aktywnego systemu) przy każdym zapisie do zpool. Problem polega na tym, że użycie dysku SSD opartego na mlc jako ZIL powoduje, że zużywają się one i dość szybko psują. Potrzebny jest (znacznie droższy) dysk SSD oparty na slc, który będzie używany jako napęd ZIL.

Posiadanie zpool w całości składających się z dysków SSD jest nie tylko możliwe, ale działa całkiem dobrze. Zasadniczo eliminuje to również potrzebę oddzielnych napędów dla ZIL i L2ARC. Tak, nie masz obsługi TRIM, ale w oparciu o naturę ZFS polegającą na kopiowaniu i zapisywaniu, to prawdopodobnie dobra rzecz.

Mając to na uwadze, ZFS NIE działa dobrze z prawie pełnymi (powiedzmy 85% lub więcej) pulami zpool. Wydajność zaczyna znacznie spadać - niezależnie od tego, czy używasz magnetycznych nośników obrotowych, czy półprzewodnikowych. Brak obsługi TRIM prawdopodobnie zaostrzyłby ten problem, ale już jest problemem.

/server//a/397431/91969 (2012-06-11) zaleca:

  • Dysk SSD typu SLC (konkretnie nie MLC) dla ZIL
  • Dysk SSD typu MLC dla L2ARC.

/superuser//a/451145/84988 (2012-07-19) wspomina o pojedynczym „dysku SSD dla ZIL i L2ARC w celu przyspieszenia ZFS”.

zevo.getgreenbytes.com • Zobacz temat - Problem z wydajnością przy zamówieniu połączenia FW800? (24.09.2012) dotyczy porządku rzeczy w autobusie FireWire z jednym dyskiem SSD dla ZIL i L2ARC

  • pomijając kolejność autobusów, ten temat ZEVO zaczął mnie zastanawiać, czy oddzielne dyski SSD mogą być lepsze.

Mówiąc dokładniej: zastanawiałem się nad interpretacjami białej linii na powyższym schemacie…

Graham Perrin
źródło
2
Wygląda na to, że może to być bardziej pytanie o awarię serwera. Ale należy wziąć pod uwagę obciążenie odczytu i zapisu w puli pamięci. Istnieją badania, które pokazują, jak ogólnie RAID SSD może mieć znacznie niższą wydajność zapisu niż konfiguracja z pojedynczym dyskiem. xbitlabs.com/articles/storage/display/…
2
Ci, którzy najprawdopodobniej będą dokładnie zaznajomieni z ZFS, częściej są w błędzie serwera niż SuperUser. Głosowanie, aby się przenieść, ale doskonałe pytanie.
afrazier
Widzę dwa bieżące głosy do zamknięcia, czy zamiast tego możemy po prostu przenieść pytanie? Dzięki @afrazier
Graham Perrin
1
Witamy w usłudze Server Fault. Jak stwierdza FAQ, wolimy praktyczne, możliwe do odpowiedzi pytania w oparciu o konkretne problemy, z którymi się stykasz . To powiedziawszy, omówiłeś tutaj wiele teorii i dyskusji, ale wydaje się, że brakuje Ci problemu, który próbujesz rozwiązać. Dodaj praktyczne szczegóły, a to ma świetne pytanie.
Michael Hampton
1
Należy zauważyć, że VTC to sposób na przenoszenie odpowiedzi. Jeśli większość VTC ma przenieść się na stronę, zostanie ona przeniesiona. I tak, praktyczne szczegóły, proszę, wygląda to naprawdę dobrze napisane i szczegółowe, ale nie znając sytuacji, w której się znajdujesz, trudno jest uzyskać konkretną odpowiedź. Oczywiście budujesz ekscytującą konfigurację ZFS, a szczegóły byłyby pomocne w wypracowaniu odpowiedzi.
Journeyman Geek

Odpowiedzi:

14

Krótka odpowiedź, ponieważ nie widzę problemu, który chcesz rozwiązać ...

Jeśli możesz, użyj osobnych urządzeń. Zależy to od skali twojego środowiska ... Jeśli jest to prosty system domowy, zwirtualizowane lub kompleksowe rozwiązanie ZFS , możesz użyć jednego urządzenia.

W większych lub wysokowydajnych rozwiązaniach ZFS używam urządzeń dostosowanych specjalnie do ich ról ZIL lub L2ARC ... Np. STEC ZeusRAM lub DDRDrive dla ZIL i dowolne dyski SSD SLC lub MLC SAS dla L2ARC.

  • Urządzenia ZIL powinny być urządzeniami o niskiej pojemności i niskim opóźnieniu, zdolnymi do wysokich IOPS. Zazwyczaj są dublowane.
  • Urządzenia L2ARC powinny mieć dużą pojemność (z uzasadnionego powodu: Musisz dodać pamięć RAM, gdy rozmiar L2ARC rośnie). Skalują się przez paskowanie.

Co robisz?

ewwhite
źródło
Dodałem trochę tła do pytania. Ta odpowiedź wydaje się idealna - dzięki - zostawię sprawę otwartą na kilka dni, zanim ją zaakceptuję.
Graham Perrin
Do celów link: pytanie z @ewwhite ZFS w 2011 r. - jak podzielić dysk SSD na partycje na ZIL lub L2ARC? a w ramach przyjętej odpowiedzi „… Dedykowane urządzenia ZIL i L2ARC na pulę to droga”.
Graham Perrin
6

Istnieją pewne podstawowe nieporozumienia od samego początku na temat ZIL, które wymagają korekty przed kontynuowaniem.

Zrozum to: w „normalnych” okolicznościach ZIL / SLOG nie jest dotykany.

Jest zapisywany tylko wtedy, gdy komenda zapisuje synchronicznie lub jeśli synchronizacja = zawsze jest włączona dla konkretnej puli / zestawu danych („zfs get sync pool / dataset”)

ZIL nigdy nie jest odczytywany w normalnych okolicznościach. Jest to funkcja odzyskiwania po awarii.

IE: ZIL jest dostępny tylko wtedy, gdy wyłącza się zasilanie. Służy do odtwarzania danych, które zostały zwrócone do systemu operacyjnego, zanim dane te zostały przydzielone do puli. Wszystkie zapisy ZFS do puli (synchronizacja lub asynchronizacja) pochodzą z buforów pamięci.

W normalnych okolicznościach, gdy dane trafią do puli, wpis slogu może wyparować - jest to po prostu duży okrągły bufor zapisu i nie musi być bardzo duży (w większości przypadków nawet 1 GB to nadmierna pojemność)

Zapisy niesynchroniczne są buforowane w pamięci RAM, zestawiane i zapisywane na dysku w odpowiednim momencie. jeśli nastąpi zanik zasilania, dane zostaną utracone, ale integralność FS zostanie zachowana (dlatego warto ustawić synchronizację = zawsze)

Z drugiej strony L2ARC jest mocno uderzony zarówno na poziomie odczytu, jak i zapisu.

Istnieje coś takiego jak „za dużo l2arc”, ponieważ metadane tego, co jest w l2arc, wychodzą z RAM-a ARC (tj. Jeśli zwiększysz rozmiar l2arc, musisz zwiększyć RAM, aby dopasować. Nieprzestrzeganie tego może spowodować poważne pogorszenie wydajności i ostatecznie użycie l2arc wyrówna się na pewnym poziomie znacznie poniżej „całej dostępnej przestrzeni”)

Pomimo protestów niektórych producentów, nie można nadrobić niedoboru pamięci, zwiększając rozmiary l2arc (kilku producentów sprzętowych macierzy RAID, którzy rozwinęli się w urządzenia ZFS, przyjęło to założenie)

tl; dr: Jeśli twoje obciążenie IO jest aktywnością bazy danych, prawdopodobnie ZIL zostanie mocno uderzony. Jeśli jest to coś innego, prawdopodobnie będzie to lekko dotknięte. Jest wysoce prawdopodobne, że w 99,9% aktywności funkcje ZIL nigdy się nie uruchamiają.

Wiedząc o tym, możesz zdecydować, czy potrzebujesz partycji SLOG dla ZIL, czy może ona współdzielić z partycją l2arc, czy też potrzebuje samodzielnego dysku (i jaki poziom wydajności powinien mieć ten autonomiczny dysk).

gronostaj
źródło