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” “desktop platform development”

配置 epel YUM  源

关闭 防火墙  selinux

二 拓扑结构

三 前提条件(两个节点都有配置)

1 节点之间主机名可以互相解析

web1 ,web2

[[email protected] ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.132  web1.daphne.com  web1
192.168.200.133  web2.daphne.com  web2

2 节点之间时间同步

[[email protected] ~]# ntpdate ntp.api.bz

3 节点之间配置SSH互信

[[email protected] ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘
[[email protected] ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
[[email protected] ~]# ssh web2
[[email protected] ~]# 
 
[[email protected] ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘
[[email protected] ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
[[email protected] ~]# ssh web1
[[email protected] ~]# 

四 安装相关软件

1  heartbeat 组件说明

  • heartbeat  核心组件

  • heartbeat-gui   图形管理接口
  • heartbeat-ldirectord 为lvs高可用提供规则自动生成及后端realserver健康状态检查组件
  • heartbeat-pils  装载库插件接口
  • heartbeat-stonith

2 安装heartbeat

heartbeat-2.1.4-12.el6.x86_64.rpm
heartbeat-gui-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

yum install PyXML libnet pygtk2-libglade net-snmp-libs
yum install  libnet
rmp -ivh heartbeat-*

3 安装httpd

[[email protected] ~]# yum install httpd
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# vim index.html
web1
[[email protected] ~]# service httpd start

测试

测试完毕 关闭服务 使其开机不要启动

[[email protected] ~]# serivce httpd off
[[email protected] ~]# chkconfig httpd of
[[email protected] ~]# chkconfig --list httpd
httpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off

以上操作在两个节点都要做

五 配置heartbeat

1配置文件说明

[[email protected] ~]# cd /etc/ha.d/
[[email protected] ha.d]# ls
authkeys  harc         rc.d           resource.d
ha.cf     haresources  README.config  shellfuncs

说明 安装好的heartbeat  默认没有配置文件,但提供了配置文件样本

[[email protected] ha.d]# cd /usr/share/doc/heartbeat-2.1.4/
[[email protected] heartbeat-2.1.4]# ls
apphbd.cf         faqntips.html        haresources         Requirements.html
authkeys          faqntips.txt         hb_report.html      Requirements.txt
AUTHORS           GettingStarted.html  hb_report.txt       rsync.html
ChangeLog         GettingStarted.txt   heartbeat_api.html  rsync.txt
COPYING           ha.cf                heartbeat_api.txt   startstop
COPYING.LGPL      HardwareGuide.html   logd.cf
DirectoryMap.txt  HardwareGuide.txt    README
我们需要  authkeys ha.cf haresources 三个配置文件
[[email protected] heartbeat-2.1.4]# cp authkeys ha.cf haresources /etc/ha.d/

2 配置authkeys

[[email protected] ha.d]# openssl rand -hex 8 >> authkeys
[[email protected] ha.d]# vim authkeys
auth 2
#1 crc
#2 sha1 HI!
#3 md5 Hello!
2 sha1 7c0f241959ee845d
[[email protected] ha.d]# chmod 600 authkeys

3 配置ha.cf文件

[[email protected] ha.d]# vim ha.cf

修改心跳信息的传播方式 可以采用 组播 广播 单播

bcast  eth0

配置集群中的节点数

node web1.daphne.com
node web2.daphne.com

4 配置haresources

[[email protected] ha.d]# vim haresources
web1.daphne.com 192.168.200.10/24/eth0 httpd

5 复制以上三个文件到web2上

[[email protected] ha.d]# scp authkeys ha.cf haresources web2:/etc/ha.d/

6 启动web1与web2

先启动备份节点

[[email protected] ~]# service heartbeat  start
[[email protected] ~]# service heartbeat  start

六 测试web集群

查看IP

[[email protected] ha.d]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7D:C1:D7
          inet addr:192.168.200.132  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe7d:c1d7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9069 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9159 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1707993 (1.6 MiB)  TX bytes:1846141 (1.7 MiB)

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:7D:C1:D7
          inet addr:192.168.200.10  Bcast:192.168.200.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

故障演示
关闭web1上的heartbeat
[[email protected] ~]# service heartbeat stop
Stopping High-Availability services:
Done.

查看web2上的IP

ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:61:E4:6B
          inet addr:192.168.200.133  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe61:e46b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8230 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8164 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1698974 (1.6 MiB)  TX bytes:1680369 (1.6 MiB)

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:61:E4:6B
          inet addr:192.168.200.10  Bcast:192.168.200.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

测试

 

七 问题汇总

节点间的文件同步

1Rsync+Inotify组合方案来解决节点之间的同步问题

2共享存储方案

八  共享存储

1 配置NFS服务器

[[email protected] ~]# yum install nfs*

[[email protected] ~]# mkdir -pv /web/html/
[[email protected] ~]# vim /web/html/index.html 

[[email protected] ~]# vim /etc/exports
/web/html/ 192.168.200.0/24(rw,async)

[[email protected] ~]# service rpcbind start
[[email protected] ~]# service nfs start

节点测试 挂载

web1

[[email protected] ~]# mount -t nfs 192.168.200.138:/web/html /mnt
[[email protected] ~]# cd /mnt
[[email protected] mnt]# ls
index.html
[[email protected] ~]# umount /mnt

修改haresource文件

[[email protected] ha.d]# vim /etc/ha.d/haresources
web1.daphne.com 192.168.200.10/24/eth0 Filesystem::192.168.200.138:/web/html::/var/www/html::nfs  httpd

同步haresource配置文件

[[email protected] ha.d]# cd /etc/ha.d/
[[email protected] ha.d]# scp haresources web2:/etc/ha.d/

重启heartbeat

[[email protected] ~]# service heartbeat restart
[[email protected] ~]# service heartbeat restart

测试web服务

 
 
 
 
 
 
 
 
 

 

heartbeat + httpd + nfs 实现高可用web服务器,布布扣,bubuko.com

时间: 2024-10-24 10:44:00

heartbeat + httpd + nfs 实现高可用web服务器的相关文章

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

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

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+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

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 RHCS集群 高可用web服务器

RHCS集群,高可用服务器 高可用 红帽集群套件,提供高可用性,高可靠性,负载均衡,快速的从一个节点切换到另一个节点(最多16个节点)负载均衡 通过lvs提供负载均衡,lvs将负载通过负载分配策略,将来自于客户端的请求分配到服务器节点 当某个服务器节点无法提供服务,节点将被从集群中剔除存储集群功能 rhcs通过gfs文件系统提供存储集群功能 gfs即global file system,允许多个服务同时读写一个单一的共享文件系统 通过gfs消除在应用程序间同步数据的麻烦 通过锁管理机制来协调和管

Nginx+Keepalived实现Nginx负载均衡及高可用WEB服务器集群

环境:操作系统Centos 6.5 X86_64(final)Nginx-Master:192.168.2.32Nginx-Backup:192.168.3.31VIP:192.168.2.33Web3:192.168.2.29Web4:192.168.2.301.分别在Nginx-Master和Nginx-Backup上安装nginx[[email protected] ~]# rpm -i http://nginx.org/packages/centos/6/noarch/RPMS/ngin

Keepalived + LVS-DR搭建高可用Web服务器集群

导航: Keepalived概述 LVS概述 编译安装keepalived 配置主调度器 双机热备 一.Keepalived概述 keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived是自动完成,不需人工干涉,需要人工做的只是修复故障的web服务器.Layer3,4&5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:Layer3:Keepalived使用Layer3的方式工作式时,Ke

heartbeat+drdb+nfs实现高可用

一.环境 nfsserver01:192.168.127.100 centos7.3 nfsserver02:192.168.127.102 centos7.3 nfsclient01:192.168.127.101 centos7.3 二.原理 1.DRDB,分布式复制块设备(Distributed Replicated Block Device),基于linux的软件组件:primary负责接受写入的数据,并且把写入的数据发送给Secondary端. 支持底层设备:磁盘/分区.LVM逻辑卷.