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 libtool-ltd( 注  要从源库安装 ,不可以epel)
lyum install  libnet
rpm -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集群

时间: 2024-10-12 08:12:07

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"

corosycn&pacemaker的高可用web集群

基本拓扑: 两台高可用节点: node1:192.168.191.112 node2:192.168.191.113 NFS服务器:192.168.191.111 web服务的流动IP:192.168.191.199 一.准备工作: 1).node1---node2 基于主机名通信 1.编辑/etc/hosts文件添加如下内容 192.168.191.112 node1.liaobin.com node1 192.168.191.113 node2.liaobin.com node2 2.编辑/

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置 LB集群是locd balance集群的简称.翻译成中文是:负载均衡集群的意思:集群是一组相互独立的.通过高速网络互联的计算机相互之间构成一个组合,并以单一的系统的模式加以管理.LVS是Linux Virtual Server的简写,翻译中文是Linux虚拟服务器,是一个虚拟的服务器集群系统. 负载均衡集群:是为了企业提供更为实用,性价比更高的系统机构解决方案.负载均衡集群把用户的请求尽可能的平均分发到集群的各

Nginx+Tomcat+Keepalived实现高可用web集群

Nginx+Tomcat+Keepalived实现高可用web集群: 环境:CenOS 6.5Nginx-Master:10.10.10.128Nginx-Backup:10.10.10.129Tomcat1:10.10.10.130Tomcat2:10.10.10.131VIP:10.10.10.100 一.环境基础配置1.更换国内yum源2.关闭防火墙.SELinux3.时间同步 二.Web端安装Web服务 1.查看是否安装JDK [[email protected] ~]# java -v

Keepalived+Nginx+Tomcat 实现高可用Web集群(转)

Keepalived+Nginx+Tomcat 实现高可用Web集群 溯水心生 关注 2018.01.08 20:28* 字数 1382 阅读 965评论 1喜欢 9 集群规划图片 一.Nginx的安装过程 1.下载Nginx安装包,安装依赖环境包 (1)安装 C++编译环境 yum -y install gcc #C++ (2)安装pcre yum -y install pcre-devel (3)安装zlib yum -y install zlib-devel (4)安装Nginx 定位到n

heartbeat v2配置高可用web集群和基于nfs搭建MySQL高可用集群

安装环境:Centos 6.4, httpd2.4,mysql5.5,heartbeat v2 提供两台机器node1和node2,在/etc/hosts文件中添加名称解析,并且主机名称要与节点名称要相同,即uname -n的名称要和hosts定义的名称必须一样. #   IP                         HOSTNAME             ALIAS 10.204.80.79     node1.mylinux.com     node1 10.204.80.80  

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

corosync+pacemaker+crmsh的高可用web集群的实现

网络规划: node1:eth0:172.16.31.10/16 node2: eth0: 172.16.31.11/16 nfs:   eth0: 172.16.31.12/15 注: nfs在提供NFS服务的同时是一台NTP服务器,可以让node1和node2同步时间的. node1和node2之间心跳信息传递依靠eth0传递 web服务器的VIP是172.16.31.166/16 架构图:跟前文的架构一样,只是节点上安装的高可用软件不一致: 一.高可用集群构建的前提条件 1.主机名互相解析

corosync+pacemaker做高可用web集群

实验环境: 两台主机:  centos6.5+httpd2.4+php5.5组成web的基本环境,并且web页面访问正常,并且确保httpd24服务不会开机启动. node1.mylinux.com      10.204.80.79 node2.mylinux.com      10.204.80.80 我这里启用ansible来方便对两个节点的管理,启用一台主机做为管理节点,IP:10.204.80.71,在三台主机的hosts里同都添加对应的名称解析,管理节点对node1,node2两个节