阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

高可用(HA)集群构建

435次阅读
没有评论

共计 3686 个字符,预计需要花费 10 分钟才能阅读完成。

1、HA 集群介绍

HA 即(high available)高可用,又被叫做双机热备,用于关键性业务。可以这样理解,有两台机器 A 和 B,正常情况下,A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 B 机继续提供该服务。常用实现高可用的开源软件有 heartbeat 和 keepalived,其中 keepalived 有负载均衡的功能。

高可用(HA)集群构建

如上图所示为一个 HA 架构,一个交换机下面有两台机器 Web1 和 Web2,其中 Web1 为主节点,正常使它提供服务,而 Web2 备用节点是闲置的。Web1 和 Web2 中间有一根心跳线,检查对方的存活状态。流动 IP,也叫 vip 是对外提供服务的 ip,正常情况下配置在 Web1 上,当 Web1 宕机后,Web2 会自动配置该 vip,对外提供服务。

2、前期准备

准备两台机器,一个使用了 CentOS6.5,另一个 centos6.3,系统版本不同不影响实验

网卡 eth0 ip 如下

master 192.168.1.165

slave 192.168.1.163

下面操作在两个机器上都要操作:

(1)设置 hostname,分别为主 master 和从 slave

主上设置:

# hostname  master

# vim /etc/sysconfig/network

HOSTNAME=localhost.localdomain

修改为

HOSTNAME=master

从上设置

# hostname  slave

# vim /etc/sysconfig/network

HOSTNAME=localhost.localdomain

修改为

HOSTNAME=slave

(2)关闭防火墙,主从都操作

# iptables -F

# service iptables save

# getenforce 0

# vim /etc/selinux/config

SELINUX=enforcing

修改为

SELINUX=disabled

(3)配置 host,主从操作一样

# vim  /etc/host

192.168.1.165 master

192.168.1.163 slave

 

3、heartbeat 安装

主机和从机都需要安装 heartbeat,同时需要 libnet,主机从机执行同样的命令

# yum install -y heartbeat

# yum install -y libnet

如果没有包,则需要安装一个扩展 yum 源,heartbeat 在 epel 源中。

# yum install -y epel-release

 

4、主节点配置

需要先将 3 个相关的配置文件放置在 heartbeat 的配置目录下

# cd /usr/share/doc/heartbeat-3.0.4/

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

之后便可以开始修改配置文件了,先修改验证文件

# cd /etc/ha.d/

# vim authkeys # 用来验证,主从通过通信验证对方是否存活,需要加密

auth 3 # 此处打开,数字表示选择哪种加密方式

#1 crc # 最简单

#2 sha1 HI! # 最复杂

3 md5 Hello! # 处于中间等级的加密方式

# chmod 600 /etc/ha.d/authkeys

# 如果不修改权限,heartbeat 启动不了

第二个配置 haresources 文件,只需要编辑一行。因为当前在 ha.d 目录下,直接 vim。如果不是,用绝对路径或者 cd

# vim haresources

#node1  10.0.0.170  Filesystem::/dev/sda1::/data1::ext2

# 找到上面一行,改成下面,需要去掉 #

master  192.168.1.186/24/eth0:0 nginx

# master 是主的主机名;192.168.1.186 是 vip,/24 指定网段,网卡 eth0:0(这里采用了虚拟网卡);nginx 提供服务,如果主宕掉,从启动。

最后一个配置 ha.cf,里边基本全是注释,这里选择删掉重新写入, 当前依旧在 /etc/ha.d 目录下

# > ha.cf

# vim ha.cf

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility    local0

keepalive 2

deadtime 30

warntime 10

initdead 60

udpport 694

ucast eth0 192.168.1.163

auto_failback on

node    master

node    slave

ping 192.168.1.1

respawn hacluster /usr/lib/heartbeat/ipfail

配置说明:

debugfile /var/log/ha-debug:该文件保存 heartbeat 的调试信息

logfile /var/log/ha-log:heartbeat 的日志文件

logfacility    local0:日志级别

keepalive 2:心跳的时间间隔,默认单位秒

deadtime 30:超出该时间未收到对方节点的心跳,则认为对方死亡

warntime 10:超出该时间未收到对方节点的心跳,则发出警告并记录到日志

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

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

ucast eth0 192.168.1.163:ucast 指定对方 ip,bcast 形式寻找;eth0 心跳检测自己的网卡,ip 对方的 ip

auto_failback on:heartbeat 的两台主机分别为主节点和从节点。主节点正常情况下占用资源运行所有服务,遇到故障把资源交给从节点由从节点运行服务。选项为 on 情况下,一旦主节点恢复运行,则自动获取资源并取代从节点运行服务。

node    master:指定主

node    slave:指定从

ping 192.168.1.1

respawn hacluster /usr/lib/heartbeat/ipfail:指定与 heartbeat 一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是 ipfail,该进程用于检测和处理网络故障,需要配合 ping 语句指定的 pingnode 来检测网络连接。如果系统是 64 位,将地址中的 lib 改为 lib64

然后安装一个 nginx,用于后边测试

# yum install -y nginx

 

5、从节点配置

把主上的三个配置拷贝到从上,使用 scp 命令;并且只需要在从上修改 ha.cf 文件一个地方即可

# scp authkeys ha.cf haresources slave:/etc/ha.d/

# vim /etc/ha.d/ha.cf

ucast eth0 192.168.1.163 改为 ucast eth0 192.168.1.165

也安装一个 nginx,用于后边测试

# yum install -y nginx

 

6、heartbeat 测试

启动 heartbeat,顺序很重要,先主后从

# service heartbeat start

检查测试(主),第一次会需要等待一段时间,耐心

# ifconfig

看是否有 eth0:0

# ps aux | grep nginx

看是否有 nginx 进程

测试(1)

因为主从指间的心跳实质是通过 ping 来连通,so 主故意禁掉 ping,死掉

# iptables -D INPUT -p icmp -j DROP

如果失败,查看日志发现卡在这里不动

Dec 08 18:56:53 master heartbeat: [9590]: WARN: node 192.168.1.1: is dead

Dec 08 18:56:53 master heartbeat: [9590]: info: Link 192.168.1.1:192.168.1.1 dead.

Dec 08 18:56:53 master ipfail: [9619]: info: Status update: Node 192.168.1.1 now has status dead

harc(default)[10097]: 2016/12/08_18:56:53 info: Running /etc/ha.d//rc.d/status status

Dec 08 18:56:54 master ipfail: [9619]: info: NS: We are dead. :<

Dec 08 18:56:54 master ipfail: [9619]: info: Link Status update: Link 192.168.1.1/192.168.1.1 now has status dead

Dec 08 18:56:55 master ipfail: [9619]: info: We are dead. :<

Dec 08 18:56:55 master ipfail: [9619]: info: Asking other side for ping node count.

尝试解决方法

将从上的 ha.cf 配置文件中的 ucast 修改如下

bcast  eth0

然后重新测试

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140341.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3686字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7977639
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...