当前位置: 首页 > wzjs >正文

站群网站内容济南网站建设 联系小七

站群网站内容,济南网站建设 联系小七,龙港做网站,卡密网站建设一、理论 lvs不具备健康检测功能,无法及时移除群集中的故障机,结合keepalived即可实现此功能。 keepalived采用vrrp(virtual router rendundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现l…

一、理论

lvs不具备健康检测功能,无法及时移除群集中的故障机,结合keepalived即可实现此功能。


keepalived采用vrrp(virtual router rendundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能。
vrrp是多台路由器组成一个热备组,通过共用的虚拟ip地址对外提供服务,每个热备组同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态。当主路由器失效时,其他路由器会按优先级大小自动接替,优先级大的成为主,接替虚拟ip地址以继续提供服务。

vip也称为飘逸ip,因为该ip不固定在一台设备上。

当vip发生切换,从主机1切换到主机2.原vip、虚拟mac与交换机接口的对应信息已经被记录到mac地址表中。如果重新获取当前vip拥有者与交换机连接的接口,耗费时间,也会导致服务中断。这怎么办呢?当vip从主机1切换到主机2时,主机2会向下游设备(交换机)发送免费arp,只有arp应答,告诉交换机自己的vip以及vmac,来更新mac地址表中vip对应的接口。这样,通信就不会中断了。

注:客户机通过arp广播来请求vip,vmac返回时,交换机会将vip、vmac以及对应的接口记录到地址表中

注:例如vip是192.168.1.1 vmac是01(简写) VIP被主机1拥有.主机1与交换机相连的接口是e0/1。
mac地址表会记录 
192.168.1.1 01 e0/1 

而当主机1故障,主机2拥用vip,mac地址表还记录的是主机1的信息。主机2上任的时候就会向交换机发送免费arp来更新vip vmac对应的接口。

mac地址表记录变为
192.168.1.1 01 e0/2
 

二、实践

1、网络拓扑
lk01192.168.10.101
lk02192.168.10.102
web01192.168.10.103
web02192.168.10.104
client192.168.10.1052、过程
[root@lk01 ~]# dnf -y install keepalived ipvsadm
[root@lk01 ~]# modprobe ip_vs
[root@lk01 ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lk01 ~]# cd /etc/keepalived/
[root@lk01 keepalived]# cp keepalived.conf.sample keepalived.conf
[root@lk01 keepalived]# ls
keepalived.conf  keepalived.conf.sample
[root@lk01 keepalived]# cat keepalived.conf
global_defs {router_id LVS_HA_R1 # 主调度器的名称
}vrrp_instance VI_1 {state MASTER  	# 主调度器的热备状态interface ens160	# 当前ip对应的网络接口,通过ip add查看。virtual_router_id 1	# 虚拟路由id(0-255),在一个vrrp实例中主备服务器id必须一样。priority 100	# 主调度器的优先级,要比备用的大。advert_int 1	# 通告时间间隔,单位秒,主备要一致。authentication {	# 主、从热备认证信息auth_type PASSauth_pass 1234567}virtual_ipaddress {	# 指定群集VIP地址192.168.10.100}
}virtual_server 192.168.10.100 80 { # 虚拟服务器地址(vip)、端口delay_loop 15	# 健康检查的间隔时间(秒)lb_algo rr		# 轮询(rr)调度算法lb_kind DR		# 直接路由(DR)群集工作模式! persistence_timeout 50	# 连接保持时间(秒),需启用去叹号。protocol TCP	# 应用服务采用tcp协议。real_server 192.168.10.103 80 {  # 第一个web节点的地址、端口weight 1	# 节点的权重。TCP_CHECK {	# 健康检查方式。connect_port 80	# 检查的目标端口。connect_timeout 3	# 连接超时(秒)nb_get_retry 3	# 重试次数delay_before_retry 4 # 重试间隔(秒)}}real_server 192.168.10.104 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}
}[root@lk01 keepalived]# systemctl start keepalived[root@lk02 ~]# dnf -y install keepalived ipvsadm
[root@lk02 ~]# scp root@192.168.10.101:/etc/keepalived/keepalived.conf /etc/keepalived/Authorized users only. All activities may be monitored and reported.
root@192.168.10.101's password: 
keepalived.conf                                100%  826   297.1KB/s   00:00  
[root@lk02 keepalived]# cat keepalived.conf
global_defs {router_id LVS_HA_R1
}vrrp_instance VI_1 {state BACKUPinterface ens160virtual_router_id 1priority 90advert_int 1authentication {auth_type PASSauth_pass 1234567}virtual_ipaddress {192.168.10.100}
}virtual_server 192.168.10.100 80 {delay_loop 15lb_algo rrlb_kind DR! persistence_timeout 50protocol TCPreal_server 192.168.10.103 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}real_server 192.168.10.104 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}
}[root@lk02 keepalived]# systemctl start keepalived[root@web01 ~]# dnf -y install httpd
[root@web01 ~]# cat /var/www/html/index.html 
web01
[root@web01 ~]# systemctl start httpd
[root@web01 ~]# ip addr add 192.168.10.100/32 dev lo label lo:0
[root@web01 ~]# ip route add local 192.168.10.100/32 dev lo
RTNETLINK answers: File exists
[root@web01 ~]# vim /etc/sysctl
[root@web01 ~]# vim /etc/sysctl.conf 
[root@web01 ~]# sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2[root@web02 ~]# dnf -y install httpd
[root@web02 ~]# cat /var/www/html/index.html 
web02
[root@web02 ~]# systemctl start httpd
[root@web02 ~]# ip addr add 192.168.10.100/32 dev lo label lo:0
[root@web02 ~]# ip route add local 192.168.10.100/32 dev lo
RTNETLINK answers: File exists
[root@web02 ~]# vim /etc/sysctl
[root@web02 ~]# vim /etc/sysctl.conf 
[root@web02 ~]# sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2[root@client ~]# curl 192.168.10.100
web01
[root@client ~]# curl 192.168.10.100
web02
[root@client ~]# curl 192.168.10.100
web01
[root@client ~]# curl 192.168.10.100
web02
[root@client ~]# curl 192.168.10.100
web01
[root@client ~]# curl 192.168.10.100
web02
[root@client ~]# curl 192.168.10.100
web01
[root@client ~]# curl 192.168.10.100
web02[root@lk01 ~]# ip ainet 192.168.10.100/32 scope global ens160
[root@lk01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.10.100:80 rr-> 192.168.10.103:80            Route   1      0          0         -> 192.168.10.104:80            Route   1      0          0         
[root@lk01 ~]# ipvsadm -lnc
IPVS connection entries
pro expire state       source             virtual            destination
TCP 01:56  FIN_WAIT    192.168.10.105:59254 192.168.10.100:80  192.168.10.103:80
TCP 01:55  FIN_WAIT    192.168.10.105:59236 192.168.10.100:80  192.168.10.103:80
TCP 01:57  FIN_WAIT    192.168.10.105:59270 192.168.10.100:80  192.168.10.104:80
TCP 01:55  FIN_WAIT    192.168.10.105:59250 192.168.10.100:80  192.168.10.104:80[root@lk02 ~]# ip ainet 192.168.10.102/24 scope global ens160
[root@lk01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.10.100:80 rr-> 192.168.10.103:80            Route   1      0          0         -> 192.168.10.104:80            Route   1      0          0         
[root@lk01 ~]# ipvsadm -lnc
IPVS connection entries
pro expire state       source             virtual            destination[root@lk01 ~]# systemctl stop keepalived[root@lk02 ~]# ip ainet 192.168.10.100/32 scope global ens160[root@client ~]# curl 192.168.10.100
web01
[root@client ~]# curl 192.168.10.100
web02
[root@client ~]# curl 192.168.10.100
web01
[root@client ~]# curl 192.168.10.100
web02[root@lk01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.10.100:80 rr-> 192.168.10.103:80            Route   1      0          0         -> 192.168.10.104:80            Route   1      0          0         
[root@lk01 ~]# ipvsadm -lnc
IPVS connection entries
pro expire state       source             virtual            destination
TCP 01:56  FIN_WAIT    192.168.10.105:59254 192.168.10.100:80  192.168.10.103:80
TCP 01:55  FIN_WAIT    192.168.10.105:59236 192.168.10.100:80  192.168.10.103:80
TCP 01:57  FIN_WAIT    192.168.10.105:59270 192.168.10.100:80  192.168.10.104:80
TCP 01:55  FIN_WAIT    192.168.10.105:59250 192.168.10.100:80  192.168.10.104:80

http://www.dtcms.com/wzjs/533651.html

相关文章:

  • 简单asp网站十堰企业网站制作公司
  • 上海专业网站建设精英个人主页网页模板html
  • 购物网站开发程序有关网站建设的参考书
  • 广告网站留电话不用验证码四大软件外包公司
  • 商城网站建设公司价格长沙网络公司排名
  • 如何在百度里做推广网站平面设计素材网站推荐
  • 组建网站 多少钱东莞市新闻
  • 公司网站的个人主页怎么做自己做一网站_多做宣传.
  • 成功的网站应该具备哪些要素全国甲级建筑设计院名单
  • 电商网站建设教学总结济南网站开发培训班
  • 南京的网站制作公司国家建设局网站首页
  • 深圳品牌衣服店名称免费网站seo排名优化
  • 网站开发制作公司有哪些什么做网站
  • 站长工具app入替皮杖 wordpress
  • 微信平台与微网站开发使用html制作网页
  • wordpress数据库承载单页网站如何优化
  • 集美那里有教网站建设做网站公司宣传语
  • 重庆秀山网站建设费用天津做网站价格
  • 商家网站建设西安企业建站在哪里做
  • 内蒙古住房和城乡建设部网站主流网站关键词排名
  • 设计网站私单价格网络营销是什么的组成部分
  • 珠宝商城网站模板qq群网站制作
  • 工程建设工资高吗网站优化入门免费教程
  • 企业家网站建设建设部官方网站查询
  • 深圳 做网站seo域名综合查询
  • 网站建设wuliankj怎么开发平台软件
  • 廊坊做网站上海公司电话wordpress 浏览器缓存
  • 什么网站可以做TCGA病理分期公司以优化为理由裁员合法吗
  • 网站建设期中考试题自学python需要的软件
  • 安徽省建设工程信息网站进不了广州做外贸网站建设