操作系统centos5.5版本以上

服务器端和客户端都必须安装以下安装包

#安装DAG RPM Repository的更新包。DAG RPM Repository下载页面为:
#http://dag.wieers.com/rpm/packages/rpmforge-release/
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm –ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm (如果是32位就安装32位的rpm包)

#GlusterFS需要fuse支持库,需先安装:
yum -y install fuse fuse-devel httpd-devel libibverbs-devel

必备软件:GlusterFs3.2.1

wget http://download.gluster.com/pub/gluster/glusterfs/LATEST/glusterfs-3.2.1.tar.gz

服务器端和客户端都必须安装,安装方法如下:

# tar -xzf glusterfs-3.2.1.tar.gz
# cd glusterfs-3.2.1/
# ./configure prefix=/usr
# make
# make install

yum –y install flex bison 必须安装

编译安装gluster 3.2.0出错提示

错误提示

cd glusterfs-3.2.0

[root@dbm glusterfs-3.2.0]# ./confiugre --prefix=/usr/

checking for python version... 2.4

checking for python platform... linux2

checking for python script directory... ${prefix}/lib/python2.4/site-packages

checking for python extension module directory... ${exec_prefix}/lib/python2.4/site-packages

checking if python is python 2.x... 2.4

checking if python has ctypes support... no

configure: error: python does not have ctypes support

解决办法

wget http://www.python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2

rz  #--->上传python软件包

Python-2.6.5.tar.bz2

tar jxvf Python-2.6.5.tar.bz2

cd Python-2.6.5

./configure

make

make install

二 安装步骤

2.1 服务器端

1安装之前先进行flex,bison包的安装,建议在线安装:

Yum y install  flex  bison

下载glusterfs源码安装包

    glusterfs-3.1.3.tar.gz  

使用下面命令进行安装:

tar xvf glusterfs-3.1.3.tar.gz

cd glusterfs-3.1.3

运行配置工具:./configure  --prefix=/usr/

进行编译:make

          make install

验证GlusterFS是不是安装成功使用下面命令:

$ glusterfs version

出现下面信息表示安装成功;

glusterfs 3.1.3 built on Mar 29 2011 01:55:58

Repository revision: v3.1.3

Copyright (c) 2006-2010 Gluster Inc. 

GlusterFS comes with ABSOLUTELY NO WARRANTY.

You may redistribute copies of GlusterFS under the terms of the GNU Affero General Public License.

启动glusterd daemon

service glusterd start

停止glusterd daemon

service glusterd stop

2.2配置卷

2.2.3 前期准备

范例:创建volumes(以创建2台为例)

在配置GlusterFS volumes之前,你需要创建一个包含存储服务器的存储池;而在创建存储池时必须每个存储服务器的GlusterFS service是开启的;

创建存储池peers命令:

gluster peer probe SERVER

SERVER表示存储服务器的IP地址

例如我要创建包含两台服务器的存储池使用命令如下:

# gluster peer probe 192.168.12.203

Probe successful

  注意在创建存储池时,需要在主存储服务器依次创建附加服务器的peers,主服务器不需要添加。

查看peers是不是创建成功:

# gluster peer status

出现如下信息表示存储池创建成功:

Number of Peers: 1

Hostname: 192.168.12.203

Uuid: 5070f9cd-bb2f-49b7-a765-f0c04faf2240

State: Peer in Cluster (Connected)

注意此信息中uuid必须是有值的,state处于连接状态,否则不能创建卷。

2.2.4创建Distributed Volumes

# gluster volume create v8 transport tcp 192.168.12.202:/home/mc5/data5/ 192.168.12.203:/home/mc6/data6/

Creation of volume distribute has been successful

红色字体部分需要根据实际情况修改;v8表示卷名;tcp表示传输协议;192.168.12.202表示

存储服务器IP/home/mc5/data5表示存储服务器存储挂载点。

查看volume 信息:# gluster volume info

Volume Name: v8

Type: distribute

Status: Started

Number of Bricks: 2

Transport-type: tcp

Bricks:

Brick1: 192.168.12.202:/home/mc2/data2

Brick2: 192.168.12.203:/home/mc3/data3

2.2.5创建Replicated volumes

# gluster volume create v8 replica 2 transport tcp 192.168.12.202:/home/mc2/data2/ 192.168.12.203:/home/mc3/data3/

红色字体部分需要根据实际情况修改;v8表示卷名;replica表示卷类型;2表示以2个为一组;tcp表示传输协议;192.168.12.202表示存储服务器IP/home/mc5/data5表示存储服务器存储挂载点。

