GFS分布式文件系统群集——及搭建

发布时间:2020-07-12 23:25:17 作者:wx5d3fd1efe40e3
来源:网络 阅读:238

内容要点

一、GlusterFS 简介:

二、GlusterFS 的卷类型:

三、GlusterFS 部署:

第一步:先将每台虚拟机的各个磁盘挂载好,方便操作,可以使用以下脚本

第二步:在四台 node 节点上的操作

第三步:时间同步

第五步:GlusterFS 卷的创建

第六步:客户端配置

第七步:测试

一、GlusterFS 简介:

GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。


(1)GlusterFS 特点:


(2)模块化堆栈架构:


1、模块化,堆栈式结构;

2、通过对模块的组合,实现复杂的功能;

GFS分布式文件系统群集——及搭建

3、GlusterFS 工作流程:

GFS分布式文件系统群集——及搭建

4、弹性 HASH 算法:


二、GlusterFS 的卷类型:

(1)分布式卷:


特点:


(2)条带卷:


特点:


(3)复制卷:


特点:


(4)分布式条带卷:


(5)分布式复制卷:


三、GlusterFS 部署:

环境准备:


角色空间大小
node1(192.168.220.172)80G(20G×4)
node2(192.168.220.131)80G(20G×4)
node3(192.168.220.140)80G(20G×4)
node4(192.168.220.136)80G(20G×4)
客户端(192.168.220.137)80G(20G×4)


第一步:先将每台虚拟机的各个磁盘挂载好,方便操作,可以使用以下脚本

vim disk.sh //挂载磁盘脚本,一键操作

#! /bin/bash
echo "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` quit
do
    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";;
    esac
done


第二步:在四台 node 节点上的操作

(1)修改主机名(node1、node2、node3、node4),并关闭防火墙等。

hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
hostnamectl set-hostname node4


(2)编辑 hosts 文件,添加主机名和 IP地址:


vim /etc/hosts #末行插入

192.168.220.172 node1
192.168.220.131 node2
192.168.220.140 node3
192.168.220.136 node4



(3)编写 yum 源的库,安装 GlusterFS :


cd /opt/

mkdir /abc
mount.cifs //192.168.10.157/MHA /abc   //远程挂载到本地
cd /etc/yum.repos.d/
mkdir bak  
mv Cent* bak/   //将原来的源都移到新建的文件夹中

vim GLFS.repo   //新建一个源
[GLFS]
name=glfs
baseurl=file:///abc/gfsrepo
gpgcheck=0
enabled=1


(4)安装软件包:

yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

(5)开启服务:


systemctl start glusterd
systemctl status glusterd


第三步:时间同步

ntpdate ntp1.aliyun.com   //时间同步(每台节点都需要操作)


添加存储信任池,只要在一台主机上添加其他三台节点即可:

这是在 node1 节点上的操作:


gluster peer probe node2
gluster peer probe node3
gluster peer probe node4

gluster peer status //查看所有节点状态

GFS分布式文件系统群集——及搭建


第五步:GlusterFS 卷的创建

(1)创建分布式卷:


gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force
  //利用node1和node2上的两块磁盘创建;dis-vol为磁盘名;force表示强制
     
gluster volume start dis-vol    //启动
gluster volume info dis-vol     //查看状态


(2)创建条带卷:


gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
gluster volume start stripe-vol
gluster volume info stripe-vol


(3)创建复制卷:


gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force

gluster volume start rep-vol
gluster volume info rep-vol


(4)创建分布式条带卷(至少4个节点):


gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
gluster volume start dis-stripe
gluster volume info dis-stripe


(5)创建分布式复制卷(至少4个节点):

gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force

gluster volume start dis-rep
gluster volume info dis-rep

第六步:客户端配置

(1)关闭防火墙

systemctl stop firewalld
setenforce 0


(2)配置安装 GFS 源:


cd /opt/
mkdir /abc
mount.cifs //192.168.10.157/MHA /abc   //远程挂载到本地
cd /etc/yum.repos.d/

vim GLFS.repo   //新建一个源
[GLFS]
name=glfs
baseurl=file:///abc/gfsrepo
gpgcheck=0
enabled=1
yum -y install glusterfs glusterfs-fuse   //安装软件包


(3)修改 hosts文件:


vim /etc/hosts

192.168.220.172 node1
192.168.220.131 node2
192.168.220.140 node3
192.168.220.136 node4


(4)创建临时挂载点:


mkdir -p /text/dis   //递归创建一个挂载点
mount.glusterfs node1:dis-vol /text/dis/         //挂载分布式卷

mkdir /text/strip
mount.glusterfs node1:stripe-vol /text/strip/     //挂载条带卷

mkdir /text/rep
mount.glusterfs node3:rep-vol /text/rep/          //挂载复制卷

mkdir /text/dis-str
mount.glusterfs node2:dis-stripe /text/dis-str/    //挂载分布式条带卷

mkdir /text/dis-rep
mount.glusterfs node4:dis-rep /text/dis-rep/        //挂载分布式复制卷


df-hT:查看挂载信息:

GFS分布式文件系统群集——及搭建


第七步:测试

(1)创建 5 个40M 的文件:


dd if=/dev/zero of=/demo1.log bs=1M count=40
dd if=/dev/zero of=/demo2.log bs=1M count=40
dd if=/dev/zero of=/demo3.log bs=1M count=40
dd if=/dev/zero of=/demo4.log bs=1M count=40
dd if=/dev/zero of=/demo5.log bs=1M count=40


(2)把刚刚创建的 5 个文件分别复制到不同的卷上:


cp /demo* /text/dis
cp /demo* /text/strip
cp /demo* /text/rep/
cp /demo* /text/dis-str
cp /demo* /text/dis-rep


(3)查看各个卷是如何分布的:ll -h /data/sdb1


1、分布式卷:

可以看出都是每个文件都是完整的。

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建


2、条带卷:

所有文件都被分成各一半进行分布存储。

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建

3、复制卷:

所有文件都被完整复制一遍,进行存储。

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建

4、分布式条带卷:

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建

5、分布式复制卷:

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建

GFS分布式文件系统群集——及搭建


GFS分布式文件系统群集——及搭建

(4)故障破坏测试:


现在关闭第二台节点服务器,模拟宕机;再在客户机上查看各个卷的情况:

GFS分布式文件系统群集——及搭建

可以发现:


(5)其他操作:


1、删除卷(先停止,再删除):


gluster volume stop 卷名
gluster volume delete 卷名


2、黑白名单设置:


gluster volume set 卷名 auth.reject 192.168.220.100     //拒绝某台主机挂载
gluster volume set 卷名 auth.allow 192.168.220.100      //允许某台主机挂载



推荐阅读:
  1. GFS分布式文件系统集群(实践篇)
  2. KVM+GFS——分布式文件系统【高可用】

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

gfs 文件系统 gf 分布式文件

上一篇:oracle plsql 64位 32位连接未打开 无法解析各种错终极解决方案

下一篇:FW150RM和FWR162C共同工作设置

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》