实验模拟gfs 五大逻辑卷

目录

一    实验环境

二    4台服务端准备工作

1,66,77,88,99 四台机器加4块磁盘

2, scan 刷新磁盘供电接口   并查看

3,改主机名,方便后续操作

4,为加快访问速度  写hosts文件 做映射(55客户机也写)

5,将每个服务端新加的磁盘 格式化并分区

6,所有机器本地yum 安装gfs

7,添加节点到存储信任池中(在 node1 节点上操作)

8,创建卷(在一台node上操作即可)

8.1    创建分布式卷

8.2 创建条带卷

8.3  创建复制卷

8.4  创建分布式条带卷

8.5 创建分布式复制卷

三     55客户端步骤

1,客户端挂载 Gluster 文件系统

1.1客户端需要先做一下步骤

1.2 临时挂载Gluster 文件系统

1.3 永久挂载

四   测试 Gluster 文件系统

1.1 如何检测 得造数据

1.2 将测试数据 复制到所有的卷(挂载点)

2     查看文件分布

2.1 查看分布式卷

2.2 查看条带卷

2.3 查看复制卷

2.4 查看分布式条带卷

2.5  查看分布式复制卷分布

五    破坏性测试

1.1  分布式卷数据查看

1.2 条带卷查看

1.3 查看分布式条带卷

1.4 查看分布式复制卷

六     扩展其他的维护命令

七   总结


 GlusterFS 支持七种卷,即分布式卷(理解为通过hash算法达到把数据存放到brick)、条带卷(理解为将数据切片)、复制卷(就是raid1)、分布式条带卷(将数据切片再分布式)、分布式复制卷(复制数据再分布式)、条带复制卷和分布式条带复制卷。

生产环境中  企业80% 用分布式 复制卷 (最少4台机器)     20% 因为机器不够 用复制卷

一    实验环境

首先需要4台机器(66,77,88,99)做服务端(因为分布式复制和分布式条带   最少需要4台机器)安装gfs 提供5大逻辑卷

再用一台55机器 做客户端,分别访问这5大逻辑卷

二    4台服务端准备工作

1,66,77,88,99 四台机器加4块磁盘

2, scan 刷新磁盘供电接口   并查看

3,改主机名,方便后续操作

4,为加快访问速度  写hosts文件 做映射(55客户机也写)

传给其他机器

5,将每个服务端新加的磁盘 格式化并分区

这里为了简略,直接写/opt/fdisk.sh脚本  代码如下:

#!/bin/bash
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

脚本解释:先过滤出 除sda 的磁盘,   启用for循环  ,VAR 变量调用刚刚的磁盘名

                 进入fdisk 分区页面 (echo -e 免交互  \n 是换行的意思)

                 再mkfs 格式化

                 创建挂载点的文件夹

                 永久挂载  写到 /etc/fstab  文件中

                 mount -a 重新挂载一次

将脚本传给其他服务端

给脚本加执行权限 执行脚本

查看是否分区成功

 

6,所有机器本地yum 安装gfs

生产环境基本是内网,需要手搓本地元安装gfs   这边利用脚本快速到目的。

脚本代码如下:

#!/bin/bash
function backuprepo {
cd /etc/yum.repos.d
mkdir repo.bak
mv *.repo repo.bak
#mount /dev/sr0 /mnt > /dev/null
}

makeglfsrepo(){
echo '[glfs]
name = glfs
baseurl=file:///opt/gfsrepo
enabled=1
gpgcheck=0' > glfs.repo
}

useglfsrepo (){
yum clean all > /dev/null
yum makecache > /dev/null

}


install () {

yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
systemctl start glusterd.service 
systemctl enable glusterd.service
systemctl status glusterd.service
}
#============main==============
backuprepo
makeglfsrepo
useglfsrepo
install

脚本解释:backuprepo   makeglfsrepo  useglfsrepo install

这四个都是函数名,先定义函数,再调用函数。

重点介绍下 install 函数中的  yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma 

意思是     使用YUM命令无交互式地(-y选项)安装GlusterFS客户端、服务器、FUSE模块(允许非特权用户挂载GlusterFS卷)以及RDMA(远程直接内存访问)支持(提高GlusterFS性能)。

 #将gfsrepo 软件上传到/opt目录下  解压

给脚本加执行权限   执行脚本  所有机器成功运行gfs

注意,如果是网络元下载 gfs

#yum -y install centos-release-gluster			#如采用官方 YUM 源安装,可以直接指向互联网仓库

若出现报错,故障原因是版本过高导致 将原来的gfs卸载,重新安装

7,添加节点到存储信任池中(在 node1 节点上操作)

  • gluster: 命令行工具,用于管理和监控GlusterFS集群。
  • peer probe: 子命令组合,用于向GlusterFS集群中添加一个新的对等节点。

#在每个Node节点上查看群集状态  gluster peer status

8,创建卷(在一台node上操作即可)

#根据规划创建如下卷

卷名称 卷类型Brick
 
fenbushi分布式卷node1(/data/sdb1)、node2(/data/sdb1)
 
tiaodai条带卷node1(/data/sdc1)、node2(/data/sdc1)
fuzhi复制卷node3(/data/sdb1)、node4(/data/sdb1)
 
fbstd分布式条带卷node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1)
 
fbsfz分布式复制卷node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1)

查看卷列表
gluster volume list

8.1    创建分布式卷

