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來回切換即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM