Skip to main content
Loading

Restoring Indexes with ASMT

Before you restart the Aerospike node, you can run ASMT to restore the indexes. The length of time to restore indexes depends on their size.

Restore Procedure

Prerequisites

  • Ensure that the Aerospike daemon process (asd) is not running.
  • Ensure that asmt has read permission to the backup files.

(Optional) Pre-run check

You can run asmt with the -a option to check whether the indexes can be restored, without actually executing the operation.

sudo ./asmt -a -r

You must use the sudo command, so that asmt can run with uid and gid both set to 0.

OptionDescription
-aAnalyze whether an indexes can be restored, but stop the action from actually happening
-rdesignates a restore operation

Restore the indexes

sudo ./asmt -r -v -p <path-to-backup-directory>
OptionDescription
-pSpecifies the path to the directory containing the index backup files

See Options for ASMT for more.

After ASMT finishes restoring the indexes, the backup directory still contains backup files.

Troubleshooting

Do not restart the Aerospike daemon (asd) before ASMT finishes restoring the indexes. If you do so, both ASMT and asd will fail. If this happens, you must follow these steps:

  1. Delete any shared-memory segments that ASMT created before it failed. You can do so by running this command:
    # remove primary index shared memory segments
    ipcs | grep ^0xae | awk '{print $1}' | xargs -i sudo ipcrm -M {}
    # remove secondary index shared memory segments
    ipcs | grep ^0xa2 | awk '{print $1}' | xargs -i sudo ipcrm -M {}
  2. Run asmt again to restore the indexes.

What to do next

With the indexes restored to shared memory, the node can perform a warm start.