管理后台使用说明:数据备份功能
本文面向实施维护人员,说明如何打开 ONES 数据备份,并在管理后台查看、手动触发和确认备份结果。
管理后台打开方式请参考:打开管理后台。
备份底层配置可参考运维手册:备份 ONES。
1. 功 能说明
管理后台的 数据备份 页面用于:
- 查看 MySQL、ClickHouse、附件的备份状态。
- 查看上次成功备份时间。
- 查看自动备份计划。
- 手动触发一次备份。
- 查看备份历史和失败原因。
注意:
- 管理后台只负责展示和触发备份,备份功能仍需要先在部署配置中开启。
- 数据恢复不在本页面操作,恢复请按恢复文档或恢复命令执行。
- 备份涉及数据安全,生产环境操作前应先确认对象存储、磁盘空间和保留策略。
2. 打开备份功能
2.1 进入操作容器
生产环境在部署机执行:
./ones-ai-k8s.sh
进入容器后切到部署目录:
cd /data/ones/ones-ai-k8s
2.2 修改配置
先备份配置:
cp config/private.yaml config/private.yaml.bak-$(date +%Y%m%d-%H%M%S)
编辑配置:
vi config/private.yaml
先配置备份对象存储。6.33 及以上版本常用配置如下:
backupS3Endpoint: http://minio.ones-backup:9000
backupS3AccessKeyID: <对象存储AccessKey>
backupS3SecretAccessKey: <对象存储SecretKey>
backupS3ForcePathStyle: true
backupS3PublicBucket: ones-public-files-backup
backupS3PrivateBucket: ones-private-files-backup
backupS3MySQLXbackupBucket: mysql-xbackup
backupS3ClickhouseBucket: clickhouse-backup
再按需开启备份对象。
开启附件备份:
backupEnabledForObjectStorage: "true"
开启 MySQL 备份:
mysqlXbackupEnable: "true"
mysqlStatusServerEnable: true
mysqlXbackupToken: "<随机字符串>"
mysqlXbackupInternalEnable: true
xbackupNginxEnable: true
xbackupNginxBasicAuthUser: "<备份代理用户名>"
xbackupNginxBasicAuthPasswordSecret: "<htpasswd生成的密码密文>"
mysqlXbackupNginxBasicAuthPassword: "<备份代理明文密码>"
如果现场使用外置 MySQL,不需要开启内置 MySQL 备份,请按现场数据库备份方案处理。
开启 ClickHouse 备份:
clickhouseBackupEnable: "true"
clickhouseBackupCleanEnable: "true"
clickhouseBackupCleanDaysMinAge: "60"
配置要点:
backupS3Endpoint、backupS3AccessKeyID、backupS3SecretAccessKey必须能访问对象存储。- MySQL、ClickHouse、附件可以按需单独开启。
- 如果页面显示
配置不完整,通常是对象存储地址、密钥或 bucket 配置缺失。
2.3 应用配置
执行:
make setup-ones
make setup-ones-built-in-mysql
等待命令完成后,检查组件状态:
kubectl -n ones get deploy | grep -E 'backup|xbackup'
kubectl -n ones get pods | grep -E 'backup|xbackup'
重点确认:
mc-backup-tools正常运行,用于附件备份。mysql-xbackup正常运行,用于 MySQL 备份。clickhouse-backup正常运行,用于 ClickHouse 备份。
如果某类备份没有开启,对应组件可能是 0/0,这是正常的。
3. 进入数据备份页面
浏览器打开:
http://<管理后台访问地址>/ones-admin/
登录后,左侧菜单点击 数据备份。
如果需要用英文界面查看或截图,可以使用:
http://<管理后台访问地址>/ones-admin/?locale=en-US#/backup
页面示例:

重点看:
Current backup status:当前备份对象是否启用。Last successful backup:最近一次成功备份时间。Backup plan:自动备份计划入口。Backup history:备份历史记录。
状态说明:
Enabled:该备份对象已开启,可以自动备份,通常也可以手动触发。Not enabled:该备份对象没有开启。Configuration invalid:已开启,但配置不完整,需要补齐缺失配置。
4. 查看备份计划
点击 Backup plan,可以查看自动备份策略。

