LightDB lt_probackup备份与恢复

本文详细介绍了LightDB使用lt_probackup工具进行数据库备份与恢复的全过程,包括lt_probackup的优缺点、命令用法、备份前置条件、备份示例以及如何设置独立备份服务和配置免密互通。
摘要由CSDN通过智能技术生成

LightDB lt_probackup备份与恢复

lt_probackup 是一个管理 LightDB 数据库集群备份和恢复的实用程序。
它被设计用来执行 LightDB 实例的定期备份,以便在发生故障时恢复服务器。

lt_probackup的优点

1)增量备份:页面级增量备份允许您节省磁盘空间,加快备份和恢复。通过三种不同的增量模式,您可以根据自己的数据流规划备份策略。
2)增量恢复:页面级增量恢复允许您通过重用目标目录中未更改的有效页面来显著加快恢复速度。
3)校验:自动进行数据一致性校验,按需进行备份校验,不进行实际数据恢复。
4)验证:按需使用 checkdb命令对 PostgreSQL实例进行验证。
5)保留:按照保留策略管理 WAL存档和备份。您可以根据恢复时间或要保留的备份数量配置保留策略,还可以指定特定备份的生存时间 (TTL)。
    过期的备份可以合并或删除。
6)并行化:在多个并行线程上运行备份、恢复、合并、删除、验证过程。
7)压缩:将备份数据压缩保存,节省磁盘空间。
8)重复数据删除:不复制 _vm、_fsm 等非数据文件,节省磁盘空间。
9)远程操作:备份位于远程系统上的 PostgreSQL实例或远程恢复备份。
10)从 standby 服务器进行备份:通过从 standby 服务器备份来避免主服务器的额外负载。
11)外部目录:用于备份 PGDATA目录之外的文件和目录,如脚本、配置文件、日志、SQL转储文件等。
12)备份目录:以纯文本或 JSON格式获取备份列表和相应的元信息。
13)归档目录:以纯文本或 JSON格式获取所有 WAL时间线的列表和相应的元信息。
14)部分还原:只还原指定的数据库或不还原指定的数据库。

为了管理备份数据,lt_probackup会创建一个备份目录。这个目录存储所有带有附加元信息的备份文件,以及时间点恢复所需的 WAL归档。
可以将不同实例的备份存储在单个备份目录的不同子目录中。

1)【完全备份】包含从头恢复数据库集群所需的所有数据文件。
2)【增量备份】只存储自上次备份以来更改的数据。它可以减少备份大小,加快备份操作。
    2-1)【PAGE 备份】lt_probackup扫描从上次执行完全备份或增量备份开始的归档中的所有 WAL文件。
            新创建的备份只包含 WAL记录中提到的页面。这要求在 WAL存档中存在自上次备份以来的所有 WAL文件。
    2-2)【DELTA 备份】lt_probackup读取 PGDATA目录中的所有数据文件,只复制自上次备份以来发生更改的页面。
            不需要连续存档即可运行。此外,这种模式可以施加相当于完全备份的只读 I/O压力。
    2-3)【PTRACK 备份】PostgreSQL会实时跟踪页面更改。不需要连续存档即可运行。每当一个关系页被更新时,
            这个页面就会被添加 PTRACK 位图标记。跟踪页面会增加数据库服务器操作上的一些小开销,但可以显著提高增量备份的速度。

lt_probackup 的限制

1)进行备份的服务器和恢复的服务器必须在 block_size和 wal_block_size参数上兼容,且具有相同的主版本号。
2)目前不支持在 Windows上通过 ssh进行远程备份
3)通过 ssh运行远程操作时,远程的和本地的 lt_probackup 版本必须相同。

lt_probackup 命令详解

lt_probackup help

查看指定子 command 的帮助信息

lt_probackup help [COMMAND]

lt_probackup version

查看 lt_probackup 的版本号

lt_probackup version

lt_probackup init

初始化备份目录

lt_probackup init -B backup-path

  -B, --backup-path=backup-path    备份存储目录

lt_probackup add-instance

在指定的备份目录下,新增备份实例

lt_probackup add-instance -B backup-path -D pgdata-path
                 --instance=instance_name
                 [-E external-directory-path]
                 [--remote-proto] [--remote-host]
                 [--remote-port] [--remote-path] [--remote-user]
                 [--ssh-options]

  -B, --backup-path=backup-path    备份存储目录
  -D, --pgdata=pgdata-path         数据库 data 目录
      --instance=instance_name     备份实例的名称
  -E  --external-dirs=external-directories-paths
                                   需要备份的外部存储目录
                                   (example: --external-dirs=/tmp/dir1:/tmp/dir2)

  Remote options:
      --remote-proto=protocol      要使用的远程协议
                                   available options: 'ssh', 'none' (default: ssh)
      --remote-host=destination    远程主机地址或主机名
      --remote-port=port           远程主机端口 (default: 22)
      --remote-path=path           lt_probackup 二进制文件所在路径
                                   (default: current binary path)
      --remote-user=username       ssh 连接用户名 (default: current user)
      --ssh-options=ssh_options    额外的 ssh 选项 (default: none)
                                   (example: --ssh-options='-c cipher_spec -F configfile')

lt_probackup del-instance

删除指定备份目录下的备份实例

lt_probackup del-instance -B backup-path --instance=instance_name

  -B, --backup-path=backup-path    备份存储目录
      --instance=instance_name     备份实例的名称

lt_probackup backup

执行备份

lt_probackup backup -B backup-path -b backup-mode --instance=instance_name
                 [-D pgdata-path] [-C]
                 [--stream [-S slot-name] [--temp-slot]
                 [--backup-pg-log] [-j num-threads] [--progress]
                 [--no-validate] [--skip-block-validation]
                 [-E external-directories-paths]
                 [--no-sync]
                 [--log-level-console=log-level-console]
                 [--log-level-file=log-level-file]
                 [--log-filename=log-filename]
                 [--error-log-filename=error-log-filename]
                 [--log-directory=log-directory]
                 [--log-rotation-size=log-rotation-size]
                 [--log-rotation-age=log-rotation-age]
                 [--delete-expired] [--delete-wal] [--merge-expired]
          
GS_probackup是一个用于PostgreSQL数据库备份恢复工具,它是一个开源的,高效的,稳定的备份恢复工具。GS_probackup做为一个实用工具,以其快速的备份恢复速度、易用性和可扩展性而赢得了广泛的支持和使用。 GS_probackup提供多种备份方式,如完全备份、增量备份和差异备份等,可以通过不同备份方式,实现最小化的数据备份,大大节省备份时间和存储空间。另外,GS_probackup还提供了在线备份和离线备份两种方式,在线备份不会对数据库的性能产生较大的影响,离线备份可以用于备份集群内的全部节点,非常方便。GS_probackup可以完全控制备份过程中的并发度,针对备份任务的不同特点实现最优策略的并发度。 GS_probackup提供快速的恢复速度,支持数据文件和WAL的并发恢复,以实现最大化的恢复效率。它还提供了可扩展的恢复方案,不同版本之间的恢复也非常简单,并且可以在线重做。 GS_probackup的易用性也非常突出,它提供了命令行和API两种方式操作,命令行简单易懂,使用方便,而API则支持多语言接口,非常灵活。此外,它的配置文件简单明了,提供了丰富的参数选项,让用户可以针对备份任务的不同特点实现最优化的备份方案。 总之,GS_probackup是一款强大实用的备份恢复工具,它的高效性、易用性和可扩展性,都非常突出。它的广泛使用证明了它在备份恢复领域的优越性,未来也将成为备份恢复领域的翘楚。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值