基于XENServer 的数字图书馆云服务平台实现研究

2010-06-11 11:03赵华茗李春旺
电信科学 2010年1期
关键词:计算资源门户服务平台

赵华茗,李春旺,周 强

(中国科学院国家科学图书馆 北京100190)

1 引言

信息多源和爆发促使互联网计算资源的组织分配及使用模式走向了虚拟化,促使信息服务走向了规模化、集约化和专业化。云计算因其具有灵活、低成本、绿色节能、动态可伸缩的IT基础架构,成为实现信息服务规模化、集约化和专业化的主要技术途径之一,云计算也因此成为当今企业界、学术界的研究热点。

“云计算是一种基于互联网的大众参与的计算模式,其计算资源包括计算能力、存储能力、交互能力等等,都是动态的,被虚拟化了的,而且是以服务的方式提供”,将有益于信息服务规模化、集约化和专业化的云计算平台应用到作为信息资源重要载体的数字图书馆,无疑会为数字图书馆信息服务带来革命性的转变,有力提升信息互动和知识融合及创新能力。2009年,我们以“数字图书馆云计算应用研究”为题,致力于云计算在数字图书馆信息服务建设中的应用研究,搭建支持个性化、学科化服务的高效、节能减排、绿色的云计算服务平台,提供简单、灵活、多样的信息服务布署与迁移能力。本文将从系统设计、关键技术、系统实现等方面介绍中国科学院国家科学图书馆(以下简称国科图)云计算服务平台的构建过程。

2 国科图云服务平台设计

2.1 设计目标

随着国科图知识化、学科化服务的深入推进,对网络技术和信息环境的依赖越来越大,依托网络技术为课题组提供综合信息服务的需求也越来越多,伴随综合信息服务所出现的相对应的软、硬件支撑需求也越来越庞大。在这种情况下,提供有针对性、虚拟、可快速部署的服务应用平台将是很好的选择和解决方案。国科图的解决方案就是搭建数字图书馆云服务平台,旨在解决以下两个问题。

·有效防止服务器蔓延。通过虚拟技术将类似的应用服务器整合到相对集中的资源池中,提高应用稳定性的同时提高计算资源的利用效率。网络管理人员可以通过可视化监控界面动态配置、调整调度服务器及存储设备,有效整合现有计算资源,逐步形成减排、绿色节能的网络资源中心。

·加速个性化信息服务布署能力。通过通用服务应用映像模板,用户可以简单、灵活地创建具有基础应用软件的虚拟服务器,减少传统的操作系统及相关应用软件的安装配置时间,使信息服务人员更专注于个性化的业务创新建设和服务发布,形成快速、简单灵活、多样的信息发布与服务能力。

2.2 整体架构

依据上述目标,国科图云服务平台由资源管理子系统和服务门户子系统两部分组成。资源管理子系统部署在所有云计算服务平台环境中的物理设备上,是管理和控制网络计算资源的系统,对信息服务人员(终端用户)不可见,网络管理人员通过它动态整合计算资源,包括服务器和存储设备,具有集中式多节点管理、多服务器资源共享以及实时迁移等多种强大的功能。服务门户子系统部署在与资源管理子系统同一网段上的物理服务器或虚拟服务器上,是为信息服务人员提供的简单、个性化、虚拟化的信息服务器管理门户,其功能包括虚拟服务器的创建、运行、卸载等整个生命周期过程的各个环节。整体架构如图1所示。

2.3 技术思路

以虚拟技术(XENServer)作为整个云计算服务平台的基础构架和支撑,通过XENServer软件实现对物理设备资源的规模化控制和整合;通过XENCenter软件实现监控、动态调配物理设备资源、存储设备资源和虚拟设备资源,形成对计算资源的规模化和集约化管理,同时实现虚机实时迁移等高可用性应用;通过Eclipse集成开发环境开发简单的面向信息服务人员的虚拟服务器管理门户平台,结合XENServer API和Tomcat信息服务器为信息服务人员提供专业化的虚拟服务器使用界面,形成简单、灵活、多样的信息服务布署与迁移能力;通过postgresDB[1]数据库保存并同步云计算服务平台环境中资源层和应用门户层之间的虚拟设备使用状态参数。云计算服务平台的技术构架如图2所示。

3 XENServer虚拟技术

虚拟技术是整个云计算服务平台基础构架技术。目前,典型的虚拟机技术实现有 Critrix XENServer[2,3]、VMware ESXServer[4]、Microsoft Hyper-V[2]等。相较其他两种,Citrix XENServer具有更好的安全性、兼容性和开源性。