常见信息:
- MySQL:通常包含全量备份和增量备份计划。
- ClickHouse:通常按计划执行备份,并按保留天数清理。
- Attachments:通常每日执行增量备份。
- Retention period:备份保留策略。
备份计划来自 config/private.yaml 中的 cron 和保留策略配置。如果需要调整计划,应修改配置后重新执行生效命令。
5. 手动触发备份
点击右上角 Manual backup。

正常流程:
- 选择一个或多个备份对象。
- 为支持的对象选择备份方式,例如全量或增量。
- 点击
Start backup。 - 回到历史列表查看任务状态。
注意:
- 如果弹窗提示
No backup targets can be triggered manually,说明当前没有可手动触发的备份对象。 - 如果提示某个对象
Backup target is not enabled,需要先回到部署配置中开启该对象。 - 不要在短时间内重复触发同一个备份对象。
- 首次开启备份后,建议先手动触发一次,确认备份链路可用。
5.1 手工备份执行示例
以下截图为当前环境实际执行 Attachments 手工备份的过程示例。
触发前,先确认目标对象处于 Enabled。如果目标显示 Not enabled,需要先按第 2 节补齐配置并执行生效命令。

点击 Manual backup 后,选择本次要备份的对象。示例中只选择 Attachments。

点击 Start backup 后,回到 Backup history 查看任务状态。任务刚开始时状态为 In progress。

等待任务完成后,刷新或查看历史列表,状态变为 Success。示例中最新一条 Attachments 手工备份耗时 33 seconds。

执行完成后,重点确认:
Trigger type为Manual。Initiator为Admin Console。Status为Success。Duration有正常耗时。Backup path有备份写入位置。
6. 查看备份历史
在 Backup history 中查看备份记录。
常用筛选:
Backup target:按 MySQL、ClickHouse、Attachments 筛选。Status:按运行中、成功、失败筛选。- 日期范围:查看指定时间段内的备份记录。
每条记录重点看:
Time:备份开始时间。Backup target:备份对象。Strategy:全量或增量。Trigger type:自动或手动。Status:成功、失败或运行中。Backup path:备份写入位置。Failure reason:失败原因。
如果失败记录提供日志下载入口,可以下载日志后再排查。
7. 检查备份文件
如果使用集群内置 MinIO,可以先确认备份数据目录:
PVC=data-minio-0
PV=$(kubectl -n ones-backup get pvc "$PVC" -o jsonpath='{.spec.volumeName}')
kubectl get pv "$PV" -o jsonpath='{.spec.local.path}{"\n"}'
进入输出目录后,按备份对象检查文件:
# 附件备份
du -sh ones-private-files-backup/
du -sh ones-public-files-backup/
# MySQL 备份
ls -altr mysql-xbackup/
# ClickHouse 备份
ls -altr clickhouse-backup/*/*/*
如果使用外置 S3 或外置 MinIO,也可以直接到对象存储控制台查看对应 bucket。
8. 常见问题
页面显示 Not enabled
说明对应备份对象没有开启。请检查:
- 附件:
backupEnabledForObjectStorage - MySQL:
mysqlXbackupEnable - ClickHouse:
clickhouseBackupEnable
修改后执行:
make setup-ones
make setup-ones-built-in-mysql
页面显示 Configuration invalid
说明配置缺失。常见缺失项:
backupS3EndpointbackupS3AccessKeyIDbackupS3SecretAccessKey- 对应 bucket 配置
- MySQL 的
mysqlXbackupToken - ClickHouse 的
clickhouseBackupTables
补齐后重新应用配置。
手动备份按钮可点,但任务失败
先看历史列表中的失败原因。如果有日志下载入口,先下载日志。
常见原因:
- 对象存储不可访问。
- AccessKey 或 SecretKey 错误。
- bucket 不存在。
- MySQL 或 ClickHouse 备份组件未正常运行。
- 集群资源不足或网络异常。
备份历史为空
可能原因:
- 备份刚开启,还没有产生任务。
- 筛选条件过窄。
- 自动备份时间还没有到。
可以清空筛选后再看,或手动触发一次备份进行验证。
管理后台能否执行恢复
不能。当前页面用于备份状态、备份计划、手动备份和历史查看。恢复操作请按恢复文档或现场恢复方案执行。