No Alibaba Cloud Linux 3, simular condições de rede, como latência ou perda de pacotes, exige o módulo de kernel sch_netem. Este tópico descreve como corrigir a ausência do módulo sch_netem em kernels anteriores à versão 5.10.134-16.
O sch_netem é um módulo do kernel Linux para emulação de rede. Ele simula latência e perda de pacotes para casos de uso como testes de desempenho de rede e configuração de Qualidade de Serviço (QoS).
Descrição do problema
Ao carregar o sch_netem com modprobe, o sistema retorna um erro semelhante ao seguinte:
# modprobe sch_netem
modprobe: FATAL: Module sch_netem not found in directory /lib/modules/5.10.134-14.al8.x86_64
Causa
O Alibaba Cloud Linux 3 distribui os módulos do kernel em vários pacotes RPM: kernel-core, kernel-modules, kernel-modules-extra e kernel-modules-internal. O módulo sch_netem está incluído no pacote kernel-modules-extra. Como a compilação da imagem padrão e a instalação do kernel incluem apenas kernel-core e kernel-modules, o módulo sch_netem não está presente no sistema.
Solução
Esse problema foi corrigido na versão 5.10.134-16 do kernel. Execute uname -r para verificar a versão atual do kernel.
Para versões anteriores, instale o pacote kernel-modules-extra correspondente ao kernel em execução:
sudo yum install -y kernel-modules-extra-$(uname -r)
O pacote kernel-modules-internal contém módulos opcionais adicionais. Para evitar problemas semelhantes com outros módulos, instale-o também:
sudo yum install -y kernel-modules-internal-$(uname -r)