GFS分布式文件存储系统

GFS分布式文件存储系统GFS分布式文件存储系统一GlusterFS概述二GlusterFS工作原理三GlusterFS卷类型3.1分布式卷3.2条带卷3.3复制卷3.4分布式条带卷3.5分布式复制卷四GlusterFS案例部署4.1实验环境4.2关闭防火墙与selinux4.3配置hosts文件4.4磁盘格式化与挂载4.5安装软件4.5.1共享Windows系统文件夹gfsrepo4.5.2查看共享文件夹4.5.3挂载共享文件夹4.5.4设置本地源仓库4.5.5安装软件4.5.6时间同步4

大家好,又见面了,我是你们的朋友全栈君。

一 GlusterFS概述

GlusterFS是开源的分布式文件系统,由存储服务器、客户端以及NFS/Samba存储网关组成的无元数据服务器

二 GlusterFS工作原理

  • 扩展性和高性能
  • 高可用性
  • 全局统─命名空间
  • 弹性卷管理
  • 基于标准协议RDMA or TCP/IP

弹性HASH算法
通过HASH算法得到一个32位的整数
划分为N个连续的子空间,每个空间对应一个Brick弹性

HASH算法的优点

  • 保证数据平均分布在每一个Brick中
  • 解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈

三 GlusterFS卷类型

3.1 分布式卷

没有对文件进行分块处理
通过扩展文件属性保存HASH值
支持的底层文件系统有EXT3、EXT4、ZFS、XFS等

分布式卷的特点

  • 文件分布在不同的服务器,不具备冗余性更容易和廉价地扩展卷的大小
  • 单点故障会造成数据丢失
  • 依赖底层的数据保护

创建分布式卷
gluster volume create dis-volume server1:/dir1 server2:/dir2server3:/dir3

3.2 条带卷

  • 根据偏移量将文件分成N块 (N个条带节点),轮询的存储在每个Brick Server节点
  • 存储大文件时,性能尤为突出
  • 不具备冗余性,类似Raid0

条带卷的特点

  • 数据被分割成更小块分布到块服务器群中的不同条带区
  • 分布减少了负载且更小的文件加速了存取的速度
  • 没有数据冗余

创建条带卷
创建了一个名为Stripe-volume的条带卷,文件将被分块轮询的存储在Server1:/dir1和Server2:/dir2两个Brick中

gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2

3.3 复制卷

同一文件保存一份或多份副本
因为要保存副本,所以磁盘利用率较低
若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量

复制卷的特点

  • 卷中所有的服务器均保存一个完整的副本
  • 卷的副本数量可由客户创建的时候决定
  • 至少有两个块服务器或更多服务器
  • 具备冗余性

创建复制卷
创建名为rep-volume的复制卷,文件将同时存储两个副本,分别在Server1:/dir1和Server2:/dir2两个Brick中
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2

3.4 分布式条带卷

兼顾分布式卷和条带卷的功能
主要用于大文件访问处理
至少最少需要4台服务器

创建分布式条带卷
创建了名为dis-stripe的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)

gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1server2:/dir2 server3:/dir3 server4:)dir4

3.5 分布式复制卷

兼顾分布式卷和复制卷的功能
用于需要冗余的情况

创建分布式复制卷
创建名为dis-rep的分布式条带卷,配置分布式复制卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)
gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4

四 GlusterFS案例部署

4.1 实验环境

操作系统 IP 主机名 硬盘数量
centos 7.4 20.0.0.100 node1 sdb:20G sdc:20G sdd:20G sde:20G
centos 7.4 20.0.0.12 node2 sdb:20G sdc:20G sdd:20G sde:20G
centos 7.4 20.0.0.27 node3 sdb:20G sdc:20G sdd:20G sde:20G
centos 7.4 20.0.0.30 node4 sdb:20G sdc:20G sdd:20G sde:20G
centos 7.4 20.0.0.10 node5-client sdb:20G sdc:20G sdd:20G sde:20G

4.2 关闭防火墙与selinux

各节点关闭防火墙与核心防护

[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# systemctl disable firewalld

[root@node1 ~]# setenforce 0

4.3 配置hosts文件

4台节点分别修改主机名

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

4台节点分别做地址映射

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
20.0.0.100  node1
20.0.0.12   node2
20.0.0.27   node3
20.0.0.30   node4

4.4 磁盘格式化与挂载

磁盘格式化与挂载脚本
vim disk.sh

#! /bin/bash
echo "查找到的可创建磁盘列表"
fdisk -l | grep 'Disk /dev/sd[b-z]'
echo "=============================="
PS3="chose which disk you want to create:"
select W in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit
do
        case $W in
        sda)
            fdisk -l /dev/sda
            break;;
        sd[b-z])
             echo "n p w" | fdisk /dev/$W
        mkfs.xfs -i size=512 /dev/${W}"1" &>/dev/null
        mkdir -p /data/${W}"1" &>/dev/null
        echo -e "/dev/${W}"1" /data/${W}"1" xfs defaults 0 0\n" >> /etc/fstab
        mount -a &>/dev/null
        break;;
        quit)
        break;;
        *)
        echo "wrong disk,plwase chesk again";;
        esac
