XenServer部署系列之04添加共享存储安全
做业环境服务器
XenServer服务器网络
OS:XenServer 6.2ide
Hostname:xsr01spa
Eth0 IP:192.168.0.241/24操作系统
Gateway:IP:192.168.0.1/24设计
NFS服务器3d
OS:CentOS 6.4unix
Hostname:nfs01日志
Eth0 IP:192.168.0.204/24
Gateway:IP:192.168.0.1/24
运行软件:nfs,rpcbind
1、关于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部署实录——系统安装及许可》一文中已述,这里不表。
2、搭建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(这个最简单),不然对方访问不过来。
3、添加NFS VHD
在客户端使用XenCener链接远端xsr01主机。如下的操做在XenCenter上进行。
右击xsr01主机,在弹出的菜单中选择“New SR”,将弹出“New Storage Repository”对话框,再在里面进行相关的设置。以下图所示。
选择“NFS VHD”类型。
为该SR设置一个名字,这里采用默认命名。
填写nfs共享目录的路径。注意了,中间有个冒号的。
添加成功后,在xsr01下能够看到添加了一个名为“NFS virtual disk storage”的项目,而且自动成为默认的本地存储。
选中“NFS virtual disk storage”,在界面右则 “General、Storage、Logs”选项卡中,能够看到其容量、存储内容、日志等信息。
若是添加不成功,提示“The SR failed to complete the operation.Check your setting and try again.”请检查防火墙。
4、添加NFS ISO
操做过程与添加NFS VHD相似,以下图所示。
在“Storage”选项卡中,能够看到,此时ISO存储仓库里有两个ISO镜像可用。
5、添加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加入了域控,这里还须要设置访问权限。)
如下的操做在XenCenter上进行。操做过程与添加NFS VHD相似,以下图所示。
注意,这个路径的写法与前面nfs的路径不一样。若是该Windows XP加入了域控,这里须要填写被容许访问的用户名及其密码,固然,也可使用Windown XP本地管理员账号及密码进行验证。
6、其余
以上操做顺利完成后,在新建虚拟机时,便用能够选用“CIFS ISO library”或“NFS ISO library”中的ISO镜像(好比CentOS6.4),做为安装源。
虚拟机的虚拟硬盘,默认存储到“NFS virtual disk storage”存储仓库,固然,也能够选择本地原有的本地存储“Local storage on xsr01”。
就单机而言,存储在哪里都同样,但若是是多台XenServer主机,作了资源池,须要进行XMotion等高可用性操做时,NFS共享存储的强大优点就体现出来了。
在实际生产场所,因为使用到存储设备,更多的是使用ISCSI方式添加存储,优点更大。
关于虚拟机的创建、导入、导出、克隆等操做,这里暂且不做表述,留待下一章节。