图形界面配置heartbeat高可用集群

修改ha.cf配置文件,启用crm功能,表示资源配置交给crm管理

[[email protected] ~]# vim /etc/ha.d/ha.cf
crm on

使用自带的ha_propagate脚本同步配置文件

[[email protected] ~]# /usr/lib/heartbeat/ha_propagate

安装heartbeat-gui包

[[email protected] heartbeat2]# rpm -ivhheartbeat-gui-2.1.4-12.el6.x86_64.rpm
[[email protected] heartbeat2]# rpm -ivhheartbeat-gui-2.1.4-12.el6.x86_64.rpm

安装完成启动heartbeat服务

service heartbeat start;ssh node2 ‘serviceheartbeat start‘

连接图形界面需要输入节点的用户名和密码,安装的时候自动建了一个hacluster的用户,设置密码就可以连接了。

[[email protected] ~]# echo "hacluster" | passwd--stdin hacluster
[[email protected] ~]# echo "hacluster" | passwd--stdin hacluster

输入hb_gui启动图形配置界面(使用的终端是Xmanager企业版,如果是CRT,putty是无法打开的)

说明:hb_gui打开默认显示英文,如果想设置成为中文需要修改语言环境LANG="zh_CN.GB18030"

打开后的界面

添加新资源

新添加一个资源,资源类型选择普通资源

元素类型说明:

普通资源,资源组:定义资源类型

位置,顺序,协同:定义资源约束

选择资源的详细设置

说明添加资源时,带required,unique是必选参数。

资源添加完成

启动资源

登录node2查看资源启动

[[email protected] ~]# ifconfig
eth0     Link encap:Ethernet  HWaddr00:0C:29:F1:DD:B2 
         inet addr:172.16.4.101 Bcast:172.16.255.255 Mask:255.255.0.0
         inet6 addr: fe80::20c:29ff:fef1:ddb2/64 Scope:Link
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
          RXpackets:68754 errors:0 dropped:0 overruns:0 frame:0
          TXpackets:22869 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
          RXbytes:16523275 (15.7 MiB)  TXbytes:4286115 (4.0 MiB)
 
eth0:0   Link encap:Ethernet  HWaddr 00:0C:29:F1:DD:B2 
         inet addr:172.16.4.1 Bcast:172.16.255.255 Mask:255.255.0.0
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
 
lo       Link encap:Local Loopback 
         inet addr:127.0.0.1 Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
          UPLOOPBACK RUNNING  MTU:65536  Metric:1
          RXpackets:0 errors:0 dropped:0 overruns:0 frame:0
          TXpackets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
          RXbytes:0 (0.0 b)  TX bytes:0 (0.0 b)

添加httpd资源

添加web并启动后,发现web资源和vip资源在不同的节点这种情况是无法实现web高可用的。

这种情况的解决方法有两个一个是定义一个组资源,然后将这两个资源加入到同一个组,另一个是对这两个组定义约束。

设置web高可用

添加一个组资源,方便对资源进行约束

设置组名

建完组之后,需要建一个VIP资源

添加Lsb的httpd资源

启动资源,由于两个资源在一个组内,所以实现了位置约束,都是在一个组内

验证资源

[[email protected] ~]# ifconfig eth0:0
eth0:0   Link encap:Ethernet  HWaddr00:0C:29:F1:DD:B2 
         inet addr:172.16.4.1 Bcast:172.16.255.255 Mask:255.255.0.0
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
 
[[email protected] ~]# netstat -lnt | grep :80
tcp       0      0 :::80                       :::*                        LISTEN

资源限制条件

位置约束

定义资源优先运行在那一个节点

定义表达式:节点名字如果是node1.xmfb.com那么就必须运行在这个节点

顺序约束

定义资源启动的先后顺序

协同约束

资源默认是平均分配到两个节点启动的,如果想让两个资源在同一个节点启动,有两种方法

(1)    将两个资源定义到同一个组

(2)    设置协同约束

在限制条件,协同新添加一个条件

这个时候web和vip资源就运行在一起了

定义基于NFS的mariadb集群

需要的资源:

vip

Mariadb

共享存储(NFS)

NFS配置

NFS配置Mysql共享存储目录

[[email protected] ~]# groupadd -r -g 306 mysql
[[email protected] ~]# useradd -r -g 306 -u 306 mysql
[[email protected] ~]# id mysql
uid=306(mysql) gid=306(mysql) =306(mysql)
[[email protected] ~]# mkdir –p /mydata/data
[[email protected] ~]# chown -R mysql.mysql /mydata/data/
[[email protected] ~]# vim /etc/exports
/mydata/data 172.16.0.0/16(rw,no_root_squash)

