一、安装

HA 即(high available)高可用,又被叫做双机热备,用于关键性业务。

简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 B 机器继续提供服务。

常用实现高可用的开源软件有 heartbeat 和 keepalived,其中keepalived 有负载均衡的功能。

1.准备两台机器,主的ip:192.168.1.116 从的ip:192.168.1.115

修改主的,从的名字:主叫master 从叫slave

[root@localhost ~]# hostname master
[root@localhost ~]# bash
[root@master ~]#
[root@localhost ~]# hostname slave
[root@localhost ~]# bash
[root@slave ~]#

2.关闭防火墙,两台同时操作

 vim /etc/selinux/config

找到
SELINUX=enforcing
改为
SELINUX=disabled
 setenforce 
iptables -F
service iptables save

3.编辑hosts

 vi /etc/hosts
添加
192.168.1.116 master
192.168.1.115 slave

4.安装heartbeat,两台机器都操作

查看是否有这个包,

yum list |grep heartbeat

安装扩展源。去www.lishiming.net搜索epel

wget www.lishiming.net/data/attachment/forum/epel-release--8_64.noarch.rpm
rpm -ivh epel-release--8_64.noarch.rpm
yum install -y heartbeat
yum install -y libnet

二、配置

主的

cd /usr/share/doc/heartbeat-3.0./
cp authkeys ha.cf haresources /etc/ha.d/
cd /etc/ha.d/
vim authkeys
两台机器通信,用来验证
#auth
# crc
# sha1 HI!
# md5 Hello!
改为
auth
# crc
# sha1 HI!
md5 Hello!
chmod  authkeys
vim haresources
默认全部注释
找到
#node1 10.0.0.170 Filesystem::/dev/sda1::/data1::ext2
改为
master 192.168.1.110//eth0: nginx
主的名字 流动ip 网段 网卡 服务
vim ha.cf
全部删掉,写入
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive
deadtime
warntime
initdead
udpport
ucast eth0 192.168.1.115
auto_failback on
node master
node slave
ping 192.168.1.1
respawn hacluster /usr/lib64/heartbeat/ipfail

debugfile /var/log/ha-debug //该文件保存 heartbeat 的调试信息
logfile /var/log/ha-log  //heartbeat 的日志文件
logfacility local0   //日志级别
keepalive 2   //多少时间去探测一次 2秒
deadtime 30  //如果30秒ping不通认为死掉了
warntime 10  //10秒ping不通发出警告
initdead 60  //预留60秒。可能对方在重启
udpport 694  //心跳线,通信端口
ucast eth0 192.168.1.115  //用单独网卡或者串口链接心跳线,对方ip
auto_failback on  //如果备启动了,主再次激活,备主动放弃。
node master
node slave  //指定主和从,各占一行,主在上从在下
ping 192.168.1.1 //仲裁的地址,判断双方是否是活的
respawn hacluster /usr/lib64/heartbeat/ipfail //以哪个用户身份去运行这个检查网络连接性脚本,对方不存活,把他拉起来的。

两台都安装scp命令才能拷贝

yum install openssh-clients -y
scp authkeys haresources ha.cf slave:/etc/ha.d/
yes/no:yes
root@slave's password:***

从的配置

cd /etc/ha.d/
vim ha.cf

ucast eth0 192.168.1.115
改为
ucast eth0 192.168.1.116

两台同时安装nginx

yum install nginx -y

 三、启动

/etc/init.d/heartbeat start
ifconfig
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:CE:99:EA
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 流动ip
ps aux |grep ngin
nginx 启动成功

/etc/init.d/heartbeat start
ps aux|grep nginx
没有启动
ifconfig
没有eth0: 流动ip没有流动到从上

主:

echo '1111master' > /usr/share/nginx/html/index.html
可以用流动ip访问

从:

echo '2222222slave' > /usr/share/nginx/html/index.html

主:

/etc/init.d/heartbeat stop

ifconfig
ps
都没有了
刷新浏览器,
变成 222*slave

ifconfig
ps
启动

