- 浏览: 54899 次
- 性别:
- 来自: 北京
最新评论
-
mayatama:
jiakon 写道你好,请问yum install glust ...
Glusterfs+Swift 对外提供对像存储 -
jiakon:
你好,请问yum install glusterfs glus ...
Glusterfs+Swift 对外提供对像存储
文章列表
Glusterfs使用了xlator模块化架构,用户可以通过编辑卷的配置文件来自定义xlator的结构。下面本人结合源码,说说从配置文件构建xlator结构的流程。
首先要说明的是glusterfs根据执行程序名字的不同,有三种启动方式:glusterd, server , client, 具体可见函数glusterfsd/src/glusterfsd.c:gf_get_process_mode
static uint8_t
gf_get_process_mode (char *exec_name)
{
char *dup_execname = NU ...
glusterfs资料列表
- 博客分类:
- glusterfs
官方:
http://www.gluster.org/
http://gluster.org/pipermail/gluster-users/
邮件列表
http://lists.gnu.org/archive/html/gluster-devel/
邮件列表
https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Storage/2.0/html-single/Administration_Guide/index.html
http://www.gluster.org/comm ...
mount -t nfs -o proto=tcp,vers=3 <hostname/ip>:<volume name> <mountpoint>
如 mount -t nfs -o proto=tcp,vers=3 localhost:cat /mnt
proto = protocol, vers = version
Afr中4种触发自修复的过程
- 博客分类:
- glusterfs
Afr(Auto File Replication) 由于其有副本, 使得自修复(Self Heal)的特性得以实现。 self heal以下简称SH。副本数为n
1. afr_lookup触发
在afr模块中的调用先后关系是 afr_lookup -> n次 afr_lookup_cbk -> afr_lookup_done -> afr_lookup_perform_self_heal -> afr_lookup_set_self_heal_params -> afr_can_self_heal_proceed? -> afr_l ...
Glusterfs调试
- 博客分类:
- glusterfs
直接attach到相关进程
> gdb
(gdb) attach [pid of the glusterfs]
....
(gdb) detach
-----------------------------------------------------------------------------------------------------------------------------------
或者使用gdb启动glusterfs:
> gdb -x script.txt
script.txt 文件内容
...
Jeff Darcy: The GlusterFS philosophy has generally been to handle performance issues via horizontal scaling - which works even for data sizes greater than any cache - and be conservative about the other issues.
If you can buy more performance but you can’t buy more of those other things, you’d ...
rbthash@glusterfs
- 博客分类:
- glusterfs
Glustefs里面有一个很有意思的数据结构叫做rbthash, 全称是red black tree hash, 顾名思义就是使用红黑树做的哈希, 这个数据结构在io-cache xlator的实现中用到。
首先,有红黑树数据结构(contirb/rbtree), 它是从libavl库中偷过来的。虽然红黑树有点复杂,但是是相当经典的数据结构,有很多资料可以参考,这里就不展开了。
然后,在rbthash_table里面有很多buckets,在算法中称为桶(比如桶排序), 每一个桶里面都长着一棵红黑树。(让我想到植物大战僵尸屋顶那关)。
插 ...
glusterfs中Trie树的使用
- 博客分类:
- glusterfs
Trie树,又称前缀数,是一种有序树,经常用来做字典。所以又称字典树。
同样,在Glusterfs中,Trie树就作为字典树使用,完成两个功能:
1.判断用户输入的volume option是否存在
2. 若不存在,给出与用户输入最相似的选择,比较人性化。
下面一张来自维基百科 的图片形象的描述了这个数据结构
图中这颗树存储了"A", "to", "tea", "ted", "ten", "i", "in", and & ...
CLI是Command Line Interface
的缩写,它是用户与gluster交互界面,一般称为控制台。
安装好glusterfs后,输入gluster即可进入该控制台。
输入gluster help 或者 进入控制台后输入help即可查看命令列表。
CLI的源码在glusterfs/cli/src中:
cli.h
cli.c
主入口函数
cli-cmd.h
cli-cmd.c
所有命令通用函数
cli-cmd-parser. ...
GlusterFS is an open source, clustered file system capable of scaling to several petabytes andhandling thousands of clients. GlusterFS can be flexibly combined with commodity physical, virtual,and cloud resources to deliver highly available and performant enterprise storage at a fraction of theco ...
Glusterfs提供三种基本卷类型,分别是Replicated, Distributed,Striped,分别对应于xlator中的AFR, DHT, Stripe。
这三种基本类型还可以自由组合,构成3种复合类型和1种混合类型。
Replicated Volume 副本卷
如图,File1同时存储在server1和server2上。 File2也是如此。相当于server2中的文件是server1中文件的副本。
Distributed Volume 分布式卷
如图,File1和File2存放于server1,而File3存放于serve ...
获得源码:
> git clone git://github.com/gluster/glusterfs.git
.|-- argp-standalone 命令行参数解析器(Argument Parser)|-- cli gluster命令行(Command Line Interface)|-- contrib| |-- fuse-include | |-- fuse-lib | |-- fuse-util
用户空间文件系统(Filesystem in Userspace,简称FUSE) | |-- ipaddr-py ip地址验证工 ...