如果服务器的相同数据能够被共享,就可以节省大量的存储资源。而后端集中存储服务的出现使得这种共享成为了可能。
现代计算机系统越来越多地被应用在公共计算中心、数据中心和大型企业等开放环境下。这 些环境所共有的一个显著特点是对计算机系统提供服务的种类和数量的需求具有很高的动态性和不确定性。为了满足可能出现的峰值服务需求,这类系统通常不得不配置额外的服务资源。
American Power Conversion公司的客户调查显示,通常信息中心的计算资源达到其实际所需资源的4倍(即75%的计算资源被长期闲置),开放系统的容量利用率仅为40%~50%。在这样的环境下,以资源共享的形式来满足用户的动态变化的服务需求就变得很有意义。一方面,当某一服务需求撤销时,将提供该服务的计算资源和存储资源用于满足新提出的服务需求,能够提高资源的利用率。另一方面,当某种服务需求出现高峰时,系统能够将资源集中起来应对该服务需求。而当该服务需求降低时,资源又可以重新分配给其他服务。这样增强了系统对动态需求的适应能力,系统的健壮性得以提高。
存储层的按需部署
为了解决上述问题,由中国科学院计算技术研究所国家高性能计算机工程技术研究中心自主研发的基于网络存储的新型计算环境管理系统??蓝鲸服务部署系统,它在服务器层次进行资源虚拟化的同时,对存储资源虚拟化进行了较为深入的探索。系统采用了集中式的存储系统,将物理存储资源虚拟化生成逻辑卷作为服务器数据的载体。在存储虚拟化架构上,蓝鲸服务部署系统采用一种新型的复合式快照算法,该算法能够完成服务器数据在存储设备级别上的共享,并使得系统可以在数秒钟内将所需服务器的数据部署完毕。系统在数据共享的基础上进一步应用了缓存共享技术,使得服务器部署用时大为缩短,使系统更适合于服务器需求动态变化的开放环境。
目前某保密单位双网隔离方案和基于PC SAN系统的双网隔离方案对比
该系统是一个满足开放、动态环境的服务器部署管理系统。其服务器部署机制能根据应用环境对不同类型和数量服务器的动态需求,将物理服务器资源与存储资源快速、灵活地结合为可运行的服务器供应用系统使用。蓝鲸服务部署系统的服务器部署架构以底层存储为核心,将服务器映像以网络磁盘的形式和物理服务器进行动态绑定来完成部署工作。在存储层次上蓝鲸服务部署系统采用一种新型的复合式快照架构,并在此基础上应用块设备级别的缓存共享技术,使得服务器部署系统在服务器创建、再分配以及存储空间占用等方面有显著改进。
系统对给定的物理存储资源和物理服务器资源进行管理,将资源整合为可运行服务器提供给应用系统。系统服务部署架构的设计目标有如下几个方面:
服务器按需创建: 当外部系统对提供某种服务的服务器产生需求时,系统能够根据需求创建服务器系统映像,并和物理服务器结合生成实际运行的服务器。这是按需部署系统的核心目标。
资源共享: 当部署系统所提供的某个服务撤销时,提供该服务的服务器资源和存储资源可以被用来提供新的(可能是不同类型的)服务。除此之外,在蓝鲸服务部署系统中资源共享的含义还包括数据共享和缓存共享。即多个服务器系统上的相同数据尽量共享一份存储资源; 在多个服务器读取共享数据时在存储系统中共享I/O通道的带宽,并且使用同一份缓存。
快速部署: 系统在数秒量级的时间生成所需服务器映像,服务器能够使用该映像启动并快速地达到可提供服务的状态。
系统的服务部署模型采用两层虚拟化结构来达成上述目标。下层对存储进行虚拟化,提供存放服务器系统映像的虚拟磁盘; 除此之外还负责完成虚拟磁盘的数据共享和快速复制,提供系统存储资源共享和缓存共享能力。上层通过建立物理服务器和虚拟磁盘间的映射,虚拟出满足需求的服务器节点。其映射机制使得系统能够根据需求动态调整物理服务器节点所提供的服务,从而共享服务器资源。将上层动态映射与下层快速复制以及缓存共享结合起来,此模型能够让蓝鲸服务部署系统具备服务器快速部署能力。
相关技术比较
近年来,关于服务动态部署的相关研究有很多,其中与蓝鲸服务部署系统的研究内容比较相似的典型系统有Oceano、COD和SODA等。
Oceano是IBM实验室提出的为多个客户分配共享资源的系统。Oceano为每一个客户分配一个域,基于SLA(服务品质保障协议)为每一个域提供服务。系统维护一个服务器资源池,根据每一个域对服务需求量和种类的动态变化将服务器提供给具体的域,或者将域中的服务器回收并进行再分配。从系统功能上来说,Oceano与蓝鲸服务部署系统非常类似,都是完成服务器粒度的服务动态部署。但是Oceano中的服务器在本地磁盘上安装操作系统,当服务器提供服务的操作系统平台改变时,需要重新安装操作系统。而蓝鲸服务部署系统中的服务器利用存储服务系统提供的虚拟磁盘上的服务器映像启动操作系统。当系统需要改变服务器提供的服务时,只要将服务器重新映射到和该服务对应的虚拟磁盘即可。虚拟磁盘则通过对服务模板进行快照来完成创建。因而整个更换服务器系统映像的过程可以在数秒内执行完毕。
Oceano为了保证较小的服务器部署用时,将应用程序文件分为只读、公共读写和私有读写三类,通过AFS网络文件服务器进行文件共享和缓存共享。而蓝鲸服务部署系统所提供的是设备块级的共享,不必对其上的操作系统和应用程序有任何理解,因此不需要为新引入的应用进行特殊处理。共享通过复合式快照建立,操作系统和应用程序的数据块只要不被写入就能保持数据共享和缓存共享。
COD(Cluster On Demand)是Duck大学提出的一种集群虚拟化系统。其目的是为简化集群管理,提供灵活、自动的集群部署和管理机制。COD维护一个物理服务器池,在这个基础上创建多个虚拟集群。COD基于PXE Linux等网络启动技术完成服务器节点启动、配置等操作,可以根据需求在虚拟集群间调配服务器节点。在自动启动和配置方面,COD和蓝鲸服务部署系统都利用了WOL、DHCP、PXE等网络启动技术为服务器选择一个服务器映像。COD也支持用户创建自己的服务器映像并作为模板进行部署。但和蓝鲸服务部署系统不同的是,COD使用的是本地磁盘,没有对存储进行集中管理和资源共享。服务器系统映像的部署是通过网络启动的客户端系统将模板直接复制到本地磁盘上来完成的,因此比蓝鲸服务部署系统需要更长的服务器部署时间。
SODA(Service-On-Demand Architecture)是Purdue大学研究的在网格等开放环境下对外提供应用服务的服务按需部署系统架构。SODA基于一个服务器池,通过在单个服务器上运行多个虚拟服务器来提供服务。它并不对实际服务器资源进行管理,而是在实际服务器资源的基础上提供虚拟服务器的按需创建和部署管理。为了在一台服务器上提供彼此独立的虚拟服务,SODA采用了UML(User-Mode Linux)技术在一个Linux操作系统平台上运行多个虚拟操作系统平台。在服务部署方面SODA采用的方法是下载服务器映像到本地运行的方式。映像的下载根据网络情况不同需要一定时间。为了缩短服务器部署用时,映像根据服务需求被裁减到最小的程度,以减小映像下载时间和启动时间。
而蓝鲸服务部署系统的一个关键特性是在存储层次上进行虚拟化,并以网络磁盘的方式将服务器映像动态绑定到物理服务器上完成服务部署。通过在存储虚拟化系统中应用一种新型的复合式快照算法以及在此基础上的共享缓存算法,使系统不仅仅节省了存储资源,也使服务器的部署和启动时间大为缩短,提升了系统按需部署的能力。
通过试验结果可以看出,复合式快照算法和缓存共享算法取得了很好的存储资源共享率和虚拟磁盘的IP性能。在同时部署多台服务器的情况下蓝鲸服务部署系统部署时间的优势更加明显,系统具有良好的可扩展性。
按需部署的技术方案
1. 传统应用模式现状
随着电子商务等一系列网络应用的蓬勃发展,Internet正在逐渐融入到社会的各个方面。一方面,网络用户成分越来越多样化,出于各种目的的网络入侵和攻击越来越频繁; 另一方面,网络应用越来越深地渗透到金融、商务、国防等等关键要害领域。
基于传统的双网隔离应用模式,存在着以下弊端:
■ 数据安全性差;
■ 数据可靠性低;
■ 病毒防护能力差;
■ 内外网切换方式需要人工的干预;
■ 多操作系统的使用、安装与维护的工作量大;
■ 硬盘利用率较低、难以共享,硬盘空间大量闲置;
■ 用户和主机绑定,难以实现移动办公。
2. 双网隔离应用模式
中科院计算所工程中心根据实际的应用需求状况,提供了基于PC SAN系统的双网隔离模式,可以有效地解决传统模式下存在的问题,实现网络、存储和计算全面物理隔离的安全环境,满足双网隔离的安全要求。同时,能够解决企业隔离网应用复杂、受限制、不易管理等方面的问题,实现双网隔离系统的集中管理、快速部署多操作系统共存的应用环境,还能够节省企业在信息化方面的总体拥有成本。
该方案是基于PC SAN系统的双网隔离模式。PC SAN是一种基于网络存储的新型计算环境管理系统,采用全球标准的通信协议TCP/IP,将网络中所有的存储资源集中存储在由高速互联网络连接的存储管理服务器上,在该服务器上虚拟出多个网路硬盘映射给客户机使用。它采用虚拟存储技术,实现数据集中存储、网络硬盘按需分配,借助快照和快速部署技术,实现简单、快速的网络硬盘分配与软件安装; 通过客户机和不同的网络磁盘实现动态映射,使客户机能够按需转换角色,更好地被动态调度并组合计算资源和存储资源,满足不断变化的需求。此外,PC SAN除兼具PC机使用的灵活性和瘦客户机的易管理、安全等特点外,还拥有其独特的需求预约、系统还原、系统快速恢复和IP地址自动分配等功能。
PC SAN系统由PC SAN 存储管理服务器、客户机和iATA卡等硬件通过高速互联网络连接而成。
PC SAN系统物理结构如图1所示。在此系统中:
图1 PC SAN系统物理结构
iATA卡: iATA是类似于iSCSI的技术,它把IDE命令转化为IP包,在IP 网络上传输。iATA卡安装在每台客户机上,将硬盘的IDE协议转换成网络协议,开机后,与经服务器分配的网络硬盘直接挂接,映射到客户机本地使用。
客户机: 即普通PC机,不需要本地硬盘,每台机器加装一块iATA 卡,当客户机开机后,将经服务器映射的网络硬盘,作为自己的本地硬盘来使用。如果原客户机已有硬盘,仍可以将该硬盘作为系统的数据盘正常使用。
存储管理服务器: 它由管理服务器和存储服务器组成,为所有客户机提供集中、统一的存储和管理,实现网络硬盘与客户机或用户映射关系的控制,并为用户提供灵活有效的各种服务,充分利用各台客户机的硬件资源,完成整个系统内部运转的监控和管理工作。
基于PC SAN系统的双网隔离模式网络拓扑图,如图2所示。除了解决数据安全性问题之外,该系统还可以提供系统的快速部署,计算环境的灵活选择等,从而极大地降低计算机运行、维护和管理的总体拥有成本。
图2基于PC SAN系统的双网隔离模式网络拓扑图
在该图中,由两台服务器(内、外网各一台)、一台网络切换器和一台交换机组成,用户通过网络切换器来选择接入内、外网。其组成元素的作用说明如下:
网络切换器: 通过机械开关,实现用户在内、外网间进行切换。
交换机: 推荐用户使用带千兆网口的百兆交换机,即服务器到交换机为千兆,交换机到客户机为百兆。
链接:什么是存储按需部署?
服务器按需部署是希望通过资源共享的方式解决服务提供的问题。但随着存储网络化技术如NAS和SAN的出现,更多的应用服务器采用独立的存储服务器提供其后端存储服务。网络存储服务系统也因其能够增强存储可扩展性、提高资源利用率以及降低存储管理成本而被普遍地采用。因此,对服务器部署的存储特性进行研究,挖掘和发展适合的存储技术来提升服务器按需部署能力具有相当实际的意义。
在服务器环境中,服务器节点的系统数据具有高度的相似性。运行同一操作系统平台的服务器,其OS部分的数据基本都是相同的; 提供同种服务的集群节点甚至连应用程序也完全一样。如果服务器的这些相同数据能够被共享,就可以节省大量的存储资源。后端集中存储服务的出现使得这种共享成为了可能。但如何实现这样的共享,提高服务部署系统的存储资源利用率,这方面的技术进展还很少。
服务器按需部署系统的另一个重要问题是如何获得较短的服务器部署用时。服务器部署用时是指服务器从需求发生至服务器部署完毕可以投入使用所经历的时间。根据其研究结果,部署用时较少的系统在综合性能上优于用时较多的系统。为了获取更快速、更灵活的部署性能,许多相关研究都采用各种策略缩短部署用时。但这些策略主要是针对具体的部署系统而制定的,不能直接应用到存储层次上。