GFS分布式文件系统群集——及搭建-创新互联

内容要点

创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目成都网站制作、做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元邵武做网站,已为上家服务,为邵武各地企业和个人服务,联系电话:028-86922220

一、GlusterFS 简介:

二、GlusterFS 的卷类型:

三、GlusterFS 部署:

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

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

第三步:时间同步

第五步:GlusterFS 卷的创建

第六步:客户端配置

第七步:测试

一、GlusterFS 简介:

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

  • 开源的分布式文件系统;

  • 由存储服务器、客户端以及 NFS/Samba 存储网关组成;

(1)GlusterFS 特点:

  • 扩展性和高性能;

  • 高可用性;

  • 全局统一命名空间;

  • 弹性卷管理;

  • 基于标准协议

(2)模块化堆栈架构:

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

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

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

3、GlusterFS 工作流程:

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

4、弹性 HASH 算法:

  • 通过 HASH 算法得到一个32位的整数;

  • 划分为 N 个连接的子空间,每个空间对应一个 Brick;

  • 弹性 HASH 算法的优点:

  • 保证数据平均分布在每一个 Brick 中;

  • 解决了对元数据服务器的依赖,进而解决了单点故障以及服访问瓶颈。

二、GlusterFS 的卷类型:

(1)分布式卷:

  • 没有对文件进行分块处理;

  • 通过扩展文件属性保存 HASH值;

  • 支持的底层文件系统有 ext3 、ext4 、ZFS 、XFS等

特点:

  • 文件分布在不同的服务器,不具备冗余性;

  • 更容易和廉价地扩展卷的大小;

  • 单点故障会造成数据丢失;

  • 依赖底层的数据保护。

(2)条带卷:

  • 根据偏移量将文件分为 N 块(N个条带节点),轮询的存储在每个 Brick Server 节点;

  • 存储大文件时,性能尤为突出;

  • 不具备冗余性,类似 raid0

特点:

  • 数据被分割成更小块分布到块服务器群中的不同条带区;

  • 分布减少了负载且更小的文件加速了存取的速度;

  • 没有数据冗余

(3)复制卷:

  • 同一个文件保存一份或多分副本;

  • 复制模式因为要保存副本,所以磁盘利用率较低;

  • 多个节点上的存储空间不一致,那么将安装木桶效应取最低节点的容量作为该卷的总容量

特点:

  • 卷中所有的服务器均保存一个完整的副本;

  • 卷的副本数量可由客户创建的时候决定;

  • 至少由两个块服务器或更多服务器;

  • 具备容灾性。

(4)分布式条带卷:

  • 兼顾分布式和条带卷的功能;

  • 主要用于大文件访问处理;

  • 至少最少需要 4 台服务器。

(5)分布式复制卷:

  • 兼顾分布式卷和复制卷的功能;

  • 用于需要冗余的情况下

三、GlusterFS 部署:

环境准备:

  • 五台虚拟机,一台作为客户端,另外四台作为节点,每个虚拟机新增4块磁盘(每个20G大小就可以了)

角色空间大小
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=1yum -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分布式文件系统群集——及搭建

可以发现:

  • 分布式卷所有文件都在;

  • 复制卷所有文件都在;

  • 挂载分布式条带卷只有 demo5.log 一个文件了,丢失了4个;

  • 挂载分布式复制卷所有文件都在;

  • 条带卷所有文件都丢失了。

(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      //允许某台主机挂载

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:GFS分布式文件系统群集——及搭建-创新互联
URL标题:http://abwzjs.com/article/cdsops.html