Configuração de caminhos múltiplos para hosts FC-NVMe

Siga as recomendações de configuração de caminhos múltiplos FC-NVMe para obter uma conexão bem-sucedida dos hosts Linux ao sistema.

Os hosts podem ser configurados para funcionar com o Device Mapper tradicional ou com o Native NVMe Multipath. Para dispositivos SCSI, o host continua a funcionar com o Device Mapper em qualquer caso. O Native NVMe Multipath é suportado apenas no SLES12SP4 e no SLES15. O Native NVME Multipath não é suportado no Red Hat Enterprise Linux. O Native NVMe Multipath suporta NVMe ANA (o NVMe equivalente ao SCSI ALUA), enquanto que o Device Mapper atualmente não suporta ANA. No Native NVMe Multipath, cada namespace é mostrado como uma instância.

Ativando e desativando o Native NVMe Multipath

No SLES15, o Native NVMe Multipath é ativado por padrão. No SLES12SP4, o Native NVMe Multipath não é ativado por padrão.

Para verificar se o Native NVMe Multipath está ativo, insira:
# systool -m nvme_core -A multipath
Module = "nvme_core"

    multipath           = "Y"
Se o multipath = "N" e você desejar ativá-lo, insira:

echo "options nvme_core multipath=Y" > /etc/modprobe.d/50-nvme_core.conf
dracut -f
reinicializar
Se você optar por trabalhar com o Device Mapper, insira:
echo "options nvme_core multipath=N" > /etc/modprobe.d/50-nvme_core.conf
dracut -f
reinicializar

Configuração do Device Mapper ou do Native NVMe Multipath

Duas opções de estrutura estão disponíveis para definir o arquivo de configuração de caminhos múltiplos: Device Mapper ou Native NVMe Multipath.

Para configurar o Device Mapper, conclua as etapas a seguir:
  1. Edite o arquivo /etc/multipath.conf para incluir o código a seguir:
    devices {
        device {
            vendor "NVME"
            product "IBM     2145"
            path_grouping_policy "multibus"
            path_selector "round-robin 0"
            prio "const"
            path_checker "none"
            failback "immediate"
            no_path_retry "queue"
            rr_weight uniform
            rr_min_io_rq "1"
            fast_io_fail_tmo 15
            dev_loss_tmo 600
        }
    }
    defaults {
        user_friendly_names yes
        path_grouping_policy group_by_prio
    }
  2. Execute os comandos a seguir para validar se o daemon de caminhos múltiplos está em execução:
    systemctl enable multipathd.service
    systemctl start multipathd.service
    
    # ps -ef | grep -v grep | grep multipath
    root      1616     1  0 Nov21 ?        00:01:14 /sbin/multipathd -d -s
    
    Depois de ativar o serviço de caminhos múltiplos para SLES12SP4, reconstrua initrd com suporte de caminhos múltiplos:
    dracut --force --add multipath
  3. Execute os comandos a seguir para aplicar configurações:
    multipath -F
    caminhos múltiplos
    multipath -ll
Se você usar o Native NVMe Multipath, inclua o código a seguir no arquivo de configuração de caminhos múltiplos:
blacklist {
    device {
        vendor "NVME"
        product "IBM\s+2145"
    }
}

Desempenho do Device Mapper

O teste mostra que o desempenho é superior quando você trabalha com o planejamento de E/S de múltiplas filas, conforme descrito nas etapas a seguir.
Nota: Antes de aplicar essas etapas, entre em contato com um representante do SUSE para verificar se essa opção é suportada.
Para obter melhorias de desempenho, aplique o planejamento de E/S de múltiplas filas com o blk-mq (no SLES): 
  1. Edite o arquivo /etc/default/grub e o texto a seguir:
    GRUB_CMDLINE_LINUX_DEFAULT="BOOTPTimeout=20 BootpWait=20 
    biosdevname=0 powersaved=off resume=/dev/system/swap splash=silent 
    quiet showopts crashkernel=175M,high dm_mod.use_blk_mq=y 
    scsi_mod.use_blk_mq=1 transparent_hugepage=never"
  2. Aplique a nova configuração:
    swfc178:~ # grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found theme: /boot/grub2/themes/SLE/theme.txt
    Found linux image: /boot/vmlinuz-4.12.14-25.19-default
    Found initrd image: /boot/initrd-4.12.14-25.19-default
    Found linux image: /boot/vmlinuz-4.12.14-23-default
    Found initrd image: /boot/initrd-4.12.14-23-default
    done
  3. Reinicializar.
  4. Valide se o recurso de múltiplas filas está ativado nos caminhos múltiplos:
    mpatho (eui.880000000000000b0050760071c60044) dm-3 NVME,IBM     2145
    size=1.5G features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw