Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 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。如果您使用了大型 Disk Data 表,可能还需要增加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.Data, BACKUP-backup_id.node_id.ctl, 和BACKUP-backup_id.node_id.log,其中node_id是该数据节点的节点ID。

ndb_restore 将自动检查上述子目录的存在,如果找到它们,就尝试并行恢复备份。关于从多个LDMs中取回备份的信息,请参阅并行数据节点备份恢复

要强制创建单线程备份,设置所有数据节点的EnableMultithreadedBackup = 0参数(可以在config.ini全局配置文件的[ndbd default]部分中设置)。还可以将并行备份恢复到运行较早版本的NDB集群。请参阅将 NDB 备份恢复到 NDB 集群的前一个版本,获取更多信息。