centos7 lvs keepalived做DNS集群负载
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集群负载的更多相关文章
- LVS+Keepalived搭建MyCAT高可用负载均衡集群
LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国 ...
- Nginx+Keepalived高可用集群应用实践
Nginx+Keepalived高可用集群应用实践 1.Keepalived高可用软件 1.1 Keepalived服务的三个重要功能 1.1.1管理LVS负载均衡软件 早期的LVS软件,需要通过命令 ...
- lunix 集群,负载均衡,location
nginx location语法: location支持的语法优先级: 复制代码location匹配顺序 # www.s14hanju.com/1.location = / { 我是代码1} ...
- zookeeper在集群负载均衡中的应用
zookeeper本身是不提供负载均衡的策略,需要自己来实现,所以这里确切的说,是在负载均衡中应用到了zookeeper做集群的协调. 对于HTTP请求的负载均衡,成熟的解决方案是Nginx(或Hap ...
- haproxy+keepalived实现web集群高可用性[转]
负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将“请求”.“访问”的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些 ...
- Keepalived高可用集群应用
Keepalived高可用集群应用 1.keepalived服务说明 1.1.keepalived介绍 Keepalived是一个用C语言编写的路由软件.该项目的主要目标是为Linux系统和基于Lin ...
- Apache + Tomcat集群 + 负载均衡
Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html http://blog ...
- Haproxy+keepalived高可用集群实战
1.1 Haproxy+keepalived高可用集群实战 随着互联网火热的发展,开源负载均衡器的大量的应用,企业主流软件负载均衡如LVS.Haproxy.Nginx等,各方面性能不亚于硬件负载均衡 ...
- Application Request Route实现IIS Server Farms集群负载详解
序言 随着公司业务的发展,后台业务就变的越来越多,然而服务器的故障又像月经一样,时不时的汹涌而至,让我们防不胜防.那么后台的高可用,以及服务器的处理能力就要做一个横向扩展的方案,以使后台业务持续的稳定 ...
随机推荐
- ABAP基础二:ALV基础之ALV的简单编辑
前两天有个打印需求变更,需要在ALV显示列表中添加两个字段,可编辑,而我自己用的是函数:REUSE_ALV_GRID_DISPLAY_LVC 因为之前做可编辑基本都是固定套路,定义类,画屏幕.... ...
- IOS-底层数据结构
Objective-C底层数据结构 类的数据结构 Class(指针) typedef struct objc_class *Class; /* 这是由编译器为每个类产生的数据结构,这个结构定义了一 ...
- 深入理解$watch ,$apply 和 $digest --- 理解数据绑定过程——续
Angular什么时候不会自动为我们$apply呢? 这是Angular新手共同的痛处.为什么我的jQuery不会更新我绑定的东西呢?因为jQuery没有调用$apply,事件没有进入angular ...
- 用 Spark 为 Elasticsearch 导入搜索数据
越来越健忘了,得记录下自己的操作才行! ES和spark版本: spark-1.6.0-bin-hadoop2.6 Elasticsearch for Apache Hadoop 2.1.2 如果是其 ...
- skill prefix neo,non input 1
1● neo 新的 2● non 不,非,无
- Windows各种各种消息投递函数
1.SendMessage:发送消息给指定的窗口过程:直到窗口过程处理了消息才返回. 2.PostMessage:将消息放入消息队列(与指定窗口创建的线程相关)中:无需等待消息处理,立即返回. 不 ...
- 51nod1079
模板题... 代码: #include <iostream> using namespace std; ],p[]; int main() { int n; while(cin>&g ...
- DevExpress v17.2新版亮点—ASP.NET篇(一)
用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress ASP.NET v17.2 的GridView Control. ...
- MyEclipse 2017 Stable 2.0发布|附下载
MyEclipse个人开发者专享6.9折!仅剩最后3天!在线订购>> 2017 Stable 2.0版本带来了新的功能和修复,从Stable 1.0以来,已经发布了几个版本的Angular ...
- 深入理解Linux网络技术内幕——PCI层和网络接口卡
概述 内核的PCI子系统(即PCI层)提供了不同设备一些通用的功能,以便简化各种设备驱动程序. PCI层重要结构体如下: pci_device_id 设备标识,根据PCI标志定 ...