【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
在上一篇的基础上(node001做lvs,node002,node003做real server)加一个新机器node004用作keepalived备用节点;
在node001和node004上分别安装keepalived: yum install keepalived
在node004上安装ipvsadm方便看负载记录:yum install ipvsadm -y
修改keepalived配置文件(修改之前应做好备份):vi /etc/keepalived/keepalived.conf
vrrp_instance VI_1 { state MASTER #MASTER 主和从 BACKUP interface eth0 #VIP需要绑定的网卡名称 virtual_router_id 51 priority 100 #优先级 主的优先级要高 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.x.x/24 dev eth0 label eth0:0 #设置VIP } } virtual_server 192.168.x.x 80 { #设置虚拟lvs服务,VIP PORT delay_loop 6 lb_algo rr#调度算法 轮询 lb_kind DR#lvs的模式 nat_mask 255.255.255.0 persistence_timeout 50 同一个IP地址在50秒内lvs转发给同一个后端服务器 protocol TCP real_server 192.168.x.x 80 { #设置真实服务器的心跳机制 RID PORT weight 1 #权重 HTTP_GET { #心跳检测的方式 url { path / #心跳检查的地址 status_code 200 #心跳检查返回的状态 } connect_timeout 2 #超时时间 nb_get_retry 3 #重复检查3次 delay_before_retry 1 #每隔1秒钟再次检查 } } real_server 192.168.x.x 80 { #第二个真实服务器设置 …#参照第一个RS设置 } }
将node001上的配置文件复制到node004: scp ./keepalived.conf root@192.168.xx.xx: 'pwd' 只需要将MASTER 改为BACKUP, 优先级调低就可以了
启动node001 keepalived : service keepalived start
查看ifconfig:ifconfig 会发现新增了一个在keepalived.conf中配置的网卡eth0:0
查看ipvsadm:ipvsadm -ln 会发现两个real server的ip映射都已添加
浏览器重复访问vip能看到负载均衡效果;
开启node004的keepalived: service keepalived start
查看ifconfig:ifconfig 不 会显示在keepalived.conf中配置的网卡eth0:0,因为master没挂掉;
查看ipvsadm:ipvsadm -ln 会发现两个real server的ip映射都已添加,虽然master没挂掉,但是这俩配置还是会有
查看node001,node004的负载日志:ipvsadm -lnc 会发现只有node001有负载的日志,node004没有,因为node001没挂掉;
关闭node001的eth0网卡(模拟主机down):ifconfig eth0 down 会发现node004马上变为主机(ifconfig ipvsadm -ln 验证)
浏览器重复访问vip能看到负载均衡效果;查看node004的负载日志:ipvsadm -lnc 会发现只有node004有负载的日志;
再登录node001启动eth0,node001会马上变回master
来源:oschina
链接:https://my.oschina.net/u/3734816/blog/3151165