heartbeatV1+nfs实现高可用httpd

随着互联网技术的不断发展,Web应用也越来越普遍,Web服务器的无故障工作时间就显得尤重要,但由于各种各样的原因,一台服务器并不能保证永远不出问题的运行,此时就需要一种机制来实现多台服务器共同为相同的来务功能提供服务,以确保任意一台服务器宕机后,不会影响其所承载的业务的访问。

下面演示使用HA工具heartbeatV1来实现Web应用的高可用性。

注:由于条件所限,只能以一台NFS服务器做为后端的存储设备,其实这本身就一个单点故障风险点,在生产环境中应该有更加完善的存储解决方案。

一、拓扑图

二、环境准备

1、设置/etc/hosts

为保证能够正常的解决到各节点的主机名,需要设置/etc/hosts文件,当然也可以设置DNS。

            另外两台节点也做同样的设置。

2、设置节点间的相互信任,即ssh密钥

将密钥复制到另外两个节点:

在另外node2和node3上做同样操作。

3、同步各节点的时间

4、下载heartbeat程序包

可以到下面的地址进行下载:http://down.51cto.com/data/1872114

三、安装heartbeat程序

安装heartbeat程序前需要先安装一些依赖的软件,请先自行配置好epel源及base yum源。

hearbeat程序需要安装如下图所示的三个RPM包即可。

在另外两个节点上做同样的操作。

四、配置heartbeat

将配置文件的模块复制到/etc/ha.d目录中。

1、配置ha.cf文件

ha.cf配置文件部分参数说明:

autojoin none:集群中的节点不会自动加入;

logfile /var/log/ha-log:heartbeat的日志存放位置;

keepalive 2:指定心跳使用间隔时间为2秒(即每两秒钟发送一次广播);

deadtime 30:指定备用节点在30秒内没有收到主节点的心跳信号后,则立即接管主节点的服务资源;

warntime 10:指定心跳延迟的时间为十秒。当10秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一个警告日志,但此时不会切换服务;

initdead 120:在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍;

udpport 694:设置广播通信使用的端口,694为默认使用的端口号。

baud    19200:设置串行通信的波特率

bcast   eth0:Linux  指明心跳使用以太网广播方式,并且是在eth0接口上进行广播;

mcast eth0 225.0.0.1 694 1 0:采用网卡eth0的Udp多播来组织心跳,一般在备用节点不止一台时使用;        ucast eth0 192.168.1.2:采用网卡eth0的udp单播来组织心跳,后面跟的IP地址应为双机对方的IP地址;

bcast、ucast和mcast分别代表广播、单播和多播,是组织心跳的三种方式,任选其一即可。

auto_failback on:用来定义当主节点恢复后,是否将服务自动切回;

stonith baytech /etc/ha.d/conf/stonith.baytech:stonith的主要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争用一个资源的情形发生。保证共享数据的安全性和完整性;

watchdog /dev/watchdog:该选项是可选配置,是通过Heartbeat来监控系统的运行状态;

ping 192.168.2.1:选择ping的节点,ping 节点选择的越好,HA集群就越强壮,可以选择固定的路由器作为ping节点,但是最好不要选择集群中的成员作为ping节点,ping节点仅仅用来测试网络连接;

ping_group group1 192.168.12.120 192.168.12.237:类似于ping,ping一组ip地址。

2、配置authkeys文件

此文件用于配置认证相关的信息,文件权限必须为600。

先生成一个随机码:

在/etc/ha.d/authkeys文件中添加如下内容:

注意两行中的数字1是相对应的,如果修改为其它数字,两行要同时修改。

修改文件的权限:

3、在haresources文件中添加资源

注意:node1.test.com必须与uname -n所显示内容相同,192.168.2.100为VIP,即客户端访问的IP地址,httpd即指明高可用所针对的服务。

4、将上面配置的三个文件复制到node2和node3上的相同目录中

5、在三个节点分别安装httpd服务,并且在分别建立三个主页,主页内容分别为三个节点的主机名,并且启动httpd服务,测试是否可以访问页面的内容;主要是为了用于测试故障转移的效果,此操作就不做演示了。

6、停止httpd服务,启动heartbeat服务

7、验证

查看VIP是否启动

测试Web应用

将node1下线后,自动切换到node2节点上

将node1与node2同时下线,node3就顶替了下来;

ha.cf中的默认设置在node1上线后会自动恢复主节点的身份,请自行验证。

五、设置NFS共享目录

经过上面的设置,heartbeat已经可以正常工作了,下面我们来使用NFS共享来为httpd服务提供主页面。

1、配置NFS服务器

如果服务器上没有nfs软件请先安装nfs-utils软件。

修改配置文件:

启动nfs服务:

本地验证:

2、在共享目录中提供主页

        3、在节点服务器上停止heartbeat服务,并启动httpd服务

4、挂载NFS共享目录,并访问测试

由于是最小化安装,在挂载nfs时会报上面的错误,安装showmount命令后即可解决。

使用curl命令来测试,可以访问,如下图所示:

在其它节点上也可以按照上面的操作进行测试,确保nfs共享目录可以被挂载。

