The sch_netem module is required in the kernel when you simulate complex network conditions, such as latency or packet loss, in Alibaba Cloud Linux 3. This topic describes the issue that the sch_netem module is missing from Alibaba Cloud Linux 3 whose kernel version is earlier than 5.10.134-16
and how to resolve the issue.
The sch_netem
module is a Linux kernel module that is used in network emulation and testing to simulate network latency and packet loss. You can use the sch_netem module to test network performance and perform quality of service (QoS) configurations.
Problem description
When you load the sch_netem module, the following error message appears indicating that the sch_netem module is not found:
# modprobe sch_netem
modprobe: FATAL: Module sch_netem not found in directory /lib/modules/5.10.134-14.al8.x86_64
Cause
In Alibaba Cloud Linux 3, kernel modules are separately stored in multiple RPM Package Manager (RPM) packages, such as the kernel-core, kernel-modules, kernel-modules-extra, and kernel-modules-internal packages. The sch_netem module is stored in the kernel-modules-extra package. When you build an image or install the kernel, only the kernel-core and kernel-modules packages are installed. As a result, the system cannot find the sch_netem module.
Solution
The issue is already resolved in kernel 5.10.134-16
and later. You can run the uname -r
command to view the kernel version.
If you encounter the issue when you use an earlier kernel version, run the following command to install the sch_netem module to resolve the issue:
sudo yum install -y kernel-modules-extra-<Kernel version>
Specific modules are stored in the kernel-modules-internal package. To prevent issues about missing modules, we recommend that you run the following command to install the modules:
sudo yum install -y kernel-modules-internal-<Kernel version>