跳到内容
标志”></a>
    <label class=
雷竞技下载官网Percona产品文档
在Percona Distribution for PostgreSQL中部署备份和容灾解决方案雷竞技下载官网
初始化搜索
    雷竞技下载官网percona / postgresql-docs
    • 雷竞技下载官网PostgreSQL 14文档的Percona发行版
        • 概述
        • 安装在Debian和Ubuntu上
        • 安装RHEL和衍生产品
        • 为Postgr雷竞技下载官网eSQL扩展启用Percona Distribution
        • 仓库概述
      • 从PostgreSQL迁移到Percona发行版雷竞技下载官网
      • 将PostgreSQ雷竞技下载官网L的Percona发行版从13升级到14
      • PostgreSQL的Percon雷竞技下载官网a发行版的小升级
      • pg-stat-raybet雷竞技竞猜在线官网monitor
        • 高可用性
        • 在Debian或Ubuntu上部署
        • 在RHEL或CentOS上部署
        • 测试Patroni PostgreSQL集群
        • 备份与容灾
        • 在Percona Distribution for PostgreSQL中部署备份和容灾解决方案雷竞技下载官网
          • 部署
            • 设置主机名
            • 设置SSH无密码
            • 为Postgre雷竞技下载官网SQL安装Percona发行版
            • 在主节点上配置PostgreSQL,实现连续备份
            • 安装pgBackRest
            • 创建pgBackRest配置文件
            • 更新主节点的pgBackRest配置文件
            • 更新远端备份存储库节点的pgBackRest配置文件
            • 在远程备份存储库节点中初始化pgBackRest节
          • 使用pgBackRest测试备份和恢复
            • 用例1:使用pgBackRest创建备份
            • 用例2:从全量备份恢复PostgreSQL实例
            • 用例3:时间点恢复
            • 用例4:恢复到单独的PostgreSQL实例
      • LDAP身份验证
    • 卸载
      • 发行说明索引
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.7 (2023-03-23)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.6 (2022-11-23)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.5 (2022-09-05)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.4 (2022-06-27)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.3 (2022-06-01)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.2第二次更新(2022-05-05)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.2更新(2022-04-14)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.2 (2022-03-16)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.1 Second Update (2021-12-07)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.1 Update (21-12-02)
      • 雷竞技下载官网Percona Distribution for PostgreSQL 14.1 (21-11-22)
    • 许可

    • 部署
      • 设置主机名
      • 设置SSH无密码
      • 为Postgre雷竞技下载官网SQL安装Percona发行版
      • 在主节点上配置PostgreSQL,实现连续备份
      • 安装pgBackRest
      • 创建pgBackRest配置文件
      • 更新主节点的pgBackRest配置文件
      • 更新远端备份存储库节点的pgBackRest配置文件
      • 在远程备份存储库节点中初始化pgBackRest节
    • 使用pgBackRest测试备份和恢复
      • 用例1:使用pgBackRest创建备份
      • 用例2:从全量备份恢复PostgreSQL实例
      • 用例3:时间点恢复
      • 用例4:恢复到单独的PostgreSQL实例

    在Percona Distribution for PostgreSQL中部署备份和容灾解决方案雷竞技下载官网PostgreSQL的Percona发行版中的备份和灾难恢复雷竞技下载官网。

    部署设置主机名
    Cat /etc/hostname pg-primary

    Cat /etc/hostname pg-repo
    Cat /etc/hostname pg-secondary
  1. 节点要在网络中无缝通信,需要将它们的主机名解析为它们的IP地址设置文件。(或者,您可以在您的内部DNS服务器中进行适当的条目)

  2. 的设置申请pg-primary节点看起来是这样的:

    127.0.1.1 pg-primary pg-primary 127.0.0.1 localhost 10.104.0.5 pg-repo ' ' '

    的设置在pg-repoNode看起来是这样的:

    ' ' ' 127.0.1.1 pg-repo pg-repo 127.0.0.1 localhost 10.104.0.3 pg-primary 10.104.0.4 pg-secondary ' ' '

    的设置在pg-secondary节点如下图所示:

    127.0.1.1 pg-secondary pg-secondary 127.0.0.1 localhost 10.104.0.3 pg-primary 10.104.0.5 pg-repo ' ' '

    设置SSH无密码
    美元passwdpostgres

  3. 输入新密码并确认。

  4. 设置密码后,编辑/etc/ssh/sshd_config存档并确保PasswordAuthentication变量设置为是的。

    PasswordAuthentication是的
  5. 在pg-repo节点,重新启动sshd服务。如果不重新启动,SSH服务器将不允许您在添加密钥时使用密码连接到它。

    美元sudo服务sshd重新启动
  6. 在pg-primary节点,生成SSH密钥对,并将公钥添加到pg-repo节点。

    重要的

    运行命令postgres用户。

    • 生成SSH密钥:

      美元ssh - keygen- trsa生成公共/私人rsa关键对。输入文件在哪一个来保存的关键(/root/.ssh/id_rsa):输入密码(空为没有密码):输入相同密码再次:你的识别有被保存在/root/.ssh/id_rsa你的公共关键有被保存在/root/.ssh/id_rsa.酒吧的关键指纹是:……
    • 将公钥复制到pg-repo节点:

      美元ssh-copy-id-我~ / . ssh / id_rsa . pubpostgres@pg-repo /usr/bin/ssh-copy-id:信息:源的关键(年代)来是安装:“/ root / . ssh / id_rsa . pub”/usr/bin/ssh-copy-id:信息:尝试来日志在与的新关键(年代),来过滤器出任何那是已经安装/usr/bin/ssh-copy-id:信息:1关键(年代)保持来是安装--如果你是提示现在它是来安装的新键postgres@pg-repo的密码:添加的键数:1现在尝试登录到机器,使用:"ssh 'postgres@pg-repo'”并检查以确保只添加了您想要的键。
  7. 命令中运行以下命令,以验证一切都按预期工作pg-primary节点。

    美元sshpostgres@pg-repo

    您应该能够连接到pg-repo终端没有密码。

  8. 重复开始的SSH连接pg-repo来pg-primary以确保无密码SSH正常工作。

  9. 设置SSH之间的双向无密码pg-repo和pg-secondary用同样的方法。这将允许pg-repo将备份恢复到pg-secondary。
  10. 为Postgre雷竞技下载官网SQL安装Percona发行版安装雷竞技下载官网percona-release。
  11. 启用存储库:

    美元sudo雷竞技下载官网percona-release设置ppg14
  12. 为Postgre雷竞技下载官网SQL包安装Percona发行版

    美元sudo恰当的安装雷竞技下载官网percona-postgresql-14可能是
    美元sudo百胜安装雷竞技下载官网percona-postgresql14-server
  13. 在主节点上配置PostgreSQL,实现连续备份

    请注意

    在Debian和Ubuntu上,配置文件的路径为/etc/postgresql/14/main/postgresql.conf。

    RHEL和CentOS操作系统的配置文件路径为/var/lib/pgsql/14/data/。

    1. 编辑postgresql.conf配置文件包括以下更改:

      Archive_command = 'pgbackrest——stanza=prod_backup archive-push %p' archive_mode = on listen_addresses = '*' log_line_prefix = " max_wal_sender = 3 wal_level =副本
    2. 保存更改后,重新启动PostgreSQL。

      美元sudosystemctl重新启动postgresql

    安装pgBackRest
    美元sudoapt-get安装雷竞技下载官网percona-pgbackrest
    美元sudo百胜安装雷竞技下载官网percona-pgbackrest

    创建pgBackRest配置文件
    美元sudomkdir- p- m770/var/log/pgbackrest美元sudo乔恩postgres: postgres/var/log/pgbackrest
  14. 属性的位置和权限pgBackRest配置文件:

  15. 美元sudomkdir- p/etc/pgbackrest美元sudomkdir- p/etc/pgbackrest/conf.d $sudo触摸/etc/pgbackrest/pgbackrest.conf美元sudo修改文件权限640/etc/pgbackrest/pgbackrest.conf美元sudo乔恩postgres: postgres/etc/pgbackrest/pgbackrest.conf美元sudomkdir- p/home/pgbackrest美元sudo修改文件权限postgres: postgres/home/pgbackrest

    更新pgBackRest主节点的配置文件
    [global] repo1-host=pg-repo repo1-host-user=postgres process-max=2 log-level-console=info log-level-file=debug [prod_backup] pg1-path=/var/lib/postgresql/14/main

    你可以看到pg1-path属性的prod_backup节已设置为PostgreSQL数据文件夹。

    更新pgBackRest远程备份存储库节点中的配置文件
    [global] repo1-path=/home/pgbackrest/pg_backup repo1-retention-full=2 process-max=2 log-level-console=info log-level-file=debug start-fast=y stop-auto=y [prod_backup] pg1-path=/var/lib/postgresql/14/main pg1-host=pg-primary pg1-host-user=postgres pg1-port = 5432

    初始化pgBackRest节中的备份存储库节点
    美元sudo- upostgrespgbackrest——节=prod_backupstanza-create202111-0711: 08:18.157P00信息:stanza-create命令开始236:——exec-id=155883-2277年a3e7——log-level-console=信息——log-level-file=从——pg1-host=pg-primary——pg1-host-user=postgres——pg1-path=/var/lib/postgresql/14/main——pg1-port=5432——repo1-path=/home/pgbackrest/pg_backup——节=prod_backup202111-0711: 08:19.453P00信息:stanza-create为节“prod_backup”在repo1202111-0711: 08:19.566P00信息:stanza-create命令结束:完成成功(1412毫秒)

    成功创建节之后,您可以尝试用于灾难恢复的不同用例。

    测试备份和恢复pgBackRest用例1:创建备份pgBackRest
    创建表格客户(id整数,名字文本);插入成客户值(1,“约翰。”);插入成客户值(2,“玛莎”);插入成客户值(3.,“玛丽”);
  16. 对数据库实例进行完全备份。运行以下命令pg-repo节点:

  17. 美元pgbackrest- upostgres——节=prod_backup备份——类型=完整的

    如果需要增量备份,可以省略类型属性。默认情况下,pgBackRest除了集群的第一个备份始终是完全备份之外,始终采用增量备份。

    如果需要差异备份,请使用diff为类型字段:

    美元pgbackrest- upostgres——节=prod_backup备份——类型=diff

    用例2:从全量备份恢复PostgreSQL实例
    美元rm射频/var/lib/postgresql/14/main/*
  18. 执行以下命令恢复备份。

    • 停止postgresql实例
    美元sudosystemctl停止postgresql
    • 恢复备份:
    美元pgbackrest- upostgres——节=prod_backup恢复
    • 启动postgresql实例
    美元sudosystemctl开始postgresql
  19. 该命令执行成功后,可以从psql命令行工具,检查表和数据行是否已恢复。

  20. 用例3:时间点恢复
    选择CURRENT_TIMESTAMP;current_timestamp-------------------------------2021-11-0711:55:47。952405+00(1行)

    记下上面的时间戳,因为我们将在恢复命令中使用这个时间。请注意,在现实场景中,找到数据库无错误的正确时间点可能需要进行广泛的调查。同样重要的是要注意,在所选点之后的所有更改都将在回滚后丢失。

  21. 删除之前添加的一条客户记录。

    删除从客户在哪里ID=3.;
  22. 要恢复数据,运行一个命令,并将记录的时间戳作为参数。运行下面的命令来恢复到当时为止的数据库。

    • 停止postgresql实例
    美元sudosystemctl停止postgresql
    • 恢复备份
    美元pgbackrest- upostgres——节=prod_backup——三角洲\——类型=时间——target= 2021-11-07 11:55:47.952405+00"\- - -目标-操作=促进恢复
    • 启动postgresql实例
    美元sudosystemctl开始postgresql
  23. 检查数据库表,查看记录是否已恢复。

    选择*从客户;id|名字----+--------1|约翰2|玛莎3.|玛丽(3.行)
  24. 用例4:恢复到单独的PostgreSQL实例
    [global] repo1-host=pg-repo repo1-host-user=postgres process-max=2 log-level-console=info log-level-file=debug [prod_backup] pg1-path=/var/lib/postgresql/14/main

    SSH之间应该有双向无密码通信pg-repo和pg-secondary。请参阅设置SSH无密码如果您还没有配置它,则为步骤配置。

    停止PostgreSQL实例

    美元sudosystemctl停止postgresql

    从恢复数据库备份pg-repo来pg-secondary。

    美元pgbackrest- upostgres——节=prod_backup——三角洲恢复202111-0713: 34:08.897P00信息:恢复命令开始236:——三角洲——exec-id=109728-d81c7b0b——log-level-console=信息——log-level-file=调试——pg1-path=/var/lib/postgresql/14/main——process-max=2——repo1-host=pg-repo——repo1-host-user=postgres——节=prod_backup202111-0713: 34:09.784P00信息:repo1:恢复备份集20211107-111534 f_20211107——131807——我,复苏将开始在202111-0713: 18:07202111-0713: 34:09.786P00信息:删除无效的文件/链接/路径从' / var / lib / postgresql / 14 /主要的202111-0713: 34:11.803P00信息:写更新/var/lib/postgresql/14/main/postgresql.auto.conf202111-0713: 34:11.819P00信息:恢复全球/ pg_control(执行最后的来确保流产恢复不能是开始)202111-0713: 34:11.819P00信息:恢复大小=23.2MB,文件总计=937202111-0713: 34:11.820P00信息:恢复命令结束:完成成功(2924毫秒)

    恢复成功后,重启PostgreSQL:

    美元sudosystemctl开始postgresql

    从本地检查数据库内容psql壳。

    选择*从客户;id|名字----+--------1|约翰2|玛莎3.|玛丽(3.行)

    联系我们

    如需免费技术帮助,请访问Percona雷竞技下载官网社区论坛。

    要报告错误或提交功能请求,请打开JIRA票。

    付费支持和管理或咨询服务,请联系雷竞技下载官网Percona销售。


    最后更新:2022年12月5日
    创建:2022年1月21日
    雷竞技下载官网Percona LLC,©2023
    用MkDocs材料

    饼干的同意

    我们使用cookie来识别您的重复访问和偏好,以及衡量我们文档的有效性,以及用户是否找到他们正在搜索的内容。在您的同意下,您正在帮助我们改进我们的文档。

    Baidu
    map