一、网站推荐

  1、https://gluster.readthedocs.io/en/latest/    这是官方的说明网站。这里面有安装Glusterfs原理,安装流程,各种卷的原理、创建方式、以及使用领域的说明。推荐直接访问官方网站学习使用。

  2、https://download.gluster.org/pub/gluster/glusterfs   这是官方的资源网站。这里面有各种系统的Glusterfs资源下载路径。

二、安装流程(需要在每台服务器上操作)

  假设我们有三台测试机分别是192.168.1.11 192.168.1.22 192.168.1.33,三台需要同时安装服务端和客户端。

  常用术语简介(可去http://gluster.readthedocs.io/en/latest/Quick-Start-Guide/Terminologies/ 查看学习)

  Brick:    GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如'SERVER:EXPORT'
  Client:   挂载了GFS卷的设备
  Extended Attributes:   xattr是一个文件系统的特性,其支持用户或程序关联文件/目录和元数据。
  FUSE:   Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。
  Node:  一个拥有若干brick的设备
  Volume:   一组bricks的逻辑集合

  1、查看系统版本,根据版本选择安装方式(常用的有Ubuntu、Red Hat等)

    #cat /proc/version;

    

    

  2、查看ip

    #ifconfig;

    

  3、配置/etc/hosts

    #sudo echo "192.168.1.11    dn11" >> /etc/hosts;

    #sudo echo "192.168.1.22    dn22" >> /etc/hosts;

    #sudo echo "192.168.1.33    dn33" >> /etc/hosts;

    #cat /etc/hosts;

    

  4、更改主机名称

    1)#hostname;  #查看主机名 如果是localhost.localdomain就说明是默认的,现在我们把它改成我们自己主机名,

    2)#sudo vim /etc/sysconfig/network;   #重启后生效,临时生效可以直接hostname 主机名的方式

  说明:也可以用以下命令更改主机名

    #hostnamectl --static set-hostname dn11;  #192.168.1.11上执行

    #hostnamectl --static set-hostname dn22;  #192.168.1.22上执行

    #hostnamectl --static set-hostname dn33;  #192.168.1.33上执行

  5、安装glusterfs部分包依赖的epel源

    #yum -y install epel-release;

  6、安装资源包

    #yum install centos-release-gluster -y

    

  7、查看可用的资源包

    #yum list glusterfs --showduplicates | sort -r;

     

  8、添加下载配置源文件

    #sudo vim /etc/yum.repos.d/gluster-epel.repo;

# CentOS-Gluster-6.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/Storage for more
# information

[centos-gluster6]
name=CentOS-$releasever - Gluster 6
mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=$releasever&repo=storage-gluster-6
#baseurl=http://mirror.centos.org/$contentdir/$releasever/storage/$basearch/gluster-6/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-gluster6-test]
name=CentOS-$releasever - Gluster 6 Testing
baseurl=http://buildlogs.centos.org/centos/$releasever/storage/$basearch/gluster-6/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

  9、安装Glusterfs

    #yum -y install glusterfs-server glusterfs-fuse;

  注意:上面5、6、7、8、9是在Red Hat上操作,Ubuntu上对应操作连接:https://launchpad.net/~gluster/+archive/ubuntu/glusterfs-6

  Ubuntu对应的命令如下:

    #add-apt-repository ppa:gluster/glusterfs-6
    #apt-get update

  10、开启glusterd服务

    #systemctl enable glusterd.service
    #systemctl start glusterd.service (或者service glusterd start)
    #systemctl status glusterd.service

    #chkconfig glusterd on (增添开机启动)

  11、关闭selinux

    #sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux /etc/selinux/config;

  12、防火墙设置

    #firewall-cmd --zone=public --permanent --add-port=24007-24008/tcp --add-port=49152-49158/tcp --add-port=38465-38469/tcp --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp;

    #firewall-cmd --reload;  

  13、磁盘准备:

    每台服务器准备1-2T的磁盘用于文件系统数据存储;

  14、磁盘挂载

    14.1 查看磁盘信息

      fdisk -l;

      

    14.2 格式化磁盘

       #mkfs.xfs  /dev/sda3;

    14.3 创建磁盘挂载路径
       #mkdir -p /data/brick1;

    14.4 磁盘开机自动挂载方式
       #echo '/dev/sda3 /data/brick1 xfs defaults 1 2' >> /etc/fstab;

      #mount -a && mount;

    14.5 磁盘非开机自动挂载方式

      mount /dev/sda3 /data/brick1;

   *说明:没有磁盘也是可以的,创建卷的时候加上 force

