设为首页 收藏本站
查看: 1106|回复: 0

[经验分享] Ubuntu 8.10上玩转VMware Server 2 (原创)

[复制链接]

尚未签到

发表于 2016-1-6 08:05:01 | 显示全部楼层 |阅读模式
  VMware Server 2是VMware公司免费发布的一个虚拟机软件(不需要破解和SN),功能很强大,支持windows和linux平台,我们获取软件只需要到VMware注册一个帐号就可以下载了。

我们先来注册,打开:http://www.vmware.com/products/server/,点击download那个按钮,然后在右面栏中可以注册,注册好后马上会有两封邮件发到你的邮箱里,一封是你的用户名和密码,另一封是Active你的帐户。

用你的帐户登入,到达下载页面,下载VMware Server 2 for Linux Operating Systems TARimage这个文件,我使用的是2.0.0 | 122956 -10/29/08版本,文件名为VMware-server-2.0.0-122956.i386.tar.gz,下载好之后检查一下MD5对不对。然后记下页面上方的VMware Server 2 for Linux的Licensing,安装的时候需要这个序列号。

我们下面开始正式安装VMware Server 2,首先安装编译需要的程序:
sudo apt-get install linux-headers-`uname -r` build-essential xinetd

将VMware-server-2.0.0-122956.i386.tar.gz解压到我的home目录/home/baiyu,大家可以选择自己的目录:
tar jxvf VMware-server-2.0.0-122956.i386.tar.gz -C /home/baiyu

开始安装:
cd /home/baiyu/vmware-server-distrib
sudo ./vmware-install.pl

安装过程会问很多问题,可以都用默认选项,我在这里只修改了安装目录在/usr/local下,默认的登录用户是root,所以你要为root添加口令:sudo passwd root。

安装过程中会出现vsock模块不能正确挂载的问题,这个问题我们会在后面解决。

安装成功后,打开firefox,通过https://127.0.0.1:8333就可以访问VMware Server2了,自动会安装一个插件Vmware Remote Console Plug-in,其他机器也可以通过8333端口访问VMwareServer 2,不需要安装任何软件,很方便。

登录虚拟机之后就可以创建虚拟机,也可以直接运行防毒墙的虚拟机了,使用方法比较简单不再多说。

下面我们来解决vsock模块不能挂载的问题,这个问题是由于vsock模块依赖vmci模块,而vmci模块在2.6.27内核有些符号没有被导出,导致挂载的时候不能正确引用。VMware Server2在安装之后把源码放在了/usr/local/lib/vmware/modules/source(我的默认安装目录是/usr/local)目录下,看到那4个tar文件了吗,我们需要修改vmci和vsock的源码,修改的方法就是将tar解开(如tar xvfvmci.tar),修改代码,然后再创建压缩包(如tar cvf vmci.tarvmci-only/),源码修改参考下面的patch文件,主要是修改Makefile文件,注意Makefile的格式:

diff -dru /tmp/modules/open-vm/modules/linux/vmci/Makefile ./linux/vmci/Makefile
--- /tmp/modules/open-vm/modules/linux/vmci/Makefile2008-08-08 00:01:44.000000000 -0700
+++ ./linux/vmci/Makefile2008-11-25 16:47:19.000000000 -0800
@@ -97,8 +97,17 @@

MAKEOVERRIDES := $(filter-out CC=%,$(MAKEOVERRIDES))

-$(DRIVER_KO):
+#
+# Define a setup target that gets built before the actual driver.
+# This target may not be used at all, but if it is then it will be defined
+# in Makefile.kernel
+#
+prebuild:: ;
+postbuild:: ;
+
+$(DRIVER_KO): prebuild
make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) modules
+make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) postbuild

else

diff -dru /tmp/modules/open-vm/modules/linux/vmci/Makefile.kernel ./linux/vmci/Makefile.kernel
--- /tmp/modules/open-vm/modules/linux/vmci/Makefile.kernel2008-08-08 00:01:44.000000000 -0700
+++ ./linux/vmci/Makefile.kernel2008-11-25 16:54:32.000000000 -0800
@@ -31,7 +31,21 @@