done

复制脚本到其他节点

[root@node1 ~]# scp disk.sh root@20.0.0.12:/root
[root@node1 ~]# scp disk.sh root@20.0.0.27:/root
[root@node1 ~]# scp disk.sh root@20.0.0.30:/root

4.5 安装软件

4.5.1 共享Windows系统文件夹gfsrepo

1.文件共享添加everyone用户指定读取权限
在这里插入图片描述
2.设置本地策略secpol.msc
在这里插入图片描述
在这里插入图片描述
3:网络和共享中心—–>共享选项—–>把所有共享选项设置为允许
在这里插入图片描述
在这里插入图片描述
4. 控制面板—->程序—-> 开启SMB支持
在这里插入图片描述

4.5.2 查看共享文件夹

smbclient -L //192.168.100.2/

4.5.3 挂载共享文件夹

mkdir /abc
mount.cifs //192.168.100.2/gfsrepo /abc
回车

4.5.4 设置本地源仓库

vi /etc/yum.repos.d/GLFS.repo
[GLFS]
name=glfs
baseurl=file:///abc
gpgcheck=0
enabled=1
cd /etc/yum.repo.d/
mkdir bak
mv C* bak

4.5.5 安装软件

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

启动软件
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service

4.5.6 时间同步

ntpdate ntp1.aliyun.com

4.6 添加节点

添加存储信任池,只需要在一个节点上添加即可

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

4.7 查看集群状态

gluster peer status

4.8 卷的创建

创建分布式卷

gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force 

查看分布式卷

gluster volume info dis-vol

创建条带卷

[root@node1 yum.repos.d]# gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force

查看条带卷

gluster volume info stripe-vol

查看卷列表

gluster volume list

创建复制卷

[root@node1 yum.repos.d]# gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force

开启复制卷

gluster volumn start rep-vol
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139833.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月7日 下午7:40
下一篇 2022年5月7日 下午7:40


相关推荐

  • python爬虫常用库

    python爬虫常用库python爬虫常用库请求库:1.requests这个库是爬虫最常用的一个库2.SeleniumSelenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下

    2022年7月3日
    23
  • 什么的数据传送单位是报文_简述Mpls数据报文的转发过程

    什么的数据传送单位是报文_简述Mpls数据报文的转发过程http请求报文和响应报文前言http协议是一个应用层协议,其报文分为请求报文和响应报文当客户端请求一个网页时,会先通过http协议将请求的内容封装在http请求报文之中,服务器收到该请求报文后根据协议规范进行报文解析,然后向客户端返回响应报文。http报文结构为:起始行对报文进行描述头部向报文中添加了一些附加信息,是一个名/只的列表,头部和协议配合工作,共同决定了客户端和服务器…

    2025年6月25日
    4
  • 机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法

    机器学习-算法-半监督学习:半监督学习(Semi-supervised Learning)算法一 半监督学习算法提出的背景 1 监督学习监督学习 训练样本集不仅包含样本 还包含这些样本对应的标签 即样本和样本标签成对出现 监督学习的目标是从训练样本中学习一个从样本到标签的有效映射 使其能够预测未知样本的标签 监督学习是机器学习中最成熟的学习方法 代表性的算法包括神经网络 支持向量机 SVM 等 2 无监督学习无监督学习 只能利用训练样本的数据分布或样本间的关系将样本划分到不同的聚类簇或给出样本对应的低维结构 因此 无监督学习常被用于对样本进行聚类或降维 典型的算法包括尺均值聚类和主成

    2026年3月2日
    1
  • sendfile详解

    sendfile详解ZeroCopyI:User-ModePerspective作者:DraganStancevic,2003-01-01原文地址:http://www.linuxjournal.com/article/6345译者:Love.Katherine,2007-03-25译文地址:http://blog.csdn.net/lovekatherine/archive/2007

    2022年6月6日
    41
  • FPGA的图像处理算法

    FPGA的图像处理算法下面简要分析了FPGA技术,包括FPGA技术原理和技术特点等,随后介绍一下FPGA的图像处理系统算法的实现,包括存储模块、运算单元、控制模块以及数据传输模块等内容。智能机器人、多媒体已经计算机的诞生都离不开数字图象处理技术,随着计算机智能化图像处理技术的不断发展,几乎所有领域当中都有数字图象技术的身影。例如军事、公共安全、工业、航天航空、卫星遥感以及生命科学等各种领域。因此对图象处理…

    2022年5月17日
    40
  • ttyLinux硬盘安装指南

    ttyLinux硬盘安装指南制作一个 grub 引导的 5M 大小的 ttylinux 一 ttylinux 简介 i ttylinux 是一个基于 2 6 版内核 体积非常之小 5M 左右的 LiveCD 的 Linux 它运行于 i486 以上平台的 PC 机上 安装之后 ttylinux 的文件系统也只有 8M 大小 但却提供了一个完整的 shell 环境 并且可用来访问 Internet ii ttylinux 可以为嵌入式应

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号