实验模拟gfs 五大逻辑卷

简介: 实验模拟gfs 五大逻辑卷

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倍

相关文章
|
2月前
|
Linux
使用mdadm工具实现软RAID 0实战案例
文章介绍了如何使用mdadm工具在Linux系统中创建和管理软RAID 0设备,包括准备工作、创建RAID 0、格式化文件系统、挂载RAID设备、测试读写速度以及重启服务器后验证RAID设备是否自动挂载的完整过程。
99 2
使用mdadm工具实现软RAID 0实战案例
|
2月前
|
Linux 测试技术
使用mdadm工具实现软RAID 5实战案例
文章详细介绍了如何使用mdadm工具在Linux系统中创建和管理软RAID 5设备,包括准备工作、创建RAID 5、格式化文件系统、挂载RAID设备、测试读写速度、备份配置信息、手动下线和添加设备以及禁用和启用RAID设备的完整过程。
229 0
使用mdadm工具实现软RAID 5实战案例
|
2月前
|
存储 缓存 Linux
Linux文件系统的功能规划
【9月更文挑战第12天】本文通过类比图书馆,形象地解释了文件系统的组织形式和管理方法。首先,文件系统需按块存储文件,并设有索引区方便查找。其次,热点文件应有缓存层提高效率,文件需分类存储以便管理。最后,Linux内核需记录文件使用情况,通过文件描述符区分不同文件,确保文件操作准确无误。
磁盘和文件系统管理实验
磁盘和文件系统管理实验
47 0
|
Linux 芯片
第二章 主机规划与磁盘分区
第二章 主机规划与磁盘分区
38 0
|
安全 Unix Linux
关于嵌入式Linux系统flash分区设计及文件系统格式选择的一些浅见
嵌入式系统应用程序升级是比较频繁的,对于flash的合理划分与文件系统选型就显得尤为关键。
367 0
|
运维
【运维】 mdadm Raid5模拟坏盘实验
mdadm Raid5模拟坏盘实验
3469 7
【运维】 mdadm Raid5模拟坏盘实验
|
存储 缓存 算法
文件系统与磁盘常见优化方案和术语
文件系统与磁盘常见优化方案和术语
文件系统与磁盘常见优化方案和术语
下一篇
无影云桌面