-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of github.com:jpmorganchase/quorum
- Loading branch information
Showing
4 changed files
with
89 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Backup & Restore of Quorum Nodes | ||
|
||
Quorum supports export and import of chain data with built in tooling. This is an effective node backup mechanism | ||
adapted for the specific needs of Quorum such as private transactions, permissioning, and supported consensus | ||
algorithms. | ||
|
||
|
||
!!! note | ||
Quorum chain data import and export must run after `geth` process is stopped. | ||
|
||
### Node Backup (Export) | ||
|
||
Backup functionality mimics original `geth export` command. Quorum export accepts 3 arguments: | ||
|
||
1. Export file name **required** | ||
3. First block | ||
4. Last block *are optional but must be provided together when used* | ||
|
||
##### Sample command | ||
|
||
`geth export <export file name> --datadir <geth data dir>` | ||
|
||
### Node Restore (Import) | ||
|
||
Restore functionality mimics original `geth import` command but requires transaction manager environment variable. | ||
Quorum import must run on a new node with an initialized `--datadir` after `geth init` has been executed. Restore | ||
supports arbitrary number of import files (at least 1). | ||
|
||
!!! warning | ||
If private transactions are used in the chain data, Private Transaction Manager process for the original exported | ||
node must be running on the PTM ipc endpoint during import chain. Otherwise, nil pointer exceptions will be raised. | ||
|
||
##### Sample command | ||
|
||
`PRIVATE_CONFIG=<PTM ipc endpoint> geth import <import file names...> --datadir <geth data dir>` | ||
|
||
### Special Consensus Considerations | ||
|
||
##### IBFT | ||
|
||
IBFT block data contains sealer information in the header, to restore a copy of exported chain data, the new node must | ||
be initialized use an IBFT genesis file with exact same validator set encoded in extra data field as original exported | ||
node's genesis. | ||
|
||
##### Raft | ||
|
||
Raft backup do not account for current Raft state. An exported chain data from a Raft cluster can only be used by | ||
new nodes being added to that same cluster only. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters