网格
两种类型:计算网格和数据网格
计算网格
目标是解决复杂
科学和工程问题
例如天气预报、股票分析管理和医疗诊断
这些问题有很多都超出了人们
解决能力
因此需要依赖于计算机
能力来增强计算
数据网格是
个分布式数据管理系统
它可以支持分布式数据集
管理、协作共享、发布和保护
计算网格根据
些计算问题
解决思路方法来寻找复杂问题
解决方案
数据网格提供了访问组织内部分布式数据集
能力
在理想
环境中
数据网格应该提供计算网格执行操作所需要
骨干
目前数据网格和计算网格的间已经有了很大
差距
然而
这种差距正在
中间件(例如 Globus 和 SRB)
使用而不断缩小
SRB 架构
SRB 是为在网格环境中实现数据管理而设计
个分布式文件系统
它提供了以下功能:
透明复制
实现缓存Cache、数据同步和备份
异构存储特性
容器和聚合数据移动
大量数据
提取
第 3方操作
例如复制、移动
版本控制和数据划分管理
SRB 被划分成 3个逻辑层:客户机、Metadata Catalog (MCAT) 以及 SRB 代理
SRB
核心部分是 MCAT
MCAT
MCAT 是
个用来跟踪名称空间和数据对象到联邦中存储资源
映像
系统
可以使用 MCAT 来确定将给定数据对象所加载
地方、文件
属性、元数据、访问控制列表、存储资源属性和用户数据
通过查询 MCAT
客户机可以简单地查找分布
数据对象
对数据进行复制、传输或同步
执行复杂
查询请求
以及实现其他功能
集合和存储资源
集合非常类似于文件系统中
文件夹或目录
它是
个包含其他集合或数据对象
对象
可以使用集合将数据组织成用户易于访问和理解
逻辑层次
数据对象和最终
物理存储的间
映射关系是通过资源来实现
资源类型有 3种:
物理资源 (Physical resource) 表示数据对象
物理存储位置
例如 UNIX® 或 Linux® 文件系统、关系数据库(如 Oracle 或 DB2®)、磁带驱动器、FTP 或 Web 服务器
等等
逻辑资源 (Logical resource) 用来对
个或多个物理资源进行分组
从而使数据
存储位置信息透明
这样可以实现透明
数据存储
集群资源 (Cluster resource) 可以对幕后
集群文件系统进行有效管理
集群文件系统可以连接物理资源
也可以不连接任何物理资源
在进行故障恢复时
集群资源非常有用
此时集合可以从
台失效
服务器上转换到另外
台服务器上
这样就可以让它们共享同样
数据了
SRB 快速入门
对于这个举例安装来说
我们创建了
个由两节点组成
数据集群
这两个节点是两台运行 RLAS V3.x
i386 机器
MCAT 使用
数据库是 PostgreSQL
我们也可以使用其他 RDMBS 系统
例如 MySQL、Oracle 或 DB2
不过 PostgreSQL 是最容易配置
个
另外
这也是 Globus Toolkit 所选择
操作系统
这使我们可以更容易地对长期运行
数据网格和计算网格进行集成
在继续安装 SRB 的前
我们需要以下软件Software:
SRB 安装包(SRB3.4.0.tar
可以从 http://www.sdsc.edu/srb/ 中下载)
SRB 源代码可以以加密
形式提供给教育和政府领域使用
要获得密钥
请和 SDSC SRB 小组联系
PostgreSQl 安装包(postgresql-7.4.7.tar)
Postgres ODBC API(psqlodbc-07.03.0200.tar)
SRB 自动安装 Perl 脚本(
.pl)
要解密 SRB tar 包
请运行下面
命令(需要密钥):
openssl enc -d -bf-cbc -in SRB3.4.0relg_bf.tar -out SRB3.4.0.tar
password:
将所有需要
文件放入安装目录中(例如 /opt/SRB/3.4.0)
编辑自动安装脚本
.pl:
清单 1. 完成 SRB/MCAT 安装需要对
.pl 进行
更改
(131) $SRB_FILE="SRB3.4.0.tar"; # The SRB tar file
(136) $SRB_FILE_ALREADY_DECRYPTED=1; # Set this to 1 the SRB Tar file is
(145) $POSTGRES_FILE="postgresql-7.4.7.tar.gz"; # the postgres release file
(146) $ODBC_FILE="psqlodbc-07.03.0200.tar.gz"; # the odbc release file
(147) $DB_NAME="MCAT"; # Name of the Postgres database to create
(149) $YOUR_ADMIN_NAME="srbAdmin"; # Change this to the name for the srb-admin
(156) $YOUR_ADMIN_PW="secret"; # Change this to a password you want to use
(162) $YOUR_DOMAIN="NCC"; # Change this to the SRB do name you
# would like to use.
(164) $YOUR_ZONE="nccZone"; # Change this to the local zone name you
# would like to use.
(166) $RESOURCE_NAME="nccResc"; # Name of the local SRB resource to use
有了这些脚本和文件
就可以使用清单 2 所示
命令来执行安装过程
清单 2. MCAT 安装过程记录
[vsilva@ebony 3.4.0]$ ./.pl
Perl rindex error detected; retrying
testchar=:s:
initial i=29, retry i=31
rindex workaround succeeded (it appears), continuing
This script is .pl version 3.x, last updated October 31, 2005
This host is ebony
This host full network name is ebony.rtpnc.epa.gov
This host full network address is 134.67.66.53
Your home directory is /opt/home/vsilva
running: ./configure --prefix=/opt/home/vsilva/SRB/3.4.0/pgsql
--enable-odbc --without-readline > /opt/home/vsilva/SRB/3.4.0/A3.log
...
running: ps -el | grep srb | grep -v grep
If the srb server is running OK, you should see srbMaster and srbServer here:
1 S 3089 6604 1 0 85 0 - 2864 schedu ? 00:00:00 srbMaster-3.4.0
0 S 3089 6607 6604 1 85 0 - 3160 pipe_w ? 00:00:00 srbServer
chdir'ing to: /opt/home/vsilva/SRB/3.4.0/SRB3_4_0/MCAT/bin
Step F 6 completed.
...
Step G 1 completed.
running: ./utilities/bin/Szone -M nccZone
ebony '' 'srbAdmin@NCC' '' 'Created Thu Jan 5 16:49:49 EST 2006'
/opt/home/vsilva/SRB/3.4.0/G2.log
Step G 2 completed.
REMOTE_ZONE not d, skipping remote zone ation
running: ./utilities/bin/Sexit
...
For man pages (csh):
alias Sman 'man -M /opt/home/vsilva/SRB/3.4.0/SRB3_4_0/utilities/man'
All done
[vsilva@ebony 3.4.0]$
测试 MCAT 安装
要测试 SRB 守护进程现在是否正在运行
可以使用以下举例
.pl 脚本:
.pl ps
这个命令
输出如清单 3 所示
清单 3. 测试 SRB 服务器进程
[vsilva@ebony 3.4.0]$ ./.pl ps
Perl rindex error detected; retrying
testchar=:s:
initial i=29, retry i=31
rindex workaround succeeded (it appears), continuing
This script is .pl version 3.x, last updated October 31, 2005
This host is ebony
This host full network name is ebony.rtpnc.epa.gov
This host full network address is 134.67.66.53
Your home directory is /opt/home/vsilva
Note: SRB_DIR determined to be SRB3_4_0
Running srb server processes:
1 S 3089 6604 1 0 75 0 - 2864 schedu ? 00:00:00 srbMaster-3.4.0
0 Z 3089 6794 6604 0 79 0 - 0 ct ? 00:00:00 srbServer defunct
0 S 3089 6797 6604 0 81 0 - 3159 pipe_w ? 00:00:00 srbServer
Running postgres server processes:
0 S 3089 6181 1 0 75 0 - 4371 schedu pts/5 00:00:00 postmaster
1 S 3089 6185 6181 0 75 0 - 2071 schedu pts/5 00:00:00 postmaster
1 S 3089 6186 6185 0 75 0 - 1823 schedu pts/5 00:00:00 postmaster
1 S 3089 6606 6181 0 85 0 - 4593 schedu pts/5 00:00:00 postmaster
1 S 3089 6798 6181 0 80 0 - 4593 schedu pts/5 00:00:00 postmaster
Done listing processes at ./.pl line 504.
旦安装完成
对环境进行测试
最简单思路方法就是使用 S 命令
它提供了
组和 UNIX 命令类似
命令行客户机
在测试 S 命令的前
需要使用类似于清单 4
shell 脚本来正确设置环境
清单 4. SRB 环境 shell 脚本
SRB_ROOT=/opt/home/vsilva/SRB/3.4.0
export SRB_DIR=$SRB_ROOT/SRBInstall
export SRB_INSTALL=$SRB_ROOT/SRB3_4_0
export PATH=$SRB_INSTALL/utilities/bin:$PATH
export MANPATH=$SRB_INSTALL/utilities/man:$MANPATH
配置好这个环境的后
清单 5 中给出
命令就会在 SRB 中放入 3 个日志文件
清单 5. 使用 S 命令来测试 MCAT
[vsilva@ebony 3.4.0]$ Sinit
[vsilva@ebony 3.4.0]$ Sput A1.log
[vsilva@ebony 3.4.0]$ Sput A2.log
[vsilva@ebony 3.4.0]$ Sput A3.log
[vsilva@ebony 3.4.0]$ Sls
/nccZone/home/srbAdmin.NCC:
A1.log
A2.log
A3.log
[vsilva@ebony 3.4.0]$ Sexit
SRB 命令行客户机配置
SRB S 命令由两个环境文件控制
:.MdasEnv 和 .MdasAuth
它们位于用户主目录
.srb 目录中
文件 .MdasEnv 中包含了用户名、主集合、域名、SRB 主机、端口和身份验证模式
文件 .MdasAuth 包含
行在安装 MCAT 主机时用来表示密码
数据(有关 .MdasEnv
语法
请参见清单 6)
清单 6. MCAT/Agent 环境文件 .MadsEnv
# SRB MCAT Installation parameters
# The password resides in .MdasAuth
mdasCollectionName '/nccZone/home/srbAdmin.NCC'
mdasCollectionHome '/nccZone/home/srbAdmin.NCC'
mdasDoName 'NCC'
mdasDoHome 'NCC'
srbUser 'srbAdmin'
# MCAT Host
srbHost 'ebony.rtpnc.epa.gov'
#srbPort '5544'
defaultResource 'nccResc'
# Authorization Schemes
#AUTH_SCHEME 'PASSWD_AUTH'
#AUTH_SCHEME 'GSI_AUTH'
AUTH_SCHEME 'ENCRYPT1'
SRB 代理快速入门
有了 MCAT 的后
添加代理或分布式数据节点/资源就会非常简单:只需要在源发行版中运行下面
配置脚本即可:
$ ./configure --enable-dir=PATH_TO_DIRECTORY
$ make
$ make
在安装完成的后
就可以告诉代理假定连接到哪个 MCAT 上
这可以通过编辑 $SRBINSTALL/data/mcatHost 文件实现:
清单 7. Agent/MCAT 配置文件
[srb@misora8 data]$ more mcatHost
# The MCAT enabled host file.
# Line 1 is the host address of the MCAT enabled host.
rtpmeta.epa.gov
# Line 2 is the AUTH_SCHEME used to connect the MCAT enabled server.
# Valid schemes are : PASSWD_AUTH, SEA_AUTH, SEA_ENCRYPT,
# GSI_AUTH, GSI_SECURE_COMM
ENCRYPT1
# Line 3 is the DN of the MCAT enabled server (If using GSI).
/C=US/O=NPACI/O=DICE/UID=srb/CN=Storage Resource Broker
要启动 SRB 节点
请运行 $SRBINSTALL_DIR/bin/runsrb 命令
有关举例输出
请参见清单 8
现在可能
没有成功编辑 MCAT 配置文件 mcatHost 而导致出现
清单 8. 代理启动脚本
findServerExec: found "/lhome/srb/srbInstall/bin/srbServer" using argv[0]
logFile: ../data/srbLog opened successfully.
getAndQueHostName: gethostbyname error for mda-18.sdsc.edu ,errno = 29
LocalHostName: misora8,
localhost, misora8.rtpnc.epa.gov, 134.67.248.92, Port Num: 5544.
Local storage vault conf:
storSysType: 0, vaultPath: /lhome/srb/Vault/
Local Zone :
ZoneName = nccZone HostName = rtpmeta.epa.gov PortNum = 5544
Remote Zone :
NOTICE:Jan 20 09:13:53: srbMaster version SRB-3.3.1 is up.
findServerExec: found "/lhome/srb/srbInstall/bin/./srbServer" using argv[0]
srb 9741 1 0 09:13 ? 00:00:00 ./srbMaster-3.3.1 -d 1 –S
SRB 代理请求
该代理
测试过程和 MCAT
测试过程相同
S 命令可以用来连接 SRB
并将
些测试文件放入 SRB 空间中
但是
MCAT 需要通过创建新位置和物理资源来了解代理
存在
对 MCAT 使用
代理配置
构建这个数据网格
最后
个步骤是通过创建新位置和物理资源(它指向远程节点上
个文件系统)来使用 MCAT 注册新代理
在使用 SRB MCAT Java™ Administration 工具
Windows® 或 Linux 系统(参见图 1)上
很容易实现这
点
请在命令行窗口中运行下列命令:
java -jar SRB3_4_0/MCAT/java/mcatAdmin.jar
图 1. Java MCAT Administration 工具
开发
J2EE 集成 N Y N Y Y
XML 模式 Y Y N Y Y
Java、C API Y Y N Y Y
要了解这些特性
详细内容
请向作者咨询
SRB 和 Globus Toolkit
集成
在理想
环境中
数据网格为计算网格(例如 Globus)软件Software提供了数据中枢
SRB 是对这两种软件Software进行集成
路线图上
第
步:
SRB 支持 Grid Security Infrastructure (GSI)
这是集成过程中重要
步
有了 GSI
客户机和节点可以使用 Globus 用户/主机证书对 MCAT 进行身份验证
但是
服务器需要使用 Globus Toolkit 库进行编译;因此安装和证书配置过程对于新手来说太复杂
现在已经开始启动了几个集成项目
另外几个 Globus Toolkit V4/SRB
集成项目也已经展开工作了
有些项目就放在 Globus.org 上
其中比较优秀
有:
GridFTP 用于 SRB
数据存储接口 (DSI) —— 它提供了
个从 GridFTP 到 SRB 存储 (GridFTP on SRB)
接口
这也是 SRB 发行版中从 SRB 到 GridFTP
个接口
这个接口在有些情况下可能会非常有用 —— 不过由于用户正在使用 GridFTP 来获取 SRB 数据
因此很多 SRB
功能都无法使用
此外
由于数据是通过
个网关进行传输
因此性能十分有限
SRB DSI 是和 ANL
起合作创建
SRB Java Commodity Grid Kit (CoG) 集成 —— 其目标是通过 Globus API 公开 SRB 提供
大部分功能(即数据传输和元数据查询)
这些 API 包括 Java CoG、WSRF 传输服务、RFT 和发现服务 (MDS)
结束语
SRB 是
个数据网格系统
它负责协调在局域网和广域网上分布
客户机和服务器主机
以便对存储资源、数据和元数据提供透明访问
SRB 通过
组统
API 提供了对 LAN/WAN 上各种类型
数据存储
访问
并对有关每个存储对象
元数据进行维护
它提供了用来访问数据对象和查询属性
思路方法
但不必知道这些数据对象
名字和位置
此外
SRB 还为两个或多个独立
SRB 系统提供了
些用来对这些 SRB 系统上
数据进行交互或无缝访问
联合设备