创建硬链接本地备份
您可以使用 hardLinkLocal
选项创建具有本地数据库主机上的硬文件链接的完整备份或对象级别备份。
创建硬链接本地备份可以为远程主机备份提供以下优势:
-
速度更快:硬链接本地备份要比远程主机备份的速度快得多。备份时,如果备份目录与数据库目录位于同一文件系统上,则
vbr
不会复制文件。 -
网络活动更少:硬链接本地备份可最大限度减少网络负载,因为它不需要通过重新同步操作将文件复制到远程备份主机。
-
占用的磁盘空间更少:备份包括编录副本和硬文件链接。因此,本地备份使用的磁盘空间明显低于具有数据库数据文件副本的备份。但是,每次运行
vbr
时,硬链接本地备份都会保存编录的完整副本。因此,一段时间后磁盘空间将随着编录大小的增加而增加。
硬链接本地备份在实验设计和开发周期期间很有用。数据库设计和开发人员可以在设计和开发阶段定期创建架构和表的硬链接本地对象备份。如果新的开发工作失败,开发人员可以从备份还原一个或多个对象。
计划硬链接本地备份
如果您计划将硬链接本地备份用作标准站点过程,请对数据库和硬件配置进行相应的设计。考虑将每个节点的所有数据文件存储到一个文件系统中。此类配置具有自动为硬链接本地备份做好设置准备的优势。
指定备份目录位置
配置文件的 backupDir
参数会指定顶级备份目录的位置。硬链接本地备份要求备份目录要位于与数据库数据相同的 Linux 文件系统中。Linux 操作系统无法创建指向其他文件系统的硬文件链接。
请勿在数据库数据存储位置创建硬链接本地备份目录。例如,最佳做法是,数据库数据目录不应位于文件系统的顶级,如以下示例所示:
/home/dbadmin/data/VMart/v_vmart_node0001
相反,Vertica 建议在数据库级别之上为数据添加其他子目录,例如以下示例:
/home/dbadmin/data/dbdata/VMart/v_vmart_node0001
然后,您可以创建硬链接本地备份子目录,将其与您刚刚创建的数据目录配对,例如以下示例:
/home/dbadmin/data/backups
/home/dbadmin/data/dbdata
指定硬链接备份位置时,请确保在将 hardLinkLocal=True
参数添加到配置文件时避免以下常见错误:
创建备份
在创建 Enterprise 模式数据库的完整硬链接本地数据库备份之前,请验证以下内容:
-
您的数据库正在运行。所有节点无需在 K-safe 数据库中处于正常运行状态,
vbr
即可运行。但请注意,出现故障的节点不会被备份。 -
启动
vbr
的用户帐户(dbadmin
或其他)具有目标备份目录的写入权限。
Eon 模式不支持硬链接备份。
当您创建完整或对象级别硬链接本地备份时,备份包含以内容:
使用数据库群集中某个节点的数据库管理员帐户,从终端运行 vbr
脚本。您无法以 root 身份运行 vbr
。
硬链接备份使用与其他备份相同的 vbr
实参。将备份配置为硬链接备份的操作完全在配置文件中执行。以下示例显示语法:
$ vbr --task backup --config fullbak.ini
为外部介质存储创建硬链接本地备份
您可以将硬链接本地备份用作临时机制来备份到磁带或其他形式的存储介质。以下步骤介绍了如何通过简化的方法来保存和还原磁带存储中的硬链接本地备份:
-
复制现有配置文件或示例 vbr 配置文件中所述的示例之一,以此创建配置文件。
-
编辑配置文件(本例中为
localbak.ini
),使其在[Transmission]
部分中包含hardLinkLocal=True
参数。 -
使用配置文件运行
vbr
:$ vbr --task backup --config-file localbak.ini
-
使用一个单独的进程(而非
vbr
)将硬链接本地备份目录复制到磁带或其他外部介质。 -
如果数据库损坏,将磁带中的备份文件传输到原始备份目录,并按照还原硬链接本地备份中的说明进行还原。
注意
Vertica 建议您在将包含硬链接备份的目录复制到其他介质之后保留该目录。如果您删除该目录并稍后将文件从外部介质复制回来,则复制的文件将不再是链接。相反,这些文件将与完整(非硬链接)备份占用同样多的磁盘空间。还原硬链接本地备份需要一些额外的(手动)步骤。请勿使用其来代替定期完整备份(创建完整备份)。
硬链接本地备份和灾难恢复
硬链接本地备份的可靠性完全取决于存储这些备份的磁盘。如果本地磁盘损坏,硬链接本地备份也会损坏。在这种情况下,您就无法从硬链接本地备份中还原数据库,因为它也会损坏。
所有站点都应该在外部维护完整备份以便用于灾难恢复,因为硬链接本地备份并未实际复制任何数据库文件。