Infiniband RHEL7, NFS RDMA 설정 및 도움말

Infiniband RHEL7, NFS RDMA 설정 및 도움말

내가 잘못하고 있거나 누락된 부분에 대해 누군가 도움을 줄 수 있기를 바랍니다.

  • 3개의 테스트 서버(호스트 이름 node1..3)가 있으며 각 서버에는 Mellanox MT28908 시리즈 인피니밴드 카드, 모델 CX653105A가 장착되어 있습니다.
  • Mellanox HDR 인피니밴드 스위치 QM8700이 있습니다.
  • RHEL 7.9를 실행하는 모든 서버에서 커널 3.10.0-1160.49.1.el7.x86_64
  • Access_Redhat 스토리지 관리 가이드, 8.6을 참조하세요.NFS 서버 구성.
  • systemctl disable firewalld; service firewalld stop
  • selinux는 /etc/selinux/config.
  • 이미 MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.9-x86_64.iso(362Mb)를 다음에서 다운로드했습니다.https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed;그리고 각 node1, node2, node3에 설치됩니다.
    • mount -o loop MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.9-x86_64.iso /mlx;
    • 달리기/mlx/mlnxofedinstall
    • 작업을 수행하고 모든 프롬프트에 '예'라고 답하면 호환되지 않는다고 말하는 기존 rhel ofed 항목을 제거합니다.
    • chkconfig opensm on그리고 openibd.service=enabled3개 노드 모두에서.
    • 재시작
  • ib0시스템 도구-설정-네트워크 아래의 GUI를 통해 네트워크를 구성합니다.
  • ib0 전송 모드 = 데이터그램; MTU = 자동, ipv4 주소 설정 = 무시.
  • /etc/hosts3개의 테스트 서버 중 node1, node2, node3의 IP 주소를 추가하도록 수동으로 편집했습니다 : 172.16.2.{1,2,3}
  • 인피니밴드 네트워크는 이들 3개의 서버와 스위치 사이에 물리적으로 연결된 유일한 네트워크입니다.
  • 인피니밴드 네트워크를 통해 ping과 ssh 또는 scp를 성공적으로 수행할 수 있습니다.
  • /etc/sysconfig/nfs모든 노드에서 동일하며 파일이 아래에 나열됩니다.
  • 노드 1에서: /etc/exports: /scratch *(rw,async,no_root_squash)nfs.service=enabled
  • 노드 2 또는 노드 3: mount node1:/scratch /scratch유효함
  • 노드 2 또는 노드 3: mount -o rdma,port=20049 node1:/scratch /scratch결과mount.nfs: 마운트 시스템 호출 실패
  • /etc/rdma/mlx4.conf수정하지 않은 파일이 있습니다 .
  • 아니요, /etc/rdma/rmda.conf하지만 하나 있습니다 /etc/rdma/modules/rdma.conf.
  • 나는 ln -s /etc/rdma/modules/rdma.conf /etc/rdma/rdma.conf그것이 필요한지 확신하지 못했습니다.
  • 그 안에 있는 모든 줄(서비스)의 주석 처리를 제거했습니다. 구문이 다른 것 같습니다. 필요한 경우 이 파일을 게시할 수 없습니다.
  • /var/log/messages이것을 시도한 후에 이것이 중요한지 확실하지 않습니다 mount -o proto=rdma.Request for unknown module key Mellanox Technologies signing key <40 hex chars> err -11

전송 프로토콜을 다음으로 설정해 보았습니다.연결됨두 노드의 "System-Tools-Settings-Network"에서 꺼짐/켜짐이 꺼지고 계속 켜져 있지 않으며 ip aib0이 연결되어 있지만 IP 주소가 없고 둘 사이에 네트워크 연결이 없는 것으로 표시됩니다. .

