Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
NVMePenyediaan/untuk Linux TCP
FSxuntuk ONTAP mendukung protokol penyimpanan blok Non-Volatile Memory Express over TCP (NVMe/TCP). DenganNVMe/TCP, Anda menggunakan ONTAP CLI to menyediakan ruang nama dan subsistem dan kemudian memetakan ruang nama ke subsistem, mirip dengan cara disediakan dan dipetakan ke grup LUNs inisiator (igroups) untuk i. SCSI TCPProtokolNVMe/tersedia pada sistem file generasi kedua yang memiliki 6 atau lebih sedikit pasangan ketersediaan tinggi (HA). .
Contoh yang disajikan dalam prosedur ini menunjukkan cara NVMe TCP mengatur/memblokir penyimpanan pada sistem ONTAP file Anda FSx dan klien Linux, dan menggunakan pengaturan berikut:
Instal dan konfigurasikan NVMe klien di host Linux.
Konfigurasikan NVMe pada sistem fileSVM.
Buat NVMe namespace.
Buat NVMe subsistem.
Petakan namespace ke subsistem.
Tambahkan klien NQN ke subsistem.
Pasang NVMe perangkat di klien Linux.
Anda telah membuat sistem ONTAP file FSx for. Untuk informasi selengkapnya, lihat Membuat i SCSI LUN.
Buat EC2 instance yang menjalankan Red Hat Enterprise Linux (RHEL) 9.3, yang akan menjadi host Linux tempat Anda akan mengkonfigurasiNVMe.
Host Linux memiliki grup VPC keamanan yang dikonfigurasi untuk memungkinkan lalu lintas masuk dan keluar seperti yang dijelaskan dalam. Kontrol Akses Sistem File dengan Amazon VPC
Anda tahu kredensi untuk ONTAP pengguna dengan
fsxadmin
hak istimewa yang akan Anda gunakan untuk mengakses. ONTAP CLIHost Linux yang akan Anda konfigurasikan NVMe dan gunakan untuk mengakses sistem ONTAP file FSx for terletak di tempat yang sama VPC dan Akun AWS.
Di luar cakupan contoh yang disajikan dalam topik ini jika host berada di tempat lainVPC, Anda dapat menggunakan VPC peering atau AWS Transit Gateway untuk memberikan VPCs akses lain ke titik SCSI akhir volume i. Untuk informasi selengkapnya, lihat Mengakses data dari luar penyebaran VPC.
Jika Anda menggunakan EC2 instance yang menjalankan Linux yang berbeda AMI dari yang digunakan dalam prosedur dan contoh ini, beberapa utilitas yang diinstal pada host 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 lainnyaAMIs.
Kami menyarankan agar EC2 instans berada di zona ketersediaan yang sama dengan subnet pilihan sistem file Anda.
Topik
Instal dan konfigurasikan NVMe pada host Linux
Untuk menginstal NVMe klien
-
Connect ke instance Linux Anda menggunakan SSH klien. Untuk informasi selengkapnya, lihat Connect ke instance 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 sistem ONTAP file FSx for
Untuk mengkonfigurasi NVMe pada sistem file
Connect ke NetApp ONTAP CLI on the FSx for ONTAP file system di mana Anda berencana untuk membuat NVMe perangkat (s).
Untuk mengakses NetApp ONTAPCLI, buat SSH sesi di port manajemen Amazon FSx untuk sistem NetApp ONTAP file 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
rhel
menggunakan perintah.vserver nvme namespace create
NetApp ONTAPCLI 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/rhel -size 100g -ostype linux
Created a namespace of size 100GB (107374182400).
-
Buat NVMe subsistem menggunakan
vserver nvme subsystem create
NetApp ONTAPCLIperintah.. ~$
vserver nvme subsystem create -vserver fsx -subsystem rhel -ostype linux
-
Petakan namespace ke subsistem yang baru saja Anda buat.
::>
vserver nvme subsystem map add -vserver fsx -subsystem rhel -path /vol/nvme_vol1/ns_1
Tambahkan klien ke subsistem menggunakan NQN yang Anda ambil sebelumnya.
::>
vserver nvme subsystem host add -subsystem rhel -host-nqn nqn.2014-08.org.nvmexpress:uuid:ec21b083-1860-d690-1f29-44528e4f4e0e -vserver fsxJika Anda ingin membuat perangkat yang dipetakan ke subsistem ini tersedia untuk beberapa host, Anda dapat menentukan beberapa nama inisiator yang dipisahkan dengan koma. Untuk informasi selengkapnya, lihat vserver nvme subsistem host add
di Docs. NetApp ONTAP -
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: rhel 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 tempat Anda membuat perangkat Anda. SVM NVMe ::>
network interface show -vserver
svm_name
-data-protocol nvmeLogical 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.Perhatikan bahwa iscsi_1 LIF digunakan untuk i dan/. SCSI NVMe TCP Dalam 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
Temukan target i SCSI node
Pada klien Linux Anda, gunakan perintah berikut untuk menemukan target i SCSI node, menggunakan
iscsi_1
alamat IP untuk
dan alamat IP klien untukIscsi_1_IP
. Perhatikan bahwaKlien_IP
iscsi_1
daniscsi_2
LIF digunakan untuk i SCSI dan NVMe 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) Anda dapat membuat sesi tambahan dengan sistem file. Amazon EC2 memiliki batas bandwidth 5 Gb/s (~ 625 MB/s) untuk lalu lintas aliran tunggal, tetapi Anda dapat membuat beberapa sesi untuk mendorong tingkat throughput yang lebih tinggi ke sistem file Anda dari satu klien. Untuk informasi selengkapnya, lihat Bandwidth jaringan EC2 instans Amazon di Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux.
-
Masuk ke inisiator target dengan batas waktu kehilangan pengontrol setidaknya 1800 detik, sekali lagi menggunakan alamat IP
iscsi_1
untuk
dan alamat IP klien untukIscsi_1_IP
. NVMePerangkat Anda disajikan sebagai disk yang tersedia.Klien_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.
~$
cat /sys/module/nvme_core/parameters/multipath
YVerifikasi bahwa pengaturan NVMe -of
model
disetel keNetApp ONTAP Controller
dan load balancingiopolicy
diatur keround-robin
) untuk masing-masing ONTAP ruang nama mencerminkan host dengan benar.~$
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
Verifikasi 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 ANA status 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
Perhatikan bahwa NVMe tumpukan telah secara otomatis menemukan alternatif sistem file AndaLIF, iscsi_2, 172.31.26.134.
-
Verifikasi bahwa NetApp plug-in menampilkan nilai yang benar untuk setiap perangkat ONTAP 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. Perhatikan bahwaLast sector
nilainya akan bervariasi tergantung pada ukuran NVMe perangkat Anda (100 GiB dalam contoh ini). Anda dapat membuat beberapa partisi dengan menggunakan nilai yang lebih kecil dari sektor terakhir (20971519
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. Bagianpartition_name
memiliki format<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
-
Membuat 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) Anda dapat mengubah kepemilikan direktori mount ke pengguna Anda. Ganti
dengan nama pengguna Anda.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.