我已准备好将我们的posgresql数据库移至EC2,但我对最佳备份和恢复策略有点不清楚。最初的计划是构建一个EBS支持的服务器,设置WAL-E来处理WAL归档和基本备份到S3。如果实例崩溃,我会拍摄最终生产服务器卷的快照。我还看到许多人为了恢复目的而频繁执行EBS快照。
推荐的策略是什么?是否有理由使用WAL 和存档执行预定的EBS快照?
答案 0 :(得分:4)
EBS快照会为您提供与WAL-E备份略有不同的备份类型。 EBS备份整个驱动器,这意味着如果您的EC2 Virt发生故障,您可以使用上一个EBS快照重新启动virt,并且事情会在您上次拍摄快照的地方正确。
EBS快照的频率将定义数据库备份的好坏程度。
关于WAL-E的吸引人的是“连续存档”。如果我需要备份每个数据库事务,那么WAL-E似乎是正确的选择。我可以想象的Manys应用程序不能丢失交易,所以这似乎是一个非常谨慎的选择。
我认为您计划将生产卷作为基线进行快照,然后使用WAL-E来持续存档数据库似乎非常合理。就个人而言,我可能会为该计划添加一个定期快照(每天一次?),以便采用硬基线并使恢复过程更容易一些。
通常的警告“测试你的恢复计划!”这里适用。你混合了许多技术(EC2,EBS,Postgres,Snapshots,S3,WAL-E),因此确保你能够实际恢复 - 而不仅仅是回归 - 至关重要。
答案 1 :(得分:0)
EBS快照将保存整个磁盘的映像,因此您可以备份服务器中的所有磁盘,并在数据丢失或发生灾难时将其作为一个整体进行恢复。除此之外,EBS快照的块级属性允许即时恢复,您可以恢复1TB数据库,并在几分钟内启动并运行。要使用基于文件的解决方案(如WAL-E)从头开始恢复1TB数据库,需要先从S3复制数据,这个过程需要数小时。使用WAL文件进行恢复是一种很好的方法,因为您可以通过事务返回任何时间,但快照整个服务器也将包含WAL文件,因此您仍然可以使用该选项。使用EBS快照的备份和快速恢复过程可以使用脚本或EC2备份解决方案自动执行(例如,Backup solutions for AWS EC2 instances)。