引用说明:原文来自于http://wuyizhaizhu.blog.163.com/blog/static/115151869201052201339515,为了方便本人阅读,文本格式略有调整。
VMware Server 在 CentOS 下的安装与配置
VMware Server 是 VMware出品的一款软件,可以免费使用(需要注册以获取License),其可以运行于 Windows 平台、Mac 平台和 Linux 平台下,是其上的一款应用软件,你可以在此软件中运行、配置和管理多个操作系统,如果你需要同时使用多个操作系统并希望能够快速切换,其是一个免费的好选择。如果你日常主要使用的操作系统为Linux,但又想同时使用Windows平台下的一些软件,例如 Office、迅雷、游戏等等,则可以在Linux中安装一套 VMware Server,然后在其中安装Windows,通过远程桌面(例如rdesktop)或VMware Server自带的Console(支持声卡)来使用Windows,当然,有些特定的应用,例如银行的USB Key等仍然无法在VMware Server中的Windows下使用(至少我目前不知道如何去用,如果你知道,希望得到你的分享: [email protected] ),你可以选择另行安装一套Windows,或者选择 VMware的 VMware ESXi 这样的产品。
目前的 VMware Server 的主要性能瓶颈仍然是磁盘IO,所以,如果你的虚拟机对IO的要求不高,通过适当的配置,仍然可以获得较高的性能。本网站目前就架设在一台 VMware Server 的虚拟机内。
使用 VMware Server 的另一个好处是对环境进行隔离,想像你只有一台服务器,却不得不配置两套不同版本的Web服务器以部署应用,为了减少两个环境之间的冲突,让每个部署都尽量简单,虚拟机会是你的一个好的选择。
不仅如此,使用 VMware Server 安装虚拟机,你还可以非常简单的进行系统的备份、复制和还原,通常仅仅需要复制虚拟机文件即可完成备份还原工作(当然,通过其自身提供的 Snapshot 功能通常也是很好的选择)。
总之,VMware Server 比你想像中的更有用,其安装配置也非常简单,更重要的是,它是Free的,确实值得尝试。
Requirements
Operation System
CentOS 5.3
Version
VMware-server-2.0.1-156745.i386.rpm
Download
http://www.vmware.com
Install
1. 在 VMware 中注册并下载 VMware Server 的 rpm 安装包
注册的时候要注意一点,即问你准备在windows下和linux下各安装多少个copy,当然要填多点了 :)
2. 使用 root 用户登录要安装的主机
3. 安装 rpm
rpm -ivh VMware-server-2.0.1-156745.i386.rpm
4、进行配置
4.1运行
/usr/bin/vmware-config.pl
开始配置界面,下面,我们尽量详细的讲解一下配置过程
4.2
Do you want networking for your virtual machines? (yes/no/help) [yes]
是否需要配置网络,一般应该使用,所以使用缺省值。
4.3
Configuring a bridged network for vmnet0. Please specify a name for this network. [Bridged]vm-bridged
首先配置使用桥接的网络,如果你希望你的虚拟机直接暴露于外网(并不特指internet,通常是指暴露在宿主机所在的子网内),可通过桥接的方法,需要指定该网络的名称,例如 vm-bridged ,该名称将在创建和配置虚拟机时使用,请输入一个方便记忆的名称。
4.4
Your computer has multiple ethernet network interfaces available: eth0, eth1. Which one do you want to bridge to vmnet0? [eth0]
选择在哪块网卡上配置桥接网络,一般应该选择你能够上网的网卡,当然,如果你比较熟悉网络,也可进行其它的配置。
4.5
Do you wish to configure another bridged network? (yes/no) [no]
是否需要在其它网卡上配置桥接网络,根据你的实际需要,一般是不需要的。
4.6
Do you want to be able to use NAT networking in your virtual machines? (yes/no) [yes]
是否需要通过NAT配置网络,如果你希望你的虚拟机暴露在外网(并不特指internet,通常是指暴露在宿主机所在的子网内),NAT是常用的一种虚拟机网络配置方法(类似你通过一台路由器上网),通过其往往能够得到更高的网速,通过在宿主机的iptables中进行配置,可以很容易让类似 BT,EMule等软件获得更高的下载速度,所以我们选择 yes。
4.7
Configuring a NAT network for vmnet8. Please specify a name for this network. [NAT]vm-nat
配置使用NAT的网络名称,例如 vm-nat ,该名称将在创建和配置虚拟机时使用,请输入一个方便记忆的名称。
4.8
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes]
是否自动配置NAT使用的子网,一般选择自动配置了,除非你希望对子网进行规划,通常会自动配置 172.16.*.* 这样的子网。
4.9
Do you wish to configure another NAT network? (yes/no) [no]
是否需要配置另外一个NAT网络,通常不需要。
4.10
Do you want to be able to use host-only networking in your virtual machines? [yes]
是否希望虚拟机支持 host-only 的网络,如果你不希望将虚拟机暴露于外网(并不特指internet,通常是指暴露在宿主机所在的子网内),应该在创建虚拟机时选择这种网络。
4.11
Configuring a host-only network for vmnet1. Please specify a name for this network. [HostOnly] vm-hostonly
配置使用NAT的网络名称,例如 vm-hostonly ,该名称将在创建和配置虚拟机时使用,请输入一个方便记忆的名称。
4.12
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes]
是否自动配置HostOnly使用的子网,一般选择自动配置了,除非你希望对子网进行规划,通常会自动配置 172.16.*.* 这样的子网。
4.13
Do you wish to configure another host-only network? (yes/no) [no]
是否需要配置另外一个HostOnly网络,通常不需要。
4.14
Please specify a port for remote connections to use [902]
指定远程连接端口,VMware Server安装完成后,可通过其一套Web界面进行访问,在这套界面中,有一个 Console(控制台)的功能,该功能通过在浏览器中安装一个插件,可以实现通过浏览器查看和管理被安装的虚拟机(如果你用过rdesktop、symantec pc-anywhere或KVM,你应该明白我在说什么),这个插件需要通过服务器上的这个端口获得数据(所以,如果你的宿主机前有防火墙,需要开通此端口的TCP协议),一般我们就用缺省的端口就好了,除非你的端口已经被占用,BTW,查看端口被谁打开的方法是:
lsof -i :902
如果出现结果,则可以通过进程号获得什么进程打开了此端口。
4.15
Please specify a port for standard http connections to use [8222]
同上,web访问界面使用的http端口,安装完成后,你可以通过 http://www.xxx.com:8222 来访问 VMware Server的Web管理界面,需要在防火墙内打开此端口的TCP协议。
4.16
Please specify a port for secure http (https) connections to use [8333]
同上,web访问界面使用的https端口,安装完成后,你可以通过 https://www.xxx.com:8333/ui 来访问 VMware Server的Web管理界面,需要在防火墙内打开此端口的TCP协议。
4.17
The current administrative user for VMware Server is ''. Would you like to specify a different administrator? [no]yes
这里我们一般不能用缺省选项,应该选择 yes ,这个配置的意思是说当前 VMware Server 的管理员尚未指定(''的意思可不就是没指定嘛,当然,也可能有别的含义,不过我们不是测试人员,没有必要都搞明白),是否需要指定--当然要指定了。
4.18
Please specify the user whom you wish to be the VMware Server administrator
选择宿主机上的一个已有的用户作为其管理员,这里的用户是指linux系统的用户,当然应该有密码了,一般为了安全起见,应该创建一个单独的用户,例如 vmware 什么的,并指定其密码,不过可能不需要有 home 目录,也最好不给它 shell。
4.19
In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines]
指定虚拟机存放的目录,即其 DataStore 的概念,这里可能会占用较多的空间(看你装多少操作系统,系统中有多少内容了),所以最好放置在有足够空间的位置,一般我们的 var 或 home 通常会是空间比较大的地方,所以,看你自己的情况了。
4.20
The path "/home/vmware/Virtual Machines" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes]
如果你指定了一个不存在的目录,会提示你是否要自动创建,当然要创建了。
4.21
Please enter your 20-character serial number. Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:
毕竟,只是一个free的软件,序列号还是需要的,在 VMware注册的时候会在激活邮件中获取到,你应该将其妥善保存好。
4.22
In which directory do you want to install the VMware VIX API binary files? [/usr/bin]
选择 VMware VIX API binary files 的安装位置,VMware VIX API 是很有用的东东,特别是在你的虚拟机比较多,需要自己写脚本进行管理的情况下,你可以在脚本中通过调用VMware VIX API,完成虚拟机的启动、关闭、备份等日常工作,以后我们会对此进行专门的说明,请参看 VMware VIX API。
4.23
In which directory do you want to install the VMware VIX API library files? [/usr/lib/vmware-vix/lib]
选择 VMware VIX API library files 的安装位置。
4.24
The path "/usr/lib/vmware-vix/lib" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes]
是否自动创建 VMware VIX API library files 的安装目录,当然了。
4.25
In which directory do you want to install the VMware VIX API document pages? [/usr/share/doc/vmware-vix]
指定VMware VIX API 的文档的安装位置。
4.26
The path "/usr/share/doc/vmware-vix" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes]
是否自动创建 VMware VIX API 文档的安装目录,当然了。
4.27
The installation of VMware VIX API 1.6.2 build-156745 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/bin/vmware-uninstall-vix.pl".
告诉你 VMware VIX API 已安装完成,可以在以后通过 /usr/bin/vmware-uninstall-vix.pl 进行卸载,如果你以后不想再使用 VMware Server(你可能有了更好的选择,例如开源的 KVM),你可以先使用 /usr/bin/vmware-uninstall-vix.pl 卸载 VIX API,然后使用rpm卸载VMware Server。
4.28
基本的配置过程就是以上这些,在配置完成后,系统会尝试自动启动虚拟机,并会在系统重启时自动启动 VMware Server。
5. 使用 VMware Server
作为安装和配置之后,下面我们来介绍一下如何使用 VMware Server。
5.1 配置防火墙
首先,如果你的宿主机上安装有防火墙,并且希望通过其它机器上的浏览器访问宿主机上的管理界面,需要在宿主机上的防火墙上进行设置,假设你使用 iptables,你可以
vi /etc/sysconfig/iptables
在其中适当的位置加入
-A RH-Firewall-1-INPUT -m state --state NEW -m multiport -p tcp --dport 902,8222,8333 -j ACCEPT
然后重启服务
service iptables restart
5.2 在浏览器中访问 VMware Server
在浏览器中输入 http://www.xxx.com:8222 ,其中 www.xxx.com 是你的宿主机的地址,如果你在本机访问,可以使用 localhost ,此时,页面会自动跳转至 https://www.xxx.com:8333/ui ,并报出提示
www.xxx.com:8333 使用了无效的安全证书。
这是由于使用了非正式发布的证书,可以让浏览器接收该证书,当然,如果你愿意,也可以加入正式的证书,请参考 在VMware Server 中使用证书。需要注意的是,有时候会无法打开loading页面,例如在 firefox 的错误控制台内可以看到类似这样的错误
Error: vmtn is not defined Source File: https://vm.myserver.com:8333/ui/ Line: 130 Error: unterminated string literal Source File: https://vm.myserver.com:8333/ui/jslib-1.0.128374/.jslib.js Line: 1, Column: 120 Source Code: d(),TIMEOUT:vmtn.util.EventObject.nextId()});var $super=$class.parent.prototype;})(); (function(){var $class=new $Class("vmtn. Error: syntax error Source File: https://vm.myserver.com:8333/ui/jslib-1.0.128374/.wbc.js Line: 1, Column: 77 Source Code: is._config.getFinalData();},setSelection:function(selection){var oldSelection= Error: vmtn is not defined Source File: https://vm.myserver.com.ch:8333/ui/ Line: 122
这时,我们清空浏览器的缓存,再重新访问,一般就可以解决问题了(如果你有更好的办法,请mail我: [email protected] )。
5.3 创建虚拟机
按照提示一步一步创建就可以了,需要注意的是,最好在创建时选择的CPU多一些,内存也大一些,将来在真正使用时可以从大改小,但不能从小改大。对于虚拟机来说,配置稍微多一些的内存是必要的,这可以尽量避免换页操作,从而减少IO操作,以提升虚拟机性能。
5.4 安装操作系统
将虚拟机关机,然后创建CD/DVD drive,选择你要安装的操作系统镜像文件(iso文件),然后开机,即可进行操作系统的安装工作。
5.5 复制虚拟机
如果我们已经安装好了一个虚拟机,为了方便下次安装,可将其复制出来,对虚拟机关机,然后到虚拟机的数据目录下找到刚才装好的操作系统,将整个目录进行备份即可。下次安装时,将该目录复制到虚拟机的数据目录下,改名成你希望的名字,然后在web管理界面中创建虚拟机(创建时直接选择刚才复制过来的目录)并开机,在开机时,有一个重要的提示,就是问你这个虚拟机是“移动过来的”还是“复制过来的”,一般应该选择是“复制过来的”(这样会对其重新进行配置),然后就可以使用了。
5.6 使用Console
在虚拟机开机后,点击 Console 标签,第一次点击时会提示是否需要“Install plug-in”,这个插件就是在浏览器中操作虚拟机的界面,安装之,重启浏览器,就可以访问虚拟机了。
===========================================================================
增加 samba 服务器
http://www.centos.bz/2011/07/centos5-install-samba-windows-linux-fileshare/
Windows与Windows系统之间可以很容易的共享文件。但要Windows与Linux共享文件则需要架设Samba服务器。Samba通过SMB协议,可以实现Windows与Linux之间的文件共享。这里我们主要介绍如何安装配置Samba服务器以及添加Samba用户。
安装Samba服务器之间,需要关闭SELinux。
安装Samba
- yum install cups-libs samba samba-common
编辑smb.conf配置文件
- vi /etc/samba/smb.conf
请确保在配置文件中的[globle]区域看到如下代码,如果没有自行添加。
- [...]
- # Backend to store user information in. New installations should
- # use either tdbsam or ldapsam. smbpasswd is available for backwards
- # compatibility. tdbsam requires no further configuration.
- security = user
- passdb backend = tdbsam
- [...]
这主要是使Linux系统用户能够登录Samba服务器。
现在设置开机启动并启动Samba服务器。
- chkconfig --levels 235 smb on
- /etc/init.d/smb start
设置共享文件夹
下面设置的文件夹对所有用户可进入。
建立文件夹/home/shares/allusers并设置权限。
- mkdir -p /home/shares/allusers
- chown -R root:users /home/shares/allusers/
- chmod -R ug+rwx,o+rx-w /home/shares/allusers/
编辑smb.conf配置文件并在文件末尾增加如下代码:
- vi /etc/samba/smb.conf
- [...]
- [allusers]
- comment = All Users
- path = /home/shares/allusers
- valid users = @users
- force group = users
- create mask = 0660
- directory mask = 0771
- writable = yes
如果你希望所有用户能够通过Samba服务器读写他们自己的根目录,可以在/etc/samba/smb.conf文件增加如下代码(确保你已经注释或删除其它的 [homes]区域代码)。
- [...]
- [homes]
- comment = Home Directories
- browseable = no
- valid users = %S
- writable = yes
- create mask = 0700
- directory mask = 0700
现在重启Samba服务器。
- /etc/init.d/smb restart
添加Samba用户
第一步我们先增加系统用户tom,如果你想使用已存在的系统用户,可以略过此步。
- useradd tom -m -G users
- passwd tom
第二步将tom系统用户添加到Samba用户数据库。
- smbpasswd -a tom
键入tom的密码(可以与系统密码不同)。
现在你通过Windows的文件管理器,在文件管理器地址栏输入 \\192.168.1.1(此为服务器的IP),在跳出的对话框输入tom及tom的密码就可以登录Samba服务器,与Linux系统共享文件了。
需要了解更多Samba的资料请访问:http://www.samba.org/
加速
http://www.macosxhints.com/article.php?story=20040324053434397
它建議在 /etc/smb.conf (在 CentOS 中是 /etc/samba/smb.conf) 的 [global] 節段加入:
read size = 1024
socket options = TCP_NODELAY SO_KEEPALIVE SO_RCVBUF=2048 SO_SNDBUF=2048 IPTOS_LOWDELAY
getwd cache = yes
client code page=950
coding system=cap
編輯之後存檔,如果已經有 samba 的 session 在執行 (正在作寫入或讀取的動作),我們仍可以利用下列指令:
service smb reload 或
/etc/rc.d/init.d/smb reload
來重新啟動 samba 而不中斷目前的 session process,速度立刻提昇。