我的系统是 RHEL5 , 可能环境不一样, 需要安装的第三方依赖不一样啊, 反正大家在安装的过程中缺少什么就去安装什么, 一般都会有提示的。
下载 glusterfs-3.2.0.tar.gz 源码包。 随便解压到一个目录。
glusterfs 需要 fuse 的支持, 在安装开始之前请先安装 fuse。
fuse可以到http://fuse.sourceforge.net/进行下载
安装fuse的步骤如下:
./configure
make
make install
glusterfs 需要 ctypes 的支持, 在安装开始之前请先安装 ctypes。
ctypes看的下载地址为 http://python.net/crew/theller/ctypes/
ctypes库安装时需要使用 python,安装步骤如下
python setup.py build
python setup.py test
python setup.py install
安装glusterfs, 步骤如下:
cd /home/glusterfs-3.2.0
./configure --enable-fusermount
make
make install
下来需要进行配置,我这里的环境为 :
server端3台----------- 192.168.2.85 和 192.168.2.222 和 192.168.2.98
client 端1台------------192.168.2.55
配置文件所在的目录为 /etc/glusterfs/
[root@redhat1 glusterfs]# more protocol-server.vol
### Export volume "brick" with the contents of "/home/export" directory.
volume brick
type storage/posix # POSIX FS translator
option directory /data/movies # Export this directory
end-volume
### Add network serving capability to above brick.
volume server
type protocol/server
option transport-type tcp # For TCP/IP transport
option transport.socket.listen-port 24016
# option transport-type ib-verbs # For Infiniband Verbs transport
# option transport.ib-verbs.work-request-send-size 131072
# option transport.ib-verbs.work-request-send-count 64
# option transport.ib-verbs.work-request-recv-size 131072
# option transport.ib-verbs.work-request-recv-count 64
# option transport.ib-verbs.listen-port 24016
# option bind-address 192.168.1.10 # Default is to listen on all interfaces
# option client-volume-filename /etc/glusterfs/glusterfs-client.vol
subvolumes brick
option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume
end-volume
上面是 服务器端 的配置文件,每台服务器的配置都一样, 共享数据目录为 /data/movies
启动服务器端的命令为 :
glusterfsd -l /etc/glusterfs/g.log -f /etc/glusterfs/protocol-server.vol
下面的配置文件时客户端的配置文件:
volume client0
type protocol/client
option transport-type tcp # for TCP/IP transport
# option transport-type ib-sdp # for Infiniband transport
option remote-host 192.168.2.85 # IP address of the remote brick
option transport.socket.remote-port 24016
# option transport-type ib-verbs # for Infiniband verbs transport
# option transport.ib-verbs.work-request-send-size 1048576
# option transport.ib-verbs.work-request-send-count 16
# option transport.ib-verbs.work-request-recv-size 1048576
# option transport.ib-verbs.work-request-recv-count 16
# option transport.ib-verbs.remote-port 24016
option remote-subvolume brick # name of the remote volume
# option transport-timeout 30 # default value is 120seconds
end-volume
volume client1
type protocol/client
option transport-type tcp # for TCP/IP transport
# option transport-type ib-sdp # for Infiniband transport
option remote-host 192.168.2.222 # IP address of the remote brick
option transport.socket.remote-port 24016
# option transport-type ib-verbs # for Infiniband verbs transport
# option transport.ib-verbs.work-request-send-size 1048576
# option transport.ib-verbs.work-request-send-count 16
# option transport.ib-verbs.work-request-recv-size 1048576
# option transport.ib-verbs.work-request-recv-count 16
# option transport.ib-verbs.remote-port 24016
option remote-subvolume brick # name of the remote volume
# option transport-timeout 30 # default value is 120seconds
end-volume
volume client2
type protocol/client
option transport-type tcp # for TCP/IP transport
# option transport-type ib-sdp # for Infiniband transport
option remote-host 192.168.2.98 # IP address of the remote brick
option transport.socket.remote-port 24016
# option transport-type ib-verbs # for Infiniband verbs transport
# option transport.ib-verbs.work-request-send-size 1048576
# option transport.ib-verbs.work-request-send-count 16
# option transport.ib-verbs.work-request-recv-size 1048576
# option transport.ib-verbs.work-request-recv-count 16
# option transport.ib-verbs.remote-port 24016
option remote-subvolume brick # name of the remote volume
# option transport-timeout 30 # default value is 120seconds
end-volume
volume unify
type cluster/distribute
subvolumes client0 client1 client2
end-volume
启动客户端的命令为:
glusterfs -l /etc/glusterfs/glusterfs.log -f /etc/glusterfs/protocol-client.vol /mnt
启动后可以检查 /etc/glusterfs/glusterfs.log 文件, 进行查看日志。
也可以用 df -h 命令来查看,如下代表成功
glusterfs#/etc/glusterfs/protocol-client.vol
654G 133G 487G 22% /mnt
由于glusterfs 使用了 fuse, 所以就和使用本地的一个目录一样使用这个分布式的文件系统了。
不信你就执行一下 :
ls /mnt
cp /etc/glusterfs/protocol-client.vol /mnt
ls /mnt
祝大家工作愉快 !
在配置的过程中如果有什么问题, 大家还可以参考
http://hi.baidu.com/farmerluo/blog/category/Glusterfs
介绍的还是蛮详细的。