什么是Gluster?

Gluster是一个可扩展的分布式文件系统,可将来自多个服务器的磁盘存储资源整合到一个全局名称空间中。

优点

  • 缩放到几PB
  • 处理数千个客户
  • POSIX兼容
  • 使用商品硬件
  • 可以使用任何支持扩展属性的ondisk文件系统
  • 使用NFS和SMB等行业标准协议访问
  • 提供复制,配额,地理复制,快照和bitrot检测
  • 允许优化不同的工作量
  • 开源

Gluster在CentOS7.x中如何安装?

1、实验环境:

node1.acs.com:192.168.1.1
node2.acs.com:192.168.1.2
client.acs.com:192.168.1.3

2、选用CentOS存储SIG组件

# yum search centos-release-gluster
# yum install centos-release-gluster40
# yum install glusterfs gluster-cli glusterfs-libs glusterfs-server
2.1、选用 Gluster.org 组件

从 gluster.org 下载最新的 glusterfs-epel 软件库:

# yum install wget -y

# wget -P /etc/yum.repos.d/ http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo

另外亦从 fedoraproject.org 安装最新版的 EPEL 软件库,以便能满足所有依赖性:

#yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

3、在node1、node2两个节点启用并运行 glusterfsd.service:

# systemctl enable glusterd.service
# systemctl start glusterd.service

利用 gluster 指令连接到第二个 GlusterFS 节点并创建一个 Trusted Pool(存储群集)。

# gluster peer probe node2.acs.com

检查群集的状态:

# gluster peer status

在两个存储节点中建立相同路径的目录:

# mkdir /bricks

创建一个被复制的 GlusterFS
这个指令只需在第一个节点 node1.acs.com 上执行。

# gluster volume create gvname replica 2 ma.acs.com:/bricks \
mb.acs.com:/bricks \
force
# gluster volume start gvname

如果您只想授予对client.acs.com(= 192.168.1.3)的访问权限,请运行:

#gluster volume gvname auth.allow 192.168.1.3

4、Client设置从client.acs.com连接到GV

安装glusterfs-client

# yum -y install glusterfs-client

加载GV到指定目录:

# mount.glusterfs ma.acs.com:/gvname /mnt/

不要在客户端手动安装GlusterFS共享,而是将mount命令添加到/etc/rc.local文件。我不会将它添加到/ etc/fstab中,因为rc.local总是在网络启动后执行,这对于网络文件系统是必需的

打开/etc/rc.local 并追加以下行:

# vi /etc/rc.local
/usr/sbin/mount.glusterfs ma.acs.com:/gvname /mnt/

授权rc.local

#chmod +x /etc/rc.d/rc.local

reboot,重启系统测试下是否会自动加载

5、防火墙设置

GlusterFS 节点之间的沟通必须运用 TCP 端口 24007-24008

# firewall-cmd --zone=public --add-port=24007-24008/tcp --permanent
# firewall-cmd --zone=public --add-port=24009/tcp --permanent
# firewall-cmd --zone=public --add-service=nfs --add-service=samba --add-service=samba-client --permanent

为 Glusterfs/NFS/CIFS 客户端打开防火墙

# firewall-cmd --zone=public --add-port=111/tcp --add-port=139/tcp --add-port=445/tcp --add-port=965/tcp --add-port=2049/tcp \
--add-port=38465-38469/tcp --add-port=631/tcp --add-port=111/udp --add-port=963/udp --add-port=49152-49251/tcp --permanent
# firewall-cmd --reload

其它技术参考:
# https://wiki.centos.org/zh/HowTos/GlusterFSonCentOS