GFS企业分布式存储

本文详细介绍了GFS(GlusterFS)的部署流程,包括环境准备、硬盘分区、配置hosts、安装启动及创建不同类型的卷。接着讲述了客户端的部署,包括验证文件系统分布和进行破坏性测试,强调了有复制功能的卷数据安全性较高。最后,提到了GFS文件系统的维护命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、部署流程

1. 环境部署

节点ip磁盘挂载点
node1192.168.8.13sdb1、sdc1、sdd1、sde1/data
node2192.168.8.14sdb1、sdc1、sdd1、sde1/data
node3192.168.8.15sdb1、sdc1、sdd1、sde1/data
node4192.168.8.16sdb1、sdc1、sdd1、sde1/data
client192.168.8.17\\
  • 四台节点均需要添加四块磁盘,不需要太大(需关机状态下添加)
    在这里插入图片描述
#四台服务器操作
hostname node1															#临时修改主机名
bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
ntpdate ntp1.aliyun.com													#时间同步
1234567

在这里插入图片描述

2. 硬盘分区挂载

vim /opt/fdisk.sh
	#!/bin/bash
	echo "the disks exist list:"
	##grep出系统所带磁盘
	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` quit   
	do
   	 case $VAR in
   	 sda)
	 ##本地磁盘就退出case语句
     	   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";;
   	 esac
	done
chmod +x /opt/fdisk.sh
cd /opt/
sh -x fdisk.sh
12345678910111213141516171819202122232425262728293031323334353637383940414243

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 配置/etc/hosts文件(所有节点上操作)

echo "192.168.8.13 node1" >> /etc/hosts
echo "192.168.8.14 node2" >> /etc/hosts
echo "192.168.8.15 node3" >> /etc/hosts
echo "192.168.8.16 node4" >> /etc/hosts
cat /etc/hosts
12345

在这里插入图片描述

4. 安装、启动GFS

四个节点配置相同

  • 把 gfsrepo 压缩包上传至 opt 目录下
unzip gfsrepo.zip
1

在这里插入图片描述

  • 配置 yum 本地源
cd /etc/yum.repos.d/
mkdir repo.bak
mv CentOS-* repo.bak

vim 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		   #安装gluster
systemctl start glusterd.service		 									   #开启gluster服务
systemctl enable glusterd.service
systemctl status glusterd.service

netstat -antp | grep glusterd
123456789101112131415161718

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 添加节点并创建集群

添加节点到存储信任池中,只需在 node1 节点上操作

添加节点到存储信任池中(在node1节点上操作)
gluster peer probe node1
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4
gluster peer status		  				#在每个节点上查看群集状态
123456

在这里插入图片描述

6. 根据规划创建卷

卷名卷类型Brick
dis-volume分布式卷node1(/data/sdb1)、node2(/data/sdb1)
stripe-volume条带卷node1(/data/sdc1)、node2(/data/sdc1)
rep-volume复制卷node3(/data/sdb1)、node4(/data/sdb1)
dis-stripe分布式条带卷node1(/data/sdd1)、node2(/data/sdd1)、node3(/data/sdd1)、node4(/data/sdd1)
dis-rep分布式复制卷node1(/data/sde1)、node2(/data/sde1)、node3(/data/sde1)、node4(/data/sde1)

6.1 创建分布式卷

gluster volume create dis-volume node1:/data/sdb1 node2:/data/sdb1 force
#创建分布式卷,没有指定类型,默认创建的是分布式卷

gluster volume list
#查看类型

gluster volume start dis-volume
#开启

gluster volume info dis-volume
#查看卷信息
1234567891011

在这里插入图片描述

6.2 创建条带卷

gluster volume create stripe-volume stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
#指定类型为 stripe,数值为2,且后面跟了2个 Brick Server,所以创建的是条带卷

gluster volume start stripe-volume
gluster volume info stripe-volume
12345

在这里插入图片描述

6.3 创建复制卷

gluster volume create rep-volume replica 2 node3:/data/sdb1 node4:/data/sdb1 force#指定类型为replica,数值为2,且后面跟了2个Brick Server,所以创建的是复制卷gluster volume start rep-volumegluster volume info rep-volume
1

在这里插入图片描述

6.4 创建分布式条带卷

gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force#指定类型为stripe,数值为2,而且后面跟了4个Brick Server,是2的两倍,所以创建的是分布式条带卷gluster volume start dis-stripegluster volume info dis-stripe
1

在这里插入图片描述

6.5 创建分布式复制卷

gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force#指定类型为 replica,数值为 2,而且后面跟了 4 个 Brick Server,是 2 的两倍,所以创建的是分布式复制卷gluster volume start dis-repgluster volume info dis-repgluster volume list
1

在这里插入图片描述

二、Client 客户端部署与测试

1. 部署 Gluster 客户端

在 node1上创建五个卷后,在客户端上把卷挂载在指定的五个目录内,在目录内写入了五个文件,五个文件分别保存在五个目录里面

  • 环境部署
systemctl stop firewalldsystemctl disable firewalldsetenforce 0ntpdate ntp1.aliyun.com#将软件包 gfsrepo.zip 传至 opt 目录下cd /optunzip gfsrepo.zip
1
  • 配置本地 yum 源仓库
cd /etc/yum.repos.d/mkdir repos.bakmv CentOS-* repos.bak/vim glfs.repo[glfs]name=glfsbaseurl=file:///opt/gfsrepogpgcheck=0enabled=1yum clean all && yum makecacheyum install -y glusterfs glusterfs-fuse
1

在这里插入图片描述

  • 创建挂载目录
mkdir -p /test/{dis,stripe,rep,dis_stripe,dis_rep}ls /test
1

在这里插入图片描述

  • 配置 /etc/hosts 文件
echo "192.168.8.13 node1" >> /etc/hostsecho "192.168.8.14 node2" >> /etc/hostsecho "192.168.8.15 node3" >> /etc/hostsecho "192.168.8.16 node4" >> /etc/hosts
1

在这里插入图片描述

  • 挂载 Gluster 文件系统
mount.glusterfs node1:dis-volume /test/dismount.glusterfs node1:stripe-volume /test/stripemount.glusterfs node1:rep-volume /test/repmount.glusterfs node1:dis-stripe /test/dis_stripemount.glusterfs node1:dis-rep /test/dis_repdf -Th
1

在这里插入图片描述

  • 卷中写入文件
cd /optdd if=/dev/zero of=/opt/demo1.log bs=1M count=40dd if=/dev/zero of=/opt/demo2.log bs=1M count=40dd if=/dev/zero of=/opt/demo3.log bs=1M count=40dd if=/dev/zero of=/opt/demo4.log bs=1M count=40dd if=/dev/zero of=/opt/demo5.log bs=1M count=40#生成一个特定大小的文件给与/opt/demo*.log下,大小为1M,共处理40次ls -lh /optcp demo* /test/discp demo* /test/stripe/cp demo* /test/rep/cp demo* /test/dis_stripe/cp demo* /test/dis_rep/tree /test/											#查看/test/的文件夹/文件的目录树
1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 验证 gluster 文件系统

gluster 服务器上查看文件分布

  • ① 查看分布式文件分布
ls -lh /data/sdb1		 			 #没有被分片,文件分开节点存放
1

在这里插入图片描述
在这里插入图片描述

  • ② 查看条带卷文件分布
ls -lh /data/sdc1		 				#查询数据被分片50% 没副本 没冗余
1

在这里插入图片描述
在这里插入图片描述

  • ③ 查看复制卷分布
#复制卷放在了 node3、node4ll -h /data/sdb1	 								#没有被分片,有副本,有冗余  
1

在这里插入图片描述
在这里插入图片描述

  • ④ 查看分布式条带卷分布
ll -h /data/sdd1		 				#文件被分片50%,没副本,没冗余
1

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • ⑤ 查看分布式复制卷分布
ll -h /data/sde1		 					#数据没有被分片 有副本 有冗余
1

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. 破坏性测试分布式文件系统

#关闭 glusterd 服务 node2 节点来模拟故障[root@node2]#systemctl stop glusterd	 					ls		           								#在客户端上查看文件是否正常#查看卷数据是否正常ls /test/dis		 							#测试分布式是否正常ls /test/rep		 							#测试复制带是否正常ls /test/stripe		 							#测试条带是否正常ll /test/dis_stripe	 							#测试分布式条带是否正常ls /test/dis_rep		 						#测试分布复制带是否正常
1

在这里插入图片描述

小结:有复制数据功能的卷数据比较安全

三、GFS 文件系统的维护命令

gluster volume list													#查看GlusterFS卷gluster volume info		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老赵学coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值