紧接之前的文章《文件服务迁移重构之分布式文件系统迁移和选型思路》在上篇中,我谈到最终对于分布式文件系统选型选择了Glusterfs这个文件系统,这篇主要谈下关于Glusterfs的基本概念和知识。
Glusterfs具有很好的可扩展性。软件的结构设计良好,易于扩展和配置,通过各个模块的灵活搭配以得到针对性的解决方案。可解决以下问题:网络存储,联合存储(融合多个节点上的存储空间),冗余备份,大文件的负载均衡(分块)。由于缺乏一些关键特性,可靠性也未经过长时间考验,还不适合应用于需要提供 24 小时不间断服务的产品环境。适合应用于大数据量的离线应用。
首先Glusterfs是一个c/s结构的软件,有Glusterd的后台进程和客户端、API等组成,Glusterfs是支持Fuse的。那么什么是Fuse呢?
Fuse即用户空间文件系统(Filesystem in Userspace),是Linux 中用于挂载某些网络空间,如SSH,到本地文件系统的模块,在SourceForge上可以找到相关内容。通过fuse能够将Glusterfs挂载为Linux下一个普通的目录,这样用户端的程序就可以不通过调用Client API来访问glusterfs中的数据。
对于分布式文件系统最重要的概念就是关乎volume的概念,Glusterfs也不例外。
在Glusterfs中,卷是一些由一些列的Bricks组成的,通常情况下那些常见的glusterfs的操作都是针对卷来执行的。那什么是Bricks呢?Bricks是Glusterfs是最基本的存储单元,表示为trusted storage pool中输出的目录,供客户端挂载用。逻辑上一个卷下有n个Bricks(至少一个)。通过不同的Bricks的情况,Volume也有不同的类型。
1)Distributed Glusterfs Volume 分布式卷。
这种类型的卷如果在windows下有做过动态磁盘下的跨区卷可以知道这很类似,是夸不同硬盘的或者Glusterfs下bricks的,由于不同于windows下的单机结构,bricks本身可以通过trusted分布在不同的服务器下,也就是可以通过这种方式将同一个卷下文件放在不同服务器上。这可以让系统非常好的使用磁盘空间,缺点也非常明显,单点性,由于文件的单点存储可能造成文件的丢失。
创建方式也很简单:
gluster volume create NEW-VOLNAME [transport [tcp | rdma | tcp,rdma]] NEW-BRICK
2)Replicated Glusterfs Volume 复制卷
类似于RAID1,这种方式的好处是让保存在Glusterfs中空数据被复制到不同的服务器上。
创建方式:
gluster volume create NEW-VOLNAME [replica COUNT] [transport [tcp |rdma | tcp,rdma]] NEW-BRICK...
3)Distributed Replicated Glusterfs Volume 分布式复制卷
可以看成1和2的结合或者类似于RAID 0 +1 ,但是又和RAID0不一样文件实际是完整在的一个Bricks中存储的这种存储方式文件会分布存储在不同服务器上并且带有冗余。至少4个Bricks才可以构成这种结构
创建方式:
gluster volume create NEW-VOLNAME [replica COUNT] [transport [tcp | rdma | tcp,rdma]] NEW-BRICK...
4)Striped Glusterfs Volume
条带卷,RAID0的分布式模式,非常适合大文件存储,Glusterfs会将文件切称条平均分布在同一个Server的Bricks内。
创建方式:
gluster volume create NEW-VOLNAME [stripe COUNT] [transport [tcp | dma | tcp,rdma]] NEW-BRICK...
5)Distributed Striped Glusterfs Volume 分布式条带卷
类似于条带卷,但是可以分布式在不同的Bricks内
创建方式:
gluster volume create NEW-VOLNAME [stripe COUNT] [transport [tcp | rdma | tcp,rdma]] NEW-BRICK...
以上就是一些简单的关于Glusterfs的基础知识。下篇将着重描述如何安装glusterfs和如何通过nfs-ganesha来导出glusterfs到windows上。
本文为Lokie.Wang原创文章,转载无需和我联系,但请注明来自lokie博客http://lokie.wang