I’m still waiting on my server to finish installing so I made a rough sketch of what my gluster config will look like. I actually thought I had a spare case and a few other things but I don’t…so my motherboard is sitting on an anti-static pad with the hard drives, power supply and cd-rom all sitting next to it. The things I do to make something work.
Again this is the rough draft and I will elaborate on it later.
Basically, this run, I am going to have 2 servers, Server 1 and Server 2 with Server 1 acting as my Client as well. So here is the basic design of the config.
Server 1 glusterfs-server.vol
volume brick1 type storage/posix option directory /mnt/glustera end-volume volume brick2 type storage/posix option directory /mnt/glusterb end-volume volume ns1 type storage/posix option directory /mnt/ns end-volume volume server type protocol/server option transport-type tcp/server subvolumes brick1 brick2 ns1 option auth.ip.brick1.allow 192.168.2.* option auth.ip.brick2.allow 192.168.2.* option auth.ip.ns1.allow 192.168.2.* end-volume Server 2 glusterfs-server.vol (Essentially the same thing) volume brick1 type storage/posix option directory /mnt/glustera end-volume volume brick2 type storage/posix option directory /mnt/glusterb end-volume volume ns2 type storage/posix option directory /mnt/ns end-volume volume server type protocol/server option transport-type tcp/server subvolumes brick1 brick2 ns2 option auth.ip.brick1.allow 192.168.2.* option auth.ip.brick2.allow 192.168.2.* option auth.ip.ns2.allow 192.168.2.* end-volume Client glusterfs-client.vol volume stripe-1a type protocol/client option transport-type tcp/client option remote-host 192.168.2.115 option remote-subvolume brick1 end-volume volume stripe-1b type protocol/client option transport-type tcp/client option remote-host 192.168.2.115 option remote-subvolume brick2 end-volume volume stripe-2a type protocol/client option transport-type tcp/client option remote-host 192.168.2.116 option remote-subvolume brick1 end-volume volume stripe-2b type protocol/client option transport-type tcp/client option remote-host 192.168.2.116 option remote-subvolume brick2 end-volume volume -1 type protocol/client option transport-type tcp/client option remote-host 192.168.2.115 option remote-subvolume ns1 end-volume volume -2 type protocol/client option transport-type tcp/client option remote-host 192.168.2.116 option remote-subvolume ns2 end-volume volume unifyA type cluster/unify subvolumes stripe-1a stripe-1b option namespace client-ns-1 # should be a node which is not present in 'subvolumes' option scheduler rr # simple round-robin scheduler end-volume volume unifyB type cluster/unify subvolumes stripe-2a stripe-2b option namespace client-ns-2 # should be a node which is not present in 'subvolumes' option scheduler rr # simple round-robin scheduler end-volume volume afr type cluster/afr subvolumes unifyA unifyB end-volume
So once I get this implemented and confirm that it works, I will be creating a complete post with instructions for a start to finish install using Ubuntu on a 2 server 4 hard drive config. That would be a common startup for most people who had an extra drive or 2 lying around and a couple of old machines…Stay tuned!