在Windows Server 2012 AWS EC2实例上无需停机的一致EBS快照

时间:2015-12-17 19:21:17

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

我有一个AWS EC2 Windows Server 2012 R2实例,其磁带EBS卷D:\(Windows SO在C:\上)。

我的服务器在D:\上工作,每次在D:\temp(会话文件,缓存等)中写入一些临时文件,并在D:\htdocs中读取一些静态文件。

我需要在没有停机的情况下每天进行一致的EBS卷快照

关于这个问题,很多人都说:

  

快照EBS如果正在使用该卷,则可以但不建议使用

来自official documentation

  

您可以拍摄正在使用的附加卷的快照。但是,快照仅捕获在发出快照命令时写入Amazon EBS卷的数据。 如果您可以暂停任何文件写入卷的时间足以拍摄快照,则应该完成快照。

here

  

EBS卷和快照在块级运行 - 结果如下   即使在实例运行时,允许快照   如果正在使用EBS卷。但是,只有实际打开的数据   磁盘(即不在文件高速缓存中)将包含在快照中。   后一个原因产生了一致的想法   快照。   建议的方法是分离卷,对其进行快照并重新附加

我的问题是: 如果快照不一致,因为当我这样做时有写操作,我可以重新安装它吗?由于只写文件是临时文件,但它们对我来说并不重要,如果损坏我可以简单删除它们(在我重新安装快照之后)?我唯一的目标是保护静态文件。

1 个答案:

答案 0 :(得分:1)

如果您创建快照,您将能够从中创建一个卷,并重新安装它而不会出现任何问题。

但是:您无法保证卷中的数据是一致的。

请考虑以下情况:您将1 MB文件提交给SSD支持的EBS卷。这将需要4 x 256k IO操作。所以前三个完成,然后你拍摄你的快照,然后写第四个块。

您可以从快照创建一个卷,但是您的文件大小只有768k - 最后一个块不会出现,因为它是在创建快照后写的。

如果您可以控制写入磁盘的内容,暂停和刷新任何缓存实际上是确保生成的快照上的数据一致的唯一方法。