【问题标题】:What data is stored in Ephemeral Storage of Amazon EC2 instance?Amazon EC2 实例的 Ephemeral Storage 中存储了哪些数据?
【发布时间】:2012-07-18 22:55:45
【问题描述】:

我正在尝试停止 Amazon EC2 实例并收到警告消息

警告:请注意,实例临时存储上的所有数据在停止时都会丢失。

我的问题

Amazon EC2 实例的临时存储中存储了哪些数据?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-ebs


    【解决方案1】:

    基本上,根卷(您的整个虚拟系统磁盘)是短暂的,但只有在您选择创建由 Amazon EC2 实例存储支持的 AMI。

    如果您选择创建由 EBS 支持的 AMI,那么您的根卷将由 EBS 支持,并且您在根卷上的所有内容将在重启之间保存。 p>

    如果您不确定您拥有什么类型的卷,请在 AWS 控制台中的 EC2->Elastic Block Store->Volumes 下查看,如果您的 AMI 根卷在此处列出,那么您是安全的。此外,如果您转到 EC2->Instances,然后在您的实例的“根设备类型”列下查看,如果它显示“ebs”,那么您不必担心根设备上的数据。

    更多详情:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html

    【讨论】:

    • 如果 AWS 没有给出不必要的警告消息“您的实例的临时存储上的任何数据都将丢失”,即使在尝试停止实例时,这可能不会让人们感到如此困惑,即使用 EBS 支持的根设备,实际上没有理由担心任何数据丢失。
    • 警告适用,因为您可以同时连接 BS 支持的根和临时存储(手动,因为默认情况下 aws 不这样做)
    • 实际上,我只是继续这样做,但还是有一个错误:Unable to connect to your database server using the provided settings. Filename: core/Loader.php Line Number: 346 有什么想法吗?在执行此操作之前没有发生这种情况。
    • 只是为了跟进,由于某种原因mysqld 服务停止运行。支持人员说这不正常,但这是唯一的问题。
    • @Tilman 正是我的想法。该警告不仅没有必要,而且具有误导性。感谢您指出。
    【解决方案2】:

    任何未存储在挂载到实例的 EBS 卷上的内容都将丢失。

    例如,如果您将 EBS 卷挂载到 /mystuff,那么任何不在 /mystuff 中的内容都将丢失。如果你不挂载 ebs 卷并在上面保存东西,那么我相信一切都会丢失。

    您可以从您当前的机器状态创建一个 AMI,它将包含您临时存储中的所有内容。然后,当您基于该 AMI 启动一个新实例时,它将包含现在的所有内容。

    更新:根据 mattgmg1990 和 glenn bech 的 cmets 进行澄清:

    请注意,“停止”和“终止”是有区别的。如果您“停止”由 EBS 支持的实例,那么当您再次“启动”机器时,根卷上的信息仍将处于相同状态。根据文档,“默认情况下,启动 Amazon EBS 支持的实例时附加的根设备卷和其他 Amazon EBS 卷会在实例终止时自动删除”,但您可以通过配置进行修改。

    【讨论】:

    • 实例上的所有内容都将保存在临时存储中,除非您已配置并挂载了一个 ebs 卷并有意识地将数据放入其中。
    • 这仅适用于instance store 设备吗?也就是说,在ebs 设备上,我的根存储驱动器是否是临时的?
    • 这个答案并不完全正确,您的数据存储在哪里取决于您选择创建的 AMI 类型。 @nidalpres 的以下回答更完整。如果您选择创建由 EBS 支持的 AMI,则您的根目录不会存储在临时存储中。
    • 我想补充一点,我认为@nidalpres 写了一个更好的答案,或者至少是一个更容易理解的答案。
    • “如果你“终止”这台机器,那么即使它有 EBS 支持,它也会消失。”这是不正确的。这由“添加存储”页面(指根卷)上的“终止时删除”标志确定。也可以在命令行中指定,甚至可以在运行的实例上使用 CLI 进行更改 (docs.aws.amazon.com/AWSEC2/latest/UserGuide/…)
    【解决方案3】:

    要明确并回答@Dean 的问题:EBS 类型的根存储似乎不是短暂的。数据在重新启动后是持久的,实际上使用 ebs 支持的“临时”根卷没有任何意义。这与基于图像的根卷没有什么不同。

    【讨论】:

    • 在您“停止”实例之后,所有 EBS 支持的存储都是持久的,例如非临时的。如果您“终止”,您将丢失数据。请参阅stackoverflow.com/a/11566285/46249
    【解决方案4】:

    根据 AWS 文档 [https://aws.amazon.com/premiumsupport/knowledge-center/instance-store-vs-ebs/] 实例存储卷不会因实例停止、终止或硬件故障而持久存在。 从实例存储磁盘创建的任何 AMI 都不包含实例存储中存在的数据,因此此 AMI 启动的所有实例都不会将数据存储在实例存储中。实例存储可以用作在实例上运行的应用程序的缓存,对于所有持久数据,您应该使用 EBS。

    【讨论】:

      【解决方案5】:

      ephemeral 只是根卷的另一个名称,当您从 Amazon EC2 instance store

      支持的 AMI 启动实例时

      所以所有内容都将存储在临时文件中。

      如果您已从由 EBS 卷支持的 AMI 启动实例,则您的实例没有临时性。

      【讨论】:

        猜你喜欢
        • 2016-08-26
        • 1970-01-01
        • 2011-01-13
        • 2011-11-21
        • 1970-01-01
        • 2016-01-22
        • 1970-01-01
        • 1970-01-01
        • 2011-11-13
        相关资源
        最近更新 更多