[mapping]

vbr 配置文件有一个 [Mapping] 部分,用于指定备份中包含的所有数据库节点。它还包括每个节点的备份主机和目录。如果正在将对象复制到备用数据库,[Mapping] 部分会将目标数据库节点映射到源数据库备份位置。

如果您编辑现有配置文件,并以当前样式添加一个映射,新部分必须组合所有现有映射的信息。

与其他配置文件部分不同,[Mapping] 部分不使用命名参数。相反,它使用以下格式的条目:

dbNode = backupHost:backupDir

下表介绍了这三个元素。

dbNode
Vertica 识别的数据库节点的名称。此值不是节点的主机名称,而是 Vertica 用于在内部识别节点的名称,其格式通常是:
v_dbname_node000int

要在群集中查找数据库节点名称,请查询 NODES 系统表的 node_name 列。

backupHost
存储该节点的备份的目标主机名称或 IP 地址。backupHost 名称与 dbNode 不同。copycluster 命令使用此值来确定目标数据库节点主机名称。
backupDir
存储备份的备份主机或节点上的目录的完整路径。此目录具有以下要求:
  • 运行具有 --task backup 选项的 vbr 时,目录已经存在

  • 可由用于运行 vbr 的用户帐户写入。

  • 专用于正在备份的数据库。多个数据库不能共享同一个备份目录。

  • 此位置的文件系统支持 fcntl lockf 文件锁定。

例如:

[Mapping]
v_sec_node0001 = pri_bsrv01:/archive/backup
v_sec_node0002 = pri_bsrv02:/archive/backup
v_sec_node0003 = pri_bsrv03:/archive/backup

映射到 localhost

vbr 不支持将特殊的 localhost 名称作为备份主机。要将数据库节点备份到其自己的磁盘,在配置文件的 [Mapping] 部分中对主机名使用空方括号。

[Mapping]
NodeName = []:/backup/path

映射到相同的数据库

以下示例显示了用于指定要备份的单个节点的 [Mapping] 部分:v_vmart_node0001。该节点被分配到备份主机 srv01 以及备份目录 /home/dbadmin/backups。尽管备份的是单节点群集,并且备份主机和数据库节点是同一个系统,但是您可以分开指定它们。

指定备份主机和目录,并使用冒号 (:) 作为分隔符:

[Mapping]
v_vmart_node0001 = srv01:/home/dbadmin/backups

映射到备用数据库

要还原备用数据库,请按如下所示添加映射信息:

[Mapping]
targetNode = backupHost:backupDir

例如:

[Mapping]
v_sec_node0001 = pri_bsrv01:/archive/backup
v_sec_node0002 = pri_bsrv02:/archive/backup
v_sec_node0003 = pri_bsrv03:/archive/backup