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:
-
Para instalar los paquetes necesarios, ejecuta el siguiente comando en la instancia:
sudo yum install -y nvme-cli
-
Para cargar el módulo del kernel NVMe/TCP, ejecuta el siguiente comando en la instancia:
sudo modprobe nvme-tcp
-
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.
-
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.
-
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.
-
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.
-
(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.
-
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.
-
(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
-
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?