使用 BR 备份数据¶
成功安装 BR 工具后,可以备份整个图空间的数据,本文介绍如何使用 BR 备份数据。
准备工作¶
- 安装 BR 和 Agent 并在集群中的每个主机上运行 Agent。
- 确认 NebulaGraph 服务正在运行中。
-
如果在本地保存备份文件,需要在 Meta 服务器、Storage 服务器和 BR 机器上创建绝对路径相同的目录,并记录绝对路径,同时需要保证账号对该目录有写权限。
Note
在生产环境中,我们建议用户将 NFS (Network File System)存储设备挂载到 Meta 服务器、Storage 服务器和 BR 机器上进行本地备份,或者使用 Alibaba Cloud OSS、Amazon S3 进行远程备份。否则当需要通过本地文件恢复数据时,必须手动将这些备份文件移动到指定目录,会导致数据冗余和某些问题。更多信息,请参见使用 BR 恢复数据。
操作步骤¶
在 BR 工具的安装路径下(编译安装的默认路径为./bin/br
)运行以下命令对整个集群进行全量备份操作。
Note
确保备份文件的路径存在。
$ ./br backup full --meta <ip_address> --storage <storage_path>
例如:
-
运行以下命令对 meta 服务的地址为
192.168.8.129:9559
的整个集群进行全量备份操作,并将备份文件保存到本地的/home/nebula/backup/
路径下。Caution
如果有多个 metad 地址,可以使用其中任意一个。
Caution
备份至本地时,默认只备份 leader metad 的数据,因此当有多个 metad 节点时,需要手动将备份后的 leader metad 的目录(路径为
<storage_path>/meta
)拷贝并覆盖其他 follower meatd 节点的对应目录。$ ./br backup full --meta "192.168.8.129:9559" --storage "local:///home/nebula/backup/"
-
运行以下命令对 meta 服务的地址为
192.168.8.129:9559
的整个集群进行全量备份操作,并将备份文件保存到兼容 s3 协议的对象存储服务br-test
桶下的backup
中。$ ./br backup full --meta "192.168.8.129:9559" --s3.endpoint "http://192.168.8.129: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 | 否 | 无 | (实验性功能)指定要备份的图空间名字,未指定将备份所有图空间。可指定多个图空间,用法为--spaces nba_01 --spaces nba_02 。 |
--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 将备份文件的数据恢复到 NebulaGraph 中。具体操作,请参见使用 BR 恢复数据。