glusterfs分析-系列一:glusterfs整体分析
来源:互联网 发布:蒋介石的人际网络 pdf 编辑:程序博客网 时间:2024/06/05 03:37
首先,熟悉整个业务流程前先了解下glusterfs的几个程序功能以及相互之间的关系!
gluster :cli的命令执行工具,负责将glusterfs的请求传递给glusterd进程来执行;大家安装后glusterfs后,执行gluster就会进入到该命令执行工具了;
glusterd:管理daemon进程,同时负责接收gluster发送过来的请求并执行相应的操作,比如:调用glusterfsd来启动brick服务;另外负责与其他主机上面的glusterd进程来同步信息;
gusterfsd:服务进程,由glusterd进程启动,并且根据卷配置信息执行从glusterfs发送过来的请求,同时也负责glusterd的请求处理;
glusterfs:客户端的进程,根据卷配置信息将fuse发过来的操作请求逐层传递到最底层的protocol/client的xlator上,该xlator通过rpc与glusterfs连接,将请求发送到glusterfsd服务器执行;
下面通过2个图来说明上面几个进程的具体关系;
1、进程:gluster、glusterd和glusterd之间的关系
图1:
2、fuse、glusterfs和glusterfsd之间的关系(通过一个分布式复杂卷的方式来说明,为了突出重点,省略了部分xlator)
图2:
然后,我们进一步熟悉下整个glusterfs的几个主要的业务功能,来帮助我们后面更好的去理解整个业务逻辑(毕竟,业务逻辑也是为了去实现对应的功能的);
1、host的管理,比如:增加和删除主机的相关处理,来实现扩容和缩容;
2、brick的管理,比如:新增和删除brick的相关处理,来实现扩容和缩容;
3、数据的平衡等提高磁盘空间利用率相关处理;
4、副本的自我修复等可靠性处理;
5、文件的读写等基本业务相关处理;
6、其他提升性能以及异常相关的处理;
其中,其中图1主要是负责系统相关的一些处理流程;图2主要是负责文件的读写处理流程;应该说glusterfs的主要业务逻辑应该都在这里了(小伙伴们是不是觉得其实还挺简单的?),下面来详细分析下整个glusterfs的整个业务逻辑;
我们将业务逻辑从3个方面进行分析:
1、整个glusterfs的初始化过程;
2、整个glusterfs对于文件的读写操作流程,即图2的说明(也是glusterfs的核心);
3、整个glusterfs的命令操作流程,即图1的说明;
- glusterfs分析-系列一:glusterfs整体分析
- GlusterFS分析
- glusterfs分析-系列二:glusterfs的初始化过程分析
- Glusterfs 源码分析后随笔
- GlusterFS :Addbrick工作流程分析
- GlusterFS源码解析 —— GlusterFS 结构体系分析
- GlusterFS分析--来自互联网的资料
- Glusterfs:冗余(Replication)源码分析
- GlusterFS:分布式(Distribute )源码分析
- GlusterFS:调度(Scheduler)算法源码分析
- Glusterfs (ls操作代码处理分析)
- Glusterfs文件系统简介和源码简单分析
- Glusterfs目录ls性能优化方案分析
- Glusterfs目录ls性能优化方案分析
- GlusterFS分布式外备份集群测试分析
- Glusterfs集群笔记一
- Glusterfs之nfs模块源码分析(中)之Glusterfs实现NFS服务器
- Glusterfs之rpc模块源码分析(中)之Glusterfs的rpc模块实现(1)
- Codeforces Round #263 (Div. 2)A. Appleman and Easy Task
- DB2数据库编目指令
- C++.NET编程体验
- 老罗学习网址集合
- 八种主流NoSQL数据库对比
- glusterfs分析-系列一:glusterfs整体分析
- 读取项目中classpath下的路径以及一些扩展
- 关于jsp在火狐浏览器中实现视频预览的思考
- 总拙最踪着缀
- notepad++如何修改字体?
- re2c使用小结(1)
- 关于海量数据处理的各种常用数据结构浅谈
- LeetCode Two Sum
- 妆作渍组专尊