一、简介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 爆头接口 *
 
2、配置
复制配置文件至/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的更多相关文章

  1. CentOS6.5_x64上简单编译配置Heartbeat3.0.4

    Heartbeat 3与 2.x的最大差别在于,3 按模块把的原来2.x 拆分为多个子项目,并且提供了一个cluster-glue的组件,专用于Local ResourceManager 的管理.即h ...

  2. Centos下使用Heartbeat实现集群[转]

    Linux 包括 CentOS 下高可用性(HA:High Availability)集群方案很多,而 Heartbeat 是比较常见和性价比比较高的一种。一、硬件及网络连接 群集一般需要2台以上服务 ...

  3. synapse socket总结三:心跳(Heartbeat)

    首先转载一篇关于心跳的博文解释: 所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已.代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到 ...

  4. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  5. 如何通过Git GUI将自己本地的项目上传至Github

    最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...

  6. git图像化界面GUI的使用

    GIT学习笔记 一.        基础内容 1.git是一个版本控制软件,与svn类似,特点是分布式管理,不需要中间总的服务器,可以增加很多分支. 2.windows下的git叫msysgit,下载 ...

  7. egret GUI 和 egret Wing 是我看到h5 最渣的设计

    一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type ...

  8. [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作

    走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...

  9. 1.JAVA之GUI编程概述

          下列内容为本人看毕向东老师java视频教程学习笔记! JAVA GUI图形用户界面编程: Windows 操作系统提供两种操作方式:                             ...

  10. 2.JAVA之GUI编程布局

    布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...

随机推荐

  1. 1.1 VGA(图像显示卡),Graphics Card(图形加速卡),Video Card(视频加速卡),3D Accelerator Card 和 GPU(图形处理器)

    1.1 VGA(图像显示卡),Graphics Card(图形加速卡),Video Card(视频加速卡),3D Accelerator Card 和 GPU(图形处理器) 对这些概念之前也没怎么了解 ...

  2. datasnap rest Windows客户端编写

    首先吐槽一下XE关于datasnap的资料真的是太少了... 服务端用DSHTTPService1控件可以实现http接口方式的调用,返回的都是json格式数据,适用于跨平台解析. 这里着重强调一下d ...

  3. Python面象对象与类

    # -*- coding: utf-8 -*- # @Date: 2017-08-26 # @Original: from collections import namedtuple from col ...

  4. Python 之RabbitMQ使用

    1. IO 多路复用 # select 模拟socket server # server 端 import select import socket import sys import queue s ...

  5. d3.js:数据可视化利器之 selection:选择集

    选择集/selection 选择集/selection是d3中的核心对象,用来封装一组从当前HTML文档中选中的元素: d3提供了两个方法用来创建selection对象: select(selecto ...

  6. MapReduce的核心编程思想

    1.MapReduce的核心编程思想 2.yarn集群工作机制 3.maptask并行度与决定机制 4.maptask工作机制 5.MapReduce整体流程 6.shuffle机制 7.yarn架构

  7. System.ArgumentException: 字体“Courier New”不支持样式“Regular”。

    使用MongoVUE,发现报错,报错信息如下: System.ArgumentException: 字体“Courier New”不支持样式“Regular”. 说明本机字体安装不够:需安装完整的Co ...

  8. mysql 正则表达式 regexp rlike not rlike

    regexp   rlike    not rlike 今天在上班的时候突然遇到了一个问题,C+组的同事要删除mysql里面的一些特殊数据,想要正则进行匹配.于是问我,没想到还真的把我难住了,问题如下 ...

  9. 详解C++中命名空间的意义和用法

    看过鸡啄米的C++编程入门系列教程的朋友,应该能注意到,在其中的很多实例中,都有这么一条语句:using namespace std;,即使用命名空间std,其作用就是规定该文件中使用的标准库函数都是 ...

  10. Windows下IIS+PHP 5.2的安装与配置

    Windows下IIS+PHP 5.2的安装与配置   Windows下PHP的安装虽然简单,但如果不注意方法,仍然会让你头疼.此外,PHP 5.2版本与之前4.x版本也有一些不同,所以有必要记录一下 ...