可以使用多個在本機資料節點上平行運作的資料管理員 (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 Cluster。