但根据我的实验,我会发现以下内容,有两个实例 Instance-1和instance-2
第一种情况 - 失败 我为Instance-1的数据卷创建了快照,并使用该快照创建了一个新卷,并将新卷附加/挂载到Instance-2。将新卷安装到实例-2后,我无法看到其中的数据。
第二种情况 - 成功 我已经从Instance-1卸载了数据卷,然后我为Instance-1的数据卷创建了快照,并使用该快照创建了一个新卷,并将新卷附加/挂载到Instance-2。将新卷安装到实例-2后,我可以看到其中的数据。
这是行为快照还是我遗漏了什么
答案 0 :(得分:0)
AWS建议在完全拍摄快照之前卸载EBS卷的文件系统。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
在大多数(所有?)现代操作系统中,即使我的应用程序写入文件并被告知操作成功,内核也可能没有实际写入后备存储,保持更改缓存在内存中。这在虚拟存储上拍摄快照时尤其危险,因为操作系统可能正在制作快照时写入文件系统,损坏文件,目录/文件夹或更糟糕。
答案 1 :(得分:0)
您可以在拍摄快照之前暂停应用程序,并在快照开始后立即释放它。例如,如果它是一个XFS文件系统,您可以在创建快照之前立即冻结文件系统,并在解冻后立即冻结文件系统。冻结将无法解释未写入文件的应用程序数据,但会将文件系统缓存刷新到磁盘。 更好的解决方案是在应用程序级别上执行此操作,例如:在拍摄快照之前对MySQL数据库执行刷新和写入锁定,然后立即释放锁定。