An Introduction to Snapshot in Nebula Graph

In production, Nebula Graph handles massive data and high frequency business requests, therefore, faults caused by human, hardware or processing are inevitable. Some fatal faults even lead to abnormal operation or data failure in the cluster. When such situation occurs, rebuilding cluster and reimporting data becomes rather time-consuming.


This is a companion discussion topic for the original entry at https://nebula-graph.io/posts/nebula-graph-snapshot-introduction/

After we create snapshot, what we need to backup to be able to restore data from backup?
Use case 1:
Q: we need to restore to operational cluster.
A: I suppose we just need all data from SNAPSHOT directories

Use case 2:
Q: we need to restore to cluster which is broken somehow.
A: first we have to reinstall software on all nodes and setup services to be the same as we have it before crash. In that point we have same cluster as before, but without data.
Then we have to re-create space(s) we have had on operational cluster, then stop all services and copy data from backup (from snapshot).
Start all services for the cluster, now you will have cluster back to normal state and with full data as in the point in time when snapshot is created.
(Do we need to create objects, or we can just copy files from snapshot ?)

Can you confirm the scenarios I described ?

Do we need metadata in our backup or data is just enough ?

@bright-starry-sky Please help confirm this. Thanks!

case 1,yes,you are right.
case 2,We don’t need to create objects,you just need to restore from the meta snapshot.

Thanks.
For v1.2:
When we CREATE SNAPSHOT we have snapshot for data storage, we don’t have snapshots for data/meta.
Is it needed for restoring data to cluster where we reinstalled nebula system ?

For meta server, only the master meta node was backed up.

Ok, so manually I can backup data/meta dir and restore it back to new installed system ?
For one node or for all meta nodes installed ?
I need to restore only one meta node, then other empty ones will sync with first one ?

Thanks,

g.c.

for meta node,we can create it via statement “create snapshot” ,but we have to figure out which one is the master node.
If have more than one meta nodes,need using the one meta snapshot to restore all meta nodes.

1 Like