如何优化VMware Server虚拟机系统

日期: 2008-02-27 作者:段城智 来源:TechTarget中国

  在现实情况中,许多商业程序只能分别在Windows或Linux下运行。那么,如何在同一台主机上运行Windows和Linux两种系统,以支持尽可能多的应用软件,就成了一个重要的课题。VMware Server虚拟机模拟软件的出现为解决这一问题提供了不错的方法,它可以同时运行Linux和Windows等其它操作系统,且每个操作系统在各自独立的窗口里运行。


  不过,尽管可以在Windows主机下运行VMware Server,但不推荐这么做——Windows的蓝屏死机会让Windows主机和Linux虚拟机系统同时挂掉,所以我们选择在Linux下运行虚拟软件。这种模拟能帮助Windows用户容易地过渡到Linux,它让用户在使用新的Linux应用程序时就像在使用熟悉的Windows应用一样,且用户不需要关心它是运行在Linux下还是Windows下。


  当前,VMware主要有三个版本:VMware Server、VMware Workstation和VMware ACE。VMware Server是免费的,它给Linux提供了多操作系统功能。VMware Workstation和VMware ACE为程序开发人员提供额外功能,例如给一台虚拟机分配多个CPU,给虚拟机设置安全策略。


  主流x86多系统的选择


  虽然在Linux下运行Windows或其它操作系统应用有几种方法,但我觉得VMware Server是最符合我的要求的。当然,所有的模拟软件都会降低性能,并且消耗更多的内存。所以,我的测试系统配备的是Athlon 3500+的CPU,1GB DDR2的内存——VMware在Duron 1800、512M DRAM和3GB的虚拟内存(交换文件)下也能运行得不错;但如果同样是Duron 1800的CPU,只配置1GB的虚拟内存(交换文件),运行起来就不太流畅了。另外,如果有硬件虚拟化支持(如Intel VT和AMD-V)就更好了,但对VMware Server来说这并不是必需的。


  其他几种运行外部操作系统应用的方法及其特性与限制如下表所示:



  Vmware的系统优化


  在不同的Linux版本中安装VMware Server有细微的差别。注意,本文的重点不在于如何安装VMware Server软件,而是要告诉你如何优化系统,使VMware Server更有效地工作。


  首先,我们从http://www.vmware.com/download/server/下载VMware Server(下载时需要提供注册号码),从http://ftp.cvut.cz/VMware/VMware-any-any-update105.tar.gz可以下载各种补丁,包含一些支持VMware Server的内核模块。注意,当运行VMware的配置脚本时,会提示你输入VMware设备的目录名称,把/var/lib/VMware/Virtual Machines改成/var/lib/Virtual_Machines。因为如果有空格,在用命令行应用程序访问时会有很多麻烦。另外,当在虚拟机配置向导里提示输入虚拟机名称时,也不要带空格,如要用Windows_98代替Windows 98。


  不论VMware虚拟机系统依赖什么配置,运行起来和在物理机器本地运行是一样的。比如,假设USB有问题,则在Windows控制面板里,找到系统、设备,就能看到跟物理机器安装时一样的错误图标。其它如音频、网络、视频以及各类驱动问题也是一样。


  如果你以前安装过VMware Server(你可能只是升级下主机系统或者换个Linux版本),只要把.vmx和.vmdk文件放到相应的地方,如/var/lib/VMware/Virtual_Machines/,然后改变文件的所有者属性和访问权限。从VMware Server控制台选择VM菜单,安装VMware Tools,能提高速度和稳定性,也能让你访问VMware音频和视频驱动。


  虚拟以太网卡的配置


  我们可以通过虚拟以太网卡在虚拟机和主机之间传输文件,系统默认提供的网卡是AMD PCNet PCI网卡,传输速率大约是400Kbps,换成Pro1000的网卡,能提高到3Mbps。VMware Server的虚拟以太网卡在vmx配置文件里就是一行文本,跟实际网卡一样,它也需要驱动程序。如果驱动程序位于C盘下的好几级目录中(如下图),那你应该创建一个快捷方式放在C盘根目录下,这样安装驱动时就不用找来找去了。



  进入/var/lib/VMware/Virtual_Machine/Windows_98。用一个文本编辑工具打开.vmx文件,在Ethernet那一节的第一行前插入:ethernet0.virtualDev = e1000。保存文件,退出。然后,启动虚拟机下的Windows系统,做如下操作:


  1. 从开始菜单的设置-系统-设备下删除AMD网络适配器。


  2. 重启虚拟机Windows系统。


  3. 当提示你为一个PCI以太网卡安装驱动时,点取消。


  4. 打开开始菜单-设置-系统-设备,找到那个有问题的网络设备。


  5. 右键单击该网络设备,选择安装驱动。


  6. 选择“从磁盘安装”。


  7. 到你刚刚创建的快捷方式,选择.inf驱动安装文件,点击OK,就会看到一个列表。


  8. 然后选择Intel Pro/1000 MT桌面连接,点OK。


  9. 当提示你要Pro/1000安装包时,选择C盘的快捷方式。当提示需要Windows安装盘时,插入光盘。


  10. 点击完成按钮。


  11. 重启。


  12. 改变网卡设置,选择开始菜单-设置-网络-Intel® Pro/1000 MT 桌面连接-属性-高级-连接速度和双工,选择1000Mbps自动协商。


  通过Samba在主机系统和虚拟机系统间共享文件


  通过VMware Server安装虚拟机系统,最大的好处就是可以用传统的Windows应用程序和本地的Linux应用访问同一个文件。因此,在Linux主机系统和Windows虚拟机系统之间共享文件是必需的。Samba是一组给Windows客户端提供文件和打印机共享服务的程序集合,可以让这些客户端象访问网络磁盘一样访问Linux文件系统。下面我们给出出一些提示供参考。


  首先,保证系统已经安装Samba。通常是默认安装的,但最好查一查。在下面的Samba配置文件中,“Username”指你的用户名,Linux主机系统下的用户ID要和Windows虚拟机系统下的一致。这个文件定义了Linux和Windows共享的基本配置。更多的信息,可以运行如下命令查看Samba的帮助文件:$ man Samba。或者到Samba的网站查看相关文档。


  1)VMware Server的Samba配置


  用root用户打开一个Linux文本编辑工具,把下面的内容保存为文件:/etc/Samba/smb.conf (;表示注释行)


  [global]


  ;General server settings


  netbios name = FC6


  workgroup = workgroup


  wins server = 169.0.0.1


  server string = Samba Server


  printcap name = /etc/printcap


  cups options = raw


  log file = /var/log/Samba/%m.log


  max log size = 50


  socket options = SO_KEEPALIVE TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192


  ; SO_SNDBUF=8192


  dns proxy = no


  guest ok = yes


  guest account = username


  security = user


  encrypt passwords = yes


  username map = /etc/Samba/smbusers


  smb passwd file = /etc/Samba/smbpasswd


  restrict anonymous = no


  domain master = yes


  preferred master = yes


  max protocol = NT


  acl compatibility = winnt


  ldap ssl = No


  server signing = Auto


  [win]


  path = /home/username/data/


  writeable = yes


  valid users = username


  comment = home


  admin users = username


  browseable = yes


  case sensitive = no


  配置文件中的“path”指你需要共享的Linux目录,也就是你允许Linux和Windows都能访问的文件空间。在Windows虚拟机系统下访问时,你可以选择“映射到网络驱动器”。这时,你就能看到你在Linux和Windows共享的内容了。刚安装的Windows系统访问Linux主机系统时,可能会因为Windows安装了防火墙而弹出一个提示框,如下图:



  如图所示(假设本地IP是196.x.x.x范围的),告诉你的防火墙允许NetBIOS访问那个IP:



  2)有用的SAMBA提示


  下面的提示可以帮助你更好的在Linux和Windows共享文件:


  · 在物理主机上运行Windows系统时,不用修改已经共享的目录名称。只把那些非Windows系统不能访问的文件放在Windows驱动器下。


  · 因为你不能在Linux系统下直接访问虚拟机系统下的文件,所以最好把数据文件保存在Linux空间下,然后通过Samba共享给Windows程序用。


  · 在Windows桌面上的快捷方式点击右键,把驱动盘符C改为E,这样你就可以继续使用这些快捷方法


  设置音频


  VMware Server下的虚拟机系统能够处理多媒体内容,并通过声卡播放声音。如果你的主机系统和虚拟机系统都是64位的,可以到Vmware官方网站上下载驱动(http://download3.vmware.com/software/wkst/vmaudio-5.10.0.350)。下载之后,复制到Windows文件系统下,安装时跟安装其它音频驱动一样。其它情况需要这样做:


  1. 打开控制面板-设置-系统-声音,安装Windows声音驱动。


  2. 删除所有的音频驱动。


  3. 安装驱动文件。


  4. 重启,在驱动文件里找到系统提示要的.cat文件(或其它配置文件),点击OK。


  5. 播放一个声音文件。


  6. 把KDE的声音管理设置改为“自动检测”,然后告诉它空闲2秒钟后释放资源。


  USB设备配置


  通过VMware Server下的Windows应用可以直接访问打印机、扫描仪或者其它USB设备。如在VMware Server控制台的菜单查找打印机:VM > Removable Devices > USB Controller > printer(如下图)。



  那么,如何在VMware里使用USB打印机呢?其步骤如下:


  1. 打开VMware Server。


  2. 点击Windows标签。


  3. 点击添加设备。


  4. 添加USB控制器。


  5. 启动Windows。


  6. 打开VM工具栏,VM > Removable Devices > USB Devices >[你的打印机名]。


  7. Windows会提示找到新设备,要求你选择一款打印机或者从磁盘安装驱动。插入你的打印机驱动光盘。


  8. 点击OK,能看到一个安装成功的提示窗口。


  9. 打开开始菜单-设置-打印机,就能看到你的打印机了。


  10. 右键打印机图标,选择属性。


  11. 点击“打印测试页”,看看打印机是否打印出来。


  同样,安装扫描仪和其它USB设备也可参考上述步骤。值得一提的是,VMware虚拟USB适配器可以同时使用两个USB设备。安装第二个USB设备时,只要按照上面的步骤到VMware工具栏那一步就可以了。


  另外,一个USB设备可以被Linux主机系统使用,也可以被Windows虚拟机系统使用,你必须确定是哪个系统在使用它。选择菜单VM > Removable Devices > printer在虚拟机Windows系统下禁用打印机,这样主机的Linux系统才能使用它。然后重新插拔一下打印机的USB线。打开打印机管理器,先停用、再启用一下打印机。


  在主机系统和虚拟机系统之间切换USB打印机,你需要在VMware Server上关闭USB设备,甚至通过重新插拔一下来重启设备,然后打开Linux开始菜单-控制中心,点击外设-打印机,选择相应的打印机菜单,点击下拉菜单的重启项,重启CUPS Linux打印系统。


  优化VMware Server虚拟机系统的小提示


  下面是我常用到的小提示:


  · 磁盘速度:大多数版本都有调整硬盘速率的选项,借此你可以让硬盘访问速度加倍。


  · 把虚拟硬盘文件(即VMware虚拟机系统的“硬盘”)分割成多个2GB的文件,我发现这样能显著提高访问速率。


  · 一些优化Windows系统的小技巧在虚拟机下也可以用,当然最好安装防火墙和反病毒软件。


  · 如果映射驱动器上的某个程序运行慢或者有问题,可以在Windows虚拟机系统下重新安装试试。我就重新安装过Eudora、MS Office、CorelDRAW和Paint Shop Pro。如果你本地安装的Windows系统在C:Program Files下有程序,也安装到虚拟机的虚拟硬盘上去,不要留在映射驱动器E:(也就是/home/username/win)上。


  最后,值得一提的是,分割虚拟硬盘文件不仅有利于提高访问速率也有利于备份。通过以下命令可以分割虚拟硬盘文件:# VMware-vdiskmanager -r sourceDisk.vmdk -t 3 destinationDisk.vmdk。完成之后,要修改一下访问权限:


  chown username:username *.vm*


  chmod 777 *


  打开原来的.vmx文件,保证里面的硬盘项是指向分割后的文件里的第一个。VMware相关的文件列在/etc/VMware/locations这个文本文件里。


  在Linux主机系统之上通过VMware Server运行Windows虚拟机系统,让用户可以同时使用两个系统。也就是,既可以享受Linux的稳定性和健壮性,又能享受Windows程序的易用性和通用性。也为现代计算机系统的后续扩展提供了空间。随着Linux程序变得一样易用而功能强大,普通用户也能比较容易的使用Linux程序。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 通过VMware DRS规则管理Windows Server 2016授权成本

    对于想要缓解Windows Server 2016授权成本负担的IT管理员,可以考虑VMware的分布式资源调 […]

  • VMware VVOLs应用案例逐步增加

    有时技术具有一定的超前性,VMware VVOL就是一个例证,它承诺满足人们对hypervisor技术的所有预 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。