Kiedy przenieść zwirtualizowany serwer na fizyczny?

12

Wirtualizacja ma kilka wielkich zalet, ale są chwile, kiedy zwirtualizowany serwer wymaga większej wydajności i powinien zostać przeniesiony do wersji fizycznej.

Moje pytanie brzmi: jak powiedzieć, kiedy są te czasy? Szukam mierzalnych danych i metryk, które pokazują, że przeniesienie serwera do jego własnego fizycznego urządzenia znacznie zmieniłoby wydajność. Osobiście interesuję się systemem Windows, ale prawdopodobnie wszystkie elementy są takie same na wszystkich platformach.

Alex Angas
źródło

Odpowiedzi:

3

Jedyny przypadek, w którym musiałem przeprowadzić V2P, dotyczył MS SQL box, który działał na podwójnych dwurdzeniowych procesorach 3,2 Ghz (całkowity procesor 14,4 Ghz), które migrowaliśmy do klastra ESX 2.5, w którym podstawowy sprzęt był nowszy z większą liczbą wolniejsze (2,4 Ghz IIRC) rdzenie. Dodając ok. 10% obciążenia nawet przy 4 procesorach vCPU, ta maszyna wirtualna mogłaby kiedykolwiek uzyskać efektywny agregat 8–8,5 GHz. Szczyt 60% procesora przed migracją stał się 90-100% po migracji, klient chciał rezerwy, więc wróciliśmy do fizycznej. Aby odpowiedzieć na twoje pytanie konkretnie, zauważyliśmy, że urządzenie działało na 100% procesorze w całym systemie Perfmon i kliencie VI. Lepszym rozwiązaniem (moim zdaniem) byłoby uaktualnienie do szybszych procesorów, ale istnieją takie przypadki krawędziowe, w których nie jest to ekonomiczne, szczególnie w przypadku tendencji do wolniejszego procesora

Dzięki ESX 4 możemy podbić takie pudełko do 8 procesorów vCPU, ale wtedy nie było to możliwe.

Jeśli chodzi o szukanie pułapów wydajności, które mogą wskazywać na konieczność porzucenia maszyny wirtualnej, to w przypadku gościa Windows w środowisku VMWare połączenie Perfmon i klienta VI powinno być więcej niż zadaniem znalezienia dowolnej maszyny wirtualnej, która sama ogranicza wydajność . Dodaj do tego trochę analizy SAN, jeśli możesz, ale jeśli SAN pokazuje problem, prawie na pewno równie dobrze przerobisz pamięć masową, aby wyizolować i \ lub zwiększyć woluminy, na których przechowywane są dyski wirtualne maszyny wirtualnej. To samo dotyczy każdej innej kombinacji OS \ Hypervisor - uzyskaj wszelkie wewnętrzne statystyki, które możesz, ale skoreluj je z widokiem Hypervisora ​​na to, co się dzieje, ponieważ 100% CPU zgłaszane w maszynie wirtualnej (na przykład) niekoniecznie oznacza, że ​​Hypervisor nigdy nie może dostarczyć większa wydajność,

Helvick
źródło
4

Nie zgadzam się, że serwer wirtualny musiałby zostać przeniesiony na fizyczny z powodu wydajności. Hiperwizory są teraz tak blisko metalu, że praktycznie (planowana gra słów) nie ma żadnego spadku wydajności. Zwłaszcza teraz, gdy wielu producentów płyt ma w zestawie chipy. Jeśli wziąłeś dwa serwery z identycznym sprzętem, jeden z jednym gościem, a drugi z dokładną kopią tego gościa na fizycznym sprzęcie, trudno byłoby zauważyć różnicę w wydajności.

Istnieją jednak inne powody, dla których możesz potrzebować serwera fizycznego niż wirtualnego. Jednym z nich jest kompatybilność sprzętowa. Jeśli aplikacja wymaga niestandardowego sprzętu z własną unikalną magistralą, uruchomienie tej maszyny na maszynie wirtualnej może być niemożliwe.

Zależy mi, aby usłyszeć, co mają do powiedzenia inni. Świetne pytanie.

