1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 基于keepalived实现haproxy高可用的双主模型配置

基于keepalived实现haproxy高可用的双主模型配置

时间:2022-11-25 12:09:37

相关推荐

基于keepalived实现haproxy高可用的双主模型配置

Keepalived会主动检测web服务器,把有故障的服务器从系统中剔除,在服务器修复以后会重新加入到服务器群众,不影响服务器的正常工作

VRRP:虚拟路由冗余协议它把一个虚拟路由器的责任动态的分配到局域网中的VRRP中的一台。控制虚拟路由IP地址的VRRP路由器称为主路由器,负责转发数据到虚拟IP地址,一旦主路由出现故障,就把数据包转发到备用的路由器上,虚拟IP地址在路由之间是共享的,其中一个指定为主路由,其余的作为备份路由,如果主路由出现故障,这个虚拟IP地址就会映射到一个备用路由上,这个备份路由就成为主路由

VRRP:能够动态的将一个虚拟路由器的责任指定至同一个VRRP组中的其它路由器上,消除静态路由配置的单点故障,同时切换路由的过程会比较块,主要是在主路由出现故障时,启用备用路由

配置keepalived为实现haproxy高可用的双主模型配置文件示例:

安装keepalived,先配置好两个高可用节点

在两个节点上安装keeoalived

在keepalived中指定vrrp

用不上的话禁用smnp

下载keepalived-1.2.7-5.el5.i386

yum-yinstall--nogpgchecklocalinstallkeepalived-1.2.7-5.el5.i386

Scpkeepalived-1.2.7-5.el5.i386.rpmnode2:/root/复制到另外一个节点

在另外一个节点上再执行yum-yinstall--nogpgchecklocalinstallkeepalived-1.2.7-5.el5.i386

安装keepalived

cdkeepalivedkeepalived的配置文件keepalived.conf

!ConfigurationFileforkeepalived

global_defs{

notification_email{

linuxedu@

mageedu@

}

notification_email_fromkanotify@

smtp_connect_timeout3

smtp_server127.0.0.1

router_idLVS_DEVEL

}

vrrp_scriptchk_haproxy{

script"killall-0haproxy"

interval1

weight2

}

vrrp_scriptchk_mantaince_down{

script"[[-f/etc/keepalived/down]]&&exit1||exit0"

interval1

weight2

}

vrrp_instanceVI_1{

interfaceeth0

stateMASTER#BACKUPforslaverouters

priority101#100forBACKUP

virtual_router_id51

garp_master_delay1

authentication{

auth_typePASS

auth_passpassword

}

track_interface{

eth0

}

virtual_ipaddress{

172.16.116.7/16deveth0labeleth0:0

}

track_script{

chk_haproxy

chk_mantaince_down

}

notify_master"/etc/keepalived/notify.shmaster"

notify_backup"/etc/keepalived/notify.shbackup"

notify_fault"/etc/keepalived/notify.shfault"

}

vrrp_instanceVI_2{

interfaceeth0

stateBACKUP#BACKUPforslaverouters

priority100#100forBACKUP

virtual_router_id52

garp_master_delay1

authentication{

auth_typePASS

auth_passpassword

}

track_interface{

eth0

}

virtual_ipaddress{

172.16.116.7/16deveth0labeleth0:1

}

track_script{

chk_haproxy

chk_mantaince_down

}

notify_master"/etc/keepalived/notify.shmaster"

notify_backup"/etc/keepalived/notify.shbackup"

notify_fault"/etc/keepalived/notify.shfault"

}

notify.sh脚本的简单示例:

#!/bin/bash

#Author:MageEdu<linuxedu@>

#description:Anexampleofnotifyscript

#

vip=172.16.116.8

contact='root@localhost'

Notify(){

mailsubject="`hostname`tobe$1:$vipfloating"

mailbody="`date'+%F%H:%M:%S'`:vrrptransition,`hostname`changedtobe$1"

echo$mailbody|mail-s"$mailsubject"$contact

}

case"$1"in

master)

notifymaster

/etc/rc.d/init.d/haproxystart

exit0

;;

backup)

notifybackup

/etc/rc.d/init.d/haproxyrestart

exit0

;;

fault)

notifyfault

exit0

;;

*)

echo'Usage:`basename$0`{master|backup|fault}'

exit1

;;

esac

配置好keepalived以后安装haproxy-1.4.22.tar.gz

tarxfhaproxy-1.4.20.tar.gz

cdhaproxy-1.4.20

makeTARGET=linux26PREFIX=/usr/local/haproxyinstall

cd/usr/local/haproxy/

mkdirconflogs

cdconf/

vimhaproxy.cfg

/usr/local/haproxy/sbin/haproxy-f/usr/local/haproxy/conf/haproxy.cfg

修改完成后,启动keepalived服务

查看node1与node2上的VIP地址配置node1主机是否为172.16.116.7eth0:0是否为172.16.116.8

用172.16.116.7测试网页,node1的返回结果是

用172.16.116.8测试网页,node2的返回结果是

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。