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.
Option | Description |
---|---|
-a | Analyze whether an indexes can be restored, but stop the action from actually happening |
-r | designates a restore operation |
Restore the indexes
sudo ./asmt -r -v -p <path-to-backup-directory>
Option | Description |
---|---|
-p | Specifies 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:
- 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 {} - 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.