微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何正确配置2节点glusterfs系统?

我正在尝试使用glusterfs 3.7.6进行数据复制和起搏器corosync作为资源管理器,制作具有高可用apache的2节点 linux服务器.但是,当两个节点都关闭并且其中一个节点首先联机时,我在特定情况下看到了gluster的问题.即使该节点上有一块砖并且gluster服务正在运行,也没有砖块进程.
[root@node1 ~]# gluster volume status data 
Status of volume: data
gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick node1:/gluster_data                   N/A       N/A        N       N/A  
NFS Server on localhost                     N/A       N/A        N       N/A  
NFS Server on localhost                     N/A       N/A        N       N/A  

Task Status of Volume data
------------------------------------------------------------------------------
There are no active volume tasks

当我启动另一个节点时,一切似乎都有效,我可以安装音量.

[root@node1 ~]# gluster volume status data
Status of volume: data
gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick node1:/gluster_data                  49152      0          Y       2674 
Brick node2:/gluster_data                  49152      0          Y       3086 
NFS Server on localhost                     N/A       N/A        N       N/A  
Self-heal Daemon on localhost               N/A       N/A        Y       2796 
NFS Server on node2                         N/A       N/A        N       N/A  
Self-heal Daemon on node2                   N/A       N/A        Y       3085 

Task Status of Volume data
------------------------------------------------------------------------------
There are no active volume tasks

此时,如果我关闭node2,node1 brick进程仍然处于活动状态,所以至少我可以挂载并使用它.

[root@node1 ~]# gluster volume status data

Status of volume: data
gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick node1:/gluster_data                   49152     0          Y       2674 
NFS Server on localhost                     N/A       N/A        N       N/A  
Self-heal Daemon on localhost               N/A       N/A        Y       2796 

Task Status of Volume data
------------------------------------------------------------------------------
There are no active volume tasks

所以我的观察是,为了使gluster卷工作,两个节点需要至少在线一段时间以便砖块可以启动,然后如果一个节点发生故障,它将不会影响卷操作.那么,当其中一个节点从全面停电中上线时,如何才能使其工作?

解决方法

任何群集节点在完全停止时出现的问题是:

Do I have the latest state,or not? I don’t want to claim latest if I’m behind the other down nodes.

这就是为什么聚类经常包含某种仲裁机制,因此现有节点可以对状态进行投票并收敛于共识.两个节点集群不能使用此机制,因为永远不会有“多数”分区.在3.7版本中,gluster获得了法定人数功能.

http://gluster.readthedocs.org/en/release-3.7.0beta1/Features/server-quorum/

在该文档中,他们声明2节点集群不能使用它,原因如上所述.

在您的情况下,您可能需要考虑在gluster设置中创建一些仅管理节点.这些将是探测到群集的对等体,但不承载任何存储.他们存在的全部理由是维持集群状态.这些可以存在于不同的机架,数据中心,电源阶段,以尝试确保它们与存储砖处于不同的故障域中.这将增加集群中的成员数量,并且如果其中一个存储块没有另一个存储块,则将提高您进行多数分区的机会.

不幸的是,您所看到的行为是按设计工作的,如果不向群集中添加更多服务器,则无法更改.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