UWAGA: Mamy serwery, które zostały zwirtualizowane, a następnie ponownie zainstalowane na tym samym sprzęcie, aby mieć możliwości tworzenia migawek / vmotion, które kochamy.

Daniel Lucas
źródło
3

Nie jestem ekspertem w tej dziedzinie, ale ogólnie: bardzo głodne aplikacje we / wy (szczególnie te, które piszą mało i szybko) to takie, które otrzymują własny serwer fizyczny.

Nie jest też bardzo trudno je znaleźć, wystarczy uruchomić monitor wydajności i poszukać długich czasów oczekiwania we / wy.

Ponadto wysokiej klasy bazy danych zwykle mają własny serwer dedykowany z kilku powodów:

  1. Chcą buforować wszystko, co mogą, użycie pamięci RAM jest ogromne
  2. Działają one lepiej z wątkami na kilku rdzeniach (8-kierunkowe jest normalne) i generalnie nie chcesz przypisywać więcej niż 1 wirtualnej procesora do dowolnego serwera z powodu blokowania
  3. bardzo głodni operacji we / wy podczas ładowania danych do pamięci podręcznej, kluczem jest małe opóźnienie we / wy.
Pauska
źródło
1
Nie zgadzam się z komentarzem „zwykle”. W całej witrynie VMWare są artykuły na temat konfigurowania serwerów baz danych na VMWare i nie uważam tego za żaden problem. Ale robisz świetne uwagi na temat tego, co należy ocenić, rozważając przejście na serwer Virturalized.
SpaceManSpiff
1
Wkrótce będziemy wirtualizować nasze cztery serwery baz danych ze względu na korzyści, które zobaczymy dzięki migawkom / vmotion / itp. Zgadzam się z LEAT, że serwery baz danych mają i będą wirtualizowane w przyszłości.
Daniel Lucas
Myślę, że mnie źle zrozumiałeś. Nie twierdzę, że serwery baz danych nie powinny być zwirtualizowane (wszystkie moje dbs są). Powiedziałem, że wysokiej klasy serwery zwykle pozostają na osobnych serwerach fizycznych, ze względu na ograniczenia, które to powoduje (jak na przykład posiadanie tylko 4 wirtualnych procesorów).
pauska
Głodne aplikacje we / wy prawdopodobnie będą miały dostęp do sieci SAN, co oznacza, że ​​wróciłeś do prędkości fibrechannel lub infiniband, a nie do surowego dysku pod maszyną wirtualną - nie widziałem (osobiście) aplikacji, która potrzebuje być na fizycznym sprzęcie, poza systemami krytycznymi dla czasu lub tam, gdzie jest oficjalnie nieobsługiwany przez dostawcę
warren
Mam wrażenie, że ludzie kłócą się ze mną w imię kłótni. I nie nie powiedzieć, że potrzebuje hosta fizycznego. Powiedziałem, że aplikacje / zastosowania bardzo wymagające zasobów zazwyczaj uzyskują własny serwer dedykowany, aby nie blokować innych maszyn wirtualnych.
pauska
1

To bardzo zależy od usługi, którą wykonuje.

Zazwyczaj patrzę na używane zasoby i sprawdzam, czy rzeczywiście są wąskimi gardłami dla tego gościa i świadczonych przez niego usług.

To w ten sposób:

Jeśli masz gościa z podwójnym rdzeniem (2vSMP), 4 GB pamięci RAM i serwerem sieciowym (IIS) i nie używasz maksimum żądań procesora i pamięci RAM, być może gość nie potrzebuje więcej sprzętu.

Wystąpiły przypadki, w których uruchomienie bazy danych Oracle na platformie wirtualizacji jest prawie tak samo wydajne jak serwera sprzętowego o podobnej wielkości.

Oczywiście, jeśli chcesz mieć 16-rdzeniowy serwer jako maszynę wirtualną, możesz mieć problemy z zobaczeniem, jak działa, a także z dedykowanym sprzętem.

Mike Fiedler
źródło
1

