防止 EC2 机器暂停、关机、关机

防止 EC2 机器暂停、关机、关机

EC2 Ubuntu 服务器在关闭时会清除所有磁盘内容。在发生不幸的事故后,我决定阻止命令 -livehalt和。poweroffshutdown

  1. 最好的方法是什么?我考虑过将这些命令(at /sbin)重命名为类似 的名称HALT_RENAMED___ERASES_ALL_DISK_CONTENTS

  2. 除了上面列出的三个文件之外,还有其他文件需要处理吗?

  3. 我注意到,haltpoweroff仅仅是指向的链接reboot。重启也应该重命名吗?

亚当

答案1

我强烈建议使用基于 EBS 的实例并定期创建 EBS 卷的快照。如果出现潜在硬件问题,可以停止/启动基于 EBS 的实例(这会导致它们在不同的硬件上启动,除非你运气不好)

我推荐使用快照,因为 EBS 卷没有与 S3 相同的冗余。它们比普通硬盘更可靠,但我曾遇到过 EBS 卷故障,而我的快照挽救了局面。

ec2-modify-instance-attribute --instance-initiated-shutdown-behavior stop 对非 EBS 实例不起作用。

答案2

如果您使用的是 EC2 实例,并且有需要保留的数据,则应使用 EBS 卷来保存数据。否则,您有责任整合一个流程,定期上传到 S3 或其他备份策略,以便在重启时恢复。我有近十几个 EC2 实例在运行,并使用这两种策略的组合。

在 EC2 实例上安装的 / 驱动器旨在在完全关闭时清除,这就是haltshutdownpoweroff作用。驱动器将在重新启动期间保留,但当实例完全关闭时,它将被销毁,这正是亚马逊在 EC2 使用条款中告诉您的,也是为什么他们建议使用 EBS 来保留它的原因。

唯一的其他选择是使用 EBS 支持的实例,这样可以持久保存,但您需要为 EBS 卷的存储付费。这会将整个实例放在 EBS 卷上,而不仅仅是需要持久保存的数据。

答案3

您可以更改关机行为:

ec2-run-instances                           \
  --instance-initiated-shutdown-behavior stop \

在此阅读更多详细信息:http://alestic.com/2010/01/ec2-instance-locking

答案4

不可能。

认真说 - 你不应该依赖 EC2 服务器来保持状态。这有据可查。

您无法阻止虚拟机关闭。如果服务器发生故障怎么办?不会发生 - 亚马逊已经发生过这种情况。系统崩溃了。

基本上,您在这里是在追捕幽灵。您无法阻止虚拟机关闭。

相关内容