linux - 如何从 S3 存储桶中已上传的 VMDK 镜像创建实例

标签 linux amazon-web-services amazon-ec2 amazon-s3 openstack

我已经使用以下命令将 VMDK 文件上传到 S3 存储桶:

s3cmd put /root/Desktop/centos-ldaprad.vmdk --multipart-chunk-size-mb=10 s3://xxxxx

现在,当我想从 S3 存储桶中可用的同一 VMDK 创建 AWS 实例时:

ec2-import-instance centos-ldaprad.vmdk -f VMDK -t t2.micro -a x86_64 -b xxxxx -o <XXXX_ACCESS_KEY_XXXX> -w <XXXX_SECRET_KEY_XXX> -p Linux --dont-verify-format -s 5 --ignore-region-affinity

但它会在当前工作目录中查找源 VMDK 文件。如果您能指导如何将源 VMDK 指向存储桶而不是本地源,我将非常感激?

这是吗--manifest-url url指向S3存储桶?但是当我上传后不知道它是否创建了任何这样的文件?如果它创建它会在哪里创建?

另一件事是使用上面的 ec2-import-instance当我创建它时,它会在当前工作目录中搜索 VMDK,如果找到,它将开始上传。但是是否有任何规定可以分段上传并在中断时恢复?

最佳答案

这并不是您真正想要的答案,但我已附上用于上传 VMDK 并将其转换为 AMI 镜像的脚本。

这使用了 ec2-resume-import,因此如果上传部分失败,您可以重新启动它。

http://pastebin.com/bD8c3gQu

值得指出的是,当我注册设备时,我指定了 block 设备映射。这是因为我的镜像始终包含一个单独的启动分区和一个基于 LVM 的根分区。

--根设备名称/dev/sda1 -b/dev/sda=$SNAPSHOT_ID:10:true --region $REGION -a x86_64 --kernel aki-52a34525

关于linux - 如何从 S3 存储桶中已上传的 VMDK 镜像创建实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26093513/

相关文章:

linux - 运行相同操作系统问题的两个不同大小的图像文件的完整性

java - Amazon Gateway API 和 JAVA

amazon-web-services - AWS :EC2 enable dns-hostname for host in non default vpc

python-3.x - 如何在 Amazon Linux 上安装 Ansible 以在 Python3 下运行?

php - 不小心用 PHP 设置了错误的 chmod

c - 为什么 sem_open 在没有共享内存的情况下与 fork() 一起工作?

linux - 使用 wget 下载非 Web 可访问文件

ios - 在 swift 项目中安装 AWS ios sdk

hadoop - 在Amazon EC2中以集群模式在Spark中读取文件

amazon-web-services - 为什么我无法从 cloudwatch 获取 EC2 实例的指标值?