NDB Cluster 8.0 supports parallel backups on each data node using ndbmtd with multiple LDMs (see Section 25.6.8.5, “Taking an NDB Backup with Parallel Data Nodes”). The next two sections describe how to restore backups that were taken in this fashion.
Restoring a parallel backup in parallel requires an ndb_restore binary from an NDB 8.0 distribution. The process is not substantially different from that outlined in the general usage section under the description of the ndb_restore program, and consists of executing ndb_restore twice, similarly to what is shown here:
$> ndb_restore -n 1 -b 1 -m --backup-path=path/to/backup_dir/BACKUP/BACKUP-backup_id
$> ndb_restore -n 1 -b 1 -r --backup-path=path/to/backup_dir/BACKUP/BACKUP-backup_id
backup_id
is the ID of the backup
to be restored. In the general case, no additional special
arguments are required; ndb_restore
always checks for the existence of parallel subdirectories
under the directory indicated by the
--backup-path
option and
restores the metadata (serially) and then the table data (in
parallel).
It is possible to restore a backup that was made using
parallelism on the data nodes in serial fashion. To do this,
invoke ndb_restore with
--backup-path
pointing
to the subdirectories created by each LDM under the main
backup directory, once to any one of the subdirectories to
restore the metadata (it does not matter which one, since
each subdirectory contains a complete copy of the metadata),
then to each of the subdirectories in turn to restore the
data. Suppose that we want to restore the backup having
backup ID 100 that was taken with four LDMs, and that the
BackupDataDir
is
/opt
. To restore the metadata in this
case, we can invoke ndb_restore like
this:
$> ndb_restore -n 1 -b 1 -m --backup-path=opt/BACKUP/BACKUP-100/BACKUP-100-PART-1-OF-4
To restore the table data, execute ndb_restore four times, each time using one of the subdirectories in turn, as shown here:
$> ndb_restore -n 1 -b 1 -r --backup-path=opt/BACKUP/BACKUP-100/BACKUP-100-PART-1-OF-4
$> ndb_restore -n 1 -b 1 -r --backup-path=opt/BACKUP/BACKUP-100/BACKUP-100-PART-2-OF-4
$> ndb_restore -n 1 -b 1 -r --backup-path=opt/BACKUP/BACKUP-100/BACKUP-100-PART-3-OF-4
$> ndb_restore -n 1 -b 1 -r --backup-path=opt/BACKUP/BACKUP-100/BACKUP-100-PART-4-OF-4
You can employ the same technique to restore a parallel backup to an older version of NDB Cluster (7.6 or earlier) that does not support parallel backups, using the ndb_restore binary supplied with the older version of the NDB Cluster software.