GFS分布式文件系统集群项目
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,GFS分布式文件系统集群项目群集环境卷类型卷名称卷类型空间大小Brickdis-volume分布式卷40Gnode1(/b1)、node2(/b1)stripe-volume条带卷40Gnode1(/
千家信息网最后更新 2025年12月01日GFS分布式文件系统集群项目
GFS分布式文件系统集群项目
群集环境
卷类型
| 卷名称 | 卷类型 | 空间大小 | Brick |
|---|---|---|---|
| dis-volume | 分布式卷 | 40G | node1(/b1)、node2(/b1) |
| stripe-volume | 条带卷 | 40G | node1(/c1)、node2(/c1) |
| rep-volume | 复制卷 | 20G | node3(/b1)、node4(/b1) |
| dis-stripe | 分布式条带卷 | 40G | node1(/d1)、node2(/d1)、node3(/d1)、node4(/d1) |
| dis-rep | 分布式复制卷 | 20G | node1(/e1)、node2(/e1)、node3(/e1)、node4(/e1) |
实验准备
1、为四台服务器服务器每台添加4个磁盘
2、修改服务器的名称
分别修改为node1、node2、node3、node4
[root@localhost ~]#hostnamectl set-hostname node1[root@localhost ~]# su3、将四台服务器上的磁盘格式化,并挂载
在这里我们使用脚本执行挂载
#进入opt目录[root@node1 ~]# cd /opt#磁盘格式化、挂载脚本[root@node1 opt]# vim a.sh#! /bin/bashecho "the disks exist list:"fdisk -l |grep '磁盘 /dev/sd[a-z]'echo "=================================================="PS3="chose which disk you want to create:"select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quitdo case $VAR in sda) fdisk -l /dev/sda break ;; sd[b-z]) #create partitions echo "n p w" | fdisk /dev/$VAR #make filesystem mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null #mount the system mkdir -p /data/${VAR}"1" &> /dev/null echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab mount -a &> /dev/null break ;; quit) break;; *) echo "wrong disk,please check again";; esacdone#给于脚本执行权限[root@node1 opt]# chmod +x a.sh将脚本通过scp推送到其他三台服务器上
scp a.sh root@192.168.45.134:/optscp a.sh root@192.168.45.130:/optscp a.sh root@192.168.45.136:/opt在四台服务器上执行脚本,并完成这个只是样本
[root@node1 opt]# ./a.shthe disks exist list:==================================================1) sdb2) sdc3) sdd4) sde5) quitchose which disk you want to create:1 //选择要格式化的盘Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0x37029e96.Command (m for help): Partition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): Partition number (1-4, default 1): First sector (2048-41943039, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039Partition 1 of type Linux and of size 20 GiB is setCommand (m for help): The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.分别在四个服务器上查看挂载情况
4、设置hosts文件
在第一台node1上修改
#在文件末尾添加vim /etc/hosts192.168.45.133 node1192.168.45.130 node2192.168.45.134 node3192.168.45.136 node4通过scp将hosts文件推送给其他服务器和客户端
#将/etc/hosts文件推送给其他主机[root@node1 opt]# scp /etc/hosts root@192.168.45.130:/etc/hostsroot@192.168.45.130's password: hosts 100% 242 23.6KB/s 00:00 [root@node1 opt]# scp /etc/hosts root@192.168.45.134:/etc/hostsroot@192.168.45.134's password: hosts 100% 242 146.0KB/s 00:00 [root@node1 opt]# scp /etc/hosts root@192.168.45.136:/etc/hostsroot@192.168.45.136's password: hosts 在其他服务器上查看推送情况
关闭所有服务器和客户端的防火墙
[root@node1 ~]# systemctl stop firewalld.service [root@node1 ~]# setenforce 0在客户端和服务器上搭建yum仓库
#进入yum文件路径[root@node1 ~]# cd /etc/yum.repos.d/#创建一个空文件夹[root@node1 yum.repos.d]# mkdir abc#将CentOS-文件全部移到到abc下[root@node1 yum.repos.d]# mv CentOS-* abc#创建私有yum源[root@node1 yum.repos.d]# vim GLFS.repo[demo]name=demobaseurl=http://123.56.134.27/demogpgcheck=0enable=1[gfsrepo]name=gfsrepobaseurl=http://123.56.134.27/gfsrepogpgcheck=0enable=1#重新加载yum源[root@node1 yum.repos.d]# yum list安装必要软件包
[root@node1 yum.repos.d]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma在其他三台上进行同样的操作
在四台服务器上启动glusterd,并设置为开机自启动
[root@node1 yum.repos.d]# systemctl start glusterd.service [root@node1 yum.repos.d]# systemctl enable glusterd.service添加节点信息
[root@node1 yum.repos.d]# gluster peer probe node2peer probe: success. [root@node1 yum.repos.d]# gluster peer probe node3peer probe: success. [root@node1 yum.repos.d]# gluster peer probe node4peer probe: success. 在其他服务器上查看节点信息
[root@node1 yum.repos.d]# gluster peer status创建分布式卷
#创建分布式卷[root@node1 yum.repos.d]# gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force#检查信息[root@node1 yum.repos.d]# gluster volume info dis-vol#查看分布式现有卷[root@node1 yum.repos.d]# gluster volume list#启动卷[root@node1 yum.repos.d]# gluster volume start dis-vol 在客户端上挂载
#递归创建挂载点[root@manager yum.repos.d]# mkdir -p /text/dis#将刚才创建的卷挂载到刚才创建的挂载点下[root@manager yum.repos.d]# mount.glusterfs node1:dis-vol /text/dis创建条带卷
#创建卷[root@node1 yum.repos.d]# gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force#查看现有卷[root@node1 yum.repos.d]# gluster volume listdis-volstripe-vol#启动条带卷[root@node1 yum.repos.d]# gluster volume start stripe-vol volume start: stripe-vol: success在客户端挂载
#创建挂载点[root@manager yum.repos.d]# mkdir /text/strip#挂载条带卷[root@manager yum.repos.d]# mount.glusterfs node1:/stripe-vol /text/strip/查看挂载情况
创建复制卷
#创建复制卷[root@node1 yum.repos.d]# gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 forcevolume create: rep-vol: success: please start the volume to access data#开启复制卷[root@node1 yum.repos.d]# gluster volume start rep-vol volume start: rep-vol: success在客户机挂碍复制卷
[root@manager yum.repos.d]# mkdir /text/rep[root@manager yum.repos.d]# mount.glusterfs node3:rep-vol /text/rep查看挂载
创建分布式条带
#创建分布式条带卷[root@node1 yum.repos.d]# gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 forcevolume create: dis-stripe: success: please start the volume to access data#启动分布式条带卷[root@node1 yum.repos.d]# gluster volume start dis-stripe volume start: dis-stripe: success在客户机上挂载
[root@manager yum.repos.d]# mkdir /text/dis-strip[root@manager yum.repos.d]# mount.glusterfs node4:dis-stripe /text/dis-strip/创建分布式复制卷
#创建分布式复制卷[root@node2 yum.repos.d]# gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 forcevolume create: dis-rep: success: please start the volume to access data#开启复制卷[root@node2 yum.repos.d]# gluster volume start dis-rep volume start: dis-rep: success# 查看现有卷[root@node2 yum.repos.d]# gluster volume listdis-repdis-stripedis-volrep-volstripe-vol在客户端挂载
[root@manager yum.repos.d]# mkdir /text/dis-rep[root@manager yum.repos.d]# mount.glusterfs node3:dis-rep /text/dis-rep/查看挂载
------------------------上边我们完成了卷的创建和挂载-------------
现在我们来进行卷的测试
首先在客户机上创建5个40M的文件
[root@manager yum.repos.d]# dd if=/dev/zero of=/demo1.log bs=1M count=4040+0 records in40+0 records out41943040 bytes (42 MB) copied, 0.0175819 s, 2.4 GB/s[root@manager yum.repos.d]# dd if=/dev/zero of=/demo2.log bs=1M count=4040+0 records in40+0 records out41943040 bytes (42 MB) copied, 0.269746 s, 155 MB/s[root@manager yum.repos.d]# dd if=/dev/zero of=/demo3.log bs=1M count=4040+0 records in40+0 records out41943040 bytes (42 MB) copied, 0.34134 s, 123 MB/s[root@manager yum.repos.d]# dd if=/dev/zero of=/demo4.log bs=1M count=4040+0 records in40+0 records out41943040 bytes (42 MB) copied, 1.55335 s, 27.0 MB/s[root@manager yum.repos.d]# dd if=/dev/zero of=/demo5.log bs=1M count=4040+0 records in40+0 records out41943040 bytes (42 MB) copied, 1.47974 s, 28.3 MB/s然后复制5个文件到不同的卷上
[root@manager yum.repos.d]# cp /demo* /text/dis[root@manager yum.repos.d]# cp /demo* /text/strip[root@manager yum.repos.d]# cp /demo* /text/rep[root@manager yum.repos.d]# cp /demo* /text/dis-strip[root@manager yum.repos.d]# cp /demo* /text/dis-rep查看卷的内容
查看分布式卷
查看条带卷
查看复制卷
查看分布式条带卷


查看分布式复制卷
故障测试
关闭node2服务器观察结果
[root@manager yum.repos.d]# ls /text/dis dis-rep dis-strip rep strip[root@manager yum.repos.d]# ls /text/disdemo1.log demo2.log demo3.log demo4.log[root@manager yum.repos.d]# ls /text/dis-repdemo1.log demo2.log demo3.log demo4.log demo5.log[root@manager yum.repos.d]# ls /text/dis-strip/demo5.log[root@manager yum.repos.d]# ls /text/rep/demo1.log demo2.log demo3.log demo4.log demo5.log[root@manager yum.repos.d]# ls /text/strip/[root@manager yum.repos.d]# 结果表示:
- 分布卷缺少demo5.log文件
- 条带卷无法访问
- 复制卷正常访问
- 分布式条带卷缺少文件
- 分布式复制卷正常访问
删除卷
要删除卷需要先停止卷,在删除卷的时候,卷组必须处于开启状态
#停止卷[root@manager yum.repos.d]# gluster volume delete dis-vol#删除卷[root@manager yum.repos.d]# gluster volume delete dis-vol访问控制
#仅拒绝[root@manager yum.repos.d]# gluster volume set dis-vol auth.reject 192.168.45.133#仅允许[root@manager yum.repos.d]# gluster volume set dis-vol auth.allow 192.168.45.133
分布式
服务器
服务
文件
条带
客户
客户端
脚本
磁盘
信息
情况
格式
名称
类型
结果
节点
三台
测试
集群
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
文件太小无法上传到服务器
如何判断数据库哪些是索引
兴化橘橘味网络技术工作室
我的世界电脑宝可梦服务器
逸锐科技是软件开发公司
上海企业软件开发优势
c语言循环输入数据库
沈海高速有多少个服务器
组态王历史数据库在哪里找到
小米电视机连接不上服务器
腾讯公司软件开发模型
网络安全工程师考试培训
网络安全信息泄露犯罪罪名
数据库什么样的有外码
药物临床试验数据库
网络安全证书出问题怎么处理
网络安全隔离交换系统
新乡市慧讯网络技术
美国服务器视频网站
万户网络技术有限公司H5
品质软件开发价格走势
北京银火之光网络技术有限公司
mvc3 连接数据库
远程桌面服务器黑屏
无锡优势网络技术费用
护苗网络安全志愿者活动
cs服务器fps
联合国数据库旅游服务贸易
美国华人软件开发
数据库简单的er图