lightdb22.4-分布式物理备份

Posted 紫无之紫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lightdb22.4-分布式物理备份相关的知识,希望对你有一定的参考价值。

lightdb22.4 分布式物理备份

lightdb 从lightdb22.4 开始支持分布式物理备份, 提供lt_distributed_probackup.py脚本对分布式集群进行一键备份,不再需要对每个节点执行lt_probackup命令,但不保证某一次备份各节点间数据的一致性(不恢复到最新,只恢复到某一次备份)。

简介

lt_distributed_probackup.py 通过指定cn节点信息,可以实现对整个分布式集群的备份,在原集群异常时对原集群恢复直接恢复即可,恢复到新集群需要指定新的cn和dn信息。

备份恢复流程

此流程基于持续归档,归档模式备份

环境信息

backup server: 192.168.247.126;
backup dir: /home/lightdb/backup

coordinator info: 192.168.247.127:54332
coordinator data dir: /home/lightdb/data
datanode1 info: 192.168.247.128:54332
datanode2 info: 192.168.247.129:54332

new cluster(cn;dn1;dn2): 192.168.247.130;192.168.247.131;192.168.247.132

流程

  1. 需要配置免密,根据使用方式不同可能需要配置对本机的免密,本机ip 和127.0.0.1

  2. 初始化备份目录

    lt_distributed_probackup.py init -B /home/lightdb/backup
    
  3. 添加实例

    lt_distributed_probackup.py add-instance -B /home/lightdb/backup -D /home/lightdb/data --instance cn -h192.168.247.128 -p5432
    
  4. 配置持续归档

    # cn
    archive_command="/home/lightdb/lightdb-x/13.8-22.4/bin/lt_probackup archive-push -B /home/lightdb/backup --instance=cn --wal-file-name=%f --remote-host=192.168.247.126"
    # dn1 --instance 的值在上述添加实例时获取, 或者自己根据规则计算,具体看下面的note
    archive_command="/home/lightdb/lightdb-x/13.8-22.4/bin/lt_probackup archive-push -B /home/lightdb/backup --instance=cn_dn_1 --wal-file-name=%f --remote-host=192.168.247.126"
    
    
  5. 备份分布式集群

    lt_distributed_probackup.py backup -B /home/lightdb/backup -D /home/lightdb/data --instance cn -h192.168.247.128 -p5432 -b full --parallel-num=1
    
  6. 原集群上恢复

    # 原集群
    lt_distributed_probackup.py restore  -B /home/lightdb/backup --instance cn --parallel-num=1
    
    # 新集群 list 顺序为cn;dn1;dn2 , dn1 为node_id 小的dn节点(pg_dist_node)
    lt_distributed_probackup.py restore  -B /home/lightdb/backup --instance cn --parallel-num=1 --remote-host='192.168.247.130;192.168.247.131;192.168.247.132'
    
  7. checkdb 检测数据库物理文件准确性

    lt_distributed_probackup.py checkdb -B /home/lightdb/backup  --instance cn
    lt_distributed_probackup.py checkdb -h10.19.70.50 -p54332
    
  8. 设置config

    lt_distributed_probackup.py set-config -B /home/lightdb/backup  --instance cn  --archive-timeout=6min
    
  9. 查看配置

    lt_distributed_probackup.py show-config -B /home/lightdb/backup  --instance cn
    
  10. 检测备份文件

    lt_distributed_probackup.py validate -B /home/lightdb/backup  --instance cn
    
  11. 查看备份

    lt_distributed_probackup.py show -B /home/lightdb/backup  --instance cn
    
  12. 删除备份文件

    lt_distributed_probackup.py delete -B /home/lightdb/backup  --instance cn  --delete-expired --retention-redundancy=1
    
  13. 删除实例

    lt_distributed_probackup.py del-instance -B /home/lightdb/backup  --instance cn
    
  14. merge, set-backup 只对具体备份文件起效,与lt_probackup一致

    lt_distributed_probackup.py merge -B /home/lightdb/backup  --instance cn -i RMICH6 -j 2 --progress --no-validate --no-sync
    lt_distributed_probackup.py set-backup -B /home/lightdb/backup  --instance cn_dn_2  -i RMI6YR --note='cn_dn_2'
    

note

  1. dn节点的instance name 根据cn 指定的instance name 生成,格式如下:cn_name_db_id, id 为pg_dist_node中的node_id.

以上是关于lightdb22.4-分布式物理备份的主要内容,如果未能解决你的问题,请参考以下文章

lightdb22.4-分布式逻辑备份与恢复

lightdb22.4-分布式逻辑备份与恢复

lightdb-归档日志清理优化(22.4)

lightdb-归档日志清理优化(22.4)

lightdb22.4-新增优化器提示cardinality 和ordered_predicates

lightdb22.4-新增优化器提示cardinality 和ordered_predicates