使用Keepalived实现linux高可用集群
安装
apt install libipset-dev keepalived -y
创建账户
useradd -s/usr/sbin/nologin -M -g root keepalived_script
修改Linux
vim /etc/sysctl.conf
#在末尾追加一行:net.ipv4.ip_nonlocal_bind=1
创建Keepalived配置文件
vim /etc/keepalived/keepalived.conf
vrrp_script chk_appsvc {
#定义一个脚本文件,这个脚本文件将用来检测本机是否可用,如果可用则返回0
script /etc/keepalived/keepalived-check-appsvc.sh
interval 1
fall 2
rise 2
}
vrrp_instance VI_1 {
#选择一个网卡
interface ens7
authentication {
auth_type PASS
auth_pass secr3t
}
virtual_router_id 51
virtual_ipaddress {
10.1.96.100 #整个集群的对外地址
}
track_script {
chk_appsvc
}
#状态:MASTER BACKUP STOP FAULT
state MASTER
priority 101
unicast_src_ip 10.1.96.5 #本机地址(DIP)
unicast_peer {
10.1.96.3 #对端地址,其它机器的ip(DIP)
}
#状态切换动作脚本,定义了状态切换时执行的动作
notify /etc/keepalived/keepalived-action.sh
}
创建状态切换动作脚本
vim /etc/keepalived/keepalived-action.sh
chmod +x /etc/keepalived/keepalived-action.sh
#!/bin/bash
TYPE=$1
NAME=$2
STATE=$3
case $STATE in
"MASTER")
systemctl start nginx
exit 0
;;
"BACKUP"|"STOP")
#systemctl stop nginx
exit 0
;;
"FAULT")
#systemctl stop nginx
exit 0
;;
*)
exit 1
;;
esac
#当某个服务器成为MASTER的时候,启动nginx服务。
创建状态检测脚本
vim /etc/keepalived/keepalived-action.sh
chmod +x /etc/keepalived/keepalived-check-appsvc.sh
#!/bin/bash
exit 0
#返回0表示当前主机状态正常.如果返回非0,或者设备无法连接,就会触发转移.
使用Keepalived实现linux高可用集群的更多相关文章
- linux高可用集群(HA)原理详解(转载)
一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个 节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务.高可用 ...
- linux高可用集群(HA)原理详解
高可用集群 一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服 ...
- 使用Keepalived构建LVS高可用集群
LVS的DR模型配置+Keepalive部署 介绍 下图为DR模型的通信过程,图中的IP不要被扑结构中的IP迷惑,图里只是为了说明DR的通信原理,应用到本例中的拓扑上其工作原理不变. 拓扑结构 服务器 ...
- nginx+keepalived+consul 实现高可用集群
继 负载均衡 之 nginx+consul+consul template,我这次将使用2台虚拟机,来做一个简单的双机负载均衡试验. 试验目标: 1. 当参加负载均衡的子节点服务,有任何其中一个或多个 ...
- 基于keepalived搭建MySQL高可用集群
MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和 ...
- 003.Keepalived搭建LVS高可用集群
一 基础环境 1.1 IP规划 OS:CentOS 6.8 64位 节点类型 IP规划 主机名 类型 主 Director Server eth0:172.24.8.10 DR1 公共IP eth1: ...
- 使用 Load Balancer,Corosync,Pacemaker 搭建 Linux 高可用集群
由于网络架构的原因,在一般虚拟机或物理环境中常见的用 VIP 来实现双机高可用方案,无法照搬到 Azure 平台.但利用 Azure 平台提供的负载均衡或者内部负载均衡功能,可以达到类似的效果. 本文 ...
- 【转】Keepalived+Tengine实现高可用集群
原文出处:http://502245466.blog.51cto.com/7559397/1301772 概述 近年来随着Nginx在国内的发展潮流,越来越多的互联网公司使用Nginx:凭Nginx的 ...
- Sqlserver on linux 高可用集群搭建
一.环境准备 1 部署环境: 服务器数量:3台 Ip地址:192.168.1.191(主) 192.168.1.192(从) 192.168.1.193(从) 操作系统:CentOS Linux re ...
随机推荐
- System.Windows.Forms.Timer、System.Timers.Timer、System.Threading.Timer的 区别和用法
System.Windows.Forms.Timer执行的时候,如果你在过程中间加一个sleep整个的界面就死掉了,但是另外两个没有这个情况,System.Timers.Timer.System.Th ...
- MCU ADC 进入 PD 模式后出现错误的值?
MCU ADC 进入 PD 模式后出现错误的值? 在调试一款 MCU,最开始问题是无法读到 ADC 的值,应该是读到的值是异常高. 怀疑问题 可能是主频太低,为了降低功耗,这个 MCU 主频被我降了很 ...
- Java高级特性 第3节 java中常用的实用类(2)
§String类 一.创建字符串对象 采用字面值的方式赋值:String s = "abc"; 用new关键字:String s = new String("vfggkf ...
- redux 知识点
redux原理:store中维护了一个state,我们dispatch一个action,接下来reducer根据这个action更新state. react-redux提供两个关键模块:Provide ...
- linux shell写入单行、多行内容到文件
1.单行文本 #! /bin/bashecho 'hello world' > filename.txt 2.多行文本 代码1: #! /bin/bashcat>filename.txt& ...
- 关于Bagging
Bagging分为两种:Bagging和Pasting,前者是概率中的放回随机采样,后者是不放回随机采样:默认是放回采样随机:设置bootstrap=False即设置为不放回采样:默认bootstra ...
- 读DataSnap源代码(三)
function TWebRequestHandler.HandleRequest(Request: TWebRequest; Response: TWebResponse): Boolean; va ...
- Hive 特殊分隔符处理
HIVE特殊分隔符处理 Hive对文件中的分隔符默认情况下只支持单字节分隔符,,默认单字符是\001.当然你也可以在创建表格时指定数据的分割符号.但是如果数据文件中的分隔符是多字符的,如下图: 01| ...
- 一文说尽 MySQL 优化原理
说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原 ...
- require的定义看不懂【2】
一段代码扔出来,前不着村后不着店的,各种全局变量 还有,现在还在纠结Id,url, 作者充其量也在写读书笔记,完全沿着自己思路走,也不管读者是否跟得上,这居然也能出书. 这一段,掌握源码,或者写过的人 ...