我正在运行一个写入操作很少的 Web 服务器(日志文件除外)。根据亚马逊的说法:
启用后,Amazon EC2 不会在创建映像之前关闭实例。使用此选项时,无法保证所创建映像上的文件系统完整性。
如果我复制 AMI 而不重新启动,并且它可以正常加载,我是否应该担心稍后可能会出现损坏问题?
答案1
我不知道您希望 AMI 有多“干净”,但这在很大程度上取决于源实例中运行的应用程序和文件系统的敏感性和“状态性”。EBS 快照无法在实例内使 I/O 静止,因此 YMMV - 这基本上就像您拔掉了服务器的插头一样。
我个人曾无数次在 EC2 和其他 IaaS 平台上这样做过,最终损坏的工作负载只有关系数据库。有人声称 ext4 对此过于敏感,但我个人没有亲眼见过。
来自AMI 创建文档:
Amazon EC2 在创建 AMI 之前会关闭实例,以确保在创建过程中实例上的所有内容都已停止并处于一致状态。如果您确信实例处于适合创建 AMI 的一致状态,则可以告诉 Amazon EC2 不要关闭并重新启动实例。某些文件系统,例如軟體系,可以冻结和解冻活动,从而无需重新启动实例即可安全地创建映像。