Restore data with BR (Enterprise Edition)¶
For the backed-up NebulaGraph data with the BR tool, you can restore the data. This topic describes how to restore data from backup files.
Notes¶
- There will be a period of NebulaGraph service unavailability for data restoration, so it is recommended to operate during the low business peak period.
- Restoration requires that the number of the storage servers in the original cluster is the same as that of the storage servers in the target cluster.
- After the data restoration is executed successfully, the existing data on the target cluster will be deleted and then replaced with the data in the backup directory. It is recommended to back up the data on the target cluster in advance.
Prerequisites¶
- You have installed BR Enterprise Edition and Agent, and have started the Agent(s) that are installed in each machine.
- No application is connected to the target NebulaGraph cluster.
- Make sure the number of the storage servers in the original cluster is the same as that in the target cluster.
Steps¶
In the BR Enterprise Edition installation directory, follow these steps:
-
View backup files.
-
List the backup files in a local path.
./br show --storage local://<storage_path>
For example, you can view the backup files in the local
/backup/
path with the following command../br show --storage "local:///backup/" +----------------------------+---------------------+------------------------+-------------+------------+----------------------------+ | NAME | CREATE TIME | SPACES | FULL BACKUP | ALL SPACES | BASE BACKUP NAME | +----------------------------+---------------------+------------------------+-------------+------------+----------------------------+ | BACKUP_2022_08_11_06_12_43 | 2022-08-11 06:12:43 | basketballplayer | true | true | | | BACKUP_2022_08_11_08_27_14 | 2022-08-11 08:27:15 | basketballplayer,br | false | true | BACKUP_2022_08_11_06_12_43 |
-
Lists backups in
/
under thenebula-br-test
bucket of the S3 protocol-compliant object storage service../br show --s3.access_key QImbbGDjfQEYxxxx --s3.secret_key dVSJZfl7tnoFq7Z5zt6sfYnvi63bxxxx --s3.region us-east-1 --storage s3://nebula-br-test/ --s3.endpoint http://192.168.8.xxx:9000/
-
-
Restore data.
-
Restore data based on local backups.
./br restore full --meta <ip_address> --storage <storage_path> --name <backup_name>
For example, restore the
BACKUP_2022_08_11_09_11_07
file data from the local/backup/
path to the cluster with the meta address192.168.8.129:9559
:./br restore full --meta "192.168.8.129:9559" --storage "local:///backup/" --name BACKUP_2022_08_11_09_11_07
-
Restore data based on cloud backups.
Restore the
BACKUP_2022_08_12_07_37_02
backup data from the/
path under thenebula-br-test
bucket of the S3-compliant object storage service to the cluster with the meta address192.168.8.129:9559
, and specify the restoration log path../br restore full --meta 192.168.8.129:9559 --s3.accesskey QImbbGDjfQEYxxxx --s3.secretkey dVSJZfl7tnoFq7Z5zt6sfYnvi63bxxxx --s3.region us-east-1 --storage s3://nebula-br-test/ --s3.endpoint http://192.168.8.xxx:9000/ --log "3.log" --name BACKUP_2022_08_12_07_37_02
If the following information is returned, the data is restored successfully.
Restore succeed.
Note
If the data restoration fails, BR Enterprise Edition automatically performs a rollback and the cluster's data is automatically recovered back to the pre-restoration data.
-
-
Run the following command to clean temporary files. This command will clean up temporary files in the cluster or external storage, and you can also use this command to clean up old backup directories. The example is as follows.
Note
By default, BR automatically cleans up the temporary files when an error occurs during data restoration. If the automatic cleanup fails, you need to execute the command to clean up the temporary files manually.
-
Clear a local backup directory.
./br cleanup --meta 192.168.8.129:9559 --storage "local:///backup/" --name BACKUP_2022_08_11_09_11_07
-
Clear the backup directory in the cloud storage service.
./br cleanup --meta 192.168.8.129:9559 --s3.accesskey QImbbGDjfQEYxxxx --s3.secretkey dVSJZfl7tnoFq7Z5zt6sfYnvi63bxxxx --s3.region us-east-1 --storage s3://nebula-br-test/ --s3.endpoint http://192.168.8.xxx:9000/ --name BACKUP_2022_08_12_07_37_02
-
Options¶
The following options are for data restorations.
Option | Data type | Required | Default value | Description |
---|---|---|---|---|
-h,-help |
- | No | - | View more information about BR commands. |
--debug |
- | No | None | View more information for BR logs. |
--log |
string | No | "br.log" | The path of BR logs. |
--concurrency |
int | No | None | Used to control the number of concurrent file downloads during data restoration. The default value is 5 . |
--meta |
string | Yes | None | The IP address and port number of any Meta service in the cluster. |
--name |
string | Yes | None | The name of the backup file. |
--storage |
string | Yes | None | The storage URL of the backup is to be restored. The format is <schema>://<storage_path> .schema : Two options, s3 and local .When schema is s3 , you still need to add options of s3.access_key γs3.endpoint γs3.region , and s3.secret_key .<storage_path> : The storage path of the backup to be restored. |
--s3.access_key |
string | No | None | The Access Key ID that is used to identify a user. |
--s3.endpoint |
string | No | None | The S3 endpoint URL. You need to specify the HTTP or HTTPS scheme explicitly. |
--s3.region |
string | No | None | The physical location of a data center. |
--s3.secret_key |
string | No | None | The Access Key Secret that is used to verify the identity of the user. |
View restoration progress¶
The log file br.log
of BR can be viewed in the installation directory. The log file will record the restoration progress and will look like as follows:
{"level":"info","msg":"download storaged partition finished, progress: 1/20","time":"2023-03-15T02:16:43.430Z"}
{"level":"info","msg":"download storaged partition finished, progress: 2/20","time":"2023-03-15T02:16:43.431Z"}
{"level":"info","msg":"download storaged partition finished, progress: 3/20","time":"2023-03-15T02:16:43.763Z"}