【问题标题】:Restoring an Amazon EBS Volume from a Snapshot从快照恢复 Amazon EBS 卷
【发布时间】:2016-06-26 16:34:03
【问题描述】:

但根据我的实验,我会发现以下情况,有两个实例 实例 1 和实例 2

第一个场景 - 失败 我为 Instance-1 的数据卷创建了快照,并使用该快照创建了一个新卷并将新卷附加/挂载到 Instance-2。将新卷安装到实例 2 后,我看不到其中的数据。

第二个场景 - 成功 我已经从 Instance-1 卸载了数据卷,然后我为 Instance-1 的数据卷创建了快照,并使用该快照创建了一个新卷并将新卷附加/挂载到 Instance-2。将新卷安装到实例 2 后,我可以看到其中的数据。

这是行为快照还是我遗漏了什么

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    出于这个原因,AWS 建议在拍摄快照之前卸载 EBS 卷的文件系统。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html

    在大多数(所有?)现代操作系统中,即使我的应用程序写入文件并被告知操作成功,内核可能实际上并未写入后备存储区,从而将更改缓存在内存中。这在虚拟存储上拍摄快照时尤其危险,因为在制作快照时操作系统可能正在写入文件系统,从而损坏文件、目录/文件夹或更糟。

    【讨论】:

    • 感谢您的回复。因此,在这种情况下,我无法对存储在 /data 挂载点中的数据进行时间点恢复。或者在我安排 EBS 快照之前有什么方法可以强制将缓存的数据写入 EBS 卷
    • 您需要停止任何写入 /data 的进程并卸载它。没有其他方法可以确保您获得良好的快照,因为 EBS 后端无法知道操作系统缓存了哪些数据。
    【解决方案2】:

    您可以在拍摄快照之前使应用程序静默,并在快照开始后立即释放它。例如,如果它是 XFS 文件系统,您可以在创建快照之前和解冻后立即冻结文件系统。冻结将无法解释未写入文件的应用程序数据,但它会将文件系统缓存刷新到磁盘。 更好的解决方案是在应用程序级别执行此操作,例如:在拍摄快照之前对 MySQL 数据库执行刷新和写入锁,然后立即释放锁。

    【讨论】:

      猜你喜欢
      • 2019-09-17
      • 2011-03-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2012-11-29
      相关资源
      最近更新 更多