我在 Amazon EC2 实例上运行一个小论坛。它使用 50GB 的“gp2”卷。服务器运行时,我会不时地进行“快照”。快照系统如何在实时文件写入期间处理站点?如果开发人员正在上传文件,并且用户当时正在论坛上发帖。恢复的服务器将如何工作?整个站点备份是否会导致“系统损坏”。我知道上次备份后创建的文件将消失。但是快照期间“写入”的文件怎么办?这些文件会被损坏吗?或者快照系统是否跟上 IO 队列?
答案1
这在文档。
只要卷在被读取时没有被写入,并且处于一致状态,快照就应该没问题。如果您想要保证完美的快照,您应该在启动快照之前停止对磁盘的写入 - 最简单的方法是停止实例。如果实例在写入发生时正在写入卷,那么它可能已损坏,但我怀疑只有该文件会出现问题。如果它正在写入数据库,则可能是一个问题。使用 RDS 作为数据库可以避免此问题。不过,您可能可以暂停数据库写入。
如果您停止实例以拍摄一致的快照,则一旦快照启动(不是完成,而是已启动),您就可以再次开始使用磁盘,并且您的快照将是一致的 - 它们是异步的。您的 I/O 可能会慢一点,直到完成。
您可以轻松地对现货实例进行恢复测试以测试您的快照。可能花费您 0.10 美元。