Linux系统构架 - HA集群配置的更多相关文章

  1. linux系统构架 - LB集群之LVS介绍

    LB 集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有 nginx.lvs.keepalived ,商业的硬件负载设备 F5.Netscale. LB ...

  2. linux系统构架 - LB集群之LVS的DR设置

    在lvs的nat模式的基础上 1.清空ipvsadm规则 ipvsadm -C 查看 ipvsadm -ln 2.清空iptables规则 iptables -t nat -F 3.修改rs的网卡配置 ...

  3. linux系统构架 - LB集群之LVS的NAT

    1.环境说明 三台服务器,一台叫dir,两台叫rs1和rs2 (director 和 real server) dir外网ip:192.168.192.129  内网ip:192.168.1.114 ...

  4. 关于Linux系统下zookeeper集群的搭建

    1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系 ...

  5. Linux系统搭建Hadoop集群

    一.环境说明 IP地址 主机名 备注 操作系统 192.168.92.11 hserver1 namenode Ubuntu 16.04 192.168.92.12 hserver2 datanode ...

  6. linux系统搭建zookeeper集群

    转载至:https://blog.csdn.net/weixin_38111957/article/details/82927878 一.引言 今天咱们就来搭建一下zookeeper集群,当然搭建集群 ...

  7. redis linux安装与简单集群配置

    由于项目原因最近在使用redis,把redis的安装以及配置记录下来方便查看. 1.下载 地址http://download.redis.io/releases/  需要哪个版本就使用那个版本 2.解 ...

  8. Linux系统下安装Redis和Redis集群配置

    Linux系统下安装Redis和Redis集群配置 一. 下载.安装.配置环境: 1.1.>官网下载地址: https://redis.io/download (本人下载的是3.2.8版本:re ...

  9. linux环境下Apache+Tomcat集群配置

    写在前面 apache配置多个tomcat,实现请求分流,多个tomcat服务均衡负载,增加服务的可靠性.最近研究了一下,遇到许多问题,记录一下,方便以后查阅,不喜欢apache,nginx也是可以做 ...

随机推荐

  1. ptr_fun

    ptr_fun 分类: C/C++2012-05-05 20:21 593人阅读 评论(0) 收藏 举报 functionclassfunobjectreturningtypes   目录(?)[-] ...

  2. NSURLSession学习笔记(一)简介

    一.URL Session的基本概念 1.三种工作模式: 默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain ...

  3. spring事务的配置

    前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ...

  4. nginx 调试

    配置单进程非daemon方式启动 daemon off; master_process off;

  5. gradle 项目构建以及发布maven 私服&& docker 私服构建发布

    1. 项目结构   2. 代码说明 a. Dockerfile docker 构建的 FROM openjdk:8-jre-alpine WORKDIR /appdemo/ COPY build/di ...

  6. 坚持c++,真正掌握c++(4)

    这几天复习了c++primer的第12章类的解说,尽管之前这一章也看了几遍.可是我终究认为书读百遍其义自现,如今我给出一些我学习的心得,欢迎大家一起探讨. 首先,类能够说是c++的灵魂,正由于c++中 ...

  7. openOffice转换的时候乱码在linux下使用openOffice的时候发现在转换后出现了乱码

    openOffice转换的时候乱码 在linux下使用openOffice的时候发现在转换后出现了乱码,最后上网查了一下,按照网上的说法去试了试,最后也没有解决,也可能是我这边的linux的权限问题, ...

  8. 搭建基于hyperledger fabric的联盟社区(三) --生成公私钥证书及配置文件

    一.生成公私钥和证书 Fabric中有两种类型的公私钥和证书,一种是给节点之前通讯安全而准备的TLS证书,另一种是用户登录和权限控制的用户证书.这些证书本来应该是由CA来颁发,但是目前只有两个社区,所 ...

  9. 基于STL优先队列和邻接表的dijkstra算法

    首先说下STL优先队列的局限性,那就是只提供入队.出队.取得队首元素的值的功能,而dijkstra算法的堆优化需要能够随机访问队列中某个节点(来更新源点节点的最短距离). 看似可以用vector配合m ...

  10. Excel不同工作簿之间提取信息

    Sub 不同工作簿间提取信息() '用于单个字段信息的提取: Dim w As Workbook, wb1 As Workbook, wb2 As Workbook, wb3 As Workbook ...