<div dir="ltr">Well, first of all,thank for the responses. The volume WAS failing over the tcp just as predicted,though WHY is unclear as the fabric is know working (has about 28K compute cores on it all doing heavy MPI testing on it), and the OFED/verbs stack is consistent across all client/storage systems (actually, the OS image is identical). <div>
<br></div><div>Thats quiet sad RDMA isn&#39;t going to make 3.4. We put a good deal of hopes and effort around planning for 3.4 for this storage systems, specifically for RDMA support (well, with warnings to the team that it wasn&#39;t in/test for 3.3 and that all we could do was HOPE it was in 3.4 and in time for when we want to go live). we&#39;re getting &quot;okay&quot; performance out of IPoIB right now, and our bottle neck actually seems to be the fabric design/layout, as we&#39;re peaking at about 4.2GB/s writing 10TB over 160 threads to this distributed volume. </div>
<div><br></div><div>When it IS ready and in 3.4.1 (hopefully!), having good docs around it, and maybe even a simple printf for the tcp failover would be huge for us. </div><div><br></div><div><br></div></div><div class="gmail_extra">
<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>
<br><br><div class="gmail_quote">On Wed, Jul 10, 2013 at 3:18 AM, Justin Clift <span dir="ltr">&lt;<a href="mailto:jclift@redhat.com" target="_blank">jclift@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi guys,<br>
<br>
As an FYI, from discussion on gluster-devel IRC yesterday, the RDMA code<br>
still isn&#39;t in a good enough state for production usage with 3.4.0. :(<br>
<br>
There are still outstanding bugs with it, and I&#39;m working to make the<br>
Gluster Test Framework able to work with RDMA so we can help shake out<br>
more of them:<br>
<br>
  <a href="http://www.gluster.org/community/documentation/index.php/Using_the_Gluster_Test_Framework" target="_blank">http://www.gluster.org/community/documentation/index.php/Using_the_Gluster_Test_Framework</a><br>
<br>
Hopefully RDMA will be ready for 3.4.1, but don&#39;t hold me to that at<br>
this stage. :)<br>
<br>
Regards and best wishes,<br>
<br>
Justin Clift<br>
<div><div class="h5"><br>
<br>
On 09/07/2013, at 8:36 PM, Ryan Aydelott wrote:<br>
&gt; Matthew,<br>
&gt;<br>
&gt; Personally - I have experienced this same problem (even with the mount being something.rdma). Running 3.4beta4, if I mounted a volume via RDMA that also had TCP configured as a transport option (which obviously you do based on the mounts you gave below), if there is ANY issue with RDMA not working the mount will silently fall back to TCP. This problem is described here: <a href="https://bugzilla.redhat.com/show_bug.cgi?id=982757" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=982757</a><br>

&gt;<br>
&gt; The way to test for this behavior is create a new volume specifying ONLY RDMA as the transport. If you mount this and your RDMA is broken for whatever reason - it will simply fail to mount.<br>
&gt;<br>
&gt; Assuming this test fails, I would then tail the logs for the volume to get a hint of what&#39;s going on. In my case there was an RDMA_CM kernel module that was not loaded which started to matter as of 3.4beta2 IIRC as they did a complete rewrite for this based on poor performance in prior releases. The clue in my volume log file was &quot;no such file or directory&quot; preceded with an rdma_cm.<br>

&gt;<br>
&gt; Hope that helps!<br>
&gt;<br>
&gt;<br>
&gt; -ryan<br>
&gt;<br>
&gt;<br>
&gt; On Jul 9, 2013, at 2:03 PM, Matthew Nicholson &lt;<a href="mailto:matthew_nicholson@harvard.edu">matthew_nicholson@harvard.edu</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hey guys,<br>
&gt;&gt;<br>
&gt;&gt; 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....<br>

&gt;&gt;<br>
&gt;&gt; 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?<br>
&gt;&gt;<br>
&gt;&gt; A little more info about the setup:<br>
&gt;&gt;<br>
&gt;&gt; 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.<br>

