[Gluster-users] Performance and redundancy help

Daniel Maher dma+gluster at witbe.net
Tue Feb 23 14:48:44 UTC 2010

Chad wrote:
> 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 mailing list