Menu Close

8.2. configfs를 사용하여 NVMe/RDMA 대상 설정

configfs 를 사용하여 NVMe/RDMA 대상을 구성하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • nvmet 하위 시스템에 할당할 블록 장치가 있는지 확인합니다.

절차

  1. nvmet-rdma 하위 시스템을 생성합니다.

    # modprobe nvmet-rdma
    
    # mkdir /sys/kernel/config/nvmet/subsystems/testnqn
    
    # cd /sys/kernel/config/nvmet/subsystems/testnqn

    testnqn 을 하위 시스템 이름으로 교체합니다.

  2. 모든 호스트가 이 대상에 연결하도록 허용합니다.

    # echo 1 > attr_allow_any_host
  3. 네임스페이스를 구성합니다.

    # mkdir namespaces/10
    
    # cd namespaces/10

    10 을 네임 스페이스 번호로 바꿉니다.

  4. NVMe 장치의 경로를 설정합니다.

    # echo -n /dev/nvme0n1 > device_path
  5. 네임스페이스를 활성화합니다.

    # echo 1 > enable
  6. NVMe 포트를 사용하여 디렉터리를 생성합니다.

    # mkdir /sys/kernel/config/nvmet/ports/1
    
    # cd /sys/kernel/config/nvmet/ports/1
  7. mlx5_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
  8. 대상의 전송 주소를 설정합니다.

    # echo -n 172.31.0.202 > addr_traddr
  9. RDMA를 전송 유형으로 설정합니다.

    # echo rdma > addr_trtype
    
    # echo 4420 > addr_trsvcid
  10. 포트의 주소 제품군을 설정합니다.

    # echo ipv4 > addr_adrfam
  11. 소프트 링크를 생성합니다.

    # 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)

추가 리소스

  • nvme(1) man page