XenServer部署系列之04添加共享存储


作业环境


XenServer服务器

OS:XenServer 6.2

Hostname:xsr01

Eth0 IP:192.168.0.241/24

Gateway:IP:192.168.0.1/24


NFS服务器

OS:CentOS 6.4

Hostname:nfs01

Eth0 IP:192.168.0.204/24

Gateway:IP:192.168.0.1/24

运行软件:nfs,rpcbind



一、关于XenServer存储


XenServer的安装过程,没有分区的操作,系统安装完成后,查看磁盘情况,会发现,即便是1T的硬盘,也只留了4G的空间,并且XenServer系统文件就已经占用了其中的1.9G,只剩下2G的小得可怜的空间,连一个CentOS6.5的系统镜像都放不下。放不了ISO镜像文件,那怎么能安装虚拟机呢?对于初学者而言,这是个头疼的问题。


那么,XenServer如何实现存储扩充呢?在XenServer中的引入存储仓库的概念,存储仓库(SR - Storage Repositories)是用来存储ISO或者VDI的。Citrix官方推荐使用共享存储,这也是XenServer设计的初衷和目标,与VMWare的产品设计很不相同。目前XenServer支持FC SAN、ISCSI SAN和NFS三种存储类型,根据虚拟化类型不同,划分不同的LUN类型来满足使用。此处涉及到存储服务器,对设备成本是有要求的。


文本主要以NFS为例,讲解如何添加共享存储。具体的实现,操作起来并不难,因为大部分在操作,都是在XenCenter上图形界面进行的。


XenServer的安装相关事宜,在《XenServer部署实录——系统安装及许可》一文中已述,这里不表。



二、搭建NFS服务器


首先简单了解一下什么叫NFS。


NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。


NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。


下面开始NFS服务器的搭建,对于熟悉Linux的IT来说,这是件很容易的事情。


本案中,NFS所在的服务器系统信息如下:

OS:CentOS release 6.4 (Final)

IP:192.168.0.204/24

分区:/boot(500M),/(50G),/home(955G),swap(4G)

注,本案中该系统是运行在另一台XenServer上的虚拟机,采用XenServer中的CentOS6.4模板进行安装,采用默认的分区方式。这种做法是最小化安装,许多软件包都没装,包括nfs,得手动安装,比较麻烦。


在Red Hat Linux/CentOS 系统中,NFS的安装非常简单,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

nfs-utils-*:包括基本的NFS命令与监控程序 

rpcbind:支持安全NFS RPC服务的连接(注,这是CentOS6下的软件包,在CentOS 5 中 为portmap)

可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC负责信息的传输。


通过以下命令查看系统是否已安装NFS, 

# rpm -qa | grep nfs

# rpm –qa | grep rpcbind


如果当前系统中没有安装NFS所需的软件包,需要手工进行安装,并设置启动。

# yum install rpcbind*

# yum install nfs-utils-*

# service rpcbind start

# service nfs start

# chkconfig rpcbind on

# chkconfig nfs on

在/home目录创建iso,data两个文件夹,开通过nfs实现共享,分别用作于XenServer的镜像存储仓库和虚拟机存储仓库。

# mkdir -p /home/iso

# mkdir -p /home/data

# vi /etc/exports (注,下面两行为编辑的内容)

/home/data *(rw,sync,no_root_squash)

/home/iso *(rw,sync,no_root_squash)

# exportfs –a


通过以下命令查看共享情况,如果有列出共享目录,则表示共享成功。

# showmount -e 192.168.0.204

Export list for 192.168.0.204:

/home/data *

/home/iso  *


共享设置完成后,要以iptables中开放相关端口(这个有些复杂),或直接关闭iptables(这个最简单),否则对方访问不过来。



三、添加NFS VHD


在客户端使用XenCener连接远端xsr01主机。以下的操作在XenCenter上进行。


右击xsr01主机,在弹出的菜单中选择“New SR”,将弹出“New Storage Repository”对话框,再在里面进行相关的设置。如下图所示。


 XenServer部署系列之04——添加共享存储_第1张图片


