千家信息网

搭建 GFS 分布式文件系统-----实操

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,一、GlusterFS 简介:GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。开
千家信息网最后更新 2024年10月01日搭建 GFS 分布式文件系统-----实操

一、GlusterFS 简介:

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

开源的分布式文件系统;
由存储服务器、客户端以及 NFS/Samba 存储网关组成;
(1)GlusterFS 特点:

扩展性和高性能;
高可用性;
全局统一命名空间;
弹性卷管理;
基于标准协议
(2)模块化堆栈架构:

1、模块化,堆栈式结构;
2、通过对模块的组合,实现复杂的功能;

3、GlusterFS 工作流程:

4、弹性 HASH 算法:

(1)通过 HASH 算法得到一个32位的整数;
(2)划分为 N 个连接的子空间,每个空间对应一个 Brick;
(3)弹性 HASH 算法的优点:
(4)保证数据平均分布在每一个 Brick 中;
(5)解决了对元数据服务器的依赖,进而解决了单点故障以及服访问瓶颈。

二、GlusterFS 的卷类型:

(1)分布式卷:

(1)没有对文件进行分块处理;
(2)通过扩展文件属性保存 HASH值;
(3)支持的底层文件系统有 ext3 、ext4 、ZFS 、XFS等
特点:

(1)文件分布在不同的服务器,不具备冗余性;
(2)更容易和廉价地扩展卷的大小;
(3)单点故障会造成数据丢失;
(4)依赖底层的数据保护。
(2)条带卷:

(1)根据偏移量将文件分为 N 块(N个条带节点),轮询的存储在每个 Brick (2)Server 节点;
(3)存储大文件时,性能尤为突出;
(4)不具备冗余性,类似 raid0
特点:

(1)数据被分割成更小块分布到块服务器群中的不同条带区;
(2)分布减少了负载且更小的文件加速了存取的速度;
(3)没有数据冗余
(3)复制卷:

(1)同一个文件保存一份或多分副本;
(2)复制模式因为要保存副本,所以磁盘利用率较低;
(3)多个节点上的存储空间不一致,那么将安装木桶效应取最低节点的容量(4)作为该卷的总容量
特点:

(1)卷中所有的服务器均保存一个完整的副本;
(2)卷的副本数量可由客户创建的时候决定;
(3)至少由两个块服务器或更多服务器;
(4)具备容灾性。
(4)分布式条带卷:

(1)兼顾分布式和条带卷的功能;
(2)主要用于大文件访问处理;
(3)至少最少需要 4 台服务器。
(5)分布式复制卷:

(1)兼顾分布式卷和复制卷的功能;
(2)用于需要冗余的情况下

三、GlusterFS 实操走起:

五台虚拟机:一台作为客户端,另外四台作为节点,每个虚拟机新增4块磁盘(每个磁盘20G)

1、先将各个磁盘分区、格式化、挂载好,可以使用以下脚本

vim disk.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

2、在四台 node 节点上的操作
(1)修改主机名(node1、node2、node3、node4),并关闭防火墙等。

(2)编辑 hosts 文件(当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。),添加主机名和 IP地址

vim   /etc/hosts192.168.220.172 node1192.168.220.131 node2192.168.220.140 node3192.168.220.136 node4

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

cd /opt/mkdir /abcmount.cifs //192.168.10.157/MHA /abc   //远程挂载到本地cd /etc/yum.repos.d/mkdir bak  mv Cent* bak/   //将原来的源都移到新建的文件夹中vim GLFS.repo   //新建一个源[GLFS]name=glfsbaseurl=file:///abc/gfsrepogpgcheck=0enabled=1

(4)安装软件包

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

(5)开启服务

systemctl start glusterdsystemctl status glusterd

(6)查看状态

3、时间同步,每台节点都需要操作

ntpdate ntp1.aliyun.com   //时间同步

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

gluster peer probe node2gluster peer probe node3gluster peer probe node4gluster peer status //查看所有节点状态

四、创建各种卷

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 forcegluster volume start stripe-volgluster volume info stripe-vol

3、建复制卷

gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 forcegluster volume start rep-volgluster volume info rep-vol

4、分布式条带卷

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

5、分布式复制卷

gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 forcegluster volume start dis-repgluster volume info dis-rep

6、客户端配置
(1)关闭防火墙

(2)配置安装 GFS 源:

cd /opt/mkdir /abcmount.cifs //192.168.10.157/MHA /abc   //远程挂载到本地cd /etc/yum.repos.d/vim GLFS.repo   //新建一个源[GLFS]name=glfsbaseurl=file:///abc/gfsrepogpgcheck=0enabled=1

(3)安装软件包

yum -y install glusterfs glusterfs-fuse  

(4)修改 hosts文件:

vim /etc/hosts192.168.220.172 node1192.168.220.131 node2192.168.220.140 node3192.168.220.136 node4

(5)创建临时挂载点:

mkdir -p /text/dis   //递归创建一个挂载点mount.glusterfs node1:dis-vol /text/dis/         //挂载分布式卷mkdir /text/stripmount.glusterfs node1:stripe-vol /text/strip/     //挂载条带卷mkdir /text/repmount.glusterfs node3:rep-vol /text/rep/          //挂载复制卷mkdir /text/dis-strmount.glusterfs node2:dis-stripe /text/dis-str/    //挂载分布式条带卷mkdir /text/dis-repmount.glusterfs node4:dis-rep /text/dis-rep/        //挂载分布式复制卷

(6)df-hT:查看挂载信息:

五、测试各个卷

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

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

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

cp /demo* /text/discp /demo* /text/stripcp /demo* /text/rep/cp /demo* /text/dis-strcp /demo* /text/dis-rep

(3)查看各个卷是如何分布的:ll -h /data/sdb1
1、分布式卷:
可以看出都是每个文件都是完整的。


2、条带卷:
所有文件都被分成各一半进行分布存储。


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


4、分布式条带卷:




5、分布式复制卷:


(4)故障破坏测试:
现在关闭第二台节点服务器,模拟宕机;再在客户机上查看各个卷的情况:

总结:

1、分布式卷所有文件都在;
2、复制卷所有文件都在;
3、挂载分布式条带卷只有 demo5.log 一个文件了,丢失了4个;
4、挂载分布式复制卷所有文件都在;
5、条带卷所有文件都丢失了。
(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      //允许某台主机挂载
文件 分布式 条带 服务 节点 服务器 磁盘 存储 数据 系统 主机 客户 冗余 副本 功能 特点 不同 地址 客户端 弹性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 个人计算机三级网络技术 数据库库存字段 计算机网络技术电脑配置 数据库培训哪个机构好 宽带网络安全密钥修改 网络安全工程师看准网 工业自动化与网络安全 成都编程软件开发 手抄报关于网络安全的有哪些 ef多数据库切换 公安部网络安全信息定级指南 自己电脑做数据服务器 杭州红包扫雷软件开发公司 数据库大容量如何提高性能 车裁网络技术发展史 河北互联网养老软件开发专业制作 迷你服务器怎么炸ice 香格里拉天气预报软件开发 软件开发公司业务规划 基岩版服务器导入实验性玩法 汽车控制器软件开发工具 防火墙是网络安全中的应用 中国手游软件开发商排名 阿里云服务器手机管理 数据库 创建一对多关系图 java文件保存数据库 张家口财务管理微服务架构数据库 nacos为什么要写到数据库 计算机网络安全基础考题 上海宜递互联网科技电话
0