#创建分布式卷,没有指定类型,默认创建的是分布式卷

#启动新建分布式卷

#查看创建分布式卷信息

8.2 创建条带卷

指定类型为 stripe,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是条带卷

启动条带

查看条带卷信息

8.3  创建复制卷

#指定类型为 replica,数值为 2,且后面跟了 2 个 Brick Server,所以创建的是复制卷

启动复制卷

查看复制卷信息

8.4  创建分布式条带卷

#指定类型为 stripe,数值为 2,而且后面跟了 4 个 Brick Server,是 2 的两倍,所以创建的是分布式条带卷

启动分布式条带卷‘

查看分布式条带卷信息

8.5 创建分布式复制卷

指定类型为 replica,数值为 4,而且后面跟了 4 个 Brick Server,,所以创建的是分布式复制卷

启动 分布式复制

查看分布式复制卷  信息

注意! 我这边指定类型为 replica,数值为 4   意思就是会复制4分, 再分布式到四台机器上

三     55客户端步骤

1,客户端挂载 Gluster 文件系统

1.1客户端需要先做一下步骤

① 安装gfs客户端软件

② 创建挂载目录

③ 配置 /etc/hosts 文件 (做服务端ip 的映射 加快速度)

1.2 临时挂载Gluster 文件系统

首先在服务端查看所有的逻辑卷 gluster volume list

临时挂载:(前面的fenbushi 是卷名      后面的是挂载的文件夹)

查看挂载情况df -Th

这边可以看到 分布式条带有20G 因为是由4个5G的盘组成

分布式复制只有5G 是因为是由4个5G的盘组成,但是是1乘以4bricks 的形式。一份数据4个brick都复制,可用容量就是5G

1.3 永久挂载

vim /etc/fstab

node1:fenbushi          /test/fenbushi              glusterfs        defaults,_netdev        0 0
node1:tiaodai             /test/taiodai                 glusterfs        defaults,_netdev        0 0
node1:fuzhi                /test/fuzhi                    glusterfs        defaults,_netdev        0 0
node1:fbstd                /test/fbstd                    glusterfs        defaults,_netdev        0 0
node1:fbsfz                /test/fbsfz                    glusterfs        defaults,_netdev        0 0

 

四   测试 Gluster 文件系统

1.1 如何检测 得造数据

(命令 dd if=/dev/zero of=/opt/demo1.log bs=1M count=40 的作用是在 /opt 目录下创建一个名为 demo1.log、大小为40兆字节的空文件,其中填充的内容全部为零字节。这种操作常用于测试、初始化磁盘、创建大文件占位符等场景。)

1.2 将测试数据 复制到所有的卷(挂载点)

2     查看文件分布

2.1 查看分布式卷

数据被分布式存储

node1(/data/sdb1):

node2(/data/sdb1):

2.2 查看条带卷

数据被分片

node1(/data/sdc1)

node2(/data/sdc1)

2.3 查看复制卷

数据没有被分片 有副本 有冗余

node3(/data/sdb1)

node4(/data/sdb1)

2.4 查看分布式条带卷

#数据被分片50% 没副本 没冗余

node1(/data/sdd1)

node2(/data/sdd1)

node3(/data/sdd1)

node4(/data/sdd1)

2.5  查看分布式复制卷分布

#数据没有被分片 有副本 有冗余

node1(/data/sde1)

node2(/data/sde1)

node3(/data/sde1)

node4(/data/sde1)

五    破坏性测试

#挂起 node2 节点(即77机器)或者关闭glusterd服务来模拟故障(亲测要挂起)

[root@node2 ~]# systemctl stop glusterd.service

 然后在客户端上查看文件是否正常

1.1  分布式卷数据查看

#在客户机上发现少了demo5.log文件,这个是在node2上的

1.2 条带卷查看

#无法访问,

1.3 查看分布式条带卷

#无法访问,分布条带卷不具备冗余性 (

1.4 查看分布式复制卷

数据正常

上述实验测试,凡是带复制数据,相比而言,数据比较安全

六     扩展其他的维护命令

1.查看GlusterFS卷
gluster volume list 

2.查看所有卷的信息
gluster volume info

3.查看所有卷的状态
gluster volume status

4.停止一个卷
gluster volume stop dis-stripe

5.删除一个卷,注意:删除卷时,需要先停止卷,且信任池中不能有主机处于宕机状态,否则删除不成功
gluster volume delete dis-stripe

6.设置卷的访问控制
#仅拒绝
gluster volume set dis-rep auth.deny 192.168.80.100

#仅允许
gluster volume set dis-rep auth.allow 192.168.80.*      #设置192.168.80.0网段的所有IP地址都能访问dis-rep卷(分布式复制卷)


安装报错:版本过高,先解除依赖关系

yum remove glusterfs-api.x86_64 glusterfs-cli.x86_64 glusterfs.x86_64 glusterfs-libs.x86_64 glusterfs-client-xlators.x86_64 glusterfs-fuse.x86_64 -y

七   总结

分布式卷:以文件为单位,通过hash散列在各个Brick中,不具备冗余
条带卷:把文件数据进行分块,轮询的分布在各个Brick中,不具备冗余能力
复制卷:把文件进行Brick中做镜像存储,具备冗余能力
分布式条带卷:不具备冗余能力,至少要4个服务器,Brick≥2 条带的2倍
分布式复制卷:具备冗余能力,至少4台Brick Brick数量≥2 副本数的2倍

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值