SRP (SCSI RDMA Protocol)은 스토리지를 RDMA를 통해서 다른 서버가 접근하도록 해주는 프로토콜입니다. 주로 infiniband interface를 통해서 고속으로 스토리지를 서버에 연결할 때 사용됩니다. 이를 이용하면, 그리고 스토리지 HW가 infiniband interface를 지원한다면 서버와 스토리지를 연결할 때 16Gbps HBA보다 훨씬 더 빠르고 latency도 낮은 infiniband를 이용할 수 있습니다. IBM의 all-flash storage인 FS900이 스토리지 자체적으로 infiniband interface를 제공합니다. (4-port QDR IB card * 2장)
물론 이를 위해서는 서버도 infiniband driver에서 SRP를 지원해야 합니다. 여기서는 ppc64le, 즉 흔히 Linux on POWER라고 부르는 아키텍처에서도 SRP를 지원하는지, 또 어떻게 설치하는지를 알아 보겠습니다. 여기서는 Redhat 7.3 ppc64le를 썼습니다.
먼저, 아래 Redhat OS package들은 Mellanox OFED libary 설치에 필요한 것이므로 혹시 아직 설치 안되어 있다면 미리 설치해야 합니다.
[root@sys-88164 u0017496]# yum install lsof gcc-gfortran tcsh tk
다음으로, 아래 Mellanox site에서 OFED library를 download 받습니다. Redhat 7.3 ppc64le용과 Ubuntu 16.04 ppc64le용 버전이 각각 준비되어 있습니다.
http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
저는 ISO image 대신 tgz 파일을 선택하여 download 받았습니다.
[root@sys-88164 u0017496]# tar -zxvf MLNX_OFED_LINUX-4.1-1.0.2.0-rhel7.3-ppc64le.tgz
[root@sys-88164 u0017496]# cd MLNX_OFED_LINUX-4.1-1.0.2.0-rhel7.3-ppc64le
그 속에 들어 있는 mlnxofedinstall 명령을 수행하면 됩니다.
[root@sys-88164 MLNX_OFED_LINUX-4.1-1.0.2.0-rhel7.3-ppc64le]# ./mlnxofedinstall
Detected rhel7u3 ppc64le. Disabling installing 32bit rpms...
Logs dir: /tmp/MLNX_OFED_LINUX-4.1-1.0.2.0.1939.logs
Verifying KMP rpms compatibility with target kernel...
This program will install the MLNX_OFED_LINUX package on your machine.
Note that all other Mellanox, OEM, OFED, RDMA or Distribution IB packages will be removed.
Those packages are removed due to conflicts with MLNX_OFED_LINUX, do not reinstall them.
Do you want to continue?[y/N]:y
rpm --nosignature -e --allmatches --nodeps rdma rdma. rdma rdma.
Starting MLNX_OFED_LINUX-4.1-1.0.2.0 installation ...
Installing mlnx-ofa_kernel RPM
Preparing... ########################################
Updating / installing...
mlnx-ofa_kernel-4.1-OFED.4.1.1.0.2.1.g########################################
Configured /etc/security/limits.conf
Installing kmod-mlnx-ofa_kernel 4.1 RPM
Preparing... ########################################
kmod-mlnx-ofa_kernel-4.1-OFED.4.1.1.0.########################################
Installing mlnx-ofa_kernel-devel RPM
Preparing... ########################################
Updating / installing...
mlnx-ofa_kernel-devel-4.1-OFED.4.1.1.0########################################
Installing kmod-kernel-mft-mlnx 4.7.0 RPM
Preparing... ########################################
kmod-kernel-mft-mlnx-4.7.0-1.rhel7u3 ########################################
Installing kernel-mft-mlnx-utils 4.7.0 RPM
Preparing... ########################################
kernel-mft-mlnx-utils-4.7.0-1.rhel7u3 ########################################
Installing knem-mlnx RPM
Preparing... ########################################
Updating / installing...
knem-mlnx-1.1.2.90mlnx2-OFED.4.0.1.6.3########################################
Installing kmod-knem-mlnx 1.1.2.90mlnx2 RPM
Preparing... ########################################
kmod-knem-mlnx-1.1.2.90mlnx2-OFED.4.0.########################################
Installing kmod-iser 4.0 RPM
Preparing... ########################################
kmod-iser-4.0-OFED.4.1.1.0.2.1.gc22af8########################################
Installing kmod-isert 4.0 RPM
Preparing... ########################################
kmod-isert-4.0-OFED.4.1.1.0.2.1.gc22af########################################
Installing mpi-selector RPM
Preparing... ########################################
Updating / installing...
mpi-selector-1.0.3-1.41102 ########################################
Installing user level RPMs:
Preparing... ########################################
ofed-scripts-4.1-OFED.4.1.1.0.2 ########################################
Preparing... ########################################
libibverbs-41mlnx1-OFED.4.1.0.1.1.4110########################################
Preparing... ########################################
libibverbs-devel-41mlnx1-OFED.4.1.0.1.########################################
Preparing... ########################################
libibverbs-devel-static-41mlnx1-OFED.4########################################
Preparing... ########################################
libibverbs-utils-41mlnx1-OFED.4.1.0.1.########################################
Preparing... ########################################
libmlx4-41mlnx1-OFED.4.1.0.1.0.41102 ########################################
Preparing... ########################################
libmlx4-devel-41mlnx1-OFED.4.1.0.1.0.4########################################
Preparing... ########################################
libmlx5-41mlnx1-OFED.4.1.0.1.5.41102 ########################################
Preparing... ########################################
libmlx5-devel-41mlnx1-OFED.4.1.0.1.5.4########################################
Preparing... ########################################
librxe-41mlnx1-OFED.4.1.0.1.7.41102 ########################################
Preparing... ########################################
librxe-devel-static-41mlnx1-OFED.4.1.0########################################
Preparing... ########################################
libibcm-41mlnx1-OFED.4.1.0.1.0.41102 ########################################
Preparing... ########################################
libibcm-devel-41mlnx1-OFED.4.1.0.1.0.4########################################
Preparing... ########################################
libibumad-13.10.2.MLNX20170511.dcc9f7a########################################
Preparing... ########################################
libibumad-devel-13.10.2.MLNX20170511.d########################################
Preparing... ########################################
libibumad-static-13.10.2.MLNX20170511.########################################
Preparing... ########################################
libibmad-1.3.13.MLNX20170511.267a441-0########################################
Preparing... ########################################
libibmad-devel-1.3.13.MLNX20170511.267########################################
Preparing... ########################################
libibmad-static-1.3.13.MLNX20170511.26########################################
Preparing... ########################################
ibsim-0.6mlnx1-0.8.g9d76581.41102 ########################################
Preparing... ########################################
ibacm-41mlnx1-OFED.4.1.0.1.0.41102 ########################################
Preparing... ########################################
librdmacm-41mlnx1-OFED.4.1.0.1.0.41102########################################
Preparing... ########################################
librdmacm-utils-41mlnx1-OFED.4.1.0.1.0########################################
Preparing... ########################################
librdmacm-devel-41mlnx1-OFED.4.1.0.1.0########################################
Preparing... ########################################
opensm-libs-4.9.0.MLNX20170607.280b8f7########################################
Preparing... ########################################
opensm-4.9.0.MLNX20170607.280b8f7-0.1.########################################
Preparing... ########################################
opensm-devel-4.9.0.MLNX20170607.280b8f########################################
Preparing... ########################################
opensm-static-4.9.0.MLNX20170607.280b8########################################
Preparing... ########################################
dapl-2.1.10mlnx-OFED.3.4.2.1.0.41102 ########################################
Preparing... ########################################
dapl-devel-2.1.10mlnx-OFED.3.4.2.1.0.4########################################
Preparing... ########################################
dapl-devel-static-2.1.10mlnx-OFED.3.4.########################################
Preparing... ########################################
dapl-utils-2.1.10mlnx-OFED.3.4.2.1.0.4########################################
Preparing... ########################################
perftest-4.1-0.4.g16dbf63.41102 ########################################
Preparing... ########################################
mstflint-4.7.0-1.6.g26037b7.41102 ########################################
Preparing... ########################################
mft-4.7.0-41 ########################################
Preparing... ########################################
srptools-41mlnx1-4.41102 ########################################
Preparing... ########################################
ibutils2-2.1.1-0.91.MLNX20170612.g2e0d########################################
Preparing... ########################################
ibutils-1.5.7.1-0.12.gdcaeae2.41102 ########################################
Preparing... ########################################
cc_mgr-1.0-0.33.g9bd7c9a.41102 ########################################
Preparing... ########################################
dump_pr-1.0-0.29.g9bd7c9a.41102 ########################################
Preparing... ########################################
ar_mgr-1.0-0.34.g9bd7c9a.41102 ########################################
Preparing... ########################################
ibdump-5.0.0-1.41102 ########################################
Preparing... ########################################
infiniband-diags-1.6.7.MLNX20170511.75########################################
Preparing... ########################################
infiniband-diags-compat-1.6.7.MLNX2017########################################
Preparing... ########################################
qperf-0.4.9-9.41102 ########################################
Preparing... ########################################
mxm-3.6.3102-1.41102 ########################################
Preparing... ########################################
ucx-1.2.2947-1.41102 ########################################
Preparing... ########################################
sharp-1.3.1.MLNX20170625.859dc24-1.411########################################
Preparing... ########################################
hcoll-3.8.1649-1.41102 ########################################
Preparing... ########################################
openmpi-2.1.2a1-1.41102 ########################################
Preparing... ########################################
libibprof-1.1.41-1.41102 ########################################
Preparing... ########################################
mlnx-ethtool-4.2-1.41102 ########################################
Preparing... ########################################
mlnxofed-docs-4.1-1.0.2.0 ########################################
Preparing... ########################################
mpitests_openmpi-3.2.19-acade41.41102 ########################################
Installation finished successfully.
Preparing... ################################# [100%]
Updating / installing...
1:mlnx-fw-updater-4.1-1.0.2.0 ################################# [100%]
Added 'RUN_FW_UPDATER_ONBOOT=no to /etc/infiniband/openib.conf
Updated /usr/share/hwdata/pci.ids
Attempting to perform Firmware update...
No devices found!
To load the new driver, run:
/etc/init.d/openibd restart
제가 테스트하는 이 서버에는 사실 inifiniband adapter가 안 붙어 있기 때문에 위와 같이 No devices found!라는 메시지가 보입니다. 이제 두가지 step만 남았습니다. /etc/infiniband/openib.conf 속에 SRP_LOAD=yes를 넣고, openibd를 restart 하면 됩니다.
[root@sys-88164 u0017496]# vi /etc/infiniband/openib.conf
# Load SRP module
#SRP_LOAD=no
SRP_LOAD=yes
[root@sys-88164 u0017496]# /etc/init.d/openibd restart
Unloading HCA driver: [ OK ]
Loading HCA driver and Access Layer: [ OK ]
이제 lsmod 명령으로, ib_srp 커널 모듈이 올라왔는지 확인하시면 됩니다.
[root@sys-88164 u0017496]# lsmod | grep srp
ib_srp 990 0
mlx_compat 12745 15 rdma_cm,ib_cm,iw_cm,mlx4_en,mlx4_ib,mlx5_ib,ib_srp,ib_ucm,ib_core,ib_umad,ib_uverbs,mlx4_core,mlx5_core,rdma_ucm,ib_ipoib
scsi_transport_srp 18639 1 ibmvscsi
scsi_tgt 16721 1 scsi_transport_srp
보시다시피 잘 올라와 있습니다. 이후는 스토리지 엔지니어에게 맡기시면 됩니다.
댓글 없음:
댓글 쓰기