NVMePenyediaan/ untuk Linux TCP - FSxuntuk ONTAP

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).

catatan

FSxuntuk sistem ONTAP file gunakan SCSI titik akhir SVM an i untuk protokol penyimpanan i SCSI danNVMe/TCPblock.

Ada tiga langkah utama untuk memproses NVMe TCP konfigurasi/di Amazon Anda NetApp ONTAP, FSx yang tercakup dalam prosedur berikut:

  1. Instal dan konfigurasikan NVMe klien di host Linux.

  2. Konfigurasikan NVMe pada sistem fileSVM.

    • Buat NVMe namespace.

    • Buat NVMe subsistem.

    • Petakan namespace ke subsistem.

    • Tambahkan klien NQN ke subsistem.

  3. Pasang NVMe perangkat di klien Linux.

Sebelum Anda mulai

Sebelum Anda memulai proses mengkonfigurasi sistem file Anda untukNVMe/TCP, Anda harus menyelesaikan item berikut.

  • Buat sistem ONTAP file FSx untuk. Untuk informasi selengkapnya, lihat Membuat sistem file.

  • Buat EC2 instance yang menjalankan Red Hat Enterprise Linux (RHEL) 9.3 VPC sama dengan sistem file. Ini adalah host Linux tempat Anda akan mengkonfigurasi NVMe dan mengakses data file Anda menggunakanNVMe/TCPuntuk Linux.

    Di luar cakupan prosedur 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.

  • Konfigurasikan grup VPC keamanan 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 ONTAPperan dan pengguna.

  • Host Linux yang akan Anda konfigurasikan NVMe dan gunakan untuk mengakses sistem ONTAP file FSx for terletak di sistem file yang sama VPC dan Akun AWS.

  • Kami menyarankan agar EC2 instans berada di zona ketersediaan yang sama dengan subnet pilihan sistem file Anda.

Jika EC2 instans Anda menjalankan Linux yang berbeda AMI 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 lainnyaAMIs.

Instal dan konfigurasikan NVMe pada host Linux

Untuk menginstal NVMe klien
  1. Connect ke instance Linux Anda menggunakan SSH klien. Untuk informasi selengkapnya, lihat Connect ke instans Linux Anda dari Linux atau macOS menggunakan. SSH

  2. Instal nvme-cli menggunakan perintah berikut:

    ~$ sudo yum install -y nvme-cli
  3. Muat nvme-tcp modul ke host:

    $ sudo modprobe nvme-tcp
  4. 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).

  1. Untuk mengakses NetApp ONTAPCLI, buat SSH sesi di port manajemen Amazon FSx untuk sistem NetApp ONTAP file dengan menjalankan perintah berikut. Ganti management_endpoint_ip dengan alamat IP port manajemen sistem file.

    [~]$ ssh fsxadmin@management_endpoint_ip

    Untuk informasi selengkapnya, lihat Mengelola sistem file dengan ONTAP CLI.

  2. 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
  3. Buat NVMe namespace ns_1 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/ns_1 -size 100g -ostype linux Created a namespace of size 100GB (107374182400).
  4. Buat NVMe subsistem menggunakan vserver nvme subsystem create NetApp ONTAPCLIperintah.

    ~$ vserver nvme subsystem create -vserver fsx -subsystem sub_1 -ostype linux
  5. 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
  6. 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 Docs. NetApp ONTAP

  7. 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.
  8. Gunakan network interface show -vserverperintah untuk mengambil alamat antarmuka penyimpanan blok untuk tempat Anda membuat perangkat Anda. SVM NVMe

    ::> network interface show -vserver svm_name -data-protocol nvme-tcp Logical 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_1LIFIni digunakan untuk i SCSI danNVMe/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

Proses pemasangan NVMe perangkat pada klien Linux Anda melibatkan tiga langkah:

  1. Menemukan node NVMe

  2. Mempartisi perangkat NVMe

  3. Memasang NVMe perangkat pada klien

Ini tercakup dalam prosedur berikut.

Untuk menemukan NVMe node target
  1. Pada klien Linux Anda, gunakan perintah berikut untuk menemukan NVMe node target. Ganti Iscsi_1_IP dengan iscsi_1 alamat IP, dan Klien_IP alamat IP klien.

    catatan

    iscsi_1dan iscsi_2 LIFs digunakan untuk i SCSI dan NVMe penyimpanan.

    ~$ sudo nvme discover -t tcp -w client_IP -a iscsi_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
  2. (Opsional) Untuk mendorong throughput yang lebih tinggi daripada klien EC2 tunggal Amazon maksimum 5 Gb/s (~625 MB/s) 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.

  3. Masuk ke inisiator target dengan batas waktu kehilangan pengontrol setidaknya 1800 detik, sekali lagi menggunakan alamat IP iscsi_1 untuk Iscsi_1_IP dan alamat IP klien untuk Klien_IP. NVMePerangkat Anda disajikan sebagai disk yang tersedia.

    ~$ sudo nvme connect-all -t tcp -w client_IP -a iscsi_1 -l 1800
  4. 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 Y
  5. Gunakan perintah berikut untuk memverifikasi bahwa pengaturan NVMe -of model diatur ke NetApp ONTAP Controller dan load balancing iopolicy diatur untuk masing-masing ONTAP ruang nama round-robin 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
  6. 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.

  7. 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 secara otomatis menemukan alternatif sistem file Anda LIFiscsi_2, 172.31.26.134.

  8. 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
  1. Gunakan perintah berikut untuk memverifikasi bahwa jalur ke device_name nvme2n1 Anda ada.

    ~$ ls /dev/mapper/nvme2n1 /dev/nvme2n1
  2. Partisi disk menggunakanfdisk. 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 (20971519dalam contoh ini).

    catatan

    Last sectorNilainya 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 masukw, partisi baru Anda /dev/nvme2n1 menjadi tersedia. Bagian partition_name memiliki format <device_name><partition_number>. 1digunakan sebagai nomor partisi dalam fdisk perintah pada langkah sebelumnya.

  3. 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
  1. Membuat direktori directory_path sebagai titik pemasangan untuk sistem file Anda pada instance Linux.

    ~$ sudo mkdir /directory_path/mount_point
  2. Pasang sistem file menggunakan perintah berikut.

    ~$ sudo mount -t ext4 /dev/nvme2n1 /directory_path/mount_point
  3. (Opsional) Jika Anda ingin memberikan kepemilikan pengguna tertentu dari direktori mount, ganti nama pengguna dengan nama pengguna pemilik.

    ~$ sudo chown username:username /directory_path/mount_point
  4. (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.txt Hello world!

    Anda telah berhasil membuat dan memasang NVMe perangkat di klien Linux Anda.