corosync集群心跳配置及mgmt调用修改方法

2023-10-08 13:50

本文主要是介绍corosync集群心跳配置及mgmt调用修改方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

corosync集群心跳配置及mgmt调用修改方法 (2010-09-27 17:13)
分类: 我的文档



corosync集群心跳可在文件/etc/corosync/corosync.conf中的interface字段进行配置,如下配置了两路心跳:

totem {

version: 2

secauth: off

threads: 0

rrp_mode: passive

interface {

ringnumber: 0

bindnetaddr: 172.16.70.0

broadcast: yes

mcastport: 5546

}

interface {

ringnumber: 1

bindnetaddr: 192.168.127.0

broadcast: yes

mcastport: 5547

}

}

interface字段主要有以下几个参数:

  1. ringnumberinterfacering number,用于区分不同的心跳,必须从0开始
  2. bindnetaddr:绑定的网络地址,经常以0结尾,也可以使用IPV6地址。例如,如果本地心跳为192.168.5.92,子网255.255.255.0,则设置bindnetaddr192.168.5.0;如果本地心跳为192.168.5.92,子网255.255.255.192,则设置bindnetaddr192.168.5.64
  3. mcastportUDP端口号
  4. broadcast:该字段可选,设为YES时表示将使用广播地址,如果设为该选项,则可以不设mcastaddr字段
  5. mcastaddr:多播地址,不允许使用224.x.x.x之类的地址。也可以使用IPV6地址。

corosync-cfgtool为显示及配置corosync的工具,与心跳有关的使用如下:

显示该节点的当前心跳状态

[root@server-1 BUILD]# corosync-cfgtool -s

Printing ring status.

Local node ID -1085927252

RING ID 0

id = 172.16.70.191

status = ring 0 active with no faults

RING ID 1

id = 192.168.127.191

status = ring 1 active with no faults

心跳出错后重新配置集群中的心跳状态,即重新启动失败的心跳

[root@server-1 BUILD]# corosync-cfgtool -r

为了在mgmt下可以检查心跳状态,在mgmt/daemon/mgmt_crm.c中添加如下函数:

char*

on_status_of_hblinks(char* argv[], int argc)

{

char* ret = strdup(MSG_OK);

cs_error_t result;

corosync_cfg_handle_t handle;

unsigned int interface_count;

char **interface_names;

char **interface_status;

unsigned int i;

unsigned int nodeid;

//初始化;

result = corosync_cfg_initialize (&handle, NULL);

if (result != CS_OK) {

mgmt_log(LOG_WARNING, "Could not initialize

corosync configuration API error %d\n", result);

exit (1);

}

//取当前node id

result = corosync_cfg_local_get(handle, &nodeid);

if (result != CS_OK) {

mgmt_log(LOG_WARNING, "Could not get the

local node id, the error is: %d\n", result);

}

//取心跳情况,包括名称、状态等;

result = corosync_cfg_ring_status_get (handle,

&interface_names,

&interface_status,

&interface_count);

//返回结果;

if (result != CS_OK) {

mgmt_log(LOG_WARNING, "Could not get the

ring status, the error is: %d\n", result);

} else {

for (i = 0; i < interface_count; i++) {

ret = mgmt_msg_append(ret, interface_names[i]);

ret = mgmt_msg_append(ret, interface_status[i]);

}

}

(void)corosync_cfg_finalize (handle);

return ret;

}

之后即可在mgmt中使用status_hblinks命令即可查询心跳的状态,如下所示:

[root@server-1 heartbeat-gui]# ./mgmtcmd.py status_hblinks

---------------------------

o

172.16.70.191

ring 0 active with no faults

192.168.127.191

ring 1 active with no faults


这篇关于corosync集群心跳配置及mgmt调用修改方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/165730

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca