GFS分布式文件系统(分布式文件系统与企业级应用)

分布式可以说成是集群,但集群不能说是分布式

一、GlusterFS概述

infinityBand:无线带宽技术;低延迟,高带宽,使用网络连接起来,但不再采用tcp、udp协议(因为绕过了操作系统的内核,直接让server端与客户端建立连接)

 GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。

1:扩展性和高性能

    GlusterFS利用双重特性来提供几TB至数PB的高扩展存储解决方案。Scale-Out架构允许通过简单地增加资源来提高存储容量和性能,磁盘、计算和I/O资源都可以独立增加,支持10GbE和InfiniBand等高速网络互联。Gluster弹性哈希(ElasticHash)解除了GlusterFS对元数据服务器的需求,消除了单点故障和性能瓶颈,真正实现了并行化数据访问。

  2:高可用性

    GlusterFS可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问。自我修复功能能够把数据恢复到正确的状态,而且修复是以增量的方式在后台执行,几乎不会产生性能负载。GlusterFS没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如EXT3、ZFS)来存储文件,因此数据可以使用各种标准工具进行复制和访问。

3:弹性卷管理

  数据储存在逻辑卷中,逻辑卷可以从虚拟化的物理存储池进行独立逻辑划分而得到。存储服务器可以在线进行增加和移除,不会导致应用中断。逻辑卷可以在所有配置服务器中增长和缩减,可以在不同服务器迁移进行容量均衡,或者增加和移除系统,这些操作都可在线进行。文件系统配置更改也可以实时在线进行并应用,从而可以适应工作负载条件变化或在线性能调优。

4:全局统一命名空间

     全局统一命名空间将所有的存储资源聚集成一个单一的虚拟存储池,对用户和应用屏蔽了物理存储信息。存储可以根据生产环境中的需要进行弹性扩展或收缩,在多节点场景中,全局同意明明还可以给予不同节点做负载均衡,大大提高存取效率。

GlusterFS:是一个开源的分布式文件系统。

Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如'SERVER:EXPORT'。是放置在服务器中的一个独立的分区,一个服务器可以有一个或多个brick。

Client:挂载了GFS卷的设备

FUSE:Filesystem Userspace文件系统用户空间,是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。可以让用户创建GFS文件系统(在客户端挂载,挂载的是远程的一个分区dev/fuse)

Node:一个拥有若干brick的设备

Volume:一组bricks的逻辑集合。卷,它的空间可以来自一个磁盘空间,或多个磁盘空间汇集形成

Metadata:元数据,关于数据的数据,用于描述文件、目录等的信息。

VFS:内核空间对用户空间提供的访问磁盘的接口。远程/dev/fuse连接服务器时的端口

POSIX:指可移植操作系统接口。用于连接分区和内核

(1)客户端或应用程序通过GFS的挂载点访问数据

(2)Linux系统内核通过VFS API收到请求并处理

(3)VFS将数据递交给FUSE内核文件系统,并向系统注册一个实际的文件系统FUSE,而FUSE文件系统则是将数据通过/dev。Fuse设备文件递交给了GFS的client端。可以将FUSE文件系统理解为一个代理。

(4)GFS client收到数据后,client根据配置文件对数据进行处理

(5)经过GFS client处理后,通过网络将数据传递至远端的GFS Server,并且将数据写入服务器存储设备。

二、弹性hash算法

GlusterFS目前使用Davies-Meyer算法计算文件名hash值,获得一个32位整数。Davies-Meyer算法具有非常好的hash分布性,计算效率很高,假设逻辑卷中的存储单元Brick有N个,则32位整数空间被平均划分为N个连续子空间,每个空间分别映射到一个存储单元Brick,计算得到的32位hash值就会被投射到一个存储单元Brick。

三、glusterFS的卷类型

1:基本卷:

(1)  distribute volume:分布式卷

文件通过hash算法分布到所有brick server上,这种卷是glusterfs的基础和最大特点;实只是扩大的磁盘空间,如果有一个磁盘坏了,对应的数据也丢失,文件级RAID 0,不具有容错能力。提供较大的存储空间,不浪费空间

(2)  stripe volume:条带卷

类似RAID0,文件分成数据块以Round Robin方式分布到brick server上,并发粒度是数据块,支持超大文件,大文件性能高;

条带卷,在6的版本以后不在支持

(3)  replica volume:复制卷

文件同步复制到多个brick上,文件级RAID 1,具有容错能力,写性能下降,读性能提升。

(4)分散卷

是基于ErasureCodes(纠错码)的一种新类型的Volume(3.6版本正式发布该特性),类似于RAID5/6----分散卷基于纠错码。存储大文件时,性能尤为突出

通过配置Redundancy(冗余)级别提高可靠性,在保证较高的可靠性同时,可以提升物理存储空间的利用率。

2:复合卷:

(4)  distribute stripe volume:分布式条带卷

brickserver数量是条带数的倍数,兼具distribute和stripe卷的特点;

(5)  distribute replica volume:分布式复制卷

brickserver数量是镜像数的倍数,兼具distribute和replica卷的特点,可以在2个或多个节点之间复制数据。

(6) stripe replica volume:条带复制卷

类似RAID 10

同时具有条带卷和复制卷的特点

(7) distribute stripe replicavolume:分布式条带复制卷

三种基本卷的复合卷

通常用于类Map Reduce应用

(8)分布式分散卷

分布式分散卷在分散的子卷上分发文件。

分布式分散卷等效于分布式复制卷,但是使用分散子卷而不是复制子卷

结合distibuted和dispersed的优点,HA+LB+可扩容,HA+LB+可扩容

标红的现在的系统不再支持

四、实验部分

打开六个虚拟机,为每个虚拟机添加五块磁盘,为了区分将磁盘大小分别设置为:3、4、5、6、7G

1、为每个节点命名

2、在hosts文件设置域名解析,同步

3、为硬盘分区,同步

相同的方式为sdc、sdd、sde、sdf进行磁盘分区

4、格式化,同步

以相同的方式格式化sdc1、sdd1、sde1、sdf1

5、创建挂载点并进行挂载,同步

6、安装GlusterFS

使用阿里做仓库

glusterFS有自己独立的仓库

6.1、生成GFS自己的仓库的源

6.2、安装GFS

注释:

glusterfs:gluster客户端主程序

glusterfs-server:gluster服务端主程序

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

glusterfs-rdma:为gluster提供远程直接内存访问,支持不通过双方的OS进行直接内存访问。

下面关闭会话同步

7、添加节点(101)

8、创建分布式卷,默认创建的也是分布式卷(101)

8、创建复制卷

9、创建分散卷

10、创建分布式复制卷

注释:

分布式复制卷要求Brick Server的数量必须是复制数的倍数(两倍或更高的倍数)

11、创建分布式分散卷

备注:

分布式分散卷需要用六个节点,每三个节点做一个分散卷,两组分散卷做成复制卷

部署GFS客户端(再开一个主机或前面的任意节点做客户端)

1、安装GFS客户端软件

2、创建挂载目录

修改hosts文件(若用的是前面的六个节点做客户端,这里不用修改,前面已修改过)

3、挂载Gluster文件系统

4、永久挂载

在客户端测试Gluster文件系统

1、在卷中写入文件--创建测试文件

2、卷中写入文件

挂起其中一个节点主机,再去查看各节点的不同的卷

其它命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值