Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
ProvisioningNVMe/TCPper Linux
FSxper ONTAP supporta il protocollo di storage a blocchi Non-Volatile Memory Express over TCP (NVMe/TCP). ConNVMe/TCP, si usa ONTAP CLI per fornire namespace e sottosistemi e quindi mappare i namespace ai sottosistemi, in modo analogo al modo in cui LUNs vengono assegnati e mappati ai gruppi di iniziatori (igroup) per i. SCSI Il TCP protocolloNVMe/è disponibile sui file system di seconda generazione con 6 o meno coppie ad alta disponibilità (HA).
Nota
FSxper i ONTAP file system utilizza gli SCSI endpoint SVM an's i per i protocolli di storage a blocchi i SCSI eNVMe//TCP.
Il processo di configurazione diNVMe/TCPsu Amazon FSx for prevede tre passaggi principali NetApp ONTAP, descritti nelle seguenti procedure:
Installa e configura il NVMe client sull'host Linux.
Configura NVMe sul file systemSVM.
Crea un NVMe namespace.
Crea un sottosistemaNVMe.
Mappa lo spazio dei nomi sul sottosistema.
Aggiungere il client al sottosistemaNQN.
Monta un NVMe dispositivo sul client Linux.
Prima di iniziare
Prima di iniziare il processo di configurazione del file system perNVMe/TCP, è necessario completare i seguenti elementi.
Create un ONTAP file system FSx for. Per ulteriori informazioni, consulta Creazione di file system.
Crea un'EC2istanza che esegua Red Hat Enterprise Linux (RHEL) 9.3 nello VPC stesso file system. Questo è l'host Linux su cui configurerete NVMe e accederete ai dati dei file usandoNVMe/TCPper Linux.
Oltre all'ambito di queste procedure, se l'host si trova in un altroVPC, è possibile utilizzare il VPC peering o concedere AWS Transit Gateway ad altri VPCs l'accesso agli SCSI endpoint i del volume. Per ulteriori informazioni, consulta Accesso ai dati dall'esterno della distribuzione VPC.
Configura i gruppi di VPC sicurezza dell'host Linux per consentire il traffico in entrata e in uscita come descritto in. Controllo degli accessi ai file system con Amazon VPC
Ottieni le credenziali per l'ONTAPutente con
fsxadmin
privilegi che utilizzerai per accedere a. ONTAP CLI Per ulteriori informazioni, consulta ONTAP ruoli e utenti.L'host Linux per cui configurerai NVMe e utilizzerai per accedere al ONTAP file system FSx for si trova nello stesso VPC e. Account AWS
È consigliabile che l'EC2istanza si trovi nella stessa zona di disponibilità della sottorete preferita del file system.
Se l'EC2istanza esegue un sistema Linux AMI diverso dalla RHEL 9.3, alcune delle utilità utilizzate in queste procedure ed esempi potrebbero essere già installate e potreste utilizzare comandi diversi per installare i pacchetti richiesti. Oltre all'installazione dei pacchetti, i comandi usati in questa sezione sono validi per altri EC2 sistemi Linux. AMIs
Argomenti
Installazione e configurazione NVMe sull'host Linux
Per installare il NVMe client
-
Connect alla propria istanza Linux utilizzando un SSH client. Per ulteriori informazioni, consulta Connect alla tua istanza Linux da Linux o macOS utilizzando. SSH
-
Installa
nvme-cli
utilizzando il seguente comando:~$
sudo yum install -y nvme-cli -
Carica il
nvme-tcp
modulo sull'host:$
sudo modprobe nvme-tcp
-
Ottenete il nome NVMe qualificato (NQN) dell'host Linux utilizzando il seguente comando:
$
cat /etc/nvme/hostnqn
nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
Registrate la risposta per utilizzarla in un passaggio successivo.
Configura NVMe sul ONTAP file system FSx for
Per configurare NVMe sul file system
Connect al ONTAP file system NetApp ONTAP CLI on the FSx for su cui intendi creare il/i NVMe dispositivo/i.
Per accedere a NetApp ONTAPCLI, stabilisci una SSH sessione sulla porta di gestione di Amazon FSx for NetApp ONTAP file system eseguendo il comando seguente. Sostituisci
con l'indirizzo IP della porta di gestione del file system.management_endpoint_ip
[~]$
ssh fsxadmin@
management_endpoint_ip
Per ulteriori informazioni, consulta Gestione dei file system con la ONTAP CLI.
-
Crea un nuovo volume su SVM quello che stai utilizzando per accedere all'NVMeinterfaccia.
::>
vol create -vserver fsx -volume nvme_vol1 -aggregate aggr1 -size 1t
[Job 597] Job succeeded: Successful
Crea lo spazio NVMe dei nomi
ns_1
usando ilvserver nvme namespace create
NetApp ONTAPCLIcomando. Un namespace mappa gli iniziatori (client) e controlla quali iniziatori (client) hanno accesso ai dispositivi. NVMe ::>
vserver nvme namespace create -vserver fsx -path /vol/nvme_vol1/ns_1 -size 100g -ostype linux
Created a namespace of size 100GB (107374182400).
-
Crea il NVMe sottosistema utilizzando il comando.
vserver nvme subsystem create
NetApp ONTAPCLI ~$
vserver nvme subsystem create -vserver fsx -subsystem sub_1 -ostype linux
-
Mappa lo spazio dei nomi sul sottosistema appena creato.
::>
vserver nvme subsystem map add -vserver fsx -subsystem sub_1 -path /vol/nvme_vol1/ns_1
Aggiungi il client al sottosistema utilizzando quello NQN che hai recuperato in precedenza.
::>
vserver nvme subsystem host add -subsystem sub_1 -host-nqn nqn.2014-08.org.nvmexpress:uuid:ec21b083-1860-d690-1f29-44528e4f4e0e -vserver fsx
Se si desidera rendere i dispositivi mappati su questo sottosistema disponibili a più host, è possibile specificare più nomi di iniziatori in un elenco separato da virgole. Per ulteriori informazioni, consulta vserver nvme subsystem
host add nei Documenti. NetApp ONTAP -
Conferma che lo spazio dei nomi esista usando il 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.
Usa il network interface show -vserver
comando per recuperare gli indirizzi delle interfacce di archiviazione a blocchi per il dispositivo SVM in cui hai creato i tuoi dispositivi. NVMe ::>
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
Viene utilizzato
iscsi_1
LIF sia per i SCSI che per/. NVMe TCPIn questo esempio, l'indirizzo IP di iscsi_1 è 172.31.16.19 e iscsi_2 è 172.31.26.134.
NVMeMonta un dispositivo sul tuo client Linux
Il processo di montaggio del NVMe dispositivo sul client Linux prevede tre passaggi:
Alla scoperta dei NVMe nodi
Partizionamento del dispositivo NVMe
Montaggio del NVMe dispositivo sul client
Queste sono trattate nelle seguenti procedure.
Per scoprire i NVMe nodi di destinazione
Sul tuo client Linux, usa il seguente comando per scoprire i NVMe nodi di destinazione. Replace (Sostituisci)
con indirizzo IP, eiSCSI_1_IP
iscsi_1
l'indirizzo IP del client.Client_IP
Nota
iscsi_1
eiscsi_2
LIFs vengono utilizzati sia per l'i che per SCSI l'NVMearchiviazione.~$
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
-
(Facoltativo) Per ottenere un throughput più elevato rispetto al massimo di 5 GB/s (~625 MB/s) per il tuo NVMe dispositivo di file rispetto al client EC2 singolo Amazon, segui le procedure descritte nella sezione Larghezza di banda di rete delle EC2 istanze Amazon nella Amazon Elastic Compute Cloud User Guide for Linux Instances per stabilire sessioni aggiuntive.
-
Accedi agli iniziatori di destinazione con un timeout di perdita del controller di almeno 1800 secondi, utilizzando nuovamente l'indirizzo IP per
iscsi_1
e l'indirizzo IP del client periSCSI_1_IP
. I NVMe dispositivi vengono presentati come dischi disponibili.Client_IP
~$
sudo nvme connect-all -t tcp -w
client_IP
-aiscsi_1
-l 1800 Utilizzate il comando seguente per verificare che lo NVMe stack abbia identificato e unito le sessioni multiple e configurato il multipathing. Il comando restituisce
Y
se la configurazione ha avuto esito positivo.~$
cat /sys/module/nvme_core/parameters/multipath
YUtilizzate i seguenti comandi per verificare che l'impostazione NVMe -oF
model
sia impostata suNetApp ONTAP Controller
e che il bilanciamento del caricoiopolicy
sia impostato suround-robin
per i rispettivi ONTAP namespace per distribuire l'I/O su tutti i percorsi disponibili~$
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
Utilizzate il comando seguente per verificare che i namespace vengano creati e rilevati correttamente sull'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
Il nuovo dispositivo nell'output è.
/dev/nvme2n1
Questo schema di denominazione può variare a seconda dell'installazione Linux in uso.Verifica che lo stato del controller di ogni percorso sia attivo e abbia lo stato di multipathing Asymmetric Namespace Access () corretto: 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
In questo esempio, lo NVMe stack ha rilevato automaticamente l'alternativa del file system, 172.31.26.134. LIF
iscsi_2
-
Verifica che il NetApp plug-in visualizzi i valori corretti per ogni dispositivo del namespace: ONTAP
~$
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
Per partizionare il dispositivo
-
Usa il comando seguente per verificare che sia presente il percorso del tuo device_name
nvme2n1
.~$
ls /dev/mapper/nvme2n1
/dev/nvme2n1
Partiziona il disco usando.
fdisk
Inserirai un prompt interattivo. Inserisci le opzioni nell'ordine mostrato. È possibile creare più partizioni utilizzando un valore inferiore all'ultimo settore (20971519
in questo esempio).Nota
Il
Last sector
valore varierà a seconda delle dimensioni del NVMe dispositivo (100 GiB in questo esempio).~$
sudo fdisk /dev/mapper/nvme2n1
Viene avviato il prompt
fsdisk
interattivo.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.
Dopo l'accesso
w
, la nuova partizione/dev/nvme2n1
diventa disponibile. Ilpartition_name
ha il formato<device_name>
<partition_number>
.1
è stato utilizzato come numero di partizione nelfdisk
comando del passaggio precedente.-
Crea il tuo file system utilizzando
/dev/nvme2n1
come percorso.~$
sudo mkfs.ext4 /dev/nvme2n1
Il sistema risponde con il seguente output:
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
Per montare il NVMe dispositivo sul client Linux
-
Creazione di una directory
directory_path
come punto di montaggio per il file system sull'istanza Linux.~$
sudo mkdir /
directory_path
/mount_point
-
Monta il file system usando il seguente comando.
~$
sudo mount -t ext4 /dev/nvme2n1 /
directory_path
/mount_point
-
(Facoltativo) Se desideri assegnare a un utente specifico la proprietà della directory di montaggio, sostituisci
con il nome utente del proprietario.username
~$
sudo chown
username
:username
/directory_path
/mount_point
-
(Facoltativo) Verificate di poter leggere e scrivere dati sul file system.
~$
echo "Hello world!" > /
directory_path
/mount_point
/HelloWorld.txt~$
cat
directory_path
/HelloWorld.txtHello world!
Avete creato e montato con successo un NVMe dispositivo sul vostro client Linux.