2LVS + keepalived

5 bind dns源站

yum -y install  ipvsadm keepalived

lvs增加并发

echo "options ip_vs conn_tab_bits=22" > /etc/modprobe.d/ip_vs.conf  然后重启服务器

cat check_dns_resolve.sh   # 该文件加执行权限

#!/bin/bash
# check dns resolve a_check="check.healthcheck.check"
nslookup_bin="/usr/bin/nslookup" ns_ip=$1
port=53
timeout=2 function EchoHelp(){
echo "use: ./check_dns_resolve.sh [ip] {port}"
exit 1
} if [ $2 ]; then
port=$2
fi if [ $ns_ip -a $a_check ]; then
$nslookup_bin -timeout=${timeout} -port=$port $a_check $ns_ip > /dev/null
else
EchoHelp fi exit $?

keepalived_notify.py 参照 https://www.cnblogs.com/linkenpark/p/7416998.html

lvs1 keepalived配置:

cat /etc/keepalived/keepalived.conf

global_defs {
notification_email {
keepalived@qq.com
} notification_email_from keepalived@qq.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lvs_canlu
} vrrp_instance VI_1 {
state BACKUP
interface ens160
virtual_router_id 162
mcast_src_ip 172.16.12.26
priority 100
advert_int 2 authentication {
auth_type PASS
auth_pass sPkdd98m
} virtual_ipaddress {
172.16.12.30
} notify_master "/bin/python /tuandai/script/keepalived_notify.py master 172.16.12.26 172.16.12.30"
notify_backup "/bin/python /tuandai/script/keepalived_notify.py backup 172.16.12.26 172.16.12.30" } ## dns_bind
virtual_server 172.16.12.30 53 {
delay_loop 6
lb_algo lc
lb_kind DR
#persistence_timeout 1
protocol UDP real_server 172.16.7.14 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.14"
misc_timeout 5
}
}
real_server 172.16.7.15 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.15"
misc_timeout 5
}
}
real_server 172.16.7.16 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.16"
misc_timeout 5
}
}
real_server 172.16.7.17 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.17"
misc_timeout 5
}
}
real_server 172.16.7.18 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.18"
misc_timeout 5
}
}
}

lvs2 keepalived配置:

global_defs {
notification_email {
keepalived@qq.com
} notification_email_from keepalived@qq.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lvs_canlu
} vrrp_instance VI_1 {
state BACKUP
interface ens160
virtual_router_id 162
mcast_src_ip 172.16.12.27
priority 99
advert_int 2 authentication {
auth_type PASS
auth_pass sPkdd98m
} virtual_ipaddress {
172.16.12.30
} notify_master "/bin/python /tuandai/script/keepalived_notify.py master 172.16.12.27 172.16.12.30"
notify_backup "/bin/python /tuandai/script/keepalived_notify.py backup 172.16.12.27 172.16.12.30" } ## dns_bind
virtual_server 172.16.12.30 53 {
delay_loop 6
lb_algo lc
lb_kind DR
#persistence_timeout 1
protocol UDP real_server 172.16.7.14 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.14"
misc_timeout 5
}
}
real_server 172.16.7.15 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.15"
misc_timeout 5
}
}
real_server 172.16.7.16 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.16"
misc_timeout 5
}
}
real_server 172.16.7.17 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.17"
misc_timeout 5
}
}
real_server 172.16.7.18 53 {
weight 10
MISC_CHECK {
misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.18"
misc_timeout 5
}
}
}

keepalived进程检测:

cat /script/check_keepalived.sh

#!/bin/bash

servicename="keepalived"
showname="keepalived"
pid="keepalived"
status="${showname}_failed"
success_status="${showname}_success" function CheckPs(){
local ret=`pidof $pid | wc -l`
echo $ret
} if [ $(CheckPs) == 0 ]; then
service $servicename restart
sleep 1
if [ $(CheckPs) != 0 ]; then
status=$success_status
fi else
status=$success_status
fi echo $status

添加定时任务

cat /etc/crontab

## check keepalived
* * * * * root sh /script/check_keepalived.sh > /dev/null;

