NDB Cluster 8.0 支持使用带有多个 LDM 的ndbmtd 在每个数据节点上进行并行备份(请参阅第 23.6.8.5 节,“使用并行数据节点进行 NDB 备份”)。接下来的两节描述了如何恢复以这种方式创建的备份。
并行恢复并行备份需要 来自 NDB 8.0 发行版的ndb_restore二进制文件。该过程与ndb_restore程序描述下的一般用法部分中概述的过程没有实质性不同,包括执行ndb_restore 两次,类似于此处显示的内容:
$> 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
是要恢复的备份的 ID。在一般情况下,不需要额外的特殊参数;ndb_restore
始终检查
--backup-path
选项指示的目录下是否存在并行子目录,并恢复元数据(串行),然后恢复表数据(并行)。
可以以串行方式恢复在数据节点上使用并行性创建的备份。为此,调用ndb_restore并
--backup-path
指向主备份目录下每个 LDM 创建的子目录,一次到任何一个子目录以恢复元数据(哪个子目录并不重要,因为每个子目录都包含元数据的完整副本),然后依次到各个子目录中恢复数据。假设我们要恢复备份 ID 为 100 的备份,该备份是使用四个 LDM 进行的,并且
BackupDataDir
是
/opt
. 要在这种情况下恢复元数据,我们可以像这样调用ndb_restore:
$> ndb_restore -n 1 -b 1 -m --backup-path=opt/BACKUP/BACKUP-100/BACKUP-100-PART-1-OF-4
要恢复表数据,请执行 四次 ndb_restore,每次依次使用其中一个子目录,如下所示:
$> 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
您可以使用相同的技术将并行备份恢复到不支持并行备份的旧版本的 NDB Cluster(7.6 或更早版本),使用 旧版本的 NDB Cluster 软件提供 的ndb_restore二进制文件。