[Gluster-users] Best practice to stop the Gluster CLIENT process?

Robert Klemme shortcutter at googlemail.com
Tue May 10 12:02:14 UTC 2011


On Fri, May 6, 2011 at 9:14 PM, Martin Schenker
<martin.schenker at profitbricks.com> wrote:
> So if I get this right, you'll have to rip the heart out (kill all gluster
> processes; server AND client) in order to get to the local server
> filesystem.
>
> I had hoped that the client part could be left running (to the second mirror
> brick) when doing repairs etc. Looks like a wrong assumption, I guess...

You can do that.  I just did it with 3.0.2 on my test [cg]luster.  Two
nodes, one volume mirrored, both acting as server and client with a
local mount.  I killed glusterfs (the server demon) on one machine,
then checked with "find /mount_point | xargs lsof': no open files.
Then unmounted successfully and checked the file system with fsck -f.
In the meantime I could create and edit files on the mirrored volume
without issues.  After I brought up the node's server again files were
updated properly and both servers were back in sync.

> Are client/server hybrids ONLY connected to the LOCAL server?

>From what I understand in 3.0.2 there is just one demon implementation
but several instances:

rklemme at gl01:~$ pstree -A
init-+-atd
     |-cron
     |-dhclient3
     |-5*[getty]
     |-glusterfs---2*[{glusterfs}]
     |-glusterfs---10*[{glusterfs}]
     |-login---bash
     |-portmap
     |-rpc.statd
     |-rsyslogd---3*[{rsyslogd}]
     |-sshd---sshd---sshd---bash---pstree
     |-udevd---2*[udevd]
     `-upstart-udev-br
rklemme at gl01:~$

The first subtree are the server instances, the second subtree are the
client instances it seems.  Clients connect to both instances.

rklemme at gl01:~$ netstat -n -a | sed -n -e '1,2 p;/6996/ p'
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:6996            0.0.0.0:*               LISTEN
tcp        0      0 192.168.57.1:1022       192.168.57.1:6996       ESTABLISHED
tcp        0      0 192.168.57.1:1020       192.168.57.2:6996       ESTABLISHED
tcp        0      0 192.168.57.1:6996       192.168.57.1:1023       ESTABLISHED
tcp        0      0 192.168.57.1:6996       192.168.57.2:1022       ESTABLISHED
tcp        0      0 192.168.57.1:6996       192.168.57.2:1023       ESTABLISHED
tcp        0      0 192.168.57.1:6996       192.168.57.1:1022       ESTABLISHED
tcp        0      0 192.168.57.1:1023       192.168.57.1:6996       ESTABLISHED
tcp        0      0 192.168.57.1:1021       192.168.57.2:6996       ESTABLISHED

.1 is the local node, .2 is the other one.

Story seems to be slightly different with 3.2 in so far as there seem
to be different executables for server and client.

Kind regards

robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/



More information about the Gluster-users mailing list