什么是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