选择“NFS VHD”类型。

 

XenServer部署系列之04——添加共享存储_第2张图片


为该SR设置一个名字,这里采用默认命名。

 XenServer部署系列之04——添加共享存储_第3张图片


填写nfs共享目录的路径。注意了,中间有个冒号的。

 

XenServer部署系列之04——添加共享存储_第4张图片


添加成功后,在xsr01下可以看到添加了一个名为“NFS virtual disk storage”的项目,并且自动成为默认的本地存储。

选中“NFS virtual disk storage”,在界面右则 “General、Storage、Logs”选项卡中,可以看到其容量、存储内容、日志等信息。

 

XenServer部署系列之04——添加共享存储_第5张图片


如果添加不成功,提示“The SR failed to complete the operation.Check your setting and try again.”请检查防火墙。



四、添加NFS ISO


操作过程与添加NFS VHD类似,如下图所示。


XenServer部署系列之04——添加共享存储_第6张图片


XenServer部署系列之04——添加共享存储_第7张图片


XenServer部署系列之04——添加共享存储_第8张图片


在“Storage”选项卡中,可以看到,此时ISO存储仓库里有两个ISO镜像可用。


XenServer部署系列之04——添加共享存储_第9张图片




五、添加CIFS ISO


CIFS,也提一下概念。CIFS(Common Internet File System)是Microsoft推出的一款网络文件系统。在Win OS 中,CIFS集成在OS 内部,无需额外添加软件,所有机器都是对等的,扮演双重角色,可以作Sever,也可以是Client。相比之下,NFS要求Client必须安装专用软件。


NFS是独立于传输的,可使用TCP或UDP;CIFS面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP。NFS保留了unix的文件格式特性,如所有人、组等等;CIFS则完全按照Win OS的风格来做。


CIFS在生产环境中使用的不多,但在项目部署的前期及一些临时操作处理上,还是会常用到的。下面演示如何添加CIFS ISO。


首先,当然要有一台装有Win OS的服务器向外进行文件共享。

本案中,CIFS所在的操作系统,是本案XenCenter所在的系统,很普通的一台PC机,信息如下:

OS:Windows XP SP3

IP:192.168.0.102/24

Gateway:IP:192.168.0.1/24


这里将E盘下的ISO文件夹设置为共享。这是IT的基本功,就不多说了。如图所示。(注,本案中,没有域控环境。如果该Windows XP加入了域控,这里还需要设置访问权限。)


XenServer部署系列之04——添加共享存储_第10张图片


以下的操作在XenCenter上进行。操作过程与添加NFS VHD类似,如下图所示。


XenServer部署系列之04——添加共享存储_第11张图片


XenServer部署系列之04——添加共享存储_第12张图片


XenServer部署系列之04——添加共享存储_第13张图片


XenServer部署系列之04——添加共享存储_第14张图片


注意,这个路径的写法与前面nfs的路径不同。如果该Windows XP加入了域控,这里需要填写被允许访问的用户名及其密码,当然,也可以使用Windown XP本地管理员帐号及密码进行验证。



六、其他


以上操作顺利完成后,在新建虚拟机时,便用可以选用“CIFS ISO library”或“NFS ISO library”中的ISO镜像(比如CentOS6.4),作为安装源。


XenServer部署系列之04——添加共享存储_第15张图片


虚拟机的虚拟硬盘,默认存储到“NFS virtual disk storage”存储仓库,当然,也可以选择本地原有的本地存储“Local storage on xsr01”。


XenServer部署系列之04——添加共享存储_第16张图片

就单机而言,存储在哪里都一样,但如果是多台XenServer主机,做了资源池,需要进行XMotion等高可用性操作时,NFS共享存储的强大优势就体现出来了。


在实际生产场所,由于使用到存储设备,更多的是使用ISCSI方式添加存储,优势更大。


关于虚拟机的建立、导入、导出、克隆等操作,这里暂且不作表述,留待下一章节。