自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Glusterfs+Swift 对外提供对像存储

虽然Glusterfs本身对外只提供POSIX兼容的文件存储, 它也可以借助OpenStack的Swift对外提供对象存储。  我的实验环境为Fedora18,其他环境在命令格式上可能略有不同:1.安装依赖包 yum install glusterfs glusterfs-server glusterfs-fuse glusterfs-swift glusterfs-s...

2013-11-27 16:14:51 468

原创 qemu-kvm使用gluster协议

为了提高以glusterfs做为存储的 虚拟机的IO性能, Bharata B Rao在qemu-kvm中开发了gluster协议,主要就是让qemu-kvm通过glustefs-api绕过fuse直接访问文件,因为fuse被认为带来了性能损耗。 目前支持gluster协议的qemu-kvm版本是1.3.1以上,还没有方便使用的rpm包,所以我们直接从源码编译安装。 # git ...

2013-03-29 10:12:42 643

Glusterfs社区开发流程

  Glusterfs开源社区使用 Git + Gerrit + Jenkins的开发流程。 RegisterSign up for an account at http://review.gluster.org by clicking 'Register' on the right-hand top. You can use your gmail login as the o...

2013-03-21 14:36:00 270

Glusterfs扩展属性

英文原文: http://hekafs.org/index.php/2011/04/glusterfs-extended-attributes/ 天马行空的意译,对正确性负责,不一定全和准确。 扩展属性是现代文件系统普遍支持,而又不容易被用户发现的特性。 Glusterfs中DHT,AFT, stripe都广泛使用了扩展属性即xattr。 xattr是一个key...

2013-03-06 12:27:22 211

图说DHT

 dht-diskusage.c  它包含dht中关于磁盘空间的获取与控制相关函数。   图片中箭头代表数据流,其他是调用流。图片中的核心数据是conf->du_stats, 图片左半部分的函数负责获取数据存入du_stats结构体,而右半部分函数使用du_stats判断subvol是否可以再存放文件。 dht-rename.c 它包含dht层...

2013-02-28 14:22:50 254

原创 call_stack 与 call_frame

call_stack由一个或多个call_frame组成。 Each call_frame corresponds to a call to a subroutine which has not yet terminated with a return. For example, if a subroutine named DrawLine is currently running, ...

2013-02-28 10:04:51 319

原创 使用glusterfs API

如果是通过rpm安装的glusterfs 在执行 glusterfs/api/example/gfapi.py 之前,需要执行 ln -s /usr/lib64/libglusterfs.so.0 /usr/lib64/libglusterfs.soln -s /usr/lib64/libgfapi.so.0 /usr/lib64/libgfapi.soln -s /u...

2013-02-21 10:43:15 941

原创 Glusterfs吞吐量性能测试

我在这里介绍了如何用iozone来测试glusterfs性能。下面贴上测试结果,并做简单分析。测试环境:Glusterfs版本 Release3.4GB级网卡, 即千兆网测试场景1:一个节点,使用本地brick,本地挂载测试:Glusterfs的读写性能和Native的差不多,都在200Mb/s...

2013-01-10 13:55:54 909

glusterd中的状态机浅析

