一、概述
本文档旨在向读者介绍CentOS-6.2操作系统下GlusterFS的安装及配置。
在http://www.gluster.org/可以了解到更多并可以下载到最新的glusterfs安装包,glusterfs需要使用了fuse,fuse可以到http://fuse.sourceforge.net/进行下载。
二、GlusterFS架构
GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。
2.1、外部架构
GlusterFS总体架构与组成部分如上图所示,它主要由存储服务器(Brick Server)、客户端以及NFS/Samba存储网关组成。
GlusterFS架构中没有元数据服务器组件,这是其最大的设计这点,对于提升整个系统的性能、可靠性和稳定性都有着决定性的意义
2.2、内部架构
GlusterFS是模块化堆栈式的架构设计,如上图所示。模块称为Translator,是GlusterFS提供的一种强大机制,借助这种良好定义的接口可以高效简便地扩展文件系统的功能。服务端与客户端模块接口是兼容的,同一个translator可同时在两边加载。GlusterFS中所有的功能都是通过translator实现,基本简单的模块可以通过堆栈式的组合来实现复杂的功能
2.3、主要特征
Glusterfs具备的特征:
●高可用性(GlusterFS可以对文件进行自动复制)
●扩展性和高性能(利用双重特性来提供几TB至数PB的高扩展存储解决方案)
●全局统一命名空间(将磁盘和内存资源聚集成一个单一的虚拟存储池,对上层用户和应用屏蔽了底层的物理硬件)
●弹性哈希算法
●弹性卷管理
●基于标准协议(支持NFS, CIFS, HTTP, FTP以及Gluster原生协议,完全与POSIX标准兼容)
三、安装配置
3.1部署说明
系统环境CentOS release 6.2
服务端:
172.16.17.41
172.16.17.42
172.16.17.43
172.16.17.44
客户端:
172.16.17.45
3.2服务端安装配置
3.2.1安装fuse:
1. 下载源码
# wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz/download
2. 解压源码
# tar zxvf fuse-2.9.3.tar.gz
3. 更换目录
# cd fuse-2.9.3
4. 配置
# ./configure
5. 编译安装
# make && make install
3.2.2安装Glusterfs:
1. 下载源码
# wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/glusterfs-3.6.1.tar.gz
2. 解压源码
#tar zxvf glusterfs-3.6.1.tar.gz
3.更换目录
#cd glusterfs-3.6.1
4.配置
# ./configure --prefix=/usr/local/glusterfs
5.编译安装
# make && make install
3.2.3启动glusterfs:
#/etc/init.d/glusterd start
启动成功则显示如下图所示的内容:
3.2.4创建glusterfs集群:
在构建GlusterFS集群时,只需要在其中任意一台存储服务器上依次将其他存储服务器添加到集群中,本文档中将在第一台服务器(172.16.17.41)上进行配置。
# gluster peer probe 172.16.17.42
# gluster peer probe 172.16.17.43
# gluster peer probe 172.16.17.44
3.2.5查看集群信息:
# gluster peer status
注意:如果在执行# glusterpeer probe 172.16.17.42命令时出现如下图所示的错误,则可能是glusterfs命令的路径问题,可执行# export PATH=/usr/local/glusterfs/sbin/:$PATH手动添加路径。
将机器移出集群:
# gluster peer detach hostname
3.2.6创建卷
以/usr/local/glusterfs/share为共享目录,创建名为img的逻辑卷,副本数为2:
# gluster volume createimg replica 2 172.16.17.41:/usr/local/glusterfs/share 172.16.17.42:/usr/local/glusterfs/share172.16.17.43:/usr/local/glusterfs/share 172.16.17.44:/usr/local/glusterfs/shareforce
img:卷名
replica 2:冗余数
172.16.17.41:服务器名
/usr/local/glusterfs/share:brick的路径
注意:如果以root用户的目录作为共享目录,则要在创建命令末尾加上force,否则会出现如下图所示的提示:
3.2.7启动卷:
# gluster volume start img
3.2.8查看卷的状态:
# gluster volume info
3.2.9删除卷:
# gluster volume stop img
# gluster volume delete img
3.3客户端安装配置
3.3.1安装fuse:
1. 下载源码
# wgethttp://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz/download
2. 解压源码
# tar zxvf fuse-2.9.3.tar.gz
3. 更换目录
# cd fuse-2.9.3
4. 配置
# ./configure
5. 编译安装
# make && make install
3.3.2安装Glusterfs:
1. 下载源码
# wgethttp://download.gluster.org/pub/gluster/glusterfs/LATEST/glusterfs-3.6.1.tar.gz
2. 解压源码
#tar zxvf glusterfs-3.6.1.tar.gz
3.更换目录
#cd glusterfs-3.6.1
4.配置
#./configure --prefix=/usr/local/glusterfs
5.编译安装
# make && make instal
3.3.3挂载卷:
1. 创建挂载点
# mkdir -p /mnt/img
2. 挂载
# mount –t glusterfs 172.16.17.41:/img /mnt/img
3. 查看是否挂载成功
# df –h