Dlaczego w dzisiejszych czasach jest tak dużo szumu na temat wirtualizacji?

34

Maszyna wirtualna, serwer wirtualny, dysk wirtualny itp. ......

Nie ma dla mnie sensu, dlaczego ktoś chciałby, aby ich rzeczy były „wirtualne”, gdy w zasadzie dodaje to kolejną warstwę do wszystkiego (co w większości przypadków sprawi, że będzie działać wolniej).

Jaki jest cel wirtualizacji w wielu powyższych przypadkach?

Mroczny Templariusz
źródło
15
Ponieważ za pomocą jednego kliknięcia myszy możesz przenieść cały serwer wirtualny z jednego komputera fizycznego na inny, na przykład bez przestoju.
AndrejaKo,
8
„co w większości przypadków spowoduje spowolnienie” - nie zgadzam się z tym stwierdzeniem.
EJB
4
-1 POWÓD: „Ta dawka pytań nie pokazuje żadnego wysiłku badawczego; jest niejasna lub nieprzydatna (kliknij ponownie, aby cofnąć)”
wizlog
3
„Ta dawka pytań nie pokazuje żadnego wysiłku badawczego”: LOL!
bwDraco

Odpowiedzi:

67

Mówiąc wprost, wirtualizacja nie jest odpowiedzią na wszystko, ale jest świetna!

Mówisz, że dodaj kolejną warstwę / sprawia, że ​​działa wolno, ale w nowoczesnych systemach nie jest to tak dużo. Istnieje wiele technik i funkcji, dzięki którym ta „warstwa” jest minimalna (np. Intel VT-x, AMD-V ). Jeśli używasz wirtualizacji opartej na hiperwizorach , ta warstwa jest jeszcze mniejsza.

Jednak w zależności od sposobu wykorzystania dysków i pamięci w niektórych sytuacjach można zauważyć wzrost prędkości.

Teraz krótkie podsumowanie produktów do wirtualizacji, ponieważ istnieje pewne zamieszanie. Istnieją 4 kategorie, z których większość jest całkiem inna:

Hypervisor - Najmniejszy narzut i zwykle solidny, zaprojektowany do wirtualizacji 24x7. (Np. Microsoft Hyper V , VMware ESXi .

Komputerowa (oparta na oprogramowaniu) Wirtualizacja - Zasadniczo zaprojektowana dla programistów, testerów i specjalistów IT - Szybkość jest nadal bardzo szybka / prawie natywna na nowoczesnych maszynach, ale na litość systemu operacyjnego gościa działa, więc podczas pracy 3 Maszyny wirtualne 24x7 na moim komputerze do różnych zadań, nie są tak naprawdę „zaprojektowane” do tego - (np. Microsoft Virtual PC , VMware Workstation , Sun (Oracle?) Virtual Box ). Emulują one cały komputer wirtualny.

Wirtualizacja serwerowa (oparta na oprogramowaniu) - przez pewien czas był to dość duży rynek, ale był mniej zdolny niż Hypervisor i ogólnie jest teraz martwym rynkiem. Zasadniczo to wirtualizacja pulpitu jest po prostu zoptymalizowana dla środowiska serwerowego - (np. Microsoft Virtual Server , VMware Server .

Wirtualizacja oprogramowania - zgodnie z komentarzami pominąłem tę. Jest to specjalistyczny rynek, który zazwyczaj służy do wirtualizacji pojedynczych programów (np. Microsoft App-V , VMware ThinApp ). Tworzy to cienką „warstwę” między komputerem a oprogramowaniem - w zasadzie przechwytuje wszystkie wywołania wykonane przez program w celu przekierowania zapisów plików / rejestru i zasadniczo piaskownicy aplikacji. Ma to kilka zalet, takich jak możliwość uruchamiania wielu wersji niektórych skomplikowanych aplikacji i sprawia, że ​​wdrażanie jest dość łatwe (choć może to być trudny obszar do zrozumienia / dostania się).

Jeśli chodzi o to, dlaczego są teraz tak popularne - wszystko sprowadza się do kosztów i czasu administracji.

Na przykład w mojej firmie muszę uruchamiać wiele „systemów” dla różnych systemów, z których korzystam ... SQL Server, system intranetowy, system rozliczeniowy, system e-mail, VOIP, starszy system dla niektórych starych programów, które mam dla kilku klientów i kilku innych - przyznając, że niektóre z nich można uruchomić z tego samego urządzenia, ale z długiej listy nudnych powodów chcę je rozdzielić.

Ten wybór w sezonie 2004/5 oznaczał, że miałem tutaj 6 serwerów, które działały 24x7 - działało świetnie, ale każda maszyna miała 2 GB pamięci (kiedy była droga!) I procesor z ery P4, na którym mogłem ugotować jajko . Procesory we wszystkich systemach prawie nie przekroczyły 5% ... może szczyt przy 10-15%, ale większość pracowała bezczynnie na 0% przez prawie całe życie maszyn.

Jeśli chodzi o elektryczność, naprawdę nie pamiętam, ale uważam, że kosztowało mnie to około 100 funtów za maszynę rocznie.

Teraz, gdybym zwirtualizował to środowisko (co ostatecznie skończyłem), byłbym w stanie przenieść wszystkie te systemy na jedną maszynę i korzystać z wielu funkcji, takich jak nadpisywanie pamięci.

Oznacza to, że każdy z moich 6 komputerów miał 2 GB pamięci, ale średnio wszystkie zużywały około 1/4 tego - Na tym nowym komputerze mogłem po prostu włożyć 8 GB i bezproblemowo P2V ( Ruch fizyczny do wirtualnego - proces migracji maszyny) przenieś, wszystkie moje maszyny działają tak szybko, jak zawsze ... w rzeczywistości są szybsze (ponieważ mają szybszy procesor).

Oprócz tego istnieje wiele innych korzyści, takich jak migracja ( V-Motion ) i wysoka dostępność, które sprawiają, że wirtualizacja jest doskonałym wyborem.

Należy również powiedzieć, że istnieją pewne dodatki, o których wielu użytkowników domowych / nie biznesowych nie myśli - byłem w stanie pozbyć się części mojego sprzętu sieciowego, stracić ładunek kabli, nie potrzebuję mojego drogiego KVM ... Mógłbym upuścić 5 zasilaczy UPS i mój PDU ... A co najważniejsze, zmieści się w jednej szafce / na uboczu, zamiast irytującego ogromnego buczenia wentylowanego stojaka! ... i nie tak istotną potrzebę uruchomienia klimatyzacji tak wysoko w lecie (co nie wziąłem pod uwagę kosztów energii elektrycznej powyżej).

Mogłem być mały, ale myślę o większych firmach, które robią to na większą skalę - Kiedyś pomogłem dużej firmie przejść do środowiska zwirtualizowanego - Nie miały budżetu, więc negocjowałem, że moje warunki umowy były takie Dostałbym jakiekolwiek oszczędności kosztów przez 1 rok, a 20% przez następne 3 ... To bardzo mi się opłaciło, i cieszyły się korzyściami administracyjnymi w pierwszym roku - i ogromne oszczędności w przyszłości.

Mam nadzieję, że to odpowiada na twoje pytanie! Jeśli masz dodatkowe pytania, chętnie na nie odpowiem.

William Hilsum
źródło
2
Bardzo dobra odpowiedź. Dodałbym nawet czwartą kategorię - maszyn wirtualnych oprogramowania (głównie do programowania), takich jak Java VM, Perl, V8, CLI itp., Które poprawiają przenośność.
schnaader
4
Być może powinieneś napisać o tym post na blogu @Wil ;-)
Ivo Flipse
4
Nie widzę, jak maszyny wirtualne przyczyniają się do wysokiej dostępności. Jeszcze innego dnia mieliśmy magazyn sprzętu na naszym serwerze VM. Natychmiast osiem serwerów zniknęło z sieci. VMotion nie działa, chyba że host, który chcesz przenieść, jest uruchomiony z tego, co rozumiem.
Andy
2
@Andy - vmware.com/products/high-availability/overview.html - Użyłem tego dla klientów, maszyna wirtualna działa w dwóch lokalizacjach, a jeśli jedna ulegnie awarii, druga odbierze natychmiast, nawet nie tracąc ani jednego ping - to naprawdę to naprawdę niesamowita technologia bez konieczności konfigurowania klastrowania lub czegokolwiek w oprogramowaniu - jest to wyłącznie funkcja hiperwizora.
William Hilsum
1
@IvoFlipse Deal! .... Kiedy będę miał czas! Powinny zacząć nową pracę w przyszłym tygodniu (wszystko na miesiąc), a sprawy są teraz trochę gorączkowe.
William Hilsum
22

Aby dodać do odpowiedzi Williama

Testowanie oprogramowania pod kątem systemów operacyjnych Widziałem skrypt programowania, który po zbudowaniu nowej wersji oprogramowania automatycznie uruchamia maszyny wirtualne dla różnych systemów operacyjnych i instaluje nowe oprogramowanie, a następnie przeprowadza testy jednostkowe, aby upewnić się, że wszystko działa i następnie wyłącza maszynę wirtualną. W tym konkretnym przypadku był to tylko jeden VM dla każdego systemu operacyjnego, ale byłoby możliwe rozszerzenie tego na więcej scenariuszy. Np. Vm dla Windows 7 32-bit, inny dla Windows 7 64-bit. Kolejny dla W7 32-bit z Service Pack 1, W7 64-bit z SP1, vms z IE 9, vms z IE. Ponieważ tylko jedna z tych maszyn wirtualnych jest uruchomiona w tym samym czasie, używa tylko miejsca na dysku, więc możliwe jest posiadanie dziesiątek maszyn wirtualnych na normalnym serwerze.

Oszczędzanie miejsca na dysku: jeśli mam dziesięć komputerów wirtualnych, wszystkie z tym samym systemem operacyjnym, możliwe jest, że współużytkują ten sam podstawowy wirtualny dysk twardy, a następnie zapisują zmiany na własnym wirtualnym dysku twardym.

Przydzielanie / ponowne przydzielanie miejsca. W przypadku różnych serwerów fizycznych dość często zdarza się, że na jednej maszynie brakuje miejsca na dysku i na innych serwerach, które są wolne. Niestety, nie możesz połówki dysku (lub pół tablicy) z jednego serwera i wbić się w inny serwer. Ale w przypadku serwerów wirtualnych można zmniejszyć przydział dla jednego serwera i zwiększyć drugi (lub po prostu użyć dynamicznie rozwijających się dysków).

Migawki. Pozwala to na zrobienie migawki serwera w danym momencie, zamiast niemal natychmiastowej pełnej kopii zapasowej. Oznacza to, że możesz robić takie rzeczy, robić migawki, wyłączać serwer. Zamontuj migawkę z ostatniego tygodnia, sprawdź niektóre rzeczy, a następnie zamknij i zamontuj najnowszą migawkę i kontynuuj, wszystko bez spędzania godzin na tworzeniu kopii zapasowej i przywracaniu serwera. Przy odrobinie pracy możesz zamontować starszą migawkę jako kolejną maszynę wirtualną i uruchomić stare i nowe kopie obok siebie)

