13.5.5. 원격 Linux SRP 대상에 연결
SCSI RDMA Protocol(SRP)는 시스템이 RDMA를 사용하여 다른 시스템에 연결된 SCSI 장치에 액세스할 수 있는 네트워크 프로토콜입니다. SRP 이니시에이터가 SRP 대상측에서 SRP 대상을 연결할 수 있도록 하려면 이니시에이터에 사용된 호스트 채널 어댑터(HCA) 포트에 대한 ACL(액세스 제어 목록) 항목을 추가해야 합니다.
HCA 포트의 ACL ID는 고유하지 않습니다. ACL ID는 HCA의 GID 형식에 따라 다릅니다. 동일한 드라이버를 사용하는 HCA(예:
ib_qib )는 GID 형식이 다를 수 있습니다. 또한 ACL ID는 연결 요청을 시작하는 방법에 따라 달라집니다.
원격 Linux SRP 대상에 연결: 상위 수준 개요
- 대상 측면을 준비합니다.
- 스토리지 백엔드 생성. 예를 들어 /dev/sdc1 파티션을 가져옵니다.
/> /backstores/block create vol1 /dev/sdc1
/> /backstores/block create vol1 /dev/sdc1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SRP 대상을 생성합니다.
/> /srpt create 0xfe80000000000000001175000077dd7e
/> /srpt create 0xfe80000000000000001175000077dd7eCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 단계에서 생성된 백엔드를 기반으로 LUN을 생성합니다.
/> /srpt/ib.fe80000000000000001175000077dd7e/luns create /backstores/block/vol1
/> /srpt/ib.fe80000000000000001175000077dd7e/luns create /backstores/block/vol1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 원격 SRP 클라이언트에 대한 노드 ACL을 생성합니다.Node ACL은
/> /srpt/ib.fe80000000000000001175000077dd7e/acls create 0x7edd770000751100001175000077d708
/> /srpt/ib.fe80000000000000001175000077dd7e/acls create 0x7edd770000751100001175000077d708Copy to Clipboard Copied! Toggle word wrap Toggle overflow srp_daemon 및에 대해 다릅니다.ibsrpdm
- 클라이언트 측의 경우
srp_daemon또는ibsrpdm로 SRP 연결을 시작합니다.srp_daemon -e -n -i qib0 -p 1 -R 60 &
[root@initiator]# srp_daemon -e -n -i qib0 -p 1 -R 60 &Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibsrpdm -c -d /dev/infiniband/umad0 > /sys/class/infiniband_srp/srp-qib0-1/add_target
[root@initiator]# ibsrpdm -c -d /dev/infiniband/umad0 > /sys/class/infiniband_srp/srp-qib0-1/add_targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택사항입니다.
lsscsi또는dmesg와 같은 다양한 도구를 사용하여 SRP 연결을 확인하는 것이 좋습니다.
절차 13.3. srp_daemon 또는 ibsrpdm을 사용하여 원격 Linux SRP 대상에 연결
- 대상에 ibstat 명령을 사용하여
상태및포트 GUID값을 확인합니다. HCA는Active상태여야 합니다. ACL ID는Port GUID를 기반으로 합니다:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - HCA 포트 GUID를 기반으로 하는 SRP 대상 ID를 가져옵니다. 전용 디스크 파티션이 SRP 대상의 백엔드로 필요합니다(예:
/dev/sdc1). 다음 명령은 기본 접두사 fe80을 교체하고 콜론을 제거하고 새 접두사를 문자열의 나머지 부분에 추가합니다.ibstatus | grep '<default-gid>' | sed -e 's/<default-gid>://' -e 's/://g' | grep 001175000077dd7e fe80000000000000001175000077dd7e
[root@target]# ibstatus | grep '<default-gid>' | sed -e 's/<default-gid>://' -e 's/://g' | grep 001175000077dd7e fe80000000000000001175000077dd7eCopy to Clipboard Copied! Toggle word wrap Toggle overflow targetcli도구를 사용하여 블록 장치에 LUN vol1을 생성하고 SRP 대상을 생성하고 LUN을 내보냅니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이니시에이터에서 ibstat 명령을 사용하여 상태가
Active인지 확인하고Port GUID:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 원격 SRP 대상에 연결하지 않고 스캔하려면 다음 명령을 사용합니다. 대상 GUID는 이니시에이터가 원격 타겟을 찾았음을 보여줍니다. ID 문자열은 원격 타겟이 Linux 소프트웨어 대상(ib
_srpt.ko)임을 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SRP 연결을 확인하려면 lsscsi 명령을 사용하여 SCSI 장치를 나열하고 이니시에이터가 대상에 연결되기 전후에 lsscsi 출력을 비교합니다.
lsscsi [0:0:10:0] disk IBM-ESXS ST9146803SS B53C /dev/sda
[root@initiator]# lsscsi [0:0:10:0] disk IBM-ESXS ST9146803SS B53C /dev/sdaCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 실패할 것으로 예상되는 이니시에이터 포트에 유효한 ACL을 구성하지 않고 원격 대상에 연결하려면
srp_daemon 또는:에 대해 다음 명령을 사용합니다.ibsrpdmsrp_daemon -e -n -i qib0 -p 1 -R 60 & [1] 4184
[root@initiator]# srp_daemon -e -n -i qib0 -p 1 -R 60 & [1] 4184Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibsrpdm -c -d /dev/infiniband/umad0 > /sys/class/infiniband_srp/srp-qib0-1/add_target
[root@initiator]# ibsrpdm -c -d /dev/infiniband/umad0 > /sys/class/infiniband_srp/srp-qib0-1/add_targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow - dmesg 의 출력은 SRP 연결 작업이 실패한 이유를 보여줍니다. 이후 단계에서 대상측의 dmesg 명령을 사용하여 상황을 명확하게 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - LOGIN 실패로 인해 lsscsi 명령의 출력은 이전 단계와 동일합니다.
lsscsi [0:0:10:0] disk IBM-ESXS ST9146803SS B53C /dev/sda
[root@initiator]# lsscsi [0:0:10:0] disk IBM-ESXS ST9146803SS B53C /dev/sdaCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 대상측(ib
_srpt.ko)에서 dmesg 를 사용하면 LOGIN이 실패한 이유에 대한 설명이 제공됩니다. 또한 출력에는srp_daemon에서 제공하는 유효한 ACL ID가 포함되어 있습니다 :0x7edd770000751100001175000077d708.dmesg [ 1200.303001] ib_srpt Received SRP_LOGIN_REQ with i_port_id 0x7edd770000751100:0x1175000077d708, t_port_id 0x1175000077dd7e:0x1175000077dd7e and it_iu_len 260 on port 1 (guid=0xfe80000000000000:0x1175000077dd7e) [ 1200.322207] ib_srpt Rejected login because no ACL has been configured yet for initiator 0x7edd770000751100001175000077d708.
[root@target]# dmesg [ 1200.303001] ib_srpt Received SRP_LOGIN_REQ with i_port_id 0x7edd770000751100:0x1175000077d708, t_port_id 0x1175000077dd7e:0x1175000077dd7e and it_iu_len 260 on port 1 (guid=0xfe80000000000000:0x1175000077dd7e) [ 1200.322207] ib_srpt Rejected login because no ACL has been configured yet for initiator 0x7edd770000751100001175000077d708.Copy to Clipboard Copied! Toggle word wrap Toggle overflow targetcli도구를 사용하여 유효한 ACL을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SRP 로그인 작업을 확인합니다.
srp_daemon이 다시 로그인할 수 있도록 60초 동안 기다립니다.sleep 60
[root@initiator]# sleep 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SRP 로그인 작업을 확인합니다.
lsscsi [0:0:10:0] disk IBM-ESXS ST9146803SS B53C /dev/sda [7:0:0:0] disk LIO-ORG vol1 4.0 /dev/sdb
[root@initiator]# lsscsi [0:0:10:0] disk IBM-ESXS ST9146803SS B53C /dev/sda [7:0:0:0] disk LIO-ORG vol1 4.0 /dev/sdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow - SRP 대상 검색의 커널 로그의 경우 다음을 사용합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow