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. ABAP基础二:ALV基础之ALV的简单编辑

    前两天有个打印需求变更,需要在ALV显示列表中添加两个字段,可编辑,而我自己用的是函数:REUSE_ALV_GRID_DISPLAY_LVC 因为之前做可编辑基本都是固定套路,定义类,画屏幕.... ...

  2. IOS-底层数据结构

      Objective-C底层数据结构 类的数据结构 Class(指针) typedef struct objc_class *Class; /* 这是由编译器为每个类产生的数据结构,这个结构定义了一 ...

  3. 深入理解$watch ,$apply 和 $digest --- 理解数据绑定过程——续

    Angular什么时候不会自动为我们$apply呢? 这是Angular新手共同的痛处.为什么我的jQuery不会更新我绑定的东西呢?因为jQuery没有调用$apply,事件没有进入angular ...

  4. 用 Spark 为 Elasticsearch 导入搜索数据

    越来越健忘了,得记录下自己的操作才行! ES和spark版本: spark-1.6.0-bin-hadoop2.6 Elasticsearch for Apache Hadoop 2.1.2 如果是其 ...

  5. skill prefix neo,non input 1

    1● neo 新的     2● non 不,非,无  

  6. Windows各种各种消息投递函数

    1.SendMessage:发送消息给指定的窗口过程:直到窗口过程处理了消息才返回. 2.PostMessage:将消息放入消息队列(与指定窗口创建的线程相关)中:无需等待消息处理,立即返回.   不 ...

  7. 51nod1079

    模板题... 代码: #include <iostream> using namespace std; ],p[]; int main() { int n; while(cin>&g ...

  8. DevExpress v17.2新版亮点—ASP.NET篇(一)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress ASP.NET v17.2 的GridView Control. ...

  9. MyEclipse 2017 Stable 2.0发布|附下载

    MyEclipse个人开发者专享6.9折!仅剩最后3天!在线订购>> 2017 Stable 2.0版本带来了新的功能和修复,从Stable 1.0以来,已经发布了几个版本的Angular ...

  10. 深入理解Linux网络技术内幕——PCI层和网络接口卡

    概述     内核的PCI子系统(即PCI层)提供了不同设备一些通用的功能,以便简化各种设备驱动程序.     PCI层重要结构体如下: pci_device_id     设备标识,根据PCI标志定 ...