

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

# NVMePenyediaan/TCP untuk Linux
<a name="provision-nvme-linux"></a>

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-pairs.md) (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:

1. Instal dan konfigurasikan NVMe klien di host Linux.

1. Konfigurasikan NVMe pada SVM sistem file.
   + Buat NVMe namespace.
   + Buat NVMe subsistem.
   + Petakan namespace ke subsistem.
   + Tambahkan NQN klien ke subsistem.

1. Pasang NVMe perangkat di klien Linux.

## Sebelum Anda mulai
<a name="nvme-tcp-linux-byb"></a>

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](creating-file-systems.md).
+ 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](supported-fsx-clients.md#access-from-outside-deployment-vpc).
+ Konfigurasikan grup keamanan VPC host Linux untuk memungkinkan lalu lintas masuk dan keluar seperti yang dijelaskan dalam. [Kontrol Akses Sistem File dengan Amazon VPC](limit-access-security-groups.md)
+ Dapatkan kredensi untuk ONTAP pengguna dengan `fsxadmin` hak istimewa yang akan Anda gunakan untuk mengakses ONTAP CLI. Untuk informasi selengkapnya, lihat [ONTAPperan dan pengguna](roles-and-users.md).
+ 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.

**Topics**
+ [Sebelum Anda mulai](#nvme-tcp-linux-byb)
+ [Instal dan konfigurasikan NVMe pada host Linux](#configure-nvme-on-rhel93)
+ [Konfigurasikan NVMe pada FSx sistem file untuk ONTAP](#configure-nvme-on-svm)
+ [Pasang NVMe perangkat di klien Linux Anda](#add-nvme-on-rhel93-host)

## Instal dan konfigurasikan NVMe pada host Linux
<a name="configure-nvme-on-rhel93"></a>

**Untuk menginstal NVMe klien**

1. Connect ke instance Linux Anda menggunakan klien SSH. Untuk informasi selengkapnya, lihat [Connect ke instans Linux Anda dari Linux atau macOS menggunakan SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html).

1. Instal `nvme-cli` menggunakan perintah berikut:

   ```
   ~$ sudo yum install -y nvme-cli
   ```

1. Muat `nvme-tcp` modul ke host:

   ```
   $ sudo modprobe nvme-tcp
   ```

1. 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
<a name="configure-nvme-on-svm"></a>

**Untuk mengkonfigurasi NVMe pada sistem file**

Hubungkan ke CLI NetApp ONTAP FSx pada sistem file for ONTAP tempat Anda berencana untuk membuat NVMe perangkat.

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](managing-resources-ontap-apps.md#fsxadmin-ontap-cli). 

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

1. Buat NVMe namespace `ns_1` menggunakan perintah [https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-create.html](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-create.html) 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).
   ```

1. Buat NVMe subsistem menggunakan perintah [https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-subsystem-create.html](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-subsystem-create.html) NetApp ONTAP CLI.

   ```
   ~$ vserver nvme subsystem create -vserver fsx -subsystem sub_1 -ostype linux
   ```

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

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](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-subsystem-host-add.html) di ONTAP Docs. NetApp 

1. Konfirmasikan bahwa namespace ada menggunakan perintah: [https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-show.html](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-show.html)

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

1. Gunakan [https://docs.netapp.com/us-en/ontap-cli-9141/network-interface-show.html](https://docs.netapp.com/us-en/ontap-cli-9141/network-interface-show.html)perintah untuk mengambil alamat antarmuka penyimpanan blok untuk SVM tempat Anda membuat perangkat. 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_1`LIF digunakan untuk iSCSI dan /TCP. NVMe

   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
<a name="add-nvme-on-rhel93-host"></a>

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

1. Menemukan node NVMe 

1. Mempartisi perangkat NVMe 

1. 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 {{`client_IP`}} alamat IP klien.
**catatan**  
`iscsi_1`dan `iscsi_2` LIFs digunakan untuk NVMe iSCSI dan 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
   ```

1. (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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) di Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux untuk membuat sesi tambahan.

1. 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`}} NVMe Perangkat Anda disajikan sebagai disk yang tersedia.

   ```
   ~$ sudo nvme connect-all -t tcp -w {{client_IP}} -a {{iscsi_1}} -l 1800
   ```

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

1. Gunakan perintah berikut untuk memverifikasi bahwa pengaturan NVMe -of `model` diatur ke `NetApp ONTAP Controller` dan load balancing `iopolicy` diatur `round-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
   ```

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

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

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

1. Gunakan perintah berikut untuk memverifikasi bahwa jalur ke device\_name `nvme2n1` Anda ada.

   ```
   ~$ ls /dev/mapper/nvme2n1
   /dev/nvme2n1
   ```

1. 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 dalam `fdisk` perintah pada langkah sebelumnya.

1. 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. Buat direktori {{directory\_path}} sebagai titik pemasangan untuk sistem file Anda pada instance Linux.

   ```
   ~$ sudo mkdir /{{directory_path}}/{{mount_point}}
   ```

1. Pasang sistem file menggunakan perintah berikut.

   ```
   ~$ sudo mount -t ext4 /dev/nvme2n1 /{{directory_path}}/{{mount_point}}
   ```

1. (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}}
   ```

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