从Amazon EC2实例存储切换到EBS卷

我有一个使用实例存储作为其根设备的Amazon EC2实例。 它没有附加EBS卷。 它有一个数据库和一个正在运行的Web应用程序。 如果我理解正确,这是一个糟糕的设置,因为如果要重启,我将丢失实例上的所有数据。 我想纠正这个错误。 我想将正在运行的实例上的所有数据移动到新的EBS卷,并将该新卷作为根设备。 我怎么去做这个?

谢谢!

基本上你只需要将正在运行的实例复制到EBS卷。 在这之前停止任何改变文件系统上的东西(mysql等)

因此,创build一个卷,确保它与s3支持的实例处于相同的可用区域,并将其附加到该实例。

ec2-create-volume -s 10 -z us-east-1d ec2-attach-volume -i i-instance_id -d /dev/sdh 

将所有内容复制到ebs卷并validation。

 dd bs=65536 if=/dev/sda1 of=/dev/sdh fsck /dev/sdh 

然后安装驱动器

 mkdir -p 000 /ebs mount /dev/sdh /ebs 

确保/ ebs / etc / fstab不会尝试安装任何不在那里的东西,然后卸载驱动器

 umount /dev/sdh 

然后你可以创build该卷的快照,然后你可以ec2注册为ami,你必须从命令行这样做,我不认为你可以使用web界面从快照注册ami。

在高层次上,你:

a)创build一个EBS卷
b)将EBS卷连接到正确的实例
c)格式化并挂载卷,以使操作系统可以使用它。

前两项可以通过AWSpipe理控制台轻松完成。 最后一项任务取决于你的操作系统,但对于Linux这里是一个链接,将有助于: http : //www.randomtools.net/how-to-mount-amazon-ec2-ebs-volume-on-an-instances-file-系统-76.html