25.6.8.5 Создание резервной копии NDB с параллельными узлами данных
Возможен создание резервной копии с использованием нескольких локальных менеджеров данных (LDM), действующих параллельно на узлах данных. Для этого все узлы данных в кластере должны использовать несколько LDM, и каждый узел данных должен использовать одинаковое количество LDM. Это означает, что все узлы данных должны запускать ndbmtd (ndbd — однопоточный и, следовательно, всегда имеет только один LDM) и они должны быть настроены на использование нескольких LDM перед созданием резервной копии; ndbmtd по умолчанию работает в однопоточном режиме. Вы можете заставить их использовать несколько LDM, выбрав соответствующее значение для одного из параметров конфигурации многопоточных узлов данных MaxNoOfExecutionThreads или ThreadConfig. Имейте в виду, что изменение этих параметров требует перезапуска кластера; это может быть поэтапный перезапуск. Кроме того, параметр EnableMultithreadedBackup для каждого узла данных должен быть установлен в 1 (по умолчанию).
В зависимости от количества LDM и других факторов, вам также может потребоваться увеличить NoOfFragmentLogParts. Если вы используете таблицы больших данных на диске, вам также может потребоваться увеличить DiskPageBufferMemory. Как и при резервных копиях с использованием одного потока, вы также можете захотеть или вам потребуется внести коррективы в параметры BackupDataBufferSize, BackupMemory и другие параметры конфигурации, относящиеся к резервным копиям (см. Параметры резервного копирования).
После того, как все узлы данных будут использовать несколько LDM, вы можете создать параллельную резервную копию, используя команду START
BACKUP в клиенте управления NDB, так же, как если бы узлы данных работали с ndbd (или ndbmtd в однопоточном режиме); дополнительные или специальные синтаксические конструкции не требуются, и вы можете указать идентификатор резервной копии, параметр ожидания или параметр снимка в любой комбинации по мере необходимости.
Резервные копии, созданные с использованием нескольких LDM, создают подкаталоги, по одному на каждый LDM, в каталоге BACKUP/BACKUP- (который, в свою очередь, находится в backup_id/BackupDataDir) на каждом узле данных; эти подкаталоги называются BACKUP-, backup_id-PART-1-OF-N/BACKUP- и так далее, до backup_id-PART-2-OF-N/BACKUP-, где backup_id-PART-N-OF-N/backup_id — идентификатор резервной копии, используемый для этой резервной копии, а N — количество LDM на узел данных. Каждый из этих подкаталогов содержит обычные файлы резервной копии BACKUP-, backup_id-0.node_id.DataBACKUP- и backup_id.node_id.ctlBACKUP-backup_id.node_id.log, где node_id — идентификатор узла этого узла данных.
ndb_restore автоматически проверяет наличие описанных выше подкаталогов; если они найдены, он пытается восстановить резервную копию параллельно. Сведения о восстановлении резервных копий, созданных с использованием нескольких LDM, см. .
Для принудительного создания однопоточной резервной копии установите EnableMultithreadedBackup =
0 для всех узлов данных (это можно сделать, установив параметр в разделе [ndbd default] файла глобальной конфигурации config.ini). Также возможно восстановить параллельную резервную копию в кластер, работающий на более старой версии NDB. См. , для получения дополнительной информации.
© 2025 Oracle
Licensed under the GPLv2 License.