corosync-qdevice详解

corosync-qdevice详解

corosync-qdevice是corosync集群工具的一个组件,用于提供第三方仲裁服务。corosync-qdevice需与corosync-qnetd和corosync一起使用,无法单独运行。

  • 允许corosync在偶数节点分裂为两个相似的部分后仲裁选择出一方继续提供服务

  • 允许corosync在运行到剩下最后一个节点仍能够提供服务

corosync-qdevice架构

corosync节点

部署运行corosync和corosync-qdevice服务的节点。属于集群节点,提供集群通信服务,参与集群的各项决策任务。

corosync需先运行,再运行corosync-qdevice,corosync和corosync-qdevice共用一份配置。corosync运行的时候会将指定路径的corosync.conf的配置读取到cmap中,corosync-qdevice运行时通过连接corosync的cmap来获取qdevice相关的配置。

corosync-qnetd节点

部署运行corosync-qnetd服务的节点。不属于集群节点,只负责在集群中有节点挂掉时参与投票,辅助选择quorate一方的集群。

corosync-qnetd需要在corosync和corosync-qdevice时运行之前部署好,一般选择与corosync节点在不同的物理机器上。为了高可用性,可选择两台机器部署两个corosync-qnetd的服务。

corosync-qnetd可以给多个集群提供投票服务,根据集群的名字进行区分不同的集群。

整体运行状态

  • corosync-qnetd作为corosync-qdevice的服务端运行

  • corosync-qdevice和corosync一起运行,corosync-device作为客户端会在启动时连接corosync-qnetd

  • 当有集群节点变动时,corosync-qdevice会和corosync-qnetd通信,并根据设定的投票规则参与投票

corosync-qdevice配置

corosyn-qdevice的配置在corosync.conf的quorum模块中,通过配置quorum.device相关项来配置。

quorum {
         provider: corosync_votequorum
         device {
           votes: 1
           model: net
           net {
             tls: on
             host: qnetd.example.org
             algorithm: ffsplit
           }
           heuristics {
             mode: sync
             exec_ping: /bin/ping -q -c 1 "www.example.org"
             exec_test_txt_exists: /usr/bin/test -f /tmp/test.txt
           }
       }
  • votes

    qnetd的票数。

  • host

    qnetd运行的ip。

  • port

    qnetd运行的端口。

  • algorithm

    选择的启发式算法,可选ffsplit和lsm。

    • ffsplit 一般用偶数节点会分割为相似的两部分的情况

    • lsm 一般用于只剩下一个节点也能提供服务

  • heuristic

    启发式算法

corosync-qnetd配置

corosync-qnetd不需要配置文件,直接以命令行参数指定相关配置运行。

# -l 指定监听地址,默认全地址
# -p 指定监听端口,默认5403
# -s 是否开启tls,默认开启
# -f 后台运行
corosync-qnetd -l host -p port -s on/off -f
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

growdu_real

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值