当RPC请求到达Glusterd守护进程后, 它会根据rpcsvc_actor_t gd_svc_cli_actors[] 数组来选择相应的处理函数。一般函数名为glusterd_handle_XXX。这类函数一般负责从xdr中提取出请求数据,比如卷名,主机名等等。然后调用glusterd_op_begin 或者其他函数 向请求队列里面注入事件(...

2012-12-20 13:14:38 198

Gluster术语表

接触新的东西的时候,缩写/术语啥的最头疼了。下面我总结了一些glusterfs的术语。 Xlator=translator: glusterfs模块的代名词Brick :存储目录是Glusterfs的基本存储单元,由可信存储池中服务器上对外输出的目录表示。存储目录的格式由服务器和目录的绝对路径构成,具体如下:SERVER:EXPORT.例如:myhostname:/exports/...

2012-12-19 16:31:34 156

iozone测试glusterfs性能

iozone是linux下的磁盘性能测试工具,编译完成后就一个bin文件,用起来也很方便。./iozone -a -n 1g -g 2g -i 0 -i 1 -i 2 -i 3 -i 7 -f /mnt/iozone -Rb no-rh.xls-a 表示自动测试-n , -g 表示最小和最大的文件大小-i...

2012-11-27 11:39:53 245

原创 inode详解

inode是glusterfs中重要的数据结构之一, glusterfs用它来表示文件系统中的inode,但二者不是等价的。 inode数据结构 先粗略看下inode数据结构定义,对它有个整体印象 typedef struct _inode inode_t;struct _inode { inode_table_t *table...

2012-11-23 16:38:21 420

原创 epoll与event_pool

  epoll is a scalable I/O event notification . 它在内核2.5.44首次引入, 用来取代POSIX select和poll系统调用。    说到select和poll,也就是IO多路转接,在APUE 14.5节有详细介绍:转自http://blog.csdn.net/delphiwcdj/article/details/8827659--...

2012-11-07 14:56:06 376

原创 CircleBuffer@glusterfs

 CircleBuffer是逻辑上呈环形的缓冲区。 当缓冲区满了的时候可以让新的数据覆盖最旧的数据。 Glusterfs使用CircleBuffer来存储Afr的自修复日志。CircleBuffer在 libglusterfs/src/circ-buff.c 中定义:下面介绍下其关键函数 __cb_add_entry_buffer (...

2012-11-05 17:22:08 243

原创 如何查看brick上文件扩展属性

在brick目录(不是volume挂载目录)执行:   getfattr -d -m ".*" -R .

2012-10-25 16:25:00 320

原创 关于卷的配置文件(Volume Spec)

Glusterfs使用了xlator模块化架构,用户可以通过编辑卷的配置文件来自定义xlator的结构。下面本人结合源码,说说从配置文件构建xlator结构的流程。 首先要说明的是glusterfs根据执行程序名字的不同,有三种启动方式:glusterd,  server , client, 具体可见函数glusterfsd/src/glusterfsd.c:gf_get_process_...

2012-10-10 17:07:29 339

原创 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...

2012-09-12 09:42:50 107

原创 如何以nfs方式挂载glusterfs卷

mount -t nfs  -o proto=tcp,vers=3 <hostname/ip>:<volume name>  <mountpoint>如 mount -t nfs  -o proto=tcp,vers=3 localhost:cat /mntproto = protocol,  vers = version 

2012-09-07 14:28:59 1240

Afr中4种触发自修复的过程

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_p...

2012-09-03 15:57:22 266

原创 Glusterfs调试

直接attach到相关进程 > gdb(gdb) attach [pid of the glusterfs]....(gdb) detach  -------------------------------------------------------------------------------------------------------------...

2012-09-03 15:13:44 271

原创 邮件列表语录

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 o...

2012-08-30 17:04:02 167

原创 rbthash@glusterfs

Glustefs里面有一个很有意思的数据结构叫做rbthash, 全称是red black tree hash, 顾名思义就是使用红黑树做的哈希, 这个数据结构在io-cache xlator的实现中用到。       首先,有红黑树数据结构(contirb/rbtree), 它是从libavl库中偷过来的。虽然红黑树有点复杂,但是是相当经典的数据结构,有很多资料可以参考,这里就不展...

2012-08-27 10:23:58 140

原创 glusterfs中Trie树的使用

Trie树,又称前缀数,是一种有序树,经常用来做字典。所以又称字典树。 同样,在Glusterfs中,Trie树就作为字典树使用,完成两个功能:1.判断用户输入的volume option是否存在 2. 若不存在,给出与用户输入最相似的选择,比较人性化。下面一张来自维基百科 的图片形象的描述了这个数据结构  图中这颗树存储了"A", "to", "tea",...

2012-07-30 10:41:12 91

CLI简析

CLI是Command Line Interface的缩写,它是用户与gluster交互界面,一般称为控制台。安装好glusterfs后,输入gluster即可进入该控制台。输入gluster help 或者 进入控制台后输入help即可查看命令列表。CLI的源码在glusterfs/cli/src中:cli.hcli...

2012-07-27 14:16:17 408

原创 glusterfs简介

 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 ...

2012-07-12 17:21:50 275

原创 glusterfs卷类型

Glusterfs提供三种基本卷类型,分别是Replicated, Distributed,Striped,分别对应于xlator中的AFR, DHT, Stripe。 这三种基本类型还可以自由组合,构成3种复合类型和1种混合类型。 Replicated Volume 副本卷   如图,File1同时存储在server1和server2上。 File2也是如此。相当...

2012-07-12 14:51:28 231

原创 glusterfs3.3源码目录结构解析

获得源码:> git clone git://github.com/gluster/glusterfs.git.|-- argp-standalone 命令行参数解析器(Argument Parser)|-- cli  gluster命令行(Command Line Interface)|-- contrib|   |-- fuse-include |   |-- fuse-lib...

2012-07-11 17:04:15 232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除