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/clientxlator上,该xlator通过rpcglusterfs连接,将请求发送到glusterfsd服务器执行;

下面通过2个图来说明上面几个进程的具体关系;

1、进程:glusterglusterdglusterd之间的关系

1

2fuseglusterfsglusterfsd之间的关系(通过一个分布式复杂卷的方式来说明,为了突出重点,省略了部分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的说明;

0 0
原创粉丝点击