[Gluster-users] Performance and redundancy help
dma+gluster at witbe.net
Tue Feb 23 14:48:44 UTC 2010
> Please forgive my ignorance, but I am not sure I understand about the
> client vs server side replication.
> Could someone throw out a quick paragraph describing the 2 and/or a
> pro/con list?
> If I do client side replication, how to I access the files on the servers?
> Am I relying on the clients to sync the data between the servers?
Client-side replication is exactly what it sounds like. :) When a write
operation is initiated on a given client, the client is responsible for
communicating that operation to all of the servers.
Likewise, server-side replication is also exactly what it sounds like.
In this model, a given client communicates with only one server, and the
server is responsible for communicating any changes to the other servers
in the pool.
Logically speaking it's a straightforward shift of responsibility, but
it has a non-trivial impact in one key area : availability. In the
server-side setup, a given client is technically only aware of one
server at any given moment. If that server becomes inaccessible (for
whatever reason), there must be a mechanism for the client to « become
aware » of another server.
In the client-side setup, each client is aware of all of the servers (by
design), and thus if a server becomes inaccessible, the client (indeed,
all of the clients) can continue to interact with the remaining servers
in the pool.
> There are times when no clients are up and the servers are "doing
> things" to the file system.
There's nothing stopping you from changing your logical architecture to
a client-side replication setup, then having your servers (read : data
storage units) run a client process as well, thus making said machines
both « servers » and « clients » from a Gluster perspective.
Daniel Maher <dma+gluster AT witbe DOT net>
More information about the Gluster-users