Linux 如何从S3 bucket上已经上传的VMDK镜像创建实例

Linux 如何从S3 bucket上已经上传的VMDK镜像创建实例,linux,amazon-web-services,amazon-ec2,amazon-s3,openstack,Linux,Amazon Web Services,Amazon Ec2,Amazon S3,Openstack,我已经使用以下命令将我的VMDK文件上载到S3存储桶: s3cmd put/root/Desktop/centos-ldaprad.vmdk-多部分块大小mb=10 s3://xxxxx 现在,当我想从S3 bucket上可用的同一个VMDK创建AWS实例时: ec2导入实例centos-ldaprad.vmdk-f vmdk-t t2.micro-a x86_64-b xxxxx-o-w-p Linux-不验证格式-s 5-忽略区域关联 但它会在当前工作目录中查找源VMDK文件。如果您能指导如

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

s3cmd put/root/Desktop/centos-ldaprad.vmdk-多部分块大小mb=10 s3://xxxxx

现在,当我想从S3 bucket上可用的同一个VMDK创建AWS实例时:

ec2导入实例centos-ldaprad.vmdk-f vmdk-t t2.micro-a x86_64-b xxxxx-o-w-p Linux-不验证格式-s 5-忽略区域关联

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

这个清单url指向S3存储桶吗?但当我上传了,我不知道它是否创建了这样的文件?如果它创建了它将被创建的位置


另一件事是在创建上面的ec2导入实例时使用它在当前工作目录中搜索VMDK,如果找到它,它将开始上传。但是,是否有任何规定可以进行部分上传,并且在中断时也可以恢复?

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

这使用ec2恢复导入,因此如果上载部分失败,您可以重新启动它

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


-根设备名称/dev/sda1-b/dev/sda=$SNAPSHOT\u ID:10:true-region$region-a x86\u 64-kernel aki-52a34525

ec2 resume import可以使用ec2 import实例帮助恢复中断的上载,对吗?您可以始终装载s3 bucket并像在本地一样运行命令。清单URL应该可以工作,但是我相信你必须在上传到AMI之前转换VMDK。Dave谢谢你的回复!但我还没有转换我的VMDK。使用上面的命令,我上传了一个多部分。之后,当我使用ec2导入实例创建实例时,它会引发一个错误。但是,当我的命令提示符位于该VMDK可用的目录中时,它将启动上载。我使用了ec2导入实例命令。当我在本地文件系统上装载S3 bucket时,我的bucket失去了AWS的所有特性,比如速度。那么除了挂载,还有没有其他方式可以直接访问S3 bucket中上传的VMDK文件,我已经将S3 bucket挂载到AWS实例中,并制作了S3 bucket direcoty PWD。但当我在上面的syntaxt中启动ec2 important instance命令时,它仍然将VMDK再次上传到给定的bucket名称。我主要关心的是VMDK已经上传到S3 bucket,然后如何从那里创建实例?当我在本地文件系统上装载S3 bucket时,我的bucket失去了AWS的所有特性,比如速度。因此,除了挂载,还有没有其他方法可以让我直接访问S3 bucket中上传的VMDK文件。是的,仔细想想,这不是一个好主意,因为本地应用程序将通过网络读取数据。从AWS中的一个实例中执行它会稍微快一点。谢谢Dave!另一件事我想知道,是否有任何参数,比如我们在s3cmd中使用的带有ec2导入实例的multipart?我已经将S3 bucket装载到AWS实例,并制作了S3 bucket目录PWD。但当我以上述语法启动ec2 important instance命令时,它仍在将VMDK再次上传到给定的bucket名称。我主要关心的是VMDK已经上传到S3 bucket,然后如何从那里创建实例?嗨,所以默认的行为是它总是上传内容本身。我记不清了,但我很确定AWS会进行转换,并将图像分成多个部分,这样你就看不到上传的完整VMDK了。