GlusterFS文件系统研究
文章平均质量分 89
liuhong1123
对技术始终保持着强烈的好奇心目前致力于HDFS的研究与改造之前研究过openstackGlusterFS等存储系统
展开
-
glusterfs操作指南
nfs协议:1、在客户端安装nfs相关软件包:yum install nfs*;2、客户端启动服务:service rpcbind start;service nfslock start3、mkdir -p /mnt/v24、挂载:mount -o mountproto=tcp -t nfs 10.28.1.96:/v2 /mnt/v2iptables规则i原创 2012-02-16 19:32:10 · 7925 阅读 · 0 评论 -
GlusterFS:虚拟文件系统(VFS)介绍
1.概述Linux虚拟文件系统是一个内核软件层,用来处理与UNIX标准文件系统相关的所有系统调用。其健壮性表现在能为各种文件系统提供一个通用的接口。Linux虚拟文件系统支持的文件系统可以划分为三种主要的类型:1.磁盘文件系统这些文件系统管理在本地磁盘分区中可用的磁盘空间或者其他可以起到磁盘作用的设备(比如说一个USB闪存)。2.网络文件系统如nfs,这些文件系统允许访问属原创 2012-10-27 12:05:24 · 2697 阅读 · 0 评论 -
GlusterFS:调度(Scheduler)算法源码分析
1.概述在操作系统中调度算法是指根据系统的资源分配策略所规定的资源分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法。在glusterfs中,调度算法用于调度哪一个存储节点来存储数据。大致表示如下:调度算法示意图 目前在3.2.5中,实现了5种调度算法,分别是alu,random,nufa,rr,switch。在每个算法中,他们均会实现这样几个操作:1.原创 2012-10-27 12:54:16 · 1536 阅读 · 1 评论 -
GlusterFS:分布式(Distribute )源码分析
1.概述在glusterfs中,文件的定位采用弹性hash算法进行定位。集群中的任何服务器和客户端只需根据路径和文件名就可以对数据进行定位和读写访问。换句话说,GlusterFS不需要将元数据与数据进行分离,因为文件定位可独立并行化进行。GlusterFS中数据访问流程如下:1)计算hash值,输入参数为文件路径和文件名;2)根据hash值在集群中选择子卷(存储服务器),进行文件定原创 2012-10-27 12:39:27 · 9271 阅读 · 10 评论 -
GlusterFS:统一命名空间(Unify)源码分析
1.概述This xlator is one of the main translator in GlusterFS, whichactually does the clustering work of the file system. One need to understand that, unify assumes file to be existing in原创 2012-10-27 12:53:25 · 2534 阅读 · 8 评论 -
GlusterFS:异地备份(Geo-replication)源码分析
1.概述GlusterfsGeo-replication提供了一种持续,异步,增量数据备份策略,可以通过局域网,广域网,英特网来进行。使用Geo-replication,我们能够在存储环境建立数据冗余,提供数据的灾难恢复功能。Geo-replication使用master-slave模式:1、Master- 代表一个卷;2、Slave-可能是一个卷或者一个文件夹; 局域网异地迁原创 2012-10-27 12:58:04 · 5363 阅读 · 1 评论 -
GlusterFS:条带(Stripe)实现源码研究
1.概要1..RAID技术概念RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAIDLevels)。RA原创 2012-10-27 12:18:31 · 4318 阅读 · 7 评论 -
GlusteFS:自我修复(Selfheal)源码分析
1.概述Glusterfs自我修复是基于事件触发模式,修复的项主要包括文件内容(data),元数据(metadata),项(entry)等。修复分为2种类型,文件内容的整个修复(full),和差异化修复(diff),文件修复时候,并不会整个文件copy,而是以块单位进行copy。具体修复流程大致为从一个数据完整的节点,将文件读取到客户端,然后再将文件写到数据不完整的节点。数据修复示意图原创 2012-10-27 12:52:14 · 4445 阅读 · 2 评论 -
GlusterFS:xlator基础源码研究
1.xlator树加载过程对于glusterfs,在客户端,有一个由xlator组成的树,在树中,xlator层层调用,在当服务器端挂载到客户端后,gluster会将树解析为一张图中,在此我们从图中xlator的初始化过程开始讲解。客户端卷部分配置文件截图在glusterfs中,当挂载到客户端时,客户端会将卷配置文件解析成graph,然后会发起对graph中每个节点的参数合法性原创 2012-10-27 12:00:51 · 5585 阅读 · 0 评论 -
Glusterfs之小文件优化
小文件优化主要是通过优化文件操作的过程和iocache来达到优化的目的。一、小文件速度比较快的存储系统的特点(fastdfs,mogilefs(主要适合小文件),swift(小于50KB速度很快)):1)通过定位器直接可以定位文件存储的节点,而不用遍历所有节点;2)文件路径长度一定,不会造成路径深度不一致,不会造成查询时间不一致;3)要读取一个文件一般分为2个步骤:4)hash原创 2012-10-29 23:32:02 · 5448 阅读 · 0 评论 -
Glusterfs:冗余(Replication)源码分析
1.概述.冗余技术(redundancy)是分布式存储系统的一个重要技术手段。最简单、最传统的冗余存储技术是副本技术(replication):通过拷贝多个原始数据,并将它们分别存储在不同节点上,从而增加数据可靠性。Gluster文件系统通过多分冗余来保持其系统文件的高可用性。 Glusterfs冗余示意图 副本技术存在显著缺点是存储开销巨大——为应对部分数据丢失的风险而需原创 2012-10-27 12:24:52 · 4357 阅读 · 0 评论 -
glusterfs之iocache 操作解析
io-cache:描述:IO缓存中继(performance/io-threads)属于性能调整中继的一种,作用是缓存住已经被读过的数据,以提高IO性能。 IO缓存中继可以缓存住已经被读过的数据。这个对于多个应用对同一个数据多次访问,并且如果读的操作远远大于写的操作的话是很有用的(比如,IO缓存很适合用于提供web服务的环境,大量的客户端只会进行简单的读取文件的操作,只有很少一部分会去写文件)原创 2012-04-05 23:22:23 · 2878 阅读 · 1 评论 -
glusterfs分布式,冗余卷读写操作过程
现将前段时间分析的glusterfs分布式,冗余部分的部分操作执行过程粘贴出来,供互相学习,欢迎互相探讨:1、冗余卷创建文件 1)对每个子卷加非阻塞项锁,加锁成功的子卷数等于up子卷,才算加锁成功,否则会解除之前加成功的锁; 2)如果非阻塞锁失败了,会调用阻塞锁进行加锁; 3)在所有的up子卷上创建文件,中间可能有创建失败的,所有创建操作完成后将信息返回给父原创 2012-04-05 23:10:21 · 2947 阅读 · 0 评论 -
GlusterFS :Addbrick工作流程分析
1、工作流程分析步骤说明:1、 Cli接收到用户的输入后,对命令进行解析,判断命令是否合法(命令格式,字符拼写等检查),然后RPC调用本机的glusterd程序的远程函数,glusterd程序开始解析addbrick的命令行,判断里面的hostname所对应机器是否存在;peer内的uuid是否存在;brick所对应的路径是否存在;检查所对应的brick是否已经存在,日志片段原创 2012-12-22 10:01:52 · 2808 阅读 · 2 评论