View a markdown version of this page

Penyediaan untuk Linux NVMe/TCP - fsX untuk ONTAP

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penyediaan untuk Linux NVMe/TCP

FSx untuk ONTAP mendukung protokol penyimpanan blok Non-Volatile Memory Express melalui TCP (NVMe/TCP). Dengan 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. NVMe/TCP Protokol ini 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 iSCSI dan blok. NVMe/TCP

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

  1. Instal dan konfigurasikan klien NVMe di host Linux.

  2. Konfigurasikan NVMe pada SVM sistem file.

    • Buat namespace NVMe.

    • Buat subsistem NVMe.

    • Petakan namespace ke subsistem.

    • Tambahkan NQN klien ke subsistem.

  3. Pasang perangkat NVMe di klien Linux.

Sebelum Anda mulai

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

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

  • Buat instans EC2 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 VPC peering atau AWS Transit Gateway untuk memberikan VPC lain akses 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 kredensil untuk ONTAP pengguna dengan fsxadmin hak istimewa yang akan Anda gunakan untuk mengakses CLI. ONTAP Untuk informasi selengkapnya, lihat ONTAP peran dan pengguna.

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

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

Jika instans EC2 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 AMI Linux EC2 lainnya.

Instal dan konfigurasikan NVMe di host Linux

Untuk menginstal klien NVMe
  1. Connect ke instance Linux Anda menggunakan klien SSH. 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 NVMe Qualified Name (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 untuk sistem file ONTAP

Untuk mengkonfigurasi NVMe pada sistem file

Connect ke CLI NetApp ONTAP pada FSx untuk sistem file ONTAP di mana Anda berencana untuk membuat perangkat NVMe.

  1. Untuk mengakses ONTAP CLI, buat sesi SSH pada port manajemen Amazon FSx untuk sistem file NetApp ONTAP atau SVM 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 di SVM yang Anda gunakan untuk mengakses antarmuka NVMe.

    ::> vol create -vserver fsx -volume nvme_vol1 -aggregate aggr1 -size 1t [Job 597] Job succeeded: Successful
  3. Buat namespace NVMe menggunakan perintah ns_1 vserver 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).
  4. Buat subsistem NVMe menggunakan perintah ONTAP CLI vserver nvme subsystem create NetApp .

    ~$ 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 ONTAP Docs. NetApp

  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 SVM tempat Anda membuat perangkat NVMe Anda.

    ::> 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_1LIF digunakan untuk iSCSI dan. NVMe/TCP

    Dalam contoh ini, alamat IP iscsi_1 adalah 172.31.16.19 dan iscsi_2 adalah 172.31.26.134.

Pasang perangkat NVMe di klien Linux Anda

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

  1. Menemukan node NVMe

  2. Mempartisi perangkat NVMe

  3. Memasang perangkat NVMe pada klien

Ini tercakup dalam prosedur berikut.

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

    catatan

    iscsi_1dan iscsi_2 LIF digunakan untuk penyimpanan iSCSI dan NVMe.

    ~$ 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 tunggal Amazon EC2 maksimum 5 Gbps (~625 MBps) ke perangkat NVMe file Anda, ikuti prosedur yang dijelaskan dalam bandwidth jaringan instans Amazon EC2 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 iscsi_1 alamat IP untuk iscsi_1_IP dan alamat IP klien untuk. client_IP Perangkat NVMe 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 tumpukan NVMe 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 NVMe-oF pengaturan 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, tumpukan NVMe secara otomatis menemukan LIF alternatif sistem file Anda, 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. 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 perangkat NVMe 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. partition_nameMemiliki formatnya <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 memasang perangkat NVMe pada klien Linux
  1. Buat 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 username 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 perangkat NVMe di klien Linux Anda.