Amazon EC2 postgresql备份:将数据目录或pg_dump快照到一致的快照的EBS卷上?

Lee*_*idt 5 postgresql backup snapshot amazon-ec2

我在亚马逊EC2上有一个postgresql数据库,需要确定备份这些数据的最佳方法.我正在考虑两种选择:

(1)将EBS卷挂载到/ pgsqldata等目录,并将此目录用作postgresql数据目录(在Amazon Linux上,默认为/ var/lib/pgsql/data /).然后这个卷将获得频繁的快照.

要么

(2)将postgresql数据目录保存在其默认位置.然后使用pg_dump频繁地将备份转储到像/ pgsqldumps这样的位置,并且该卷将在每个pg_dump之后获得快照.

第三种选择是简单地快照根设备卷(我正在使用EBS支持的实例),因为在我的情况下它既是网络服务器又是数据库.我喜欢为数据备份提供专用卷的想法.

最后,如果我正在拍摄实时postgresql数据目录的直接快照,我是否需要担心在快照过程中可能对数据库进行的更改?

谢谢

cha*_*man 4

无论如何,您应该将该卷移动到其自己的 EBS 卷,这有助于解决 EBS 卷上的写入争用以及其他好处。此外,我还将日志写入自己的卷并对其进行备份。

为了回答这个问题,我两者都做了。对 EBS 卷进行快照并转储数据库。这样,如果您想将实时数据同步到开发盒(取决于数据库上的 PII),则可以轻松进行转储和恢复,但您也可以轻松恢复新实例并附加快照。如果您的数据库转储小于 5GB,您可以将其同步到 S3,而无需将备份存储在自己的卷上,但如果不是,您将需要将其存储在自己的 EBS 卷上,然后也可以在定期上创建快照基础。

是我为此编写的脚本,它可能已经过时,但应该可以工作。