创建备份
当心
保护备份位置并严格限制已有权访问数据库中所有数据的用户对备份的访问权限,这一点十分重要。破坏备份意味着破坏数据库。何时备份数据库
您应定期对数据库执行完整备份。此外,在以下情况下,您也应执行完整备份:
进行以下操作之前:
-
将 Vertica 升级到另一个版本。
-
删除分区。
-
添加、移除或替换数据库群集中的节点。
进行以下操作之后:
-
加载大量数据。
-
添加、移除或替换数据库群集中的节点。在这种情况下,始终创建新的完整备份。
-
恢复崩溃的群集。
如果:
- 最新备份的时期早于当前的 Ancient History Mark。
最好计划持续备份来备份数据。可以从 cron
作业或其他任务调度程序运行 Vertica vbr
。
您还可以备份选定对象。使用对象备份来补充(而不是替换)完整备份。备份类型中介绍了备份类型。
运行 vbr
不会影响活动的数据库应用程序。 vbr
支持在创建备份的同时,并发运行执行 DML 语句(包括 COPY、INSERT、UPDATE、DELETE 和 SELECT)的应用程序。
备份位置和内容
完整备份和对象级别备份都驻留在备份主机上,即存储备份和存档的计算机系统。
Vertica 将备份保存在特定的备份位置中,即备份主机的目录。此位置可以包含多个备份(包括完整备份和对象级别备份),其中包括关联的存档。备份也可兼容,允许您从完整的数据库备份中还原任何对象。Eon 模式数据库的备份位置必须位于 S3 上。
注意
Vertica 不建议执行并发备份。如果您必须同时运行多个备份,请为每个备份使用单独的备份和临时目录。单独的备份目录将导致无法在历史备份之间共享数据。在开始备份之前,您必须使用 vbr init 任务准备备份位置,如下例所示:
$ vbr -t init -c full_backup.ini
有关备份位置的详细信息,请参阅设置备份位置。
备份包含备份开始时备份对象的所有已提交数据。备份不包含未提交数据或备份期间提交的数据。备份不会延迟合并或加载活动。
备份 HDFS 存储位置
如果 Vertica 群集使用 HDFS 存储位置,则必须先进行一些额外配置,然后才能执行备份。请参阅备份和还原 HDFS 存储位置的要求。
HDFS 存储位置仅支持完整备份和还原。您无法在使用 HDFS 存储位置的群集上执行对象备份或还原。
备份对 Vertica 节点的影响
进行备份时,备份过程可能会占用额外的存储空间。占用的空间量取决于编录的大小以及备份期间删除的任何对象。备份完成后,备份过程将释放此存储。
创建备份的最佳实践
创建备份配置文件时:
-
创建单独的配置文件以创建完整备份或对象级别备份。
-
在每个配置文件中使用不同的快照名称。
-
对两种类型的备份使用同一备份主机目录位置:
-
由于备份共享磁盘空间,因此执行还原时它们彼此兼容。
-
每个群集节点还必须在其指定的备份主机上使用相同的目录位置。
-
-
为获得最佳网络性能,每个群集节点使用一个备份主机。
-
对每个备份节点使用一个目录,以存储后续备份。
-
为了供今后参考,将主要的 Vertica 版本号附加到配置文件名 (
mybackup
9x)。
选定的备份对象可以包括一个或多个架构、表或这两者。例如,您可以将架构 S1
、表 T1
和 T2
包括在对象级备份中。可将多个备份合并成一个备份。架构级备份可与数据库备份集成(而表备份可与架构级备份集成,以此类推)。