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

Источник — «http://xgu.ru/wiki/GlusterFS»