其他分享
首页 > 其他分享> > GFS企业分布式存储

GFS企业分布式存储

作者:互联网

目录

一、部署流程

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

四个节点配置相同

unzip gfsrepo.zip
1

在这里插入图片描述

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
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

在这里插入图片描述

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

在这里插入图片描述

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		

标签:存储,GFS,gluster,volume,test,node1,dis,data,分布式
来源: https://blog.csdn.net/Stephencurr/article/details/122393375