Gdy maszyna wirtualna jest głodna zasobów (lub być może głoduje innych maszyn wirtualnych), np .:

  1. Gdy IO maszyny wirtualnej nie może być spełnione przez hosta
  2. Gdy maszyna wirtualna potrzebuje większej przepustowości sieci, niż jest to możliwe, udostępnianie łącza
  3. Gdy procesy maszyny wirtualnej chcą więcej procesora, niż może uzyskać, np. Jeśli istnieje jeden proces, który maksymalizuje wirtualną jednostkę centralną
  4. Jeśli jego Linux i potrzebuje bardzo dokładnego czasu (jeśli działa na hoście VMware na Linuxie, hostuje się w czasie dryfu VMware. Można to złagodzić, używając ntp, jednak w przypadku aplikacji, które wymagają bardzo dokładnego czasu, np. Kerberos, możesz wziąć pod uwagę prawdziwy sprzęt)
  5. Kiedy jego Linux i potrzebuje bardzo niezawodnego dysku (jeśli działa na hoście VMware - VMware miał i wydaje mi się, że nadal ma problemy z SCSI w VMWare pod pewnymi warunkami. Poprawka została wprowadzona, ale nadal występuje, chociaż znacznie rzadziej)
Jason Tan
źródło
0

Powiedziałbym, że gdy serwer znajduje się w punkcie, w którym zużywa wystarczającą ilość zasobów serwera, nie może współdzielić sprzętu.

ESX, ESXi i Window Hyper V powinny zapewniać prawie rzeczywistą wydajność. Tak długo, jak jedna z maszyn nie zużywa 90% zasobów samodzielnie, nie trzeba przechodzić na prawdziwy sprzęt.

Wyjątkiem jest to, że nie chciałbyś mieć 2 kontrolerów domeny w tym samym pudełku, gdyby sprzęt zawiódł.

SpaceManSpiff
źródło
2
Też się nie zgodzę. Chociaż koszt uruchomienia pojedynczej maszyny wirtualnej na jednym hoście jest wysoki, biorąc pod uwagę koszty licencjonowania itp. Istnieją wyraźne zalety w zakresie odzyskiwania po awarii i przełączania awaryjnego sprzętu. Myślę, że nawet w tym przypadku warto wirtualizować.
Kevin Kuphal
1
Masz całkowitą rację. Ponieważ EXSi jest teraz wolne, można zwirtualizować pojedynczy serwer, na przykład serwer Exchange i mieć go sam na komputerze. Kiedy nadejdzie czas aktualizacji sprzętu, po prostu skopiuj maszynę wirtualną na nowy komputer.
SpaceManSpiff
0

Wątpię, czy istnieje na to ogólna odpowiedź, ale jeśli martwisz się występami, na to musisz spojrzeć. Oczywiste byłoby sprawdzenie, czy maksymalnie wykorzystujesz procesor, I / O, ...

Ale również testy wydajności i testy porównawcze pomogłyby ci zdecydować, czy istnieje jakakolwiek kara za bycie wirtualnym i czy posiadanie jednej maszyny wirtualnej na hoście jest rozsądne, czy nie.

Toto
źródło
0

Najpierw musisz określić, który zasób jest wąskim gardłem.

Monitor wydajności systemu Windows ( perfmon ) zapewnia wiele liczników dla różnych aspektów, takich jak kolejka dysków, statystyki pamięci wirtualnej itp.

Jeśli jesteś związany dyskiem, udzielenie wirtualnej maszynie bezpośredniego dostępu do dysku zamiast czegoś takiego jak plik vmx z VMWare może bardzo pomóc.

Kyle Brandt
źródło
0

Myślę, że wszystko zależy od dwóch czynników:

  • Udostępnianie zasobów: czy gość zużywa tak dużo zasobów, że wpływa to na wydajność drugiego
  • Bezpieczeństwo: jeśli jest to bardzo ważna usługa, prawdopodobnie nie powinieneś używać wirtualizacji, ponieważ im więcej dodajesz warstw między oprogramowaniem a sprzętem, tym mniej możesz być bezpieczny.

    tylko moje 2 centy.

  • Maxwell
    źródło