Linux环境GulusterFS共享磁盘配置
前言
GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有高扩展性、高性能、高可用性、可横向扩展的弹性特点,无元数据服务器设计使GlusterFS没有单点故障隐患。采用GlusterFS为应用服务器提供应用包完全共享,保障应用服务的一致性;并基于GlusterFSUnify模式下多存储空间的功能,实现各服务器磁盘当前可用空间的充分利用。
1、安装GlusterFS
分别在全部服务器节点上安装GlusterFS。
a) GlusterFS需要fuse和ctypes的支持,在安装开始前需要先安装fuse和ctypes,可通过yum软件仓库源实现安装:
yum -y install gcc flex fuse bison byaccopenssl-devel python-ctypes
b) 上传安装包glusterfs-3.3.2.tar.gz至/root下执行安装步骤,命令:
tar zxvf glusterfs-3.3.2.tar.gz
cd glusterfs-3.3.2
./configure --enable-fusermount
make&& make install
c) 配置GlusterFS自启动:
service glusterd start
chkconfig glusterd on
2、配置GlusterFS服务端
a) 首先确保每个节点的主机名相互配置在/etc/hosts文件中,以下配置须在所有服务器节点上操作:
编辑/etc/hosts:
# vim /etc/hosts
然后插入以下内容—对应IP、别称,在hosts文件中写入:
10.0.0.1 p01
10.0.0.2 p02
10.0.0.3 p03
10.0.0.4 p04
10.0.0.5 p05
10.0.0.6 p06
b) 分别在每个节点上分配用于GlusterFS存储的文件夹目录(空闲区域),在每个节点上执行:
# mkdir -p /data/disk01
注意:
每个用于GlusterFS存储的文件夹目录/data/disk01以后都不能进行直接的文件(夹)操作,否则需要通过命令进行文件同步修复。
c) 将各应用服务器节点组合成一个GlusterFS集群,在这里以6个节点为例,只需在任一个节点添加集群内剩余其它节点即可。以节点p01为例,依次执行:
gluster peer probe p02
gluster peer probe p03
gluster peer probe p04
gluster peer probe p05
gluster peer probe p06
d) 以/data/disk01为共享目录,创建一个名为project的共享磁盘存储卷,只需在任一个节点操作即可,以节点p01为例:
gluster volume create project replica 6 p01:/data/disk01 p02:/data/disk01 p03:/data/disk01 p04:/data/disk01 p05:/data/disk01 p06:/data/disk01
其中project为新建的自定义存储卷名称,6为存储卷内节点数量,后面依次是各节点共享磁盘设定路径。
e) 启动并优化共享磁盘:
gluster volume start project
gluster volume quota project enable
gluster volume quota project limit-usage / 100G
gluster volume set project auth.allow 10.234.*
gluster volume set project performance.cache-size 512MB
gluster volume set project performance.flush-behind on
gluster volume info project
注意:
1、limit-usage共享磁盘存储卷参数以节点剩余可用存储之和为标准向下调节,必须小于该和值。
2、performance.cache-size缓存参数不易过大,若物理机内存4G建议配置gluster缓存256MB,若物理机内存≥8G建议配置gluster缓存512MB。
3、gluster volume info project为查看存储卷信息命令。
3、配置GlusterFS客户端
分别在全部服务器节点上配置GlusterFS共享磁盘挂载
a) Mount直接挂载
i. 创建挂载目标目录,用于日常应用文件操作:
mkdir -p /usr/local/project/
--/usr/local/project/为自行创建路径,根据个人情况自定义。
ii. 挂载共享磁盘存储卷于目标目录。各服务器节点配置时,应挂载指向本机,以节点p01为例:
mount -t glusterfs p01:project /usr/local/project/
iii. 验证。在每个服务器节点的/usr/local/project下,新建或上传不同名称文件,也可以在该路径下修改某文件内容,在集群内其它节点/usr/local/project下查看是否实现文件共享。
b) autofs间接挂载
i. 不需要创建目标目录/usr/local/project/
ii. 安装autofs支持,命令:
yum -y install autofs-*
iii. 新建挂载点文件
vim /etc/auto.portal
iv. 添加以下内容,服务器节点配置时指向本机:
/usr/local/project --fstype=glusterfs,rwp01:/project
v. 将挂载点文件加入auto.master支持
vim /etc/auto.master
vi. 插入红色部分内容
……
/misc /etc/auto.misc
/- /etc/auto.portal --timeout=600
/net -hosts
+auto.master
……
vii. 启动autofs挂载
service autofs start
service autofs reload
viii. 配置autofs自动启动
chkconfig autofs on
ix. 查看挂载,命令:
cd /usr/local/project
mount
注意:
必须先访问以下/usr/local/project这个目录autofs才会自动挂载,autofs会合理利用远程挂载连接(用户使用时自动挂载)。结果形如:
x. 验证。在每个服务器节点的/usr/local/project下,新建或上传不同名称文件,也
可以在该路径下修改某文件内容,在集群内其它节点/usr/local/project下查看是否实现文件共享。
因篇幅问题不能全部显示,请点此查看更多更全内容