从正在运行的实例创建EBS支持的AMI,我做错了什么?

时间:2012-01-17 04:09:41

标签: amazon-ec2 amazon-web-services cloud-hosting amazon-ebs

我正在尝试从正在运行的实例创建一个EBS支持的图像,类似于this post on SO。我主要使用这些网站作为参考:

  1. Create a bootable EBS AMI from a running instance
  2. A script to rsync a running Linux OS to an image file
  3. 我成功创建了EBS卷,针对它运行mkfs.ext3我格式化了整个驱动器,而不是分区 - 这是问题,也许是?)并使用了以下{ {1}}命令来制作文件系统的副本:

    rsync

    (其中rsync --stats -avv --exclude=/root/.bash_history --exclude=/home/*/.bash_history --exclude=/etc/ssh/ssh_host_* --exclude=/etc/ssh/moduli --exclude=/etc/udev/rules.d/*persistent-net.rules --exclude=/mnt/* --exclude=/proc/* --exclude=/tmp/* --exclude=/sys/* --exclude=/dev/* --exclude=/production --exclude=/media / /mnt/ebs-root//media是从其他EBS卷安装的目录,/production是包含图像的新EBS卷。

    rsync工作得很好,我可以卸载卷,快照它,并使用AWS控制台制作可引导映像......但是当它启动时,我无法通过web / ssh访问它(更改后) AWS控制台中的弹性IP。)

    我注意到我可能需要编辑新EBS卷中的一些文件(比如/ etc / fstab),但我不确定。无论如何,这是我的/ mnt / ebs-root / etc / fstab的内容:

    /mnt/ebs-root/

    我在这里的知识基础之外,希望有人可以指出我正确的方向。提前谢谢。

1 个答案:

答案 0 :(得分:1)

问题是我试图在实例运行时对其进行映像。我想,因为没有人访问该网站,我可以在运行时对其进行成像,但显然不是。这是我跑的:

/etc/init.d/apache2 stop

/etc/init.d/mysql stop

然后我从上面重新运行我的rsync命令,现在可以通过SSH访问该实例! (我现在有一个新问题,但那是另一个话题;)

感谢Jonners提示。