Re: Why integrate both client and server into a single executable?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2 Feb 2009 22:04:15 +0800, Kirby Zhou <kirbyzhou@xxxxxxxxxxx>
wrote:
> Why integrate both client and server into a single executable?

Presumably because most of the code is shared between the two?
(e.g. socket code, config parsing code, logging, etc.)

> I think it brings a lot of trouble to server operators.
> 
> For example:
> 
> 1.      If client and server runs together on the same node, I don't know
> which process should be kill if some bug occurs.

Since there is only one process, there is only one process to kill/restart.
I'm not sure what you mean by "I don't know which process".

Note that you can still run it as a 2-process sytem, if you really want to.
# killall glusterfs
will kill the client.
# killall glusterfsd
will kill the server.

You could bolt this down more tightly by wrapping them and saving the PID
of the process into a file, traditionally in /var/run/.

> 2.      FUSE is not necessary in the server side, but I can not avoid
> install FUSE on the server side. It increases the security venture of the
> server side.

Hmm, you may have a point there, but you only need the fuse-libs, not the
fuse kernel module. I'm not convinced that the fuse libraries are a
significant security risk.

> 3.      It increase the file size of the final binary. I want to boot up
> the gluster server node from a small USB finger, the size of binary is
> important.

I'm not sure the size of the binary is all that significant when you factor
in the size of the kernel, initrd and a minimal root. Can you provide some
actual sizing figures on this? The smallest/cheapest USB memory stick I can
find right now is 1GB and they sell for about $5 / £3.5. Is an extra few
KB of a binary disk footprint really going to make that much difference? Or
are you thinking about putting this into something _really_ small like an
ARM based appliance?

Gordan




[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux