当我运行命令时:
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