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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker端口映射失效解决方法[通俗易懂]

    docker端口映射失效解决方法[通俗易懂]docker端口映射失效解决方法

    2022年10月17日
    3
  • 详解HTML超链接

    详解HTML超链接超链接是互联网提供的最令人兴奋的创新之一,它们从一开始就一直是互联网的一个特性,使互联网成为互联的网络。HTML超链接也是各个网站网页之间实现相互连接的一个手段之一,被广泛应用在各大网站。HTML超

    2022年7月4日
    33
  • [Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解[通俗易懂]

    [Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解[通俗易懂]前一篇文章讲述了数据预处理、Jieba分词和文本聚类知识,这篇文章主要介绍Matplotlib和Pandas扩展包绘图的基础用法,同时引入Echarts技术,该技术主要应用于网站可视化展示中。本文内容以实例为主,给读者最直观的图形感受。两万字基础文章,希望对您有所帮助。

    2025年6月7日
    3
  • python进制转换代码_十进制转二进制编程

    python进制转换代码_十进制转二进制编程这篇文章主要介绍了Python实现的十进制小数与二进制小数相互转换功能,结合具体实例形式详细分析了二进制与十进制相互转换的原理及Python相关实现技巧,需要的朋友可以参考下本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:十进制小数⇒二进制小数乘2取整对十进制小数乘2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用2乘小数部分(之…

    2022年9月24日
    3
  • 基于Multisim的函数信号发生器–方波、三角波、正弦波[通俗易懂]

    设计要求-基本要求设计制作一个方波-三角波-正弦波信号发生器,供电电源为±12V。(1)输出频率能在1-10KHZ范围内连续可调;(2)方波输出电压Uopp=12V(误差<20%),上升、下降沿小于10us;(3)三角波信号输出电压Uopp=8V(误差<20%);(4)正弦波信号输出电压Uopp≥1V,无明显失真。-提高要求(1)将输出方波改为占空比可调的矩形波,占空比可调范围30%–70%;(2)三种波形的输出峰峰值Uopp均在1~10V范围内连续可调。设计思路-电

    2022年4月15日
    104
  • 网站防止攻击

    网站防止攻击1、什么是XSSXSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,任意构造用户当前浏览的HTM

    2022年7月20日
    19

发表回复

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

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