<div dir="ltr">Hey guys,<div><br></div><div>So, we&#39;re testing Gluster RDMA storage, and are having some issues. Things are working...just not as we expected them. THere isn&#39;t a whole lot in the way, that I&#39;ve foudn on docs for gluster rdma, aside from basically &quot;install gluster-rdma&quot;, create a volume with transport=rdma, and mount w/ transport=rdma....</div>
<div><br></div><div>I&#39;ve done that...and the IB fabric is known to be good...however, a volume created with transport=rdma,tcp and mounted w/ transport=rdma, still seems to go over tcp? </div><div><br></div><div>A little more info about the setup:</div>
<div><br></div><div>we&#39;ve got 10 storage nodes/bricks, each of which has a single 1GB NIC and a FRD IB port. Likewise for the test clients. Now, the 1GB nic is for management only, and we have all of the systems on this fabric configured with IPoIB, so there is eth0, and ib0 on each node. </div>
<div><br></div><div>All storage nodes are peer&#39;d using the ib0 interface, ie:</div><div><br></div><div>gluster peer probe storage_node01-ib</div><div>etc</div><div><br></div><div>thats all well and good. </div><div><br>
</div><div>Volume was created:</div><div><br></div><div>gluster volume create holyscratch transport rdma,tcp holyscratch01-ib:/holyscratch01/brick<br></div><div>for i in `seq -w 2 10` ; do gluster volume add-brick holyscratch holyscratch${i}-ib:/holyscratch${i}/brick; done<br>
</div><div><br></div><div>yielding:</div><div><br></div><div><div>Volume Name: holyscratch</div><div>Type: Distribute</div><div>Volume ID: 788e74dc-6ae2-4aa5-8252-2f30262f0141</div><div>Status: Started</div><div>Number of Bricks: 10</div>
<div>Transport-type: tcp,rdma</div><div>Bricks:</div><div>Brick1: holyscratch01-ib:/holyscratch01/brick</div><div>Brick2: holyscratch02-ib:/holyscratch02/brick</div><div>Brick3: holyscratch03-ib:/holyscratch03/brick</div>
<div>Brick4: holyscratch04-ib:/holyscratch04/brick</div><div>Brick5: holyscratch05-ib:/holyscratch05/brick</div><div>Brick6: holyscratch06-ib:/holyscratch06/brick</div><div>Brick7: holyscratch07-ib:/holyscratch07/brick</div>
<div>Brick8: holyscratch08-ib:/holyscratch08/brick</div><div>Brick9: holyscratch09-ib:/holyscratch09/brick</div><div>Brick10: holyscratch10-ib:/holyscratch10/brick</div><div>Options Reconfigured:</div><div>nfs.disable: on</div>
</div><div><br></div><div><br></div><div>For testing, we wanted to see how rdma stacked up vs tcp using IPoIB, so we mounted this like:</div><div><br></div><div><div>[root@holy2a01202 holyscratch.tcp]# df -h |grep holyscratch</div>
<div>holyscratch:/holyscratch</div><div>                      273T  4.1T  269T   2% /n/holyscratch.tcp</div><div>holyscratch:/holyscratch.rdma</div><div>                      273T  4.1T  269T   2% /n/holyscratch.rdma</div>
</div><div><br></div><div>so, 2 mounts, same volume different transports. fstab looks like:</div><div><br></div><div><div>holyscratch:/holyscratch        /n/holyscratch.tcp      glusterfs       transport=tcp,fetch-attempts=10,gid-timeout=2,acl,_netdev       0       0</div>
<div>holyscratch:/holyscratch        /n/holyscratch.rdma     glusterfs       transport=rdma,fetch-attempts=10,gid-timeout=2,acl,_netdev      0       0</div></div><div><br></div><div>where holyscratch is a RRDNS entry for all the IPoIB interfaces for fetching the volfile (something it seems, just like peering, MUST be tcp? ) </div>
<div><br></div><div>but, again, when running just dumb,dumb,dumb tests (160 threads of dd over 8 nodes w/ each thread writing 64GB, so a 10TB throughput test), I&#39;m seeing all the traffic on the IPoIB interface for both RDMA and TCP transports...when i really shouldn&#39;t be seeing ANY tcp traffic, aside from volfile fetches/management on the IPoIB interface when using RDMA as a transport...right? As a result, from early tests (the bigger 10TB ones are running now), the tpc and rdma speeds were basically the same...when i would expect the RDMA one to be at least slightly faster...</div>
<div><br></div><div><br></div><div>Oh, and this is all 3.4beta4, on both the clients and storage nodes. </div><div><br></div><div>So, I guess my questions are:</div><div><br></div><div>Is this expected/normal? </div><div>
Is peering/volfile fetching always tcp based? </div><div>How should one peer nodes in a RDMA setup? </div><div>Should this be tried with only RDMA as a transport on the volume? </div><div>Are there more detailed docs for RDMA gluster coming w/ the 3.4 release? </div>
<div><br></div><div><br clear="all"><div><div dir="ltr">--<div>Matthew Nicholson<div>Research Computing Specialist</div><div>Harvard FAS Research Computing</div><div><a href="mailto:matthew_nicholson@harvard.edu" target="_blank">matthew_nicholson@harvard.edu</a></div>
<div><br></div></div></div></div>
</div></div>