Apache双机热备
1 部署方案
1.1 方案设计
1.2 方案描述
如上图所示,我们要有三个可用的IP地址(切记不能与网络中其他机器IP重复),针对我使用的三个IP地址做如下说明:
10.16.252.10 //这个IP地址是心跳对外提供服务的IP地址,如果心跳检查绑定的应用程序的Apache,那这个地址就是外部访问Apache的地址;
10.16.252.6 //这个是主机(我用的是虚拟机)A的物理地址,绑定的网卡地址为eth0;
10.16.252.7 //这个是主机(我用的是虚拟机)B的物理地址,绑定的网卡地址为eth0;
为什么要强调绑定的网卡地址:应该心跳检查会通过绑定的网卡地址进行心跳信息的广播。
主机名说明:
主机(我用的是虚拟机)A的主机名:apache11
主机(我用的是虚拟机)B的主机名:apache12
在安装ubnutu的过程中会让你指定系统的主机名,可以随意指定的。如果安装的时候没有指定或是不知道主机名是什么,可以用linux命令:[uname –n]查看。也可以通过命令来修改主机名,ubnutu下主要修改/etc/hostname文件。
为什么强调主机名:因为在心跳组件heartbeat的配置过程中,需要指定主备节点的主机名。
2 环境配置
2.1 版本列表
功能模块 |
版本 |
下载 |
Apache |
Apache2.2.22 |
http://httpd.apache.org/download.cgi |
Heartbeat |
sudo apt-get install heartbeat |
|
Linux |
ubuntu-11.10-dvd-i386.iso |
|
VMware |
VMware-workstation-full-7.1.1-282343.exe |
说明: heartbeat心跳组件没有自己下载安装,而是采用ubnutu的apt-get 命令,这样的好处是它能够帮我们下载heartbeat所有依赖的主键,而且不需要我们去关注版本。
2.2 详细配置
2.2.1 具体配置
1) 编辑主机A的/etc/hosts文件
10.16.252.6 apache11 //主服务主机名
2) 编辑主机B的/etc/hosts文件
10.16.252.7 apache12 //备服务主机名
3) 在主机A和主机B上安装apache 并将apache设置为系统服务
例如:cp /usr/local/apache/bin/apachectl /etc/init.d/httpd chkconfig --add httpd chkconfig --level 2345 httpd on |
4) 在主机A和主机B上修改Apache端口,位置apache安装目录下的httpd.conf配置文件中
将Listen地址改为 虚拟IP:80, 我这里的虚拟IP为10.16.252.10 Listen 10.16.252.10:80 |
5) 在主机A和主机B上安装linux心跳组件heartbeat,在各自的linux命令窗口执行以下命令
sudo apt-get install heartbeat
6) 在主机A和主机B上对heartbeat做如下配置
描述:heartbeat的配置有3个文件,分别是authkeys, ha.cf 和 haresources,而且这3个文件必须放在/etc/ha.d/文件夹下,在完成第5步后,我们可以通过以下命令得到并放置这3个配置文件:
sudo cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/ sudo sh -c "zcat /usr/share/doc/heartbeat/ha.cf.gz > /etc/ha.d/ha.cf" sudo sh -c "zcat /usr/share/doc/heartbeat/haresources.gz > /etc/ha.d/haresources" |
配置:
(一)配置authkeys文件注意:这个配置文件在主机A和主机B上的配置必须是相同的
该文件的原始内容如下:
将红色箭头所在行的#去掉,并将auth 1 该为 auth 3,修改后内容如下
这个配置文件的权限必须的0600,要执行以下命令修改权限
chmod 0600 authkeys
(二)配置haresources 注意:这个配置文件在主机A和主机B上的配置必须是相同的
(主节点名称) (集群对外公布IP地址) (需要高可用的服务(httpd)需要将这个服务配置为系统服务)
(三)配置ha.cf文件
以上这些属性在ha.cf文件中有的默认是打开的,有的默认是关闭的(即前面有#注释),找到这些配置属性,去掉对应属性前面的#号(默认打开则不做变动),注意node 属性要做变动,我这里有两台linux服务节点,所以配置了2个nodo属性,node配置规则:
node 服务主机名 如: node apache11 //服务主机名在前文及步骤1中都有强调说明,可使用 uname –n 查看当前系统的服务主机名
这对整个配置文件,在主机A和主机B上的其他属性的配置可以相同也可以不同,但node属性的配置必须相同。
在以上的属性配置中,有一个udpport 的端口配置,要注意主机A和主机B的防火墙是否对694端口做了限制,可以执行以下命名让防火墙开放该端口,或者禁掉防火墙。
sudo iptables -I INPUT 2 -p udp --dport 694 -j ACCEPT
7) 心跳测试
因为我们在haresources配置文件中配置的主节点名称是apache11,所以我们先后启动apache11(主机A)主服务和apache12(主机B)备服务两台机器上的heartbeat组件:
sudo /etc/init.d/heartbeat start
两个主机上的heartbeat都启动成功后,通过集群对外公布IP地址访问Apache服务:http://10.16.252.10:80
如果能够访问Apache主页,说明heartbeat已经将集群对外公布IP绑定到了Apache服务上了。
接下来停止主服务器(主机A)上的heartbeat组件:
sudo /etc/init.d/heartbeat stop
然后再次访问http://10.16.252.10:80,如果依然能够访问该地址,说明心跳组件监测到了主服务的dead状态,并将Apache托管给了备服务器并对外提供服务。
2.2.2 参考资料
1.http://barkingiguana.com/2008/06/24/high-availability-apache-on-ubuntu-804/
2.http://blog.csdn.net/kobeyan/article/details/7587926
3. https://docs.google.com/document/pub?id=1WXq86ZVm6YdLZ0BCG5EB9dKA6CTM3uoXOaIv8m-hbaM
4. http://blog.csdn.net/edward852/article/details/6043185
我主要是参考1、2两份资料进行测试部署的。
Apache双机热备相关推荐
- Heartbeat V2.x双机热备安装
Heartbeat V2.x双机热备安装 1 简述 1.1 文档目的 本文档主要介绍linux-HA项目的新版本v2的安装和配置及相关算法,为以后架构linux-HA增加系统的可用 ...
- mysql主备数据库配置文档_MySQL数据库配置主从服务器实现双机热备实例教程
网站:bbs.osyunwei.com 程序在:Web服务器192.168.21.129上面 数据库在:MySQL服务器192.168.21.169上面 实现目的:增加一台MySQL备份服务器(192 ...
- keepalived实现Tomcat服务双机热备
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- 不同型号服务器如何做双击热备,服务器做双机热备教程
服务器做双机热备教程 内容精选 换一换 将GaussDB(DWS)提供的ODBC DRIVER(psqlodbcw.so)配置到数据源中便可使用.配置数据源需要配置"odbc.ini&quo ...
- Namenode双机热备之Pacemaker
Pacemaker官网:http://clusterlabs.org/wiki/Pacemaker Pacemaker官方安装文档:http://clusterlabs.org/wiki/Instal ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解...
大纲 一.前言 二.环境准备 三.安装与配置Nginx (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡 (负载均衡算法:nginx负载算法 up ...
- mysql双机热备的实现
转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好 ...
- Heartbeat双机热备配置
Heartbeat双机热备配置 简介 Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat ...
- 发展是硬道理 高可用从双机热备走向容灾复制集群
高可用的崛起 提起"高可用"这个词,也许很多人还比较陌生,但是提到"双机热备",大家一定都略知一二了,双机热备是高可用领域中的一项重要技术,从上世纪90年代中期 ...
- 浪潮小机装oracle数据库,浪潮ERP系统oracle双机热备安装文档 | 浪潮888博客
浪潮 操作系统: WIN 2003 SERVER 数 据 库: Ora 9i 软件版本: ps8.5.1(中航) 软件模块: 数据库安装配置 问题描述: oracle双机热备安装 产生原因: orac ...
最新文章
- 列表字符串集合字典的常见方法
- 深入分析Php处理浮点数的问题
- DM3730 LCD控制器驱动框架
- 小米11 Pro概念图曝光:曲面挖孔屏+后置五摄相机模组
- u检验中的查u界值表_延边双壁波纹管pvc-u
- 爬虫实例十 爬取百度贴吧小姐姐照片
- 有些人真是笨的可以,劝我自己别多管闲事,切记切记
- linux 查看上一级目录,du 使用详解 查看一级目录大小
- C++20 latch
- 2009年中国各省人均GDP排名(鄂尔多斯人均GDP将很有可能超过两万美元,全国第一)...
- Java Web课程体系
- excel单元格斜线_含金量100%的9个Excel函数公式,全部100%掌握的都是超级高手!...
- 硬件工程师成长之路(0)----认识元件
- 弘辽科技:白象方便面也被野性消费了吗?
- 麻省理工学院|软件构造|课程翻译
- 看网易云音乐安卓客户端使用到的技术
- 我希望用Java拥有的十大锡兰语言功能
- 【LaTex】LaTex 的使用与写作(快速入门,尾附:简洁的论文模板代码)
- HDU - 1465 不容易系列之一 【错排】
- viper4android io错误,Go viper包处理JSON笔记
热门文章
- 用java语言写网上购物的语句_用java代码写一个简单的网上购物车程序
- Eclipse集成Git插件及使用
- cmake Can‘t find third_party/gtest
- 开发人员的测试报告,要包含各平台
- 解决办法:无法解析的外部符号 __imp_RegCloseKey
- 本博客自排名300到264的各项数据变化
- 纽微特纪事:改个字串,竟然成了“二期工作”,还拖了几个月
- C获取当前Linux登录的用户名
- 玉龙雪山还会存在多久
- 给硬盘分个整数大小的区