centos7 部署glusterfs6

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 部署glusterfs6相关的知识,希望对你有一定的参考价值。

GlusterFS简介

GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点全部平等。GlusterFS配置方便,稳定性好,可轻松达到PB级容量,数千个节点。

GlusterFS重要概念

birck:GlusterFS的基本元素,以节点服务器目录形式展现;

volume:多个brick的逻辑集合;

metadata:元数据,用于描述文件、目录等的信息;

self-heal:用于后台运行检测副本卷中文件和目录的不一致性并解决这些不一致;

FUSE:Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接;

Gluster Server:数据存储服务器,即组成GlusterFS存储集群的节点;

Gluster Client:使用GlusterFS存储服务的服务器,如KVM、OpenStack、LB RealServer、HA node。

GlusterFS部署
  1. 环境准备

    系统: CentOS Linux release 7.6.1810 (Core)

    hostname ipaddress
    gfs01 192.168.150.171
    gfs02 192.168.150.192
    client01 192.168.150.26

    需要关闭防火墙, 关闭selinux, hostname能互相解析

    gfs版本: glusterfs-server-6.9-1.el7.x86_64

    gfs客户端: glusterfs-6.0-29.el7.x86_64

    gfs-server: 192.168.150.192 192.168.150.171

    gfs-client: 192.168.150.26

  2. 安装软件包

    在gfs-server上安装

    yum -y install centos-release-gluster6
    yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
  3. 创建集群

    启动glusterd服务

    # systemctl start glusterd
    # systemctl enable glusterd
    # systemctl status glusterd

    创建集群

    gluster peer probe gfs01
    gluster peer probe gfs02

    如果想从集群中去除节点,可以执行如下命令,但该节点中不能存在卷中正在使用的brick。

    gluster peer detach 节点名称

    查看集群状态

    gluster peer status

    创建存储目录

    mkdir -p /gfs

    创建volune(分布式卷)

    GlusterFS中的volume的模式有很多中,包括以下几种:

    • 分布卷(默认模式):即DHT, 也叫 分布卷: 将文件已hash算法随机分布到 一台服务器节点中存储。

    • 复制模式:即AFR, 创建volume 时带 replica x 数量: 将文件复制到 replica x 个节点中。

    • 条带模式:即Striped, 创建volume 时带 stripe x 数量: 将文件切割成数据块,分别存储到 stripe x 个节点中 ( 类似raid 0 )。

    • 分布式条带模式:最少需要4台服务器才能创建。 创建volume 时 stripe 2 server = 4 个节点: 是DHT 与 Striped 的组合型。

    • 分布式复制模式:最少需要4台服务器才能创建。 创建volume 时 replica 2 server = 4 个节点:是DHT 与 AFR 的组合型。

    • 条带复制卷模式:最少需要4台服务器才能创建。 创建volume 时 stripe 2 replica 2 server = 4 个节点: 是 Striped 与 AFR 的组合型。

    • 三种模式混合: 至少需要8台 服务器才能创建。 stripe 2 replica 2 , 每4个节点 组成一个 组。

      因为我们只有二台主机,在此我们使用默认的分布卷模式

    gluster volume create gfs replica 2 gfs01:/gfs gfs02:/gfs force

    查看volume状态

    gluster volume info

    启动volume

    gluster volume start gfs

    gluster 调优

    # 开启 指定 volume 的配额
    gluster volume quota k8s-volume enable
    
    # 限制 指定 volume 的配额
    gluster volume quota k8s-volume limit-usage / 5TB
    
    # 设置 cache 大小, 默认32MB
    gluster volume set k8s-volume performance.cache-size 4GB
    
    # 设置 io 线程, 太大会导致进程崩溃
    gluster volume set k8s-volume performance.io-thread-count 16
    
    # 设置 网络检测时间, 默认42s
    gluster volume set k8s-volume network.ping-timeout 10
    
    # 设置 目录索引的自动愈合进程
    gluster volume set k8s-volume cluster.self-heal-daemon on
    
    # 设置 自动愈合的检测间隔, 默认600s
    gluster volume set k8s-volume cluster.heal-timeout 300
    
    # 设置 写缓冲区的大小, 默认1M
    gluster volume set k8s-volume performance.write-behind-window-size 1024MB
客户端测试

安装客户端

yum install -y glusterfs glusterfs-fuse
mkdir -p /opt/gfsmnt
mount.glusterfs gfs01:/gfs /opt/gfsmnt/
df -h

以上是关于centos7 部署glusterfs6的主要内容,如果未能解决你的问题,请参考以下文章

Centos7.2从github拉代码部署到tomcat

centos7服务器搭建javaweb运行环境及代码部署

centos7下使用gitlab+shell实现CI/CD持续集成持续部署

Centos7.5 SonarQube+Artifactory部署

Linux(CentOS7)系统中部署Django web框架

centos7部署git_stats代码统计分析工具