第10章 NVMe/RDMA を使用した NVMe over Fabrics の設定
NVMe コントローラーとイニシエーターの設定を含む NVMe over RDMA セットアップを設定します。configfs と nvmetcli を使用して RDMA コントローラーを設定し、高速なストレージアクセスのために RDMA ホストを設定できます。
10.1. configfs を使用した NVMe/RDMA コントローラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
configfs を使用して、Non-volatile Memory Express™ (NVMe™) over RDMA (NVMe™/RDMA) コントローラーを設定できます。詳細は、システム上の nvme(1) man ページを参照してください。
前提条件
-
nvmetサブシステムに割り当てるブロックデバイスがあることを確認する。
手順
nvmet-rdmaサブシステムを作成します。# modprobe nvmet-rdma# mkdir /sys/kernel/config/nvmet/subsystems/testnqn# cd /sys/kernel/config/nvmet/subsystems/testnqntestnqn を、サブシステム名に置き換えます。
すべてのホストがこのコントローラーに接続できるようにします。
# echo 1 > attr_allow_any_host名前空間を設定します。
# mkdir namespaces/10# cd namespaces/1010 は、名前空間の番号に置き換えます。
NVMe デバイスへのパスを設定します。
# echo -n /dev/nvme0n1 > device_path名前空間を有効にします。
# echo 1 > enableNVMe ポートでディレクトリーを作成します。
# mkdir /sys/kernel/config/nvmet/ports/1# cd /sys/kernel/config/nvmet/ports/1mlx5_ib0 の IP アドレスを表示します。
# ip addr show mlx5_ib08: mlx5_ib0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 4092 qdisc mq state UP group default qlen 256 link/infiniband 00:00:06:2f:fe:80:00:00:00:00:00:00:e4:1d:2d:03:00:e7:0f:f6 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff inet 172.31.0.202/24 brd 172.31.0.255 scope global noprefixroute mlx5_ib0 valid_lft forever preferred_lft forever inet6 fe80::e61d:2d03:e7:ff6/64 scope link noprefixroute valid_lft forever preferred_lft foreverコントローラーのトランスポートアドレスを設定します。
# echo -n 172.31.0.202 > addr_traddrRDMA をトランスポートタイプとして設定します。
# echo rdma > addr_trtype# echo 4420 > addr_trsvcidポートのアドレスファミリーを設定します。
# echo ipv4 > addr_adrfamソフトリンクを作成します。
# ln -s /sys/kernel/config/nvmet/subsystems/testnqn /sys/kernel/config/nvmet/ports/1/subsystems/testnqn
検証
NVMe コントローラーが指定されたポートでリッスンしていて、接続要求の準備ができていることを確認します。
# dmesg | grep "enabling port"[ 1091.413648] nvmet_rdma: enabling port 1 (172.31.0.202:4420)