一、环境
(一)Server1:192.168.163.128
[root@server1 ~]# hostnamectl set-hostname server1
(二)Server2:192.168.163.132
[root@server2 ~]# hostnamectl set-hostname server2
(三)Web1:192.168.163.135
[root@web1 ~]# hostnamectl set-hostname web1
(四)Web2:192.168.163.136
[root@web2 ~]# hostnamectl set-hostname web2
(五)所有主机关闭防火墙并增强:
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
二、在master和backup配置keepalived
(一)在master和backup上安装keepalived和ipvsadm
[root@server1 ~]# yum install keepalived ipvsadm -y
(二)master和backup上启动服务
[root@server1 ~]# systemctl start keepalived
[root@server1 ~]# systemctl enable keepalived
(三)在master上修改配置文件
[root@server1 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id Director1 #两边不一样。
}
vrrp_instance VI_1 {
state MASTER #另外一台机器是BACKUP
interface ens33 #心跳网卡
virtual_router_id 51 #虚拟路由编号,主备要一致
priority 100 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.163.150/24 dev ens32 #VIP和工作接口
}
}
virtual_server 192.168.163.150 80 { #LVS 配置,VIP
delay_loop 3 #服务论询的时间间隔,#每隔3秒检查一次real_server状态
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.168.163.135 80 {
weight 1
TCP_CHECK {
connect_timeout 3 #健康检查方式,连接超时时间
}
}
real_server 192.168.163.136 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
(四)拷贝master上的keepalived.conf到backup上
[root@server1 ~]# scp 192.168.163.128:/etc/keepalived/keepalived.conf 192.168.163.132:/etc/keepalived/
(五)拷贝后,修改配置文件
1. router_id 2 #设备在组中的标识,设置不一样即可
2.state BACKUP #从状态
3.priority 99 #优先级
三、web服务器配置(web1和web2同配置)
(一)安装httpd作为测试:
[root@web1 ~]# yum install -y httpd && systemctl start httpd && systemctl enable httpd
[root@web1 ~]# netstat -antp | grep httpd
(二)配置虚拟地址
[root@web1 ~]# cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:0}
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
( 三)配置路由
1.设置路由
[root@web1 ~]# route add -host 192.168.163.150 dev lo:0
[root@web1 ~]# route -n
2.开机执行:
[root@web1 ~]# vim /etc/rc.local
[root@web1 ~]# chmod +x /etc/rc.local
/sbin/route add -host 192.168.0.20 dev lo:0
(四)配置ARP响应参数
[root@web1 ~]# 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
四、测试
(1)观察lvs路由条目
[root@server1 ~]# ipvsadm -L
(2)观察vip地址在哪台机器上
[root@server1 ~]# ip a | grep 150
(3)关闭master上的keepalived服务,再次访问vip