<div dir="ltr">True but to work your way into that problem with replica 3 is a lot harder to achieve than with just replica 2 + arbiter.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 7 September 2017 at 14:06, Pavel Szalbot <span dir="ltr">&lt;<a href="mailto:pavel.szalbot@gmail.com" target="_blank">pavel.szalbot@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Hi Neil, docs mention two live nodes of replica 3 blaming each other and refusing to do IO. <div dir="auto"><br></div><div dir="auto"><a href="https://gluster.readthedocs.io/en/latest/Administrator%20Guide/Split%20brain%20and%20ways%20to%20deal%20with%20it/#1-replica-3-volume" target="_blank">https://gluster.readthedocs.<wbr>io/en/latest/Administrator%<wbr>20Guide/Split%20brain%20and%<wbr>20ways%20to%20deal%20with%<wbr>20it/#1-replica-3-volume</a><br></div><div dir="auto"><br></div><div dir="auto"><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sep 7, 2017 17:52, &quot;Alastair Neil&quot; &lt;<a href="mailto:ajneil.tech@gmail.com" target="_blank">ajneil.tech@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">*shrug* I don&#39;t use arbiter for vm work loads just straight replica 3.  There are some gotchas with using an arbiter for VM workloads.  If quorum-type is auto and a brick that is not the arbiter drop out then if the up brick is dirty as far as the arbiter is concerned i.e. the only good copy is on the down brick you will get ENOTCONN and your VMs will halt on IO.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 6 September 2017 at 16:06,  <span dir="ltr">&lt;<a href="mailto:lemonnierk@ulrar.net" target="_blank">lemonnierk@ulrar.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Mh, I never had to do that and I never had that problem. Is that an<br>
arbiter specific thing ? With replica 3 it just works.<br>
<div class="m_7538485454717747739m_868463869559434844HOEnZb"><div class="m_7538485454717747739m_868463869559434844h5"><br>
On Wed, Sep 06, 2017 at 03:59:14PM -0400, Alastair Neil wrote:<br>
&gt; you need to set<br>
&gt;<br>
&gt; cluster.server-quorum-ratio             51%<br>
&gt;<br>
&gt; On 6 September 2017 at 10:12, Pavel Szalbot &lt;<a href="mailto:pavel.szalbot@gmail.com" target="_blank">pavel.szalbot@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; Hi all,<br>
&gt; &gt;<br>
&gt; &gt; I have promised to do some testing and I finally find some time and<br>
&gt; &gt; infrastructure.<br>
&gt; &gt;<br>
&gt; &gt; So I have 3 servers with Gluster 3.10.5 on CentOS 7. I created<br>
&gt; &gt; replicated volume with arbiter (2+1) and VM on KVM (via Openstack)<br>
&gt; &gt; with disk accessible through gfapi. Volume group is set to virt<br>
&gt; &gt; (gluster volume set gv_openstack_1 virt). VM runs current (all<br>
&gt; &gt; packages updated) Ubuntu Xenial.<br>
&gt; &gt;<br>
&gt; &gt; I set up following fio job:<br>
&gt; &gt;<br>
&gt; &gt; [job1]<br>
&gt; &gt; ioengine=libaio<br>
&gt; &gt; size=1g<br>
&gt; &gt; loops=16<br>
&gt; &gt; bs=512k<br>
&gt; &gt; direct=1<br>
&gt; &gt; filename=/tmp/fio.data2<br>
&gt; &gt;<br>
&gt; &gt; When I run fio fio.job and reboot one of the data nodes, IO statistics<br>
&gt; &gt; reported by fio drop to 0KB/0KB and 0 IOPS. After a while, root<br>
&gt; &gt; filesystem gets remounted as read-only.<br>
&gt; &gt;<br>
&gt; &gt; If you care about infrastructure, setup details etc., do not hesitate to<br>
&gt; &gt; ask.<br>
&gt; &gt;<br>
&gt; &gt; Gluster info on volume:<br>
&gt; &gt;<br>
&gt; &gt; Volume Name: gv_openstack_1<br>
&gt; &gt; Type: Replicate<br>
&gt; &gt; Volume ID: 2425ae63-3765-4b5e-915b-e132e0<wbr>d3fff1<br>
&gt; &gt; Status: Started<br>
&gt; &gt; Snapshot Count: 0<br>
&gt; &gt; Number of Bricks: 1 x (2 + 1) = 3<br>
&gt; &gt; Transport-type: tcp<br>
&gt; &gt; Bricks:<br>
&gt; &gt; Brick1: gfs-2.san:/export/gfs/gv_1<br>
&gt; &gt; Brick2: gfs-3.san:/export/gfs/gv_1<br>
&gt; &gt; Brick3: docker3.san:/export/gfs/gv_1 (arbiter)<br>
&gt; &gt; Options Reconfigured:<br>
&gt; &gt; nfs.disable: on<br>
&gt; &gt; transport.address-family: inet<br>
&gt; &gt; performance.quick-read: off<br>
&gt; &gt; performance.read-ahead: off<br>
&gt; &gt; performance.io-cache: off<br>
&gt; &gt; performance.stat-prefetch: off<br>
&gt; &gt; performance.low-prio-threads: 32<br>
&gt; &gt; network.remote-dio: enable<br>
&gt; &gt; cluster.eager-lock: enable<br>
&gt; &gt; cluster.quorum-type: auto<br>
&gt; &gt; cluster.server-quorum-type: server<br>
&gt; &gt; cluster.data-self-heal-algorit<wbr>hm: full<br>
&gt; &gt; cluster.locking-scheme: granular<br>
&gt; &gt; cluster.shd-max-threads: 8<br>
&gt; &gt; cluster.shd-wait-qlength: 10000<br>
&gt; &gt; features.shard: on<br>
&gt; &gt; user.cifs: off<br>
&gt; &gt;<br>
&gt; &gt; Partial KVM XML dump:<br>
&gt; &gt;<br>
&gt; &gt;     &lt;disk type=&#39;network&#39; device=&#39;disk&#39;&gt;<br>
&gt; &gt;       &lt;driver name=&#39;qemu&#39; type=&#39;raw&#39; cache=&#39;none&#39;/&gt;<br>
&gt; &gt;       &lt;source protocol=&#39;gluster&#39;<br>
&gt; &gt; name=&#39;gv_openstack_1/volume-77<wbr>ebfd13-6a92-4f38-b036-e9e55d75<wbr>2e1e&#39;&gt;<br>
&gt; &gt;         &lt;host name=&#39;10.0.1.201&#39; port=&#39;24007&#39;/&gt;<br>
&gt; &gt;       &lt;/source&gt;<br>
&gt; &gt;       &lt;backingStore/&gt;<br>
&gt; &gt;       &lt;target dev=&#39;vda&#39; bus=&#39;virtio&#39;/&gt;<br>
&gt; &gt;       &lt;serial&gt;77ebfd13-6a92-4f38-b0<wbr>36-e9e55d752e1e&lt;/serial&gt;<br>
&gt; &gt;       &lt;alias name=&#39;virtio-disk0&#39;/&gt;<br>
&gt; &gt;       &lt;address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x04&#39;<br>
&gt; &gt; function=&#39;0x0&#39;/&gt;<br>
&gt; &gt;     &lt;/disk&gt;<br>
&gt; &gt;<br>
&gt; &gt; Networking is LACP on data nodes, stack of Juniper EX4550&#39;s (10Gbps<br>
&gt; &gt; SFP+), separate VLAN for Gluster traffic, SSD only on Gluster all<br>
&gt; &gt; nodes (including arbiter).<br>
&gt; &gt;<br>
&gt; &gt; I would really love to know what am I doing wrong, because this is my<br>
&gt; &gt; experience with Gluster for a long time a and a reason I would not<br>
&gt; &gt; recommend it as VM storage backend in production environment where you<br>
&gt; &gt; cannot start/stop VMs on your own (e.g. providing private clouds for<br>
&gt; &gt; customers).<br>
&gt; &gt; -ps<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Sun, Sep 3, 2017 at 10:21 PM, Gionatan Danti &lt;<a href="mailto:g.danti@assyoma.it" target="_blank">g.danti@assyoma.it</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt; Il 30-08-2017 17:07 Ivan Rossi ha scritto:<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; There has ben a bug associated to sharding that led to VM corruption<br>
&gt; &gt; &gt;&gt; that has been around for a long time (difficult to reproduce I<br>
&gt; &gt; &gt;&gt; understood). I have not seen reports on that for some time after the<br>
&gt; &gt; &gt;&gt; last fix, so hopefully now VM hosting is stable.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Mmmm... this is precisely the kind of bug that scares me... data<br>
&gt; &gt; corruption<br>
&gt; &gt; &gt; :|<br>
&gt; &gt; &gt; Any more information on what causes it and how to resolve? Even if in<br>
&gt; &gt; newer<br>
&gt; &gt; &gt; Gluster releases it is a solved bug, knowledge on how to treat it would<br>
&gt; &gt; be<br>
&gt; &gt; &gt; valuable.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Thanks.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Danti Gionatan<br>
&gt; &gt; &gt; Supporto Tecnico<br>
&gt; &gt; &gt; Assyoma S.r.l. - <a href="http://www.assyoma.it" rel="noreferrer" target="_blank">www.assyoma.it</a><br>
&gt; &gt; &gt; email: <a href="mailto:g.danti@assyoma.it" target="_blank">g.danti@assyoma.it</a> - <a href="mailto:info@assyoma.it" target="_blank">info@assyoma.it</a><br>
&gt; &gt; &gt; GPG public key ID: FF5F32A8<br>
&gt; &gt; &gt; ______________________________<wbr>_________________<br>
&gt; &gt; &gt; Gluster-users mailing list<br>
&gt; &gt; &gt; <a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
&gt; &gt; &gt; <a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/mailm<wbr>an/listinfo/gluster-users</a><br>
&gt; &gt; ______________________________<wbr>_________________<br>
&gt; &gt; Gluster-users mailing list<br>
&gt; &gt; <a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
&gt; &gt; <a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/mailm<wbr>an/listinfo/gluster-users</a><br>
&gt; &gt;<br>
<br>
&gt; ______________________________<wbr>_________________<br>
&gt; Gluster-users mailing list<br>
&gt; <a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
&gt; <a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/mailm<wbr>an/listinfo/gluster-users</a><br>
<br>
</div></div><br>______________________________<wbr>_________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/mailm<wbr>an/listinfo/gluster-users</a><br></blockquote></div><br></div>
<br>______________________________<wbr>_________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/mailm<wbr>an/listinfo/gluster-users</a><br></blockquote></div></div>
</div></div></blockquote></div><br></div>