<p dir="ltr"></p>
<p dir="ltr">-Atin<br>
Sent from one plus one<br>
On Aug 31, 2015 10:34 PM, &quot;Merlin Morgenstern&quot; &lt;<a href="mailto:merlin.morgenstern@gmail.com">merlin.morgenstern@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Thank you all for your help.<br>
&gt;<br>
&gt; To explain the setup better, here is the goal I am trying to achieve:<br>
&gt;<br>
&gt; - 3 servers running in a cluster, each with a webserver uploading and serving files to visitors from a common glusterfs share.<br>
&gt; - Server1 and Server2 have gluster-server installed<br>
&gt; - One brick replicated between Server1 and Server2 with the goal of achieving High Availability<br>
&gt; - Server1, Server2 and Server3 mount the brick through fuse. <br>
&gt; - Server1 mounts Gluster-Server1 with Backup of Server 2. Same via versa for Server2<br>
&gt;<br>
&gt; Now following scenario:<br>
&gt;<br>
&gt; 1. Server2 dies<br>
&gt;<br>
&gt; In this case Server1 serves as a failover and serves the files for Server1,2,3 until Server1 comes back up again. This works.<br>
&gt;<br>
&gt; 2. Server2 dies. Server1 has to reboot.<br>
&gt;<br>
&gt; In this case the service stays down. It is inpossible to remount the share without Server1. This is not acceptable for a High Availability System and I believe also not intended, but a misconfiguration or bug.<br>
This is exactly what I gave as an example in the thread (please read again). GlusterD is not supposed to start brick process if its other counter part hasn&#39;t come up yet in a 2 node setup. The reason it has been designed in this way is to block GlusterD on operating on a volume which could be stale as the node was down and cluster was operational earlier. <br>
&gt;<br>
&gt; Thank you again for looking into this.<br>
&gt;<br>
&gt;<br>
&gt; 2015-08-31 14:10 GMT+02:00 Yiping Peng &lt;<a href="mailto:barius.cn@gmail.com">barius.cn@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; One more thing, when I do this on server1, which has been in the pool for a long time:<br>
&gt;&gt;&gt; server1:~$ mount server1:/vol1 mountpoint<br>
&gt;&gt;&gt; It also fails.<br>
&gt;&gt;&gt; The log gave me:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; My fault, I used localhost as endpoint.<br>
&gt;&gt;<br>
&gt;&gt; I re-issued &quot;mount -t glusterfs server01:/speech0 qqq&quot;<br>
&gt;&gt; and the log shows a lot of things like:<br>
&gt;&gt;<br>
&gt;&gt; [2015-08-31 12:08:44.801169] W [socket.c:923:__socket_keepalive] 0-socket: failed to set TCP_USER_TIMEOUT 0 on socket 57, Protocol not available<br>
&gt;&gt; [2015-08-31 12:08:44.801187] E [socket.c:3019:socket_connect] 0-speech0-client-43: Failed to set keep-alive: Protocol not available<br>
&gt;&gt; [2015-08-31 12:08:44.801305] W [socket.c:642:__socket_rwv] 0-speech0-client-43: readv on <a href="http://10.88.153.25:24007">10.88.153.25:24007</a> failed (Connection reset by peer)<br>
&gt;&gt; [2015-08-31 12:08:44.801404] E [rpc-clnt.c:362:saved_frames_unwind] (--&gt; /usr/lib64/libglusterfs.so.0(_gf_log_callingfn+0x1eb)[0x7fcf540db65b] (--&gt; /usr/lib64/libgfrpc.so.0(saved_frames_unwind+0x1e7)[0x7fcf53ea71b7] (--&gt; /usr/lib64/libgfrpc.so.0(saved_frames_destroy+0xe)[0x7fcf53ea72ce] (--&gt; /usr/lib64/libgfrpc.so.0(rpc_clnt_connection_cleanup+0xab)[0x7fcf53ea739b] (--&gt; /usr/lib64/libgfrpc.so.0(rpc_clnt_notify+0x15f)[0x7fcf53ea795f] ))))) 0-speech0-client-43: forced unwinding frame type(GF-DUMP) op(DUMP(1)) called at 2015-08-31 12:08:44.801294 (xid=0x17)<br>
&gt;&gt; [2015-08-31 12:08:44.801423] W [MSGID: 114032] [client-handshake.c:1623:client_dump_version_cbk] 0-speech0-client-43: received RPC status error [Transport endpoint is not connected]<br>
&gt;&gt; [2015-08-31 12:08:44.801440] I [MSGID: 114018] [client.c:2042:client_rpc_notify] 0-speech0-client-43: disconnected from speech0-client-43. Client process will keep trying to connect to glusterd until brick&#39;s port is available<br>
&gt;&gt; [2015-08-31 12:08:44.804488] W [socket.c:923:__socket_keepalive] 0-socket: failed to set TCP_USER_TIMEOUT 0 on socket 57, Protocol not available<br>
&gt;&gt; [2015-08-31 12:08:44.804505] E [socket.c:3019:socket_connect] 0-speech0-client-51: Failed to set keep-alive: Protocol not available<br>
&gt;&gt; [2015-08-31 12:08:44.804775] W [socket.c:642:__socket_rwv] 0-speech0-client-51: readv on <a href="http://10.88.146.19:24007">10.88.146.19:24007</a> failed (Connection reset by peer)<br>
&gt;&gt; [2015-08-31 12:08:44.804878] E [rpc-clnt.c:362:saved_frames_unwind] (--&gt; /usr/lib64/libglusterfs.so.0(_gf_log_callingfn+0x1eb)[0x7fcf540db65b] (--&gt; /usr/lib64/libgfrpc.so.0(saved_frames_unwind+0x1e7)[0x7fcf53ea71b7] (--&gt; /usr/lib64/libgfrpc.so.0(saved_frames_destroy+0xe)[0x7fcf53ea72ce] (--&gt; /usr/lib64/libgfrpc.so.0(rpc_clnt_connection_cleanup+0xab)[0x7fcf53ea739b] (--&gt; /usr/lib64/libgfrpc.so.0(rpc_clnt_notify+0x15f)[0x7fcf53ea795f] ))))) 0-speech0-client-51: forced unwinding frame type(GF-DUMP) op(DUMP(1)) called at 2015-08-31 12:08:44.804693 (xid=0x18)<br>
&gt;&gt; [2015-08-31 12:08:44.804898] W [MSGID: 114032] [client-handshake.c:1623:client_dump_version_cbk] 0-speech0-client-51: received RPC status error [Transport endpoint is not connected]<br>
&gt;&gt; [2015-08-31 12:08:44.804917] I [MSGID: 114018] [client.c:2042:client_rpc_notify] 0-speech0-client-51: disconnected from speech0-client-51. Client process will keep trying to connect to glusterd until brick&#39;s port is available<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2015-08-31 20:06 GMT+08:00 Yiping Peng &lt;<a href="mailto:barius.cn@gmail.com">barius.cn@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I believe the following events have happened in the cluster resulting<br>
&gt;&gt;&gt;&gt; into this situation:<br>
&gt;&gt;&gt;&gt; 1. GlusterD &amp; brick process on node 2 was brought down<br>
&gt;&gt;&gt;&gt; 2. Node 1 was rebooted.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Strangely enough, glusterfs, glusterd and glusterfsd are running on my server. Is glusterfsd the brick process? Also server01 has not been rebooted during the whole process.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; glusterfsd has the following arguments:<br>
&gt;&gt;&gt; /usr/sbin/glusterfsd -s <a href="http://server01.local.net">server01.local.net</a> --volfile-id speech0.server01.local.net.home-glusterfs-speech0-brick0 -p /var/lib/glusterd/vols/speech0/run/server01.local.net-home-glusterfs-speech0-brick0.pid -S /var/run/gluster/6bf40a98deade9dde8b615226bc57567.socket --brick-name /home/glusterfs/speech0/brick0 -l /var/log/glusterfs/bricks/home-glusterfs-speech0-brick0.log --xlator-option *-posix.glusterd-uuid=1c33ff18-2a6a-44cf-9a04-727fc96e92be --brick-port 49159 --xlator-option speech0-server.listen-port=49159<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; One more thing, when I do this on server1, which has been in the pool for a long time:<br>
&gt;&gt;&gt; server1:~$ mount server1:/vol1 mountpoint<br>
&gt;&gt;&gt; It also fails.<br>
&gt;&gt;&gt; The log gave me:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.123307] I [MSGID: 100030] [glusterfsd.c:2301:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.7.3 (args: /usr/sbin/glusterfs --volfile-server=localhost --volfile-id=/speech0 qqq)<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.134642] W [socket.c:923:__socket_keepalive] 0-socket: failed to set TCP_USER_TIMEOUT 0 on socket 9, Protocol not available<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.134688] E [socket.c:3019:socket_connect] 0-glusterfs: Failed to set keep-alive: Protocol not available<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.135063] I [MSGID: 101190] [event-epoll.c:632:event_dispatch_epoll_worker] 0-epoll: Started thread with index 1<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.135113] E [socket.c:2332:socket_connect_finish] 0-glusterfs: connection to <a href="http://127.0.0.1:24007">127.0.0.1:24007</a> failed (Connection reset by peer)<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.135149] E [glusterfsd-mgmt.c:1819:mgmt_rpc_notify] 0-glusterfsd-mgmt: failed to connect with remote-host: localhost (Transport endpoint is not connected)<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.135158] I [glusterfsd-mgmt.c:1825:mgmt_rpc_notify] 0-glusterfsd-mgmt: Exhausted all volfile servers<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.135333] W [glusterfsd.c:1219:cleanup_and_exit] (--&gt;/usr/lib64/libgfrpc.so.0(rpc_clnt_notify+0x1a3) [0x7fb5e1be39a3] --&gt;/usr/sbin/glusterfs() [0x4099c8] --&gt;/usr/sbin/glusterfs(cleanup_and_exit+0x65) [0x4059b5] ) 0-: received signum (1), shutting down<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.135371] I [fuse-bridge.c:5595:fini] 0-fuse: Unmounting &#39;/home/speech/pengyiping/qqq&#39;.<br>
&gt;&gt;&gt; [2015-08-31 11:56:57.140640] W [glusterfsd.c:1219:cleanup_and_exit] (--&gt;/lib64/libpthread.so.0() [0x318b207851] --&gt;/usr/sbin/glusterfs(glusterfs_sigwaiter+0xcd) [0x405e4d] --&gt;/usr/sbin/glusterfs(cleanup_and_exit+0x65) [0x4059b5] ) 0-: received signum (15), shutting down<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Any help is much appreciated.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2015-08-31 19:15 GMT+08:00 Atin Mukherjee &lt;<a href="mailto:amukherj@redhat.com">amukherj@redhat.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I believe the following events have happened in the cluster resulting<br>
&gt;&gt;&gt;&gt; into this situation:<br>
&gt;&gt;&gt;&gt; 1. GlusterD &amp; brick process on node 2 was brought down<br>
&gt;&gt;&gt;&gt; 2. Node 1 was rebooted.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; In the above case the mount will definitely fail since the brick process<br>
&gt;&gt;&gt;&gt; was not started as in a 2 node set up glusterd waits its peers to come<br>
&gt;&gt;&gt;&gt; up before it starts the bricks. Could you check whether the brick<br>
&gt;&gt;&gt;&gt; process is running or not?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;&gt; Atin<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 08/31/2015 04:17 PM, Yiping Peng wrote:<br>
&gt;&gt;&gt;&gt; &gt; I&#39;ve tried both: assuming server1 is already in pool, server2 is undergoing<br>
&gt;&gt;&gt;&gt; &gt; peer-probing<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; server2:~$ mount server1:/vol1 mountpoint, fail;<br>
&gt;&gt;&gt;&gt; &gt; server2:~$ mount server2:/vol1 mountpoint, fail.<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; Strange enough. I *should* be able to mount server1:/vol1 on server2. But<br>
&gt;&gt;&gt;&gt; &gt; this is not the case :(<br>
&gt;&gt;&gt;&gt; &gt; Maybe something is broken in the server pool, as I&#39;m seeing disconnected<br>
&gt;&gt;&gt;&gt; &gt; nodes?<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; 2015-08-31 18:02 GMT+08:00 Ravishankar N &lt;<a href="mailto:ravishankar@redhat.com">ravishankar@redhat.com</a>&gt;:<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; On 08/31/2015 12:53 PM, Merlin Morgenstern wrote:<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; Trying to mount the brick on the same physical server with deamon running<br>
&gt;&gt;&gt;&gt; &gt;&gt; on this server but not on the other server:<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; @node2:~$ sudo mount -t glusterfs gs2:/volume1 /data/nfs<br>
&gt;&gt;&gt;&gt; &gt;&gt; Mount failed. Please check the log file for more details.<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; For mount to succeed the glusterd must be up on the node that you specify<br>
&gt;&gt;&gt;&gt; &gt;&gt; as the volfile-server; gs2 in this case. You can use -o<br>
&gt;&gt;&gt;&gt; &gt;&gt; backupvolfile-server=gs1 as a fallback.<br>
&gt;&gt;&gt;&gt; &gt;&gt; -Ravi<br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt;&gt; Gluster-users mailing list<br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt;&gt;&gt;&gt; &gt;&gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; &gt; Gluster-users mailing list<br>
&gt;&gt;&gt;&gt; &gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt;&gt;&gt;&gt; &gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;<br>
&gt;&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://www.gluster.org/mailman/listinfo/gluster-users">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Gluster-users mailing list<br>
&gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
</p>