文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  使用并行数据节点进行 NDB 备份

25.6.8.5 使用并行数据节点进行 NDB 备份

可以使用数据节点上的多个本地数据管理器 (LDM) 并行执行备份。为此,集群中的所有数据节点必须使用多个 LDM,并且每个数据节点必须使用相同数量的 LDM。这意味着所有数据节点都必须运行 ndbmtdndbd 是单线程的,因此始终只有一个 LDM),并且必须在进行备份之前将它们配置为使用多个 LDM;ndbmtd 默认情况下以单线程模式运行。您可以通过为多线程数据节点配置参数 MaxNoOfExecutionThreadsThreadConfig 选择适当的设置来使它们使用多个 LDM。请记住,更改这些参数需要重新启动集群;这可以是滚动重启。此外,每个数据节点的 EnableMultithreadedBackup 参数必须设置为 1(这是默认值)。

根据 LDM 的数量和其他因素,您可能还需要增加 NoOfFragmentLogParts。如果您使用的是大型磁盘数据表,则可能还需要增加 DiskPageBufferMemory。与单线程备份一样,您可能还想或需要调整 BackupDataBufferSizeBackupMemory 以及与备份相关的其他配置参数的设置(请参阅 备份参数)。

一旦所有数据节点都使用多个 LDM,您就可以使用 NDB 管理客户端中的 START BACKUP 命令进行并行备份,就像数据节点运行 ndbd(或以单线程模式运行的 ndbmtd)一样;不需要额外的或特殊的语法,您可以根据需要或希望以任何组合指定备份 ID、等待选项或快照选项。

使用多个 LDM 的备份会在每个数据节点上的目录 BACKUP/BACKUP-backup_id/(该目录位于 BackupDataDir 下)下创建子目录,每个 LDM 一个;这些子目录的名称为 BACKUP-backup_id-PART-1-OF-N/BACKUP-backup_id-PART-2-OF-N/,依此类推,直到 BACKUP-backup_id-PART-N-OF-N/,其中 backup_id 是用于此备份的备份 ID,N 是每个数据节点的 LDM 数量。这些子目录中的每一个都包含通常的备份文件 BACKUP-backup_id-0.node_id.DataBACKUP-backup_id.node_id.ctlBACKUP-backup_id.node_id.log,其中 node_id 是此数据节点的节点 ID。

ndb_restore 自动检查是否存在刚刚描述的子目录;如果找到,它将尝试并行还原备份。有关还原使用多个 LDM 进行的备份的信息,请参阅 从并行备份中还原

要强制创建单线程备份,请为所有数据节点设置 EnableMultithreadedBackup = 0(您可以通过在 config.ini 全局配置文件的 [ndbd default] 部分中设置该参数来实现)。也可以将并行备份还原到运行旧版本 NDB 的集群。有关更多信息,请参阅 将 NDB 备份还原到先前版本的 NDB 集群