Przenoszenie serwerów wirtualnych. Jeśli masz, powiedzmy, dwa serwery hosta i okaże się, że host1 jest przepracowany, ale host2 nie jest, możliwe jest przeniesienie jednego z zadań z hosta1 na host2, co jest prawie tak proste, jak zamknięcie gościa przenoszącego (raczej dużego) plik. (Istnieją opcje, zwykle dodatki, które pozwalają robić cudowne rzeczy, takie jak przenosić gości między hostami bez zamykania gościa, aby użytkownicy nie zauważyli).

I to nie tylko serwery / firmy, w których wirutalizacja może być korzystna.

Konta osobiste wykonuję przy użyciu starej wersji Quicken i naprawdę bardzo starej wersji programu Excel oraz kilku innych małych programów. Ta konfiguracja nie działa poprawnie w systemie Vista / W7 i w ogóle nie działa w 64-bitowych oknach. Kiedyś działałem na starym komputerze, który zaczynał być niewiarygodny. Znajduje się teraz na twardym dysku wirtualnego XP, a teraz, gdy otrzymuję nową maszynę, po prostu instaluję wirtualny komputer i kopiuję maszynę wirtualną, uruchamiam maszynę wirtualną, a wszystko jest skonfigurowane i działa znacznie szybciej. Nie ma potrzeby instalowania Quicken i Excela i nie trzeba szukać dyskietek, w których pojawił się program Excel (czy powiedziałem, że to naprawdę stara wersja).

Minusem robienia tego z Windows w domu jest dodatkowy koszt licencyjny. Jak zauważył AaronM, może być znacząca oszczędność kosztów dla biznesu, ale nie jest tak w domu.

sgmoore
źródło
3
Migawki nie są tak świetne, jak brzmią - powodują DUŻY hit. Każda migawka spowalnia maszynę wirtualną, a jeśli będziesz nadal robić migawki z wieloma gałęziami, maszyna wirtualna zatrzyma się. Jeśli potrzebujesz kopii zapasowej, lepiej byłoby skopiować zawartość maszyny wirtualnej w innym miejscu niż robić migawki. Migawki są idealne, gdy nie bierzesz ich zbyt wielu i potrzebujesz „szybkiego” mechanizmu tworzenia kopii zapasowych i przywracania, takiego jak testowanie instalacji oprogramowania lub zachowanie wirusów.
Hippo
@sgmoore to dziwne, ponieważ moja 32-bitowa instalacja pakietu Windows Office działała idealnie na moim nowym komputerze 64-bitowym. Czy wszystkie te maszyny nie powinny być kompatybilne wstecz?
Dark Templar
+1 za migawki. Jeśli to, co jest testowane, nie działa, przywróć, jeśli działa, pozbądź się migawki.
Bratch
@JobobHayden. Kompatybilność nie jest doskonała, do czego służy tryb XP. Ale tak naprawdę nie dotarłem do testowania mojej kopii Excela w 64-bitowych oknach (ale działam 32-bitową wersję pakietu Office 2007 pod 64-bitowym W7). Moje problemy były bardziej związane z innymi programami, ponieważ instalacja Quicken właśnie się zawiesiła, a po drugie miałem problemy z ODBC. Łatwiej było uniknąć problemów i kontynuować korzystanie z XP na maszynie wirtualnej.
sgmoore
Robię wszystko w Linuksie na swoim notebooku (nie w ogóle w przedsiębiorstwie), ale wciąż potrzebuję okazjonalnych rzeczy w XP lub 7. Kiedyś musiałem przejść przez poważne zaostrzenie ponownego uruchamiania mojego komputera z podwójnym uruchomieniem - raz, aby dostać się do XP i raz, aby wrócić. Teraz mogę mieć XP działający w vm, więc czuję się jak inna aplikacja pod Linuksem. To ogromna poprawa. Co więcej, wszystko, co muszę zrobić, to skopiować jeden (ogromny) plik, aby całkowicie wykonać kopię zapasową systemu Windows - w trybie gotowym do pracy z nienaruszonymi wszystkimi ustawieniami. To znakomicie!
Joe
5

W dużych przedsiębiorstwach pozwala to również na znaczną oszczędność kosztów w zakresie wymagań licencyjnych. IE, licencja na dwa procesory dla Microsoft Server 2008 Data Centerrere pozwala na uruchamianie tylu kopii Server 2008 R2 na wirtualnym urządzeniu, na ile jest to możliwe, bez dodatkowego obciążenia związanego z licencjonowaniem systemu operacyjnego. Podobnie Microsoft SQL Server jest licencjonowany na procesor.

Pojedynczy serwer fizyczny z dwoma procesorami może obsługiwać kilka systemów operacyjnych gościa, a każdy z nich może obsługiwać instancję serwera SQL - wszystkie objęte licencją na jeden serwer fizyczny, co może znacznie obniżyć koszty.

Patrz http://www.bythebell.com/2010/05/virtualization-licensing-savings-for-microsoft-windows-and-sql-server-products.html dla niektórych przykładów.

Wszystkie powyższe komentarze Williama są również ważne.

AaronM
źródło
5

