文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (美国信纸) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


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

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

可以使用多个本地数据管理器 (LDM) 在数据节点上并行执行备份操作。要使此操作正常工作,集群中的所有数据节点必须使用多个 LDM,并且每个数据节点必须使用相同数量的 LDM。这意味着所有数据节点必须运行 ndbmtdndbd 是单线程的,因此始终只有一个 LDM),并且在执行备份之前,必须将它们配置为使用多个 LDM;ndbmtd 默认情况下以单线程模式运行。您可以通过为多线程数据节点配置参数之一选择适当的设置,使其使用多个 LDM MaxNoOfExecutionThreadsThreadConfig。请记住,更改这些参数需要重新启动集群;这可以是滚动重启。此外,对于每个数据节点,必须将 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(您可以通过在 [ndbd default] 部分中设置参数来完成此操作 config.ini 全局配置文件)。也可以将并行备份还原到运行旧版本的 NDB 的集群中。有关更多信息,请参见 将 NDB 备份还原到以前版本的 NDB 集群