在活动实例上加载快照以替换根卷,而无需终止或停止

在活动实例上加载快照以替换根卷,而无需终止或停止

我正在运行一个小型 EC2 实例Ubuntu 9.10。我不能停止或终止它,因为它是一个生产服务器,我们不能丢失我们的 IP。

我有一个 Amazon EBS 卷,它是我们的根驱动器,并且我有此驱动器的多个快照。我们今天尝试升级我们的 PHP 版本,但它破坏了一些东西。我需要在不终止或停止实例的情况下重新加载旧快照。如何做到这一点?

谢谢。

答案1

当你发现自己处于服务器不能重新启动,您应该思考如何设置。亚马逊有专门用于此目的的 Elastic IP 产品。我建议您进行设置。

关于你的快照,我很难相信你能做到这一点。即使它可以将快照还原到正在运行的系统,但操作系统无法在不崩溃的情况下幸存下来。您要么需要修复 PHP 问题,要么需要放下自尊,处理一些停机时间。

为了确保停机时间尽可能短,请将此主机的 DNS 记录的 TTL 缩短至 60 秒或类似的时间。这将确保 DNS 解析器不会将记录缓存太长时间。准备就绪后,关闭服务器,恢复快照,启动新实例,然后重新配置 DNS 以指向弹性 IP。

答案2

您无法完全按照要求执行操作。您需要从快照启动一个新实例,然后可以执行以下操作之一:

  • 将受影响的文件复制回旧实例,或者...
  • 更改 DNS 或移动弹性 IP 以指向您的新实例,从而移动生产流量。

我推荐后者,因为经过这个过程将确保您准备好在实例失败时恢复您的服务。

听起来您可能没有使用弹性 IP,因为您担心丢失 IP。由于实例在正常运行下会失败,因此您希望尽快修复该问题。您可以在没有弹性 IP 的情况下工作,但您需要其他抽象层:DNS 或弹性负载平衡器都可以正常工作。

相关内容