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