1、GOS 2.0系统管理员手册2005.5.13文档状态:草案摘要:本文档面向GOS 2.0版软件包使用者,GOS为最终用户提供了基广Web的系统管理 界面,支持资源管理(包括本地的社区内有效服务和全局的服务路由器内虚拟服务)、基 角色的用户管理、访问控制和授权策略管理等GOS核心管理功能,允许用户通过通用浏览 器管理GOS系统。同时,还将文件管理,网格批作业和批作业记帐等面向最终用户的GOS 系统功能集成到网格Portal引擎中,在基J-Portal引擎的网格门户Web应用中实现了友好 的用户界面。本文档将简要介绍GOS的逻辑结构和部署结构,详细说明GOS软件的部署、 安装和配置方法,以及集成
2、在网格Portal引擎之上的各种工具的配置和使用方法。1. 术语42. 预期读者53. GOSV2软件包组成53.1. GOSV2 核心63.1.1. 社区63.1.2. 网程和网程容器73.1.3. 网格路由器73.1.4. 异常机制83.1.5. 安全机制83.2. GOSV2 系统93.2.1. 网格文件系统103.2.2. 网格批作业系统103.2.3. 网格批作业记帐系统103.2.4. 系统异常103.2.5. 系统安全机制113.3. GOSv2 Portal 引擎 和示范 Portal113.3.1. GOS v2 Portal 引擎113.3.2. 示范 Portal114.
3、 GOSV2部署124.1. 单点部署124.2. 多点部署135. GOS V2安装135.1. 硬件环境135.2. 网络环境145.2.1. IP 设置145.2.2. 防火墙设置145.3. 软件环境145.3.1. 需用户预先安装的软件145.3.2. 已包含在GOS v2中的软件145.4. 安装过程145.4.1. G0Sv2系统库和系统环境的安芸155.4.2. G0Sv2核心服务、系统服务的数据库和配置文件初始化166. GOS V2 配置186.1. 数据库1862 GOSV2 核心1863 .GOSV2 系统186.3.1. 网格文件系统1863.1.1. 网格文件元数据
4、服务1863.1.2. 网格文件数据服务196.3.2. 网格批作业系统1963.2.1.批作业服务配置1963.2.2.批作业业动配置206.3.23.gndmap 配置206.324.批作业应用相关配置201.1.3. 网格批作业记账系统211.1.1. 1,数据库配置211.1.2. ADP (Account Data Provider) 221.1.3. AS (Account Scivicc) 231.1.4. .ADA (Account Data Aggregator) 231.4. GOS V2安全机制241.4.1. 生成代理证书配置251.4.2. 客户端配置261.4.3.
5、 服务端配置271.5. GOSv2 Portal 引擎和示范 Portal297. GOS V2 启停297.1. 启动 GOSV2297.2. 停止 GOSV2298. GOSV2工具使用298.1. 网格路由器连接管理298.1.1. 在一路由器上将另一路由器加为邻居298.1.2. 在一路由器上删除一邻居路由器298.1.3. 启动路由器服务308.1.4. 停止路由器服务308.2. 社区用户管理308.2.1. 用户管理中数据的格式308.2.2. 用户管理界面308.2.3. 用户管理308.2.4. 用户申请管理318.2.5. 组管理328.2.6. 角色管理338.3. 服
6、务管理358.3.1. 用户登陆3583.1.1. 登陆界面3583.1.2. 服务管理界面368.3.2. 服务浏览378.3.3. 各级服务管理371.1.1. 社区级服务管理381.1.2. .有效服务管理391.1.33. 虚拟服务管理411.1.34. 物理服务管理428.4. 访问控制策略管理438.4.1. 添加访问控制策略448.4.2. 查询/更新/删除访问控制策略458.4.2.1. 查询访问控制策略458.4.3. 2.访问控制策略列表468.4.23. 更新访问控制策略478.4.24. 删除访问控制策略488.5. 网格文件管理498.5.1. 网格文件系统整体界面4
7、98.5.2. 用户空间导航498.5.3. 文件浏览50854.创建文件/目录与查询518.5.5. 删除文件/目录518.5.6. 文件上传518.5.7. 文件授权和撤销文件授权528.6. 网格批作业538.6.1. 批作业提交538.6.2. 作业状态管理538.6.3. 网格批作业系统应用示例一核酸序列数据库检索程序(Blast) 548.631. Blast 作业提交548.632. Blast批作业状态管理548.633. .结果查看558.7. 网格批作业记帐558.7.1. 明细信息页面558.7.2. 统计信息页面561.术语 服务在GOS以及基GOS的网格系统中,服务分
8、为物理眼务、虚拟服务和有效服务。物理服务 是指宿主在服务容器中的,具有同定URL端点地址的,具有确定语义的Web服务、OMH 服务或GT3/4服务:虚拟服务是指已注册到服务路由器中的物理服务:仃效服务是指己注 册到社区中的虚拟服务。如无特指,服务即指物理服务。 资源在GOS以及基卜GOS的网格系统中,由物理服务管理的文件或数据库/表,或更细粒度的 实体称为资源。 地址在GOS以及戚J- GOS的网格系统中,地址分为物理服务地址、虚拟服务地址和有效服务地 址。分别为物理服务、虚拟服务和疗效服务的访问地址。城地址表示形式如卜表所示。如无 特指,地址即指物理服务地址。物理 服务 地址http:/ho
9、stname:port/suffixes物理服务的URL端点地 址虚拟 服务 地址vres:/router_name:resource_v_name由物理服务注册的路由器 标识和其在该路由器中的 虚拟标识构成有效 服务 地址eres:/agora_name:r e s ou r c e_e_n ame由虚拟眼务注册的社区名 称和R在该社区中的有效 名称构成 服务路由器服务路由器是通过全局唯一的虚拟服务地址定位物理服务地址的Web服务。服务路由器可 互联成任意的拓扑结构,但其更新机制可维护服务定位的单一系统映象性质. 社区在GOS以及基GOS的网格系统中,社区是分散的局部集中的管理中心。社区管理
10、用户、 有效服务到虚拟服务的映射关系以及虚拟服务的访问控制;同时还可以根据介法的服务或资 源访问的请求,签发授权令牌。社区也称为网格社区或Agora。 网程网程是代表用户身份的运行时结构。网程可以存储用户信息,仃效、虚拟或物理服务地址信 息,以及授权信息。并在访问物理服务时,向物理服务传送用户身份和权限信息。网程也称 为 gnp。 网格文件存储丁文件服务上的,山文件元信息服务统一管理的,属某个特定用户的文件称为网格文 件。 网格批作业使用网格文件进行stagem和stageout的批作业,其描述脚本能由批作业服务解析的批作业 称为网格批作业. 网格门户引擎网格门户引擎是基卜GOS核心和系统客户
11、端开发库开发的,面向Web应用集成的高层中间 件。管理网程并对用户解蔽网程概念和相应操作,把相应的功能组织起来,并向上提供某 HTTP协议的接I I,并能按照用户在社区中的角色进行权限控制。网格门户引擎也称为Gnd Portal Engme. GPE。 授权在GOS以及基卜GOS的网格系统中,合法用户从社区中获取访问右效服务或虚拟服务,乃 至访问资源的令牌的过程称为授权。 认证在GOS以及基J- GOS的网格系统中,物理服务端通过SOAP消息上卜文获取用户身份, 以及授权令牌(如果存在)并进行验证的过程称为认证。 访问控制在GOS的物理服务端,在完成认证过程后,决定某个SOAP消息能否送达到服
12、务实现的机 制称为访问控制。决定的因素取决于物理服务端访问控制机制的具体实现。 客户端开发库基网程的GOS核心和系统的客户端开发库称为客户端开发库。客户端开发库为用户屏蔽 服务调用的接口.2 .预期读者本文档的预期读者是网格系统管理员。通过本文档,可使网格系统管理员r解gos软件结 构,了解基GOS网格系统的构造方法;了解GOS各重要组成部分的外部功能;掌握GOS 的部署、安装、配置和附带工具的使用。3 . GOS v2软件包组成GOS由一系列标准的Web服务和相应的客户端开发库组成,在客户端和服务端分别由相应 的Handler来实现认证、授权和访问控制等安全机制.GOS软件包的安装目录结构如
13、图1所示。我们将操作系统无关,且与GOS紧密相关的服务 容器(jakarta-tomcat-5.0.28)和第三方类库(如axis 1.2 RC2等)捆绑到GOS软件包中,以 减少第三方软件版本差异带来的意想不到的问题。J G0S2j2sdk1.4.2.07GOS v2 installation and home direcrotyJDK standard edtion installation directoryjakarta-tomcat-5.0.28 Tomcat installation directorybinworkCJ sqiWork directory |劲Sql script
14、 for database initInstallation script and some executablesGOS and third part java librariessrcJava source code of GOS v2Documents of GOS v2conf .Run lime configurations of GOS v2GOSwsdldirectorycertificatesCA information needed for authenticationCertificates for pre-defined rolesRun time logs of GOS
15、 v2 componentsreadmeproxy-User proxy stored by plain fileslicenceParameter Transformer stored by java class files图3.1 GOS v2软件安装包目录结构3.1. GOS v2 核心GOS v2核心是所有网格应用必须使用到的基础的且共性的功能部件,类似操作系统核心。 包括社区服务、网程服务和路由服务,以及异常处理和安全机制。卜面将逐一进行功能介绍。3.1.1. 社区社区服务对用户提供以卜功能: 服务管理 提供有效到虚拟服务映射管理。服务管理包括有效服务的注册/更新/删除,虚拟服 务接
16、入/修改/删除,以及有效到虚拟服务的映射的建立和解除。用户管理 提供用户代理证书管理,其丁角色的用户管理,并通过核心安全机制支持社区访问 控制机制。用户管理包括用户注册/修改/审批/删除,用户角色和组的增加/修改/删 除。 策略管理 提供虚拟眼务的访问控制策略管理。将用户用色和其能访问的虚拟服务(达到服务 操作级别)建立访问控制映射关系,提供增加/修改/删除功能的管理接II.服务访问授权 支持基广令牌的虚拟服务授权机制。根据用户身份和请求资源的访问控制策略动态 签发基SAML的授权令牌。 日志 社区独0:的运行时H志(conunon-log+log4j)功能。3.1.2,网程和网程容器网程服务
17、对用户提供以卜功能:用户交互及认证 提供最终用户交互访问的5个接口,并提供md/pass方式的登录所在社区的接U, 网程会从用户登录社区中获取该用户的proxy证书和profile。通用安全服务调用 根据用户请求资源的需求(仃效/虚拟/物理),自动从用户登录社区中获取相应的 令牌,调用虚拟服务时,先通过路由器定位物理服务地址,然后依调用方式的不同, 可将用户登录社区id、proxy证书和令牌随服务调用请求发送到物理服务端,并得 到调用结果。伪异步服务调用 调用物理服务时,用户可指定服务的调用方式,同步方式为等待服务调用结果,伪 异步方式为不等待服务调用结果,用户需要通过性询结果接U得到上次该服
18、务调用 的结果。日志 网程和PT独在的运行时H志(conmion-log+log4j)功能。3.1.3.网格路由器路由器服务对用户提供以卜功能:虚拟服务到物理服务映射管理 提供物理服务的注册/更新/移动/删除功能。全局物理服务定位 提供物理服务地址的全局单系统映象的定位功能。 路由器信息dump和list 提供用户缺省连接的路由器中本地注册信息和邻居路由器地址信息的dump功能, 以及全局路由器地址信息的list功能。 路由器互联与定时路由信息更新 提供路由器之间互联的功能,并支持互联路由器之间全局路由器地址信息的定时更 新功能。日志 网格路山器独立的运行时氏上(common-log+log4
19、j)功能。3.1.4.异常机制为了使GOS v2的异常机制体系化,解决通用axis异常(GOS v2使用axis作为服务引擎) 信息最不足的问题,GOSv2异常机制对Java异常、第三方类库异常以及axis异常的统一时 装,使客户端能够通过GOS异常还原出错信息,并能够精确定位客户端和服务端产生异常 的代码细节。GOS v2异常机制提供服务端异常的封装和抛出功能,还提供客户端异常捕获 和解析功能。GOSV2异常按GOS的软件体系划分为三类,即核心层异常、系统层异常和物 理层异常。核心层异常 核心层异常由核心代码统一管理,管理的异常包括通用Java异常,GOS v2核心所 使用的第三方类速异常,
20、GOSv2核心(服务实现和安全机制)定义的异常,以及 对axis异常的封装和解封实现。GOS v2核心具有独立且统一的命名空间 (http:/org.ict.vega.gos.exception/)。 系统层异常 系统层异常用r-Gos系统功能的实现和扩展中,如网格文件系统,网格批作业处 理系统等的异常机制中。在GOSV2异常机制中允许用户自行定义扩展异常,拥有 各自独立的命名空间(如网格文件系统异常命名空间为: http:oig.ict.vega.gos.exception/FSLib/)。在服务端,GOS v2 捉供扩展异常的定义(注 册)、封装和抛出功能;在客户端,GOSv2通过一致的异
21、常的处理机制捕获并解析 这些扩展异常。物理层异常 物理层即指服务提供者开发的面向用户的功能性服务。这些服务分为两类,一类是 使用GOS v2异常开发库产生或封装异常;另一类是不采用GOS v2异常开发库产 生或封装异常。对前者,GOSv2异常机制提供物理层异常的产生、封装、捕获 和解析功能;对后者,在客户端,将不能识别异常类别,GOSV2将缺省将这种 异常统一的封装为物理层异常处理。3.1.5.安全机制GOS v2安全机制在社区的功能辅助卜,通过axis的handlerYhains机制提供安全通信,用 户认证,虚拟服务授权,以及访问控制(社区访问控制和物理服务端访问控制)功能。Client S
22、ideSignHandler(wrth proxy or user cert)AddGOSContextHandlerrequest flowSOAP MSG overSSL/TSL(HTTPS)WSClientWSSecuntyHandler GetAttachmentsHandler VerifyCertsHandler VerifyTokenHandler ACHandlerServ-er SideWebServiceWSSecurityHandler GetAttachmentsHandler VerifyCertsHandler VerifyTokenHandlerresponse
23、flowSignHandler (with service cert) AddGOSContextHandler图3.2 GOS v2中端到端的handler-chains示意图如图2所示,从Web服务客户端发出的SOAP消息通过客户踹的handlei-chains处理(签名Jf Jjll 入社区id、proxy证书和授权令牌,或它们的任意组合,称之为GOSContext)后,在服务端 可配宜不同的handle【组合对应不同种情况。如客户端使用证书签名,未使用授权令牌,那么 服务端只需要配置WSSecuiityHandlei和ACHandlei:若客户端使用pioxy证书签名,未使用授 权令牌
24、,则服务端需要配ftWSSecuntvHandler. GetAttaclmientsHandler. VenfvCertsHandlerJJ和ACHandler,因为代理证书不是标准的WS-Secunty实现的一部分,因此,在GOSv2安全机 制实现中放到了 SOAP的附件中携带。 证书 每个GOS的用户均需要获得由GOS信任CA签发的X.509格式的证书,以标识该 用户身份; 每个接入和注册到GOS中的服务均需要获得X.509格式的证柠,以标识该服务的 身份: 目前,GOS v2并不包含CA的功能模块。用户和服务提供者需要通过其它CA申 请或获得相应的证书。 认证 物理服务端认证提供用户证
25、书认证功能;提供用户代理证书认证功能。 社区用户登录认证提供uid pass登录认证功能: 提供代理证书登录认证功能。授权 虚拟服务授权 提供基卜令牌(社区授权权威签名的SAML文档)的服务操作级授权功能。 资源授权提供基令牌的文件级授权功能。 验证授权 提供服务端验证(验证SAML文档签名)的功能.访问控制 物理服务端直接访问控制提供社区访问控制功能:提供物理服务端直接访问控制功能。 基于授权令牌的访问控制提供物理服务端基授权令牌的访问控制功能。通信安全 提供用户透明的消息签名/验签机制; 通过TLS (HTTPS)协议进行传输层加密。3.2. GOS V2 系统GOS v2系统是构建在GO
26、S v2核心之上的系统功能部件,类似操作系统中的系统软件。 目前己经开发完成的部分包括网格文件系统,网格批作业系统和网格批作业记帐系统。GOS ”系统可由用户扩展或定制.加网格数据(信息)库系统、网格监控系统等a卜.面将逐一 进行功能介绍.3.2.5.系统安全机制网格文件系统是基J- GOS v2核心的功能构建的,具仃三层地址空间结构并最终体现为客户 端开发库的文件操作接I I。文件在网格的三个层次分别对应为物理文件,虚拟文件和有效文 件。物理文件是存储在物理文件服务上为网格可用的文件,物理文件名即该文件在文件系统中的 绝对存储位置(/path,to/fUe或dnver:patlitofile
27、);虚拟文件是将物理文件服务虚拟化之后的 标识,虚拟文件名(vres:/router_guid:file_seivice_guid/DN_hash_code/path/to/file)可在基 GOS的网格环境下唯确定文件的存储位置:G效文件是网格用户(社区有效用户)所能 看见的逻辑文件空间,用户可在这个空间中按照需求随意组织文件和目录结构。这个空间中 的每个有效文件(陷式包含用户身份,即用户证书DN)均确定的映射到一个虚拟文件上。对最终用户来说,只需要知道有效文件视图,而无需了解其对应的虚拟文件以及物理文件 具体存储在哪个文件服务上。目前基J-GOS的网格文件系统,通过GOS的网格文件系统所
28、提供的客户端开发库,允许开发者在网格应用中加入网格文件系统所提供的功能。3.2.2. 网格批作业系统网格批作业系统是基J:GOSv2核心的功能构建的,其主要的功能模块包括三部分,即批作 业服务,批作业客户端开发库和批作业奖动。用户可以通过批作业服务操作提交用其能识别 的批作业脚本描述的网格批作业,查询作业状态,取消运行作业等。网格批作业系统使用网格文件系统提供的功能进行文件的stageui和stageout,因此,需要开 发苕先使用网格文件系统客户端开发库将stagein文件上传到该用户的文件空间中,并设定 好stageom的有效文件名称,然后再通过批作业客户端开发库作业提交接I I提交批作业
29、描述 脚本。3.2.3. 网格批作业记帐系统网格批作业系统是基J:GOSv2核心的功能构建的,其主要的功能模块包括两部分,即批作 业记帐服务和批作业记帐客户端开发库。用户可以通过批作业记帐服务操作查询该用户在该 结点上的批作业记帐信息;批作业记帐服务在该结点上定时从本地批作业系统记帐日志收集 用户的记帐信息,并记录到后端记帐数据库中。3.2.4. 系统异常系统异常用卜GOSV2异常的定义和产生。系统异常由GOSV2核心异常扩展而来,用广区 分核心异常,并由GOS系统定义并维护。如网格文件系统和网格批作业系统中分别定义了 各自不同的异常空间,使得不同的系统模块可独立开发,互不干扰。系统安全机制主
30、要指在核心安全机制(服务授权和访问控制)基础上扩展的资源授权机制。 因为GOS v2核心只能对服务操作级的授权和访问控制进行管理,而比服务操作更细粒度的 资源的授权和访问控制则需要通过GOS核心安全机制的扩展接I I来支持。在网格文件系统 中,文件的授权和访问控制利用了这种扩展方式。开发者可在GOS系统层使用这种模式实 现诸如数据底表乃至域或记录级的授权和访问控制。文件授权 基丁社区授权权威 社区授权权威可针对资源(文件或数据库表)访问签发授权令牌。该令牌对比 服务访问授权令牌,内容力.所不同,增加了月服务内部的资源访问描述,如文 件服务所管理的文件存储路径等。文件访问控制 用户可定制的访问控
31、制handler 用户可以在访问控制handler中,根据授权令牌中对文件访问的信息,在服务 的handler层次实现文件或数据库级的访问控制。注:前服务端文件的访问控制handler未实现3.3. GOS v2 Portal 引擎和示范 PortalGOS v2 Portal引擎将基Web的网格应用与GOS核心和系统隔离开,在接I I上比口接使 用GOS v2的客户端开发库更简单,从而使得基Portal引擎的开发更为简洁明了。3.3.1. GOS v2 Portal 引擎GOS v2 Portal引擎建立我GOS v2核心和系统提供的功能基础上,内部采用seivlet技术构 建。Ponal引
32、擎对Web应用开发和集成酉提供标准的HTTP (GET. PUT. POST, DELETE)接 H.从而屏蔽后端GOS中核心和系统服务的调用细节。同时也提供Poml引擎的扩展机制, 可定制,支持二次开发来扩充Ponal引擎功能。Portal引擎提供基社区角色的权限管理机 制,可针对用户角色不同而提供不同的页面呈现。GOS v2 Portal引擎作为GOS v2核心和系统的管理界面,同时也作为Portal的底层支持系统, 提供用户管理,有效服务管理(社区),虚拟服务管理(路由器),授权策略管理,网格文件 管理,网格批作业管理和网格批作业记帐管理的HTTP的功能接II。方便Web应用开发和 集成
33、者使用GOSV2所提供的功能。注:路由器管理功能将在后续版本中补充3.3.2. 示范 Portal以Web页面的方式提供用户管理,服务管理,授权策略管理,网格文件管理,网格批作业管理和网格批作业记帐管理功能。其中,用户管理包括用户注册(申请),用户登录,用户 信息更新,删除用户等功能以及用户角色和组的管理功能;服务管理包括有效/虚拟/物理服 务树状结构浏览,服务注册,服务修改,服务删除等功能:授权策略管理包括用户角色与虚 拟服务的授权(服务操作级)关系管理功能;网格文件管理包括社区合法用户的有效文件浏 览,专/下载文件,创建/修改/删除有效文件/目录,网格文件对社区其它合法用户的授权 等功能;
34、网格批作业管理包括文件的stagem/stageout,网格批作业的提交,状态查沏,作业 删除等功能:网格批作业记帐管理包括社区合法用户批作业帐目查询和汇总等功能。4. GOS v2 部署GOS的部署即是根据用户对网格的实际需求,以及GOS所能提供的功能,规划基J GOSV2 的网格系统的布局。因为GOS v2采用了面向服务的松散耦合体系,故部署方式非常乂活。 下面就典型的网格部署结构加以详细说明。4.1. 单点部署所谓单点部署是将所有的物理服务和GOS核心及系统服务安装在同一个主机(管理域)上 的同一个服务容器中,且不与其它主机(管理域)互联。单点部署是快速建、:GOS实脸环 境的最好方法。
35、单点部署可以将网格门户和其它核心/系统/应用服务分开安装在不同的主机 上,通过内外网或防火墙的划分提高该点的系统安全性。单点部署的网格系统结构如图2 所示。图2基广GOSv2的单点部署网格系统4.2.多点部署所谓多点部署是将GOS (以及网格门户)安装在不同主机(管理域)上的不同服务容器中, 且多主机(管理域)通过路由器服务互联。多点部署中的每个点同样可以将网格门户和其它 核心/系统/应用服务分开安装在不同的主机上,但此时安装GOS核心/系统/应用服务的主机 必须具有公网IP,以便路由器服务之间能够互联互通。多点部署的网格系统结构如图2所To OtherGrid Node 2 Shanghai
36、)Grid ServerLegacyApplicationsHPC Kostina Env.(XH= Creating gripclient. conf= Creating gripcontainer. conf Creating router . confplease input 10.0.6.25 please input 3306please input gos2please input gos2please input rootDBIPAddress:DBPortAddress:DBUserlD:DBUserPassWD:DBSuperName:= Creating router_server. conf and database= Creating databaseEnter password:图5GOSv2安装过程(二) 如图5,请求用户输入服务器的IP地址,比如159.226.40.23:请求用户输入服务器的端口 地址,比如8080 (注意,此处建议用户输入的端II地址为8080,如果用户输入其它端II地 址,一定要在安装完成后,到jakarta-tonicat-5.0.28/bui