可以使用多個在本機資料節點上平行運作的本地資料管理員 (LDM) 進行備份。為了使此功能運作,叢集中的所有資料節點都必須使用多個 LDM,而且每個資料節點都必須使用相同數量的 LDM。這表示所有資料節點都必須執行 ndbmtd ( ndbd 是單執行緒,因此永遠只有一個 LDM),而且必須在進行備份之前設定為使用多個 LDM;ndbmtd 預設以單執行緒模式執行。您可以選擇多執行緒資料節點組態參數 MaxNoOfExecutionThreads 或 ThreadConfig 的適當設定,使它們使用多個 LDM。請記住,變更這些參數需要重新啟動叢集;這可以是滾動式重新啟動。此外,每個資料節點的 EnableMultithreadedBackup 參數必須設定為 1(這是預設值)。
根據 LDM 的數量和其他因素,您可能也需要增加 NoOfFragmentLogParts。如果您使用大型的磁碟資料表格,您可能也需要增加 DiskPageBufferMemory。與單執行緒備份一樣,您可能也想要或需要調整 BackupDataBufferSize、 BackupMemory 和其他與備份相關的組態參數的設定(請參閱備份參數)。
一旦所有資料節點都使用多個 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 叢集。