AWS EC2:如何使用数据透视重新安装以前的EBS卷

我启动了一个EC2竞价型实例,并取消选中EBS根卷的“删除终止”选项。 我选择了Ubuntu 14.04 64位HVM AMI。

在某个时候,该实例由于最高价格而被终止,EBS交易量按预期停滞。 现在最终当竞价型实例重新启动时,它会创建一个全新的EBS根卷。 旧的EBS根卷仍然坐在那里。

实际上,我通过手动终止竞价型实例并启动新实例来模拟上述事件以进行测试,但我认为实际使用中的结果是相同的。

那么现在,我如何才能将旧EBS卷重新安装为当前根卷?

我尝试了http://linux.die.net/man/8/pivot_root中的示例,并进行了一些修改以解决明显的错误:

# manually attach old EBS to /dev/sdf in the AWS console, then do:
sudo su -
mkdir /new-root
mkdir /new-root/old-root
mount /dev/xvdf1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh <dev/console >dev/console 2>&1
umount /old-root

终端挂在exec chroot命令上,实例不会接受新的ssh连接。

我真的想要这样做,因为它提供了一种便利的机制,可以省去开发,测试和面向批处理的EC2实例的按需价格,而无需重新构建整个应用程序部署,也无需承诺预留实例。

我错过了什么?


答案是将pivot_root调用放在初始(临时)EBS根卷上的/sbin/init

以下是一些脚本,用于自动启动新的竞价型实例并修改1st(临时)EBS卷上的/sbin/init以从第二个(持久性)EBS卷链式加载系统:

https://github.com/atramos/ec2-spotter

链接地址: http://www.djcxy.com/p/67169.html

上一篇: AWS EC2: How to remount previous EBS volume using pivot

下一篇: EC2 Spot instances: How to start tasks, how to stop them?