Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
NVMePenyediaan/TCP untuk Linux
FSx untuk ONTAP mendukung Non-Volatile Memory Express melalui TCP (NVMe/TCP) block storage protocol. With NVMe/TCP, Anda menggunakan ONTAP CLI untuk menyediakan ruang nama dan subsistem dan kemudian memetakan ruang nama ke subsistem, mirip dengan cara LUNs disediakan dan dipetakan ke grup inisiator (igroups) untuk iSCSI. Protokol NVMe /TCP tersedia pada sistem file generasi kedua yang memiliki 6 atau lebih sedikit pasangan ketersediaan tinggi (HA).
catatan
FSx untuk sistem file ONTAP menggunakan titik akhir iSCSI SVM untuk protokol penyimpanan blok iSCSI dan /TCP. NVMe
Ada tiga langkah utama untuk memproses NVMe konfigurasi/TCP di Amazon Anda FSx untuk NetApp ONTAP, yang tercakup dalam prosedur berikut:
Instal dan konfigurasikan NVMe klien di host Linux.
Konfigurasikan NVMe pada SVM sistem file.
Buat NVMe namespace.
Buat NVMe subsistem.
Petakan namespace ke subsistem.
Tambahkan NQN klien ke subsistem.
Pasang NVMe perangkat di klien Linux.
Sebelum Anda mulai
Sebelum Anda memulai proses mengkonfigurasi sistem file Anda NVMe untuk/TCP, Anda harus menyelesaikan item berikut.
Buat sistem file FSx untuk ONTAP. Untuk informasi selengkapnya, lihat Membuat sistem file.
Buat EC2 instance yang menjalankan Red Hat Enterprise Linux (RHEL) 9.3 di VPC yang sama dengan sistem file. Ini adalah host Linux tempat Anda akan mengkonfigurasi NVMe dan mengakses data file Anda menggunakan NVMe /TCP untuk Linux.
Di luar cakupan prosedur ini, jika host berada di VPC lain, Anda dapat menggunakan peering VPC atau AWS Transit Gateway untuk memberikan VPCs akses lain ke titik akhir iSCSI volume. Untuk informasi selengkapnya, lihat Mengakses data dari luar VPC penyebaran.
Konfigurasikan grup keamanan VPC host Linux untuk memungkinkan lalu lintas masuk dan keluar seperti yang dijelaskan dalam. Kontrol Akses Sistem File dengan Amazon VPC
Dapatkan kredensi untuk ONTAP pengguna dengan
fsxadmin
hak istimewa yang akan Anda gunakan untuk mengakses ONTAP CLI. Untuk informasi selengkapnya, lihat ONTAP peran dan pengguna.Host Linux yang akan Anda konfigurasikan NVMe dan gunakan untuk mengakses sistem file FSx for ONTAP terletak di Akun AWS VPC yang sama dan.
Kami menyarankan agar EC2 instans berada di zona ketersediaan yang sama dengan subnet pilihan sistem file Anda.
Jika EC2 instans Anda menjalankan AMI Linux yang berbeda dari RHEL 9.3, beberapa utilitas yang digunakan dalam prosedur dan contoh ini mungkin sudah diinstal, dan Anda mungkin menggunakan perintah yang berbeda untuk menginstal paket yang diperlukan. Selain menginstal paket, perintah yang digunakan di bagian ini berlaku untuk EC2 Linux lainnya AMIs.
Topik
Instal dan konfigurasikan NVMe pada host Linux
Untuk menginstal NVMe klien
-
Connect ke instance Linux Anda menggunakan klien SSH. Untuk informasi selengkapnya, lihat Connect ke instans Linux Anda dari Linux atau macOS menggunakan SSH.
-
Instal
nvme-cli
menggunakan perintah berikut:~$
sudo yum install -y nvme-cli -
Muat
nvme-tcp
modul ke host:$
sudo modprobe nvme-tcp
-
Dapatkan Nama NVMe Berkualitas (NQN) host Linux dengan menggunakan perintah berikut:
$
cat /etc/nvme/hostnqn
nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
Rekam respons untuk digunakan di langkah selanjutnya.
Konfigurasikan NVMe pada FSx sistem file untuk ONTAP
Untuk mengkonfigurasi NVMe pada sistem file
Hubungkan ke CLI NetApp ONTAP FSx pada sistem file for ONTAP tempat Anda berencana untuk membuat NVMe perangkat.
Untuk mengakses ONTAP CLI, buat sesi SSH pada port manajemen Amazon FSx untuk sistem file NetApp ONTAP dengan menjalankan perintah berikut. Ganti
dengan alamat IP port manajemen sistem file.management_endpoint_ip
[~]$
ssh fsxadmin@
management_endpoint_ip
Untuk informasi selengkapnya, lihat Mengelola sistem file dengan ONTAP CLI.
-
Buat volume baru pada SVM yang Anda gunakan untuk mengakses NVMe antarmuka.
::>
vol create -vserver fsx -volume nvme_vol1 -aggregate aggr1 -size 1t
[Job 597] Job succeeded: Successful
Buat NVMe namespace
ns_1
menggunakan perintahvserver nvme namespace create
NetApp ONTAP CLI. Namespace memetakan ke inisiator (klien) dan mengontrol inisiator (klien) mana yang memiliki akses ke perangkat. NVMe ::>
vserver nvme namespace create -vserver fsx -path /vol/nvme_vol1/ns_1 -size 100g -ostype linux
Created a namespace of size 100GB (107374182400).
-
Buat NVMe subsistem menggunakan perintah
vserver nvme subsystem create
NetApp ONTAP CLI. ~$
vserver nvme subsystem create -vserver fsx -subsystem sub_1 -ostype linux
-
Petakan namespace ke subsistem yang baru saja Anda buat.
::>
vserver nvme subsystem map add -vserver fsx -subsystem sub_1 -path /vol/nvme_vol1/ns_1
Tambahkan klien ke subsistem menggunakan NQN yang Anda ambil sebelumnya.
::>
vserver nvme subsystem host add -subsystem sub_1 -host-nqn nqn.2014-08.org.nvmexpress:uuid:ec21b083-1860-d690-1f29-44528e4f4e0e -vserver fsx
Jika Anda ingin membuat perangkat yang dipetakan ke subsistem ini tersedia untuk beberapa host, Anda dapat menentukan beberapa nama inisiator dalam daftar yang dipisahkan koma. Untuk informasi selengkapnya, lihat vserver nvme subsistem host add
di ONTAP Docs. NetApp -
Konfirmasikan bahwa namespace ada menggunakan perintah: 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.
Gunakan network interface show -vserver
perintah untuk mengambil alamat antarmuka penyimpanan blok untuk SVM tempat Anda membuat perangkat. 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.catatan
iscsi_1
LIF digunakan untuk iSCSI dan /TCP. NVMeDalam contoh ini, alamat IP iscsi_1 adalah 172.31.16.19 dan iscsi_2 adalah 172.31.26.134.
Pasang NVMe perangkat di klien Linux Anda
Proses pemasangan NVMe perangkat pada klien Linux Anda melibatkan tiga langkah:
Menemukan node NVMe
Mempartisi perangkat NVMe
Memasang NVMe perangkat pada klien
Ini tercakup dalam prosedur berikut.
Untuk menemukan NVMe node target
Pada klien Linux Anda, gunakan perintah berikut untuk menemukan NVMe node target. Ganti
denganiscsi_1_IP
iscsi_1
alamat IP, dan
alamat IP klien.client_IP
catatan
iscsi_1
daniscsi_2
LIFs digunakan untuk NVMe iSCSI dan penyimpanan.~$
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
-
(Opsional) Untuk mendorong throughput yang lebih tinggi daripada klien EC2 tunggal Amazon maksimum 5 Gbps (~625 MBps) ke NVMe perangkat file Anda, ikuti prosedur yang dijelaskan dalam bandwidth jaringan EC2 instans Amazon di Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux untuk membuat sesi tambahan.
-
Masuk ke inisiator target dengan batas waktu kehilangan pengontrol setidaknya 1800 detik, sekali lagi menggunakan
iscsi_1
alamat IP untuk
dan alamat IP klien untuk.iscsi_1_IP
NVMe Perangkat Anda disajikan sebagai disk yang tersedia.client_IP
~$
sudo nvme connect-all -t tcp -w
client_IP
-aiscsi_1
-l 1800 Gunakan perintah berikut untuk memverifikasi bahwa NVMe tumpukan telah mengidentifikasi dan menggabungkan beberapa sesi dan mengkonfigurasi multipathing. Perintah kembali
Y
jika konfigurasi berhasil.~$
cat /sys/module/nvme_core/parameters/multipath
YGunakan perintah berikut untuk memverifikasi bahwa pengaturan NVMe -of
model
diatur keNetApp ONTAP Controller
dan load balancingiopolicy
diaturround-robin
untuk masing-masing ONTAP ruang nama untuk mendistribusikan I/O pada semua jalur yang tersedia~$
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
Gunakan perintah berikut untuk memverifikasi bahwa ruang nama dibuat dan ditemukan dengan benar di 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
Perangkat baru dalam output adalah
/dev/nvme2n1
. Skema penamaan ini mungkin berbeda tergantung pada instalasi Linux Anda.Verifikasi bahwa status pengontrol setiap jalur aktif dan memiliki status multipathing Asymmetric Namespace Access (ANA) yang benar:
~$
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
Dalam contoh ini, NVMe tumpukan telah secara otomatis menemukan LIF alternatif sistem file Anda
iscsi_2
, 172.31.26.134.-
Verifikasi bahwa NetApp plug-in menampilkan nilai yang benar untuk masing-masing ONTAP perangkat namespace:
~$
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
Untuk mempartisi perangkat
-
Gunakan perintah berikut untuk memverifikasi bahwa jalur ke device_name
nvme2n1
Anda ada.~$
ls /dev/mapper/nvme2n1
/dev/nvme2n1
Partisi disk menggunakan
fdisk
. Anda akan memasukkan prompt interaktif. Masukkan opsi dalam urutan yang ditampilkan. Anda dapat membuat beberapa partisi dengan menggunakan nilai yang lebih kecil dari sektor terakhir (20971519
dalam contoh ini).catatan
Last sector
Nilainya akan bervariasi tergantung pada ukuran NVMe perangkat Anda (100 GiB dalam contoh ini).~$
sudo fdisk /dev/mapper/nvme2n1
Prompt
fsdisk
interaktif dimulai.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.
Setelah masuk
w
, partisi baru Anda/dev/nvme2n1
menjadi tersedia.partition_name
Memiliki formatnya<device_name>
<partition_number>
.1
digunakan sebagai nomor partisi dalamfdisk
perintah pada langkah sebelumnya.-
Buat sistem file Anda menggunakan
/dev/nvme2n1
sebagai jalur.~$
sudo mkfs.ext4 /dev/nvme2n1
Sistem merespons dengan output berikut:
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
Untuk me-mount NVMe perangkat pada klien Linux
-
Buat direktori
directory_path
sebagai titik pemasangan untuk sistem file Anda pada instance Linux.~$
sudo mkdir /
directory_path
/mount_point
-
Pasang sistem file menggunakan perintah berikut.
~$
sudo mount -t ext4 /dev/nvme2n1 /
directory_path
/mount_point
-
(Opsional) Jika Anda ingin memberikan kepemilikan pengguna tertentu dari direktori mount, ganti
dengan nama pengguna pemilik.username
~$
sudo chown
username
:username
/directory_path
/mount_point
-
(Opsional) Verifikasi bahwa Anda dapat membaca dari dan menulis data ke sistem file.
~$
echo "Hello world!" > /
directory_path
/mount_point
/HelloWorld.txt~$
cat
directory_path
/HelloWorld.txtHello world!
Anda telah berhasil membuat dan memasang NVMe perangkat di klien Linux Anda.