可以使用vbr工具将数据库备份到数据库集群以外的一个或多个机器上。
备份主机需要满足如下条件:
- 有充足的备份空间;
- 可以从数据库集群通过ssh访问;
- 数据库超管账户(默认dbadmin)可以免密ssh访问;
- 安装了Vertica rpm 或 Python 3.7 和 rsync 3.0.5(或以上版本) ;
- 如果使用了防火墙,配置tcp_keepalive_time和tcp_keepalive_intvl 设置,使其值小于防火墙超时时间。
在Db主机上配置TCP转发
vbr基于TCP转发来将数据库主机的连接转发到备份主机。
/etc/ssh/sshd_config AllowTcpForwarding = Yes
为备份主机创建配置文件
在vbr备份数据库之前,必须准备备份目标文件夹。
使用vbr init来创建备份进程所需的各种清单。
init进程只需要执行一次, 然后Vertica会自动维护这些备份进程所需的清单(manifests )。
[dbadmin@vertica2 ~]$ vbr -t init -c full_backup_vdb2.ini Initializing backup locations. Backup locations initialized.
预估备份主机磁盘需求
=> SELECT SUM(used_bytes) FROM storage_containers WHERE node_name='v_mydb_node0001'; total_size ------------ 302135743
设置备份主机Accessible
源目标数据库节点和备份目标机器间必须允许ssh连接以及使用50000端口的rsync连接。
备份目标主机运行的rsync和Python版本必须和数据库主机上安装的相关软件版本一致。
设置SSH
为了使vbr可以访问备份主机,数据库超级账户(默认是dbadmin)必须满足两个要求:
- 在每个备份主机上都有账户,对备份目录有写权限,
- 集群中的机器,连接到对应的备份主机可免密登录 (数据库主机 → 目标备份主机)
- 增大备份主机的SSH最大连接设置
- sshd_config MaxStartups