注:Replicated volumes要求2个以上为一组才能创建。

查看volume 信息:# gluster volume info

Volume Name: v8

Type: Replicate

Status: Started

Number of Bricks: 2

Transport-type: tcp

Bricks:

Brick1: 192.168.12.202:/home/mc5/data5

Brick2: 192.168.12.203:/home/mc6/data6

2.2.6创建Distributed  Striped Volumes

# gluster volume create v8 stripe 2 transport tcp 192.168.12.202:/home/mc5/data5/ 192.168.12.203:/home/mc6/data6/

红色字体部分需要根据实际情况修改;v8表示卷名;stripe表示卷类型;2表示以2个为一组;tcp表示传输协议;192.168.12.202表示存储服务器IP/home/mc5/data5表示存储服务器存储挂载点。

注:Distributed Striped volumes要求2个以上为一组才能创建;

查看volume 信息:# gluster volume info

Volume Name: v8

Type: stripe

Status: Started

Number of Bricks: 2

Transport-type: tcp

Bricks:

Brick1: 192.168.12.202:/home/mc5/data5

Brick2: 192.168.12.203:/home/mc6/data6

启动卷命令:

# gluster volume start v8

停止卷命令

# gluster volume stop v8

V8表示卷名。

查看卷文件相关日志目录:

tail -f /usr/var/log/glusterfs/bricks/home-mc5-data5.log

红色字体可能因挂载点不同而有所改变需要注意。

2.2 客户端

2.2.1 安装环境准备

fuse module的安装(建议在线安装)

运行如下命令进行安装:

$ yum install  openssh-server  wget  fuse  fuse-libs  openib  libibverbs

验证安装:

Fuse模块的验证:

$ modprobe fuse

$ dmesg | grep -i fuse

如果显示:fuse init (API version 7.10),则表示fuse模块安装成功

2.2.2 gluster软件安装

安装Glusterclient所需的rpm

glusterfs-fuse-3.1.3-1.x86_64.rpm;

glusterfs-core-3.1.3-1.x86_64.rpm

使用rpm Uvh glusterfs-*rpm进行安装

同样通过glusterfs version验证安装是否成功。

至此,所有的安装过程结束,可以开始挂载使用存储了。

2.2.3 挂载卷

客户端挂载存储服务器卷使用:

mount -t glusterfs 192.168.12.202:/v8 /usr/local/movies

192.168.12.202 表示主serverIP

V8表示卷名

/usr/local/movies表示客户端挂载点

验证mount是否成功

 $ df lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3             128G   33G   89G  28% /

/dev/sda1             1.9G   42M  1.8G   3% /boot

tmpfs                 2.0G     0  2.0G   0% /dev/shm

glusterfs#192.168.12.202:/v8

                      551G  1.4G  521G   1% /usr/local/movies

出现红色字体部分表示已经挂载上存储服务器。

卸载卷

$ umount /usr/local/movies

客户端挂载方法

方法一:

glusterfs -f /etc/glusterfs/glusterfs.vol /usr/local/movies/ -l /var/log/glusterfs.log

方法二:

glusterfs -f $GLUSTERFSPATH/client.vol /mnt/glusterfs

三 GlusterFS软件介绍

GlusterFS是一款开源的分布式存储系统,它基于fuse设计,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IPInfiniBand RDMA网络将物理分布的存储资源集中在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。

GlusterFS统一的挂载点

glusterfs卷类型介绍

1Distributed Volumes

分布卷模式,卷中资源仅在一台服务器上存储,在存储池中非镜像或条带模式。

2Distributed Replicated Volumes

分布镜像卷模式:创建一个两两互为备份的卷,存储池中一块硬盘损坏,不会影响到数据的使用,最少需要两台服务器才能创建分布镜像卷。

3Distributed Striped Volumes

分布条带卷:每个文件分布在四台共享服务器上,通常用于大文件访问处理,最少需要4台服务器才能创建分布条带卷。

四 相关文档

官方主页:

http://gluster.com/community/documentation/index.php/Main_Page

服务器安装:

http://gluster.com/community/documentation/index.php/Gluster_3.1_Filesystem_Installation_and_Configuration_Guide

客户端安装:

http://gluster.com/community/documentation/index.php/Gluster_3.1_Native_Client_Guide

挂载卷:

http://gluster.com/community/documentation/index.php/Gluster_3.1:_Mounting_Volumes

http://www.cnkker.com/Article.aspx?PostID=144