kavin

辅助nginx负载均衡器的配置说明

kavin 运维技术 2022-11-15 478浏览 0

nginx负载均衡器是一个很好很节约成本的一种选择,多数用在中小型的企业之中。前面我们对nginx负载均衡器的主机进行了详细的配置说明,现在就来对辅nginx负载均衡器来做配置介绍。大致的配置过程基本相同,首先我们可以检查一下它们的启用状态,详细的命令代码如下:

[root@ltoshtml]#ipa 

1:lo:LOOPBACK,UP,LOWER_UP>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:BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_fastqlen1000 
link/ether00:0c:29:ba:9b:e7brdff:ff:ff:ff:ff:ff 
inet192.168.0.154/24brd192.168.0.255scopeglobaleth0 
inet192.168.0.188/32scopeglobaleth0 
inet6fe80::20c:29ff:feba:9be7/64scopelink 
valid_lftforeverpreferred_lftforever 

3:sit0:NOARP>mtu1480qdiscnoop 
link/sit0.0.0.0brd0.0.0.0

说明vip已经启动,这样主服务器就配置好了,辅机的配置大致一样,除了配置文件有少部分的变化,下面贴出辅nginx负载均衡器的配置文件:

!ConfigurationFileforkeepalived 
global_defs{ 
notification_email{ 
yuhongchun027@163.com 
} 
notification_email_fromkeepalived@chtopnet.com 
smtp_server127.0.0.1 
smtp_connect_timeout30 
router_idLVS_DEVEL 
} 
vrrp_instanceVI_1{ 
stateBACKUP 
interfaceeth0 
virtual_router_id51 
mcast_src_ip192.168.0.155==辅nginx负载均衡器的IP的地址 
priority100 
advert_int1 
authentication{ 
auth_typePASS 
auth_passchtopnet 
} 
virtual_ipaddress{ 
192.168.0.188==vip地址 
} 
}

#p#检查辅nginx负载均衡器配置

[root@ltoshtml]#ipa 

1:lo:LOOPBACK,UP,LOWER_UP>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:BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_fastqlen1000 
link/ether00:0c:29:ba:9b:e7brdff:ff:ff:ff:ff:ff 
inet192.168.0.155/24brd192.168.0.255scopeglobaleth0 
inet192.168.0.188/32scopeglobaleth0 
inet6fe80::20c:29ff:feba:9be7/64scopelink 
valid_lftforeverpreferred_lftforever 

3:sit0:NOARP>mtu1480qdiscnoop 
link/sit0.0.0.0brd0.0.0.0

测试其效果方法很简单,分别在主、辅nginx负载均衡器上/var/www/html/下建立不同的主页及内容文件index.html,内容分别为192.168.0.154,192.168.0.155,然后用客户机上elinks http://192.168.0.188,主机down掉后辅机会马上接替提供服务,间隔时间几乎无法感觉出来;但如果是停掉master的nginx服务,keepalived就不能自动启动nginx服务了,这个也是相对于heartbeat2.X不完善的地方,即它不能做到服务级别-Nginx的HA。

◆这里要说明的是:

一、如何让master状态的主机挂掉后不抢占的办法:可将二台Nginx负载均衡器均设成backup状态是因为nopreempt(不抢占)只支持backup模式,而让哪一台backup成为master,这个由优先级priority为决定,这个配置是参考了《Keepalived权威指南》做法。

二、此种架构的缺点是备机服务器处于闲置状态,浪费了硬件资源,如果要有效的利用二台nginx负载均衡器,可参考张宴的金山逍遥网nginx负载均衡的双机热备的做法。

三、keepalived比较heartbeat2.X而言,它目前不能做nginx服务的HA,但由于目前nginx作反向代理/负载均衡器非常稳定,出现宕机的机率微乎其乎(关键是nginx的master进程超稳定),我做的一些基于nginx负载均衡的小项目已在线稳定一年以上(几乎从来没出现单nginx负载均衡挂掉的情况),所以这个可以应用于成熟的生产环境(例如新浪);在生产环境下,比起用shell脚本监控nginx的master状态,反而效果不如采用nagios/手机短信报警的方式更为高效。

继续浏览有关 网络 的文章
发表评论