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

Amazon ec2 从正在运行的实例创建一个EBS支持的AMI,我做错了什么?,amazon-ec2,amazon-web-services,cloud-hosting,amazon-ebs,Amazon Ec2,Amazon Web Services,Cloud Hosting,Amazon Ebs,我正在尝试从正在运行的实例创建一个EBS支持的映像,类似于。我主要使用这些网站作为参考: 我成功地创建了EBS卷,对其运行了mkfs.ext3(我格式化了整个驱动器,而不是分区——这可能是问题所在吗?),并使用以下rsync命令制作了文件系统的副本: rsync--stats-avv--exclude=/root/.bash_history--exclude=/etc/ssh/ssh_host--exclude=/etc/ssh/moduli--exclude=/etc/udev/rules

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

  • 我成功地创建了EBS卷,对其运行了
    mkfs.ext3
    (我格式化了整个驱动器,而不是分区——这可能是问题所在吗?),并使用以下
    rsync
    命令制作了文件系统的副本:

    rsync--stats-avv--exclude=/root/.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--exclude=/media--exclude=/media--excl

    (其中
    /media
    /production
    是从其他EBS卷装入的目录,
    /mnt/EBS root/
    是将包含映像的新EBS卷)

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

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

    # Legacy /etc/fstab
    # Supplied by: ec2-ami-tools-1.3-34544
    /dev/sda1 /     ext3    defaults 1 1
    /dev/sda2 /mnt  ext3    defaults 0 0
    /dev/sda3 swap  swap    defaults 0 0
    /dev/sdp1 /production  ext3    defaults 0 0
    none      /proc proc    defaults 0 0
    none      /sys  sysfs   defaults 0 0
    

    我远远超出了我的知识基础,希望有人能给我指出正确的方向。提前感谢。

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

    /etc/init.d/apache2停止

    /etc/init.d/mysql stop

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


    感谢您提供的提示。

    您能否澄清:新映像是否真的成功启动(请查看控制台日志)?在分配EIP之前,您可以使用ssh连接到机器吗?您的安全组允许ssh访问吗?您是否在分配EIP后无法进行ssh,并且您是否有足够的时间让EIP生效?感谢您提出的澄清问题。这是来自amazon的系统日志:我根本无法进行ssh—在分配EIP之前或之后。我只是在同一个实例运行了一夜之后尝试了它,所以它可能没有等待。看起来问题可能是在系统运行时拍摄快照导致的损坏。我将尝试停止mysql/apache/etc,看看这是否有帮助。(参考:)是的,绝对不要在实例运行时拍摄可引导卷的快照(理想情况下,不要从任何连接的卷)。始终首先停止实例,因为这样可以确保操作系统在您抓取卷时不会对卷执行任何写入操作。还要检查您的安全组是否允许ssh通过实例。