目录
1.简介
2.特点
扩展性和高性能
高可用性
全局统一命名空间
弹性卷管理
基于标准协议
3.术语
Brick (存储块)
Volume (逻辑卷)
FUSE
VFS
Glusterd
4.工作流程
5.卷类型
6.部署GFS群集
GFS(GlusterFS) 是一个开源的分布式文件系统
由存储服务器、客户端以及NFS/Samba 存储网关(可选,根据需要选择使用)组成
没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性
指可信主机池中由主机提供的用于物理存储的专用分区,是GlusterFS中的基本存储单元,同时也是可信存储池中服务器上对外提供的存储目录
一个逻辑卷是一组 Brick 的集合。卷是数据存储的逻辑设备,类似于 LVM 中的逻辑卷。大部分 Gluster 管理操作是在卷上进行的
是一个内核模块,允许用户创建自己的文件系统,无须修改内核代码
内核空间对用户空间提供的访问磁盘的接口
在存储群集中的每个节点上都要运行
1.客户端或应用程序通过 GlusterFS 的挂载点访问数据
2.linux系统内核通过 VFS API 收到请求并处理
3.VFS 将数据递交给 FUSE 内核文件系统,并向系统注册一个实际的文件系统 FUSE,而 FUSE 文件系统则是将数据通过 /dev/fuse 设备文件递交给了 GlusterFS client 端。可以将 FUSE 文件系统理解为一个代理
4.GlusterFS client 收到数据后,client 根据配置文件的配置对数据进行处理
5.经过 GlusterFS client 处理后,通过网络将数据传递至远端的 GlusterFS Server,并且将数据写入到服务器存储设备上
GlusterFS 支持七种卷,即分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、条带复制卷和分布式条带复制卷
###常用的有 分布式卷 条带卷 复制卷 分布式条带卷 分布式复制卷
写一个自动分盘的脚本(要先给虚拟机加盘)
NEWDEV=`ls /dev/sd* | grep -o 'sd[b-z]' | uniq`
for VAR in $NEWDEV
do
echo -e "n\np\n\n\n\nw\n" | fdisk /dev/$VAR &> /dev/null
mkfs.xfs /dev/${VAR}"1" &> /dev/null
mkdir -p /data/${VAR}"1" &> /dev/null
echo "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0" >> /etc/fstab
done
mount -a &> /dev/null
给权限 到目录执行脚本
chmod +x /opt/fdisk.sh
cd /opt/
./fdisk.sh
echo "192.168.177.102 node1" >> /etc/hosts
echo "192.168.177.104 node2" >> /etc/hosts
echo "192.168.177.106 node3" >> /etc/hosts
echo "192.168.177.107 node4" >> /etc/hosts
所有节点操作
cd /opt
unzip gfsrepo
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak
vim /etc/yum.repos.d/glfs.repo
[glfs]
name=glfs
baseurl=file:///opt/gfsrepo
gpgcheck=0
enabled=1
yum clean all && yum makecache 清理缓存下载元数据
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma 下载需要的文件
systemctl start glusterd 开启服务(可以status查看一下以做确认)
在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:/data/sdb1 node2:/data/sdb1 force 创建分布式卷,没有指定类型,默认创建的是分布式卷
gluster volume start dis-volume 启动新建分布式卷
gluster volume info dis-volume 查看创建分布式卷信息
创建条带卷
gluster volume create stripe-volume stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
gluster volume start stripe-volume
gluster volume info stripe-volume
创建复制卷
gluster volume create rep-volume replica 2 node3:/data/sdb1 node4:/data/sdb1 force
gluster volume start rep-volume
gluster volume info rep-volume
创建分布式条带卷
gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
gluster volume start dis-stripe
gluster volume info dis-stripe
创建分布式复制卷
gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force
gluster volume start dis-rep
gluster volume info dis-rep
gluster volume list查看卷