如何确认我的 vmxnet 驱动程序是否安装在我的 CentOS 服务器上?

Mik*_*e B 7 linux nic centos vmware-esxi centos5

我有一个在 VMWare ESX 上运行 CentOS 5.x 的设备。

最近我将它升级到更新版本的 CentOS(仍然是 5.x),我注意到网卡无法初始化。

如果我运行,service network restart我会收到一个错误:

[root@foobox] service network restart 
Shutting down loopback interface:                 [   OK   ]
Bringing up loopback interface:                   [   OK   ]
Bringing up interface eth0:   e1000 device eth0 does not seem to be present, delaying initialization   [ FAILED ]
Run Code Online (Sandbox Code Playgroud)

当我检查 esx 服务器上的 NIC 属性时,我收到一个与之相关的奇怪注释/错误:Invalid Backing. 话虽如此,一些较旧的服务器也有同样的注释/警告,并且从网络角度来看工作正常,所以我认为这可能是一个红鲱鱼。

当我运行modprobevmxnet3 驱动程序时,我得到了不同的服务器结果:

在旧系统上,我得到以下信息:

[root@foobox2] modprobe vmxnet3
[root@foobox2]
Run Code Online (Sandbox Code Playgroud)

但是在这个新升级的系统上,如果我运行相同的命令,我会得到以下信息:

[root@foobox] modprobe vmxnet3
FATAL: Module vmxnet3 not found. 
[root@foobox]
Run Code Online (Sandbox Code Playgroud)

对我来说,这表明驱动程序不存在或不可用。这是一个有效的测试吗?如何确认我的 CentOS 服务器上是否安装了 vmxnet 驱动程序?

c4f*_*t0r 5

在 Red Hat 5 和 CentOS 5 中,您需要安装 VMware Tools,因为 vmware 模块不包含主线内核。

例如,在带有内核的 SUSE 11 Sp1 中2.6.32.59-0.7-default

grep -i vmxnet3 /boot/config-2.6.32.59-0.7-default 
CONFIG_VMXNET3=m
Run Code Online (Sandbox Code Playgroud)

如您所见,该模块作为外部模块集成在内核中,无论如何您都可以进行如下测试:

modprobe -q vmxnet3 && echo "vmxnet3 installed" || echo "vmxnet3 not installed"
Run Code Online (Sandbox Code Playgroud)

男人 modprobe:

RETURN VALUE     

  modprobe returns 0 on success, 1 on an unspecified error and 2 if the module is not supported. Use the --allow-unsupported-modules option to force using an  unsup-
   ported module.
Run Code Online (Sandbox Code Playgroud)