Node1配置

[[email protected] ~]# mkdir /mydata
[[email protected] ~]# groupadd -g 306 mysql
[[email protected] ~]# useradd -g 306 -u 3306 -s/sbin/nologin -M mysql
[[email protected] ~]# mount -t nfs 172.16.4.200:/mydata//mydata/

Node2配置

[[email protected] ~]# mkdir /mydata
[[email protected] ~]# groupadd -g 306 mysql
[[email protected] ~]# useradd -g 306 -u 3306 -s/sbin/nologin -M mysql
[[email protected] ~]# mount -t nfs 172.16.4.200:/mydata//mydata/

Node1安装mariadb

安装并初始化

tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C/usr/local/
cd /usr/local/
ln -sv mariadb-5.5.43-linux-x86_64/ mysql
cd mysql/
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql--datadir=/mydata/data/

提供主配置文件

[[email protected] mysql]# cp support-files/my-large.cnf/etc/my.cnf
[[email protected] mysql]# vim /etc/my.cnf
thread_concurrency = 2
datadir = /mydata/data
innodb_file_per_table = 1

提供启动脚本

[[email protected] mysql]# cp support-files/mysql.server/etc/rc.d/init.d/mysqld
[[email protected] mysql]# chmod +x/etc/rc.d/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig mysqld off

修改PATH环境变量

[[email protected] mysql]# echo "exportPATH=/usr/local/mysql/bin:$PATH" >> /etc/profile.d/mysql.sh
[[email protected] mysql]# . /etc/profile.d/mysql.sh

启动Mysql并且创建一个库

[[email protected] mysql]# service mysqld start
Starting MySQL....                                         [  OK  ]
[[email protected] mysql]# mysql
MariaDB [(none)]> create database mydb;
Query OK, 1 row affected (0.03 sec)
 
MariaDB [(none)]> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mydb              |
| mysql             |
| performance_schema |
| test              |
+--------------------+
5 rows in set (0.07 sec)

停止Mysql,卸载NFS

[[email protected] mysql]# service mysqld stop
[[email protected] mysql]# umount /mydata/

Node2安装mariadb

Node2安装mariadb不需要挂载NFS

[[email protected] ~]# umount /mydata/

安装mariadb;注意这里不需要初始化

tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C/usr/local/
cd /usr/local/
ln -sv mariadb-5.5.43-linux-x86_64/ mysql
cd mysql/
chown -R mysql:mysql .

把node1的配置文件和启动脚本复制到node2

[[email protected] mysql]# scp /etc/my.cnf node2:/etc/
[[email protected] mysql]# scp /etc/init.d/mysqldnode2:/etc/init.d/mysqld

Node2节点添加mariadb启动脚本

[[email protected] ~]# chkconfig --add mysqld
[[email protected] ~]# chkconfig mysqld off

添加PATH环境变量

[[email protected] ~]# echo "exportPATH=/usr/local/mysql/bin:$PATH" >> /etc/profile.d/mysql.sh
[[email protected] ~]# . /etc/profile.d/mysql.sh

挂载NFS

[[email protected] ~]# mount -t nfs 172.16.4.200:/mydata//mydata/

启动mariadb,并且查看在node1创建的mydb数据库是否同步。

[[email protected] ~]# service mysqld start
[[email protected] ~]# mysql
 
MariaDB [(none)]> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mydb              |
| mysql             |
| performance_schema |
| test              |
+--------------------+
5 rows in set (0.01 sec)

停止mariadb服务,卸载NFS共享

[[email protected] ~]# service mysqld stop
[[email protected] ~]# umount /mydata/

配置mariadb+NFS集群

创建组

创建虚拟VIP

添加NFS文件系统

添加mariadb,这里选择mysqld

启动HA_Mariadb组资源,资源自动运行在node2节点

验证mariadb高可用集群

查看资源启动

[[email protected] ~]# ifconfig eth0:0
eth0:0   Link encap:Ethernet  HWaddr00:0C:29:F1:DD:B2 
         inet addr:172.16.4.1 Bcast:172.16.4.255 Mask:255.255.255.0
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
 
[[email protected] ~]# netstat -lnt | grep 3306
tcp       0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN     
[[email protected] ~]# mount | grep /mydata
172.16.4.200:/mydata on /mydata type nfs(rw,vers=4,addr=172.16.4.200,clientaddr=172.16.4.1)

将node2节点设置为备用之后,资源可以正常转移到node1节点

时间: 2024-10-16 17:41:46

图形界面配置heartbeat高可用集群的相关文章

Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置ipvs高可用集群

  基于crm+hb_gui接口配置ipvs高可用集群    基于crm+hb_gui+ldirectored接口配置ipvs高可用集群 

配置drbd高可用集群

前期准备: 同步时间 (两个节点) 节点一(172.16.21.6) [[email protected] heartbeat2]# ntpdate 172.16.0.1 31 Dec 20:59:25 ntpdate[6950]: adjust time server 172.16.0.1 offset 0.379319 sec [[email protected] heartbeat2]# ? 最好几分钟同步一下 [[email protected] heartbeat2]# crontab

配置MySQL高可用集群MHA

配置MySQL高可用集群+++++++++++++++++++主机角色 :客户端 client50数据库服务器 mysql51 到 mysql55管理主机 mgm56VIP地址 192.168.4.100拓扑结构: client50 | mysql51主 | | | | | |mysql52 mysql53 mysql54 mysql55 mgm56从 从 从 从 管理集群备用主 备用主+++++++++++++++++++++++++++++++++++++++++++++++++++++++

CentOS 6.5环境下heartbeat高可用集群的实现及工作原理详解

Linux HA Cluster高可用服务器集群,所谓的高可用不是主机的高可用,而是服务的高可用. 什么叫高可用:一个服务器down掉的可能性多种多样,任何一个可能坏了都有可能带来风险,而服务器离线通常带来的代价是很大的,尤其是web站点,所以当某一台提供服务的的服务器down掉不至于服务终止的就叫高可用. 什么叫心跳:就是将多台服务器用网络连接起来,而后每一台服务器都不停的将自己依然在线的信息很简短很小的通告给同一个网络中的备用服务器的主机,告诉其实主机自己依然在线,其它服务器收到这个心跳信息

LVS+Heartbeat 高可用集群方案操作记录

Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能. Heartbeat的高可用集群采用的通信方式是udp协议和串口通信,而且heartbeat插件技术实现了集群间的串口.多播.广播和组播通信.它实现了HA 功能中的核心功能——心跳,将Heartbeat软件同时安装在两台服务器上,用于监视系统的状态,协调主从服务器的工作,维护系统的

Haproxy+Heartbeat 高可用集群方案操作记录

之前详细介绍了haproxy的基础知识点, 下面记录下Haproxy+Heartbeat高可用web集群方案实现过程, 以加深理解. 架构草图如下: 1) 基本环境准备 (centos6.9系统) 172.16.60.208(eth0) HA主节点(ha-master) haproxy,heartbeat 172.16.60.207(eth0) HA备节点(ha-slave) haproxy,heartbeat 172.16.60.229 VIP地址 172.16.60.204(eth0) 后端

pacemaker+corosync/heartbeat高可用集群对比及资源代理RA脚本

一.Pacemaker概念 (1)Pacemaker(心脏起搏器),是一个高可用的群集资源管理器.它实现最大可用性资源管理的节点和资源级故障检测和恢复,通过使用首选集群基础设施(Corosync或Heartbeat)提供的消息和成员能力. 它可以监测并恢复节点和服务级别的故障,实现进程级高可用.它适合各种大小集群,可以编写脚本,可以管理作为心脏起搏器集群的一部分.再次说明一下,pacemaker是个资源管理器,不是提供心跳信息的,因为它似乎是一个普遍的误解,corosync/heartbeat的

Heartbeat高可用集群-mysql

192.168.1.210 node1 192.168.1.220 node2 192.168.1.200 nfs 1.200: yum install -y nfs-utils vim /etc/exports /data/share 192.168.1.0/24(rw,sync,no_root_squash) /etc/init.d/rpcbind restart;  /etc/init.d/nfs restart 210,220: yum install -y nfs-utils show

Linux高可用集群方案之配置heartbeat v2基于haresources配置文件的httpd高可用集群

本章主要配置heartbeat v2基于haresources配置文件的httpd高可用集群.  ll  本文导航    · 前期准备   · 安装heartbeat v2   · node1.node2主机安装httpd   · shared-nfs主机安装nfs   · 配置httpd高可用集群   · 客户端访问测试  ll  要求  完全掌握heartbeat v2基于haresources配置文件的httpd高可用服务.   前期准备  1.heartbeat服务主机规划 主机 接口