一、安装

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. HDU2604 Queuing 矩阵初识

    Queues and Priority Queues are data structures which are known to most computer scientists. The Queu ...

  2. BZOJ3083 遥远的国度 【树链剖分】

    BZOJ3083 遥远的国度 Description zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度.当zcwwzdjn准备进入遥远的国度继续追杀时,守护神RapiD阻拦了zcw ...

  3. python笔记-10(socket提升、paramiko、线程、进程、协程、同步IO、异步IO)

    一.socket提升 1.熟悉socket.socket()中的省略部分 socket.socket(AF.INET,socket.SOCK_STREAM) 2.send与recv发送大文件时对于黏包 ...

  4. CnetOS7使用yum方式安装nginx

    之前一直使用源码包安装,但是对于需要一直进行重新安装的测试环境来说安装起来还是过于麻烦了.今天搜索发现能够进行yum方式的安装,特此记录. 新建yum文件,yum源是nginx的官网. # vim / ...

  5. 重温CLR(十五) 托管堆和垃圾回收

    本章要讨论托管应用程序如何构造新对象,托管堆如何控制这些对象的生存期,以及如何回收这些对象的内存.简单地说,本章要解释clr中的垃圾回收期是如何工作的,还要解释相关的性能问题.另外,本章讨论了如何设计 ...

  6. java基本类型和封装类型区别及应用

    1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的. 2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建).比如 Integ ...

  7. Apache Kafka 0.9消费者客户端

    当Kafka最初创建时,它与Scala生产者和消费者客户端一起运送.随着时间的推移,我们开始意识到这些API的许多限制.例如,我们有一个“高级”消费者API,它支持消费者组并处理故障转移,但不支持许多 ...

  8. ngnix+uwsgi+django 部署mezzanine

    以下是我用ngnix+uwsgi+django 部署mezzanine全过程,其中ngnix+uwsgi这块是看了虫师大神的博客(http://www.cnblogs.com/fnng/p/52686 ...

  9. opencv读取中文路径报错的问题

    ) ## 经验证,不需要再转bgr,myImread的读图结果已经是和imread一样的 return img

  10. JAVA-Unit02: Oracle字符串操作 、 Oracle数值操作 、 Oracle日期操作 、 空值操作

    Unit02: Oracle字符串操作 . Oracle数值操作 . Oracle日期操作 . 空值操作 DQL数据查询语言 查询语句基本由SELECT子句由FROM子句构成. SELECT子句指定要 ...