从而概述
GFS是一个可扩展的分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
引用>
开源的分布式文件系统;
由存储服务器,客户端以及NFS/Samba存储网关组成;从而特点:
<代码>扩展性和高性能; 高可用性; 全局统一命名空间; 弹性卷管理; 基于标准协议代码>模块化堆栈架构
<代码>模块化,堆栈式的结构 通过对模块的组合,实现复杂的功能代码>
从而工作原理(流程)
弹性哈希算法:
<代码>通过哈希算法得到一个32位的整数; 划分为N个连接的子空间,每个空间对应一个砖;代码>弹性哈希算法的优点:
<代码>保证数据平均分布在每一个砖中; 解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈。代码>从而的卷类型:
(1)分布式卷:
<代码>没有对文件进行分块处理; 通过扩展文件属性保存散列值; 支持的底层文件系统有ext3, ext4, ZFS, XFS等代码>特点:
<代码>文件分布在不同的服务器,不具备冗余性; 更容易和廉价地扩展卷的大小; 单点故障会造成数据丢失; 依赖底层的数据保护。代码>(2)条带卷:
<代码>根据偏移量将文件分为N块(N个条带节点),轮询的存储在每个砖服务器节点; 存储大文件时,性能尤为突出; 不具备冗余性,类似raid0 代码>特点:
<代码>数据被分割成更小块分布到块服务器群中的不同条带区; 分布减少了负载且更小的文件加速了存取的速度; 没有数据冗余代码>(3)复制卷:
<代码>同一个文件保存一份或多分副本; 复制模式因为要保存副本,所以磁盘利用率较低; 多个节点上的存储空间不一致,那么将安装木桶效应取最低节点的容量作为该卷的总容量代码>特点:
<代码>卷中所有的服务器均保存一个完整的副本; 卷的副本数量可由客户创建的时候决定; 至少由两个块服务器或更多服务器; 具备容灾性。代码>(4)分布式条带卷:
<代码>兼顾分布式和条带卷的功能。 主要用于大文件访问处理; 至少最少需要4台服务器。代码>(5)分布式复制卷:
<代码>兼顾分布式卷和复制卷的功能。 用于需要冗余的情况下代码>原理:
实验环境
<代码> node1 192.168.13.128 node2 192.168.13.129 node3 192.168.13.130 node4 192.168.13.131 kvm 192.168.13.133 代码>节点节点服务器添加一块硬盘
kvm虚拟机上开启虚拟化功能
1,分别在节点节点服务器和kvm服务器上配置本地举办文件,安装必要的gluster软件
<代码> [root@localhost ~] # hostnamectl set-hostname node1 root@localhost ~ #苏 (root@localhost ~) # hostnamectl set-hostname kvm (root@node1 ~) # # #的/etc/hosts vim修改本地解析文件 192.168.13.128 node1 192.168.13.129 node2 192.168.13.130 node3 192.168.13.131 node4 192.168.13.133 kvm # #所有服务器上关闭防火墙 (root@node1 ~) # systemctl firewalld停止。服务# #关闭防火墙 (root@node1 ~) # setenforce 0 # #分别复制配置文件到所有服务器上 (root@node1 ~) # scp/etc/hosts root@192.168.13.129:/etc/主机 (root@node1 ~) # scp/etc/hosts root@192.168.13.130:/etc/主机 (root@node1 ~) # scp/etc/hosts root@192.168.13.131:/etc/主机 (root@node1 ~) # scp/etc/hosts root@192.168.13.133:/etc/主机 # #在所有节点节点服务器上挂载,修改百胜配置文件 root@node1 ~ # mkdir/gfs root@node1 ~ #山。cifs//192.168.100.3/LNMP-C7/gfs/# #挂载 # cd/etc/yum.repo.d/root@node1 ~ [root@node1 yum.repos。d] # mkdir拍# #创建备份目录 [root@node1 yum.repos。d] # mv CentOS - *贝克/[root@node1 yum.repos。d] # vim abc。回购# #所有节点节点都需要配置百胜源 (美国广播公司) name=美国广播公司 baseurl=文件:///gfs/gfsrepo # #挂载目录下的gfsrepo路径 gpgcheck=0 启用=1 [root@node1 yum.repos。d] #百胜清洗所有的,,百胜makecache # #建立元数据缓存 [root@node1 yum.repos。d] # yum安装- y从而glusterfs-server gluster-fuse glusterfs-rdma # #安装必要的软件 [root@node1 yum.repos。d] # systemctl开始glusterd # #开启gluster服务 [root@node1 yum.repos。d] # systemctl使glusterd # #开机自启动 [root@node1 yum.repos。d] ntp1.aliyun.com # # # ntpdate同步时间KVM + GFS分布式文件系统高可用群集