使用 BR 备份数据¶
BR 编译成功后,可以备份整个图空间的数据,本文介绍如何使用 BR 备份数据。
准备工作¶
- BR 编译完成。如何编译 BR,请参见编译 BR。
- 确认 Nebula Graph 服务正在运行中。
- 已下载 nebula-agent 并在集群中的每个主机上运行代理服务。
-
如果在本地保存备份文件,需要在 Meta 服务器、Storage 服务器和 BR 机器上创建绝对路径相同的目录,并记录绝对路径,同时需要保证账号对该目录有写权限。
Note
在生产环境中,我们建议用户将 NFS (Network File System)存储设备挂载到 Meta 服务器、Storage 服务器和 BR 机器上进行本地备份,或者使用 Alibaba Cloud OSS、Amazon S3 进行远程备份。否则当需要通过本地文件恢复数据时,必须手动将这些备份文件移动到指定目录,会导致数据冗余和某些问题。更多信息,请参见使用 BR 恢复数据。
操作步骤¶
运行以下命令对整个集群进行全量备份操作。
Note
确保备份文件的路径存在。
$ ./bin/br backup full --meta <ip_address> --storage <storage_path>
例如:
-
运行以下命令对 meta 服务的地址为
127.0.0.1:9559
的整个集群进行全量备份操作,并将备份文件保存到本地的/home/nebula/backup/
路径下。Caution
如果有多个 metad 地址,可以使用其中任意一个。
$ ./bin/br backup full --meta "127.0.0.1:9559" --storage "local:///home/nebula/backup/"
-
运行以下命令对 meta 服务的地址为
127.0.0.1:9559
的整个集群进行全量备份操作,并将备份文件保存到兼容 s3 协议的对象存储服务br-test
桶下的backup
中。$ ./bin/br backup full --meta "127.0.0.1:9559" --s3.endpoint "http://127.0.0.1:9000" --storage="s3://br-test/backup/" --s3.access_key=minioadmin --s3.secret_key=minioadmin --s3.region=default
以下列出命令的相关参数。
参数 | 数据类型 | 是否必需 | 默认值 | 说明 |
---|---|---|---|---|
-h ,--help |
- | 否 | 无 | 查看帮助。 |
--debug |
- | 否 | 无 | 查看更多日志信息。 |
--log |
string | 否 | "br.log" |
日志路径。 |
--meta |
string | 是 | 无 | meta 服务的地址和端口号。 |
--spaces |
stringArray | 否 | 无 | (实验性功能)指定要备份的图空间名字,未指定将备份所有图空间。 |
--storage |
string | 是 | 无 | BR 备份数据存储位置,格式为:<Schema>://<PATH> Schema:可选值为 local 和 s3 。选择 s3 时,需要填写s3.access_key 、s3.endpoint 、s3.region 和 s3.secret_key 。PATH:存储位置的路径。 |
--s3.access_key |
string | 否 | 无 | 用于标识用户。 |
--s3.endpoint |
string | 否 | 无 | S3 对外服务的访问域名的 URL,指定 http 或 https。 |
--s3.region |
string | 否 | 无 | 数据中心所在物理位置。 |
--s3.secret_key |
string | 否 | 无 | 用户用于加密签名字符串和用来验证签名字符串的密钥,必须保密。 |
下一步¶
备份文件生成后,可以使用 BR 将备份文件的数据恢复到 Nebula Graph 中。具体操作,请参见使用 BR 恢复数据。
最后更新:
March 7, 2023