vertica备份与恢复(二)

本博客主要介绍相似的vertica集群间数据的备份与恢复。
本博客翻译整理自:Copying Data Between Similar Vertica Clusters

您可以使用以下选项在另一个集群上复制Vertica数据库:

  • 复制整个数据库
    复制目录,架构,投影和分区。
  • 复制数据库的一部分
    仅复制特定的表。

在这里插入图片描述
执行复制时,必须确保源群集和目标群集相似。这两个集群必须具有相同数量的节点,节点名称,dbadmin用户和Vertica数据库版本。

文档名词解释

源集群:执行备份的数据库集群。
目标集群:执行恢复的数据库集群。

将整个群集从源复制到目标群集(Copycluster)

要将整个数据库从一个Vertica群集复制到另一个Vertica群集,可以使用vbr选项–copycluster。Vertica只需一次操作即可从源群集备份数据,并将数据还原到目标群集。
警告:复制数据时,vbr带有该–copycluster选项的脚本将覆盖目标集群中的所有现有数据。

先决条件:

  • 目标群集必须具有与源群集不同的IP地址。
  • 源群集和目标群集必须具有相同的节点数。
  • 源集群和目标集群上的数据库必须具有相同的数据库的dbadmin用户,数据库名称,Vertica版本
  • 您必须在源群集和目标群集dbadmin用户之间设置无密码的SSH。

如何在相似的Vertica群集之间复制完整群集

要将整个数据库从一个群集复制到另一个相似的群集,请按照下列步骤操作:
1.在目标群集上,安装与源群集具有相同数量的节点和相同Vertica版本的Vertica。
2.在目标集群上,创建一个与源数据库名称相同的数据库。在复制数据库之前,必须先停止新创建的数据库。
3.在源群集上,创建一个名为的配置文件copyclusterconfig.ini。可参考/opt/vertica/share/vbr/example_configs目录下的copycluster.ini进行修改配置。
4.在源群集上,确认源数据库已启动并正在运行。通过使用vbr带有–copycluster选项的脚本将整个数据库复制到目标集群。

 $ /opt/vertica/bin/vbr --config-file copyclusterconfig.ini --task copycluster
Starting copy of database mydatabase.
Participating nodes: v_mydatabase_node0001, v_mydatabase_node0002.
Enter vertica password:
Snapshotting database.
Snapshot complete.
Syncing data to destination cluster.
[==================================================] 100%
Reinitializing destination catalog.
Copycluster complete! 

5.启动目标数据库,并验证Vertica是否正确复制了数据。

完整数据库复制的优点和局限性

优点局限性
1.可以创建源集群数据库的完整副本;2.如果您多次运行copycluster,则该副本是增量副本1.源群集上的所有节点都必须运行,目标集群必须停止;2.要还原数据,源群集和目标群集必须具有相同的:节点数,数据库名称,dbadmin用户Vertica版本
在相似的Vertica群集之间复制特定表

假设您有一个Vertica数据库,其中在源群集上具有50个表,并且在目标群集上备份了50个表。您添加了5个新表,并想将5个新表复制到目标群集以在两个Vertica群集之间复制数据。

在这种情况下,只要集群相同,就可以将特定的表从一个集群复制到另一个集群。
先决条件:

  • 目标群集数据库名称可以与源群集数据库名称相同或不同。
  • 源群集和目标群集必须具有相同的节点数,Vertica版本,dbadmin用户名。
  • 源集群和目标集群可以具有不同的:节点名称,数据库名称。
  • 目标群集必须具有与源群集不同的IP地址。

如何在相似的Vertica群集之间复制特定表

要复制表,请按照以下步骤操作,这些步骤将引导您在源群集上创建表并将其复制到目标。
1.在源群集上,创建一个名为的表cluster1_table1。
2.在源群集上,创建一个名为的配置文件object_specific_replication.ini。可参考/opt/vertica/share/vbr/example_configs目录下的replicete.ini进行修改配置。
3.您可以从以下选项中选择对象还原模式。

  • coexist:当您指定coexist对象还原模式时,Vertica会创建所有带有<backup><timestamp><object_name>前缀的还原对象。此选项允许现有和还原的对象同时存在。
  • createOrReplace:当您指定createOrReplace对象还原模式时,Vertica在目标群集上创建一个与源群集上的对象同名的对象。如果目标群集上存在具有相同名称的对象,则Vertica会删除现有对象并将其替换为与源群集上具有相同名称的新对象。
  • create:当您指定create对象还原模式时,Vertica在目标群集上创建一个与源群集上的对象同名的对象。但是,使用该create选项,Vertica不能替换任何具有相同名称的现有对象。

4.在源群集的object_specific_replication.ini文件中,将数据库名称更改为目标数据库名称,并适当地映射节点。

 $ cat object_specific_replication.ini
[Misc]
snapshotName = backup_snapshot
dest_verticaBinDir = /opt/vertica/bin
restorePointLimit = 3
objects = public.cluster1_table1
objectRestoreMode = coexist 

[Database]
dbName = targetdb
dbUser = dbadmin

[Mapping]
v_mydatabase_node0001 = 10.100.0.88:vertica/backuplocation
v_mydatabase_node0002 = 10.100.0.99:vertica/backuplocation

5.在源集群上,通过vbr运行带有该replicate选项的脚本,将表从源集群复制到目标集群。

 $ vbr -t replicate -c object_specific_replication.ini
Configured backup directories in Mapping are ignored for object replication.
Starting replication of objects ['public.cluster1_table1'] from mydatabase.
Participating nodes: v_mydatabase_node0001, v_mydatabase_node0002.
Enter vertica password:
Snapshotting the source database.
Snapshot complete.
Copying catalog snapshot from source to destination.
Preparing destination database for replicating objects.
Prep complete, start syncing files.
Complete syncing files, removing snapshot from the source database.
Finalizing object replication.
Object replication complete!

6.仅当您指定coexist 对象还原模式时,此步骤才适用。将数据从cluster1_table1表移动到目标数据库中的另一个表。要使用move_partitions_to_table来移动数据,两个表必须具有相同的schema,投影和分区。移动数据时,Vertica会将数据从其原始位置删除。

在相似的Vertica群集之间复制特定表的优点和限制

优点局限性
1.源群集和目标群集可以启动;2.执行多个增量备份;3.双向将表同步到不同的备份位置;4.定期执行快速增量备份(如果没有重大更改);5.选择要迁移的单个表;6.比完全备份要快,因此可以节省备份位置的磁盘空间;7.源集群和目标集群之间可以具有不同的数据库名称和dbadmin用户。1.这些表必须具有相同的schema和投影定义;2.您必须在源集群和目标集群中手动移动用户定义的库和函数;3.源集群和目标集群中的用户定义的库和功能应该相同。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值