glusterfs--peer节点管理(转)

1. 相关命令

添加peer: gluster peer probe Host (Host为peer的主机名)

删除peer: gluster peer detach Host

查看peer状态: gluster peer status

2. 大概流程

添加删除节点大概流程简单来说就是:gluster向glusterd建立tcp连接,并发送rpc请求;glusterd收到请求后,与远端节点的glusterd通信执行具体的动作;最后回复gluster最终处理结果。

再细一点(以添加peer节点为例):本地glusterd与远端glusterd之间的通信,双方均会向对方建立TCP连接,完成握手工作,发送添加节点请求,并最终更新节点信息。

glusterfs--peer节点管理

注:实际上,远端glusterd在收到probe_query的rpc请求后便向本地glusterd建立tcp连接,然后执行后续的动作,因此双方的请求交互流程是穿插进行的,上图仅为了方便理解。

进一步深入:在glusterd之间的交互过程中,glusterd会记录peer节点的相关状态,在收到rpc请求的回复或者对端的rpc请求时,根据peer的当前状态在状态数组中找到对应的事件处理数组,然后根据具体的事件进行相应处理,直到交互完成(glusterd中有一事件链表,收到rpc请求的回复或者对端的rpc请求时可能会往事件列表中添加不同的事件,然后从列表中取出事件进行相应处理,事件的处理过程中也可能会往事件链表中添加新的事件,即触发新的动作)。

glusterfs--peer节点管理

再以添加peer节点为例,内部的关键函数调用流程如下图所示:

glusterfs--peer节点管理

在收到rpc请求回复后调用对应的*_cbk函数,这些函数往事件链表中添加不同的事件,然后调用glusterd_friend_sm函数循环从事件链表中取出事件并进行处理。

事件链表的大概情况为:

glusterfs--peer节点管理

3. 相关日志信息记录

在交互过程中,peer节点的中间状态以及最终状态,glusterd都会在文件中记录。

文件存储的默认路径为 /var/lib/glusterfsd/peers/

在未获取到peer节点的uuid是,文件名为peer节点的主机名,也就是命令"peer probe"指定的主机名,当得知对端节点的uuid后,以uuid的内容作为文件名。

文件中记录了对端节点的uuid,主机名以及当前状态state。

glusterfs--peer节点管理

转载于:https://my.oschina.net/banwh/blog/1596559

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值