modprobe:严重错误:在目录 /lib/modules/5.4.0-1036-kvm 中未找到模块 ip_vs

modprobe:严重错误:在目录 /lib/modules/5.4.0-1036-kvm 中未找到模块 ip_vs

当我运行命令时:

root@net-node01:~# modprobe ip_vs
modprobe: FATAL: Module ip_vs not found in directory /lib/modules/5.4.0-1036-kvm

我使用命令安装 ipvsadm: apt install ipvsadm

但是当我运行命令时ipvsadm会返回此错误:

root@net-node01:~# ipvsadm
modprobe: FATAL: Module ip_vs not found in directory /lib/modules/5.4.0-1036-kvm
Can't initialize ipvs: Protocol not available
Are you sure that IP Virtual Server is built in the kernel or as module?

我怎样才能解决这个问题?


这是我的机器的另一个信息:

root@net-node01:~# uname -a
Linux net-node01 5.4.0-1036-kvm #37-Ubuntu SMP Fri Mar 19 20:15:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
root@net-node01:~# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

答案1

您似乎使用了linux-kvm更小、启动速度更快的内核(对于典型的 KVM 客户机用例,您不需要所有东西),但要实现这一点,它主要禁用一些选项和模块。因此,使用linux-kvm内核时您不会有ip_vs

如果您使用通用内核(为通用目的而启用的更多功能),那么就会有该模块。

$ modinfo ip_vs
filename:       /lib/modules/5.4.0-70-generic/kernel/net/netfilter/ipvs/ip_vs.ko
...
$ dpkg -S /lib/modules/5.4.0-70-generic/kernel/net/netfilter/ipvs/ip_vs.ko
linux-modules-5.4.0-70-generic: /lib/modules/5.4.0-70-generic/kernel/net/netfilter/ipvs/ip_vs.ko

因此切换到 linux-generic 你的案例就应该可以工作了。

$ apt install linux-genric
# reboot into that kernel

相关内容