Wybór technologii SAN dla setek VM Web Servers

15

Problem

Mamy problem z wydajnością na istniejącej platformie, więc zwracam się do ula, aby uzyskać drugą opinię na ten temat. Dotychczasowy problem z wydajnością dotyczy IOPS, a nie przepustowości.

Scenariusz

Centrum serwerów typu blade z 16 hostami, każdy z 64 GB pamięci RAM. (To Dell M1000e z M610, ale prawdopodobnie nie jest to istotne) 500 maszyn wirtualnych, wszystkie serwery sieciowe (lub powiązane technologie sieciowe, takie jak MySQL, usługi równoważenia obciążenia itp.), Około 90% to Linux, a reszta Windows. Hypervisor to VMWare vSphere. Musimy zapewnić hosta HA, więc lokalne przechowywanie jest niedostępne. W związku z tym hosty mają tylko kartę SD do rozruchu.

Trochę myślenia w tle

W tej chwili mamy do 6 hostów (centrum kaset będzie za pełną pojemność za kilka lat przy obecnym wzroście) i używamy iSCSI do Dell MD3220i z MD1220 w celu rozszerzenia.

Możliwe opcje, które rozważaliśmy, i natychmiastowe przemyślenia wraz z nimi:

  • Rozmieszczanie maszyn wirtualnych w magazynach danych NFS i uruchamianie pamięci masowej NFS, która spełnia wymagania dotyczące wydajności dla określonej liczby maszyn wirtualnych. NFS wydaje się tańszy do skalowania, a także został nieco bardziej abstrakcyjny niż pamięć na poziomie bloku, abyśmy mogli go w razie potrzeby przenosić.
  • Dodanie kolejnych kontrolerów / celów MD3220i. Niepokoi nas jednak fakt, że takie postępowanie może mieć negatywny wpływ na sposób, w jaki VMWare obsługuje wiele celów.
  • Zamiana wszystkich dysków z Nearline SAS na SSD. To powinno całkowicie rozwiązać problem IOPS, ale ma oczywisty efekt uboczny polegający na zmniejszeniu naszej pojemności pamięci. Jest to również bardzo drogie.
  • vSphere 5 ma urządzenie pamięci masowej. Nie badaliśmy tak wiele, ale to musi działać dobrze?

Pytanie

Jakiego rodzaju miejsce do przechowywania byłoby pod tym wszystkim? Nie musiałby być skalowany do innego centrum kasetowego, musiałby po prostu zapewnić stosunkowo dobrą wydajność dla wszystkich tych maszyn wirtualnych.

Nie szukam odpowiedzi „Kup SAN x, bo to najlepsze”. Szukam przemyśleń na temat różnych technologii SAN (iSCSI, FC, FCoE, InfiniBand, NFS itp.), Różnych rodzajów pamięci masowej (SATA, SAS, SSD) i metodologii obsługi pamięci masowej dla setek maszyn wirtualnych (konsolidacja, separacja) , Dzielenie itp.).

Wszelkie sugestie, linki, przewodniki, wskazówki itp. Są mile widziane. Chciałbym również usłyszeć przemyślenia na temat powyższych opcji, które już rozważaliśmy.

Z góry dziękuję za wszelkie uwagi!

Aktualizacja 5 marca '12

Jak dotąd fantastyczne odpowiedzi, bardzo dziękuję wszystkim!

Idąc do tej pory odpowiedziami na to pytanie, zaczynam myśleć, że następująca droga jest następująca:

  • Uwolnij dostępną pamięć do klastra VMWare i umieść dyski maszyny wirtualnej w odpowiedniej pamięci dla ich obciążeń.
  • Potencjalnie skorzystaj z sieci SAN, która jest w stanie zautomatyzować zarządzanie umieszczaniem danych w odpowiednim magazynie.
  • Infiniband wydaje się najbardziej opłacalny, aby uzyskać wymaganą przepustowość przy pełnej wydajności hostów.

Zdecydowanie brzmi, jakby warto było skorzystać z usług przedsprzedażowych dużego dostawcy sieci SAN, aby wziąć pod uwagę scenariusz.

Przez jakiś czas będę rozważał ten problem. Tymczasem więcej porad z wdzięcznością otrzymanych!

SimonJGreen
źródło
także Mellanox ma umowę 40gbe na przełączenie, która jest dość ekscytująca, zbliżając się bardzo do infinibandu pod względem wydajności / $. W tym momencie uważam nexenta z kilkoma kartami 40 gbe za realną opcję.
Tony Roth,

Odpowiedzi:

13

Kluczem do dobrej platformy pamięci masowej VMWare jest zrozumienie, jaki rodzaj obciążenia generuje VMWare.

  • Po pierwsze, ponieważ hostujesz wiele serwerów, obciążenie jest zazwyczaj losowe. Istnieje wiele strumieni IO przesyłanych w tym samym czasie i niewiele z nich można pomyślnie wstępnie buforować.
  • Po drugie, jest zmienna. Podczas normalnych operacji możesz zobaczyć 70% losowych odczytów, jednak w momencie, gdy zdecydujesz się przenieść maszynę wirtualną do nowego magazynu danych lub czegoś takiego, zobaczysz ogromny, 60-sekwencyjny zapis. Jeśli nie jesteś ostrożny w kwestii architektury, może to osłabić zdolność Twojego magazynu do obsługi normalnego IO.
  • Po trzecie, niewielka część twojego środowiska zwykle generuje dużą część obciążenia pamięci.

Najlepszym sposobem podejścia do budowania pamięci masowej dla platformy VMWare jest rozpoczęcie od podstaw.

  • Potrzebujesz możliwości obsługi dużego obciążenia losowego odczytu, co oznacza mniejsze, szybsze dyski, a także ewentualnie dyski SSD. Większość nowoczesnych systemów pamięci masowej umożliwia automatyczne przenoszenie danych w zależności od sposobu dostępu. Jeśli zamierzasz używać dysku SSD, chcesz się upewnić, że właśnie w ten sposób go używasz. Powinien istnieć jako sposób na stopniowe zmniejszanie gorących punktów. Niezależnie od tego, czy korzystasz z dysku SSD, czy nie, dobrze jest móc rozłożyć całą pracę na wszystkie dyski, więc coś z pewnego rodzaju pulą pamięci byłoby korzystne.
  • Potrzebujesz zdolności do obsługi sporadycznych dużych zapisów, która nie dba tak bardzo o szybkość wrzeciona napędów bazowych, ale dba o wydajność stosu kontrolera i wielkość pamięci podręcznej. Jeśli korzystasz z buforowania przez zapis lustrzany (co nie jest opcjonalne, chyba że chcesz wrócić do tworzenia kopii zapasowych za każdym razem, gdy wystąpi awaria kontrolera), przepustowość między dwiema pamięciami podręcznymi używanymi do tworzenia kopii lustrzanych będzie zazwyczaj wąskim gardłem w przypadku dużych zapisów sekwencyjnych. Upewnij się, że cokolwiek otrzymasz, ma szybkie kontroler (lub klaster) połączony do buforowania zapisu. Dołóż wszelkich starań, aby uzyskać szybką sieć z tyloma portami, jaką możesz uzyskać, pozostając realistycznym cenowo. Kluczem do dobrej wydajności interfejsu użytkownika jest obciążenie magazynu tak dużą ilością zasobów interfejsu, jak to możliwe.
  • Możesz poważnie obniżyć koszty, mając warstwę pamięci masowej o niskim priorytecie, a także cienkie przydzielanie. Jeśli twój system nie migruje automatycznie poszczególnych bloków na tanie duże / wolne dyski (takie jak nearline SAS lub SATA z 7200 RPM i rozmiarami 2 TB +), spróbuj zrobić to ręcznie. Duże wolne dyski są doskonałym celem dla archiwów, kopii zapasowych, niektórych systemów plików, a nawet serwerów o niskim zużyciu.
  • Domagaj się, aby pamięć masowa była zintegrowana z VAAI, aby VMWare mogło przydzielić nieużywane części maszyn wirtualnych, a także magazynów danych.
Bazylia
źródło
Kilka świetnych komentarzy, dzięki. Zdecydowanie coś do zrobienia.
SimonJGreen,
10

Moje duże wdrożenia VMWare to NFS i iSCSI powyżej 10GbE. Oznacza to dwuportową kartę HBA 10 GbE na serwerach, a także głowicę pamięci. Jestem fanem pamięci opartej na ZFS. W moim przypadku jest owinięty wokół komercyjnego NexentaStor , ale niektórzy decydują się na własne.

Kluczowymi cechami pamięci opartej na ZFS w tym kontekście byłaby funkcja buforowania ARC / L2ARC, umożliwiająca warstwowe magazynowanie. Najbardziej aktywne dane trafiłyby do pamięci RAM i SSD jako druga warstwa. Korzystne byłoby również uruchomienie głównej puli pamięci z napędów SAS 10k lub 15k.

