Todos os produtos
Search
Central de documentação

Alibaba Cloud Linux:Configure tcm_loop device parameters

Última atualização: Jun 29, 2026

Ao utilizar o framework Target Core Module in Userspace (TCMU) para implementar alvos iSCSI (Internet Small Computer Systems Interface) em espaço de usuário, os parâmetros padrão do módulo tcm_loop podem não oferecer o desempenho de E/S ideal para sua carga de trabalho. Este documento explica como visualizar e configurar os parâmetros do dispositivo tcm_loop no Alibaba Cloud Linux 3 para ajustar o throughput de E/S em conjunto com o backend em espaço de usuário.

Pré-requisitos

Antes de começar, certifique-se de que você possui:

  • Alibaba Cloud Linux 3 como sistema operacional

  • Versão do kernel 5.10.134-17 ou superior

tcm_loop device parameters

O módulo tcm_loop expõe quatro parâmetros que controlam a profundidade da fila de E/S e o comportamento scatter-gather. As configurações de parâmetros se aplicam a todos os dispositivos tcm_loop.

Parâmetro

Descrição

Valor padrão

nr_hw_queues

Número de filas de hardware de um dispositivo tcm_loop

1

can_queue

Profundidade de cada fila de hardware

1024

cmd_per_lun

Quantidade máxima de comandos que um dispositivo SCSI (Small Computer System Interface) pode executar por número de unidade lógica (LUN)

1024

sg_tablesize

Tamanho máximo da tabela scatter-gather para um dispositivo tcm_loop

256

Visualizar parâmetros do dispositivo tcm_loop

  1. Carregue o módulo tcm_loop.

    sudo modprobe tcm_loop
  2. Leia os valores atuais dos parâmetros no sysfs.

    cat /sys/module/tcm_loop/parameters/nr_hw_queues
    cat /sys/module/tcm_loop/parameters/can_queue
    cat /sys/module/tcm_loop/parameters/cmd_per_lun
    cat /sys/module/tcm_loop/parameters/sg_tablesize

Configurar parâmetros do dispositivo tcm_loop

Existem duas maneiras de configurar os parâmetros do dispositivo tcm_loop:

  • Método 1: Passar parâmetros ao carregar o módulo

  • Método 2: Usar um arquivo de configuração

Método 1: Passar parâmetros ao carregar o módulo

  1. Caso o módulo tcm_loop já esteja carregado, remova-o primeiro.

    sudo modprobe -r tcm_loop
  2. Carregue o módulo com os valores de parâmetro desejados.

    Substitua os placeholders pelos valores que você deseja definir.

    sudo modprobe tcm_loop nr_hw_queues=<nr_hw_queues> can_queue=<can_queue> cmd_per_lun=<cmd_per_lun> sg_tablesize=<sg_tablesize>

    Exemplo — defina nr_hw_queues como 4, can_queue como 2048, cmd_per_lun como 2048 e sg_tablesize como 512:

    sudo modprobe tcm_loop nr_hw_queues=4 can_queue=2048 cmd_per_lun=2048 sg_tablesize=512

Verificar

Confirme se os valores dos parâmetros entraram em vigor.

cat /sys/module/tcm_loop/parameters/nr_hw_queues
cat /sys/module/tcm_loop/parameters/can_queue
cat /sys/module/tcm_loop/parameters/cmd_per_lun
cat /sys/module/tcm_loop/parameters/sg_tablesize

Método 2: Usar um arquivo de configuração

  1. Se o módulo tcm_loop já estiver carregado, remova-o antes de prosseguir.

    sudo modprobe -r tcm_loop
  2. Crie um arquivo de configuração em /etc/modprobe.d/.

    Substitua os placeholders pelos valores desejados. O arquivo deve ter a extensão .conf.

    sudo bash -c "cat > /etc/modprobe.d/<tcm_loop.conf> << EOF
    options tcm_loop nr_hw_queues=<nr_hw_queues> can_queue=<can_queue> cmd_per_lun=<cmd_per_lun> sg_tablesize=<sg_tablesize>
    EOF"

    Exemplo — crie o arquivo /etc/modprobe.d/tcm_loop.conf com nr_hw_queues=4, can_queue=2048, cmd_per_lun=2048 e sg_tablesize=512:

    sudo bash -c "cat > /etc/modprobe.d/tcm_loop.conf << EOF
    options tcm_loop nr_hw_queues=4 can_queue=2048 cmd_per_lun=2048 sg_tablesize=512
    EOF"
  3. Carregue o módulo tcm_loop.

    sudo modprobe tcm_loop

Verificar

Confirme se os valores dos parâmetros foram aplicados corretamente.

cat /sys/module/tcm_loop/parameters/nr_hw_queues
cat /sys/module/tcm_loop/parameters/can_queue
cat /sys/module/tcm_loop/parameters/cmd_per_lun
cat /sys/module/tcm_loop/parameters/sg_tablesize