Когда я запускал команду:
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
Похоже, вы используете 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