keepalived单主模型和nginx双主模型

主程序:keepalived

主配置文件:/etc/keepalived/keepalived.conf

单主模型ipvs:

global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
vrrp_mcast_group4 224.0.100.19
}
vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 14
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 571f97b2
}
virtual_ipaddress {
10.1.0.93/16 dev eno16777736
}
notify_master “/etc/keepalived/notify.sh master”
notify_backup “/etc/keepalived/notify.sh backup”
notify_fault “/etc/keepalived/notify.sh fault”
}
virtual_server 10.1.0.93 80 {
delay_loop 3
lb_algo rr
lb_kind DR
protocol TCP
sorry_server 127.0.0.1 80
real_server 10.1.0.69 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 1
nb_get_retry 3
delay_before_retry 1
}
}
real_server 10.1.0.71 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 1
nb_get_retry 3
delay_before_retry 1
}
}
}

双主模型nginx:

global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
vrrp_mcast_group4 224.0.100.19
}
vrrp_script chk_down {
script “[[ -f /etc/keepalived/down ]] && exit 1 || exit 0”
interval 1
weight -5
}
vrrp_script chk_nginx {
script “killall -0 nginx && exit 0 || exit 1”
interval 1
weight -5
fall 2
rise 1
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 14
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 571f97b2
}
virtual_ipaddress {
172.16.0.99/16 dev ens33
}
track_script {
chk_down
chk_nginx
}
notify_master “/etc/keepalived/notify.sh master”
notify_backup “/etc/keepalived/notify.sh backup”
notify_fault “/etc/keepalived/notify.sh fault”
}
vrrp_instance VI_2 {
state MASTER
interface ens33
virtual_router_id 24
priority 96
advert_int 1
authentication {
auth_type PASS
auth_pass 571errrb2
}
virtual_ipaddress {
172.16.0.98/16 dev ens33
}
track_script {
chk_down
chk_nginx
}
notify_master “/etc/keepalived/notify.sh master”
notify_backup “/etc/keepalived/notify.sh backup”
notify_fault “/etc/keepalived/notify.sh fault”
}

示例通知脚本:

#!/bin/bash
#
contact=’root@localhost’
notify() {
mailsubject=”$(hostname) to be $1, vip floating”
mailbody=”$(date +’%F %T’): vrrp transition, $(hostname) changed to be $1″
echo “$mailbody” | mail -s “$mailsubject” $contact
}
case $1 in
master)
notify master
;;
backup)
notify backup
;;
fault)
notify fault
;;
*)
echo “Usage: $(basename $0) {master|backup|fault}”
exit 1
;;
esac

原创文章,作者:z long,如若转载,请注明出处:http://www.178linux.com/84220

(1)
z longz long
上一篇 2017-08-08
下一篇 2017-08-08

相关推荐

  • 编译安装MariaDB源码包

        因为MySQL的发展趋势不甚乐观,MariaDB已替代MySQL被CentOS 7做为默认组件,如果想在CentOS 6中使用最新的MariaDB,则需要我们手动安装,其安装方式有三种:     1、RPM包安装     2、二进制…

    Linux干货 2015-06-08
  • 实战keepalived高可用集群解决方案

    Keepalived定义      Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给…

    Linux干货 2017-05-16
  • PXE原理详解及实践

    一、PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由支持通过网络启动操作系统,再启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol…

    Linux干货 2017-01-10
  • 优云APM最佳实践: 诊断平安城市视频网性能问题

    前言: 平安城市已经是一个关系你我他的民生工程,但由于本身系统的复杂性,给运维工作带来了极大的挑战。如何保障摄像头在线率?如何在系统中找到视频系统故障的问题所在?在我们某一次项目经历中,优云APM在发现问题,定位故障等方面,起了很大作用,帮助我们顺利的定位到了系统的故障所在。 平安城市是一个特大型、综合性非常强的管理系统,不仅需要满足治安管理、城市管理、交通…

    Linux干货 2016-08-05
  • 1017作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正 ##先分析硬件时间不对还是系统时间不对,如果是系统时间不对: [root@localhost ~]# hwclock -w [root@localhost ~]#  ##如果是硬件时间不对: [root@localhost ~]#…

    Linux干货 2016-10-18
  • M20-1权限作业

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? [root@centos7 testdir]# ls -ld /testdir/ drwxr-xrw-. 3 root root 27 Aug  5 0…

    Linux干货 2016-08-05