设为首页 收藏本站
查看: 913|回复: 0

[经验分享] redhat5上搭建HA实现apache应用热备

[复制链接]

尚未签到

发表于 2017-1-11 09:33:58 | 显示全部楼层 |阅读模式
  前提条件:
服务器有两片网卡eth0和eth1
服务器1:
主机名:node1
eth0:192.168.1.160
eth1:10.1.1.10
服务器2:
主机名:node2
eth0:192.168.1.161
eth1:10.1.1.11
  一、安装heartbeat依赖包及heartbeat(请按下面的顺序执行安装,否则会在安装的时候报错)
rpm -ivh perl-Authen-SASL-2.15-1.el5.pp.noarch.rpm
rpm -ivh perl-GSSAPI-0.26-1.el5.rf.i386.rpm
rpm -ivh perl-Net-SSLeay-1.30-4.fc6.i386.rpm
rpm -ivh perl-Convert-ASN1-0.20-1.1.noarch.rpm
rpm -ivh perl-IO-Socket-SSL-1.01-1.fc6.noarch.rpm
rpm -ivh perl-Parse-RecDescent-1.94-6.el5.noarch.rpm
rpm -ivh perl-Digest-HMAC-1.01-15.noarch.rpm
rpm -ivh perl-LDAP-0.33-3.fc6.noarch.rpm
rpm -ivh perl-XML-NamespaceSupport-1.09-1.2.1.noarch.rpm
rpm -ivh perl-Digest-SHA1-2.11-1.2.1.i386.rpm
rpm -ivh perl-Mail-IMAPClient-3.20-1.el5.noarch.rpm
rpm -ivh perl-XML-SAX-0.14-5.noarch.rpm
rpm -ivh lm_sensors-2.10.0-3.1.i386.rpm
rpm -ivh libtool-ltdl-1.5.22-6.1.i386.rpm
rpm -ivh libtool-ltdl-devel-1.5.22-6.1.i386.rpm
rpm -ivh openhpi-2.4.1-6.el5.1.i386.rpm
rpm -ivh openhpi-devel-2.4.1-6.el5.1.i386.rpm
rpm -ivh net-snmp-5.3.1-14.el5.i386.rpm
rpm -ivh net-snmp-libs-5.3.1-14.el5.i386.rpm
rpm -ivh perl-Compress-Zlib-1.42-1.fc6.i386.rpm
rpm -ivh perl-HTML-Parser-3.55-1.fc6.i386.rpm
rpm -ivh perl-HTML-Tagset-3.10-2.1.1.noarch.rpm
rpm -ivh perl-libwww-perl-5.805-1.1.1.noarch.rpm
rpm -ivh perl-TimeDate-1.16-3_2.0.el5.noarch.rpm
rpm -ivh perl-MailTools-2.04-1.el5.rf.noarch.rpm
rpm -ivh perl-URI-1.35-3.noarch.rpm
rpm -ivh libnet-1.1.4-3.el5.i386.rpm
rpm -ivh heartbeat-pils-2.1.4-11.el5.i386.rpm
rpm -ivh heartbeat-stonith-2.1.4-11.el5.i386.rpm
rpm -ivh heartbeat-2.1.4-11.el5.i386.rpm
rpm -ivh heartbeat-devel-2.1.4-11.el5.i386.rpm
rpm -ivh ipvsadm-1.24-10.i386.rpm
rpm -ivh heartbeat-ldirectord-2.1.4-11.el5.i386.rpm
  二、设置两台服务器主机文件/etc/hosts,内容如下:
192.168.1.160 node1
10.1.1.10 ha01
192.168.1.161 node2
10.1.1.11 ha02
127.0.0.1 localhost
  三、配置ha的三个文件:
cp /usr/share/doc/heartbeat-2.1.4/authkeys、ha.cf、haresources /etc/ha.d/
heartbeat的配置有以下三个文件,2个节点配置除ha.cf可能不一样外(如心跳接口名称),其他一样。
  ha.cf      主配置文件
  haresources   资源配置文件
  authkeys     认证信息配置文件
  1)配置ha.cf
debugfile /var/log/ha_log/ha-debug //调试日志文件
logfile /var/log/ha_log/ha-log //系统运行日志文件,请在相应的路径建立对应的目录
logfacility local0 //日志记录等级
keepalive 2 //心跳频率,2表示2秒;200ms则表示200毫秒
deadtime 10 //节点死亡时间,就是过了10秒后还没有收到心跳就认为主节点死亡
warntime 10 //告警时间
initdead 120 //初始化时间
udpport 694 //心跳信息传递的udp端口
bcast eth1 //采用udp广播来通知心跳,建议在备用节点不只一台时使用
baud 19200
auto_failback on //如果主节点重新恢复过来,主节点将主动将资源抢占过来,如果为off,则只当备用节点当掉后,主节点才取回资源
watchdog /dev/watchdog //看门狗。如果本节点在超过1分钟后还没有发出心跳,那么本节点自动重启
ping 182.168.1.254 //通过ping网关来监测网络是否正常
respawn root /usr/lib/heartbeat/ipfail //随heartbeat启动一起启动
apiauth ipfail gid=root uid=root
hopfudge 1
node node1 //主节点名称,主要是在haresources定义为主节点,与uname -n显示必须一致
node node2 //备用节点名称
  
2)配置haresources (定义虚拟IP及httpd服务等集群资源,两个节点的这个配制文件一定要相同,否则会出现两个vip地址)
node1 192.168.1.170 httpd //node1为主节点名称,192.168.1.170为虚拟IP地址,httpd是apache的启动脚本,heartbeat将从
/etc/ha.d/resource.d或/etc/rc.d/init.d目录中寻找这个启动脚本,因为我是用tar包安装的,没有标准的http服务。因此需要在
/etc/ha.d/resource.d中建立软连接,ln -s /user/local/apache2/bin/apachectl httpd
注意:在standby节点在启动heartbeat时不会启动httpd。因此需要手工启动(不知是否我配置有问题,如有解决方案请赐教,谢谢)
  3)配置authkeys
auth 1
1 crc //主节点与备用节点间数据校验采用crc算法
#2 sha1 HI!
#3 md5 Hello!
注:authkeys需要设置读写权限:chmod 600 ./authkeys
  四、测试校验
启动两个节点的heartbeat
service heartbeat start
启动apache:
/usr/local/apache2/bin/apachectl start
在启动apache前,将node1节点中的index.html中的内容改为node1。node2节点中的index.html中的内容改为node2
验证:
1)haresources中配置的虚拟IP:192.168.1.170将在主节点自动启用,可用ifconfig查看到为eth0:0接口,并可用http://192.168.1.170测试网页的打开.将显示"node1"内容,
备份节点虚拟IP不启用是正常的,只在切换时启用。
  2)将主节点node1的eth0和eth1都down掉,过一会应该可以看到备份节点接管了192.168.1.170地址。再打开http://192.168.1.170测试网页的打开.将显示"node2"内容,
然后将主节点eth0和eth1起用,由于设置了fallback on,主节点主动将虚拟IP抢占回来(要等一会儿,用ifconfig多刷几次看看),并接管了相应的服务(httpd)。
  五、代码同步
可以使用rsync来进行同步也可以使用存储来进行共享,在次不做详细说明

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326828-1-1.html 上篇帖子: [转]了解 GNU GPL/GNU LGPL/BSD/MIT/Apache协议 下篇帖子: 开源协议介绍(GPL,LGPL,BSD,MIT,Apache)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表