Glusterfs volume-ot szeretnék RDMA (RoCE) transporttal összehozni, de nem akar működni. Két host-os tesztrendszer van jelenleg, mindkettőben 1-1 Mellanox kártya (ConnectX-3 EN MCX314A-BCBT). Switchen a pfc config oké, de amúgy tesztelek direkt linkkel is. Firmwarek frissek, OFED driver szintén, up2date Centos 7.6 mindkét gépen (selinux és firewall kikapcsolva).
RDMA tesztek:
# rping -c -a $server_address -C 3 -v
ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
client DISCONNECT EVENT...
# ib_send_bw -d mlx4_0 -i 1 -F --report_gbits 10.11.12.221
---------------------------------------------------------------------------------------
Send BW Test
Dual-port : OFF Device : mlx4_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
TX depth : 128
CQ Moderation : 100
Mtu : 2048[B]
Link type : Ethernet
GID index : 1
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0000 QPN 0x022f PSN 0x45e802
GID: 00:00:00:00:00:00:00:00:00:00:255:255:10:11:12:222
remote address: LID 0000 QPN 0x12c7 PSN 0xda3203
GID: 00:00:00:00:00:00:00:00:00:00:255:255:10:11:12:221
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 1000 38.05 38.05 0.072569
---------------------------------------------------------------------------------------
Ezek alapján nekem a RoCE működőnek tűnik.
Gluster:
Glusterfs 6.1, "centos-release-gluster" repo-ból.
# gluster peer probe host2
peer probe: success.
(A "host2" host megfelelően feloldható, a hozzá tartozó forgalom a Mellanoxon megy, gluster peer status kimenete mindkét oldalon ok.)
# gluster volume create gvol0 replica 2 transport rdma host1:/data/nvme1n1 host1:/data/nvme2n1 host1:/data/nvme3n1 host1:/data/nvme4n1 host2:/data/nvme1n1 host2:/data/nvme2n1 host2:/data/nvme3n1 host2:/data/nvme4n1 force
volume create: gvol0: success: please start the volume to access data
Eddig jó, innét jön a baj:
# gluster volume start gvol0
Connection failed. Please check if gluster daemon is operational.
Majd mindkét oldalon crashel a gluster, amíg kézzel nem gyomlálom ki a volume-ot. Releváns glusterd.log részlet itt: pastebin
Eközben a glustershd.log-ban folyamatosan ezt látom:
[2019-05-08 09:27:32.910465] W [MSGID: 103071] [rdma.c:1277:gf_rdma_cm_event_handler] 0-gvol0-client-5: cma event RDMA_CM_EVENT_REJECTED, error 8 (me:$local_ip:49151 peer:$remote_ip:24008)
Ami nyilván érthető, hiszen elcrashelt a process, így a megadott porton nem figyel semmi.
Én rontok el valamit, vagy mehet egy bugreport?
TCP-n oké minden amúgy.