Citrix XenServer 是企业级面向云计算的虚拟平台,有 XenServer, Essentials for XenServer, Enterprise Edition 和 Platinum Edition 三种版本,其中 XenServer 是免费的,和 VMware ESXi 是同级别的竞争产品。XenServer 的安装过程和 VMware ESXi 一样容易,安装完后界面如下。和 VMware ESXi 类似,主要的操作和配置都可以在一个另外一台装有 XenCenter 客户端的机器上完成(和 VMware vShpere Client 一样)。

和 VMware ESXi 有点不同的是,XenServer 不能在 XenCenter 客户端管理界面里直接导入 iso 后安装操作系统,需要先把这些 iso 预存到另一台机器上,然后用 NFS 的方式访问。所以我们先在其他的机器开设一个 iso 目录并收集一些 iso 文件,用 NFS 导出这个 iso 目录,然后在 XenServer 服务器上手动把这个目录挂上,这样才能在 XenServer 和 XenCenter 管理界面里看到所有的 iso 文件,也就是说 XenServer 鼓励你把 iso 文件分开存储到另外一台单独服务器以方便管理。

1.安装 NFS 服务器

安装 NFS 服务器所需的软件包:

# yum install nfs-utils nfs4-acl-tools portmap

和安装任何其他服务器软件一样,安装完 NFS 服务后就需要对 NFS 服务进行配置。输出服务器端的某个目录,以便 NFS 客户端能挂载和访问到这个目录:

# vi /etc/exports

/home/iso 203.166.181.64(rw,sync,no_root_squash) 211.152.40.171(rw,sync,no_root_squash)

203.166.181.64和211.152.40.171上面的用户可以挂载 NFS 服务器上的 /home/iso 目录到自己文件系统里;rw 在这里表示可读可写,sync 资料同步写入到内存与硬盘当中,no_root_squash登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!

把 NFS 服务加入系统启动脚本并且手动启动 NFS 服务:

# chkconfig nfs on

# chkconfig portmap on

# /etc/init.d/portmap start

# /etc/init.d/nfs start

确认 NFSv4 服务器成功运行:

# rpcinfo -p

   program vers proto   port

    100000    2   tcp    111  portmapper

    100000    2   udp    111  portmapper

    100003    2   udp   2049  nfs

    100003    3   udp   2049  nfs

    100003    4   udp   2049  nfs

    ...

    100005    3   tcp    750  mountd

检查 NFS 服务器是否输出我们想共享的目录/home/iso

# exportfs

/home/iso       203.166.181.64

/home/iso       211.152.40.171

注意 NFS 使用 portmap,而且新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源,修改这2个配置文件以便 NFS 客户端能正常连接到服务器:

# vi /etc/hosts.deny

portmap:ALL:deny

# vi /etc/hosts.allow

portmap:127.0.0.1:allow

portmap:203.166.181.64:allow

portmap:211.152.40.171:allow 

2.配置NFS服务器的防火墙

NFS 用到的服务有 portmapper,nfs,rquotad,nlockmgr,mountd

通过命令 rpcinfo -p 可查看nfs使用的端口:

其中 portmapper,nfs 服务端口是固定的分别是 111和2049;

另外 rquotad,nlockmgr,mountd 服务端口是随机的。由于端口是随机的,这导致防火墙无法设置。

这时需要配置/etc/sysconfig/nfs 使 rquotad,nlockmgr,mountd 的端口固定。

找到以下几项,将前面的#号去掉。

RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892

service nfs restart

再次查看

设置使 rquotad,nlockmgr,mountd 的端口固定。

vim /etc/services,在文件的最后一行添加:

mountd  892/tcp

mountd  892/udp

rquotad  875/tcp

rquotad  875/udp

nlockmgr 32803/tcp

nlockmgr 32769/udp

重启下nfs服务。 service nfs restart
在防火墙中开放这5个端口
编辑iptables配置文件
vim /etc/sysconfig/iptables
添加如下行:
-A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 875 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 892 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT
-A INPUT -p udp -m udp --dport 111 -j ACCEPT
-A INPUT -p udp -m udp --dport 875 -j ACCEPT
-A INPUT -p udp -m udp --dport 2049 -j ACCEPT
-A INPUT -p udp -m udp --dport 892 -j ACCEPT
-A INPUT -p udp -m udp --dport 32769 -j ACCEPT
保存退出并重启iptables
service iptables restart 
3.配置NFS客户端(即xenserver)
首先启动 portmap:
# /etc/init.d/portmap start
检查 NFS 服务器端是否有目录共享:
#showmount -e 211.152.40.162
Export list for 211.152.40.162:
/home/iso 211.152.40.171,203.166.181.64
#xe-mount-iso-sr  211.152.39.162:/home/iso
成功挂载后,在 XenCenter 控制台上(目前 XenCenter 只有 Windows 版本)就可以看到所有的 iso 了:

 剩下就好办了,有了 iso 就可以直接安装操作系统了,注意如果机器 CPU 不支持全虚拟(Intel VT 或 AMD SVM)的话会导致安装失败、报错:

xenserver-imtxsji: HVM is required for this operation

INVALID_SOURCE - Unable to access a required file in the specifiedrepository:

file:///timp/cdrom-repo-RZ1Yem/install.386/xen/vmlinuz. 

如果是这样的话就只能通过网络(Install from URL)安装半虚拟系统了。