双主双从配置:
配置环境:
- keepalived1:192.66.66.101
- keepalived2:192.66.66.102
- web1:192.66.66.103
- web2:192.66.66.104
- vip1:192.66.66.106
- vip2:192.66.66.107
在keepalived1上安装配置Keepalived:
yum install keepalived ipvsadm -y
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 150 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.66.66.106/24 dev ens33 #VIP和工作端口
}
}
vrrp_instance VI_2 {
state BACKUP #另外一台机器是MASTER
interface ens33 #心跳网卡
virtual_router_id 52 #虚拟路由编号,主备要一致
priority 100 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.66.66.107/24 dev ens33 #VIP和工作端口
}
}
virtual_server 192.66.66.106 80 { #LVS 配置,VIP
delay_loop 3 #服务论询的时间间隔,#每隔3秒检查一次real_server状态
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.66.66.103 80 {
weight 1
TCP_CHECK {
connect_timeout 3 #健康检查方式,连接超时时间
}
}
real_server 192.66.66.104 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
virtual_server 192.66.66.107 80 { #LVS 配置,VIP
delay_loop 3 #服务论询的时间间隔,#每隔3秒检查一次real_server状态
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.66.66.103 80 {
weight 1
TCP_CHECK {
connect_timeout 3 #健康检查方式,连接超时时间
}
}
real_server 192.66.66.104 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
systemctl restart keepalived 重启
keepalived2安装配置:
yum install keepalived ipvsadm -y
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id Director3 #两边不一样。
}
vrrp_instance VI_1 {
state BACKUP #另外一台机器是MASTER
interface ens33 #心跳网卡
virtual_router_id 51 #虚拟路由编号,主备要一致
priority 100 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.66.66.106/24 dev ens33 #VIP和工作端口
}
}
vrrp_instance VI_2 {
state MASTER #另外一台机器是BACKUP
interface ens33 #心跳网卡
virtual_router_id 52 #虚拟路由编号,主备要一致
priority 150 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.66.66.107/24 dev ens33 #VIP和工作端口
}
}
virtual_server 192.66.66.106 80 { #LVS 配置,VIP
delay_loop 3 #服务论询的时间间隔,#每隔3秒检查一次real_server状态
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.66.66.103 80 {
weight 1
TkCP_CHECK {
connect_timeout 3 #健康检查方式,连接超时时间
}
}
real_server 192.66.66.104 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
virtual_server 192.66.66.107 80 { #LVS 配置,VIP
delay_loop 3 #服务论询的时间间隔,#每隔3秒检查一次real_server状态
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.66.66.103 80 {
weight 1
TCP_CHECK {
connect_timeout 3 #健康检查方式,连接超时时间
}
}
real_server 192.66.66.104 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}
systemctl restart keepalived
keepalived 1:
keepalived 1是vip192.66.66.106主
keepalived 2:
keepalived2 是vip192.66.66.107的主
后端真实服务器配置
web1和web2配置一样
yum install -y httpd && systemctl start httpd && systemctl enable httpd
netstat -antp | grep httpd
配置虚拟地址
cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:0}
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.66.66.106
NETMASK=255.255.255.255
ONBOOT=yes
cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:1}
vim /etc/sysconfig/network-scripts/ifcfg-lo:1
DEVICE=lo:1
IPADDR=192.66.66.107
NETMASK=255.255.255.255
ONBOOT=yes
配置ARP:
- 忽略arp请求 可以回复
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
配置路由:
vim /etc/rc.local
/sbin/route add -host 192.66.66.106 dev lo:0
/sbin/route add -host 192.66.66.107 dev lo:1
chmod +x /etc/rc.local
reboot 重启让路由生效