手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Linux

如何优化VMware Server虚拟机系统[值得收藏]

原文来自:http://server.zdnet.com.cn/server/2008/0910/1117939.shtml

我也是在操作vmware server版的时候才找到的此文章,它给我带来了很多思路,比如把网卡改为其他型号的。原来这都是我没有想过的。

  在现实情况中,许多商业程序只能分别在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是最符合我的要求的。当然,所有的模拟软件都会降低性能,并且消耗更多的内存。所以,我的测试系统配备的是Athlon3500+的 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程序。

Tags: linux, vmware, 虚拟机, 优化

Wine中文显示

突然发现wine的中文显示其实很简单
从1.1.4开始wine的界面就已经支持中文了,但是对于软件中的中文支持并不太好,主要原因。还是字体。。。
Let's go
首先,copy一下字体:把simsun.ttc (即宋体)复制到 ~/.wine/drive_c/windows/fonts
然后:

XML/HTML代码
  1. [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]  
  2. "Arial"="simsun"  
  3. "Arial CE,238"="simsun"  
  4. "Arial CYR,204"="simsun"  
  5. "Arial Greek,161"="simsun"  
  6. "Arial TUR,162"="simsun"  
  7. "Courier New"="simsun"  
  8. "Courier New CE,238"="simsun"  
  9. "Courier New CYR,204"="simsun"  
  10. "Courier New Greek,161"="simsun"  
  11. "Courier New TUR,162"="simsun"  
  12. "FixedSys"="simsun"  
  13. "Helv"="simsun"  
  14. "Helvetica"="simsun"  
  15. "MS Sans Serif"="simsun"  
  16. "MS Shell Dlg"="simsun"  
  17. "MS Shell Dlg 2"="simsun"  
  18. "System"="simsun"  
  19. "Tahoma"="simsun"  
  20. "Times"="simsun"  
  21. "Times New Roman CE,238"="simsun"  
  22. "Times New Roman CYR,204"="simsun"  
  23. "Times New Roman Greek,161"="simsun"  
  24. "Times New Roman TUR,162"="simsun"  
  25. "Tms Rmn"="simsun"  
当然,你也可以COPY其他字体,然后替换掉这上面的simsun。把这 段内容保存成一个reg文件,例如:fonts.reg
最后,到命令行下支持wine regedit fonts.reg,OK,你现在重新打开记事本,是不是发现可以输入中文了?

Tags: linux, wine, ubuntu, editplus

如何mount Smb服务共享目录

在ubuntu下面默认是不能mount samba共享的目录的,而在公司里,我不得不连接这样的目录,在windows下面的时候,samba共享就象windows的共享目录那样的方便,但是在linux下面就不是这样的了。

首先,你要下载smbmount,运行 :

apt-get install smbfs

然后就会安装smbmount了,我自己Ubuntu系统的loacle设置是:zh_CN.UTF-8,相信大多数使用ubuntu的人都是这样设置的吧,平时使用samba的话,直接输入smb://hostname 就可以了。

然后尝试一下把公司服务器上的路径mount过来。
smbmount //hostname/directory /home/my/mount/dir -o user=username,pass=passpord,iocharset=utf8

在上面的命令里
//hostname/directory 就是公司服务器的samba共享路径,
/home/my/mount/dir 就是本地的挂载目录,

-o 参数是表示后面还有很多参数,参数之间以","(不含引号)隔开
user表示用户名
pass表示密码
iocharset=utf8,可以避免中文乱码

Tags: linux, ubuntu, samba, mount