尽可能地尝试,我无法使用import-image任务。我正在寻找一个可以重现的工作示例,最好从“原始”磁盘映像开始。
最近的问题:
“不支持的内核版本”使用的图像在使用鼠标而不是API转换时工作正常(发布到EC2论坛,没有响应:https://forums.aws.amazon.com/thread.jspa?threadID=221844)
“无有效分区”。
答案 0 :(得分:2)
当我尝试将FreeBSD捆绑的OVA导入其中时,我遇到了类似的问题。根据先决条件/清单,亚马逊尚不支持FreeBSD的vmimporting。这会产生“无效分区”。 此外,如果您使用LUKS加密分区,它会为我产生同样的错误,(Ubuntu)。
对于“不支持的内核版本”,这是我输出的同一错误:
c:\Users\XXXXX\Documents>aws ec2 describe-import-image-tasks --import-task-ids "import-ami-fgacu4yu"
{
"ImportImageTasks": [
{
"Status": "deleted",
"SnapshotDetails": [
{
"UserBucket": {
"S3Bucket": "myautomationbucket",
"S3Key": "ubuntu14.04-patched.ova"
},
"DiskImageSize": 843476480.0,
"Format": "VMDK"
}
],
"Description": "Optimus Custom Ubuntu14.04",
"StatusMessage": "ClientError: Unsupported kernel version 4.2.0-36-generic",
"ImportTaskId": "import-ami-XXXXXXXX"
}
]
}
根据AWS的说法,他们发布了一份已知好的内核列表,但是对于我最喜欢的Ubuntu来说,它们并不详细。
http://docs.amazonaws.cn/en_us/AWSEC2/latest/WindowsGuide/VMImportPrerequisites.html
所以我所做的就是将内核降级到可接受的内核。
我通过在我的EC2中现有的,已知良好的运行实例上执行此命令,获得了如何获得“可接受”的内容:
c:\Users\XXXXXX\Documents>aws ec2 describe-instance-attribute --instance-id i-12345678 --attribute kernel --region us-east-1
{
"InstanceId": "i-12345678",
"KernelId": {
"Value": "aki-825ea7eb"
}
}
所以这个aki-824ea7eb是支持的内核ID。这不是很有帮助,所以经过一些研究后我意识到AWS可能只有一个支持的内核列表,因为它们现有平台的限制 - 它们没有运行您知道的ESXi。 ;)
我搜索过,发现这很有用,并按照13.04 https://www.linode.com/docs/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub
的说明进行操作我执行了1,2,3,4,但是我跳过了步骤5,6,7,8 ...执行了9,然后是15。
然后当我在我的VM上执行它们时,将VM重新打包到OVA并运行我的vmimport,它已成功导入实例。
希望这有帮助。