<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Ok, good - I had that right. In that case the bricks each need to mount the volume. I mounted the volume on each brick to itself (localhost) so they would not depend on each other re: mounting.&nbsp;</div><div>But I am back to square one on the high CPU load / slow write speed issue. I'll try a test volume with a single node as brick and client to try any rule out anything network-related, though my network is performing well in every other way.<br><br>Thanks,<br><div><div>Mike C.</div></div></div><div><br>On Feb 14, 2013, at 12:31 PM, Bryan Whitehead &lt;<a href="mailto:driver@megahappy.net">driver@megahappy.net</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Yea, only write to the glusterfs mountpoint. Writing directly to the bricks is bad and shouldn't be done.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Feb 14, 2013 at 11:58 AM, Michael Colonno <span dir="ltr">&lt;<a href="mailto:mcolonno@stanford.edu" target="_blank">mcolonno@stanford.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Good place to start: do the bricks have to be clients as well? In other words if I copy a file to a Gluster brick without going through a glusterfs or NFS mount will that disrupt the parallel file system? I assumed files need to be routed through a glusterfs mount point for Gluster to be able to track them(?) What's recommended for bricks which also need i/o to the entire volume?<br>

<br>
Thanks,<br>
Mike C.<br>
<div class="HOEnZb"><div class="h5"><br>
On Feb 14, 2013, at 10:28 AM, harry mangalam &lt;<a href="mailto:harry.mangalam@uci.edu">harry.mangalam@uci.edu</a>&gt; wrote:<br>
<br>
&gt; While I don't understand your 'each brick system also being a client' setup -<br>
&gt; you mean that each gluster brick is a native gluster client as well? &nbsp;And that<br>
&gt; is where much of your gluster access is coming from? &nbsp;That seems .. suboptimal<br>
&gt; if that's the setup. &nbsp;Is there a reason for that setup?<br>
&gt;<br>
&gt; We have a distributed-only glusterfs feeding a medium cluster over a similar<br>
&gt; same setup QDR IPoIB with 4 servers with 2 bricks each. &nbsp;On a fairly busy<br>
&gt; system (~80MB/s background), I can get about 100-300MB/s writes to the gluster<br>
&gt; fs on a large 1.7GB file. &nbsp;(With tiny writes, the perf decreases<br>
&gt; dramatically).<br>
&gt;<br>
&gt; Here is my config: (if anyone spies something that I should change to increase<br>
&gt; my perf, please feel free to point out my mistake)<br>
&gt;<br>
&gt; gluster:<br>
&gt; Volume Name: gl<br>
&gt; Type: Distribute<br>
&gt; Volume ID: 21f480f7-fc5a-4fd8-a084-3964634a9332<br>
&gt; Status: Started<br>
&gt; Number of Bricks: 8<br>
&gt; Transport-type: tcp,rdma<br>
&gt; Bricks:<br>
&gt; Brick1: bs2:/raid1<br>
&gt; Brick2: bs2:/raid2<br>
&gt; Brick3: bs3:/raid1<br>
&gt; Brick4: bs3:/raid2<br>
&gt; Brick5: bs4:/raid1<br>
&gt; Brick6: bs4:/raid2<br>
&gt; Brick7: bs1:/raid1<br>
&gt; Brick8: bs1:/raid2<br>
&gt; Options Reconfigured:<br>
&gt; performance.write-behind-window-size: 1024MB<br>
&gt; performance.flush-behind: on<br>
&gt; performance.cache-size: 268435456<br>
&gt; nfs.disable: on<br>
&gt; performance.io-cache: on<br>
&gt; performance.quick-read: on<br>
&gt; performance.io-thread-count: 64<br>
&gt; auth.allow: 10.2.*.*,10.1.*.*<br>
&gt;<br>
&gt; my RAID6s (via 3ware 9750s) are mounted with the following options<br>
&gt;<br>
&gt; /dev/sdc /raid1 xfs rw,noatime,sunit=512,swidth=8192,allocsize=32m 0 0<br>
&gt; /dev/sdd /raid2 xfs rw,noatime,sunit=512,swidth=7680,allocsize=32m 0 0<br>
&gt; (and should probably be using 'nobarrier,inode64' as well. - testing this now)<br>
&gt;<br>
&gt; There are some good refs on prepping XFS fs for max perf here:<br>
&gt; &lt;<a href="http://www.mythtv.org/wiki/Optimizing_Performance#XFS-Specific_Tips" target="_blank">http://www.mythtv.org/wiki/Optimizing_Performance#XFS-Specific_Tips</a>&gt;<br>
&gt; The script at:<br>
&gt; &lt;<a href="http://www.mythtv.org/wiki/Optimizing_Performance#Further_Information" target="_blank">http://www.mythtv.org/wiki/Optimizing_Performance#Further_Information</a>&gt;<br>
&gt; can help to setup the sunit/swidth options.<br>
&gt; &lt;<a href="http://www.mysqlperformanceblog.com/2011/12/16/setting-up-xfs-the-simple-" target="_blank">http://www.mysqlperformanceblog.com/2011/12/16/setting-up-xfs-the-simple-</a><br>
&gt; edition/&gt;<br>
&gt; Your ib interfaces should be using large mtus (65536)<br>
&gt;<br>
&gt; hjm<br>
&gt;<br>
&gt; On Wednesday, February 13, 2013 10:35:12 PM Michael Colonno wrote:<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;More data: I got the Infiniband network (QDR) working well and<br>
&gt;&gt; switched my gluster volume to the Infiniband fabric (IPoIB, not RDMA since<br>
&gt;&gt; it doesn't seem to be supported yet for 3.x). The filesystem was slightly<br>
&gt;&gt; faster but still well short of what I would expect by a wide margin. Via an<br>
&gt;&gt; informal test (timing the movement of a large file) I'm getting several MB/s<br>
&gt;&gt; - well short of even a standard Gb network copy. With the faster network<br>
&gt;&gt; the CPU load on the brick systems increased dramatically: now I'm seeing<br>
&gt;&gt; 200%-250% usage by glusterfsd and glusterfs.<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This leads me to believe that gluster is really not enjoying my<br>
&gt;&gt; eight-brick, 2x replication volume with each brick system also being a<br>
&gt;&gt; client. I tried a rebalance but no measurable effect. Any suggestions for<br>
&gt;&gt; improving the performance? Having each brick be a client of itself seemed<br>
&gt;&gt; the most logical choice to remove interdependencies but now I'm doubting the<br>
&gt;&gt; setup.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Thanks,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;~Mike C.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; From: <a href="mailto:gluster-users-bounces@gluster.org">gluster-users-bounces@gluster.org</a><br>
&gt;&gt; [mailto:<a href="mailto:gluster-users-bounces@gluster.org">gluster-users-bounces@gluster.org</a>] On Behalf Of Joe Julian<br>
&gt;&gt; Sent: Sunday, February 03, 2013 11:47 AM<br>
&gt;&gt; To: <a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>
&gt;&gt; Subject: Re: [Gluster-users] high CPU load on all bricks<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 02/03/2013 11:22 AM, Michael Colonno wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Having taken a lot more data it does seem the glusterfsd and<br>
&gt;&gt; glusterd processes (along with several ksoftirqd) spike up to near 100% on<br>
&gt;&gt; both client and brick servers during any file transport across the mount.<br>
&gt;&gt; Thankfully this is short-lived for the most part but I'm wondering if this<br>
&gt;&gt; is expected behavior or what others have experienced(?) I'm a little<br>
&gt;&gt; surprised such a large CPU load would be required to move small files and /<br>
&gt;&gt; or use an application within a Gluster mount point.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; If you're getting ksoftirqd spikes, that sounds like a hardware issue to me.<br>
&gt;&gt; I never see huge spikes like that on my servers nor clients.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;I wanted to test this against an NFS mount of the same Gluster<br>
&gt;&gt; volume. I managed to get rstatd installed and running but my attempts to<br>
&gt;&gt; mount the volume via NFS are met with:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mount.nfs: requested NFS version or transport protocol is not<br>
&gt;&gt; supported<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Relevant line in /etc/fstab:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;node1:/volume &nbsp; &nbsp;/volume &nbsp; &nbsp;nfs<br>
&gt;&gt; defaults,_netdev,vers=3,mountproto=tcp &nbsp; &nbsp; &nbsp; &nbsp;0 0<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; It looks like CentOS 6.x has NFS version 4 built into everything. So a few<br>
&gt;&gt; questions:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; - &nbsp; &nbsp; &nbsp; Has anyone else noted significant performance differences between a<br>
&gt;&gt; glusterfs mount and NFS mount for volumes of 8+ bricks?<br>
&gt;&gt;<br>
&gt;&gt; - &nbsp; &nbsp; &nbsp; Is there a straightforward way to make the newer versions of CentOS<br>
&gt;&gt; play nice with NFS version 3 + Gluster?<br>
&gt;&gt;<br>
&gt;&gt; - &nbsp; &nbsp; &nbsp; Are there any general performance tuning guidelines I can follow to<br>
&gt;&gt; improve CPU performance? I found a few references to the cache settings but<br>
&gt;&gt; nothing solid.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; If the consensus is that NFS will not gain anything then I won't waste the<br>
&gt;&gt; time setting it all up.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; NFS gains you the use of FSCache to cache directories and file stats making<br>
&gt;&gt; directory listings faster, but it adds overhead decreasing the overall<br>
&gt;&gt; throughput (from all the reports I've seen).<br>
&gt;&gt;<br>
&gt;&gt; I would suspect that you have the kernel nfs server running on your servers.<br>
&gt;&gt; Make sure it's disabled.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt;<br>
&gt;&gt; ~Mike C.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; From: <a href="mailto:gluster-users-bounces@gluster.org">gluster-users-bounces@gluster.org</a><br>
&gt;&gt; [mailto:<a href="mailto:gluster-users-bounces@gluster.org">gluster-users-bounces@gluster.org</a>] On Behalf Of Michael Colonno<br>
&gt;&gt; Sent: Friday, February 01, 2013 4:46 PM<br>
&gt;&gt; To: <a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>
&gt;&gt; Subject: Re: [Gluster-users] high CPU load on all bricks<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Update: after a few hours the CPU usage seems to have dropped<br>
&gt;&gt; down to a small value. I did not change anything with respect to the<br>
&gt;&gt; configuration or unmount / stop anything as I wanted to see if this would<br>
&gt;&gt; persist for a long period of time. Both the client and the self-mounted<br>
&gt;&gt; bricks are now showing CPU &lt; 1% (as reported by top). Prior to the larger<br>
&gt;&gt; CPU loads I installed a bunch of software into the volume (~ 5 GB total). Is<br>
&gt;&gt; this kind a transient behavior - by which I mean larger CPU loads after a<br>
&gt;&gt; lot of filesystem activity in short time - typical? This is not a problem<br>
&gt;&gt; in my deployment; I just want to know what to expect in the future and to<br>
&gt;&gt; complete this thread for future users. If this is expected behavior we can<br>
&gt;&gt; wrap up this thread. If not then I'll do more digging into the logs on the<br>
&gt;&gt; client and brick sides.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Thanks,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;~Mike C.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; From: Joe Julian [mailto:<a href="mailto:joe@julianfamily.org">joe@julianfamily.org</a>]<br>
&gt;&gt; Sent: Friday, February 01, 2013 2:08 PM<br>
&gt;&gt; To: Michael Colonno; <a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>
&gt;&gt; Subject: Re: [Gluster-users] high CPU load on all bricks<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Check the client log(s).<br>
&gt;&gt;<br>
&gt;&gt; Michael Colonno &lt;<a href="mailto:mcolonno@stanford.edu">mcolonno@stanford.edu</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Forgot to mention: on a client system (not a brick) the<br>
&gt;&gt; glusterfs process is consuming ~ 68% CPU continuously. This is a much less<br>
&gt;&gt; powerful desktop system so the CPU load can't be compared 1:1 with the<br>
&gt;&gt; systems comprising the bricks but still very high. So the issue seems to<br>
&gt;&gt; exist with both glusterfsd and glusterfs processes.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Thanks,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;~Mike C.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; From: <a href="mailto:gluster-users-bounces@gluster.org">gluster-users-bounces@gluster.org</a><br>
&gt;&gt; [mailto:<a href="mailto:gluster-users-bounces@gluster.org">gluster-users-bounces@gluster.org</a>] On Behalf Of Michael Colonno<br>
&gt;&gt; Sent: Friday, February 01, 2013 12:46 PM<br>
&gt;&gt; To: <a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>
&gt;&gt; Subject: [Gluster-users] high CPU load on all bricks<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Gluster gurus ~<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;I've deployed and 8-brick (2x replicate) Gluster 3.3.1 volume on<br>
&gt;&gt; CentOS 6.3 with tcp transport. I was able to build, start, mount, and use<br>
&gt;&gt; the volume. On each system contributing a brick, however, my CPU usage<br>
&gt;&gt; (glusterfsd) is hovering around 20% (virtually zero memory usage<br>
&gt;&gt; thankfully). These are brand new, fairly beefy servers so 20% CPU load is<br>
&gt;&gt; quite a bit. The deployment is pretty plain with each brick mounting the<br>
&gt;&gt; volume to itself via a glusterfs mount. I assume this type of CPU usage is<br>
&gt;&gt; atypically high; is there anything I can do to investigate what's soaking up<br>
&gt;&gt; CPU and minimize it? Total usable volume size is only about 22 TB (about 45<br>
&gt;&gt; TB total with 2x replicate).<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Thanks,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;~Mike C.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;_____<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;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<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; Harry Mangalam - Research Computing, OIT, Rm 225 MSTB, UC Irvine<br>
&gt; [m/c 2225] / 92697 Google Voice Multiplexer: <a href="tel:%28949%29%20478-4487" value="+19494784487">(949) 478-4487</a><br>
&gt; 415 South Circle View Dr, Irvine, CA, 92697 [shipping]<br>
&gt; MSTB Lat/Long: (33.642025,-117.844414) (paste into Google Maps)<br>
&gt; ---<br>
&gt; "Something must be done. [X] is something. Therefore, we must do it."<br>
&gt; Bruce Schneier, on American response to just about anything.<br>
_______________________________________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
<a href="http://supercolony.gluster.org/mailman/listinfo/gluster-users" target="_blank">http://supercolony.gluster.org/mailman/listinfo/gluster-users</a><br>
</div></div></blockquote></div><br></div>
</div></blockquote></body></html>