Czy maszyny wirtualne i duże obciążenie we / wy są kiedykolwiek rozsądne?

14

Widziałem wiele usług wirtualizacji (Azure) i produktów (vmware, kvm, hyperv) we / wy i blokad systemu przy dużym obciążeniu we / wy.

Moje pytania to:

  • Czy kiedykolwiek jest rozsądne korzystanie z rozwiązania zwirtualizowanego podczas wykonywania dużych obciążeń we / wy?
  • Jakie są najlepsze praktyki dotyczące tego rodzaju rzeczy?
  • Co powoduje te problemy, czy istnieją dobrze znane wąskie gardła w systemie, czy tylko kwestia nadmiernej rywalizacji?
polowanie na bryana
źródło
Odpowiedni artykuł badawczy IBM . Zastanowiłbym się również nad użyciem kontenerów, np. Docker. Z artykułu: „Kontenery mogą również wyeliminować rozróżnienie między IaaS a niewirtualizowanymi serwerami„ bare metal ”[...], ponieważ oferują one kontrolę i izolację maszyn wirtualnych z wydajnością gołego metalu”.
oleksii
1
1. Jakie badania przeprowadziłeś? Oczekujemy, że wykonasz znaczną ilość badań przed zapytaniem. Pokazywanie badań pomaga innym i pomaga ludziom w udzielaniu lepszych odpowiedzi. Zobacz serverfault.com/help/how-to-ask i Centrum pomocy . 2. To pytanie jest dość szerokie, być może zbyt szerokie dla tej witryny. Standardowa rada to: jedno pytanie na pytanie. 3. Ta strona nie nadaje się do pytań wymagających opinii. Czy możesz zapytać o coś bardziej szczegółowego i obiektywnie odpowiedzialnego niż „najlepsze praktyki dotyczące tego rodzaju rzeczy”?
DW
1. 10 lat prowadzenia różnych maszyn wirtualnych, kvn, xen, virtualbox, amazon, azure, hyperv. Przekonałem się, że wydajność jest katastrofalna, ale wokół tej obecnej ortodoksji informatycznej jest tyle szumu i kapitału wysokiego ryzyka, że ​​wszystko należy zwirtualizować. Zastanawiam się, czy to tylko ja, czy też inni profesjonaliści z branży czują też pewien sceptycyzm.
Bryan poluje
2
Jeśli okaże się, że wydajność jest katastrofalnie OGROMNA, to po 10 latach pracy z wirtualizacją nadszedł czas, aby zaakceptować porażkę bycia administratorem i poszukać czegoś, co można zrobić, gdy reszta świata nie będzie miała z tym problemu. Poważnie, myślę, że dramatyzujesz tutaj. Lub nigdy nie zdaje sobie sprawy, że wirtualizacja wymaga zakupu porządnego podsystemu IO. Zawsze uważam za przerażające, gdy ludzie ładują ponad 10 maszyn wirtualnych - na dysku stacjonarnym i narzekam na szybkość operacji we / wy.
TomTom
To bardziej spostrzeżenie. Nie zawsze mam głos w wybranym rozwiązaniu. Jestem operatorem. Po prostu utrzymuję wszystko, co zostanie na mnie rzucone i działa.
Bryan Hunt

Odpowiedzi:

19

Czy kiedykolwiek jest rozsądne korzystanie z rozwiązania zwirtualizowanego podczas wykonywania dużych obciążeń we / wy?

Tak, naprawdę rozsądny, w rzeczywistości dla większości organizacji wirtualny jest teraz domyślny, a robienie rzeczy na fizycznych urządzeniach jest bardzo wyjątkiem. Mamy ponad 100 000 maszyn wirtualnych wszystkich formularzy, a wiele z nich ma ponad 40 000 operacji IOPS bez żadnych problemów.

Jakie są najlepsze praktyki dotyczące tego rodzaju rzeczy?

Kluczową kwestią nie jest to, czy jest zwirtualizowane, czy nie - dobrze rozumie twoje potrzeby we / wy i dopasowuje zasoby pamięci wirtualnej. To takie proste, jeśli wiesz, czego potrzebujesz / chcesz i masz budżet, aby dopasować to do swoich systemów pamięci masowej, wtedy warstwa wirtualizacji naprawdę odgrywa niewielką lub żadną rolę - chyba, że ​​NAPRAWDĘ popychasz rzeczy oczywiście (mówię o dziesiątkach / sto milionów IOP).

Co powoduje te problemy, czy istnieją dobrze znane wąskie gardła w systemie, czy tylko kwestia nadmiernej rywalizacji?

Brak zrozumienia lub próba zrobienia zbyt wiele przy zbyt małych zasobach pamięci masowej - to zwykle powoduje problemy ludzi.

Siekacz 3
źródło
10

Czy kiedykolwiek jest rozsądne korzystanie z rozwiązania zwirtualizowanego podczas wykonywania dużych obciążeń we / wy?

Czy serwer bazy danych regularnie pobiera losowe operacje we / wy 1 GB / sekundę? Mam tutaj.

Lub wirtualny serwer plików dostarczający do 600 Mb / s do klastra HPC. Ten ucieka 8 dedykowanych Velicoraptorów w Raid 10.

Jakie są najlepsze praktyki dotyczące tego rodzaju rzeczy?

Zapewnij dużo IO. Myślę, że ta maszyna wirtualna SQL ma około 8 lub 10 dedykowanych dysków SSD.

Przyczyną tych problemów są dobrze znane wąskie gardła systemu,

Ludzie nie wykonujący podstawowej matematyki. Jeśli podsystem IO nie jest w stanie obsłużyć obciążenia, nie zrobi tego również w trybie wirtualizacji. Potrzebujesz dużo IO - a następnie zapewnij dedykowany podsystem pamięci masowej o odpowiedniej wielkości.

TomTom
źródło
10
„Zapewnij dużo interfejsu użytkownika” - prawdopodobnie miałeś na myśli IO
oleksii
2

Oprócz podstawowej matematyki i koncepcji, że nadal potrzebujesz tych samych IO, co niezwirtualizowanych, istnieje także QOS / priorytetyzacja. Większość platform wirtualizacyjnych oferuje co najmniej podstawowe wsparcie w tym zakresie, bardzo pomoże, aby zapobiec niepoprawnemu działaniu maszyny wirtualnej deweloperów, blokującemu DB produktu.

Milo de Vries
źródło
1
Tak. Potrzebujesz 5000IOPS, a dysk twardy z 350 nie będzie go wycinał. Załaduj więcej vms na tę samą płytę i nie, to nie będzie działać magicznie. Zawsze jestem zdumiony, jak wielu ludzi ignoruje podstawową matematykę.
TomTom