As a best practice, you must back up the data on the Client nodes within the Client group and Replica nodes in the Replica Network to perform operations such as restoring or cloning.

Backing up the Client and Replica nodes data lets you access the data if an operation fails, and you must restore the lost data.

When you perform a backup on your Amazon EBS volumes, you can take snapshots to save storage space and minimize cost. Snapshots are incremental backups that only capture the data that has changed from the most recent saved snapshot. For more information, see Amazon EBS snapshot documentation.

Prerequisites

  • Verify that you have the deployed blockchain ID information.
  • Familiarize yourself with the backup and restore consideration for your VMware Blockchain nodes. See VMware Blockchain Node Backup and Restore Considerations on AWS.
  • Verify that you have access to the latest version of VMware Blockchain.
  • Verify that you have captured the IP addresses of all the Client and Replica node VMs and have access to them. You can find the information in the VMware Blockchain Orchestrator descriptor file.

Procedure

  1. Stop all the applications that invoke connection requests to the Daml Ledger.
  2. Pause all the Replica nodes at the same checkpoint from the Concord operator container and check the status periodically until all the Replica nodes' status is true.

    Any blockchain node or nodes in state transfer or down for other reasons cause the wedge status command to return false. The wedge status command returns true when state transfer completes and all Replica nodes are healthy, allowing all Replica nodes to stop at the same checkpoint successfully.

    Wedge command might take some time to complete. The metrics dashboards indicate nodes that have stopped processing blocks as they have been wedged. If you notice a false report in the dashboard, contact the VMware Blockchain support to diagnose the Replica nodes experiencing the problem.

    sudo docker exec -it operator sh -c './concop wedge stop' {"succ":true} 
    sudo docker exec -it operator sh -c './concop wedge status' {"192.168.100.107":true,"192.168.100.108":true,"192.168.100.109":true,"192.168.100.110":true} 
  3. Stop the Replica node.
    curl -X POST 127.0.0.1:8546/api/node/management?action=stop
    vmbc@localhost [ ~ ]# curl -X POST 127.0.0.1:8546/api/node/management?action=stop
    vmbc@localhost [ ~ ]# sudo docker ps -a
    CONTAINER ID        IMAGE                                                                  COMMAND                  CREATED             STATUS              PORTS                      NAMES
    3b7135c677cf        vmwaresaas.jfrog.io/vmwblockchain/agent:1.7.0.0.55    "java -jar node-agen…"   20 hours ago        Up 20 hours         127.0.0.1:8546->8546/tcp   agent
  4. Verify that all the containers except the agent and deployed Concord operator container are stopped.

    sudo docker ps -a

    If the sudo docker ps -a command shows that some containers, with the exception agent and deployed Concord operator container, are still running, then rerun the command or use the curl -X POST 127.0.0.1:8546/api/node/management?action=stop command to stop the containers.

  5. Back up the data on each of the Replica nodes.
    1. In the EC2 interface, select the VMware Blockchain node from the Amazon EC2 page and navigate to the Storage tab.
    2. In the EC2 interface, select the data volume ID, navigate to the EBS volumes, and select Actions > Create Snapshot.

      This step creates a snapshot of the EBS volume you can use for restoring your data.

  6. Save the snapshot ID and the node IP address.

    This information is used to map the snapshot and node during the Replica node restore process.

  7. Start all the Replica nodes.
    curl -X POST 127.0.0.1:8546/api/node/management?action=start 
  8. Start all the applications that invoke connection requests to the Daml Ledger.

What to do next

If there is a failure or you want to clone a deployment, you can restore it from the backup data. See Restore Replica Nodes from the Backup Data on AWS.