暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Barman 2.10 –恢复部分WAL文件

原创 Anna Bellandi 2019-12-12
2018

作为PostgreSQL数据库管理员并每天管理备份,我最喜欢的Barman 2.10的新功能之一是.partial恢复期间对WAL文件的透明管理。而且,如果您一直在将Barman与WAL流一起使用,并被要求执行实例的完全恢复,则很可能会感同身受。

在Barman 2.10中恢复部分WAL文件
新的Barman 2.10通过自动管理部分文件来增强用户的体验并修复恢复过程中的问题。

这是可以通过新功能实现的,.partial由于添加了新功能,该功能允许自动恢复WAL文件。–partial/-P option to the get-wal command.

该get-wal命令负责从Barman检索WAL文件,从1.5.0版开始将Barman服务器转换为服务器的WAL集线器。使用–partial/ -P选项,如果WAL文件已经交付给Barman,但尚未归档,则该get-wal命令还可以检索在streaming目录中搜索的部分WAL文件。

如果主PostgreSQL服务器突然出现不可恢复的故障,这特别有用。.partial流到Barman 的文件包含非常重要的信息,标准存档程序(通过PostgreSQL的archive_command)尚未传递给Barman。现在,执行恢复时,您可以在启用状态下运行该recover命令get-wal,而无需运行–standby-mode。在这种情况下,Barman会自动将-P选项添加到恢复选项中barman-wal-restore(然后将其中继到远程get-wal命令)restore_command。

注意:barman-wal-restore是barman-cli包装的一部分。

让我们使用Barman 2.10执行恢复:

barman recover \
--remote-ssh-command 'ssh postgres@pg02' \
pg01 latest /opt/postgres/data/

恢复将产生以下recovery.conf文件(PostgreSQL 11或更早版本)或postgresql.auto.conf(PostgreSQL 12及更高版本):

# The barman-wal-restore command is provided in the barman-cli package

restore_command = 'barman-wal-restore -P -U barman backup node1 %f %p'

如您所见,barman-wal-restore包含的-P选项将把请求传播到Barman的get-wal命令,同时还返回最新的部分文件的内容:

2019-11-17 15:30:56,826 [19952] barman.server INFO: Sending WAL '000000010000000000000014.partial' for server 'pg01' to standard output (SSH host: XXX.XXX.XX.X)

结论
与任何新发行的Barman一样,我们建议每个人都将其系统更新为最新版本。2.10包含一些错误修复和增强功能,包括:

  • 在check命令中验证PostgreSQL实例的系统标识符
  • 名为的新服务器/全局选项create_slot,用于控制自动创建复制插槽
  • barman-cloud-wal-archive 脚本直接将WAL文件发送到AWS S3以在云中永久存储
  • barman-cloud-backup 脚本来执行完整的基本备份,并将其直接发送到AWS S3以在云中永久存储。

来源:Barman 2.10 –恢复部分WAL文件

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论