Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Taking an NDB Backup with Parallel Data Nodes

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

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

根据LDM的数量和其他因素,你可能还需要增加NoOfFragmentLogParts。如果你正在使用大型磁盘数据表,你可能还需要增加DiskPageBufferMemory。与单线程备份一样,你可能还需要调整BackupDataBufferSizeBackupMemory和其他备份相关的配置参数(见备份参数)。

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

使用多个LDM的备份将在每个数据节点的BACKUP/BACKUP-backup_id/目录下创建子目录,每个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 集群的先前版本,以获取更多信息。