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

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:

  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.

  • 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 CLI

  • Host 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.

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 instance 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 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).
  4. Buat NVMe subsistem menggunakan vserver nvme subsystem create NetApp ONTAPCLIperintah..

    ~$ vserver nvme subsystem create -vserver fsx -subsystem rhel -ostype linux
  5. Petakan namespace ke subsistem yang baru saja Anda buat.

    ::> vserver nvme subsystem map add -vserver fsx -subsystem rhel -path /vol/nvme_vol1/ns_1
  6. 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 fsx

    Jika 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

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

    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
  1. Pada klien Linux Anda, gunakan perintah berikut untuk menemukan target i SCSI node, menggunakan iscsi_1 alamat IP untuk Iscsi_1_IP dan alamat IP klien untuk Klien_IP. Perhatikan bahwa iscsi_1 dan iscsi_2 LIF 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) 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.

  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.

    ~$ cat /sys/module/nvme_core/parameters/multipath Y
  5. Verifikasi bahwa pengaturan NVMe -of model disetel ke NetApp ONTAP Controller dan load balancing iopolicy 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
  6. 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.

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

  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. Perhatikan bahwa Last 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 (20971519dalam 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) Anda dapat mengubah kepemilikan direktori mount ke pengguna Anda. Ganti username dengan nama pengguna Anda.

    ~$ 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.