Saltar al contenido

¿Cómo uso NVMe a través de TCP para montar un sistema de archivos de FSx para ONTAP en una instancia de EC2 de Linux?

5 minutos de lectura
0

Quiero montar un sistema de archivos de Amazon FSx para NetApp ONTAP en mi instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2). Quiero usar la opción urgente de memoria no volátil (NVMe) en lugar de TCP (NVMe/TCP).

Solución

Nota: La siguiente resolución es para las instancias de EC2 que ejecutan Red Hat Enterprise Linux (RHEL) 9.3.

Requisitos previos:

Uso de NVMe/TCP para montar el sistema de archivos en la instancia de RHEL

Sigue estos pasos:

  1. Para instalar los paquetes necesarios, ejecuta el siguiente comando en la instancia:

    sudo yum install -y nvme-cli
  2. Para cargar el módulo del kernel NVMe/TCP, ejecuta el siguiente comando en la instancia:

    sudo modprobe nvme-tcp
  3. Recupera las direcciones de las interfaces de almacenamiento en bloque de la máquina virtual de almacenamiento (SVM) en la que creaste los dispositivos NVMe. Ejecuta el siguiente comando en el servidor de ONTAP:

    network interface show -vserver svm_name -data-protocol nvme-tcp

    Nota: Sustituye svm_name por el nombre de tu SVM. Tanto iSCSI como NVMe/TCP utilizan el formato de intercambio lógico (LIF) iscsi_1.
    Resultado de ejemplo:

                Logical               Status         Network            Current                    Current Is
    Vserver     Interface             Admin/Oper     Address/Mask       Node                       Port    Home
    ----------- ----------            ----------     ------------------ -------------              ------- ----
    svm_name
                iscsi_1               up/up          iscsi_1_IP/X       FSxId0123456789abcdef8-01  e0e     true
                iscsi_2               up/up          iscsi_2_IP/X       FSxId0123456789abcdef8-02  e0e     true
    2 entries were displayed.
  4. Para identificar los subsistemas de NVMe, ejecuta el siguiente comando en la instancia:

    sudo nvme discover -t tcp -w client_IP -a iscsi_1_IP

    Nota: Sustituye iscsi_1_IP por tu dirección IP iscsi_1 y client_IP por tu dirección IP de cliente.

  5. Para conectarte al subsistema de NVMe, ejecuta el siguiente comando en la instancia:

    sudo nvme connect-all -t tcp -w client_IP -a iscsi_1_IP -l 1800

    Nota: Sustituye iscsi_1_IP por tu dirección IP iscsi_1 y client_IP por tu dirección IP de cliente.

  6. Para comprobar que la conexión funciona según lo previsto, ejecuta el siguiente comando en la instancia:

    sudo nvme list

    En el resultado, comprueba la columna Modelo para /dev/nvmeXny.

  7. (Opcional) Para crear un sistema de archivos, ejecuta el siguiente comando en la instancia:

    sudo mkfs.xfs /dev/nvmeXnY

    Nota: Para buscar /dev/nvmeXnY, comprueba el resultado del comando nvme list. Busca la columna Modelo que contiene el valor del controlador de NetApp ONTAP.

  8. Para crear y montar un punto de montaje, ejecuta los siguientes comandos en la instancia:

    sudo mkdir /mnt/fsx-nvme
    sudo mount /dev/nvmeXnY /mnt/fsx-nvme

    Nota: Sustituye /mtn/fsx-nvme por la ruta de tu directorio.

  9. (Opcional) Para configurar el montaje automático durante el arranque, agrega la siguiente línea al archivo /etc/fstab:

    /dev/nvmeXnY /mnt/fsx-nvme xfs _netdev,x-systemd.automount,x-systemd.requires=network-online.target 0 0

    Nota: Sustituye nvmeXnY por el nombre de tu NVMe y /mnt/fsx-nvme por la ruta del archivo.
    A continuación, crea un servicio systemd para la conexión NVMe con la ruta del archivo /etc/systemd/system/.
    Archivo de ejemplo:

    [Unit]
    Description=NVMe connection to FSx
    After=network.target
    
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/sbin/nvme connect -t tcp -n "nqn.1992-08.com.netapp:sn.abcde" -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420
    ExecStop=/usr/sbin/nvme disconnect -n "nqn.1992-08.com.netapp:sn.abcde"
    
    
    [Install]
    WantedBy=multi-user.target
  10. Para activar el servicio, ejecuta el siguiente comando:

sudo systemctl enable nvme-fsx.service

Solución de problemas de montaje de NVMe/TCP

Importante: Se recomienda crear una cuenta en NetApp. Debes tener una cuenta de NetApp para acceder a la documentación de solución de problemas de NetApp.

Si tienes problemas al montar el sistema de archivos, toma las siguientes medidas de solución de problemas:

  • Para comprobar la conectividad en el puerto requerido, ejecuta el siguiente comando:

    telnet fs-ABCDE.fsx.region.amazonaws.com 4420

    Nota: Sustituye fs-ABCDE por el nombre de tu sistema de archivos y region por tu región de AWS.

  • Para comprobar si la detección de NVMe funciona según lo previsto, ejecuta el siguiente comando:

    sudo nvme discover -t tcp -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420

    Nota: Sustituye port por tu puerto, fs-ABCDE por el nombre de tu sistema de archivos y region por tu región.

  • Para comprobar si hay problemas en las conexiones de NVMe, ejecuta el siguiente comando:

    sudo nvme list
  • Para comprobar si hay errores en los registros, ejecuta el siguiente comando:

    dmesg | grep nvme or journalctl -u nvme-fsx

Configuración del servidor de FSx para ONTAP

Para comprobar que el servicio NVMe se está ejecutando, ejecuta los siguientes comandos:

vserver nvme show
vserver nvme subsystem show

Para confirmar que has configurado correctamente tu espacio de nombres, ejecuta el siguiente comando:

vserver nvme namespace show

Para comprobar que has agregado el nombre cualificado de NVMe (NQN) del host al subsistema de NVMe, ejecuta el siguiente comando:

vserver nvme subsystem host show

Para comprobar que la asignación entre el espacio de nombres y el subsistema es correcta, ejecuta el siguiente comando:

vserver nvme subsystem map show

Información relacionada

¿Cómo utilizo NFS para montar un volumen de FSX para ONTAP en mi instancia de EC2 de Linux?

¿Cómo puedo montar un recurso compartido de CIFS de FSx para ONTAP en una instancia de EC2 de Linux que no esté unida a un Active Directory?

¿Cómo uso iSCSI para montar un LUN de iSCSI de FSx para ONTAP en una instancia de EC2 de Linux?

OFICIAL DE AWSActualizada hace un año