On 03/15/2012 09:46 AM, Sean Fulton wrote:
> In a case where four client nodes need equal read/write access to the
> data, is it better to have four Gluster nodes in a replicated
> configuration with each mounting the gluster volume locally, or having
> TWO Gluster server nodes with the four clients mounting the volume from
> the two servers? In other words, the replication would only touch two
> nodes instead of four; would that improve performance.
In general, your replication level should be set to the number of failures you
need to survive plus one, and not be related to the total number of servers.
Thus, two-way or at most three-way would be considered normal, and optimal for
performance. One way to achieve this is to set up servers as pairs, with
replicas across only the two servers within each pair and distribution between
pairs. Another way, which lets you add single servers instead of pairs (with
some additional complexity to the process) is to do "diagonal" replicas, like
so:
replica set 1 = server 1 brick 1 + server 2 brick 2
replica set 2 = server 2 brick 1 + server 3 brick 2
replica set 3 = server 3 brick 1 + server 1 brick 2
> Also, would NFS be better in this case, mounting from just ONE of the
> server nodes, or using Gluster native client to mount from either of the
> two server nodes. Or can NFS mount from any/all of the gluster nodes
> using the gluster NFS server.
Whether to use native protocol or NFS is largely workload-dependent. NFS will
do more caching at the clients, so it's often better for small-file or
metadata-heavy workloads. Native protocol will generate less total network
traffic, so it's ultimately better for scalability. Also, the native protocol
handles failover internally, while NFS requires the use of UCARP or something
similar to "fool" the clients into using another server after a failure.
_______________________________________________
Gluster-users mailing list
[email protected]
http://gluster.org/cgi-bin/mailman/listinfo/gluster-users