實驗環境:
兩台調度器,一主一備
兩台web服務器
IP地址分別為
192.168.200.111
192.168.200.112
192.168.200.113
192.168.200.114
利用keepalived實現主備的故障切換,從而交替提供服務
配置主調度器:
1.安裝依賴包
yum -y instsall ipvsadm keepalived
2.將配置文件進行備份,避免出錯
cd /etc/keepalived
cp keepalived.conf keepalived.con.bak
3.編輯配置文件
vim keepalived.conf
#全局配置
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
}
state MASTER #角色名稱
interface eno16777728 #心跳網卡
virtual_router_id 51
priority 100 #優先權
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.200.254
}
}
delay_loop 6
lb_algo rr
lb_kind DR #轉換模式
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
}
}
}
4.配置完成后啟動服務
systemctl start keepalived
5.查看VIP端口
ip a
6.查看調度服務
ipvsadm -Ln
7.將主配置文件發送給備調度器,修改相應內容
scp /etc/keepalived/keepalived.conf 192.168.200.112:/etc/keepalived/
配置節點服務器:
1.安裝apache服務
yum -y install httpd
2.添加路由
ifconfig lo:0 192.168.200.254 netmask 255.255.255.255
route add -host 192.168.200.254 dev lo:0
3.創建測試網頁
echo "11111" > /var/www/html/index.html
4.啟動apache服務
systemctl start httpd
5.修改配置文件
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
6.加載配置信息
sysctl -p
##每台節點服務器都要進行相同的配置
實驗測試:
1.關閉所有服務器的防火牆和Linux安全機制
iptables -F
systemctl stop firewalld
setenforce 0
2.在瀏覽器中輸入虛擬服務器的IP地址
這里我們用的是192.168.200.254
實現輪詢的結果