配置HA的前提:

 

搭建的环境:部署wordpress

# yum install net-snmp-libs libnet PyXML

# yum install libnet

# rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

这里的heartbeat已经做出了rpm包,libnet包在eprl源中,请确保安装epel源,网上可以下到源码包直接编译安装

 

node1.com IP172.16.37.20

node2.com IP172.16.37.21

                                                                                             root用户能够基于密钥认证

1.Client建立公钥和私钥

# ssh-keygen -t rsa -f /root/.ssh/id_rsa -P ''

# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.37.21

修改hosts文件节点间,必须解析主机至IP地址;

1. 建议名称解析功能使用hosts文件来实现;

2. 通信中使用的名字与节点名字必须保持一致:“uname -n”命令,或“hostname”展示出的名字保持一致;

修改主机名

# vim /etc/sysconfig/network

使用ntp协议实现;

# ntpdate time.windows.com;ssh 172.16.37.21 'ntpdate time.windows.com'

多播模式

# ip link set eth0 multicast on|off


一定不能开机自动启动;因为它们将由crm管理

# chkconfig httpd off

# chkconfig mysqld off

 考虑仲裁设备是否会用到;

 

修改配置

目录下: 

ha.cf: 主配置文件,定义各节点上的heartbeat HA集群的基本属性;

authkeys:集群内节点间彼此传递消息时使用加密算法及密钥;

haresources: heartbeat v1提供资源管理器配置接口;v1版本专用的配置接口;

编辑authkey文件

先用openssl生成一个随机数 # openssl rand -base64 16

# vim /etc/ha.d/authkeys

auth 2

#1 crc

2 sha1 Td3P98V5kyv4+OtidCxQ2A

#3 md5 Hello!

[root@node1 ha.d]# chmod 600 authkeys

# chmod 600 /etc/ha.d/authkeys

编辑ha.cf文件

#debugfile /var/log/ha-debug 是否开启调试功能,已经调试功能的文件位置

logfile        /var/log/ha-log 日志文件的保存位置

#keepalive 1  每个多长时间发送一次心跳信息,默认单位为s,也支持以ms为单位

#deadtime 10  在检测不到对方心跳,替换的时间

#warntime 8   警告时间

#initdead 120启动heartbeat后多长时间开始检查心跳

udpport 694  基于那个端口检测心跳信息

#bcast  eth0            # Linux  linux广播的端口

mcast eth0 225.0.10.1 694 1 0 多播的地址

#ucast eth0 192.168.1.2 组播的地址

#compression    bz2 压缩传输算法         on 主节点启动是否自动切换回主节点

ping 172.16.0.1 仲裁设备,可以指向网关

#ping_group group1 10.10.10.25410.10.10.253仲裁设备组

#debug 1debug的级别

#compression_threshold 2压缩的最低大小,单位为kb

node node1.com node节点,切记,本处不能使用ip地址

node node2.com node节点,切记,本处不能使用ip地址

crm on crm的模块开启


 

为用户hacluster创建密码,在安装heartbeat-gui

 echo 123456 |passwd --stdin hacluster

 

将配置好的配置文件拷到node2一份

# scp /etc/ha.d/ha.cf /etc/ha.d/authkeys node2.com:/etc/ha.d

 

准备nfs服务器,并使apache用户对其有读写执行的权限,并准备主页

vim /etc/exports


/data/database   172.16.0.0/16(rw)

 

service nfs start启动NFS服务

 

注意要一致

[root@node2 ~]# groupadd -g 306 mysql

[root@node2 ~]# useradd -g 306 -u 306 mysql