https://fedoraproject.org/wiki/EPEL/zh-cn
一、实验用两台主机
主机1:
IP :10.11.22.189
主机名:leamon.com
主机2:
IP : 10.11.22.155
主机名:eugene.net
VIP :10.11.22.43
二、HA安装前准备环境条件
1、时间同步
2、ssh互信互通
3、主机名称要与uname -n显示的结果相同,并通过/etc/hosts解析
三、安装HA高可用集群
1、修改host主机名,修改后的主机名必须跟uname -n ; hostname 命令查看的主机名相同
[root@leamon ~]# hostname leamon.com
[root@leamon ~]# uname -n
leamon.com
[root@leamon ~]# vim /etc/hosts #修改hosts文件,使主机重启后主机名永久有效
10.11.22.189 leamon.com leamon
10.11.22.155 eugene.net eugene
2、编辑SSH可信通信并hosts主机解析
[root@leamon ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' #-t 指定类型为rsa,-f 指定文件 -P 指定密码为空
[root@leamon ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
3、安装heartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm 程序
root@eugene ~]# yum --nogpgcheck localinstall heartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm #在本地安装解决依赖关系
4、测试
[root@eugene ~]# ssh 10.11.22.155 'ifconfig'
eth0 Link encap:Ethernet HWaddr 00:0C:29:16:77:23
inet addr:10.11.22.155 Bcast:10.11.22.255 Mask:255.255.255.0
inet6 addr: fd2f:ce52:41eb:0:20c:29ff:fe16:7723/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe16:7723/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:49191 errors:0 dropped:0 overruns:0 frame:0
TX packets:21034 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:52100254 (49.6 MiB) TX bytes:1696040 (1.6 MiB)
[root@leamon ~]# ping eugene
PING eugene.net (10.11.22.155) 56(84) bytes of data.
64 bytes from eugene.net (10.11.22.155): icmp_seq=1 ttl=64 time=1.63 ms
64 bytes from eugene.net (10.11.22.155): icmp_seq=2 ttl=64 time=0.334 ms
5、去报防火墙放行694端口,
6、同步两个节点的时间
[root@leamon ~]# ntpdate 2.cn.pool.ntp.org #我使用的是国家的对时服务器
7、设置时间同步定时任务,保证两个节点服务器时间时刻同步
[root@leamon ~]# crontab -e
*/5 * * * * /usr/sbin/ntpdate 2.cn.pool.ntp.org #每5分钟向服务器同步时间
8、主机2同上操作
9、heartbeat配置文件
秘钥配置文件,权限为600 : authkeys
heartbeat服务配置文件 : ha.cf
资源管理配置文件 : haresources
10、配置文件存放位置
[root@leamon ~]# ls /usr/share/doc/heartbeat-3.0.4/
apphbd.cf authkeys AUTHORS ChangeLog COPYING COPYING.LGPL ha.cf haresources README
11、复制配置文件到/etc/ha.d
[root@leamon ha.d]# cp -P /usr/share/doc/heartbeat-3.0.4/{ha.cf,authkeys,haresources} /etc/ha.d/
12、配置 authkeys
[root@leamon ha.d]# vim authkeys #添加一下两行
auth 1
1 md5 5578c0c10c039addc49d9dff9a7f9efb #后边为随机数秘钥
[root@leamon ha.d]# dd if=/dev/random count=1 bs=512 | md5sum #生成MD5编译的随机数
13、配置ha.cf
[root@leamon ha.d]# vim ha.cf
#debugfile /var/log/ha-debug #调试文件
#logfile /var/log/ha-log #日志文件存放位置
#logfacility local0 #日志设施,改选项和上边的文件只能开启一个
#keepalive 2 #多就发送一次心跳信息,默认为秒
#deadtime 30 #探测对方主机
#warntime 10 #等待对方主机发送信息的时间
#initdead 120 #第一个节点启动后多长时间后启动第二节点的时间
#udpport 694 #heartbeat服务监听的端口号
#baud 19200 #串行线缆的发送速率
#serial /dev/ttyS0 # Linux
#serial /dev/cuaa0 # FreeBSD
#serial /dev/cuad0 # FreeBSD 6.x
#serial /dev/cua/a # Solaris #定义串行设备类型
#bcast eth0 # Linux #是否启动广播形式监听心跳信息
#mcast eth0 225.0.0.1 694 1 0 #是否启动多播监听心跳信息,定义一个多播地址、端口、TTL、loop
#ucast eth0 192.168.1.2 #是否启用单播监听心跳信息,和监听的对方IP地址
auto_failback on #主节点恢复后是不是转移回主节点
#node ken3
#node kathyi
node leamon.com
node eugene.net #定义节点数
#ping 10.10.10.254 #ping一个节点测试是否在线
#ping_group group1 10.10.10.254 10.10.10.253 #ping一个组的IP地址测试节点是否在线
#respawn hacluster /usr/lib/heartbeat/ipfail #重启故障节点
14、配置haresources
[root@leamon ha.d]# vim haresources
leamon.com IPaddr::10.11.22.1/24/eth0 httpd #添加一行
15、复制配置好的文件到节点服务器
[root@leamon ha.d]# scp authkeys ha.cf haresources eugene:/etc/ha.d/
16、启动服务
[root@leamon ha.d]# service heartbeat start
Starting High-Availability services: INFO: Resource is stopped
Done.
[root@leamon ha.d]# ssh eugene 'service heartbeat start' #推荐远程启动另外一个节点
Starting High-Availability services: 2016/04/03_13:01:28 INFO: Resource is stopped
Done.
17、测试成功
[root@leamon ~]# /usr/share/heartbeat/hb_standby #模拟主节点故障启备节点