實驗環境:
首先關閉防火牆
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來回切換即可