질문:

  1. RDMA를 통해 NFS를 구현하려면 전송 모드를 DATAGRAM 또는 CONNECTED로 설정해야 합니까?
  2. 하나를 위해기초적인 전송 제어 프로토콜인피니밴드 네트워크를 통해 작업을 시작할 수 있는 것처럼 위에서 설명한 내용이 맞습니까? 내가 뭔가를 놓쳤거나 뭔가 잘못했나요? 모든 서버에서 실행되는 것이 opensm맞습니까 ?
  3. mount -o rdma node1:/scratch /scratchNFS=RDMA가 작동하도록 다른 모든 것이 올바르게 구성되어 있다면 그게 전부입니다.
  4. NFS+RDMA가 실제로 작동한다면 소규모 네트워크 사이에 ssh 또는 scp가 가능한 공통 tcp 유형 네트워크가 여전히 존재합니까?
  5. A는 systemctl list-unit-files | grep nfs13개의 다른 것을 보여줍니다 nfs-xxx.service. 다른 항목(blkmap, config, idmap, lock, mountd, rquotad, server, lock)을 활성화해야 합니까?
  6. selinux=enforcing에 문제가 있나요?

--

My /etc/sysconfig/nfs  file on each server

#LOCKDARG=
#RPCNFSDCOUNT=16
#NFSD_V4_GRACE=90
#NFSD_V4_LEASE=90
RPCMOUNTDOPTS=""
STATDARG=""
#STATD_HA_CALLOUT="/usr/local/bin/foo"
SMNOTIFYARGS=""
RPCIDMAPDARGS=""
RPCGSSDARGS=""
GSS_USE_PROXY="yes"
BLKMAPDARGS=""

RPCNFSDARGS="--rdma=20049"
STATD_PORT=4001
STATD_OUTGOING_PORT=4002
MOUNTD_PORT=4003
LOCKD_TCPPORT=4004
LOCKD_UDPPORT=4004

답변1

내가 이해하게 된 것은 둘 사이에 불일치가 있는 것 같다는 것입니다.MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.9-x86_64.iso 그리고 systemctl rdma.service. MLNX iso를 설치하면 해당 작업을 수행하고 수행하는 모든 항목을 설치할 때 Redhat 버전을 제거하고 자체 버전으로 교체하므로 rdma-core-22.4-6.el7_9.x86_64더 이상 rdma.service.

rdma.serviceRedhat 서비스 티켓의 도움을 받아 MLNX iso 설치 경로를 따라갔기 때문이 아니라 그것이 제대로 작동하는지 확인할 수 있었습니다 .

DVD에서 RHEL 7.9를 다시 설치하고 Infiniband Support패키지를 선택했는데 재부팅 후 기본적으로 인피니밴드 네트워크가 작동하기 시작했습니다... opensm설치 및 실행 중이었습니다.

/etc/rdma/rdma.conf거기에서 모든 서비스가 "예"인지 확인하는 것이 중요합니다 SVCRDMA_LOAD. TECH_PREVIEW_LOADNo.로 유지 됩니다 .

방화벽에서 nfs4용 포트 2049와 rdma용 포트 20049를 엽니다.

편집 /etc/sysconfig/nfs및 변경만 가능

RPCNFSARGS='--rdma=20049'

nfs-client의 mount 명령은 다음과 같습니다.

mount    -o rdma,port=20049    server:/scratch    /scratch

또한 인피니밴드를 작동시키기 위해 MLNX isos를 사용하는 서버와 MLNX isos를 사용하지 않고 redhat infiniband 패키지를 사용하는 서버 사이에서 비호환성과 실패한 nfs 설치를 관찰했습니다. 그래서 MLNX가 모든 곳에서 사용되거나 전혀 사용되지 않는 것 같습니다. MLNX iso만 사용하여 설치된 inifiniband 카드에 대한 펌웨어 업데이트를 허용하고 설치하려는 다른 모든 항목은 거부합니다. 나는 약간 다르게 작동하고 openibd 등을 사용한다고 말하는 MLNX 문서를 본 것 같지만 작동하기 어렵다는 것이 밝혀졌습니다.

nfs v4.1만 작동시킬 수 있습니다. /etc/nfs.conf에서는 nfs4.2를 사용할 수 있다고 언급하고 있으며 Redhat에서는 이를 활성화하는 방법에 대한 기사도 있지만 성공하지 못했습니다.

관련 정보