Citrix XENServer是在XEN开源系统管理程序基础上开发的,支持裸金属硬件虚拟化架构,使用半虚拟化和硬件加速组合技术,保证虚拟机的高性能和更简单的瘦虚拟机管理。使用特权域管理设备驱动,具有较好的兼容性、安全性和稳定性,特权域是XENServer系统的一部分,无需单独安装,运行在虚拟机管理程序之上,是固化好的Linux实例。XENServer支持包括 Windows、Linux等在内的操作系统。目前,除“Citrix Essentials for XENServer”外,都是免费的,包括动态实时迁移、智能服务器维护、共享虚拟机临时库等。

图2 国科图云服务平台技术构架

4 国科图云服务平台实现

4.1 资源管理子系统

国科图云服务平台的资源管理子系统是提高计算资源利用率的关键,负责整个虚拟环境中的硬件和虚拟硬件的生命周期管理及资源使用情况的监控处理,如服务器开关机及动态迁移、存储空间的使用率和服务器处理器及内存的使用率等,是整个国科图云服务平台的基础平台。资源管理子系统由免费的XENServer软件、服务器及存储设备等计算资源硬件构成,其中XENServer将物理服务器配置成可虚拟化的资源,通过XENCenter整合已安装配置XENServer的物理服务器形成可伸缩的虚拟化环境。服务门户子系统通过XENServer API的XE CLI(command line interface)实现对该基础构架平台的控制和简单管理。技术架构如图3所示。

(1)XENServer服务器的主要安装配置过程

·XENServer要求安装在64位X86服务器上(因为,32位服务器不支持64位的虚拟机),并且不支持多系统和多系统引导,不能再安装运行其他应用程序,有需要的话,原服务器上的数据和资料要注意另行妥善保存;

·下载刻录XENServer安装盘,重启服务器,并按提示开始安装;

·配静态IP地址,因为后期资源池不支持DHCP动态IP;

·如果在后面的资源池中只托管Windows虚拟机,那么在提示放入第二张CD(FREE_XENServer-5.5.0-linux-cd.iso)时,可以选择“NO”跳过;

·Root Passwd要记住,后期连接XENServer host时要用到;

·NTP Server可配置为默认的“pool.ntp.org”,设备之间的时间同步很重要;

完成安装并重启服务器,重启后,该服务器资源情况可使用“xsconsole”命令进入系统配置接口,也可以使用安装在其他服务器上的XENCenter管理器,通过“xsconsole”命令进入。

(2)XENCenter管理器的安装配置过程

·XENCenter安装要求有.NET framework version2.0 or above支持;

·安装前,确认没有老版本的 XENCenter,否则要在“添加/删除程序”中卸载;

·点击“XenCenter.msi”开始安装,安装过程中要注意XENCenter的安装路径,推荐修改为“C:CitrixXenCenter”,以确保后期调用XENServer API时不会出现路径指向问题;

(3)通过XENCenter管理器整合物理资源、管理虚拟资源

安装XENCenter后,需要连接XENServer服务器,形成完整的虚拟环境。为充分利用虚拟平台的动态资源调度特性,要注意以下几点:

·创建资源池,所有XENServer主机需要有静态地址,

其中一台为资源池的管理机,其他物理主机作为普通服务器加入,所有主机的管理员和密码最好相同;

·创建资源池级的存储库,在创建基于NFS VHD存储库的 “New Storage Repository”窗口中,注意”Share Name:”的填写格式,原提示不准确,正确的格式为“:/”,NFS服务器要提前配置好。

4.2 服务门户子系统

国科图云服务平台的服务门户子系统是一个简单的虚拟应用映像和虚拟服务器的管理门户。通过它信息服务人员可以简单、灵活地完成个性化的虚拟服务器创建和快速部署。主要功能包括信息服务人员的认证管理、虚拟服务器管理、虚拟应用映像模板管理、地址管理和虚拟环境的监控等。

4.2.1 开源开发环境及实现工具

开源技术由于其自身开放性和免费等优势,近年来应用实例越来越多,在开发服务门户子系统时也广泛采用开源技术,同时考虑到系统扩展可能遇到的跨平台和可移植性问题。系统开发环境和工具使用如下组合:开发语言使用Jsp脚本,开发环境是Eclipse6.0,存储数据库软件采用的是PostgreDB,信息服务器发布平台是Tomcat5.5。目前的系统运行环境是Windows Server 2003操作系统。

4.2.2 关键技术接口实现

(1)数据库接口

国科图云服务平台开发使用通用的异构跨平台技术,数据库接口方式是JDBC[5]。JDBC是实现Java应用与各种不同数据库对话的方式或一种机制,使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。换言之,用户不需要为每一个关系数据库单独写一个程序。JDBC允许开发者利用 Java平台的”Write once,run anywhere”这一特性,开发者甚至可以在不同环境下连接各种不同的数据库。国科图云服务平台使用的是连接开源数据库PostgresDB的JDBC接口,具体配置略有不同。

关键代码如下:

(2)远程网络配置接口

