第10章 NVMe/RDMA を使用した NVMe over Fabrics の設定
Non-volatile Memory Express™ (NVMe™) over RDMA (NVMe™/RDMA) セットアップでは、NVMe コントローラーと NVMe イニシエーターを設定します。
10.1. configfs を使用した NVMe/RDMA コントローラーのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
configfs
を使用して、Non-volatile Memory Express™ (NVMe™) over RDMA (NVMe™/RDMA) コントローラーを設定できます。
前提条件
-
nvmet
サブシステムに割り当てるブロックデバイスがあることを確認する。
手順
nvmet-rdma
サブシステムを作成します。modprobe nvmet-rdma mkdir /sys/kernel/config/nvmet/subsystems/testnqn cd /sys/kernel/config/nvmet/subsystems/testnqn
# modprobe nvmet-rdma # mkdir /sys/kernel/config/nvmet/subsystems/testnqn # cd /sys/kernel/config/nvmet/subsystems/testnqn
Copy to Clipboard Copied! Toggle word wrap Toggle overflow testnqn を、サブシステム名に置き換えます。
すべてのホストがこのコントローラーに接続できるようにします。
echo 1 > attr_allow_any_host
# echo 1 > attr_allow_any_host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace を設定します。
mkdir namespaces/10 cd namespaces/10
# mkdir namespaces/10 # cd namespaces/10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 10 を、namespace の数値に置き換えます。
NVMe デバイスへのパスを設定します。
echo -n /dev/nvme0n1 > device_path
# echo -n /dev/nvme0n1 > device_path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace を有効にします。
echo 1 > enable
# echo 1 > enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NVMe ポートでディレクトリーを作成します。
mkdir /sys/kernel/config/nvmet/ports/1 cd /sys/kernel/config/nvmet/ports/1
# mkdir /sys/kernel/config/nvmet/ports/1 # cd /sys/kernel/config/nvmet/ports/1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mlx5_ib0 の IP アドレスを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーのトランスポートアドレスを設定します。
echo -n 172.31.0.202 > addr_traddr
# echo -n 172.31.0.202 > addr_traddr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RDMA をトランスポートタイプとして設定します。
echo rdma > addr_trtype echo 4420 > addr_trsvcid
# echo rdma > addr_trtype # echo 4420 > addr_trsvcid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポートのアドレスファミリーを設定します。
echo ipv4 > addr_adrfam
# echo ipv4 > addr_adrfam
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ソフトリンクを作成します。
ln -s /sys/kernel/config/nvmet/subsystems/testnqn /sys/kernel/config/nvmet/ports/1/subsystems/testnqn
# ln -s /sys/kernel/config/nvmet/subsystems/testnqn /sys/kernel/config/nvmet/ports/1/subsystems/testnqn
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
NVMe コントローラーが指定されたポートでリッスンしていて、接続要求の準備ができていることを確認します。
dmesg | grep "enabling port"
# dmesg | grep "enabling port" [ 1091.413648] nvmet_rdma: enabling port 1 (172.31.0.202:4420)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow