<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 11, 2017 at 5:39 PM, Niels de Vos <span dir="ltr">&lt;<a href="mailto:ndevos@redhat.com" target="_blank">ndevos@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="">On Thu, May 11, 2017 at 12:35:42PM +0530, Krutika Dhananjay wrote:<br>
&gt; Niels,<br>
&gt;<br>
&gt; Allesandro&#39;s configuration does not have shard enabled. So it has<br>
&gt; definitely not got anything to do with shard not supporting seek fop.<br>
<br>
</span>Yes, but in case sharding would have been enabled, the seek FOP would be<br>
handled correctly (detected as not supported at all).<br>
<br>
I&#39;m still not sure how arbiter prevents doing shards though. We normally<br>
advise to use sharding *and* (optional) arbiter for VM workloads,<br>
arbiter without sharding has not been tested much. In addition, the seek<br>
functionality is only available in recent kernels, so there has been<br>
little testing on CentOS or similar enterprise Linux distributions.<br></blockquote><div><br></div>That is not true. Both are independent. There are quite a few questions we answered in the past ~1 year on gluster-users which don&#39;t use sharding+arbiter but plain old 2+1 configuration.<br></div><div class="gmail_quote"> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
HTH,<br>
Niels<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
&gt; Copy-pasting volume-info output from the first mail:<br>
&gt;<br>
&gt; Volume Name: datastore2<br>
&gt; Type: Replicate<br>
&gt; Volume ID: c95ebb5f-6e04-4f09-91b9-<wbr>bbbe63d83aea<br>
&gt; Status: Started<br>
&gt; Snapshot Count: 0<br>
&gt; Number of Bricks: 1 x (2 + 1) = 3<br>
&gt; Transport-type: tcp<br>
&gt; Bricks:<br>
&gt; Brick1: srvpve2g:/data/brick2/brick<br>
&gt; Brick2: srvpve3g:/data/brick2/brick<br>
&gt; Brick3: srvpve1g:/data/brick2/brick (arbiter)<br>
&gt; Options Reconfigured:<br>
&gt; nfs.disable: on<br>
&gt; performance.readdir-ahead: on<br>
&gt; transport.address-family: inet<br>
&gt;<br>
&gt;<br>
&gt; -Krutika<br>
&gt;<br>
&gt;<br>
&gt; On Tue, May 9, 2017 at 7:40 PM, Niels de Vos &lt;<a href="mailto:ndevos@redhat.com">ndevos@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; ...<br>
&gt; &gt; &gt; &gt; client from<br>
&gt; &gt; &gt; &gt; srvpve2-162483-2017/05/08-10:<wbr>01:06:189720-datastore2-<wbr>client-0-0-0<br>
&gt; &gt; &gt; &gt; (version: 3.8.11)<br>
&gt; &gt; &gt; &gt; [2017-05-08 10:01:06.237433] E [MSGID: 113107]<br>
&gt; &gt; [posix.c:1079:posix_seek]<br>
&gt; &gt; &gt; &gt; 0-datastore2-posix: seek failed on fd 18 length 42957209600 [No such<br>
&gt; &gt; &gt; &gt; device or address]<br>
&gt; &gt;<br>
&gt; &gt; The SEEK procedure translates to lseek() in the posix xlator. This can<br>
&gt; &gt; return with &quot;No suck device or address&quot; (ENXIO) in only one case:<br>
&gt; &gt;<br>
&gt; &gt;     ENXIO    whence is SEEK_DATA or SEEK_HOLE, and the file offset is<br>
&gt; &gt;              beyond the end of the file.<br>
&gt; &gt;<br>
&gt; &gt; This means that an lseek() was executed where the current offset of the<br>
&gt; &gt; filedescriptor was higher than the size of the file. I&#39;m not sure how<br>
&gt; &gt; that could happen... Sharding prevents using SEEK at all atm.<br>
&gt; &gt;<br>
&gt; &gt; ...<br>
&gt; &gt; &gt; &gt; The strange part is that I cannot seem to find any other error.<br>
&gt; &gt; &gt; &gt; If I restart the VM everything works as expected (it stopped at ~9.51<br>
&gt; &gt; &gt; &gt; UTC and was started at ~10.01 UTC) .<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; This is not the first time that this happened, and I do not see any<br>
&gt; &gt; &gt; &gt; problems with networking or the hosts.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Gluster version is 3.8.11<br>
&gt; &gt; &gt; &gt; this is the incriminated volume (though it happened on a different one<br>
&gt; &gt; too)<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Volume Name: datastore2<br>
&gt; &gt; &gt; &gt; Type: Replicate<br>
&gt; &gt; &gt; &gt; Volume ID: c95ebb5f-6e04-4f09-91b9-<wbr>bbbe63d83aea<br>
&gt; &gt; &gt; &gt; Status: Started<br>
&gt; &gt; &gt; &gt; Snapshot Count: 0<br>
&gt; &gt; &gt; &gt; Number of Bricks: 1 x (2 + 1) = 3<br>
&gt; &gt; &gt; &gt; Transport-type: tcp<br>
&gt; &gt; &gt; &gt; Bricks:<br>
&gt; &gt; &gt; &gt; Brick1: srvpve2g:/data/brick2/brick<br>
&gt; &gt; &gt; &gt; Brick2: srvpve3g:/data/brick2/brick<br>
&gt; &gt; &gt; &gt; Brick3: srvpve1g:/data/brick2/brick (arbiter)<br>
&gt; &gt; &gt; &gt; Options Reconfigured:<br>
&gt; &gt; &gt; &gt; nfs.disable: on<br>
&gt; &gt; &gt; &gt; performance.readdir-ahead: on<br>
&gt; &gt; &gt; &gt; transport.address-family: inet<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Any hint on how to dig more deeply into the reason would be greatly<br>
&gt; &gt; &gt; &gt; appreciated.<br>
&gt; &gt;<br>
&gt; &gt; Probably the problem is with SEEK support in the arbiter functionality.<br>
&gt; &gt; Just like with a READ or a WRITE on the arbiter brick, SEEK can only<br>
&gt; &gt; succeed on bricks where the files with content are located. It does not<br>
&gt; &gt; look like arbiter handles SEEK, so the offset in lseek() will likely be<br>
&gt; &gt; higher than the size of the file on the brick (empty, 0 size file). I<br>
&gt; &gt; don&#39;t know how the replication xlator responds on an error return from<br>
&gt; &gt; SEEK on one of the bricks, but I doubt it likes it.<br>
&gt; &gt;<br>
&gt; &gt; We have <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1301647" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/<wbr>show_bug.cgi?id=1301647</a> to support<br>
&gt; &gt; SEEK for sharding. I suggest you open a bug for getting SEEK in the<br>
&gt; &gt; arbiter xlator as well.<br>
&gt; &gt;<br>
&gt; &gt; HTH,<br>
&gt; &gt; Niels<br>
&gt; &gt;<br>
</div></div><br>______________________________<wbr>_________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-users</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Pranith<br></div></div>
</div></div>