이 절에서는 InfiniBand 물리적 및 가상 기능을 식별하고 InfiniBand 물리적 기능과 가상 기능의 Logical Domains Manager 및 Oracle Solaris 뷰를 상관시키는 방법에 대해 설명합니다.
다음 예에서는 /SYS/MB/RISER1/PCIE4/IOVIB.PF0 물리적 기능에 대한 정보를 표시할 수 있는 여러 가지 방법을 보여줍니다. IOVIB 문자열을 포함하는 물리적 기능 이름은 InfiniBand SR-IOV 장치임을 나타냅니다.
primary# ldm list-io NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ pci_0 BUS pci_0 primary IOV niu_0 NIU niu_0 primary /SYS/MB/RISER0/PCIE0 PCIE pci_0 primary EMP /SYS/MB/RISER1/PCIE1 PCIE pci_0 primary EMP /SYS/MB/RISER2/PCIE2 PCIE pci_0 primary EMP /SYS/MB/RISER0/PCIE3 PCIE pci_0 primary OCC /SYS/MB/RISER1/PCIE4 PCIE pci_0 primary OCC /SYS/MB/RISER2/PCIE5 PCIE pci_0 primary EMP /SYS/MB/SASHBA0 PCIE pci_0 primary OCC /SYS/MB/SASHBA1 PCIE pci_0 primary OCC /SYS/MB/NET0 PCIE pci_0 primary OCC /SYS/MB/NET2 PCIE pci_0 primary OCC /SYS/MB/RISER0/PCIE3/IOVIB.PF0 PF pci_0 primary /SYS/MB/RISER1/PCIE4/IOVIB.PF0 PF pci_0 primary /SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary /SYS/MB/NET0/IOVNET.PF1 PF pci_0 primary /SYS/MB/NET2/IOVNET.PF0 PF pci_0 primary /SYS/MB/NET2/IOVNET.PF1 PF pci_0 primary /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF0 VF pci_0 primary /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF1 VF pci_0 primary /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF2 VF pci_0 iodom1 /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF3 VF pci_0 iodom1 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 VF pci_0 primary /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 VF pci_0 primary /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 iodom1 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3 VF pci_0 iodom1
ldm list-io -l 명령은 지정된 물리적 기능 장치 /SYS/MB/RISER1/PCIE4/IOVIB.PF0에 대한 보다 자세한 정보를 제공합니다. maxvfs 값은 물리적 장치가 지원하는 최대 가상 기능 수가 64개임을 보여줍니다. 물리적 기능과 연관된 각 가상 기능에 대해 출력은 다음을 보여줍니다.
기능 이름
기능 유형
버스 이름
도메인 이름
선택적 기능 상태
장치 경로
이 ldm list-io -l 출력은 VF0 및 VF1이 primary 도메인에 지정되었으며 VF2 및 VF3이 iodom1 I/O 도메인에 지정되었음을 보여줍니다.
primary# ldm list-io -l /SYS/MB/RISER1/PCIE4/IOVIB.PF0 NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ /SYS/MB/RISER1/PCIE4/IOVIB.PF0 PF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0] maxvfs = 64 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,1] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,2] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,3] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,4]
이 절에서는 InfiniBand SR-IOV 장치를 식별하는 방법을 설명합니다.
ldm list-io -l 명령을 사용하여 각 물리적 기능 및 가상 기능과 연관된 Oracle Solaris 장치 경로 이름을 표시할 수 있습니다.
primary# ldm list-io -l /SYS/MB/RISER1/PCIE4/IOVIB.PF0 NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ /SYS/MB/RISER1/PCIE4/IOVIB.PF0 PF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0] maxvfs = 64 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,1] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,2] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,3] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,4]
dladm show-phys -L 명령을 사용하여 각 IPoIB(IP over InfiniBand) 인스턴스를 물리적 카드에 일치시킬 수 있습니다. 예를 들어, 다음 명령은 슬롯 PCIE4에 이전 ldm list-io -l 예에서와 동일한 카드를 사용하는 IPoIB 인스턴스를 보여줍니다.
primary# dladm show-phys -L | grep PCIE4 net5 ibp0 PCIE4/PORT1 net6 ibp1 PCIE4/PORT2 net19 ibp8 PCIE4/PORT1 net9 ibp9 PCIE4/PORT2 net18 ibp4 PCIE4/PORT1 net11 ibp5 PCIE4/PORT2
각 InfiniBand HCA(호스트 채널 어댑터) 장치에는 GUID(전역적으로 고유한 ID)가 있습니다. 각 포트에 대해서도 GUID가 있습니다. 일반적으로 HCA에 대해 2개의 포트가 있습니다. InfiniBand HCA GUID는 어댑터를 고유하게 식별합니다. 포트 GUID는 각 HCA 포트를 고유하게 식별하고 네트워크 장치의 MAC 주소와 유사한 역할을 수행합니다. 이러한 16진수 GUID는 InfiniBand 관리 도구 및 진단 도구에서 사용됩니다.
dladm show-ib 명령을 사용하여 InfiniBand SR-IOV 장치에 대한 GUID 정보를 얻을 수 있습니다. 동일한 장치에 대한 물리적 기능 및 가상 기능에는 관련된 HCA GUID 값이 있습니다. HCA GUID의 11번째 16진수는 물리적 기능과 가상 기능 간의 관계를 보여줍니다. HCAGUID 및 PORTGUID 열에서는 선행 0이 숨겨집니다.
예를 들어, 물리적 기능 PF0에는 primary 도메인에 지정된 2개의 가상 기능인 VF0과 VF1이 있습니다. 각 가상 기능의 11번째 16진수는 관련된 물리적 기능에서 1씩 증분됩니다. 따라서 PF0에 대한 GUID가 8이면 VF0 및 VF1에 대한 GUID는 각각 9와 A가 됩니다.
다음 dladm show-ib 명령 출력은 net5 및 net6 링크가 물리적 기능 PF0에 속해 있음을 보여줍니다. net19 및 net9 링크는 동일한 장치의 VF0에 속하며, net18 및 net11 링크는 VF1에 속합니다.
primary# dladm show-ib LINK HCAGUID PORTGUID PORT STATE PKEYS net6 21280001A17F56 21280001A17F58 2 up FFFF net5 21280001A17F56 21280001A17F57 1 up FFFF net19 21290001A17F56 14050000000001 1 up FFFF net9 21290001A17F56 14050000000008 2 up FFFF net18 212A0001A17F56 14050000000002 1 up FFFF net11 212A0001A17F56 14050000000009 2 up FFFF
다음 dladm show-phys 출력의 장치는 링크 간의 관계 및 원래 InfiniBand 포트 장치(ibpX)를 보여줍니다.
primary# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE ... net6 Infiniband up 32000 unknown ibp1 net5 Infiniband up 32000 unknown ibp0 net19 Infiniband up 32000 unknown ibp8 net9 Infiniband up 32000 unknown ibp9 net18 Infiniband up 32000 unknown ibp4 net11 Infiniband up 32000 unknown ibp5
ls -l 명령을 사용하여 실제 IB 포트(InfiniBand 포트) 장치 경로를 표시할 수 있습니다. IB 포트 장치는 ldm list-io -l 출력에 표시된 장치 경로의 하위입니다. 물리적 기능의 단위 주소는 한 부분(예: pciex15b3,673c@0)이며 가상 기능의 단위 주소는 두 부분(예: pciex15b3,1002@0,2)입니다. 단위 주소의 두번째 부분은 가상 기능 번호보다 1이 큽니다. 이 예에서는 두번째 구성 요소가 2이므로 이 장치는 가상 기능 1입니다. 다음 출력은 /dev/ibp0이 물리적 기능이며 /dev/ibp5가 가상 기능임을 보여줍니다.
primary# ls -l /dev/ibp0 lrwxrwxrwx 1 root root 83 Apr 18 12:02 /dev/ibp0 -> ../devices/pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0/hermon@0/ibport@1,0,ipib:ibp0 primary# ls -l /dev/ibp5 lrwxrwxrwx 1 root root 85 Apr 22 23:29 /dev/ibp5 -> ../devices/pci@400/pci@1/pci@0/pci@0/pciex15b3,1002@0,2/hermon@3/ibport@2,0,ipib:ibp5
OpenFabrics ibv_devices 명령을 사용하여 OpenFabrics 장치 이름 및 노드 (HCA) GUID를 확인할 수 있습니다. 가상 기능이 있을 경우 Type 열은 기능이 물리적인지 아니면 가상인지 나타냅니다.
primary# ibv_devices device node GUID type ------ ---------------- ---- mlx4_4 0002c90300a38910 PF mlx4_5 0021280001a17f56 PF mlx4_0 0002cb0300a38910 VF mlx4_1 0002ca0300a38910 VF mlx4_2 00212a0001a17f56 VF mlx4_3 0021290001a17f56 VF