Po przygodach z Virtual PC i Virtual Box bohaterem posta zostaje mój aktualny przystanek w wirtualnej podróży, czyli…
VMware Workstation from VMWare
Plusy
Co tu dużo gadać, wreszcie posiadam środowisko wirtualne dla którego nie szukam alternatywy. Już na samym początku VMware dosłownie zmiażdżył zarówno VPC jak i VBoxa swoją wydajnością. Byłem w szoku. Trudno w to uwierzyć (i gdybym tego nie doświadczył, to bym pewnie nie uwierzył… widocznie nie jestem błogosławiony;) ), ale wirtualka VMware na Core2Duo z 4GB RAMu działała O WIELE SZYBCIEJ niż VPC czy VBox na Quadzie z 8GB RAMu.
Po otrząśnięciu się z tak oszałamiającego pierwszego wrażenia zabrałem się za odkrywanie innych świetności pakietu. Przy tworzeniu nowego środowiska od razu wpadła mi w oko funkcjonalność “snapshots”, czyli zapamiętywania aktualnego stanu maszyny z możliwością powrotu do niego w każdym momencie. Zainstalowałem Windows -> snapshot. Skonfigurowałem – snapshot. Dodałem VS i SQL Server -> snapshot. przygotowałem system do pracy z aktualnym projektem -> snapshot. W tym momencie mogę wrócić do “gołego” windowsa i w osobnej gałęzi postawić sobie Sharepointa (na szczęście nie muszę tego robić, uff) czy inne wielkie ustrojstwo. Niby można to samo osiągnąć nawet w VPC tworząc dyski różnicowe, jednak tutaj całość ubrano w funkcjonalne UI. I działa to po prostu bardzo sprawnie.
Zaraz potem natknąłem się na klonowanie. Po doświadczeniach z klonowaniem w VBox podszedłem do tego dość sceptycznie, jednak okazało się, że moje obawy były nieuzasadnione. Mamy do dyspozycji dwa rodzaje klonów. Pierwszy – linked clone – działa na zasadzie dysku różnicowego: gdzieś obok źródłowej maszyny tworzona jest nowa, bazująca na jej fizycznych plikach. Druga opcja – full clone – także tworzy nową maszynę startując w wybranym punkcie, jednak kopiuje i łączy wszystkie źródłowe pliki dając w efekcie całkowicie niezależny byt. Oba sprawują się znakomicie i czas potrzebny na realizację tych zadań jest o wiele krótszy niż się spodziewałem.
Po kilku tygodniach pracy z VMware coś mnie tknęło… i spróbowałem zbadać możliwość podpięcia do wirtualki kilku monitorów. Jak pisałem wcześniej sztuczka ta nie udała mi się w VBox. Tutaj jednak (niestety po dobrych 2-3 godzinach walki) uzyskałem pożądany efekt i… radość moja była doprawdy ogromna. Mam teraz jeden monitor dla systemu hosta, drugi monitor dla VS na wirtualce oraz laptop podłączony przez MaxiVista jako kolejny ekran wirtualki na wszelkie inne bajery, jak konsola Gita, Management Studio etc. Po prostu bomba!
Wszystkie wymienione zalety powodują, że nie muszę pisać w tej sekcji nic więcej. Po prostu tyle (działających) możliwości nie znalazłem nigdzie indziej.
Minusy
Niestety, nie ma róży bez ognia. Za te wszystkie bajery trzeba trochę zapłacić (nie jest to jednak powalająca kwota: 189$).
I nie jest to jedyny mankament VMware. Przy pracy z 4GB RAMu doświadczałem niekiedy irytujących przeszkadzajek. A to maszyna potrzebowała dobrych kilkunastu (!) minut do poprawnego “rozkręcenia” się po suspend. A to podczas pracy wirtualka się przywiesiła na 1-2 minuty skutecznie uniemożliwiając wydajną pracę. Na szczęście po przejściu na 8GB te problemy zniknęły – widocznie czegoś tam trochę brakowało (chociaż teoretycznie nie powinno….).
Do dziś jednak zmagam się z symptomem “szybkiego suspend/resume”. Objawia się on tym, że bardzo często nie da się odtworzyć stanu maszyny chwilę po jej zatrzymaniu. Żadne dane nie są tracone, ale jakiś wewnętrzny system locków w VMware po prostu blokuje takie operacje. Czasami pomaga ubicie wszystkich procesów VMware, ale zdarza się, że konieczny jest restart hosta. Baaardzo nieładnie.
Zauważałem także problemy z wydajnością przy korzystaniu z differencing disks oraz linked clones, jeśli jednocześnie uruchomiło się więcej niż jedną maszynę wymagającą danego pliku. Akurat to dość łatwo obejść – każda “długotrwała” maszyna to u mnie full clone, dzięki czemu wszystko śmiga jak powinno.
Do listy minusów można jeszcze dodać dwie pierdoły – trochę szukane na siłę, ale… Pierwsza z nich to definicja tzw. “hot key”, czyli klawisza pozwalającego na wyjście z kontekstu maszyny gościa i wykonanie na niej jakichś operacji lub przeniesienie się do systemu hosta. U konkurencji rolę tą może pełnić dowolny klawisz/sekwencja klawiszy, a tutaj mamy do wyboru raptem kilka predefiniowanych zestawów. Da się z tym żyć. Druga pierdoła to sposób konfiguracji sieci. Nie do końca odpowiada mi GLOBALNE definiowanie zestawu interfejsów sieciowych, zdecydowanie preferuję pełną konfigurację tego aspektu na poziomie poszczególnych maszyn jak w VPC. Ale podobnie – da się z tym zyć.
Podsumowanie
Wniosek wynikający z powyższych wypocin jest chyba oczywisty – zdecydowanie polecam VMware jako software do wirtualizacji maszyn służących do programowania. Kosztuje i nie jest wolne od wad, ale pozostawia darmową konkurencję daleeeko w tyle.
Macie może ciekawe (lub nie;) ) przemyślenia na ten temat? Czekam na komentarze!
To samo dla Maca – kupiłem MacBooka Pro i do niego dostałem Parralels’a 4 – Windows 7 zainstalowany na nim uruchamiał się z 10 minut (!) – zainstalowałem VMWare Fusion 3.1 – uruchamia się 30 sekund.
Także do profesjonalnych zastosowań tylko produkty VMWare, choć jak miałbym stawiać linuksa, to zrobiłbym to na Virtual Boxie :)
Dziwi mnie tylko to ze autor posta tak pozno wzial sie za uzywanie i testowanie VMWARE :) To juz gosci u mnie pare lat …
@SS:
VMware używam od około pół roku. A czemu tak późno? Wcześniej polegałem na darmowych rozwiązaniach (przez ok. rok) a jeszcze wcześniej pracowałem na etacie. A na etacie jak to na etacie… fanaberie w postaci wirtualek (i do tego płatnych) są w większości przypadków skutecznie bombardowane, bo trzeba kodowaćkodowaćkodować a nie zajmować się jakimiś bzdurami:).
Polecam jeszcze darmowy VMware Player http://www.vmware.com/products/player/
Nie ma tylu opcji co Workstation, ale można tworzyć samemu nowe wirtualki i jak już wspominałem jest za free
@procent
Cale szczescie ze w koncu na swoim jestes :)
U nas w pracy mamy kilka porzadnych maszyn z 2008R2 i zainstalowanym Hyper-V. Do tego wykorzystujemy System Center Virtual Machine Manager, takze MSu. Widac zdecydowana roznice pomiedzy tym, a rozwiazaniami klienckimi (Win7 + VPC). Moze kiedys Hyper-V zejdzie do klienta.
Moze tylko dodam, ze zdarza sie, ze maszyny wirtualne dzialaja widocznie szybciej niz odpowiadajace im samodzielne komputery. :)
Zapomniałeś jeszcze sprawdzić połączenia visual studio i vmware, czyli debugowanie aplikacji na maszynie wirtualnej :).
@Edi fajna opcja do poki maszynka nie jest w domenie, jak jest w domenie a Twoj komp nie jest lub Twoj komp jest w innej domenie to zaczynaja sie schody nie warte swieczki
Z VMWare Workstation pracowałem kilka lat temu i już wtedy urzekł mnie mechanizm snapshotów. W firmie w której pracuję obecnie wykorzystujemy Hypper-V i muszę przyznać, że w obecnej wersji jest świetne (mechanizm snapshotów działający na podobnej zasadzie). Ciężko mi porównywać wydajność, ale porównując do pracy z wirtualką na laptopie jest to naprawdę komfortowe rozwiązanie. Zamiast inwestować w potężny laptop stawiasz sobie hosta ze zwykłego komputera PC (do którego najważniejszy zasób czyli RAM znajdziesz dość tanio). My mamy wiele takich hostów spiętych w klaster ale do Twoich celów wystarczy zapewne jeden pecet z darmową wersję Hyper-V Server 2008. Wadą jest to, że aby zrobić prezentację u klienta musisz wozić ze sobą łącze do bazy :)