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

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

[root@node1 ~]# vim /etc/ha.d/ha.cf
crm on

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

[root@node1 ~]# /usr/lib/heartbeat/ha_propagate

安装heartbeat-guilinux

[root@node1 heartbeat2]# rpm -ivhheartbeat-gui-2.1.4-12.el6.x86_64.rpm
[root@node2 heartbeat2]# rpm -ivhheartbeat-gui-2.1.4-12.el6.x86_64.rpm

安装完成启动heartbeat服务web

service heartbeat start;ssh node2 'serviceheartbeat start'

链接图形界面须要输入节点的用户名和密码,安装的时候自动建了一个hacluster的用户,设置密码就能够链接了。sql

[root@node1 ~]# echo "hacluster" | passwd--stdin hacluster
[root@node2 ~]# echo "hacluster" | passwd--stdin hacluster

 输入hb_gui启动图形配置界面(使用的终端是Xmanager企业版,若是是CRTputty是没法打开的)数据库

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

打开后的界面bash

wKioL1V0e2rz8rXAAAJPXvB45nw409.jpg

添加新资源

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

元素类型说明:tcp

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

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

wKioL1V0e6LgFOptAAKlhIsB_V4027.jpg

选择资源的详细设置

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


资源添加完成

wKiom1V0em3RhO1_AAJoOihoKvs131.jpg

启动资源

登陆node2查看资源启动

[root@node2 ~]# 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资源

添加Lsbhttpd资源

启动资源,因为两个资源在一个组内,因此实现了位置约束,都是在一个组内

验证资源

[root@node2 ~]# 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
 
[root@node2 ~]# netstat -lnt | grep :80
tcp       0      0 :::80                       :::*                        LISTEN

 


资源限制条件

位置约束

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


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



顺序约束

定义资源启动的前后顺序


协同约束

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

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

(2)    设置协同约束


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

这个时候webvip资源就运行在一块儿了

定义基于NFSmariadb集群

须要的资源:

vip

Mariadb

共享存储(NFS

NFS配置

NFS配置Mysql共享存储目录

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

Node1配置

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

Node2配置

[root@node2 ~]# mkdir /mydata
[root@node2 ~]# groupadd -g 306 mysql
[root@node2 ~]# useradd -g 306 -u 3306 -s/sbin/nologin -M mysql
[root@node2 ~]# 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/

提供主配置文件

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

提供启动脚本

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

修改PATH环境变量

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

启动Mysql而且建立一个库

[root@node1 mysql]# service mysqld start
Starting MySQL....                                         [  OK  ]
[root@node1 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

[root@node1 mysql]# service mysqld stop
[root@node1 mysql]# umount /mydata/

Node2安装mariadb

Node2安装mariadb不须要挂载NFS

[root@node2 ~]# 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

[root@node1 mysql]# scp /etc/my.cnf node2:/etc/
[root@node1 mysql]# scp /etc/init.d/mysqldnode2:/etc/init.d/mysqld

Node2节点添加mariadb启动脚本

[root@node2 ~]# chkconfig --add mysqld
[root@node2 ~]# chkconfig mysqld off

添加PATH环境变量

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

挂载NFS

[root@node2 ~]# mount -t nfs 172.16.4.200:/mydata//mydata/

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

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

中止mariadb服务,卸载NFS共享

[root@node2 ~]# service mysqld stop
[root@node2 ~]# umount /mydata/

 

配置mariadb+NFS集群

建立组

建立虚拟VIP


添加NFS文件系统



添加mariadb,这里选择mysqld

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

验证mariadb高可用集群

查看资源启动        

[root@node2 ~]# 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
 
[root@node2 ~]# netstat -lnt | grep 3306
tcp       0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN     
[root@node2 ~]# 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节点