安装联网增强型Linux
1、安装dkms
因为使用的yum源要求的KEY验证不正确,所以需要把文件下载到本地,然后强制安装,使用如下命令执行:
$ sudo yum install dkms --downloadonly--downloaddir=/home/ec2-user/ -y
$ sudo rmp -ivh --force --nodepsdkms-2.2.0.3-34.git.9e0394d.el7.noarch.rpm
2、下载安装ixgbevf包,一般来说版本最好是在2.16.4或以上
$ wget"sourceforge.net/projects/e1000/files/ixgbevfstable/2.16.4/ixgbevf-2.16.4.tar.gz"
解压缩并解档 ixgbevf 包。
$ tar -xzfixgbevf-2.16.4.tar.gz
将 ixgbevf 包移动到 /usr/src/ 目录,以便 dkms 可以在每次内核更新中找到并构建该模块。
$ sudo mv ixgbevf-2.16.4 /usr/src/
3、构建dkms配置文件
编辑文件并添加以下值:
$ sudo vim/usr/src/ixgbevf-2.16.4/dkms.conf
PACKAGE_NAME="ixgbevf"
PACKAGE_VERSION="2.16.4"
CLEAN="cd src/; make clean"
MAKE="cd src/; makeBUILD_KERNEL=${kernelver}"
BUILT_MODULE_LOCATION[0]="src/"
BUILT_MODULE_NAME[0]="ixgbevf"
DEST_MODULE_LOCATION[0]="/updates"
DEST_MODULE_NAME[0]="ixgbevf"
AUTOINSTALL="yes"
4、使用 dkms 在实例上添加、构建并安装ixgbevf 模块。
将该模块添加到 dkms。
$ sudo dkms add -m ixgbevf -v 2.16.4
使用 dkms 构建该模块。
$ sudo dkms build -m ixgbevf -v 2.16.4
使用 dkms 安装该模块。
$ sudo dkms install -m ixgbevf -v 2.16.4
5、重新构建 initramfs,以便在启动时加载正确的模块(需要安装initramfs)。
$ sudo update-initramfs -c -k all
如果此命令无法执行,需要执行如下步骤去完成
# mkinitrd/boot/initramfs-3.10.0-123.8.1.el7.x86_64.img `uname -r` --force
其中后面initramfs的版本对应自己的实际版本
$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\net\.ifnames\=0\"/' /etc/default/grub
$ sudo grub2-mkconfig -o/boot/grub2/grub.cfg
然后关机,之后执行如下命令:
$ aws ec2 modify-instance-attribute--instance-id i-0c7a4293 --sriov-net-support simple
需要替换上面的instance-id为对应的id
在重启之后执行以下命令来检查驱动是否被更新
# ethtool -i eth0
driver: ixgbevf <==========这个地方如果是 vif的话 说明驱动还没有加载
version: 2.16.4
firmware-version: N/A
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
6、使用ixgbevf中的 modinfo 命令验证 测试是否启用了 Intel 82599VF 接口增强联网ixgbevf 模块是否已安装并具有推荐的最低版本。
$ modinfo ixgbevf