设为首页 收藏本站
查看: 961|回复: 0

[经验分享] lvs架构的DR模式+keepalived高可用

[复制链接]

尚未签到

发表于 2018-12-30 07:15:10 | 显示全部楼层 |阅读模式


配置过程如下:
分析架构:如果ld是单一节点,那么这个ld挂了,整个架构也就挂了,所以我们这里必须考虑到HighAvailabiliity(HA),我们这里就是通过keepalived这个高可用软件来实现的。
1.客户端配置:


#ifconfigeth0192.168.18.106
#routeadddefaultgw192.168.18.254
2.Router端配置:
#ifconfigeth0192.168.18.254
#ifconfigeth0:0192.168.19.100
打开包转发
#echo1>/proc/sys/net/ipv4/ip_forward


3.分发器Master的配置:
安装lvs到分发器上面
配置好yum源,保证能够读取到介质中的Cluster目录!
cat/etc/yum.repos.d/aa.repo


[aa]
name=aa
baseurl=file:///media/Server
enabled=1
gpgcheck=0
[Cluster]
name=cluster
baseurl=file:///media/Cluster
enabled=1
gpgcheck=0
#yum-yinstallipvsadm
#ifconfigeth0192.168.19.300
安装keepalived,并通过其绑定VTP


#tarzxfkeepalived-1[1].1.17.tar.gz
#yuminstallgccopenssl-develkernel-develipvsadm-y(不装一会安装会有问题)
#ln-s/usr/src/kernels/2.6.18-238.el5-i686//usr/src/linux(这条不能复制粘贴,因为要看你机器的内核版本,可以粘过去进行tab键补齐)
#cdkeepalived-1.1.17
#./configure--prefix=/usr/local/keepalived
#make
#makeinstall


安装后,把人家提供好的文件进行对应的复制!
#cp/usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/
#cp/usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/
#mkdir-pv/etc/keepalived
mkdir:已创建目录“/etc/keepalived”
#cp/usr/local/keepalived/etc/keepalived/keepalived.conf/etc/keepalived/
#ln-s/usr/local/keepalived/sbin/keepalived/sbin/
删减自定义配置文件就行:


#vim/etc/keepalived/keepalived.conf


!ConfigurationFileforkeepalived


global_defs{
router_iddr1
}
vrrp_sync_grouphttp{
group{
apache
}
}


vrrp_instanceapache{
stateMASTER
interfaceeth0
virtual_router_id51
priority180
advert_int1
authentication{
auth_typePASS
auth_pass1111
}
virtual_ipaddress{
192.168.19.250
}
}
virtual_server192.168.19.5080{
delay_loop6
lb_algorr
lb_kindDR
#persistence_timeout3600
protocolTCP
real_server192.168.19.10180{
weight1
TCP_CHECK{
connect_timeout3
connect_port80
}
}
real_server192.168.19.10280{
weight1
TCP_CHECK{
connect_timeout3
connect_port80
}
}
}


启动服务
#/etc/init.d/keepalivedstart
4.分发器Backup的配置:
安装lvs到分发器上面


配置好yum源,保证能够读取到介质中的Cluster目录!
cat/etc/yum.repos.d/aa.repo


[aa]
name=aa
baseurl=file:///media/Server
enabled=1
gpgcheck=0
[Cluster]
name=cluster
baseurl=file:///media/Cluster
enabled=1
gpgcheck=0
#yum-yinstallipvsadm
#ifconfigeth0192.168.19.200
安装keepalived,并通过其绑定VTP


#tarzxfkeepalived-1[1].1.17.tar.gz
#yuminstallgccopenssl-develkernel-develipvsadm-y(不装一会安装会有问题)
#ln-s/usr/src/kernels/2.6.18-238.el5-i686//usr/src/linux(这条不能复制粘贴,因为要看你机器的内核版本,可以粘过去进行tab键补齐)
#cdkeepalived-1.1.17
#./configure--prefix=/usr/local/keepalived
#make
#makeinstall


安装后,把人家提供好的文件进行对应的复制!
#cp/usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/
#cp/usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/
#mkdir-pv/etc/keepalived
mkdir:已创建目录“/etc/keepalived”
#cp/usr/local/keepalived/etc/keepalived/keepalived.conf/etc/keepalived/
#ln-s/usr/local/keepalived/sbin/keepalived/sbin/
删减自定义配置文件就行:


#vim/etc/keepalived/keepalived.conf