centos7 lvs keepalived做DNS集群负载的更多相关文章

  1. LVS+Keepalived搭建MyCAT高可用负载均衡集群

    LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国 ...

  2. Nginx+Keepalived高可用集群应用实践

    Nginx+Keepalived高可用集群应用实践 1.Keepalived高可用软件 1.1 Keepalived服务的三个重要功能 1.1.1管理LVS负载均衡软件 早期的LVS软件,需要通过命令 ...

  3. lunix 集群,负载均衡,location

       nginx location语法: location支持的语法优先级: 复制代码location匹配顺序 #  www.s14hanju.com/1.location = / {  我是代码1} ...

  4. zookeeper在集群负载均衡中的应用

    zookeeper本身是不提供负载均衡的策略,需要自己来实现,所以这里确切的说,是在负载均衡中应用到了zookeeper做集群的协调. 对于HTTP请求的负载均衡,成熟的解决方案是Nginx(或Hap ...

  5. haproxy+keepalived实现web集群高可用性[转]

    负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将“请求”.“访问”的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些 ...

  6. Keepalived高可用集群应用

    Keepalived高可用集群应用 1.keepalived服务说明 1.1.keepalived介绍 Keepalived是一个用C语言编写的路由软件.该项目的主要目标是为Linux系统和基于Lin ...

  7. Apache + Tomcat集群 + 负载均衡

    Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html  http://blog ...

  8. Haproxy+keepalived高可用集群实战

    1.1  Haproxy+keepalived高可用集群实战 随着互联网火热的发展,开源负载均衡器的大量的应用,企业主流软件负载均衡如LVS.Haproxy.Nginx等,各方面性能不亚于硬件负载均衡 ...

  9. Application Request Route实现IIS Server Farms集群负载详解

    序言 随着公司业务的发展,后台业务就变的越来越多,然而服务器的故障又像月经一样,时不时的汹涌而至,让我们防不胜防.那么后台的高可用,以及服务器的处理能力就要做一个横向扩展的方案,以使后台业务持续的稳定 ...

随机推荐

  1. transition多个属性同时渐变(left/top)

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    < ...

  2. POJ 2566 Bound Found 尺取 难度:1

    Bound Found Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 1651   Accepted: 544   Spec ...

  3. 读书笔记 C# Linq查询之group关键字浅析

    在C#中,自从有了Linq查询表达式后,程序员对可被迭代的序列或列表执行一系列的筛选.排序.过滤.分组.查询等操作.本文章所要讲述的是group关键字. Linq查询表达式,是以from关键字开头,以 ...

  4. 使用word2013写博客

    额额  要使用的话首先要配置一下: 选择word2013的创建,然后点击模版,搜索博客. 然后就是创建账户了,账户主要填写的下面这些信息: 注意,cnblogs后面的子域名应该使用你自己的子域名 下面 ...

  5. 网络协议栈学习(二)创建 socket

    下面通过学习linux 1.2.13源码进一步理解socket通信机制.对该版本源码的学习主要参考<Linux内核网络栈源代码情景分析>(曹桂平 编著). 要理解socket的本质,就要理 ...

  6. 调用Nt函数内核模式切换问题

    很久不写博客了,笔记大多记在电脑上在,以后整理好了再搬运上来吧. 今天记一下“进程内存管理器”这个小程序上遇到的一个问题——内核模式调用Nt*函数. 使用的是内核中的NtQueryVirtualMem ...

  7. 打开WORD文档出错提示

    打开WORD文档出错提示: Microsoft Office Word 遇到问题需要关闭.我们对此引起的不便表示抱歉. 您正在处理的信息有可能丢失.Microsoft Office Word 可以尝试 ...

  8. 0117 面向对象OOP有关方法、类、构造方法及权限修饰符的练习

    public class juxing { //编写一个矩形类,将长与宽作为矩形类的属性,在构造方法中将长.宽初始化,定义一个成员方法求此矩形面积 int chang; int kuan; int m ...

  9. apsx 页面 if(!ispostback)其用法和作用 什么时候该用?

    一个页面第一次显示的时候 isPostBack=false 然后你在这个页面上点击按钮或其它东西提交的时候, isPostBack=true 一般这个函数里面的内容是指第一次打开这个页面的时候要做的事 ...

  10. About RFC

    RFC说明 Request For Comments (RFC),是一系列以编号排定的文件,几乎所有的因特网标准都收录在RFC文件之中,如果你想成为网络方面的专家,那么RFC无疑是最重要也是最经常需要 ...