除了使用以下命令之外,还有其他方法可以预热PIOPS EBS卷吗?
sudo dd if = / dev / xvdf = / dev / null bs = 1M
随着EBS vol的大小增加,上述命令似乎需要更长的时间。
所以在理想情况下,我希望使用我的快照创建一个卷,并且最小的停机时间我想将该卷用作我的mysql数据目录,但在此之前我想要预热它。如果有办法加快这个过程,那就太好了。但是,我们不会在硬件方面受到挑战,我们可以采用AWS上所需的更大的机器。
答案 0 :(得分:2)
您声明“您想要使用我的快照创建卷”,因此通过编写数据进行预热并不是一个好主意。相反,您应该读取数据,这将导致数据从快照加载到您的EBS卷上。
来自Pre-Warming Amazon EBS Volumes:
创建任何新EBS卷(通用(SSD),预配置IOPS(SSD)或磁盘)或从快照还原卷时,会立即为您分配后端存储块。但是,第一次访问存储块时,必须先擦除它(对于新卷)或从其快照中实例化(对于已还原的卷),然后才能访问该块。此初步操作需要时间,可能会导致每次访问块时第一次为您的卷丢失5到50%。对于大多数应用程序,可以接受在卷的生命周期内摊销此成本。访问一次数据后,性能将恢复。
但是,在使用之前,您可以通过写入或读取卷上的所有块来避免生产环境中的性能损失;这个过程叫做预热。首选写入卷上的所有块,但这不是从快照还原的卷的选项,因为这会覆盖已还原的数据。对于从头创建的全新卷,您应该在使用卷之前写入所有块。对于从快照创建的新卷,您应该在使用卷之前读取所有具有数据的块。
预热盘(通过读取或写入)可能需要很长时间。磁盘越大,所需的时间越长。如果可能,避免预热。相反,只需正常使用它。最糟糕的情况是,在首次访问每个块时,您将遇到稍慢的访问速度,这通常不是问题(除非您正在执行速度测试)。
答案 1 :(得分:0)
除非您在从快照还原时谈论初始访问性能损失,否则不再需要预热。请参阅Initializing Amazon EBS Volumes。
如果该页面消失,请参阅摘录:
新的EBS卷在可用时获得最大性能并且不需要初始化(以前称为预热)。但是,从快照还原的卷上的存储块必须是在您访问该块之前初始化(从Amazon S3下拉并写入卷)。此初步操作需要时间,并且可能在第一次访问每个块时导致I / O操作的延迟显着增加。对于大多数应用程序,可以接受在卷的生命周期内摊销此成本。访问数据一次后,性能将恢复。