<div dir="ltr">Thank you Ben,<div><br></div><div>I&#39;m already running on 7, I&#39;ve set the options you recommended and indeed file creation is faster now.</div><div><br></div><div>I double-checked my config and found out that the filesystem of the brick on the arbiter node doesn&#39;t support ACLs: underlying fs is ext4 without acl mount option, while the other bricks are XFS ( where it&#39;s always enabled). Do all the bricks need to support ACLs?</div><div><br></div><div>To keep things simple I suppose it makes sense to remove ACLs as it&#39;s not strictly needed for my setup, so I ran some tests and I can now confirm that I don&#39;t see the self-heals when the volume isn&#39;t mounted with --acl. I don&#39;t have exact numbers but I have the impression that syncing is faster as well. </div></div><div class="gmail_extra"><br><div class="gmail_quote">On 16 November 2015 at 19:02, Ben Turner <span dir="ltr">&lt;<a href="mailto:bturner@redhat.com" target="_blank">bturner@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"><span class="">----- Original Message -----<br>
&gt; From: &quot;Tiemen Ruiten&quot; &lt;<a href="mailto:t.ruiten@rdmedia.com">t.ruiten@rdmedia.com</a>&gt;<br>
</span><span class="">&gt; To: &quot;Ben Turner&quot; &lt;<a href="mailto:bturner@redhat.com">bturner@redhat.com</a>&gt;<br>
&gt; Cc: &quot;gluster-users&quot; &lt;<a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a>&gt;<br>
&gt; Sent: Monday, November 16, 2015 5:00:20 AM<br>
&gt; Subject: Re: [Gluster-users] rsync to gluster mount: self-heal and bad performance<br>
&gt;<br>
</span><span class="">&gt; Hello Ben,<br>
&gt;<br>
&gt; Thank you for your answer. I don&#39;t see the same errors when just creating a<br>
&gt; number of files, eg. touch test{0000..9999}. Performance is not great, but<br>
&gt; after a few minutes it finishes successfully.<br>
<br>
</span>We have made alot of small file perf enhancements, try the following:<br>
<br>
-Run on RHEL 7, I have seen a good improvement on el7 over el6.<br>
-Set lookup optimize on<br>
-Set client and server event threads to 4<br>
-There is a metadata perf regression that could be affecting your rsync as well, keep an eye on - <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1250803" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1250803</a> for the fix.<br>
<span class=""><br>
<br>
&gt;<br>
&gt; I&#39;m running rsync through lsyncd, the options are:<br>
&gt;<br>
&gt; /usr/bin/rsync --delete --ignore-errors -zslt -r $source $destination<br>
&gt;<br>
&gt; I&#39;m running it over a LAN network, between two VMs. The volume is indeed<br>
&gt; mounted with --acl, but on the directory I&#39;m syncing to I haven&#39;t set them<br>
&gt; explicitly:<br>
<br>
</span>Do you need ACLs?  If not can you try without that option?  I am wondering if there is a bug with ACLs that could be causing the self heals to happen.  If we don&#39;t see it without ACLs that can give us somewhere to look at.<br>
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt; [tiemen@iron2 test]$ getfacl stg/<br>
&gt; # file: stg/<br>
&gt; # owner: root<br>
&gt; # group: rdcompany<br>
&gt; # flags: -s-<br>
&gt; user::rwx<br>
&gt; group::rwx<br>
&gt; other::r-x<br>
&gt;<br>
&gt; Volume options:<br>
&gt;<br>
&gt; [tiemen@iron2 test]$ sudo gluster volume info lpxassets<br>
&gt;<br>
&gt; Volume Name: lpxassets<br>
&gt; Type: Replicate<br>
&gt; Volume ID: fea00430-63b1-4a4e-bc38-b74d3732acf4<br>
&gt; Status: Started<br>
&gt; Number of Bricks: 1 x 3 = 3<br>
&gt; Transport-type: tcp<br>
&gt; Bricks:<br>
&gt; Brick1: iron2:/data/brick/lpxassets<br>
&gt; Brick2: cobalt2:/data/brick/lpxassets<br>
&gt; Brick3: arbiter:/data/arbiter/lpxassets<br>
&gt; Options Reconfigured:<br>
&gt; nfs.disable: on<br>
&gt; performance.readdir-ahead: on<br>
&gt; cluster.quorum-type: auto<br>
&gt; cluster.enable-shared-storage: enable<br>
&gt; nfs-ganesha: disable<br>
&gt;<br>
&gt; Any other info I could provide?<br>
&gt;<br>
&gt;<br>
&gt; On 15 November 2015 at 18:11, Ben Turner &lt;<a href="mailto:bturner@redhat.com">bturner@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt; &gt; From: &quot;Tiemen Ruiten&quot; &lt;<a href="mailto:t.ruiten@rdmedia.com">t.ruiten@rdmedia.com</a>&gt;<br>
&gt; &gt; &gt; To: &quot;gluster-users&quot; &lt;<a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a>&gt;<br>
&gt; &gt; &gt; Sent: Sunday, November 15, 2015 5:22:08 AM<br>
&gt; &gt; &gt; Subject: Re: [Gluster-users] rsync to gluster mount: self-heal and bad<br>
&gt; &gt;       performance<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Any other suggestions?<br>
&gt; &gt;<br>
&gt; &gt; You are correct, rsync should not cause self heal on every file.  It makes<br>
&gt; &gt; me think that Ernie is correct and that something isn&#39;t correct.  If you<br>
&gt; &gt; just create a bunch of files out side of rsync do you see the same<br>
&gt; &gt; behavior?  What rsync command are you running, where are you syncing the<br>
&gt; &gt; data from?  I see you have the acl mount option, are you using ACLs?<br>
&gt; &gt;<br>
&gt; &gt; -b<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On 13 November 2015 at 09:56, Tiemen Ruiten &lt; <a href="mailto:t.ruiten@rdmedia.com">t.ruiten@rdmedia.com</a> &gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Hello Ernie, list,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; No, that&#39;s not the case. The volume is mounted through glusterfs-fuse -<br>
&gt; &gt; on<br>
&gt; &gt; &gt; the same server running one of the bricks. The fstab:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; # /etc/fstab<br>
&gt; &gt; &gt; # Created by anaconda on Tue Aug 18 18:10:49 2015<br>
&gt; &gt; &gt; #<br>
&gt; &gt; &gt; # Accessible filesystems, by reference, are maintained under &#39;/dev/disk&#39;<br>
&gt; &gt; &gt; # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more<br>
&gt; &gt; info<br>
&gt; &gt; &gt; #<br>
&gt; &gt; &gt; UUID=56778fed-bf3f-435e-8c32-edaa8c707f29 / xfs defaults 0 0<br>
&gt; &gt; &gt; UUID=a44e32ed-cfbe-4ba0-896f-1efff9397ba1 /boot xfs defaults 0 0<br>
&gt; &gt; &gt; UUID=a344d2bc-266d-4905-85b1-fbb7fe927659 swap swap defaults 0 0<br>
&gt; &gt; &gt; /dev/vdb1 /data/brick xfs defaults 1 2<br>
&gt; &gt; &gt; iron2:/lpxassets /mnt/lpxassets glusterfs _netdev,acl 0 0<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On 12 November 2015 at 22:50, Ernie Dunbar &lt; <a href="mailto:maillist@lightspeed.ca">maillist@lightspeed.ca</a> &gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Hi Tiemen<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; It sounds like you&#39;re trying to rsync files onto your Gluster server,<br>
&gt; &gt; rather<br>
&gt; &gt; &gt; than to the Gluster filesystem. You want to copy these files into the<br>
&gt; &gt; &gt; mounted filesystem (typically on some other system than the Gluster<br>
&gt; &gt; &gt; servers), because Gluster is designed to handle it that way.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I can&#39;t remember the nitty gritty details about why this is, but I&#39;ve<br>
&gt; &gt; made<br>
&gt; &gt; &gt; this mistake before as well. Hope that helps. :)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On 2015-11-12 11:31, Tiemen Ruiten wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Hello,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; While rsyncing to a directory mounted through glusterfs fuse,<br>
&gt; &gt; &gt; performance is very bad and it appears every synced file generates a<br>
&gt; &gt; &gt; (metadata) self-heal.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; The volume is mounted with option acl and acl&#39;s are set on a<br>
&gt; &gt; &gt; subdirectory.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Setup is as follows:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Two Centos 7 VM&#39;s (KVM), with Gluster 3.7.6 and one physical CentOS 6<br>
&gt; &gt; &gt; node, also Gluster 3.7.6. Physical node functions as arbiter. So it&#39;s<br>
&gt; &gt; &gt; a replica 3 arbiter 1 volume. The bricks are LVM&#39;s with XFS<br>
&gt; &gt; &gt; filesystem.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; While I don&#39;t think I should expect top performance for rsync on<br>
&gt; &gt; &gt; Gluster, I wouldn&#39;t expect every file synced to trigger a self-heal.<br>
&gt; &gt; &gt; Anything I can do to improve this? Should I file a bug?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Another thing that looks related, I see a lot of these messages,<br>
&gt; &gt; &gt; especially when doing IO:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; [2015-11-12 19:25:42.185904] I [dict.c:473:dict_get]<br>
&gt; &gt; &gt;<br>
&gt; &gt; (--&gt;/usr/lib64/glusterfs/3.7.6/xlator/debug/io-stats.so(io_stats_lookup_cbk+0x121)<br>
&gt; &gt; &gt; [0x7fdcc2d31161]<br>
&gt; &gt; &gt;<br>
&gt; &gt; --&gt;/usr/lib64/glusterfs/3.7.6/xlator/system/posix-acl.so(posix_acl_lookup_cbk+0x242)<br>
&gt; &gt; &gt; [0x7fdcc2b1b212] --&gt;/lib64/libglusterfs.so.0(dict_get+0xac)<br>
&gt; &gt; &gt; [0x7fdcd5e770cc] ) 0-dict: !this || key=system.posix_acl_default<br>
&gt; &gt; &gt; [Invalid argument]<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Tiemen Ruiten<br>
&gt; &gt; &gt; Systems Engineer<br>
&gt; &gt; &gt; R&amp;D Media<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Gluster-users mailing list<br>
&gt; &gt; &gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; &gt; &gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Gluster-users mailing list<br>
&gt; &gt; &gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; &gt; &gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Tiemen Ruiten<br>
&gt; &gt; &gt; Systems Engineer<br>
&gt; &gt; &gt; R&amp;D Media<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Tiemen Ruiten<br>
&gt; &gt; &gt; Systems Engineer<br>
&gt; &gt; &gt; R&amp;D Media<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Gluster-users mailing list<br>
&gt; &gt; &gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; &gt; &gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Tiemen Ruiten<br>
&gt; Systems Engineer<br>
&gt; R&amp;D Media<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Tiemen Ruiten<br>Systems Engineer<br>R&amp;D Media<br></div></div>
</div>