远程网络配置接口是在系统中通过简单配置直接在远端完成目标服务器的网络配置修改功能。国科图云服务平台通过该接口主要完成对虚拟服务器创建后的网络配置任务。这里我们主要用到PsExec[6]和Netsh[7]两个配置工具。

PsExec是一个轻型的 Telnet替代工具,它使您无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性。国科图云服务平台通过PsExec将封装好的Netsh网络配置文件上传到远端虚拟服务器并执行它,实现远端服务器网络配置。

关键代码如下:

注意事项:

·某些反病毒扫描程序会报告其中的一个或多个工具感染了“远程管理”病毒。这些 PsTools都不带病毒,但是如果病毒使用了这些工具,则它们可能触发病毒通知。

· PsExec 可在 Windows Vista、NT 4.0、Windows 2000、Windows XP和Server 2003(包括 64位版本的Windows)上运行。

Netsh 是 Windows 2000、Windows XP、Windows Server 2003操作系统自身提供的命令行脚本实用工具,它允许用户在本地或远程显示或修改当前正在运行的计算机的网络配置。为了存档、备份或配置其他服务器,Netsh也可以将配置脚本保存在文本文件中。通过Netsh命令对服务器网络设置进行备份,简单、方便且快速、有效,无需其他软件辅助。

关键代码如下:

远程网络配置接口注意事项:

PsTools工具对于中文识别有问题,address name一般都为“本地连接”。如果通过PsExec执行远程的cmd命令,那将无法正确执行Netsh的命令,除非address name的值是英文的。所以,国科图云服务平台的所有映像模板的网络连接名称都改为“local”。

(3)XENServer的 API

国科图云服务平台通过XENServer的API将服务门户子系统和资源管理子系统无缝连接起来,结合Runtime.getRuntime().exec方法执行接口命令,屏蔽复杂的服务器资源管理,提供简单灵活的应用布署能力。

关键代码如下:

虚拟服务器生命周期相关的XENServer API命令:

计算资源监控相关的XENServer API命令 (资源紧张时,门户平台将弹出“无法创建新的虚拟服务器”的提示):

(4)Tomcat信息服务器参数配置

为方便国科图云服务平台的布署、开发、多语言支持和终端用户使用,作如下参数改动:修改Tomcat的默认根目录为系统开发目录,端口号为80,添加对世界通用的语言编码uft-8字符集的支持;所有参数修改都在Tomcat安装目录下面conf目录下的server.xml配置文件中完成。

关键代码如下(斜体部分为修改的部分):

5 国科图云服务平台实现效果

国科图云服务平台已在测试运行中,注册用户通过“选模板→创建服务器→启动服务器→服务器网络配置→完成(服务器重启)”即可简单实现虚拟服务器的创建。通过关闭、重启、Web远程桌面、FTP数据传输等链接可简单实现对所创建的虚拟服务器的多层次管理。虚拟服务器管理界面如图4所示。

6 结束语

国科图云服务平台有效地整合了现有计算资源,提高了资源利用率,同时实现了信息服务布署与迁移的简单、灵活、多样。系统基础框架选择的XENServer是一款较为成功的虚拟化基础资源构架平台;个性化虚拟环境参数保存使用开源的postgresDB数据库,可以在一定程度上保证整个云服务平台的稳定;开源技术在开发过程中的广泛使用也将为进一步的功能拓展打下良好的基础。

笔者通过一个实际的数字图书馆云服务平台开发过程,详细介绍如何搭建此类型服务平台的思路和整体解决方案,希望能够为具有相同需求的同行提供一定的参考和借鉴,有助于指导数字图书馆云计算应用领域问题的解决。后续工作是增加对Linux虚拟服务器的创建和管理的支持,拓展国科图云服务平台的适用性和灵活性。

1 Postgresql,http://www.postgresql.org,2010

2 Ian P,Keir F,Steven H,et al.XEN 3.0 and the Art of Virtualization,http://www.linuxsymposium.org/2005/linuxsymposium_procv2.pdf,2010

3 Technical and commercial comparison of Citrix XENServer and VMware,http://www.citrix.com/site/resources/dynamic/salesdocs/XS_vs_VMware_comparison.pdf,2010

4 VMware vSphere,http://www.vmware.com/products/esx,2010

5 Java SE Technologies,http://java.sun.com/javase/technologies/database,2010

6 PsExec,http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx,2010

7 Using Netsh,http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netsh.mspx,2010

猜你喜欢
计算资源门户服务平台
打造一体化汽车服务平台
关隘:要道门户
西域门户——两关遗址
基于模糊规划理论的云计算资源调度研究
江苏省一体化在线交通运输政务服务平台构建
论基于云的电子政务服务平台构建
改进快速稀疏算法的云计算资源负载均衡
基于内外网门户系统的研究
基于云计算的民航公共信息服务平台
基于Wi-Fi与Web的云计算资源调度算法研究