To kolejny przypadek profilowania i zrozumienia obciążenia pracą. Współpracuj z kimś, kto może przeanalizować twoje wzorce przechowywania i pomóc ci zaplanować. Po stronie ZFS / NexentaStor lubię PogoStorage . Bez tego rodzaju wglądu metoda transportu (FC, FCoE, iSCSI, NFS) może nie mieć znaczenia. Czy monitorujesz swoją infrastrukturę? Jak teraz wygląda aktywność we / wy?

ewwhite
źródło
Jak duże są te wdrożenia z ciekawości? A jaki rodzaj obciążenia?
SimonJGreen,
Wiele hostów. Największy ma 90 maszyn wirtualnych do różnych zastosowań, w tym Linux, infra Windows (File / AD / Exchange), VDI i systemy baz danych. Pamięć RAM na jednostkach pamięci jest wysoka (96 GB +) i mam 1,2 TB pamięci podręcznej odczytu L2ARC na dyskach SSD dla przedsiębiorstw.
ewwhite
Będziesz musiał wybaczyć moją ignorancję tutaj i, żeby być jasnym, nie wątpię, że postępujesz właściwie. Dlaczego masz tyle pamięci RAM w jednostkach pamięci? Czy jest używany do buforów?
SimonJGreen,
2
Ach, właśnie przeczytałem o ZFS i ARC / L2ARC. To jest niesamowity sos :)
SimonJGreen
8

Kluczowe pytanie brzmi: „gdzie jest wąskie gardło?” Wspominasz o IOPS, ale czy to oznacza, że ​​pozytywnie zidentyfikowałeś same dyski jako wąskie gardło, czy po prostu, że porty SAN nie działają na pełnych obrotach lub że maszyny wirtualne są w dużo większym stopniu niż chcesz?

Jeśli definitywnie ustaliłeś, że dyski są czynnikiem ograniczającym, przełącz się na NFS lub infiniband lub cokolwiek innego, co nie ma wpływu na wydajność - potrzebujesz dysków SSD (lub przynajmniej warstwowej pamięci masowej z dyskami SSD w miksie) lub cały pakiet kolejnych wrzecion (rozwiązanie, które ostatnio stało się o wiele droższe, odkąd światowa produkcja silników krokowych została wymyta do oceanu).

Jeśli nie jesteś w 100% pewien, gdzie właściwie jest wąskie gardło, musisz to najpierw znaleźć - zamiana części infrastruktury pamięci masowej mniej lub bardziej losowo na podstawie domysłów innych ludzi tutaj nie będzie bardzo skuteczny (zwłaszcza biorąc pod uwagę, jak drogie będą wszelkie zmiany).

womble
źródło
całkowicie poprawne, zawsze zakładam, że osoba, która zadała pytanie, odrobiła pracę domową. Ale po tym, jak powiedziałem po kilku konsultacjach dotyczących wydajności, w większości po prostu poddaję się i mówię, że dodaję więcej lub szybciej dyski, a ponad 98% problem został rozwiązany. Pozostałe 2% jest nadmiernie zaangażowane poza wszelką wiarą.
Tony Roth,
4
„Zawsze zakładam, że osoba, która zadała pytanie, odrobiła pracę domową” - założenie baaaaaad ...
womble
Ta odpowiedź jest idealna. Przy wielu okazjach podejmowałem się rozwiązania takiego problemu i miałem pewne wstępne wyobrażenie o tym, jaki był problem. Dziewięć razy na dziesięć kończy się łzami, gdy dowiaduję się, że po prostu nie wiedziałem wystarczająco dużo o problemie. Ostrożnie profiluj, określ czym jest wąskie gardło, a następnie kontynuuj. Możesz poprosić „umysł ula” o pomoc lub zwrócić się o pomoc do dostawcy SAN. Ponadto, jeśli masz problemy z profilowaniem, NetApp i / lub EMC z przyjemnością pomogą Ci ustalić statystyki i dobrać rozwiązanie dla Ciebie. Oba mają do tego dobre oprogramowanie.
SvrGuy
Oparłem tę diagnozę na połączonym wyjściu esxtopwszystkich hostów (pokazującym wykorzystanie dysku), biorąc całkowitą CMD / s i porównując ją z testami porównawczymi w sieci SAN, której używamy. Całkowita CMD / s jest konsekwentnie wysoka, gdy bierze się wyniki testu jako nagłówek. Dyski SSD zdecydowanie wydają się dobrą opcją z technicznego punktu widzenia, są po prostu strasznie drogie, wciąż GB / £. Może to być rozwiązanie z wielopoziomowym magazynowaniem. Na marginesie / FYI, zgodnie z ostatnim komunikatem prasowym, który otrzymałem, WD powrócił do poziomów produkcji na dyskach.
SimonJGreen,
Jak wykonano test porównawczy w sieci SAN? Czynnikiem ograniczającym nadal może być sieć, w przeciwieństwie do samych dysków. Przynajmniej masz punkt odniesienia na początek, jeśli chcesz zacząć bawić się różnymi rzeczami, aby przyspieszyć bieg, co jest niezwykle ważne.
womble
4

