VMware Server 2.0.2 i najnowsze Linuksy

Moje przygody z wirtualizacją zaczęły się kilka lat temu. Głównie wykorzystuję te narzędzie do celów testowo-edukacyjnych. Zanim popsuję jakiś system produkcyjny, mogę eksperymentować na swoim własnym poligonie.
Z myślą o Tym 2 lata temu, gdy modernizowałem swój domowy serwer, szarpnąłem się na czterordzeniowy procesor, większą ilość pamięci i kilka dysków w RAIDzie, aby mieć zapas mocy. Korzystam z linuksowej wersji darmowego VMware Server’a 2.0. Przez ostatni rok miałem mało czasu na zabawy, a po którejś aktualizacji jądra VMware przestał działać. Kilka dni temu postanowiłem go reanimować. Niestety okazało się, że od października 2009 nie ma aktualizacji, a co za Tym idzie brak oficjalnego wsparcia dla wersji kernela 2.6.3x.

Z pomocą przyszła społeczność OpenSource, Radu Cotescu napisał patcha dla kerneli 2.6.3x i skrypt instalacyjny, dla nowszych dystrybucji Ubuntu, Fedora i openSUSE. Więcej na ten temat w notce na jego blogu. Natomiast sam skrypt można pobrać bezpośrednio ze strony, jak również z repozytorium Git autora.
Korzystam z Debiana (squeeze/sid) – kernel 2.6.32, więc musiałem ręcznie przepakować, spatchować źródła modułów, aby uzyskać zgodność z moim systemem.

W tym celu należy pobrać ostatnią dostępną wersję VMware Server 2.0.2 w formie archiwum tar.gz – VMware-server-2.0.2-203138.i386.tar.gz oraz najnowszego patcha vmware-server-2.0.2-203138-update.patch

$ wget http://codebin.cotescu.com/vmware/vmware-server-2.0.2-203138-update.patch

Rozpakowujemy instalkę:

$ tar -xzf VMware-server-2.0.2-203138.i386.tar.gz

Przechodzimy do folderu ze źródłami modułów i wypakowujemy je:

$ cd vmware-server-distrib/lib/modules/source/
$ tar -xf vmci.tar
$ tar -xf vmmon.tar
$ tar -xf vmnet.tar
$ tar -xf vsock.tar

Następnie cofamy się do folderu vmware-server-distrib/ i patchujemy źródła:

$ cd ../../../
$ patch -p1 < ../VMware-server-2.0.2-203138-update.patch

Wracamy do źródeł i kasujemy archiwa ze źródłami i tworzymy nowe:

$ cd lib/modules/source/
$ rm -f vmci.tar
$ rm -f vmmon.tar
$ rm -f vmnet.tar
$ rm -f vsock.tar
$ tar -cf vmci.tar vmci-only/
$ tar -cf vmmon.tar vmmon-only/
$ tar -cf vmnet.tar vmnet-only/
$ tar -cf vsock.tar vsock-only/

Kolejny powrót do głównego katalogu vmware-server-distrib/ i uruchomienie instalacji jako root:

$ cd ../../../
$ sudo ./vmware-install.pl

Po tym zabiegu instalacja zakończyła się pomyślnie.

Jednakże, po uruchomieniu okazało się, że nie działa webowa konsola administracyjna.
Po wywołaniu jej domyślnego adresu: http://adres_ip_hosta:8222/ serwer przekierował mnie na SSLowy port https://adres_ip_hosta:8333/, gdzie ukazał się komunikat o błędzie 503 Service Unavailable.

Po analizie problemu okazało się, że źródło problemu leżało w załączonym Tomcacie, który nie chciał nasłuchiwać na IPv6.

Zastosowałem obejście, wymusiłem nasłuch konsoli webowej na IPv4, w tym celu trzeba dokonać zmian w pliku startowym VMware – /etc/init.d/vmware.

Odnajdujemy następującą sekcję:

# Web Access configuration
webAccess="${vmdb_answer_LIBDIR}/webAccess/java/jre1.5.0_15/bin/webAccess"
watchdog="${vmdb_answer_BINDIR}/vmware-watchdog"
webAccessServiceName="VMware Virtual Infrastructure Web Access"
CATALINA_HOME="${vmdb_answer_LIBDIR}/webAccess/tomcat/apache-tomcat-6.0.16"
webAccessOpts="-client -Xmx64m -XX:MinHeapFreeRatio=30 -XX:MaxHeapFreeRatio=30
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed
-classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons-logging-api.jar
-Dcatalina.base=$CATALINA_HOME -Dcatalina.home=$CATALINA_HOME
-Djava.io.tmpdir=$CATALINA_HOME/temp org.apache.catalina.startup.Bootstrap"

A następnie do webAccessOpts dopisujemy parametr -Djava.net.preferIPv4Stack=true

webAccessOpts="-client -Xmx64m -XX:MinHeapFreeRatio=30 -XX:MaxHeapFreeRatio=30
-Djava.net.preferIPv4Stack=true
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed
-classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons-logging-api.jar
-Dcatalina.base=$CATALINA_HOME -Dcatalina.home=$CATALINA_HOME
-Djava.io.tmpdir=$CATALINA_HOME/temp org.apache.catalina.startup.Bootstrap"

Uważam, że VMware Server jest najlepszym darmowym rozwiązaniem tego typu. Mam nadzieję, że projekt nie został porzucony i wkrótce będzie dostępna oficjalna aktualizacja.

Na koniec jeszcze taki „tips and tricks”, dopisanie poniższych 3 linijek w pliku .vmx przed uruchomieniem wirtualnej maszyny, aktywuje dostęp do niej po protokole VNC i umożliwia to podgląd od początku jej bootowania, coś ala KVM over IP. Szczególnie przydatne jeśli korzystamy z Mac OS X, gdzie pluginy przeglądarkowe nie działają.

RemoteDisplay.vnc.enabled = "TRUE"
RemoteDisplay.vnc.password = "hasełko"
RemoteDisplay.vnc.port = "5900"

Poleć wpis innym:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Blip
  • Flaker
  • Tumblr
  • Twitter
  • Wykop
  • Pinger

Zostaw odpowiedź

Twój komentarz