<div dir="ltr"><div>nufa helps you write to local brick, if replication is involved it will still copy it to other bricks (or suppose to do so)</div><div>what might be happening is that when initial file was created other nodes were down and it didn&#39;t replicate properly and now heal is failing</div><div>check your <br></div><div>gluster vol heal Volname info</div><div><br></div><div>maybe you will find out where second copy of the file suppose to be - and just copy it to that brick<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Oct 28, 2018 at 6:07 PM Ingo Fischer &lt;<a href="mailto:nl@fischer-ka.de">nl@fischer-ka.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
has noone an idea on system.affinity/distributed.migrate-data ?<br>
Or how to correctly enable nufa?<br>
<br>
BTW: the used gluster version is 4.1.5<br>
<br>
Thank you for your help on this!<br>
<br>
Ingo<br>
<br>
Am 24.10.18 um 12:54 schrieb Ingo Fischer:<br>
&gt; Hi,<br>
&gt; <br>
&gt; I have setup a glusterfs volume gv0 as distributed/replicated:<br>
&gt; <br>
&gt; root@pm1:~# gluster volume info gv0<br>
&gt; <br>
&gt; Volume Name: gv0<br>
&gt; Type: Distributed-Replicate<br>
&gt; Volume ID: 64651501-6df2-4106-b330-fdb3e1fbcdf4<br>
&gt; Status: Started<br>
&gt; Snapshot Count: 0<br>
&gt; Number of Bricks: 3 x 2 = 6<br>
&gt; Transport-type: tcp<br>
&gt; Bricks:<br>
&gt; Brick1: 192.168.178.50:/gluster/brick1/gv0<br>
&gt; Brick2: 192.168.178.76:/gluster/brick1/gv0<br>
&gt; Brick3: 192.168.178.50:/gluster/brick2/gv0<br>
&gt; Brick4: 192.168.178.81:/gluster/brick1/gv0<br>
&gt; Brick5: 192.168.178.50:/gluster/brick3/gv0<br>
&gt; Brick6: 192.168.178.82:/gluster/brick1/gv0<br>
&gt; Options Reconfigured:<br>
&gt; performance.client-io-threads: off<br>
&gt; nfs.disable: on<br>
&gt; transport.address-family: inet<br>
&gt; <br>
&gt; <br>
&gt; root@pm1:~# gluster volume status<br>
&gt; Status of volume: gv0<br>
&gt; Gluster process                             TCP Port  RDMA Port  Online  Pid<br>
&gt; ------------------------------------------------------------------------------<br>
&gt; Brick 192.168.178.50:/gluster/brick1/gv0    49152     0          Y<br>
&gt; 1665<br>
&gt; Brick 192.168.178.76:/gluster/brick1/gv0    49152     0          Y<br>
&gt; 26343<br>
&gt; Brick 192.168.178.50:/gluster/brick2/gv0    49153     0          Y<br>
&gt; 1666<br>
&gt; Brick 192.168.178.81:/gluster/brick1/gv0    49152     0          Y<br>
&gt; 1161<br>
&gt; Brick 192.168.178.50:/gluster/brick3/gv0    49154     0          Y<br>
&gt; 1679<br>
&gt; Brick 192.168.178.82:/gluster/brick1/gv0    49152     0          Y<br>
&gt; 1334<br>
&gt; Self-heal Daemon on localhost               N/A       N/A        Y<br>
&gt; 5022<br>
&gt; Self-heal Daemon on 192.168.178.81          N/A       N/A        Y<br>
&gt; 935<br>
&gt; Self-heal Daemon on 192.168.178.82          N/A       N/A        Y<br>
&gt; 1057<br>
&gt; Self-heal Daemon on pm2.fritz.box           N/A       N/A        Y<br>
&gt; 1651<br>
&gt; <br>
&gt; <br>
&gt; I use the fs to store VM files, so not many, but big files.<br>
&gt; <br>
&gt; The distribution now put 4 big files on one brick set and only one file<br>
&gt; on an other. This means that the one brick set it &quot;overcommited&quot; now as<br>
&gt; soon as all VMs using max space. SO I would like to manually<br>
&gt; redistribute the files a bit better.<br>
&gt; <br>
&gt; After log googling I found that the following should work:<br>
&gt; setfattr -n &#39;system.affinity&#39; -v $location $filepath<br>
&gt; setfattr -n &#39;distribute.migrate-data&#39; -v &#39;force&#39; $filepath<br>
&gt; <br>
&gt; But I have problems with it because it gives errors or doing nothing at all.<br>
&gt; <br>
&gt; The mounting looks like:<br>
&gt; 192.168.178.50:gv0 on /mnt/pve/glusterfs type fuse.glusterfs<br>
&gt; (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)<br>
&gt; <br>
&gt; <br>
&gt; Here is what I tried for the first xattr:<br>
&gt; <br>
&gt; root@pm1:~# setfattr -n &#39;system.affinity&#39; -v &#39;gv0-client-5&#39;<br>
&gt; /mnt/pve/glusterfs/201/imagesvm201.qcow2<br>
&gt; setfattr: /mnt/pve/glusterfs/201/imagesvm201.qcow2: Operation not supported<br>
&gt; <br>
&gt; So I found on google to use trusted.affinity instead and yes this works.<br>
&gt; I&#39;m only not sure if the location &quot;gv0-client-5&quot; is correct to move the<br>
&gt; file to &quot;Brick 5&quot; from &quot;gluster volume info gv0&quot; ... or how this<br>
&gt; location is build?<br>
&gt; Commit Message from <a href="http://review.gluster.org/#/c/glusterfs/+/5233/" rel="noreferrer" target="_blank">http://review.gluster.org/#/c/glusterfs/+/5233/</a> says<br>
&gt;&gt; The value is the internal client or AFR brick name where you want the<br>
&gt; file to be.<br>
&gt; <br>
&gt; So what do I need to set there? maybe I do need the &quot;afr&quot; because<br>
&gt; replicated? But where to get that name from?<br>
&gt; I also tried to enter other client or replicate names like<br>
&gt; &quot;gv0-replicate-0&quot; or such which seems to be more fitting for a<br>
&gt; replicated volume, but result the same.<br>
&gt; <br>
&gt; <br>
&gt; For the second command I get:<br>
&gt; root@pm1:~# setfattr -n &#39;distribute.migrate-data&#39; -v &#39;force&#39;<br>
&gt; /mnt/pve/glusterfs/201/imagesvm201.qcow2<br>
&gt; setfattr: /mnt/pve/glusterfs/images/201/vm-201-disk-0.qcow2: Operation<br>
&gt; not supported<br>
&gt; root@pm1:~# setfattr -n &#39;trusted.distribute.migrate-data&#39; -v &#39;force&#39;<br>
&gt; /mnt/pve/glusterfs/201/imagesvm201.qcow2<br>
&gt; setfattr: /mnt/pve/glusterfs/images/201/vm-201-disk-0.qcow2: File exists<br>
&gt; <br>
&gt; I also experimented with other &quot;names&quot; then &quot;gv0-client-5&quot; above but<br>
&gt; always the same.<br>
&gt; <br>
&gt; I saw that instead of the second command I could start a rebalance with<br>
&gt; force, but this also did nothing. Ended after max1 second and moved nothing.<br>
&gt; <br>
&gt; Can someone please advice how to do it right?<br>
&gt; <br>
&gt; <br>
&gt; An other idea was to enable nufa and kind of &quot;re-copy&quot; the files on the<br>
&gt; glusterfs, but here it seems that the documentation is wrong.<br>
&gt; gluster volume set gv0 cluster.nufa enable on<br>
&gt; <br>
&gt; Is<br>
&gt; <br>
&gt; gluster volume set gv0 cluster.nufa 1<br>
&gt; <br>
&gt; correct?<br>
&gt; <br>
&gt; Thank you very much!<br>
&gt; <br>
&gt; Ingo<br>
&gt; <br>
_______________________________________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
<a href="https://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">https://lists.gluster.org/mailman/listinfo/gluster-users</a><br>
</blockquote></div>