[Gluster-users] gluster failover with no afr

Nikola Garafolic nikola.garafolic at srce.hr
Tue Aug 31 11:36:45 UTC 2010


I have the following setup:

2 hosts working as glusterfs servers, and 2 shared luns on SAN, that can 
be mounted on any of the nodes at the same time (currently they are 
formatted as xfs).

I would like to use both luns accessible on the same glusterfs server at 
the time, but have the ability to switch automatically to second 
glusterfs server in case of failure.

Currently I setup servers to export both luns, and then use them as 
distributed, and on client to use them as ha translator..

You can see all from config files. Now, when I mount glusterfs, I can 
see volume, but get input/output error, obviously due to some error in 
configuration.

Server1 file:

volume posix1
   type storage/posix
   option directory /data1/
end-volume

volume posix2
   type storage/posix
   option directory /data2/
end-volume

volume locks1
     type features/locks
     subvolumes posix1
end-volume

volume locks2
     type features/locks
     subvolumes posix2
end-volume

volume brick1
     type performance/io-threads
     option thread-count 8
     subvolumes locks1
end-volume

volume brick2
     type performance/io-threads
     option thread-count 8
     subvolumes locks2
end-volume

volume distribute
     type cluster/distribute
     subvolumes brick1 brick2
end-volume

volume server-tcp
     type protocol/server
     option transport-type tcp
     option auth.addr.brick1.allow *
     option auth.addr.brick2.allow *
     option auth.addr.distribute.allow *
     option transport.socket.listen-port 6996
     option transport.socket.nodelay on
     subvolumes brick1 brick2 distribute
end-volume

Server2 file:

volume posix1
   type storage/posix
   option directory /data1/
end-volume

volume posix2
   type storage/posix
   option directory /data2/
end-volume

volume locks1
     type features/locks
     subvolumes posix1
end-volume

volume locks2
     type features/locks
     subvolumes posix2
end-volume

volume brick1
     type performance/io-threads
     option thread-count 8
     subvolumes locks1
end-volume

volume brick2
     type performance/io-threads
     option thread-count 8
     subvolumes locks2
end-volume

volume distribute
     type cluster/distribute
     subvolumes brick1 brick2
end-volume

volume server-tcp
     type protocol/server
     option transport-type tcp
     option auth.addr.brick1.allow *
     option auth.addr.brick2.allow *
     option auth.addr.distribute.allow *
     option transport.socket.listen-port 6996
     option transport.socket.nodelay on
     subvolumes brick1 brick2 distribute
end-volume

Client:

volume glusterfs01-1
     type protocol/client
     option transport-type tcp
     option remote-host 192.168.10.11
     option transport.socket.nodelay on
     option transport.remote-port 6996
     option remote-subvolume distribute
end-volume

volume glusterfs02-1
     type protocol/client
     option transport-type tcp
     option remote-host 192.168.10.12
     option transport.socket.nodelay on
     option transport.remote-port 6996
     option remote-subvolume distribute
end-volume

volume ha
     type testing/cluster/ha
     subvolumes glusterfs01-1 glusterfs02-1
     option preferred-subvolume glusterfs01-1
end-volume

volume readahead
     type performance/read-ahead
     option page-count 4
     subvolumes ha
end-volume

volume iocache
     type performance/io-cache
     option cache-size `echo $(( $(grep 'MemTotal' /proc/meminfo | sed 
's/[^0-9]//g') / 5120 ))`MB
     option cache-timeout 1
     subvolumes readahead
end-volume

volume quickread
     type performance/quick-read
     option cache-timeout 1
     option max-file-size 64kB
     subvolumes iocache
end-volume

volume writebehind
     type performance/write-behind
     option cache-size 4MB
     subvolumes quickread
end-volume

Regards,
Nikola



More information about the Gluster-users mailing list