11
2024
06
11:00:05

ESXi 7.0 + R8168 / R8169 安装笔记

在一台不受支持的设备上安装 ESXi 是一件很考验运气的事。运气不好的我就发现电脑自带的网卡是 Realtek R8168 —— 一张 ESXi 不再支持的网卡。

在 ESXi 6.x 时代,我们可以添加 net55-r8168 驱动让 ESXi 支持这张网卡,但 ESXi 7.x 禁用所有依赖 Linux 的驱动后,这个方法就行不通了。

USB Network Native Driver for ESXi

USB NIC

幸运的是,ESXi 现在提供了几款热门 USB 网卡的原生驱动(ASIX88179, RTL8152/RTL8153, AQC111U)。我们可以购买一个支持的 USB NIC 适配器,然后制作包含 vmware.com/usb-network-native-driver-for-esxi" target="_blank" rel="noreferrer noopener" style="box-sizing: inherit; background-color: transparent; color: rgb(252, 132, 140); cursor: pointer; max-width: inherit; text-decoration-line: none;">VMKUSB-NIC-FLING 驱动的镜像来安装 ESXi。

安装流程可以参考 Tips for using USB Network Adapters with VMware ESXi

安装后,如果每次开机后都要重新勾选网卡才能联网,则需要参考这里,添加开机脚本,使系统自动识别 USB 网卡:

# /etc/rc.local.d/local.sh
vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
count=0
while [[ $count -lt 20 && "${vusb0_status}" != "Up" ]]
do
   sleep 10
   count=$(( $count + 1 ))
   vusb0_status=$(esxcli network nic get -n vusb0 | grep 'Link Status' | awk '{print $NF}')
done
esxcfg-vswitch -R

R8168 Passthrough

为了不浪费原先 R8168 网卡的网口,同时提升性能(USB 网卡会影响性能),我们可以将 R8168 网卡直通(Passthrough)到 ESXi 中的某一台虚拟机中继续使用。

然而实际配置好后,这张破网卡又开始出问题了——每隔几分钟就会断一次网。此时在虚拟机的 /var/log/kern.log 可以看到如下错误:

ubuntu kernel: [ 2581.050902] ------------[ cut here ]------------
ubuntu kernel: [ 2581.050905] NETDEV WATCHDOG: ens100 (r8169): transmit queue 0 timed out
ubuntu kernel: [ 2581.050921] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:472 dev_watchdog+0x270/0x280

搜索后发现可能是 Linux 自带的驱动有问题。我们可以安装 Realtek 提供的驱动尝试解决。在 Ubuntu 下使用 apt 命令即可直接安装:

apt install r8168-dkms

重启后问题解决。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://www.hqyman.cn/post/6577.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: