一、简述
二、对httpd做高可用集群
1.环境说明
我们通过192.168.1.210对外提供web服务,两个客户端的ip地址分别为192.168.1.200和192.168.1.201,在192.168.1.202上提供了nfs服务为两台web服务器提供共享存储
2.前期准备工作
由于heartbeat是基于主机名通信的,需要对两台服务器配置主机名,并能够对实现主机名的解析
在/etc/hosts文件中添加如下行 192.168.1.201node2.wangfeng7399.com node2 192.168.1.200node1.wangfeng7399.com node1
为了实验的方便性,本处我们基于ssh的密钥认证,实现两台主机登陆不需要密码
[root@node1 ~]# ssh-keygen [root@node1 ~]# ssh-copy-id root@node2 在node2上同样使用以上命令生成sshkey
3.在node1和node2上分别准备httpd,本处可以通过yum安装也可以通过编译源码安装,关于安装过程,本处不在累赘,如想了解过程,其移步至本人的博客http://wangfeng7399.blog.51cto.com/3518031/1379373
4.时间同步,本处使用的互联网的时间服务器,也可以自建时间服务器,关于如何自建时间服务器,将会在后续推出,敬请期待
[root@node1 ha]# ntpdate time.windows.com
查看两边的服务器时间是否同步
[root@node1 ha]# ssh node2 'date';date Thu Apr 1722:05:42CST 2014 Thu Apr 1722:05:42CST 2014
5.安装heartbeat
①.解决依赖关系,由于centos6.5提供的为heartbeatV3版本,本处不能直接通过yum安装
yum install perl-TimeDate PyXML libnet net-snmp-libs -y
说明:libnet包在eprl源中,请确保安装epel源
②.安装heartbeatV2版本的rpm包
[root@node1 ha]# 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-gui-2.1.4-12.el6.x86_64.rpm
6.配置heartbeat
①.准备配置文件
[root@node1 ha.d]# cd /usr/share/doc/heartbeat-2.1.4/ [root@node1 heartbeat-2.1.4]# cp ha.cf authkeys /etc/ha.d/
②.修改配置文件
编辑authkey文件 auth 2 #1 crc 2 sha1 HI!hajsbdja2189wqjke #3 md5 Hello! [root@node1 ha.d]# chmod 600 authkeys 修改认证文件的权限
修改ha.cf文件
对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 基于那个端口检测心跳信息 crm on 以crm的模块开启 bcast eth0 # Linux linux广播的端口 mcast eth0 225.0.0.169410多播的地址 ucast eth0 192.168.1.2组播的地址 compression bz2 压缩传输算法 on 主节点启动是否自动切换回主节点 ping 192.168.1.253仲裁设备,可以指向网关 #ping_group group1 10.10.10.25410.10.10.253仲裁设备组 #debug 1debug的级别 compression_threshold 2压缩的最低大小,单位为kb node node1.wangfeng7399.com node节点,切记,本处不能使用ip地址 node node2.wangfeng7399.com node节点,切记,本处不能使用ip地址
7.为用户hacluster创建密码,在安装heartbeat-gui时,会自动安装此用户
[root@node1 ha]# passwd hacluster
8.将配置好的文件复制一份到node2节点上
[root@node1 ha.d]# scp ha.cf authkeys node2:/etc/ha.d/
9.准备nfs服务器,并使apache用户对其有读写执行的权限,并准备主页
[root@localhost ~]# vi /etc/exports /www/html 192.168.1.0/24(rw) [root@localhost ~]# setfacl -m u:apache:rwx /www/html/
10.通过图形界面配置相关信息
[root@node1 ha.d]# hb_gui &
11.配置过程
12.测试
可以看到我们实现了高可用的效果
切记:1.一定要注意添加顺序,顺序很重要,一定不要把顺序弄乱
2.httpd和nfs一定不能开机自启动
未完,我们下一次对mysql和lvs做高可用集群,书接下文http://wangfeng7399.blog.51cto.com/3518031/1398676