$(DRIVER)-y := $(subst $(SRCROOT)/, , $(patsubst %.c, %.o, $(wildcard $(SRCROOT)/*.c)))

+T := /tmp
+MODPOST_VMCI_SYMVERS := $(T)/VMwareVMCIModule.symvers
+
clean:
rm -rf $(wildcard $(DRIVER).mod.c $(DRIVER).ko \
.tmp_versions Module.symvers Modules.symvers \
+       $(MODPOST_VMCI_SYMVERS) \
$(foreach dir,./,$(addprefix $(dir),.*.cmd .*.o.flags *.o)))
+
+#
+# If this build generated a Module.symvers, copy it to a public place where
+# the VMCI Sockets build will be able to find it.
+#
+postbuild::
+ifeq ($(call vm_check_file,$(SRCROOT)/Module.symvers), yes)
+cp -f $(SRCROOT)/Module.symvers $(MODPOST_VMCI_SYMVERS)
+endif
+
diff -dru /tmp/modules/open-vm/modules/linux/vsock/Makefile ./linux/vsock/Makefile
--- /tmp/modules/open-vm/modules/linux/vsock/Makefile2008-08-08 00:01:43.000000000 -0700
+++ ./linux/vsock/Makefile2008-11-25 16:57:00.000000000 -0800
@@ -97,8 +97,17 @@

MAKEOVERRIDES := $(filter-out CC=%,$(MAKEOVERRIDES))

-$(DRIVER_KO):
+#
+# Define a setup target that gets built before the actual driver.
+# This target may not be used at all, but if it is then it will be defined
+# in Makefile.kernel
+#
+prebuild:: ;
+postbuild:: ;
+
+$(DRIVER_KO): prebuild
make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) modules
+make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) postbuild

else

diff -dru /tmp/modules/open-vm/modules/linux/vsock/Makefile.kernel ./linux/vsock/Makefile.kernel
--- /tmp/modules/open-vm/modules/linux/vsock/Makefile.kernel2008-08-08 00:01:43.000000000 -0700
+++ ./linux/vsock/Makefile.kernel2008-11-25 16:55:22.000000000 -0800
@@ -32,6 +32,9 @@
# This test is inverted.
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/sk_filter.c,, -DVMW_HAVE_NEW_SKFILTER )

+T := /tmp
+MODPOST_VMCI_SYMVERS := $(wildcard $(T)/VMwareVMCIModule.symvers)
+
obj-m += $(DRIVER).o

$(DRIVER)-y := $(subst $(SRCROOT)/, , $(patsubst %.c, %.o, $(wildcard $(SRCROOT)/linux/*.c)))
@@ -41,3 +44,16 @@
.tmp_versions Module.symvers Modules.symvers \
$(foreach dir,./ linux/ \
,$(addprefix $(dir),.*.cmd .*.o.flags *.o)))
+
+#
+# The VSock kernel module uses symbols from the VMCI kernel module. Copy the
+# Module.symvers file here so that the Vsock module knows about the VMCI version.
+#
+prebuild::
+ifeq ($(MODPOST_VMCI_SYMVERS),)
+$(shell echo >&2 "Building VMCI Sockets without VMCI module symbols.")
+else
+$(shell echo >&2 "Building VMCI Sockets with VMCI module symbols.")
+cp -f $(MODPOST_VMCI_SYMVERS) $(SRCROOT)/Module.symvers
+endif
+

然后我们重新安装VMware Server 2,运行sudo vmware-config.pl,选项按上次安装的即可,这次vsock可以被正确挂载了。

如果在虚拟机中安装linux出现方向键不能用的情况,可以创建~/.vmware/config文件,其中增加一行:
xkeymap.nokeycodeMap = true
问题就解决了。

我们基本上大功告成了,可以关机休息一会儿了,这时突然发现不能关机了,停到关闭VMware服务那里不动了,实际上没有死机,只是服务没有响应了,大概要等20-30分钟,所有服务才能停掉。

我试过在关机之前手动停止服务是正常的,这说明有某个服务先于VMware服务停止导致了VMware服务停止的时候出现异常(不清楚是哪个服务导致的,网卡的服务有重大嫌疑)。

解决的办法也很简单,我们把/etc/rc2.d和/etc/rc6.d下面的K**vmware改为K01vmware即可,但是如果再用vmware-config.pl安装还需要修改,我们做事要求简捷,于是修改vmware-config.pl。

先给文件加入写权限:sudo chmod 755 /usr/local/bin/vmware-config.pl
打开文件:sudo vi /usr/local/bin/vmware-config.pl
修改link-services函数:
#my $K_level = shift;
my $K_level = "01";
这样再次安装的时候就变为K01vmware了,现在关机、重启都没有问题了,速度很快。

到这里我们的VMware Server 2就安装好了,VMware Server 2和linux配合起来还有很多神奇的用法,当然最神奇的地方就是everything is free and everything is open。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-160782-1-1.html 上篇帖子: VMWare下多虚拟机通讯 下篇帖子: Installing Oracle10g R2 RAC on vmware suse
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表