我从具有300GB根卷的数据库服务器烘焙AMI。 80%的音量正在使用中。烘焙AMI背后的原因是我们每天需要多个具有完全相同数据的新实例。 AMI是合适的解决方案,因为恢复过程非常缓慢。因此,在创建实例之后无法启动数据恢复过程。我们希望实例在7-8分钟内准备好所有数据。
但是,新实例中的表现极差。其背后的原因是实例使用EBS,需要按照本文档中的描述进行初始化。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
不幸的是,初始化过程需要5-6个小时,这对我们来说不是解决方案。
那么,当底层数据需要在AMI中时,烘焙AMI的最佳做法是什么?
答案 0 :(得分:0)
现在,我在初始化EBS卷方面有很多帮助。
AWS建议dd
或fio
初始化EBS卷。运行单个dd
进程需要花费太多时间。因此,使用dd
的多个进程从给定块中提取一小块数据会使初始化过程非常快。
nohup seq 0 $(($(cat /sys/block/xvda/size) / (1 << 10))) | xargs -n1 -P8 -I {} sudo dd if=/dev/xvda of=/dev/null skip={}k count=1 bs=512 > /dev/null 2>&1 &"