Amazon VM 导入如何验证内核版本?

Amazon VM 导入如何验证内核版本?

我正在尝试在 Amazon 上导入具有最新稳定内核的 Centos 7.6-1810 VM,但导入过程失败并出现以下错误:

$ aws ec2 describe-import-image-tasks    
{
        "Status": "deleted",
        "SnapshotDetails": [
            {
                "Status": "completed",
                "UserBucket": {
                    "S3Bucket": "my-bucket",
                    "S3Key": "packer-import-xxxxxxx.ova"
                },
                "DiskImageSize": 1576340992.0,
                "Format": "VMDK"
            }
        ],
        "StatusMessage": "ClientError: Unsupported kernel version 5.0.8-1.el7.elrepo.x86_64",
        "ImportTaskId": "import-ami-xxxxxxxxx"
    }

我知道VM 导入/导出要求,但关于 CentOS 支持的内核版本并不那么清楚:

以下操作系统可以导入到 Amazon EC2 并从 Amazon EC2 导出:

  • Red Hat Enterprise Linux (RHEL) 5.1-5.11、6.1-6.9、7.0-7.6(6.0 缺少所需的驱动程序)
  • CentOS 5.1-5.11、6.1-6.6、7.0-7.6(6.0 缺少所需的驱动程序)

导入的 Linux VM 应使用默认内核以获得最佳效果。使用自定义 Linux 内核的 VM 可能无法成功迁移。

我的问题是:

  • 亚马逊如何在虚拟机导入过程中识别内核版本?
  • 我可以假设仅支持默认的 CentOS 内核版本吗?或者问题是我正在使用 Elrepo 内核包?
  • 有没有办法解决这个问题并至少使用3.16.65长期内核版本?(其中包含最新的安全修复程序)。

答案1

多年来,AWS 一直没有提供完整的可接受内核列表。尽管特定可接受的发行版次要版本作为先决条件。因此它可能无法理解内核不是 3.10 的 RHEL 7 实例。参见 2016 年左右的 Server Fault:哪些 Linux 内核版本适合将 AMI 导入 Amazon Web Services?

删除第三方内核,并在导入后将其添加回来。

这只是猜测,但检查磁盘映像上的文件系统并不困难。发行版使用可预测的文件名存储其引导加载程序和内核。

相关内容