&gt;&gt;<br>
&gt;&gt; All storage nodes are peer&#39;d using the ib0 interface, ie:<br>
&gt;&gt;<br>
&gt;&gt; gluster peer probe storage_node01-ib<br>
&gt;&gt; etc<br>
&gt;&gt;<br>
&gt;&gt; thats all well and good.<br>
&gt;&gt;<br>
&gt;&gt; Volume was created:<br>
&gt;&gt;<br>
&gt;&gt; gluster volume create holyscratch transport rdma,tcp holyscratch01-ib:/holyscratch01/brick<br>
&gt;&gt; for i in `seq -w 2 10` ; do gluster volume add-brick holyscratch holyscratch${i}-ib:/holyscratch${i}/brick; done<br>
&gt;&gt;<br>
&gt;&gt; yielding:<br>
&gt;&gt;<br>
&gt;&gt; Volume Name: holyscratch<br>
&gt;&gt; Type: Distribute<br>
&gt;&gt; Volume ID: 788e74dc-6ae2-4aa5-8252-2f30262f0141<br>
&gt;&gt; Status: Started<br>
&gt;&gt; Number of Bricks: 10<br>
&gt;&gt; Transport-type: tcp,rdma<br>
&gt;&gt; Bricks:<br>
&gt;&gt; Brick1: holyscratch01-ib:/holyscratch01/brick<br>
&gt;&gt; Brick2: holyscratch02-ib:/holyscratch02/brick<br>
&gt;&gt; Brick3: holyscratch03-ib:/holyscratch03/brick<br>
&gt;&gt; Brick4: holyscratch04-ib:/holyscratch04/brick<br>
&gt;&gt; Brick5: holyscratch05-ib:/holyscratch05/brick<br>
&gt;&gt; Brick6: holyscratch06-ib:/holyscratch06/brick<br>
&gt;&gt; Brick7: holyscratch07-ib:/holyscratch07/brick<br>
&gt;&gt; Brick8: holyscratch08-ib:/holyscratch08/brick<br>
&gt;&gt; Brick9: holyscratch09-ib:/holyscratch09/brick<br>
&gt;&gt; Brick10: holyscratch10-ib:/holyscratch10/brick<br>
&gt;&gt; Options Reconfigured:<br>
&gt;&gt; nfs.disable: on<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; For testing, we wanted to see how rdma stacked up vs tcp using IPoIB, so we mounted this like:<br>
&gt;&gt;<br>
&gt;&gt; [root@holy2a01202 holyscratch.tcp]# df -h |grep holyscratch<br>
&gt;&gt; holyscratch:/holyscratch<br>
&gt;&gt;                       273T  4.1T  269T   2% /n/holyscratch.tcp<br>
&gt;&gt; holyscratch:/holyscratch.rdma<br>
&gt;&gt;                       273T  4.1T  269T   2% /n/holyscratch.rdma<br>
&gt;&gt;<br>
&gt;&gt; so, 2 mounts, same volume different transports. fstab looks like:<br>
&gt;&gt;<br>
&gt;&gt; holyscratch:/holyscratch        /n/holyscratch.tcp      glusterfs       transport=tcp,fetch-attempts=10,gid-timeout=2,acl,_netdev       0       0<br>
&gt;&gt; holyscratch:/holyscratch        /n/holyscratch.rdma     glusterfs       transport=rdma,fetch-attempts=10,gid-timeout=2,acl,_netdev      0       0<br>
&gt;&gt;<br>
&gt;&gt; where holyscratch is a RRDNS entry for all the IPoIB interfaces for fetching the volfile (something it seems, just like peering, MUST be tcp? )<br>
&gt;&gt;<br>
&gt;&gt; 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...<br>

&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Oh, and this is all 3.4beta4, on both the clients and storage nodes.<br>
&gt;&gt;<br>
&gt;&gt; So, I guess my questions are:<br>
&gt;&gt;<br>
&gt;&gt; Is this expected/normal?<br>
&gt;&gt; Is peering/volfile fetching always tcp based?<br>
&gt;&gt; How should one peer nodes in a RDMA setup?<br>
&gt;&gt; Should this be tried with only RDMA as a transport on the volume?<br>
&gt;&gt; Are there more detailed docs for RDMA gluster coming w/ the 3.4 release?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Matthew Nicholson<br>
&gt;&gt; Research Computing Specialist<br>
&gt;&gt; Harvard FAS Research Computing<br>
&gt;&gt; <a href="mailto:matthew_nicholson@harvard.edu">matthew_nicholson@harvard.edu</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Gluster-users mailing list<br>
&gt;&gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt;&gt; <a href="http://supercolony.gluster.org/mailman/listinfo/gluster-users" target="_blank">http://supercolony.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Gluster-users mailing list<br>
&gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; <a href="http://supercolony.gluster.org/mailman/listinfo/gluster-users" target="_blank">http://supercolony.gluster.org/mailman/listinfo/gluster-users</a><br>
<br>
</div></div>--<br>
Open Source and Standards @ Red Hat<br>
<br>
<a href="http://twitter.com/realjustinclift" target="_blank">twitter.com/realjustinclift</a><br>
<br>
</blockquote></div><br></div>