Jeśli chcesz iscsi lub nfs, to minimalnie potrzebujesz kilku portów 10 / 40GB lub infiniband, co jest zdecydowanie najtańszą opcją, ale natywne rozwiązania pamięci masowej dla infinibandu wydają się być ograniczone. Problemem będzie moduł bladecenter, jakie są jego opcje, zwykle 8 gb fc lub 10 \ 1 gbe i może infiniband. Zauważ, że infiniband może być używany z nfs i nic się do niego nie zbliża pod względem wydajności \ ceny. jeśli centrum ostrzy obsługuje infiniband qdr, zrobiłbym to z jakimś hostem linux z infinibandem qdr przez nfs. Oto dobry link opisujący ten http://www.zfsbuild.com/2010/04/15/why-we-chose-infiniband-instead-of-10gige

ale jeśli bladecenter może obsługiwać infradiband qdr, a stać cię na natywny infiniband, to jest to rozwiązanie, które powinieneś wybrać.

Obecnie możesz uzyskać przełączniki 40 gbe znacznie taniej (to dziwna myśl) niż przełączniki 10 gbe, ale wątpię, czy centrum ostrzy to obsługuje.

Tony Roth
źródło
Oto opcje łączności z centrum blade: dell.com/us/enterprise/p/poweredge-m1000e/pd Infiniband wygląda dobrze, a przy takiej liczbie maszyn wirtualnych gości koszt jest uzasadniony. Co byś zrobił po stronie SAN?
SimonJGreen
to, co kiedykolwiek ma Dell, co obsługuje infiniband, powinno być twoim rozwiązaniem san.
Tony Roth
nie wygląda na to, że Dell ma pamięć opartą na IB, więc sądzę, że ta opcja może być strech w tym przypadku. Zarówno firma Sun, jak i SGI mają sieci SAN oparte na IB, które nie są pewne, jakie są koszty.
Tony Roth
Nie oferują pamięci IB, ale oferują łączność IB. Nie mam wątpliwości, że korzystam z usług innego dostawcy pamięci masowej, nie podoba nam się Dell w tym zakresie.
SimonJGreen,
1
wtedy albo słońce, albo sgi będą miały dla ciebie rozwiązanie, nie wiedząc, jakie są obecne modele #.
Tony Roth
-3

Brak lokalnego magazynu? Jestem całkiem zadowolony z przepustowości zapisu na moich lokalnych macierzach RAID 5 - dublowanych z DRBD8 do partnera klastra mojej maszyny XEN ... (ale to oczywiście nie jest obsługiwane).

Poza tym jestem pewien, że mySQL jest twoim problemem z wydajnością (nigdy nie widziałem gorszej DB). Spróbuj go dostroić i / lub spróbuj umieścić całą bazę danych w pamięci podręcznej systemu plików (w celu dostępu do odczytu) ...

Nils
źródło
OP ma istniejące rozwiązanie VMWare i działa z bezdyskowymi hostami. Lokalne przechowywanie nie ma sensu.
ewwhite
Lokalna pamięć masowa może obejmować także korzystanie z lokalnych pamięci masowych. Ale, jak sądzę, VMWare tego nie obsługuje.
Nils,
Nie wierzę, że Dell oferuje lokalne pamięci masowe - i nie jestem pewien, czy widziałem je z kimkolwiek innym. Widziałem ostrza napędów przymocowane do jednego ostrza, które nie oferują miejsca do przechowywania dla nikogo w ostrzu. Potrzebny byłby do tego interkonekt, byłby to zasadniczo lokalny SAN dla podwozia, prawda?
mfinni
Przepraszam @Nils, jestem pewien, że nie przeczytałeś poprawnie pytania.
SimonJGreen,
Nils - patrząc na D2200sb: „Płyta montażowa obudowy zapewnia połączenie PCI Express z sąsiednim serwerem klasy C i umożliwia dostęp do pamięci masowej o wysokiej wydajności bez żadnych dodatkowych kabli. ... Użyj oprogramowania HP P4000 Virtual SAN Appliance Software (VSA) zmień D2200sb w SAN iSCSI, który będzie używany przez wszystkie serwery w obudowie i dowolny serwer w sieci. ”
mfinni