华为云GaussDB 505.1 XBSA协议三方备份代理服务 backUpAgent 安装配置指南
运维速查| CentOS 7 x86_64 · GaussDB 505.1.0 分布式 · 日期 2026-07-10
文档信息
| 项目 | 值 |
|---|---|
| 服务器 | <SERVER_IP> |
| 操作系统 | CentOS Linux 7 x86_64 |
| GaussDB 版本 | 505.1.0(分布式) |
| 驱动包 | DBS-GaussDB-driver_505.1/Distributed/Euler2.5_X86_64 |
目录
- 安装前准备
- 安装 backUpAgent
- 生成 SSL 证书
- 启动 backUpAgent
- 目录结构总览
- 常见问题与排障
- SSL 证书传入 GaussDB
- 关键密码汇总
1. 安装前准备
1.1 确认 OS 与架构
uname-m# 确认是 x86_64 还是 aarch64cat/etc/os-release1.2 确认 GaussDB 内核版本
在数据库节点上执行:
su- Ruby-c'source gauss_env_file; gaussdb --version'# 预期输出: gaussdb (GaussDB Kernel 505.1.0 ...)1.3 选择正确的驱动包
根据内核版本 + 部署形态 + OS + 架构四个维度匹配驱动包:
DBS-GaussDB-driver_505.1/DBS-GaussDB-driver/Distributed/ xbsa_driver/xbsa_driver/Euler2.5_X86_64/ GaussDB-Kernel_505.1.0_Euler_64bit_Xbsa.tar.gz提示:CentOS 7 选择 Euler2.5_X86_64 兼容版本。
1.4 关闭防火墙
systemctl stop iptables;systemctl disable iptables iptables -F;iptables-Xiptables-PINPUT ACCEPT;iptables-PFORWARD ACCEPT;iptables-POUTPUT ACCEPT2. 安装 backUpAgent
2.1 上传驱动包
scpGaussDB-Kernel_505.1.0_Euler_64bit_Xbsa.tar.gz root@<SERVER_IP>:/tmp/2.2 解压并安装
关键约束:必须在 Linux 服务器上解压,Windows 解压会丢失符号链接。
cd/tmp&&mkdir-pxbsa_installtar-xzfGaussDB-Kernel_505.1.0_Euler_64bit_Xbsa.tar.gz-Cxbsa_install# 安装到正式目录mkdir-p/opt/backUpAgent/{bin,lib,log}cp-a/tmp/xbsa_install/bin/* /opt/backUpAgent/bin/cp-a/tmp/xbsa_install/lib/* /opt/backUpAgent/lib/2.3 拷贝 UBackup 动态库(关键步骤)
华为驱动包不包含以下依赖库,必须从已安装的 UBackup agent 拷贝:
cp-a.../xbsa64.so /opt/backUpAgent/lib/库职责说明:
| 动态库 | 用途 |
|---|---|
| libxbsa64.so / libxbsa.so / libxbsa1.0.so | XBSA 协议接口库 |
2.4 验证动态库依赖完整性
ldd /opt/backUpAgent/lib/libxbsa64.so|grep"not found"# 无输出 = 依赖完整3. 生成 SSL 证书(如需 SSL 模式)
3.1 准备工作目录
mkdir-p/opt/backUpAgent/sslcertcd/opt/backUpAgent/sslcertcp/opt/backUpAgent/bin/openssl.cnf.cp/opt/backUpAgent/bin/openssl.exportOPENSSL_CONF=/opt/backUpAgent/sslcert/openssl.cnf3.2 创建 demoCA 目录结构
openssl ca 命令依赖标准 CA 目录结构:
mkdir-pdemoCA/newcerts demoCA/privatetouchdemoCA/index.txtecho1000>demoCA/serial3.3 生成根证书(CA)
./openssl req-config./openssl.cnf-new-x509-days3650\-keyoutcakey.pem-outcacert.pem\-subj'/C=CN/ST=Beijing/L=Beijing/O=huawei/OU=gauss/CN=CA'\-passoutpass:<SSL_KEY_PASSWORD># 拷贝到 demoCA 目录cpcakey.pem demoCA/private/cakey.pemcpcacert.pem demoCA/cacert.pem3.4 生成服务端证书
# 1) 生成服务端私钥./openssl genrsa-aes256-outserver.key-passoutpass:<SSL_KEY_PASSWORD>2048# 2) 生成证书请求(CSR)./openssl req-config./openssl.cnf-new-sigoptrsa_padding_mode:pss\-keyserver.key-outserver.req\-subj'/C=CN/ST=Beijing/L=Beijing/O=huawei/OU=gauss/CN=server'\-passinpass:<SSL_KEY_PASSWORD># 3) 用 CA 签发服务端证书./openssl ca-config./openssl.cnf-extensionsserver-batch\-inserver.req-outserver.crt\-subj'/C=CN/ST=Beijing/L=Beijing/O=huawei/OU=gauss/CN=server'\-passinpass:<SSL_KEY_PASSWORD>3.5 生成客户端证书
# 1) 生成客户端私钥./openssl genrsa-aes256-outclient.key-passoutpass:<SSL_KEY_PASSWORD>2048# 2) 生成证书请求(CSR)./openssl req-config./openssl.cnf-new-sigoptrsa_padding_mode:pss\-keyclient.key-outclient.req\-subj'/C=CN/ST=Beijing/L=Beijing/O=huawei/OU=gauss/CN=client'\-passinpass:<SSL_KEY_PASSWORD># 3) 用 CA 签发客户端证书./openssl ca-config./openssl.cnf-extensionsclient-batch\-inclient.req-outclient.crt\-subj'/C=CN/ST=Beijing/L=Beijing/O=huawei/OU=gauss/CN=client'\-passinpass:<SSL_KEY_PASSWORD>3.6 设置权限并清理
cpdemoCA/cacert.pem ./chmod600cacert.pem client.crt client.key server.crt server.keyrm-fclient.req server.req3.7 部署服务端证书
cpcacert.pem server.key server.crt /opt/backUpAgent/bin/3.8 生成 Base64 编码(供 API 传参)
base64-w0cacert.pem>cacert64.pem base64-w0client.crt>client64.crt base64-w0client.key>client64.key这些 Base64 文件内容后续通过「安装三方备份 SSL 证书」API 传入 GaussDB。
4. 启动 backUpAgent
4.1 启动参数速查
| 参数 | 说明 | 示例 |
|---|---|---|
| –host | 服务器 IP(填具体 IP,不是 0.0.0.0) | <SERVER_IP> |
| –port | 监听端口 | 6789 |
| –ssl | SSL 开关:0=关闭,1=开启(默认开启) | 0 / 1 |
| –logPath | 日志输出路径 | /opt/backUpAgent/log |
| –libPath | libxbsa64.so 的文件绝对路径(非目录!) | /opt/backUpAgent/lib/libxbsa64.so |
| –pass | 服务端私钥密码(SSL 模式必须) | <SSL_KEY_PASSWORD> |
4.2 非SSL模式启动
cd/opt/backUpAgentexportLD_LIBRARY_PATH=/opt/backUpAgent/libnohup./bin/backUpAgent\--host=<SERVER_IP>\--port=6789\--ssl=0\--logPath=/opt/backUpAgent/log\--libPath=/opt/backUpAgent/lib/libxbsa64.so\>/dev/null2>&1&4.3 SSL模式启动
cd/opt/backUpAgentexportLD_LIBRARY_PATH=/opt/backUpAgent/libexportOPENSSL_CONF=/opt/backUpAgent/sslcert/openssl.cnfnohup./bin/backUpAgent\--host=<SERVER_IP>\--port=6789\--ssl=1\--logPath=/opt/backUpAgent/log\--libPath=/opt/backUpAgent/lib/libxbsa64.so\--pass='<SSL_KEY_PASSWORD>'\>/dev/null2>&1&4.4 验证启动状态
# 检查进程ps-ef|grepbackUpAgent|grep-vgrep# 检查端口监听netstat-tlnp|grep6789# 查看运行日志cat/opt/backUpAgent/log/remote_server-*-current.log|tail-10成功标志(日志中出现):
- Register XBSA functions success.
- Listen to port 6789, ip: <SERVER_IP>.
- SSL 模式额外出现:Succeed to prepare ssl environment for server.
4.5 停止 backUpAgent
pkill-9backUpAgent5. 目录结构总览
/opt/backUpAgent/ ├── bin/ │ ├── backUpAgent # 主程序 │ ├── openssl # SSL 证书生成工具 │ ├── openssl.cnf # openssl 配置文件 │ ├── cacert.pem # 根证书(SSL 模式) │ ├── server.key # 服务端私钥(SSL 模式) │ └── server.crt # 服务端证书(SSL 模式) ├── lib/ │ ├── libcrypto.so # 华为自带 │ ├── libssl.so # 华为自带 │ ├── libevent-2.1.so.7 # 华为自带 │ ├── libevent_core-2.1.so.7 │ ├── libevent_openssl-2.1.so.7 │ ├── libstdc++.so.6 # 华为自带 │ ├── libxbsa64.so # <- 从 三方工具动态库 拷贝 ├── log/ │ ├── remote_server-*.log # 运行日志 │ └── startup.log # 启动日志 └── sslcert/ # SSL 证书工作目录 ├── cacert.pem # 根证书 ├── cakey.pem # 根私钥 ├── server.key # 服务端私钥 ├── server.crt # 服务端证书 ├── client.key # 客户端私钥 ├── client.crt # 客户端证书 ├── cacert64.pem # base64 根证书(API 传参用) ├── client64.crt # base64 客户端证书(API 传参用) ├── client64.key # base64 客户端私钥(API 传参用) ├── openssl.cnf ├── openssl └── demoCA/ # CA 工作目录6. 常见问题与排障
| # | 问题 | 报错信息 | 根因 | 解决方案 |
|---|---|---|---|---|
| 1 | –libPath 指向了目录 | Call dlopen failed […/lib: Is a directory] | backUpAgent 用 dlopen 加载 so,参数必须是文件绝对路径 | 改为 --libPath=/opt/backUpAgent/lib/libxbsa64.so |
| 2 | 缺少依赖动态库 | |||
| 3 | openssl ca 找不到 CA 私钥 | Could not open … CA private key from ./demoCA/private/cakey.pem | openssl.cnf 配置的 CA 目录结构不存在 | 手动创建 demoCA/ 目录结构(见 3.2) |
| 4 | 端口绑定失败 | Bind port fail, port 6789, error no: 98 (EADDRINUSE) | 旧进程未退出,端口仍被占用 | pkill -9 backUpAgent 强杀后等待 1 秒重启 |
| 5 | SSH 启动命令阻塞 | SSH 执行不返回 | backUpAgent 是长进程,前台运行阻塞 SSH | 使用 nohup … > /dev/null 2>&1 & 后台运行 |
| 6 | Windows 解压丢符号链接 | 解压后文件为空 | Windows 不支持 Linux 符号链接 | 必须在 Linux 服务器上执行 tar -xzf 解压 |
7. SSL 证书传入 GaussDB
backUpAgent 的 SSL 客户端证书需通过 TPOPS API 传入 GaussDB 集群。
参数映射关系:
| 文件 | 对应 API 参数 |
|---|---|
| cacert64.pem 内容 | ca_cert_pem |
| client64.crt 内容 | client_crt |
| client64.key 内容 | client_key |
| 客户端私钥密码 | <SSL_KEY_PASSWORD> |
API 参考:《云数据库 GaussDB 管理平台(TPOPS)API 参考》中「安装三方备份 SSL 证书」章节。
此步骤由程序代码(HCSGaussDB)通过调用 API 自动完成。
8. 关键密码汇总
| 用途 | 密码 |
|---|---|
| 服务器 root | <ROOT_PASSWORD> |
| 服务端私钥 | <SSL_KEY_PASSWORD> |
| 客户端私钥 | <SSL_KEY_PASSWORD> |
| 根证书私钥 | <SSL_KEY_PASSWORD> |
安全提醒:以上密码仅供当前测试环境使用,生产环境请遵循密码管理规范定期轮换。