Innym kluczowym powodem, który moim zdaniem jest tak popularny, jest uznanie go za „ zielony ” sposób obsługi centrum danych, ponieważ może on zużywać mniej energii elektrycznej. A Greenwashing jest ostatnio ważną rzeczą dla działów PR korporacyjnych.

W typowym niewirtualizowanym środowisku każdy serwer ma nadwyżkę pojemności, aby obsłużyć szczytowe obciążenie, co oznacza, że ​​masz dużo dodatkowej mocy ssącej w gniazdku zasilania na wypadek, gdyby wszyscy zdecydowali, że muszą wystartować z kosztownym żądaniem w tym samym czasie.

W środowisku zwirtualizowanym wiele serwerów logicznych może współdzielić tę nadwyżkę, zakładając, że wszystkie serwery logiczne zlokalizowane na fizycznej maszynie nie zostaną maksymalnie zwiększone jednocześnie.

Drugim powodem, dla którego zyskuje na sile, jest fakt, że jeździ na ogonie przetwarzania w chmurze . Zwirtualizowane serwery to podstawowa technologia, która umożliwia oferowanie wielu funkcji przetwarzania w chmurze, które nieprzypadkowo odzwierciedlają funkcje wirtualizacji. Przetwarzanie w chmurze jest obecnie popularnym trendem i istnieje szansa, że ​​jeśli umieścisz serwery w chmurze, będą to serwery zwirtualizowane.

JohnFx
źródło
Cześć JohnFX, czy mógłbyś wyjaśnić trochę, w jaki sposób przetwarzanie w chmurze i wirtualizacja są podobne lub powiązane? Dzięki :)
Dark Templar
1
Miałem na myśli głównie przetwarzanie w chmurze typu sprzęt jako usługa, w ramach której zlecasz platformy serwerowe i uzyskujesz do nich dostęp przez Internet. Przed wirtualizacją firmy takie jak Rackspace dosłownie miały fizyczne komputery dedykowane każdemu klientowi. Teraz po prostu alokują zasoby za pomocą wirtualizacji, co oszczędza im znaczne koszty.
JohnFx 30.10.11
0

Wszystkie rzeczy wymienione w poprzednich odpowiedziach są poprawne, ale prawdziwym powodem, dla którego zyskał tak dużą popularność na początku w dużych przedsiębiorstwach, jest to, że ominął wszystkie nasze licencje na oprogramowanie i ograniczenia eksportu szyfrów podczas przenoszenia zadań centrum obsługi do krajów rozwijających się.

mrm
źródło
-3

Komentarz Mrm dotyczy pieniędzy. Oprócz zezwalania na używanie oprogramowania wiele, wiele razy więcej niż pozwoliłaby na to liczba zakupionych licencji (i zapewniałaby sprytną prawną szarą strefę, ponieważ oprogramowanie zostało technicznie zainstalowane tylko w jednym systemie i bardzo trudno jest udowodnić, że wiele systemów ma wiele dowodów. użyli go, a tym bardziej wyjaśnili, jak to jest nielegalne po udowodnieniu tego). Wirtualizacja umożliwia leniwym działom IT wdrażanie starych wersji oprogramowania. Pozwala to zaoszczędzić pieniądze i roboczogodziny na aktualizacji, przekwalifikowaniu użytkowników i rozwiązaniu problemów spowodowanych przez aktualizację

jamesson
źródło
4
Nie powiedziałbym, że jest to bardzo dokładne - przeczytaj moją odpowiedź - wcale nie nazwałbym się leniwym i uruchamiam starsze aplikacje. Powodem jest to, że mogę uruchomić system Windows NT 4, aby system klienta został całkowicie zwirtualizowany. Gdzie, gdzie, na ziemi, znajdę wsparcie dla takiego starego sprzętu? A jeśli coś się zepsuje, będę miał poważne kłopoty ... Działa bezbłędnie w maszynie wirtualnej. Co więcej, każda maszyna wirtualna ma identyfikator BIOS, NIC MAC i więcej, więc wszystkie wyglądają jak osobna maszyna i bardzo łatwo jest odróżnić.
William Hilsum