4

我正在尝试将 Barman 配置为备份。当我这样做时,barman check replica我不断得到:

Server replica:
WAL archive: FAILED (please make sure WAL shipping is setup)
PostgreSQL: OK
superuser: OK
wal_level: OK
directories: OK
retention policy settings: OK
backup maximum age: FAILED (interval provided: 1 day, latest backup age: No available backups)
compression settings: OK
failed backups: OK (there are 0 failed backups)
minimum redundancy requirements: FAILED (have 0 backups, expected at least 2)
ssh: OK (PostgreSQL server)
not in recovery: FAILED (cannot perform exclusive backup on a standby)
archive_mode: OK
archive_command: OK
continuous archiving: OK
archiver errors: OK

我正在使用 Postgresql 9.6 和调酒师 2.1;我不确定问题是什么,有人可以帮忙吗?这是我的 Barman 服务器配置:

description = "Database backup"
conninfo = host=<db-ip> user=postgres dbname=db
backup_method = rsync
ssh_command = ssh postgres@<db-ip>
archiver = on
4

2 回答 2

13

barman check尝试通过断言存档中确实存在某些内容来确认存档设置是否正确。但是,WAL 段通常只有在填满后才会存档,如果您的服务器空闲,这将永远不会发生。

为了解决这个问题,Barman 提供了一个命令来强制进行段切换,等待完成的 WAL 出现,然后立即将其归档:

barman switch-xlog --force --archive replica
于 2017-03-06T02:28:30.400 回答
2

简单来说

Barman'sincoming_wals_directory和 Postgresql.conf'sarchive_command不匹配,如这里详细描述的那样

细节

另一个原因是之间不匹配

  • 酒保incoming_wals_directory
  • Postgresql.conf 的archive_command

用于检查的 Bash 实用程序

barman@backup $ barman show-server pg | grep incoming_wals_directory
# output1
# > incoming_wals_directory: /var/lib/barman/pg/incoming

postgres@pg $ cat /etc/postgresql/10/main/postgresql.conf | grep archive_command
# output2
# > archive_command = 'rsync -a  %p  barman@staging:/var/lib/barman/pg/incoming/%f' 

我们必须在 :output1 和 :output2 中具有相同的路径

如果他们不匹配,请让它们匹配,并且不要忘记之后重新启动 postgres。

于 2019-01-21T08:57:55.977 回答