15장. NVMe/RDMA를 사용하여 패브릭을 통해 NVMe 구성
NVMe(Non-volatile Memory Express™) over RDMA(NVMe™/RDMA) 설정에서 NVMe 컨트롤러와 NVMe 이니시에이터를 구성합니다.
15.1. configfs를 사용하여 NVMe/RDMA 컨트롤러 설정 링크 복사링크가 클립보드에 복사되었습니다!
configfs 를 사용하여 RDMA(NVMe™/RDMA)를 통해 NVMe(Non-volatile Memory Express™) 컨트롤러를 구성할 수 있습니다.
사전 요구 사항
-
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/10네임스페이스 번호로 10 을 바꿉니다.
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_ib0 8: 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)