heartbeat-gui
一、简介gui
heartbeat的v2版本将v1中haresources配置文件使用GUI图形配置接口来配置高可用集群。更加便捷,直观。
二、准备条件和资源规划见上文http://www.cnblogs.com/jym1/p/8073164.html
三、heartbeat-gui配置
1、安装
解决依赖关系
[root@node1 heartbeat]# yum install libtool-ltdl -y
[root@node1 heartbeat]# yum install net-snmp-libs libnet PyXML pygtk2-libglade -y
[root@node1 heartbeat]# rpm -ivh heartbeat-pils-2.1.-.el6.x86_64.rpm
[root@node1 heartbeat]# rpm -ivh heartbeat-stonith-2.1.-.el6.x86_64.rpm
[root@node1 heartbeat]# yum -y localinstall heartbeat-2.1.-.el6.x86_64.rpm
安装gui
[root@node1 heartbeat]# yum -y localinstall heartbeat-gui-2.1.-.el6.x86_64.rpm
heartbeat 安装组件说明
heartbeat 核心组件 *
heartbeat-devel 开发包
heartbeat-gui 图形管理接口 * (这个必须安装,这篇博文重点讲解图形资源管理器)
heartbeat-ldirectord 为lvs高可用提供规则自动生成及后端realserver健康状态检查的组件
heartbeat-pils 装载库插件接口 *
heartbeat-stonith 爆头接口 *
复制配置文件至/etc/ha.d目录下
[root@node1 ~]# cp /usr/share/doc/heartbeat-2.1./{ha.cf,haresources,authkeys} /etc/ha.d/
配置认证文件
auth
# crc
sha1 XUcb+fkiktY49z6zVHTy2A
# md5 Hello! [root@node2 heartbeat-2.1.]# openssl rand -base64
XUcb+fkiktY49z6zVHTy2A== 配置ha.cf文件,定义集群的工作方式
定义日志文件位置(二选一) logfacility为将日志交由syslog管理
logfile /var/log/ha-log
#logfacility local0
多长时间发送一次心跳信息,默认为2秒
#keepalive
多长时间宣布某节点死亡,默认30秒
#deadtime
多长时间警告对方心跳信息延迟了,默认10秒
#warntime
第一次死去时间,避免因网络问题导致宣布死亡
#initdead
使用udp694端口传递心跳,并选择哪种方式传递心跳
#udpport
串行线缆传递心跳
#serial /dev/ttyS0 # Linux
#serial /dev/cuaa0 # FreeBSD
#serial /dev/cuad0 # FreeBSD .x
#serial /dev/cua/a # Solaris
串行线缆的工作频率
#baud
广播传递心跳
#bcast eth0 # Linux
#bcast eth1 eth2 # Linux
#bcast le0 # Solaris
#bcast le1 le2 # Solaris
多播传递心跳,网卡必须支持多播,ifconfig | grep MULTICAST
mcast eth0 225.0.0.1 #端口694,TTL为1,不允许回传为0
#启用网卡支持多播
[root@node1 ha.d]# ip link set eth0 multicast on 单薄传递心跳
#ucast eth0 192.168.1.2
自动故障转回
auto_failback on
指明节点
#node ken3
#node kathy
node node1
node node2
加入crm开启这行,on或者respawn都可以
crm on 指明网关为ping node设备(仲裁设备)
#ping 10.10.10.254
ping 192.168.0.1
指明一个组为ping node设备(仲裁设备)
#ping_group group1 10.10.10.254 10.10.10.253
指明节点间传送的压缩算法
compression bz2
指明节点间传送数据压缩的最小数据为2KB
compression_threshold 配置haresource文件,加入资源
node1 192.168.0.17//eth0/192.168.0.255 httpd
3、配置双节点
[root@node1 ha.d]# scp /etc/ha.d/{ha.cf,authkeys} node2:/etc/ha.d/
ha.cf % 10KB .3KB/s :
authkeys % .7KB/s :
[root@node1 ha.d]# scp /etc/ha.d/haresources node2:/etc/ha.d/
haresources % .8KB/s : 将认证文件的权限改为600
[root@node1 ha.d]# chmod authkeys ; ssh node2 'chmod 600 /etc/ha.d/authkeys ' 启动服务
[root@node1 ha.d]# service heartbeat start; ssh node2 'service heartbeat start'
logd is already running
Starting High-Availability services:
Done. logd is already running
Starting High-Availability services:
Done.
此时以禁用haresource资源管理器,下面使用gui界面配置资源
4、gui配置
因为gui需要用户密码登录,因此为hacluster设置密码
[root@node1 ~]# echo "linus" | passwd --stdin hacluster
Changing password for user hacluster.
passwd: all authentication tokens updated successfully. 将Resources配置文件通过脚本生成crm,可省略,crm会自动生成
[root@node2 crm]# cd /usr/lib64/heartbeat
[root@node2 heartbeat]# ./haresources2cib.py /etc/ha.d/haresources 因为gui需要图形化界面支持,所以安装KDE桌面,远程软件中xshell支持,CRT等不支持
xshell配置步骤如下
File --> Properties --> SSH --> Tunneling --> Forward X11 connections to下的Xmanager
[root@node1 ~]# yum groupinstall KDE Desktop -y
安装完毕后退出xshell,重新登录后即可 查看状态
[root@node2 ha.d]# crm_mon
命令行接口
[root@node2 ha.d]# crm_sh
/usr/sbin/crm_sh:: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
from popen2 import Popen3
crm # nodes
crm nodes # list
<node id="da321285-0881-449f-b249-d912a65c1954" uname="node2" type="normal"/>
<node id="0b161e79-35d1-44a9-a09a-e7ae7e80659d" uname="node1" type="normal"/>
crm nodes # status
<node_state id="da321285-0881-449f-b249-d912a65c1954" uname="node2" crmd="online" crm-debug-origin="do_lrm_query" shutdown="" in_ccm="true" ha="active" join="member" expected="member">
<node_state id="0b161e79-35d1-44a9-a09a-e7ae7e80659d" uname="node1" crmd="online" crm-debug-origin="do_lrm_query" shutdown="" in_ccm="true" ha="active" join="member" expected="member"> 查看端口与服务是否正常(所有节点一致)
[root@node1 ~]# ss -tunlp | grep heartbeat
udp UNCONN 225.0.10.1: *:* users:(("heartbeat",,),("heartbeat",,))
udp UNCONN *: *:* users:(("heartbeat",,),("heartbeat",,))
[root@node1 ~]# ss -tunlp | grep mgmtd
tcp LISTEN *: *:* users:(("mgmtd",,))
[root@node1 ~]# ps -ef | grep heartbeat
root : ? :: heartbeat: master control process
nobody : ? :: heartbeat: FIFO reader
nobody : ? :: heartbeat: write: mcast eth0
nobody : ? :: heartbeat: read: mcast eth0
nobody : ? :: heartbeat: write: ping 192.168.0.1
nobody : ? :: heartbeat: read: ping 192.168.0.1
: ? :: /usr/lib64/heartbeat/ccm
: ? :: /usr/lib64/heartbeat/cib
nobody : ? :: /usr/lib64/heartbeat/lrmd -r
nobody : ? :: /usr/lib64/heartbeat/stonithd
: ? :: /usr/lib64/heartbeat/attrd
: ? :: /usr/lib64/heartbeat/crmd
root : ? :: /usr/lib64/heartbeat/mgmtd -v
root : pts/ :: grep heartbeat 启动gui
[root@node1 ~]# hb_gui &
图形界面如下
输入密码登录
登录后界面如下
配置资源
loction,order,colocation是位置顺序序列的约束条件
定义组资源
之后在定义资源的时候选择加入组即可
定义约束关系(序列约束)
其余约束关系定义,位置约束要选明score
资源约束(3种类型):
位置约束(locations):资源更倾向于哪个节点上 ,使用数值表示;
inf: 无穷大
n: 表示数值,要对节点间的做比较来决定最后落在那个节点上(此处n为正值)
-n: 同上,如果节点间的位置约束均为负值,则最后运行于接近正值的节点上
-inf: 负无穷(只要有其它选择,就不会选择此节点 )
排列约束(Colocations):资源运行在同一节点的倾向性;
inf: 无限倾向于在一起
-inf: 无限倾向于不在一起
顺序约束(orders):资源启动次序及关闭次序;
位置约束说明
ID:表示为约束记录起一个名字
from to:表示那一个资源与那一个资源(此处写上面定义资源名字即可)
score:在一起的可能性(也可以是数值,比如10,-10)
INFINITY:webip必须要和webserver在一个节点上
-INFINITY:webipbu不和webserver在一个节点上
一般来说,我们可以将资源定义为组,也可以将基本资源使用约束关系定义。
高可用集群启动顺序:webip --> webfilesystem(nfs)-->webserver
heartbeat-gui的更多相关文章
- CentOS6.5_x64上简单编译配置Heartbeat3.0.4
Heartbeat 3与 2.x的最大差别在于,3 按模块把的原来2.x 拆分为多个子项目,并且提供了一个cluster-glue的组件,专用于Local ResourceManager 的管理.即h ...
- Centos下使用Heartbeat实现集群[转]
Linux 包括 CentOS 下高可用性(HA:High Availability)集群方案很多,而 Heartbeat 是比较常见和性价比比较高的一种。一、硬件及网络连接 群集一般需要2台以上服务 ...
- synapse socket总结三:心跳(Heartbeat)
首先转载一篇关于心跳的博文解释: 所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已.代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到 ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- 如何通过Git GUI将自己本地的项目上传至Github
最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...
- git图像化界面GUI的使用
GIT学习笔记 一. 基础内容 1.git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支. 2.windows下的git叫msysgit,下载 ...
- egret GUI 和 egret Wing 是我看到h5 最渣的设计
一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type ...
- [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作
走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...
- 1.JAVA之GUI编程概述
下列内容为本人看毕向东老师java视频教程学习笔记! JAVA GUI图形用户界面编程: Windows 操作系统提供两种操作方式: ...
- 2.JAVA之GUI编程布局
布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...
随机推荐
- dstat命令--检查linux系统性能
系统性能的相关工具:vmstat.netstat.iostat.ifstat. dstat命令可以查看虚拟内存.网络连接和接口.cpu活动.输入/输出设备等.
- Java 使用阿里云短信的API接口
亲们上午好,写的不好的地方还望指正.谢谢各位! 引言 短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码.短信通知等.(我这里只讲一个 ...
- 重点:怎样正确的使用QThread类(很多详细例子的对比,注意:QThread 中所有实现的函数是被创建它的线程来调用的,不是在线程中)good
背景描述: 以前,继承 QThread 重新实现 run() 函数是使用 QThread唯一推荐的使用方法.这是相当直观和易于使用的.但是在工作线程中使用槽机制和Qt事件循环时,一些用户使用错了.Qt ...
- centos7通过阿里云配置docker加速镜像
针对Docker客户端版本大于1.10.0的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器: sudo mkdir -p /etc/docker s ...
- Mybatis框架学习总结-使用Mybatis对表执行CRUD操作
使用MyBatis对表执行CRUD操作——基于XML的实现 1.创建(create)用户:在userMapper.xml文件中增加: <!-- 创建用户Create --> <ins ...
- Python之OS模块函数
函数列表: 1 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os. ...
- Java时间处理类SimpleDateFormat的parse和format方法的正确使用
Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现. SimpleDa ...
- kubernetes清除状态为Evicted的pod
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod 清除脚本 #!/bin/bash for p ...
- Spring第三弹—–编码剖析Spring管理Bean的原理
先附一下编写的Spring容器的执行结果: 代码如下: 模拟的Spring容器类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- 过滤adb logcat 日志
原文地址http://blog.csdn.net/listening_music/article/details/7518990 另外比较好的文章http://blog.csdn.net/liao27 ...