跳转至

使用 BR 备份数据

BR 编译成功后,可以备份整个图空间的数据,本文介绍如何使用 BR 备份数据。

准备工作

  • BR 编译完成。如何编译 BR,请参见编译 BR
  • 确认 NebulaGraph 服务正在运行中。
  • 已下载 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 地址,可以使用其中任意一个。

    Caution

    备份至本地时,默认只备份 leader metad 的数据,因此当有多个 metad 节点时,需要手动将备份后的 leader metad 的目录(路径为<storage_path>/meta)拷贝并覆盖其他 follower meatd 节点的对应目录。

    $ ./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:可选值为 locals3。选择 s3 时,需要填写s3.access_keys3.endpoints3.regions3.secret_key
PATH:存储位置的路径。
--s3.access_key string 用于标识用户。
--s3.endpoint string S3 对外服务的访问域名的 URL,指定 http 或 https。
--s3.region string 数据中心所在物理位置。
--s3.secret_key string 用户用于加密签名字符串和用来验证签名字符串的密钥,必须保密。

下一步

备份文件生成后,可以使用 BR 将备份文件的数据恢复到 NebulaGraph 中。具体操作,请参见使用 BR 恢复数据


最后更新: September 27, 2022