如何保证AWS EC2快照恢复时间?

如何保证AWS EC2快照恢复时间?

如何重现:

  1. 在第 0 个小时,对 100GB 的磁盘进行快照。
  2. 12点时:
    1. 创建一个新的 EC2 实例。
    2. 从快照创建卷。
    3. 将新卷附加到新实例。
    4. 让实例保持运行。

此时,我预计所有数据将在不到一小时内从快照复制到新卷,但似乎需要 12 个小时左右。与此同时,新实例无法用于生产流量,因为任何请求都可能需要非常服役时间长。

有没有什么方法可以确保更快地复制?我相信我已经看到过提及dd,但这真的能加快复制速度吗,还是它是一种安慰剂?

答案1

不,使用的dd不是“安慰剂”。

从现有 EBS 快照创建的新卷在后台延迟加载。

所以,如果你不这样做某物为了鼓励它不那么懒惰,EBS 会自然地认为没有什么特别着急的事情,所以它不需要耗费自己的资源或 S3 的资源来快速加载数据。

如果您的实例访问尚未加载的数据,该卷会立即从 Amazon S3 下载请求的数据,并在后台继续加载其余数据。

dd如果您需要确保还原的卷在生产中始终以峰值容量运行,则可以使用或强制立即初始化整个卷fio。有关更多信息,请参阅初始化 Amazon EBS 卷

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html

您甚至可以在卷已安装的情况下执行此操作。由于您只是从块设备读取数据(而不是向其写入数据),因此操作系统不会注意到或认为这是一个问题。

由于fio可以并行运行读取,它可以比完成工作更快地预热您的dddd

如果您喜欢进度表,请先尝试pv - pterab /dev/xvdN > /dev/null. (sudo apt-get install pv首先)。这不一定是最快的,但它很稳定,而且看起来更有趣,因为它会为您提供当前和持续的吞吐量、完成百分比和预计到达时间。完成后,您的卷已完全预热。

相关内容