Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AprovisionamientoNVMe/TCPpara Linux
FSxya que ONTAP es compatible con el protocolo de almacenamiento en bloques TCP (NVMe/TCP) Non-Volatile Memory Express. ConNVMe/TCP, se utiliza para aprovisionar espacios de nombres y subsistemas y, ONTAP CLI a continuación, se asignan los espacios de nombres a los subsistemas, de forma similar a como se LUNs aprovisionan y se asignan a los grupos de iniciadores (iGroups) para i. SCSI El TCP protocoloNVMe/está disponible en los sistemas de archivos de segunda generación que tienen 6 pares de alta disponibilidad (HA) o menos.
nota
FSxpara los sistemas de ONTAP archivos, utilice los SCSI puntos finales i y para los protocolos de almacenamiento en TCP bloques i SCSI yNVMe/. SVM
El proceso de configuración deNVMe/TCPen Amazon FSx consta de tres pasos principales NetApp ONTAP, que se describen en los siguientes procedimientos:
Instale y configure el NVMe cliente en el host Linux.
Configure NVMe en el sistema de archivosSVM.
Crea un espacio de NVMe nombres.
Crea un subsistemaNVMe.
Asigne el espacio de nombres al subsistema.
Añada el cliente al subsistemaNQN.
Monte un NVMe dispositivo en el cliente Linux.
Antes de empezar
Antes de comenzar el proceso de configuración del sistema de archivos paraNVMe/TCP, debe completar los siguientes elementos.
Cree un sistema FSx de ONTAP archivos para formularios. Para obtener más información, consulte Creación de sistemas de archivos.
Cree una EC2 instancia que ejecute Red Hat Enterprise Linux (RHEL) 9.3 al mismo tiempo VPC que el sistema de archivos. Este es el host de Linux en el que configurará los datos de sus archivos NVMe y accederá a ellos medianteNVMe/TCPpara Linux.
Fuera del ámbito de estos procedimientos, si el host está ubicado en otroVPC, puede utilizar el VPC peering o AWS Transit Gateway conceder otro VPCs acceso a los puntos SCSI finales i del volumen. Para obtener más información, consulte Acceder a los datos desde fuera de la implementación VPC.
Configure los grupos de VPC seguridad del host Linux para permitir el tráfico entrante y saliente, tal y como se describe en. Control de acceso al sistema de archivos con Amazon VPC
Obtenga las credenciales del ONTAP usuario con
fsxadmin
privilegios que utilizará para acceder al. ONTAP CLI Para obtener más información, consulte ONTAProles y usuarios.El host Linux que configurará NVMe y utilizará para acceder al sistema de ONTAP archivos FSx for se encuentra en la misma VPC y Cuenta de AWS.
Recomendamos que la EC2 instancia esté en la misma zona de disponibilidad que la subred preferida del sistema de archivos.
Si tu EC2 instancia ejecuta un Linux AMI diferente al RHEL 9.3, es posible que algunas de las utilidades utilizadas en estos procedimientos y ejemplos ya estén instaladas y que utilices comandos diferentes para instalar los paquetes necesarios. Además de instalar paquetes, los comandos que se utilizan en esta sección son válidos para otros EC2 LinuxAMIs.
Temas
Instale y configure NVMe en el host Linux
Para instalar el cliente de NVMe
-
Conéctate a tu instancia de Linux mediante un SSH cliente. Para obtener más información, consulta Conéctate a tu instancia de Linux desde Linux o macOS mediante SSH.
-
Instale
nvme-cli
con el siguiente comando:~$
sudo yum install -y nvme-cli -
Carga el
nvme-tcp
módulo en el host:$
sudo modprobe nvme-tcp
-
Obtenga el nombre completo del NVMe host Linux (NQN) mediante el siguiente comando:
$
cat /etc/nvme/hostnqn
nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
Registre la respuesta para usarla en un paso posterior.
Configure NVMe en FSx el sistema ONTAP de archivos
Para configurar NVMe en el sistema de archivos
NetApp ONTAPCLIConéctese al sistema FSx de ONTAP archivos en el que planea crear los NVMe dispositivos.
Para acceder al NetApp ONTAPCLI, establezca una SSH sesión en el puerto de administración del sistema de NetApp ONTAP archivos Amazon FSx for ejecutando el siguiente comando. Reemplace
con la dirección IP del puerto de gestión del sistema de archivos.management_endpoint_ip
[~]$
ssh fsxadmin@
management_endpoint_ip
Para obtener más información, consulte Administración de sistemas de archivos con la ONTAP CLI.
-
Cree un nuevo volumen en el SVM que está utilizando para acceder a la NVMe interfaz.
::>
vol create -vserver fsx -volume nvme_vol1 -aggregate aggr1 -size 1t
[Job 597] Job succeeded: Successful
Cree el espacio de NVMe nombres
ns_1
mediante elvserver nvme namespace create
NetApp ONTAPCLIcomando. Un espacio de nombres se asigna a los iniciadores (clientes) y controla qué iniciadores (clientes) tienen acceso a los dispositivos. NVMe ::>
vserver nvme namespace create -vserver fsx -path /vol/nvme_vol1/ns_1 -size 100g -ostype linux
Created a namespace of size 100GB (107374182400).
-
Cree el NVMe subsistema mediante el comando.
vserver nvme subsystem create
NetApp ONTAPCLI ~$
vserver nvme subsystem create -vserver fsx -subsystem sub_1 -ostype linux
-
Asigne el espacio de nombres al subsistema que acaba de crear.
::>
vserver nvme subsystem map add -vserver fsx -subsystem sub_1 -path /vol/nvme_vol1/ns_1
Añada el cliente al subsistema utilizando el NQN que ha recuperado anteriormente.
::>
vserver nvme subsystem host add -subsystem sub_1 -host-nqn nqn.2014-08.org.nvmexpress:uuid:ec21b083-1860-d690-1f29-44528e4f4e0e -vserver fsx
Si desea que los dispositivos mapeados a este subsistema estén disponibles para varios hosts, puede especificar varios nombres de iniciadores en una lista separada por comas. Para obtener más información, consulte vserver nvme subsystem
host add en la documentación. NetApp ONTAP -
Confirme que el espacio de nombres existe mediante el comando: vserver nvme namespace show
::>
vserver nvme namespace show -vserver fsx -instance
Vserver Name: fsx Namespace Path: /vol/nvme_vol1/ns_1 Size: 100GB Size Used: 90.59GB OS Type: linux Comment: Block Size: 4KB State: online Space Reservation: false Space Reservations Honored: false Is Read Only: false Creation Time: 5/20/2024 17:03:08 Namespace UUID: c51793c0-8840-4a77-903a-c869186e74e3 Vdisk ID: 80d42c6f00000000187cca9 Restore Inaccessible: false Inconsistent Filesystem: false Inconsistent Blocks: false NVFail: false Node Hosting the Namespace: FsxId062e9bb6e05143fcb-01 Volume Name: nvme_vol1 Qtree Name: Mapped Subsystem: sub_1 Subsystem UUID: db526ec7-16ca-11ef-a612-d320bd5b74a9 Namespace ID: 00000001h ANA Group ID: 00000001h Vserver UUID: 656d410a-1460-11ef-a612-d320bd5b74a9 Vserver ID: 3 Volume MSID: 2161388655 Volume DSID: 1029 Aggregate: aggr1 Aggregate UUID: cfa8e6ee-145f-11ef-a612-d320bd5b74a9 Namespace Container State: online Autodelete Enabled: false Application UUID: - Application: - Has Metadata Provisioned: true 1 entries were displayed.
Utilice el network interface show -vserver
comando para recuperar las direcciones de las interfaces de almacenamiento SVM en bloque de las que creó los dispositivosNVMe. ::>
network interface show -vserver
svm_name
-data-protocol nvme-tcpLogical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ----
svm_name
iscsi_1 up/up 172.31.16.19/20 FSxId0123456789abcdef8-01 e0e true iscsi_2 up/up 172.31.26.134/20 FSxId0123456789abcdef8-02 e0e true 2 entries were displayed.nota
iscsi_1
LIFSe usa tanto para i SCSI como paraNVMe/TCP.En este ejemplo, la dirección IP de iscsi_1 es 172.31.16.19 y iscsi_2 es 172.31.26.134.
NVMeMonte un dispositivo en su cliente Linux
El proceso de montaje del NVMe dispositivo en su cliente Linux consta de tres pasos:
Descubriendo los NVMe nodos
Particionar el dispositivo NVMe
Montaje del NVMe dispositivo en el cliente
Estos se tratan en los siguientes procedimientos.
Para descubrir los NVMe nodos de destino
En su cliente Linux, utilice el siguiente comando para descubrir los NVMe nodos de destino. Reemplazar
coniSCSI_1_IP
iscsi_1
su dirección IP, y
la dirección IP del cliente.Client_IP
nota
iscsi_1
yiscsi_2
LIFs se utilizan tanto para la información como para el NVMe almacenamiento. SCSI~$
sudo nvme discover -t tcp -w
client_IP
-aiscsi_1_IP
Discovery Log Number of Records 4, Generation counter 11 =====Discovery Log Entry 0====== trtype: tcp adrfam: ipv4 subtype: current discovery subsystem treq: not specified portid: 0 trsvcid: 8009 subnqn: nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:discovery traddr: 172.31.26.134 eflags: explicit discovery connections, duplicate discovery information sectype: none =====Discovery Log Entry 1====== trtype: tcp adrfam: ipv4 subtype: current discovery subsystem treq: not specified portid: 1 trsvcid: 8009 subnqn: nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:discovery traddr: 172.31.16.19 eflags: explicit discovery connections, duplicate discovery information sectype: none
-
(Opcional) Para lograr EC2 un rendimiento superior al del máximo de 5 Gb/s (~625 MB/s) de Amazon para el NVMe dispositivo de archivos, siga los procedimientos descritos en Ancho de banda de red de EC2 instancias de Amazon en la Guía del usuario de Amazon Elastic Compute Cloud para instancias de Linux para establecer sesiones adicionales.
-
Inicie sesión en los iniciadores de destino con un tiempo de espera de pérdida del controlador de al menos 1800 segundos y, de nuevo, utilice la dirección IP para
iscsi_1
y la dirección IP del cliente paraiSCSI_1_IP
. Sus NVMe dispositivos se presentan como discos disponibles.Client_IP
~$
sudo nvme connect-all -t tcp -w
client_IP
-aiscsi_1
-l 1800 Utilice el siguiente comando para comprobar que la NVMe pila ha identificado y fusionado las múltiples sesiones y ha configurado las múltiples rutas. El comando devuelve
Y
si la configuración se ha realizado correctamente.~$
cat /sys/module/nvme_core/parameters/multipath
YUtilice los siguientes comandos para comprobar que la configuración NVMe -oF
model
esté establecida enNetApp ONTAP Controller
y el equilibrio de cargaiopolicy
esté establecido en los ONTAP espacios de nombres respectivosround-robin
para distribuir la E/S en todas las rutas disponibles~$
cat /sys/class/nvme-subsystem/nvme-subsys*/model
Amazon Elastic Block Store NetApp ONTAP Controller
~$
cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy
numa round-robin
Utilice el siguiente comando para comprobar que los espacios de nombres se han creado y detectado correctamente en el host:
~$
sudo nvme list
Node Generic SN Model Namespace Usage Format FW Rev --------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- -------- /dev/nvme0n1 /dev/ng0n1 vol05955547c003f0580 Amazon Elastic Block Store 0x1 25.77 GB / 25.77 GB 512 B + 0 B 1.0 /dev/nvme2n1 /dev/ng2n1 lWB12JWY/XLKAAAAAAAC NetApp ONTAP Controller 0x1 107.37 GB / 107.37 GB 4 KiB + 0 B FFFFFFFF
El nuevo dispositivo de la salida es.
/dev/nvme2n1
Este esquema de nomenclatura puede variar en función de la instalación de Linux.Compruebe que el estado del controlador de cada ruta esté activo y que tenga el estado correcto de múltiples rutas de acceso asimétrico al espacio de nombres (ANA):
~$
nvme list-subsys /dev/nvme2n1
nvme-subsys2 - NQN=nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:subsystem.rhel hostnqn=nqn.2014-08.org.nvmexpress:uuid:ec2a70bf-3ab2-6cb0-f997-8730057ceb24 iopolicy=round-robin \ +- nvme2 tcp traddr=172.31.26.134,trsvcid=4420,host_traddr=172.31.25.143,src_addr=172.31.25.143 live non-optimized +- nvme3 tcp traddr=172.31.16.19,trsvcid=4420,host_traddr=172.31.25.143,src_addr=172.31.25.143 live optimized
En este ejemplo, la NVMe pila ha descubierto automáticamente la alternativa de su sistema de archivos, 172.31.26.134. LIF
iscsi_2
-
Compruebe que el NetApp complemento muestre los valores correctos para cada ONTAP dispositivo de espacio de nombres:
~$
sudo nvme netapp ontapdevices -o column
Device Vserver Namespace Path NSID UUID Size ---------------- ------------------------- -------------------------------------------------- ---- -------------------------------------- --------- /dev/nvme2n1 fsx /vol/nvme_vol1/ns_1 1 0441c609-3db1-4b0b-aa83-790d0d448ece 107.37GB
Para particionar el dispositivo
-
Usa el siguiente comando para verificar que la ruta a tu device_name
nvme2n1
esté presente.~$
ls /dev/mapper/nvme2n1
/dev/nvme2n1
Particione el disco usando
fdisk
. Ingresará un mensaje interactivo. Ingrese las opciones en el orden que se muestra. Puede crear varias particiones utilizando un valor menor que el último sector (20971519
en este ejemplo).nota
El
Last sector
valor variará en función del tamaño del NVMe dispositivo (100 GiB en este ejemplo).~$
sudo fdisk /dev/mapper/nvme2n1
Se inicia el mensaje interactivo
fsdisk
.Welcome to fdisk (util-linux 2.37.4). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x66595cb0. Command (m for help):
n
Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p):
p
Partition number (1-4, default 1):
1
First sector (256-26214399, default 256): Last sector, +sectors or +size{K,M,G,T,P} (256-26214399, default 26214399):
20971519
Created a new partition 1 of type 'Linux' and of size 100 GiB. Command (m for help):
w
The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Tras ingresar
w
, la nueva partición/dev/nvme2n1
estará disponible. Lapartition_name
tiene el formato<device_name>
<partition_number>
.1
se utilizó como número de partición en elfdisk
comando del paso anterior.-
Cree su sistema de archivos con
/dev/nvme2n1
como ruta.~$
sudo mkfs.ext4 /dev/nvme2n1
El sistema responde con lo siguiente:
mke2fs 1.46.5 (30-Dec-2021) Found a dos partition table in /dev/nvme2n1 Proceed anyway? (y,N)
y
Creating filesystem with 26214400 4k blocks and 6553600 inodes Filesystem UUID: 372fb2fd-ae0e-4e74-ac06-3eb3eabd55fb Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (131072 blocks): done Writing superblocks and filesystem accounting information: done
Para montar el NVMe dispositivo en el cliente Linux
-
Cree un directorio
directory_path
como punto de montaje del sistema de archivos en la instancia de Linux.~$
sudo mkdir /
directory_path
/mount_point
-
Monte el sistema de archivos utilizando el siguiente comando.
~$
sudo mount -t ext4 /dev/nvme2n1 /
directory_path
/mount_point
-
(Opcional) Si desea asignar a un usuario específico la propiedad del directorio de montaje, sustituya
con el nombre de usuario del propietario.username
~$
sudo chown
username
:username
/directory_path
/mount_point
-
(Opcional) Compruebe que puede leer y escribir datos en el sistema de archivos.
~$
echo "Hello world!" > /
directory_path
/mount_point
/HelloWorld.txt~$
cat
directory_path
/HelloWorld.txtHello world!
Ha creado y montado correctamente un NVMe dispositivo en su cliente Linux.