文档章节

Ubuntu10.04.4 Server下基于HeartBeat的Web应用高可用集群

bobo2cj
 bobo2cj
发布于 2014/02/26 19:57
字数 1236
阅读 193
收藏 3

Ubuntu下基于HeartBeat的Web应用高可用集群

概述 1

网络拓朴 2

环境配置信息 2

环境搭建 3

搭建实验环境节点A 3

A机的HeartBeat安装、配置 4

搭建实验环境节点B 5

B机的HeartBeat安装、配置 6

测试HeartBeat 6

启动heartbeat服务 6

访问集群ip 8

模拟ubuntu-node-a宕机 9

 

概述

申明:这只是我照着网络上的相关技术文档做实验后的整理

利用VirtualBox部署一台完整环境(lamp+heatrbeat)并配置,而后利用自带的镜像复制功能,复制出另外一台虚机,更改好hostname和network后,同时启动心跳服务即可。在VirtualBox中的虚机列表截图如下:

 

网络拓朴

 

环境配置信息

ubuntu-10.04.4-server-i386-nodeA

节点hostname:ubuntu-node-a

ubuntu-10.04.4-server-i386-nodeB

节点hostname:ubuntu-node-b

cluster

虚拟集群ip              192.168.1.200

其中集群 IP 不能和LAN(包括本机)的IP 冲突,且配置/etc/ha.d/haresources文件

 

环境搭建 

搭建实验环境节点A

注:我的电脑(宿主机)在家里的一个局域网内,分配的ip为0段。

在VirtualBox4.3上安装个操作系统为Ubuntu Server 10.04.4的双网卡主机,主机硬件配置如下:

系统:512M内存  单核处理器

网络:网卡1>网桥网卡  网卡2>仅主机(Host-Only)适配器

查看主机名:#cat /etc/hostname

 

修改hosts文件:#vi /etc/hosts

 

网络查看、并配置成如下:

 

以上配置完后重启生效

 

A机的HeartBeat安装、配置

注意:将源配置为:http://old-releases.ubuntu.com/ubuntu/(国内163等源对旧版本的ubuntu已不支持了

安装HeartBeat

HeartBeat的自动安装命令为(手动安装需要解决包的依赖关系问题)

# apt-get install heartbeat

安装后在/usr/share/doc/heartbeat目录里找到authkeysha.cf、haresources三个文件并放到/etc/ha.d 目录下。

 

执行以下命令

#cd /usr/share/doc/heartbeat

#gzip -d ha.cf.gz haresources.gz

#ls

 

#cp authkeys ha.cf haresources /etc/ha.d

#cd /etc/ha.d

Authkeys 文件配置

修改配置文件如下:

auth 3

3 md5 Hello! #其中Hello!为密钥

这个配置文件非常简单,就是在 auth 选择一个值。每个值对应一种算法,这个算法用于主节点和从节点间数据校验

这个配置文件权限必须是0600。

# chmod 0600 authkeys

 

ha.cf 文件配置

修改配置文件如下:

#日志文件位置

logfile /var/log/ha-log 

#采用eth1 的udp 广播用来发送心跳信息

bcast eth1

#主节点重启成功后,等到副节点down掉后拿回资源off:不立刻接过来

auto_failback off

# 多长时间判定节点死亡,默认30秒

deadtime 10

#节点名称,先后顺序不重要,主节点是在haresources文件中指定的,但是名称必须与uname -n 保持一致

node ubuntu-node-a

node ubuntu-node-b

haresources 文件配置

此文件用于配置集群的 IP 和使用集群的服务

配置方式 (让apache 服务和集群ip地址绑定)

ubuntu-node-a 192.168.1.200/24/eth0 apache2

其中ubuntu-node-a为主机名,可以通过uname –n查看;192.168.1.200为我定的集群ip(与家里的局域网其他地址不冲突),24为掩码

其他可选配置

heartbeat 的三个配置文件中还有一些其它可配置项,参考官方文档。

搭建实验环境节点B

VirtualBox-“管理”-“虚拟介质管理”-选中刚创建好的虚拟硬盘ubuntu-10.04.4-server-i386-nodeA.vdi文件-“复制”-下一步。。。-输入要创建的新虚拟硬盘名称:ubuntu-10.04.4-server-i386-nodeB、选择好存储的路径-点“复制”按钮-完成

