amazon-web-services - 在 Ubuntu 上为 AWS 启用 ENA
问题描述
我有一个旧的 Ubuntu EC2 实例,我正在尝试升级到 C5 类型,因此它需要 ENA 支持(目前它是 C4)。
所以我在这里按照 Ubuntu 的说明进行操作:https ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html#enhanced-networking-ena-ubuntu
这将成功安装 ENA 驱动程序:
filename: /lib/modules/4.4.0-1044-aws/kernel/drivers/net/ethernet/amazon/ena/ena.ko
version: 2.0.3K
license: GPL
description: Elastic Network Adapter (ENA)
author: Amazon.com, Inc. or its affiliates
srcversion: E19C939F9F1A3B8E900815D
alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i*
alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i*
alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i*
alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i*
depends:
retpoline: Y
intree: Y
vermagic: 4.4.0-1044-aws SMP mod_unload modversions
parm: debug:Debug level (0=none,...,16=all) (int)
另一方面,它继续显示正在使用不同的网络接口:
userid@ip:~$ ethtool -i eth0
driver: ixgbevf
version: 2.12.1-k
firmware-version:
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
C5 实例将启动,但无法连接(我收到连接被拒绝错误)。
我不知道从这里去哪里。当我检查其 EnaSupport 属性时,我从该实例创建的实例和 AMI 都显示为 true。我已经在 SO 上找到了这个答案,但它似乎不适用于我的情况:如何在 Amazon AWS 上加载 ena 驱动程序?
编辑: grep ena 不返回任何内容。我已经尝试过仅使用 apt-get 和 DKMS 指令的 Ubuntu 指令。两者最终都使用 ixgbevf 驱动程序。
解决方案
检查 ena 是否通过以下方式安装:
modinfo ena
或者
lsmod | grep ena
您应该检查实例属性是否支持 ENA:
aws ec2 describe-instances --instance-ids <INSTANCE_ID> --query "Reservations[].Instances[].EnaSupport"
现在检查您的网络接口是否有 ena 驱动程序:
ethtool -i eth0
一个正确的应该返回 - driver: ena
修改网络接口的步骤:
sudo apt-get update && sudo apt-get upgrade -y linux-aws
- 停止实例:
aws ec2 stop-instances --instance-ids <INSTANCE_ID>
- 修改网络:
aws ec2 modify-instance-attribute --instance-id <INSTANCE_ID> --ena-support
- 启动实例:
aws ec2 start-instances --instance-ids <INSTANCE_ID>
推荐阅读
- apache-kafka-streams - 由于抑制功能而怀疑内存不足问题
- json - 如何将 Json 数据提取到 pandas df 中?
- c - strnlen 可以用 memchr 实现吗?
- flutter - 如何在 Flutter 中删除警报对话框
- python-3.x - 如何在 python 中使用 selenium 找到这个跨度?
- java - Java中缺少最小和最大变量?
- javascript - 如何在 django 中的视图之间传递对象?
- reactjs - 仅使用 useEffect 反应自定义钩子
- javascript - 新数组引用现有数组
- node.js - 临时替换函数内部的全局常量