【问题标题】:Consistent EBS snapshot without downtime on a Windows Server 2012 AWS EC2 instance在 Windows Server 2012 AWS EC2 实例上无停机时间的一致 EBS 快照
【发布时间】:2016-03-24 09:25:20
【问题描述】:

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

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

我需要在不停机的情况下对 EBS 卷进行每日一致的快照

关于这个问题很多人说:

如果卷正在使用,则可以快照 EBS,但不推荐

来自official documentation

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

here:

EBS 卷和快照在块级别运行 - 这是由于 允许在实例运行时拍摄快照,甚至 如果 EBS 卷正在使用中。但是,只有实际存在的数据 磁盘(即不在文件缓存中)将包含在快照中。 正是后一个原因产生了一致的想法 快照。 推荐的方法是分离卷,对其进行快照,然后重新附加

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

【问题讨论】:

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


【解决方案1】:

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

但是:不能保证卷中的数据是一致的。

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

您将能够从您的快照创建一个卷,但您的文件大小只有 768k - 最后一个块不会存在,因为它是在创建快照之后写入的。

如果您可以控制写入磁盘的内容,那么暂停它并刷新所有缓存确实是确保生成的快照上的数据一致的唯一方法。

【讨论】:

  • 但是如果我的快照不一致,我可以从中创建一个卷吗?
猜你喜欢
  • 1970-01-01
  • 2018-09-17
  • 2018-01-15
  • 1970-01-01
  • 2022-01-23
  • 2023-03-17
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多