创建新的虚拟机ubuntu-10.04.4-server-i386-nodeB,并用刚复制的现有虚拟硬盘,设置:

系统:512M内存  单核处理器

网络:网卡1>网桥网卡  网卡2>仅主机(Host-Only)适配器

修改主机名要修改vi /etc/hostname文件

 

修改hosts文件:#vi /etc/hosts

 

网络查看、并配置成如下:

 

以上配置完后重启生效

B机的HeartBeat安装、配置 

虚拟磁盘是复制过来的,已经安装和配置过了

测试HeartBeat 

启动heartbeat服务

分别启动主节点和副节点的心跳服务

#service heartbeat start

A节点的网络配置信息

 

可以看到集群IP 自动配置到主节点ubuntu-node-a上了

B节点的网络配置信息

 

ubuntu-node-b则没有看到集群ip

访问集群ip

 

模拟ubuntu-node-a宕机

我们a节点停止heartbeat服务或关闭a节点主机

#service heartbeat stop 

查看备机b节点的网络,可以看到集群ip加到了eth0上了

 

查看b节点日志文件(/var/log/ha.log)

 

可以看到,节点b发现节点a异常,然后自动将集群IP配置给自己,并向全网发送广播,于是集群ip依然能够访问

至此web应用高可用集群架设完毕!


© 著作权归作者所有

bobo2cj
粉丝 11
博文 8
码字总数 4983
作品 0
南京
其他
私信 提问
Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置ipvs高可用集群

本章主要配置heartbeat v2基于crm+hb_gui接口,配置高可用+ipvs负载均衡集群。 如何安装heartbeat v2、httpd、nfs、配置心跳连接、ssh密钥通信、同步时间、添加名称解析、配置yum源等请参照:...

ccs_Chan
2017/05/13
0
0
HA集群之Heartbeat浅析及heartbeat+haresource

一、Heartbeat Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了...

hoo_5
2014/05/08
0
0
linux集群系列(1) --- Linux集群系统基础

一、简介 1.1. Linux集群系统包括集群节点和集群管理器两部分。 集群节点有时简称为节点、服务器或服务器节点,是提供处理资源的系统,它进行集群的实际工作。一般来讲,它必须进行配置才能成...

风过_无痕
2017/08/12
0
0
MYSQL企业常用架构与调优经验分享

一、选择Percona Server、MariaDB还是MYSQL 1、Mysql三种存储引擎 MySQL提供了两种存储引擎:MyISAM和 InnoDB,MySQL4和5使用默认的MyISAM存储引擎。从MYSQL5.5开始,MySQL已将默认存储引擎从...

柠檬琉璃H
2017/11/18
0
0
MYSQL企业常用架构与调优经验分享

小道消息:2016爱维Linux高薪实战运维提高班全新登场,课程大纲:http://www.iivey.com/666-2 一、选择Percona Server、MariaDB还是MYSQL 1、Mysql三种存储引擎 MySQL提供了两种存储引擎:MyI...

南非蚂蚁
2016/03/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Git 分支管理规范

Git 仓库申请流程 开发主管向 Git 管理员提交 Git 仓库申请【邮件:发送给 Git 管理员,抄送给项目经理,申请表可向 Git 管理员获取】 Git 管理员审批开发主管的申请,审批以下具体信息: 审批...

物种起源-达尔文
29分钟前
6
0
浅谈iterator迭代器模式

一、前言 设计模式有很多,最典型的是GoF的23种设计模式,听起来很多,其实大部分我们都是见过的,按照常见度来分,最常用的差不多是六七个吧,因此,我们在学习的时候应该有轻重缓急之分,不...

青衣霓裳
29分钟前
4
0
Spring Boot2 系列教程(二)创建一个 Spring Boot 项目的三种方法

我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有再继续更新 Spring B...

江南一点雨
31分钟前
5
0
熟练掌握这5个Excel技巧,只加薪不加班

月初月报的整理,周一周报的整理都离不开Excel,有的同事只要10分钟搞定,也有同事花费一上午时间整理报表,这样对比起来,时间差是很大的。那怎样快速对Excel表中的数据进行整理呢? 1.快速...

干货趣分享
35分钟前
5
0
总结:SpringCloud

一、Eureka Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件 它主要包括两个组件:Eureka Server 和 Eureka Client Eureka Client:一个Java客户端,用于简化与 Eure...

浮躁的码农
45分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部