概述
IBM Aspera 是一款数据传输工具,能够在高延迟网络中高效、基于策略地利用网络带宽。它可以与 LSF 数据管理器集成,用于在数据源和暂存区之间传输数据。
适用场景
- Aspera 用于在数据源和暂存区之间传输数据
- 暂存区和执行主机之间的传输不支持使用 Aspera(通常这部分网络足够快,不影响性能)
架构说明
| 组件 | 角色 | 说明 |
|---|---|---|
| 数据传输节点(I/O 节点) | Aspera 客户端 | 发起所有文件传输 |
| 外部数据仓库 | Aspera 服务器 | 数据源和数据目标主机 |
认证方式:Aspera 使用 SSH 公钥进行非交互式认证。请参考 Aspera 文档了解如何生成和配置 SSH 密钥。
配置步骤
LSF 数据管理器可以与任何支持非交互式命令行接口的数据传输工具配合使用。传输工具通过 lsf.datamanager 文件中的 FILE_TRANSFER_CMD 参数进行配置。
步骤一:编写传输包装脚本
创建脚本 LSF_SERVERDIR/ascp_wrap.sh,使 Aspera 的 ascp 命令能够找到 SSH 凭据:
1
2
#!/bin/sh
/usr/bin/ascp -i $HOME/.ssh/id_rsa "$@"
设置脚本为可执行:
1
chmod 755 ascp_wrap.sh
步骤二:配置数据管理器
编辑 LSF_ENVDIR/lsf.datamanager 文件,在 Parameters 部分添加 FILE_TRANSFER_CMD 参数:
1
2
3
4
5
6
7
8
9
10
Begin Parameters
ADMINS = lsfadmin
STAGING_AREA = /var/lib/staging
CACHE_INPUT_GRACE_PERIOD = 1440
CACHE_OUTPUT_GRACE_PERIOD = 180
CACHE_PERMISSIONS = user
QUERY_NTHREADS = 4
REMOTE_CACHE_REFRESH_INTERVAL = 15
FILE_TRANSFER_CMD = /usr/share/lsf/9.1/linux2.6-glibc2.3-x86_64/etc/ascp_wrap.sh
End Parameters
重要:数据管理器不会展开环境变量或配置参数,必须显式指定
ascp_wrap.sh的完整路径。
步骤三:重启数据管理器守护进程
1
bdata admin reconfig
步骤四:验证配置
使用 bdata showconf 命令确认配置已生效:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ bdata showconf
LSF data management configuration at Tue Feb 3 10:34:09 2015
ADMINS = lsfadmin
CACHE_INPUT_GRACE_PERIOD = 1440 (minutes)
CACHE_OUTPUT_GRACE_PERIOD = 180 (minutes)
CACHE_PERMISSIONS = user
FILE_PROCESSING_NTHREADS = 0
FILE_TRANSFER_CMD = /usr/share/lsf/9.1/linux2.6-glibc2.3-x86_64/etc/ascp_wrap.sh
LSB_TIME_DMD = 0
LSF_DATA_HOSTS = hostA
LSF_DATA_PORT = 61729
LSF_LOGDIR = /usr/share/lsf/log
LSF_LOG_MASK = LOG_WARNING
QUERY_NTHREADS = 4
REMOTE_CACHE_REFRESH_INTERVAL = 15 (seconds)
STAGING_AREA = /var/lib/staging
配置参数说明
| 参数 | 说明 |
|---|---|
FILE_TRANSFER_CMD |
数据传输命令的完整路径 |
STAGING_AREA |
数据暂存区目录 |
CACHE_INPUT_GRACE_PERIOD |
输入缓存保留时间(分钟) |
CACHE_OUTPUT_GRACE_PERIOD |
输出缓存保留时间(分钟) |
CACHE_PERMISSIONS |
缓存权限模式 |
QUERY_NTHREADS |
查询线程数 |
REMOTE_CACHE_REFRESH_INTERVAL |
远程缓存刷新间隔(秒) |
注意事项
- 传输命令以作业提交用户的账户运行
FILE_TRANSFER_CMD参数必须是单个可执行命令,不支持直接在参数中传递命令行参数- SSH 密钥需要提前配置好,确保非交互式认证可用