Попробуем сделать реплицируемую файловую систему всего из двух нод. Вообще лучшие результаты при использовании glusterfs достигаются при 4 нодах и выше.
ip адрес первой ноды 10.8.18.8, второй 10.8.18.9
Ставим glusterfs
# apt-get install glusterfsу меня используется такая версия:
glusterfs-2.0.7-alt0.git20091005
И так конфиг первой ноды:
/etc/glusterfs/server.vol
volume posix type storage/posix option directory /var/data/exportend-volumevolume locks type features/locks subvolumes posixend-volumevolume brick type performance/io-threads option thread-count 8 subvolumes locksend-volumevolume server type protocol/server option transport-type tcp option auth.addr.brick.allow * subvolumes brickend-volumeКонфиг второй ноды аналогичен конфигу первой
/etc/glusterfs/server.vol
volume posix type storage/posix option directory /var/data/exportend-volumevolume locks type features/locks subvolumes posixend-volumevolume brick type performance/io-threads option thread-count 8 subvolumes locksend-volumevolume server type protocol/server option transport-type tcp option auth.addr.brick.allow * subvolumes brickend-volumeКонфиг клиентской машины
/etc/glusterfs/client.vol
volume remote1 type protocol/client option transport-type tcp option remote-host 10.8.18.8 option remote-subvolume brickend-volumevolume remote2 type protocol/client option transport-type tcp option remote-host 10.8.18.9 option remote-subvolume brickend-volumevolume replicate type cluster/replicate subvolumes remote1 remote2end-volumevolume distribute type cluster/distribute subvolumes replicateend-volumevolume writebehind type performance/write-behind option window-size 1MB subvolumes replicateend-volumevolume cache type performance/io-cache option cache-size 512MB subvolumes writebehindend-volumeНа клиенте создаем директорию куда будем монтировать glusterfs
mkdir /mnt/glusterfsПосле чего монтируем незамысловатым способом:
mount -t glusterfs /etc/glusterfs/client.vol /mnt/glusterfsИли добавляем строку в fstab
/etc/glusterfs/client.vol /mnt/glusterfs glusterfs defaults 0 0В результате экспериментов получилось добиться отказоустойчивости при отказе одной из нод. Т.е. проводил эксперимент, копировал что-то с клиента на сервер или обратно, жал ресет на одной ноде, все работало, после включения упавшей ноды происходит репликация, это резко отражается на производительности, именно поэтому рекомендуется использовать 4 ноды, как их настраивать можно почитать на сайте разработчиков. После завершения репликации можно смело выводить из строя вторую ноду, клиент в это время не замечает проблем с доступом к файлам.