三、创建卷(任意一台服务器上操作即可)

  1、配置授信池

    #gluster peer probe dn11

    #gluster peer probe dn22

    #gluster peer probe dn33

    #gluster peer status  查看状态

    (#gluster peer detach dn11    #在集群中删除节点dn11)

  注意:这里的节点可以替换成对应的ip如:#gluster peer probe 192.168.1.11 

  2、卷操作(可以去官网上看,https://gluster.readthedocs.io/en/latest/ )

    2.1 创建一个复制卷(可以在任意一台服务器上执行,本例在dn11上执行)

      #gluster volume create Distributed-Replicate-volume replica 2 transport tcp dn11:/fleetDatas dn22:/fleetDatas force

    2.2 启动卷

      #gluster volume start Distributed-Replicate-volume

    2.3 查看卷信息          

      #gluster volume info Distributed-Replicate-volume

    2.4 停止、删除卷(慎操作)

      #gluster volume stop Distributed-Replicate-volume 停止卷

      #gluster volume delete Distributed-Replicate-volume 删除卷

四、配置(任意一台操作即可)

  1、设置允许挂载范围,注意默认是允许所有客户端,哪怕不在授信池内的客户端

    sudo gluster volume set Distributed-Replicate-volume auth.allow dn11,dn22,dn33;

  2、开启ACL支持

    sudo gluster volume set Distributed-Replicate-volume acl on

  3、设置磁盘剩余空间最小阈值,达到这个值就不能再继续写入数据了

    sudo gluster volume set Distributed-Replicate-volume cluster.min-free-disk 15;

  4、设置请求等待超时时间,默认1800秒,设置范围0-1800秒,读写的数据超过1800秒未返回结果就认为超时

    sudo gluster volume set Distributed-Replicate-volume network.frame-timeout 1500;

  5、设置客户端检测服务器可用超时时间,默认42秒,范围为0-42秒

    sudo gluster volume set Distributed-Replicate-volume network.ping-timeout 20;

  6、关闭NFS服务,默认为开启

    sudo gluster volume set Distributed-Replicate-volume nfs.disable off;

  7、设置IO线程数,默认为16,范围为0-65

    sudo gluster volume set Distributed-Replicate-volume performance.io-thread-count 32;

  8、设置缓存数据校验周期,默认为1秒,默认为0-61秒,如果同时有多个用户在读写一个文件,一个用户更新了数据,另一个用户在Cache刷新周期到来前可能读到非最新的数据,即无法保证数据的强一致性。因此实际应用时需要在性>能和数据一致性之间进行折中,如果需要更高的数据一致性,就得调小缓存刷新周期,甚至禁用读缓存;反之,是可以把缓存周期调大一点,以提升读性能 

    sudo gluster volume set Distributed-Replicate-volume performance.cache-refresh-timeout 2;

  9、设置读缓存大小,单位为字节,默认大小为32M
    sudo gluster volume set Distributed-Replicate-volume performance.cache-size 128MB;

  10、启用对小文件的优化性能,默认即为打开

    sudo gluster volume set Distributed-Replicate-volume performance.quick-read on;

  11、设置文件预读,用预读的方式提高读取的性能,读取操作前就预先抓取数据,这个有利于应用频繁持续性的访问文件,当应用完成当前数据块读取的时候,下一个数据块就已经准备好了,预读处理有page-size和page-count来定义,page-size定义了,一次预读取的数据块大小,page-count定义的是被预读取的块的数量,不过官方网站上说这个中继在以太网上没有必要,一般都能跑满带宽。主要是在IB-verbs或10G的以太网上用。

    sudo gluster volume set Distributed-Replicate-volume performance.read-ahead on;

  12、设置在写数据的时候先写入到缓存再写入到磁盘,以提高写入性能,默认为开启
    sudo gluster volume set Distributed-Replicate-volume performance.nfs.write-behind on

  13、缓存已经读过的数据,默认即开启,结合上面的performance.quick-read和performance.read-ahead使用

    sudo gluster volume set Distributed-Replicate-volume performance.io-cache on;

  14、开启磁盘修复功能(只适用于复制卷或分布式复制卷)

    sudo gluster volume heal Distributed-Replicate-volume full;

  15、查看磁盘状况

    sudo gluster volume heal Distributed-Replicate-volume info;

  16、查看卷信息

    sudo gluster volume info Distributed-Replicate-volume;

    

  17、清空一个选项的参数,如清空acl的配置

    sudo gluster volume reset Distributed-Replicate-volume acl force;

  18、查看一个选项的参数,如查看acl的配置

    sudo gluster volume  get Distributed-Replicate-volume acl;

五、挂载使用(在auth.allow配置下的任意客户端都可以执行)

  1、创建一个挂载路径

    #mkdir -p /home/Distributed-Replicate-volume-test;

  2、 文件系统开机自动挂载方式

    #sudo echo "192.168.1.11:/Distributed-Replicate-volume /home/Distributed-Replicate-volume-test glusterfs defaults,_netdev,acl 0 0" >> /etc/fstab;

    #mount -a && mount

  3、文件系统非开机自动挂载方式

    sudo mount -t glusterfs -o acl dn11:/Distributed-Replicate-volume /home/Distributed-Replicate-volume-test;

  说明:上诉两种挂载方式是在开启了acl配置的前提下,如果没有开启acl配置,去掉acl的参数即可。

  4、卸载文件系统挂载

  #sudo umount /home/Distributed-Replicate-volume-test;

六、结束感言:

  创作不易,如果对你有帮助,请帮忙点赞、收藏,谢谢!

=========================结束!=========================

Glusterfs的安装、创建卷、配置和优化卷、挂载使用的更多相关文章

  1. 自动安装php7(配置未优化版本)

    #!/bin/bash #by dxd - #only suit for centos/aliyun os, and based on aliyun install script CURR_PATH= ...

  2. Tomcat8安装, 安全配置与性能优化(转)

    一.Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于 ...

  3. 实战Nginx与PHP(FastCGI)的安装、配置与优化

    一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和l ...

  4. Tomcat8安装, 安全配置与性能优化

    一.Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于 ...

  5. 【转】实战Nginx与PHP(FastCGI)的安装、配置与优化

    原文连接:http://ixdba.blog.51cto.com/2895551/806622 原文作者:南非蚂蚁 转载注明以上信息 一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在H ...

  6. Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)

    Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据, ...

  7. php-fpm安装、配置与优化

    转载自:https://www.zybuluo.com/phper/note/89081 1.php中fastcgi和php-fpm是什么东西 最近在研究和学习PHP的性能方面的知识,看到了factc ...

  8. 【收藏】实战Nginx与PHP(FastCGI)的安装、配置与优化

    拜读南非蚂蚁大牛的文章真是有所收获 http://ixdba.blog.51cto.com/2895551/806622 一.什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP s ...

  9. Mysql的安装、配置、优化

    Mysql的安装.配置.优化 安装步骤 1.先单击中的安装文件,如果是win7系统,请选择以管理员的方式运行. 2.大概需要30秒的时间,开始进入安装界面.请先把标红的打勾,好进行下一步的动作. 3. ...

随机推荐

  1. Java实现 蓝桥杯VIP 算法训练 JAM计数法

    题目描述 Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小 写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文 ...

  2. Java实现最长回文串

    1 问题描述 给定一个字符串,求它的最长回文子串的长度. 2 解决方案 2.1 中心扩展法 此处,首先枚举出回文串的中心位置,然后,再在该位置上分别向左和向右扩展,记录并更新得到的最长回文串的长度. ...

  3. java实现第七届蓝桥杯圆圈舞

    圆圈舞 题目描述 春天温暖的阳光照耀着大地,正是草原上的小动物们最快乐的时候.小动物们在草原上开了一个舞会,欢度这美好的时光. 舞会上最重要的一个环节就是跳圆舞曲,n只小动物手拉手围成一大圈,随着音乐 ...

  4. Mac上查看当前安卓手机上打开的app的包名和主程序入口

    1.连接上手机,数据线链接或者无线连接随便 2.打开你需要查看的app 3.打开终端,输入命令: adb shell dumpsys window w |grep \/ |grep name=

  5. LB服务:硬件如何被软件取代(上)

    [摘要] 大业务上云,难免要用到LB.可是,您是否了解LB的来龙去脉?本文浅谈一下LB,从硬件走到软件,他们经历了什么转变. 大业务上云,难免要用到LB.可是,您是否了解LB的来龙去脉?本文浅谈一下L ...

  6. springmvc无法进入controller,且报错404

    今天搭建一个springmvc项目时,前台一直报错404,在controller中调试发现程序没有进入controller. 通过多次刷新前台页面,发现第一次进入是会弹出错误提示,第二次之后就直接40 ...

  7. Java 多线程基础(三) start() 和 run()

    Java 多线程基础(三) start() 和 run() 通过之前的学习可以看到,创建多线程过程中,最常用的便是 Thread 类中的 start() 方法和线程类的 run() 方法.两个方法都包 ...

  8. Java 技术网站总结(不停更新)

    Spring Spring 中文手册 Spring 教程 Spring For All Spring 学习笔记 Spring Boot Break易站 Spring Cloud 中文文档 Spring ...

  9. ecshop php商城系统数据库结构及表的介绍分析

      ecshop共86张表,确实比较多,不过功能确实最完善的. 表结构分析 ecs_account_log // 用户账目日志表 ecs_activity // 活动表(代码,名称,开始,结束,描述) ...

  10. linux安装syncthing

    https://blog.csdn.net/weixin_30527551/article/details/98882344 https://syncthing.net/downloads/ http ...