keepalived 多VIP案例实施

实验环境:

首先关闭防火墙

192.168.200.111    主调度器

192.168.200.112    备调度器

192.168.200.113     Apache服务器

192.168.200.114    Apache服务器

一利用keepalived实验主备故障切换

111主调度器的配置

[root@localhost ~]# yum -y install ipvsadm keepalived

cd /etc/keepalived/

cp keepalived.conf keepalived.conf.bak

vim keepalived.conf

[root@localhost keepalived]# vim keepalived.conf

 

! Configuration File for keepalived

global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_MASTER                  ##备用的可以改成BACKUP                 
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}

vrrp_instance VI_1 {                        ##主备名字一样
state MASTER
interface ens32                               #生命线,与本机网卡名字保持一致,备用的改成BACKUP
virtual_router_id 51                        ##主备名字一致
priority 100                             ##备用优先级低于主调度器
advert_int 1

authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {                          #VIP地址
192.168.200.254
}
}

virtual_server 192.168.200.254 80 {              #VIP地址及端口
delay_loop 6
lb_algo rr                                        ##模式
lb_kind DR                           
protocol TCP

real_server 192.168.200.113 80 {                               ##节点IP地址,以及端口
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}

real_server 192.168.200.114 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}

 

systemctl start keepalived   

ip  a   查看是否有192.168.200.254这个VIP

ipvsadm  -Ln   查看

scp keepalived.conf root@192.168.200.112:/etc/keepalived/

112修改完配置文件开启服务即可

113和114的配置:

 yum -y install httpd

ifconfig lo:0 192.168.200.254 netmask 255.255.255.255

route  add -host 192.168.200.254 dev lo:0   ##添加路由

ip  a    #查看

echo "3333" > /var/www/html/index.html

systemctl start httpd

vim /etc/sysctl.conf

 

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

 

sysctl -p

测试

 

 

 关闭111的网卡 或者服务

在112中  ip  a   查看有没有192.168.200.254这个ip地址

然后打开网页测试 出来及成功

这个测试经常出现一些问题 ,112的防火墙经常关不透,所以要经常iptables  -F  关闭防火墙

二 Keepalived有两种工作模式:抢占和非抢占, 上面是抢占,下面演示非抢占模式

首先关闭112的keepalived的服务

然后在111中修改配置文件

vim /etc/keepalived/keepalived.conf

state BACKUP       ##两个都是BACKUP

 nopreempt           ##在下面添加这一个

 

 重启服务

测试即可

三。把两个调度器同时利用,缓解主调度器的压力,分摊压力

原理:111可以是VIP1的主,也可以是VIP2的备,112可以是VIP1的备,也可以是VIP2的主

然后利用DNS解析

首先把111的恢复到抢占模式

113和114的首先配置

ifconfig lo:1 192.168.200.253 netmask 255.

255.255.255

route  add -host 192.168.200.253 dev lo:1

111和112的配置

vim /etc/keepalived/keepalived.conf

在vrrp_instance VI_1  下面添加这以下   112的state 是MASTER,priority的值是100,其他相同

 

在virtual_server 192.168.200.254下面复制修改以下内容

 

 

 systemctl restart keepalived

 

 两组才是正确的

ip   a   

111的是254,

112的是253

出现即正确(不要忘记经常关闭防火墙,iptables -F)

在网页输入192.168.200.253  和192.168.200.254

要让两台调度器同时分担压力需要DNS解析

111的配置:

yum -y install bind

vim /etc/named.conf

 

 

vim /var/named/crushlinux.zheng

 

 

 chgrp named /var/named/crushlinux.zheng 

systemctl restart named

vim /etc/resolv.conf

nameserver 192.168.200.111

 

yum -y install bind-utils   (nslooup需要这个包)

nslookup www.crushlinux.com

 

 来回测试nslookup254和253来回切换即可

posted @ 2019-10-06 20:40  别脱鞋好嘛  阅读(2699)  评论(0编辑  收藏  举报