!ConfigurationFileforkeepalived


global_defs{
router_iddr2#(这里名字注意要和master的不一样就行)
}
vrrp_sync_grouphttp{
group{
apache
}
}


vrrp_instanceapache{
stateBACKUP#(这里要改成backup,备机)
interfaceeth0
virtual_router_id51
priority100#(这里级别要比主机低点就好)
advert_int1
authentication{
auth_typePASS
auth_pass1111
}
virtual_ipaddress{
192.168.19.250
}
}
virtual_server192.168.19.5080{
delay_loop6
lb_algorr
lb_kindDR
#persistence_timeout3600
protocolTCP
real_server192.168.19.10180{
weight1
TCP_CHECK{
connect_timeout3
connect_port80
}
}
real_server192.168.19.10280{
weight1
TCP_CHECK{
connect_timeout3
connect_port80
}
}
}










5.realserver的配置:
#ifconfigeth0192.168.19.100








绑定VTP:利用脚本来实现:


#!/bin/bash
VIP=192.168.19.250
ROUTE=192.168.19.100
start(){
ifconfiglo:0$VIP/32broadcast$VIPup
routeadd-host$VIPdevlo:0
routeadddefaultgw$ROUTE
echo1>/proc/sys/net/ipv4/conf/all/arp_ignore
echo2>/proc/sys/net/ipv4/conf/all/arp_announce
echostart;
}

stop(){
routedeldefaultgw$ROUTE
routedel-host$VIPdevlo:0
ifconfiglo:0down
echo0>/proc/sys/net/ipv4/conf/all/arp_ignore
echo0>/proc/sys/net/ipv4/conf/all/arp_announce
echostop;
}

case$1in

start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo'start|stop'
esac

把这个脚本放到/etc/init.d/下面
启动:/etc/init.d/vip.shstart
其他realserver的配置同理
6.到master主机上面验证:
测试第一步:查看绑定的VTP


#ipaddsh
1:lo:mtu16436qdiscnoqueue
link/loopback00:00:00:00:00:00brd00:00:00:00:00:00
inet127.0.0.1/8scopehostlo
inet6::1/128scopehost
valid_lftforeverpreferred_lftforever
2:eth0:mtu1500qdiscpfifo_fastqlen1000
link/ether00:0c:29:a6:09:10brdff:ff:ff:ff:ff:ff
inet192.168.19.300/24brd192.168.19.255scopeglobaleth0
inet192.168.19.250/32scopeglobaleth0c
inet6fe80::20c:29ff:fea6:910/64scopelink
valid_lftforeverpreferred_lftforever
3:sit0:mtu1480qdiscnoop
link/sit0.0.0.0brd0.0.0.0


测试第二步,查看realserver的连通性
l#elinkshttp://192.168.19.102/index.html--dump
102
#elinkshttp://192.168.19.101/index.html--dump
101


测试第三步,查看ipvsadm规则
#ipvsadm-ln
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.19.250:80rr
->192.168.19.101:80Route100
->192.168.19.102:80Route100


测试第四步,同客户端测试
[root@~]#elinkshttp://192.168.19.250/index.html--dump
101
[root@~]#elinkshttp://192.168.19.250/index.html--dump
102
[root@~]#elinkshttp://192.168.19.250/index.html--dump
101
[root@~]#elinkshttp://192.168.19.250/index.html--dump
102

启动BACKUP
ld2#/etc/init.d/keepalivedstart
启动keepalived:[确定]


关闭master上的keepalived,模拟失败
再在client上测试,看访问能否继续!


如果没有问题,在realserver(192.168.19.101)上关闭服务
ld1#ipvsadm-ln
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.19.250:80rr
->192.168.19.102:80Route100
ld1#ipvsadm-ln
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.19.250:80rr
->192.168.19.101:80Route100
->192.168.19.102:80Route100




解决无用的广播包太多,造成ld无法绑定vip
ld1上执行
iptables-F
iptables-AINPUT-mttl--ttl-eq255-jREJECT
iptables-IINPUT-s$ld2ip-jACCEPT


ld2上执行
iptables-F
iptables-AINPUT-mttl--ttl-eq255-jREJECT
iptables-IINPUT-s$ld1ip-jACCEPT
















  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657377-1-1.html 上篇帖子: keepalived的详细介绍,主辅热备,主主负载均衡 下篇帖子: LVS+Keepalived实现负载均衡试验笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表