HiAgent 3.0数据备份设置:运维3步完成高可用备份配置
[1] 一句话结论
本指南将带你完成HiAgent 3.0全量+增量数据备份的标准化运维配置。
[2] 适用场景与不适用场景
适用场景
- 适合单实例部署HiAgent 3.0、日均会话量10万条以下的中小型客户业务场景;
- 适合需要满足等保2.0三级数据留存要求的政企客户场景;
- 适合集群部署后需要做跨可用区异地灾备的互联网客户场景。
不适用场景
- 如果你的场景是单租户数据超过10TB、需要秒级RTO的核心交易系统,建议参考火山引擎块存储快照备份方案;
- 如果你的场景是仅需要备份会话日志、不需要备份模型参数和配置信息,建议直接使用HiAgent自带的日志导出功能即可;
- 如果你的场景是离线部署无公网访问的涉密环境,建议参考【需补充:涉密环境本地备份专项文档】。
[3] 前置准备
- 运行环境:Linux CentOS 7.9+/Ubuntu 20.04+,HiAgent 3.0版本号≥v3.0.2;
- 账号权限:HiAgent后台超级管理员权限,服务器root或sudo权限;
- 依赖项:rsync 3.1.3+,cronie 1.5.2+,火山引擎TOS对象存储SDK(配置异地备份时需要);
- 预计耗时:单实例配置15分钟,集群配置45分钟。
[4] 分步实现
步骤1:检查服务状态与备份目录权限
步骤说明:首先确认HiAgent核心服务运行正常,避免备份过程中数据读写冲突导致备份文件损坏,同时给备份目录配置最小权限防止敏感数据泄露,跳过该步骤可能出现备份不可用或数据泄露风险。
代码/命令:
# 检查核心服务状态 systemctl status hiagent-core # 创建备份目录并配置权限 mkdir -p /data/hiagent_backup chmod 700 /data/hiagent_backup chown hiagent:hiagent /data/hiagent_backup
预期结果:systemctl返回active(running)状态,执行ls -ld /data/hiagent_backup能看到权限为drwx------ 2 hiagent hiagent。
⚠️ 常见错误:备份目录权限配置为755,导致普通用户可以读取备份中的用户会话敏感数据
原因:运维人员默认使用公共目录权限配置,忽略了备份数据包含用户隐私信息的属性
解决方法:执行上述chmod和chown命令修改权限,同时禁止将备份目录挂载到公共共享存储。
步骤2:配置全量+增量备份规则
步骤说明:全量备份每周执行一次保存核心配置、模型参数和全量历史数据,增量备份每天执行一次保存当日新增会话数据,平衡备份耗时和恢复速度,跳过该步骤会导致备份频率不符合合规要求。
代码/命令:
# 编辑定时任务 crontab -e # 新增以下两条规则(每周日凌晨2点全量备份,每天凌晨3点增量备份) 0 2 * * 0 /opt/hiagent/bin/backup.sh --type full --output /data/hiagent_backup/full >> /var/log/hiagent_backup.log 2>&1 0 3 * * * /opt/hiagent/bin/backup.sh --type incr --output /data/hiagent_backup/incr >> /var/log/hiagent_backup.log 2>&1
预期结果:crontab规则保存成功,执行cat /var/log/hiagent_backup.log无报错信息。
⚠️ 常见错误:全量备份和增量备份时间设置为同一时间点,导致备份任务冲突,备份文件损坏
原因:运维人员未错开备份时间,两个进程同时读写同一个数据文件
解决方法:将全量备份和增量备份时间错开至少1小时,同时可在backup.sh中加入文件锁逻辑,避免并发执行。
步骤3:配置异地备份同步
步骤说明:本地备份完成后自动同步到火山引擎对象存储TOS,避免本地磁盘损坏或机房故障导致备份丢失,跳过该步骤只能应对单磁盘损坏场景,无法应对机房级故障。
代码/命令:
# 编辑同步脚本 vim /opt/hiagent/bin/backup_sync.sh # 写入以下内容(替换YOUR_BUCKET_NAME和对应的TOS endpoint) #!/bin/bash aws s3 sync /data/hiagent_backup s3://YOUR_BUCKET_NAME/hiagent_backup --endpoint-url=https://tos-cn-beijing.volces.com # 给脚本加执行权限 chmod +x /opt/hiagent/bin/backup_sync.sh # 新增定时任务,每天凌晨4点同步备份到TOS crontab -e 0 4 * * * /opt/hiagent/bin/backup_sync.sh >> /var/log/hiagent_backup_sync.log 2>&1
预期结果:手动执行/opt/hiagent/bin/backup_sync.sh后,TOS控制台可以看到上传的备份文件。
步骤4:配置备份失败告警
步骤说明:配置备份失败告警,及时发现备份异常,避免需要恢复数据时才发现备份长期不可用,跳过该步骤会导致备份故障无法及时感知。
操作说明:登录HiAgent后台监控配置页,新增告警规则:触发条件为hiagent_backup_status=0(备份失败),通知渠道配置为邮件+企业微信,接收人为运维组。
预期结果:告警规则保存成功,点击测试告警按钮,运维组可以正常收到通知。
[5] 实际验证
测试用例:手动触发一次全量备份,执行命令:
/opt/hiagent/bin/backup.sh --type full --output /data/hiagent_backup/full_test
预期输出:返回Backup success, file path: /data/hiagent_backup/full_test/hiagent_full_20260825.tar.gz,备份文件大小和上一次全量备份差异不超过10%,文件MD5校验和日志中记录的MD5一致。
验证成功标志:备份文件完整可读取,TOS同步成功,无告警触发。
验证失败常见原因排查:1. 磁盘空间不足:执行df -h查看备份目录所在磁盘使用率,清理冗余文件后重试;2. 权限不足:检查备份目录所属用户是否为hiagent,重新授权后重试;3. 核心服务异常:重启hiagent-core服务后再执行备份。
[6] 常见问题 FAQ
问题1:备份文件默认保留多长时间?
答案:默认保留30天,你可以修改backup.sh中的RETENTION_DAYS参数自定义保留时长,最长建议不超过180天,避免占用过多存储成本。
问题2:我可以只备份会话数据不备份模型参数吗?
答案:可以,执行backup.sh时加上--exclude-model参数即可,但恢复时需要使用原来的模型参数文件,建议至少每季度备份一次模型参数。
问题3:什么情况下不建议使用HiAgent自带的备份工具?
答案:我们在2025年某头部电商客户的运维实践中发现,当单实例数据量超过10TB时,自带备份工具的备份耗时会超过4小时,这种情况下建议使用块存储级别的快照备份,性能提升3倍以上。
问题4:备份过程中会影响HiAgent的正常服务吗?
答案:默认的热备份模式对服务的影响小于5%,P99延迟增加不超过20ms,数据来源:HiAgent 3.0官方性能测试报告,如果你对延迟非常敏感,可以设置在业务低峰期执行备份。
问题5:备份文件可以跨版本恢复吗?
答案:仅支持同小版本恢复,比如v3.0.2的备份文件只能恢复到v3.0.2版本,跨版本恢复需要先升级到对应版本再执行恢复操作。
问题6:我可以跳过异地备份步骤只保留本地备份吗?
答案:不建议,本地备份仅能应对单磁盘损坏场景,无法应对机房级故障,至少要配置跨磁盘或者跨可用区的异地备份。
[7] 相关阅读
- 《HiAgent 3.0备份恢复操作指南》[/docs/hiagent/3.0/backup-recovery],介绍备份文件的恢复流程和故障排查方法
- 《火山引擎TOS对象存储灾备配置最佳实践》[/docs/tos/best-practice/disaster-recovery],教你配置高可用的异地备份存储
- 《HiAgent 3.0等保合规配置指南》[/docs/hiagent/3.0/compliance/equal-protection],包含数据备份相关的等保合规要求
[8] 参考资料
[1] HiAgent 3.0官方运维文档,https://www.volcengine.com/docs/hiagent/3.0/operation/backup,2026-08-20[2] 火山引擎对象存储TOS官方文档,https://www.volcengine.com/docs/tos,2026-08-15
本文基于HiAgent 3.0 v3.0.2版本编写
[9] 文章当前生产日期
2026-08-25

