【问题标题】:Bundling an AMI out of a running ec2 instance fails从正在运行的 ec2 实例中捆绑 AMI 失败
【发布时间】:2012-02-25 01:10:37
【问题描述】:

我正在尝试基于 64 位 Ubuntu 11.10 EBS AMI 创建自己的 AMI。但是,命令失败,如下所示。我已经用谷歌搜索了这个特定的错误并画了一个空白。

有人可以帮忙吗?

    $ sudo ec2-bundle-vol -u XXXXXXX -c foo.pem -k bar.pem -d /persistent/ami/2012-02-02-0634/

    Please specify a value for arch [x86_64]: 
    Copying / into the image file /persistent/ami/2012-02-02-0634/image...
    Excluding: 
             /var/www
             /sys/kernel/debug
             /sys/kernel/security
             /sys
             /var/log/mysql
             /var/lib/mysql
             /
             /proc
             /etc/apache2
             /etc/mysql
             /sys/fs/fuse/connections
             /dev/pts
             /dev
             /etc/php5
             /var/lib/php5
             /dev
             /media
             /mnt
             /proc
             /sys
             /etc/udev/rules.d/70-persistent-net.rules
             /etc/udev/rules.d/z25_persistent-net.rules
             /persistent/ami/2012-02-02-0634/image
             /mnt/img-mnt
    1+0 records in
    1+0 records out
    1048576 bytes (1.0 MB) copied, 0.00215727 s, 486 MB/s
    mke2fs 1.41.14 (22-Dec-2010)
    loop: can't delete device /dev/loop0: No such device or address
    ERROR: execution failed: "rsync -rlpgoD -t -r -S -l --exclude /var/www --exclude /sys/kernel/debug --exclude /sys/kernel/security --exclude /sys --exclude /var/log/mysql --exclude /var/lib/mysql --exclude / --exclude /proc --exclude /etc/apache2 --exclude /etc/mysql --exclude /sys/fs/fuse/connections --exclude /dev/pts --exclude /dev --exclude /etc/php5 --exclude /var/lib/php5 --exclude /dev --exclude /media --exclude /mnt --exclude /proc --exclude /sys --exclude /etc/udev/rules.d/70-persistent-net.rules --exclude /etc/udev/rules.d/z25_persistent-net.rules --exclude /persistent/ami/2012-02-02-0634/image --exclude /mnt/img-mnt -X /* /mnt/img-mnt 2>&1 > /dev/null"

【问题讨论】:

    标签: ubuntu amazon-ec2 amazon-ami


    【解决方案1】:

    对于Amazon EBS-Backed Instance,现在更简单(因此推荐)促进单个专用 API 调用 ec2-create-image 而不是 ec2-bundle-vol,后者可以通过以下方式方便地完成AWS 管理控制台也是如此,如 Creating an Image from a Running Instance 中所述 - 请注意默认情况下,EC2 会尝试在创建映像之前彻底关闭实例,然后重新启动实例

    这显然通常是可取的,但是,如果需要,确实可以通过命令行来避免:

    如果您不希望实例重启,您可以使用 Amazon EC2 用于创建图像的命令行工具 [...]。 ec2-create-image 命令有一个 --no-reboot 选项。

    祝你好运!

    【讨论】:

    • 有趣。但是 ec2-create-image 是否足够聪明,可以排除某些目录,例如 ec2-bundle-vol ?我将不得不等待尝试一下,因为我正在运行的实例已经在生产中并且我无法关闭它。
    【解决方案2】:
    【解决方案3】:

    我也遇到了同样的问题,解决方法很简单……我的机器上没有安装rsync……

    【讨论】:

      猜你喜欢
      • 2013-12-02
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多