GlusterFS
Материал из Xgu.ru
Инсталляция распределённой файловой системы GlusterFS 2.X на Linux CentOS 5.Х
На каждом узле:
# yum install --enablerepo=rpmforge fuse # yum install make gcc gcc-c++ # yum install flex bison byacc # yum install kernel-devel # wget http://ftp.gluster.com/pub/gluster/glusterfs/fuse/fuse-2.7.4glfs11.tar.gz # tar -zxvf fuse-2.7.4glfs11.tar.gz # cd /root/fuse-2.7.4glfs11/ # ./configure # make && make install # wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/2.0.2/glusterfs-2.0.2.tar.gz # tar -xzf glusterfs-2.0.2.tar.gz # cd glusterfs-2.0.2 # ./configure --prefix= > /dev/null # make && make install # ldconfig
На каждом серверном узле:
# mkdir /data/ # mkdir /data/export # mkdir /data/export-ns # mkdir /mnt/glusterfs # mkdir /etc/glusterfs/ # mcedit /etc/glusterfs/glusterfs-server.vol
Для конфигурации с двумя серверными узлами (server1: 192.168.0.1, server2: 192.168.0.2):
volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks subvolumes posix end-volume volume brick type performance/io-threads option thread-count 8 subvolumes locks end-volume volume posix-ns type storage/posix option directory /data/export-ns end-volume volume locks-ns type features/locks subvolumes posix-ns end-volume volume brick-ns type performance/io-threads option thread-count 8 subvolumes locks-ns end-volume volume server type protocol/server option transport-type tcp option auth.addr.brick.allow * option auth.addr.brick-ns.allow * subvolumes brick brick-ns end-volume
# glusterfsd -f /etc/glusterfs/glusterfs-server.vol
На каждом клиентском узле:
# mcedit /etc/glusterfs/glusterfs-client.vol
Для конфигурации с двумя серверными узлами (server1: 192.168.0.1, server2: 192.168.0.2):
### Add client feature and attach to remote subvolume of server1 volume brick1 type protocol/client option transport-type tcp/client option remote-host 192.168.0.1 # IP address of the remote brick option remote-subvolume brick # name of the remote volume end-volume ### Add client feature and attach to remote subvolume of server2 volume brick2 type protocol/client option transport-type tcp/client option remote-host 192.168.0.2 # IP address of the remote brick option remote-subvolume brick # name of the remote volume end-volume ### The file index on server1 volume brick1-ns type protocol/client option transport-type tcp/client option remote-host 192.168.0.1 # IP address of the remote brick option remote-subvolume brick-ns # name of the remote volume end-volume ### The file index on server2 volume brick2-ns type protocol/client option transport-type tcp/client option remote-host 192.168.0.2 # IP address of the remote brick option remote-subvolume brick-ns # name of the remote volume end-volume #The replicated volume with data volume afr1 type cluster/afr subvolumes brick1 brick2 end-volume #The replicated volume with indexes volume afr-ns type cluster/afr subvolumes brick1-ns brick2-ns end-volume #The unification of all afr volumes (used for > 2 servers) volume unify type cluster/unify option scheduler rr # round robin option namespace afr-ns subvolumes afr1 end-volume
# glusterfs -f /etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
или, если требуется запретить прямое обращение к файлам на файловой системе, то
# glusterfs --disable-direct-io-mode -f /etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
Файловая система теперь доступна через примонтированную папку /mnt/glusterfs