六、修改haresources配置文件

修改haresources配置文件,使heartbeat能够自动挂载nfs共享目录。

七、停止httpd服务、卸载nfs共享目录并且启动heartbeat服务

service httpd stop

umount /var/www/html

service heartbeat start

下面是heartbeat启动后的结果,可以看到nfs目录已经被自动挂载了。

八、将haresources文件复制到其它节点服务器上

九、验证

访问192.168.2.100可以访问到共享目录中创建的页面,并且即使有节点服务器宕机了,也不会影响页面的访问,请自行验证。

时间: 2024-07-30 10:05:39

heartbeatV1+nfs实现高可用httpd的相关文章

heartbeat + httpd + nfs 实现高可用web服务器

一  环境准备 二 拓扑结构 三 前提条件 四 安装相关软件 五 配置heartbeat 六 测试web集群 七 问题汇总 八 共享存储 一 环境准备 操作系统 centos 6.4 x86_64  最小化安装 如使用yum 安装的方式 centos5.5 安装的是V2.X   ,centos 6.4 安装的是V3.X YUM 安装   Vim  man   ntp  "development tools" "server platform development"

heartbeat httpd nfs 实现高可用web集群

一 环境准备 二 拓扑结构 三 前提条件 四 安装相关软件 五 配置heartbeat 六 测试web集群 七 问题汇总 八 共享存储 一 环境准备 操作系统 centos 6.4 x86_64 最小化安装 如使用yum 安装的方式 centos5.5 安装的是V2.X ,centos 6.4 安装的是V3.X YUM 安装 Vim man ntp "development tools" "server platform development" "des

Lvs+keepalived+httpd+NFS搭建高可用

Lvs+keepalived+httpd+NFS搭建高可用 自己捯饬的模型图 NAT模型图 注意事项:RealServer需要把网关指向Director,并且Director要打开转发功能命令如下: echo "1" > /proc/sys/net/ipv4/ip_foreward DR模型图 注意事项:需要在RealServer配置如下信息: echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc

Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd,mysql,lvs

本章主要配置heartbeat v2基于crm+hb_gui接口,配置高可用httpd,mysql,lvs. 如何安装heartbeat v2.httpd.nfs.配置心跳连接.ssh密钥通信.同步时间.添加名称解析.配置yum源等请参照: >> Linux高可用集群方案之配置heartbeat v2基于haresources配置文件的httpd高可用集群 http://ccschan.blog.51cto.com/11854461/1922966  ll  本文导航    · 前期准备及相关

Heartbeat+MySQL+NFS 实现高可用(HA)的MySQL集群

一:试验目的 利用heartbeat心跳机制haresource实现高可用(HA)mysql数据库的搭建. 二:试验拓扑图 三:安装前的环境准备 规划IP为192.168.1.14为node1;IP为192.168.1.2为node2 1)修改各主机名称 修改node1主机名称  vim /etc/sysconfig/network   NETWORKING=yes   HOSTNAME=node1 #修改主机名称为node1  vim /etc/hosts     192.168.1.2 no

DRBD+HeartBeat+NFS:配置NFS的高可用

说明: 上周研究了DRBD的安装和配置,今天研究下DRBD的第一个应用,利用DRBD+HeartBeat+NFS:配置NFS的高可用,作为集群中的底端共享存储 NFS主要存储WEB服务器上的程序代码和一些图片文件 参考: http://network.51cto.com/art/201010/230237_all.htm http://showerlee.blog.51cto.com/2047005/1212185 环境: [[email protected] ~]# cat /etc/issu

HeartbeatV1+httpd+MySQL+nfs实现高可用简单模型

实验环境:三台CentOS6.5虚拟机,功能: nfs:172.16.103.3 该主机共享的目录用于存储数据库中的数据,而且node1和node2都要能挂载,使用的是同一个数据库目录. node1:172.16.103.1 node2:172.16.103.2 时间服务器:172.16.0.1 高可用服务中用到的资源有:IP:172.16.103.10,httpd,nfs,mysql. 拓扑图: 配置过程: 一.nfs服务器的配置: nfs服务器上不需要mysql安装数据库,但需要创建mysq

CentOS 6.4 Heartbeat+httpd+nfs实现高可用的web服务器

一.Heartbeat概念 Heartbeat是Linux-HA项目中的一个组件,也是目前开源HA项目中最成功的一个例子, Linux-HA的全称是High-Availability Linux,这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强linux可靠性(reliability).可用性(availability)和可服务性(serviceability)(RAS)的群集解决方案.Heartbeat提供了所有 HA 软件所需要的基本功能,比如心跳检测和资源接管.监测群集中的系统

Heartbeat+httpd+NFS 实现高可用的Web服务器

准备工作 1.实验拓扑图 2.实验时最好事先关闭防火墙与SELinux (两节点都要配置)node1,node2:[[email protected] ~]# service iptables stop  [[email protected] ~]# vim /etc/selinux/config  SELINUX=disabled 3.节点之前主机名互相解析:一定确保主机名和uname -n一致 [[email protected] ~]# vim /etc/hosts10.10.0.224