GlusterFS概述
GlusterFS简介
开源分布式文件系统
由存储服务器,客户端以及NFS/Samba存储网关组成
无元数据服务器
GlusterFS特点
扩展性和高性能
高可用性
全局统一命名空间
弹性卷管理
基于标准协议
模块化堆栈式架构
模块化,堆栈式的架构
通过对模块的组合,实现复杂的功能
GlusterFS的工作原理
弹性hash算法
通过hash算法得到的32位的整数
划分为N个连续的子空间,每个空间对应一个Brick
弹性hash算法的优点
保证数据平均分布在每个Brick中
解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈
GlusterFS的卷类型
分布式卷
没有对文件艰辛分块处理
通过拓展文件属性保存hash值
支持底层的文件系统由EXT3,4,ZFS,XFS等
分布式卷的特点
文件分布在不同的服务器,不具备冗余性
更容易和廉价地扩展卷的大小
单点故障会造成数据丢失
依赖底层的数据保护
条带卷
根据偏移量将文件分成N快(N个条带节点),轮询的,存储在每个Brick Server节点
存储大文件时,性能尤为突出
不具备冗余性,类似Raid0
条带卷特点
数据被分割成更小块分布到块服务器群中的不同条带区
分布减少了负载而且更小的文件加速了存取的速度
没有数据冗余
复制卷
同一文件保存一份或多份副本
因为要保存副本,所以磁盘利用率较低
若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量
复制卷的特点
卷中所有的服务器均保存一个完整的副本
卷的副本数量可由客户创建的时候决定
至少有两个块服务器或更多服务器
具备冗余性
分布式条带卷
分布式复制卷
条带复制卷
分布式条带复制卷
实验步骤
192.168.93.132 | /dev/sdb(3GB)/dev/sdc(4GB)/dev/sdd(5GB) /dev/sde(6GB) | /b3 /c4 /d5 /e6 | node1 |
192.168.93.133 | /dev/sdb(3GB)/dev/sdc(4GB) /dev/sdd(5GB) /dev/sde(6GB) | /b3 /c4 /d5 /e6 | node2 |
192.168.93.134 | /dev/sdb(3GB)/dev/sdc(4GB)/dev/sdd(5GB) /dev/sde(6GB) | /b3 /c4 /d5 /e6 | node3 |
192.168.93.135 | /dev/sdb(3GB)/dev/sdc(4GB)/dev/sdd(5GB) /dew/sde(6GB) | /b3 /c4 /d5 /e6 | node4 |
192.168.93.136 | client |
在所有node节点执行
mkdir /b3
mkfs -t xfs /dev/sdb
mount /dev/sdb /b3
mkfs -t xfs /dev/sdc
mkdir /c4
mount /dev/sdc /c4/
mkdir /d5
mkfs -t xfs /dev/sdd
mount /dev/sdd /d5
mkfs -t xfs /dev/sde
mkdir /e6
mount /dev/sde /e6
##五台机器都执行安装glusterfs_rpm.tar.gz和配置
tar zxf glusterfs_rpm.tar.gz
cd glusterfs_rpm
cd glusterfs/
yum -y localinstall *
cat >> /etc/hosts << EOF
192.168.93.132 node1
192.168.93.133 node2
192.168.93.134 node3
192.168.93.135 node4
192.168.93.136 client
EOF
##所有node节点执行
systemctl start glusterd.service
systemctl enable glusterd.service
在node1节点执行
gluster peer probe node1
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4
#验证配置
gluster peer status
gluster volume create dis-volume node1:/e6 node2:/e6 force
gluster volume list
gluster volume start dis-volume
gluster volume info dis-volume
在client节点执行
mkdir -p /test/dis
mount -t glusterfs node1:dis-volume /test/dis/
创建复制卷
node1节点
创建并启动复制卷
gluster volume create rep-volume replica 2 node3:/d5 node4:/d5 force
gluster volume info rep-volume
gluster volume start rep-volume
###################################################################
在client节点查看验证
[root@client ~]# mkdir /test/rep
[root@client ~]# mount -t glusterfs node1:rep-volume /test/rep/
[root@client ~]# df -Th
[root@client ~]# cp /etc/fstab /test/rep/
然后在node34查询
ls /d5
如果有内容就是成功
分布式复制卷
在node1节点执行
gluster volume create dis-rep replica 2 node1:/c4 node2:/c4 node3:/c4 node4:/c4 force
gluster volume info dis-rep
gluster volume start dis-rep
############################################################################
在client进行操作
mkdir /test/dis-rep
mount -t glusterfs node1:dis-rep /test/dis-rep
df -Th
echo 'hi' > /test/dis-rep/kgc.txt
echo 'hi' > /test/dis-rep/kgc.html
在node3,4节点查询
ls /c4
有kgc.txt和kgc.htmk就是成功
在client节点添加
vi /etc/fstab
node1:dis-volume /test/dis glusterfs defaults,_netdev 0 0
保存退出实现永久挂载